:root{
  --forest:#173c2e;--forest-2:#214f3d;--green:#456c58;--cream:#faf6ef;--stone:#eee9e1;--taupe:#978b80;--brown:#584839;--gold:#b9852d;--gold-2:#d5ad61;--ink:#2e382f;--muted:#7d766e;--white:#fff;--line:rgba(36,55,45,.12);--shadow:0 18px 50px rgba(54,47,39,.10);--radius:28px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55}img{display:block;max-width:100%}a{color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.section-pad{padding:82px 0}.section-light{background:var(--cream)}.section-stone{background:var(--stone)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,246,239,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(23,60,46,.08)}.nav{height:88px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;margin-right:auto}.brand img{width:210px;height:auto}.nav-links{display:flex;align-items:center;gap:24px}.nav-links a{text-decoration:none;font-size:14px;font-weight:650;position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--forest);transition:.25s}.nav-links a:hover:after{right:0}.nav-actions{display:flex;align-items:center;gap:10px;position:relative}.lang-current{display:none;border:0;background:transparent;font:inherit;font-weight:700}.lang-menu{display:flex;gap:4px}.lang-menu button{border:0;background:transparent;padding:8px 7px;border-radius:999px;font-weight:700;color:var(--muted);cursor:pointer}.lang-menu button.active{color:var(--forest);background:#e8eee9}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;text-decoration:none;font-weight:750;border:1px solid transparent;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:white}.btn-ghost{border-color:rgba(23,60,46,.35);color:var(--forest)}.btn-outline{border-color:rgba(255,255,255,.45);color:white}.eyebrow{font-size:12px;line-height:1.2;font-weight:850;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-2)}.eyebrow.dark{color:var(--forest)}.eyebrow.light{color:#f4e2b8}.section-head{max-width:760px;margin-bottom:38px}.section-head h2,.about-copy h2,.oil-copy h2,.contact-card h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,66px);font-weight:400;line-height:1.03;letter-spacing:-.03em;margin:14px 0 18px;color:var(--brown)}.section-head p,.about-copy p,.oil-copy p{font-size:18px;color:var(--muted);max-width:64ch}.inverse h2,.inverse p{color:white}.inverse p{opacity:.82}
.hero{padding-top:36px}.hero-shell{position:relative;min-height:670px;border-radius:32px;overflow:hidden;background:var(--forest);box-shadow:var(--shadow)}.hero-photo{position:absolute;inset:0}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,53,41,.92) 0%,rgba(20,53,41,.72) 42%,rgba(20,53,41,.08) 78%)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.hero-copy{position:relative;z-index:2;color:white;width:min(630px,58%);padding:110px 72px}.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(56px,6.6vw,86px);line-height:.97;letter-spacing:-.045em;margin:18px 0 24px}.hero-copy p{font-size:20px;color:rgba(255,255,255,.88);max-width:50ch}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero .btn-ghost{border-color:rgba(255,255,255,.58);color:white}
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:76px;align-items:center}.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border-radius:28px}.about-copy{max-width:600px}.signature{margin-top:26px;max-width:245px;border-radius:16px;overflow:hidden;opacity:.95}.signature img{width:100%;height:auto}
.zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.zone-card{position:relative;border-radius:26px;overflow:hidden;background:white;min-height:355px;box-shadow:0 8px 30px rgba(74,62,48,.06);transition:.3s}.zone-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.zone-card.active{background:var(--brown);color:#fff}.zone-card.active .zone-body h3,.zone-card.active .zone-body p{color:#fff}.zone-card.active .round-link{border-color:rgba(255,255,255,.65);color:#fff}
.zone-card>img{width:100%;height:235px;object-fit:cover}.zone-body{display:flex;align-items:flex-end;gap:20px;justify-content:space-between;padding:24px 26px}.zone-body h3,.tech-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:400;line-height:1.05;margin:0 0 10px;color:var(--brown)}.zone-body p,.tech-copy p{margin:0;color:#6f685f;font-size:16px}.round-link{flex:0 0 46px;width:46px;height:46px;border:1px solid rgba(47,59,48,.45);border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:23px;transition:.2s}.round-link:hover{background:var(--forest);color:#fff;border-color:var(--forest)}.zone-card-plain{background:var(--brown);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.zone-card-plain .zone-body h3,.zone-card-plain .zone-body p{color:#fff}.zone-card-plain .round-link{border-color:rgba(255,255,255,.65)}.zone-icon{font-family:Georgia,"Times New Roman",serif;font-size:90px;line-height:1;color:var(--gold-2);padding:42px 28px 12px}
.tech-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.tech-card{background:#fff;border-radius:25px;overflow:hidden;box-shadow:0 8px 28px rgba(74,62,48,.06)}.tech-card img{width:100%;height:240px;object-fit:cover}.tech-copy{padding:24px}.tech-copy h3{font-size:30px}.tech-note{margin-top:14px;display:inline-block;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--gold);text-transform:uppercase}.text-link{display:inline-block;margin-top:18px;color:var(--forest);font-weight:750;text-decoration:none}.text-link:hover{text-decoration:underline}
.prices{background:var(--taupe);color:white}.price-list{border-top:1px solid rgba(255,255,255,.25)}.price-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:24px;align-items:center;padding:28px 10px;border-bottom:1px solid rgba(255,255,255,.23);text-decoration:none;transition:.2s}.price-row:hover{background:rgba(255,255,255,.06);padding-left:18px}.price-row .duration{font-weight:800;letter-spacing:.06em}.price-row .amount{font-family:Georgia,"Times New Roman",serif;font-size:38px}.price-row .extra{color:#2f251e;font-weight:700}.price-row .extra small{font-family:inherit;font-weight:500}.price-row .arrow{font-size:28px}.price-note{margin:24px 0 0;color:rgba(255,255,255,.75)}
.oil-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.oil-grid>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px}.oil-copy ul{padding-left:20px;color:var(--muted)}.oil-copy li{margin:10px 0}.contact{background:var(--forest);color:white}.contact-card{display:grid;grid-template-columns:1.4fr .6fr;gap:48px;align-items:center}.contact-card h2{color:white}.contact-card p{font-size:18px;color:rgba(255,255,255,.78)}.contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}.light-link{color:white;text-align:center}.cancellation-note{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.22);padding-top:18px;color:rgba(255,255,255,.76);font-size:14px}.cancellation-note a{color:white}footer{background:#f2eee8;padding:34px 0;color:#756d63}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-domain{font-size:13px}
@media (max-width:980px){.nav-links{display:none}.brand img{width:190px}.hero-shell{min-height:610px}.hero-copy{width:68%;padding:82px 52px}.about-grid{gap:38px}.tech-list{grid-template-columns:repeat(2,1fr)}.contact-card{grid-template-columns:1fr}.contact-actions{max-width:420px}.oil-grid{gap:32px}}
@media (max-width:700px){.wrap{width:min(100% - 28px,1180px)}.section-pad{padding:58px 0}.nav{height:72px;gap:12px}.brand img{width:150px}.booking-main.nav-booking{display:none}.nav-actions>.booking-main{display:none}.lang-current{display:block}.lang-menu{position:absolute;right:0;top:46px;display:none;flex-direction:column;background:white;padding:8px;border-radius:16px;box-shadow:var(--shadow)}.lang-menu.open{display:flex}.hero{padding-top:14px}.hero-shell{min-height:0;background:transparent;box-shadow:none;overflow:visible}.hero-photo{position:relative;border-radius:26px;overflow:hidden;height:auto}.hero-photo:after{display:none}.hero-photo img{aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center 25%}.hero-copy{width:auto;padding:30px 6px 0;color:var(--ink)}.hero-copy .eyebrow{color:var(--forest)}.hero-copy h1{font-size:48px;color:var(--brown);margin-top:12px}.hero-copy p{font-size:18px;color:var(--muted)}.hero .btn-ghost{border-color:rgba(23,60,46,.35);color:var(--forest)}.about-grid{grid-template-columns:1fr;gap:28px}.about-photo img{aspect-ratio:4/3;max-height:420px}.about-copy h2,.section-head h2,.oil-copy h2,.contact-card h2{font-size:42px}.signature{max-width:190px}.zone-grid{grid-template-columns:1fr;gap:22px}.zone-card{min-height:0}.zone-card>img{height:210px}.zone-body{padding:22px}.zone-body h3{font-size:31px}.zone-card-plain{min-height:280px}.tech-list{grid-template-columns:1fr;gap:34px}.tech-card{background:transparent;box-shadow:none;border-radius:0;overflow:visible}.tech-card img{height:auto;aspect-ratio:4/3;border-radius:24px}.tech-copy{padding:20px 4px 0}.tech-copy h3{font-size:31px}.price-row{grid-template-columns:1fr auto;grid-template-areas:'duration amount' 'extra arrow';gap:8px 18px;padding:24px 4px}.price-row .duration{grid-area:duration}.price-row .amount{grid-area:amount;font-size:32px}.price-row .extra{grid-area:extra;color:#4e4037}.price-row .arrow{grid-area:arrow}.oil-grid{grid-template-columns:1fr}.oil-grid>img{aspect-ratio:4/3}.footer-row{align-items:flex-start;flex-direction:column}.footer-links{flex-direction:column;gap:8px}}
@media (max-width:420px){.wrap{width:min(100% - 20px,1180px)}.brand img{width:132px}.hero-copy h1{font-size:42px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.zone-card>img{height:190px}.zone-body{gap:12px}.zone-body h3{font-size:29px}.round-link{width:42px;height:42px;flex-basis:42px}.about-copy p,.section-head p,.oil-copy p{font-size:17px}.contact-actions .btn{width:100%}}

.cookie-notice{position:fixed;z-index:1000;left:18px;right:18px;bottom:18px;margin:auto;max-width:980px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 55px rgba(18,55,44,.18);padding:15px 17px;display:flex;justify-content:space-between;align-items:center;gap:18px}.cookie-notice.hidden{display:none}.cookie-notice strong{display:block;color:var(--pine);margin-bottom:3px}.cookie-notice span{font-size:14px;color:var(--muted)}.cookie-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.cookie-actions a{font-weight:750;color:var(--pine)}.cookie-actions button{border:0;border-radius:999px;background:var(--pine);color:#fff;padding:10px 15px;font-weight:800;cursor:pointer}@media(max-width:650px){.cookie-notice{flex-direction:column;align-items:flex-start}.cookie-actions{width:100%;justify-content:space-between}}

/* BalancePunkt Paks: tighter techniques intro and robust flow containment */
#services .zone-grid{align-items:stretch}
#services .zone-card{height:auto;min-width:0}
#services .zone-body{min-height:142px;align-items:center}
#services .zone-body>div{min-width:0;overflow-wrap:break-word}
#techniques{padding-top:54px;padding-bottom:66px;clear:both;isolation:isolate}
#techniques .section-head{margin-bottom:26px;max-width:820px}
#techniques .section-head h2{font-size:clamp(36px,4vw,54px);line-height:1.07;margin:10px 0 12px}
#techniques .section-head p{margin-top:0;margin-bottom:0}
#techniques .tech-list{position:relative;z-index:1;clear:both}
/* Warm camel packages: visible even without JavaScript */
.packages{background:linear-gradient(145deg,#e9d5b5 0%,#d9b985 60%,#e7d1b1 100%);color:var(--brown)}
.packages-head{max-width:850px}.packages-head h2{color:#4b3627}
.packages-head p{color:#705b47}
.packages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.package-card{background:#fffaf2;border:1px solid rgba(96,68,41,.17);border-radius:25px;padding:32px;box-shadow:0 14px 34px rgba(92,70,46,.12);display:flex;flex-direction:column;min-width:0}
.package-featured{background:#f9f0dd;border-color:#bd9451}
.package-top{display:flex;gap:12px;align-items:center;color:#5e492e;font-size:14px;letter-spacing:.025em;font-weight:800}
.package-icon{font-size:25px;color:#b9852d}.package-card h3{font:normal clamp(28px,3vw,38px)/1.1 Georgia,serif;margin:15px 0;color:#4b3627}
.package-card p{color:#68594b;margin:0 0 25px}.package-options{margin-top:auto;border-top:1px solid #e4d5be}
.package-options>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #e4d5be}
.package-options strong{font-size:19px;white-space:nowrap;color:#2b4536;font-variant-numeric:tabular-nums}
.package-button{background:var(--forest);color:#fff;margin-top:25px;width:100%;text-align:center}.package-button:hover{background:var(--forest-2)}
.package-disclaimer{font-size:13px;color:#664c32;margin:23px 0 0}
#packages [data-reveal].reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease;transition-delay:var(--reveal-delay,0ms)}
#packages [data-reveal].reveal-visible{opacity:1;transform:translateY(0)}
@media(max-width:700px){#techniques{padding-top:42px;padding-bottom:48px}#techniques .section-head h2{font-size:clamp(34px,8vw,43px)}.packages-grid{grid-template-columns:1fr}.package-card{padding:24px}.package-options strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#packages [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}


/* BalancePunkt Paks V3 — section-flow overlap correction.
   Keep preceding service-card content within its own painting context and
   allow the following section to paint an opaque background above it. */
#services { position:relative; isolation:isolate; display:flow-root; }
#services .wrap, #services .zone-grid { min-width:0; }
#services .zone-card { display:flex; flex-direction:column; height:auto; overflow:hidden; }
#services .zone-card > img { flex:0 0 auto; }
#services .zone-body { flex:1 0 auto; min-height:0; overflow-wrap:anywhere; }
#services .zone-card-plain { justify-content:flex-end; }
#techniques { position:relative; z-index:1; display:flow-root; background:var(--cream); }
#techniques .section-head { position:relative; z-index:2; margin-bottom:32px; }
#techniques .section-head h2 { max-width:18ch; text-wrap:balance; }
#techniques .tech-list { margin-top:0; isolation:isolate; }
#techniques .tech-card { position:relative; min-width:0; transition:transform .32s ease,box-shadow .32s ease; }
#techniques .tech-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(74,62,48,.13); }
#techniques .tech-card img { transition:filter .4s ease; }
#techniques .tech-card:hover img { filter:saturate(1.035); }
/* Motion applies only after the JS observer is ready; content remains visible without JS. */
.motion-ready .zone-card.motion-enter,
.motion-ready .tech-card.motion-enter { opacity:0; transform:translateY(17px); }
.motion-ready .zone-card.motion-enter.motion-visible,
.motion-ready .tech-card.motion-enter.motion-visible { opacity:1; transform:translateY(0); }
.motion-ready .zone-card.motion-enter { transition:opacity .65s ease,transform .65s cubic-bezier(.21,.6,.3,1),box-shadow .3s ease; transition-delay:var(--motion-delay,0ms); }
.motion-ready .tech-card.motion-enter { transition:opacity .65s ease,transform .65s cubic-bezier(.21,.6,.3,1),box-shadow .3s ease; transition-delay:var(--motion-delay,0ms); }
.motion-ready .zone-card.motion-visible:hover,
.motion-ready .tech-card.motion-visible:hover { transform:translateY(-4px); transition-delay:0ms; }
.package-card { transition:box-shadow .3s ease,border-color .3s ease,transform .3s ease; }
.package-card.reveal-visible:hover { transform:translateY(-5px); box-shadow:0 22px 45px rgba(92,70,46,.18); border-color:#b38d51; transition-delay:0ms; }
.package-options strong { display:inline-block; transition:transform .25s ease,color .25s ease; }
.package-options>div:hover strong { transform:translateY(-2px); color:#a9782d; }
@media(max-width:700px){
 #techniques .section-head {margin-bottom:28px;}
 #techniques .tech-card {border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(74,62,48,.06)}
 #techniques .tech-card img {border-radius:0}
 #techniques .tech-copy {padding:22px}
}
@media(prefers-reduced-motion:reduce){
 .motion-ready .zone-card.motion-enter,.motion-ready .tech-card.motion-enter{opacity:1!important;transform:none!important;transition:none!important}
 .package-card,.package-options strong{transition:none!important}
}

/* Paks V4: images cleaned at source; no artificial text masking required. */
#techniques .tech-card img{object-position:center center;}
#techniques .tech-copy h3{overflow-wrap:anywhere;}

/* BalancePunkt Paks V5 — a restrained, one-time welcome in the hero. */
.hero-copy{width:min(690px,63%);padding-top:88px;padding-bottom:88px}
.hero-copy h1{font-size:clamp(38px,4.1vw,60px);line-height:1.06;letter-spacing:-.03em;margin:18px 0 20px;max-width:17ch}
.hero-welcome{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:22px 0 14px;max-width:100%;overflow:visible}
.welcome-intro{font-size:clamp(15px,1.6vw,21px);letter-spacing:.02em;color:#e1c58b;font-weight:500}
.welcome-brand{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,5.5vw,78px);line-height:1.08;letter-spacing:-.035em;color:#fff;font-weight:500;overflow-wrap:anywhere}
@keyframes bp-welcome-drop{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}
@keyframes bp-welcome-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
  .welcome-intro{animation:bp-welcome-fade .7s ease-out .08s both}
  .welcome-brand{animation:bp-welcome-drop 1s cubic-bezier(.17,.83,.33,1) .22s both}
  .hero-copy h1{animation:bp-welcome-fade .7s ease-out .75s both}
  .hero-copy>p,.hero-actions{animation:bp-welcome-fade .7s ease-out 1s both}
}
@media(max-width:980px){.hero-copy{width:70%;padding:70px 48px}.welcome-brand{font-size:clamp(42px,6vw,67px)}}
@media(max-width:700px){.hero-copy{width:auto;padding:30px 6px 0}.hero-welcome{margin:14px 0 10px}.welcome-intro{color:#a6742e;font-size:17px}.welcome-brand{color:var(--forest);font-size:clamp(43px,10vw,60px)}.hero-copy h1{font-size:clamp(32px,7.5vw,44px);max-width:100%;color:var(--brown)}}
@media(max-width:420px){.welcome-brand{font-size:clamp(38px,10vw,48px)}.hero-copy h1{font-size:clamp(31px,8vw,40px)}}
@media(prefers-reduced-motion:reduce){.welcome-intro,.welcome-brand,.hero-copy h1,.hero-copy>p,.hero-actions{animation:none!important;opacity:1!important;transform:none!important}}
