:root {
    --wh-green-1000: #0a1f1f;
    --wh-green-950: #102929;
    --wh-green-900: #163636;
    --wh-green-850: #1a4140;
    --wh-green-800: #244c4a;
    --wh-gold: #c0a062;
    --wh-gold-2: #d4bc86;
    --wh-gold-light: #eadbb9;
    --wh-graphite: #2f3331;
    --wh-muted: #6d736f;
    --wh-beige: #f5f0e6;
    --wh-beige-2: #ebe2d2;
    --wh-cream: #fbf8f2;
    --wh-white: #ffffff;
    --wh-border: rgba(16, 41, 41, 0.14);
    --wh-shadow: 0 24px 70px rgba(10, 31, 31, 0.13);
    --wh-shadow-strong: 0 30px 90px rgba(6, 27, 26, 0.24);
    --wh-radius: 24px;
    --wh-radius-lg: 34px;
    --wh-container: 1240px;
    --wh-header-height: 82px;
    --mx: 50%;
    --my: 35%;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--wh-header-height) + 18px); }
body {
    margin: 0;
    color: var(--wh-graphite);
    background: var(--wh-beige);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button, input, textarea, select { font: inherit; }
h1,h2,h3,p,figure { margin-top: 0; }
h1,h2,h3 {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    color: var(--wh-green-950);
    letter-spacing: -0.045em;
    line-height: 1.02;
}
h1 { font-size: clamp(2.9rem, 5.7vw, 5.9rem); margin-bottom: 1.3rem; font-weight: 800; }
h2 { font-size: clamp(2.1rem, 4.1vw, 4rem); margin-bottom: 1.25rem; font-weight: 750; }
h3 { font-size: clamp(1.18rem, 2vw, 1.55rem); margin-bottom: 0.8rem; font-weight: 720; }
p { margin-bottom: 1rem; }
:focus-visible { outline: 3px solid var(--wh-gold); outline-offset: 4px; }

.wh-container { width: min(calc(100% - 40px), var(--wh-container)); margin-inline: auto; }
.wh-section { padding: clamp(76px, 9vw, 126px) 0; position: relative; }
.wh-section--light { background: var(--wh-cream); }
.wh-section--cream { background: var(--wh-beige); }
.wh-section--deep { background: var(--wh-green-1000); color: rgba(255,255,255,.82); overflow: hidden; }
.wh-section--deep::before {
    content: ""; position: absolute; inset: -40% -20%; pointer-events: none;
    background: radial-gradient(circle at 70% 30%, rgba(192,160,98,.16), transparent 28%),
                linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: auto, 48px 48px, 48px 48px;
    transform: rotate(-5deg);
}
.wh-section--deep h2,.wh-section--deep h3 { color: white; }

.wh-page-progress { position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 3000; background: transparent; }
.wh-page-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg,var(--wh-gold),#f2dfb4); box-shadow: 0 0 14px rgba(192,160,98,.55); }
.wh-skip-link { position: fixed; top: 12px; left: 12px; z-index: 9999; padding: 10px 16px; border-radius: 8px; background: white; color: var(--wh-green-950); transform: translateY(-160%); transition: transform .2s ease; font-weight: 700; }
.wh-skip-link:focus { transform: translateY(0); }

.wh-eyebrow { margin-bottom: 1rem; color: var(--wh-gold-light); font-size: .74rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.wh-eyebrow--dark { color: #8d6c31; }
.wh-note { padding-left: 18px; border-left: 2px solid var(--wh-gold); font-size: .9rem; color: rgba(255,255,255,.63); }
.wh-source-note { max-width: 920px; margin: 32px auto 0; color: #777e79; font-size: .78rem; text-align: center; }

.wh-header { position: fixed; inset: 0 0 auto 0; z-index: 1000; height: var(--wh-header-height); background: rgba(245,240,230,.93); border-bottom: 1px solid rgba(16,41,41,.08); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: box-shadow .25s ease, background .25s ease, transform .25s ease; }
.wh-header.is-scrolled { background: rgba(255,255,255,.96); box-shadow: 0 8px 30px rgba(16,41,41,.10); }
.wh-header__inner { height: 100%; display: flex; align-items: center; gap: 26px; }
.wh-logo { flex: 0 0 auto; display: inline-flex; align-items: center; text-decoration:none; }
.wh-logo img { width: 208px; height: auto; display:block; }
.wh-nav { display: flex; align-items: center; gap: 21px; margin-left: auto; }
.wh-nav a { color: var(--wh-green-950); font-size: .84rem; font-weight: 700; text-decoration: none; white-space: nowrap; position: relative; }
.wh-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:2px; background:var(--wh-gold); transition:right .25s ease; }
.wh-nav a:hover::after { right:0; }
.wh-header__actions { display: flex; align-items: center; gap: 12px; }
.wh-header__phone { color: var(--wh-green-950); font-size: .9rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.wh-menu-toggle { display:none; width:44px; height:44px; margin-left:auto; padding:9px; border:0; border-radius:10px; background:transparent; cursor:pointer; }
.wh-menu-toggle span { display:block; width:100%; height:2px; margin:5px 0; background:var(--wh-green-950); transition:transform .2s ease, opacity .2s ease; }
.wh-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.wh-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.wh-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.wh-mobile-menu { position:absolute; top:var(--wh-header-height); left:0; right:0; max-height:calc(100dvh - var(--wh-header-height) - 72px); overflow-y:auto; background:rgba(255,255,255,.99); border-bottom:1px solid var(--wh-border); box-shadow:0 20px 40px rgba(16,41,41,.12); }
.wh-mobile-menu__inner { display:grid; padding-block:8px 18px; }
.wh-mobile-menu a { display:block; padding:14px 4px; border-bottom:1px solid rgba(16,41,41,.08); text-decoration:none; font-weight:700; }
.wh-mobile-menu__phone { color:#8d6c31; }

.wh-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:13px 20px; border:1px solid transparent; border-radius:999px; text-decoration:none; font-weight:800; line-height:1.15; transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease; }
.wh-btn:hover { transform:translateY(-2px); }
.wh-btn--gold { color:var(--wh-green-1000); background:linear-gradient(135deg,var(--wh-gold-2),var(--wh-gold)); box-shadow:0 12px 30px rgba(192,160,98,.25); }
.wh-btn--gold:hover { box-shadow:0 16px 34px rgba(192,160,98,.34); }
.wh-btn--small { min-height:42px; padding:10px 16px; font-size:.82rem; }
.wh-btn--large { min-height:58px; padding:14px 22px; }
.wh-btn--large strong { font-size:1rem; }
.wh-btn--outline-light { color:white; border-color:rgba(255,255,255,.38); background:rgba(255,255,255,.06); backdrop-filter:blur(8px); }
.wh-btn--outline-light:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.68); }
.wh-text-link { display:inline-flex; align-items:center; gap:10px; color:var(--wh-gold-light); font-weight:800; text-decoration:none; }
.wh-text-link span, .wh-purpose-card a span, .wh-house-card a span { transition:transform .2s ease; }
.wh-text-link:hover span, .wh-purpose-card a:hover span, .wh-house-card a:hover span { transform:translateX(5px); }

.wh-hero { min-height: min(900px, 100svh); padding-top:var(--wh-header-height); position:relative; display:flex; flex-direction:column; color:white; background:var(--wh-green-1000); overflow:hidden; }
.wh-hero::before { content:""; position:absolute; inset:0; opacity:.34; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(to right, black, transparent 75%); }
.wh-hero__glow { position:absolute; width:520px; height:520px; left:calc(var(--mx) - 260px); top:calc(var(--my) - 260px); border-radius:50%; background:radial-gradient(circle,rgba(192,160,98,.18),rgba(192,160,98,.04) 40%,transparent 70%); filter:blur(6px); pointer-events:none; transition:left .12s linear, top .12s linear; }
.wh-hero__grid { flex:1; display:grid; grid-template-columns:minmax(0,.76fr) minmax(520px,1.24fr); align-items:center; gap:clamp(28px,4vw,68px); padding-top:34px; padding-bottom:58px; position:relative; z-index:2; }
.wh-hero__copy { padding:30px 0; }
.wh-hero h1 { color:white; max-width:800px; }
.wh-hero__lead { max-width:34ch; color:rgba(255,255,255,.76); font-size:clamp(1.02rem,1.5vw,1.28rem); line-height:1.68; }
.wh-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.wh-hero__trustline { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:28px; color:rgba(255,255,255,.62); font-size:.78rem; font-weight:700; }
.wh-hero__trustline span { display:inline-flex; align-items:center; gap:8px; }
.wh-hero__trustline span::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--wh-gold); box-shadow:0 0 0 4px rgba(192,160,98,.12); }
.wh-hero__visual-wrap { position:relative; min-height:540px; display:flex; align-items:center; justify-content:center; transform:translate3d(0,var(--hero-shift,0),0); will-change:transform; }
.wh-hero__visual { position:relative; width:min(100%,780px); aspect-ratio:4/3; border-radius:32px 32px 98px 32px; overflow:hidden; box-shadow:var(--wh-shadow-strong); isolation:isolate; }
.wh-hero__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(7,25,24,.36)); pointer-events:none; }
.wh-hero__visual img { width:100%; height:100%; object-fit:cover; transform:scale(1.045); animation:whHeroBreath 14s ease-in-out infinite alternate; }
.wh-float-card { position:absolute; z-index:4; max-width:220px; padding:15px 17px; border:1px solid rgba(255,255,255,.18); border-radius:17px; background:rgba(10,31,31,.78); box-shadow:0 18px 50px rgba(0,0,0,.18); backdrop-filter:blur(12px); color:white; animation:whFloat 6s ease-in-out infinite; }
.wh-float-card strong,.wh-float-card small { display:block; }
.wh-float-card strong { font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size:.95rem; }
.wh-float-card small { margin-top:4px; color:rgba(255,255,255,.65); font-size:.72rem; line-height:1.35; }
.wh-float-card--one { left:-34px; bottom:16%; }
.wh-float-card--two { right:-12px; top:15%; animation-delay:-2.2s; }
.wh-float-card__dot { width:8px; height:8px; margin-bottom:8px; border-radius:50%; background:var(--wh-gold); box-shadow:0 0 0 7px rgba(192,160,98,.12); }
.wh-hero__rail { position:relative; z-index:3; overflow:hidden; border-top:1px solid rgba(255,255,255,.09); border-bottom:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.025); }
.wh-hero__rail-track { display:flex; width:max-content; align-items:center; gap:28px; padding:13px 0; color:rgba(255,255,255,.48); font-size:.68rem; font-weight:800; letter-spacing:.17em; animation:whMarquee 30s linear infinite; }
.wh-hero__rail-track i { color:var(--wh-gold); font-style:normal; }

.wh-section-heading { max-width:840px; margin-bottom:46px; }
.wh-section-heading--center { margin-inline:auto; text-align:center; }
.wh-section-heading--center > p:not(.wh-eyebrow) { max-width:700px; margin-inline:auto; color:var(--wh-muted); }
.wh-section-heading--split { max-width:none; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:60px; align-items:end; }
.wh-section-heading--split > p { color:var(--wh-muted); max-width:480px; margin-bottom:8px; }

.wh-purpose-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.wh-purpose-card { position:relative; min-height:510px; padding:32px; border:1px solid var(--wh-border); border-radius:var(--wh-radius-lg); background:white; box-shadow:0 10px 28px rgba(16,41,41,.05); overflow:hidden; transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.wh-purpose-card::before { content:""; position:absolute; right:-70px; top:-90px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle,rgba(192,160,98,.16),transparent 70%); opacity:0; transition:opacity .3s ease; }
.wh-purpose-card:hover { transform:translateY(-7px); box-shadow:var(--wh-shadow); border-color:rgba(192,160,98,.4); }
.wh-purpose-card:hover::before { opacity:1; }
.wh-purpose-card--feature { background:var(--wh-green-950); color:rgba(255,255,255,.78); border-color:rgba(255,255,255,.08); }
.wh-purpose-card--feature h3 { color:white; }
.wh-purpose-card--feature .wh-purpose-card__tag { color:var(--wh-gold-light); }
.wh-purpose-card--feature a { color:#fff; background:rgba(192,160,98,.18); border:1px solid rgba(192,160,98,.48); padding:12px 16px; border-radius:999px; box-shadow:0 8px 18px rgba(0,0,0,.12); }
.wh-purpose-card--feature a:hover { background:rgba(192,160,98,.26); }
.wh-purpose-card__icon { width:52px; height:52px; display:grid; place-items:center; margin-bottom:44px; border-radius:50%; background:var(--wh-beige); color:#8d6c31; font-weight:900; }
.wh-purpose-card--feature .wh-purpose-card__icon { background:rgba(255,255,255,.08); color:var(--wh-gold-light); }
.wh-purpose-card__tag { color:#8d6c31; font-size:.69rem; font-weight:900; letter-spacing:.14em; }
.wh-purpose-card h3 { font-size:clamp(1.5rem,2.4vw,2.05rem); line-height:1.08; }
.wh-purpose-card p { color:var(--wh-muted); }
.wh-purpose-card--feature p { color:rgba(255,255,255,.76); }
.wh-purpose-card ul { margin:22px 0 28px; padding:0; list-style:none; }
.wh-purpose-card li { position:relative; padding:7px 0 7px 20px; font-size:.9rem; }
.wh-purpose-card li::before { content:""; position:absolute; left:0; top:15px; width:6px; height:6px; border-radius:50%; background:var(--wh-gold); }
.wh-purpose-card a { display:inline-flex; align-items:center; gap:9px; margin-top:auto; color:var(--wh-green-900); font-size:.88rem; font-weight:850; text-decoration:none; }
.wh-footer img { width: 170px; height:auto; display:block; }

.wh-modular-layout { display:grid; grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr); gap:clamp(50px,8vw,110px); align-items:start; position:relative; z-index:2; }
.wh-modular-copy { position:sticky; top:130px; }
.wh-modular-copy h2 { color:white; }
.wh-modular-copy > p:not(.wh-eyebrow):not(.wh-note) { font-size:1.05rem; }
.wh-modular-steps { border-top:1px solid rgba(255,255,255,.12); }
.wh-modular-step { display:grid; grid-template-columns:74px 1fr; gap:18px; padding:26px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.wh-modular-step > span { color:var(--wh-gold-light); font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-weight:800; font-size:.82rem; }
.wh-modular-step h3 { margin-bottom:7px; }
.wh-modular-step p { margin:0; color:rgba(255,255,255,.62); }

.wh-house-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.wh-house-card { position:relative; overflow:hidden; border-radius:var(--wh-radius); background:white; border:1px solid var(--wh-border); box-shadow:0 10px 26px rgba(16,41,41,.055); transition:transform .28s ease, box-shadow .28s ease; }
.wh-house-card:hover { transform:translateY(-7px); box-shadow:var(--wh-shadow); }
.wh-house-card__media { display:block; aspect-ratio:4/3; overflow:hidden; background:#ddd7cb; }
.wh-house-card__media img { display:block; }
.wh-house-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.wh-house-card:hover .wh-house-card__media img { transform:scale(1.055); }
.wh-house-card__body { padding:22px 24px 26px; }
.wh-pill { display:inline-flex; padding:6px 10px; margin-bottom:15px; border-radius:999px; background:var(--wh-beige); color:#806329; font-size:.65rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.wh-house-card__body p { color:var(--wh-muted); font-size:.9rem; }
.wh-house-card__body a { display:inline-flex; align-items:center; gap:8px; margin-top:5px; color:var(--wh-green-900); font-weight:850; text-decoration:none; font-size:.86rem; }

.wh-investment { background:linear-gradient(135deg,#173b39,#0e2928); color:rgba(255,255,255,.78); overflow:hidden; }
.wh-investment::before { content:""; position:absolute; width:560px; height:560px; right:-180px; top:-180px; border-radius:50%; border:1px solid rgba(192,160,98,.18); box-shadow:0 0 0 80px rgba(192,160,98,.04),0 0 0 160px rgba(192,160,98,.025); }
.wh-investment h2,.wh-investment h3 { color:white; }
.wh-investment__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(42px,7vw,90px); align-items:center; position:relative; z-index:2; }
.wh-investment__intro > p:not(.wh-eyebrow) { font-size:1.02rem; }
.wh-investment__warning { display:grid; gap:5px; margin-top:28px; padding:18px 20px; border-left:3px solid var(--wh-gold); background:rgba(255,255,255,.05); }
.wh-investment__warning strong { color:white; }
.wh-investment__warning span { color:rgba(255,255,255,.62); font-size:.86rem; }
.wh-investment-tabs { min-height:390px; padding:22px; border:1px solid rgba(255,255,255,.12); border-radius:28px; background:rgba(255,255,255,.055); backdrop-filter:blur(10px); }
.wh-tab-buttons { display:flex; gap:8px; padding:7px; border-radius:999px; background:rgba(0,0,0,.15); }
.wh-tab-buttons button { flex:1; min-height:44px; border:0; border-radius:999px; background:transparent; color:rgba(255,255,255,.6); font-weight:800; cursor:pointer; transition:background .2s ease,color .2s ease; }
.wh-tab-buttons button[aria-selected="true"] { background:var(--wh-gold); color:var(--wh-green-1000); }
.wh-tab-panel { padding:46px 18px 18px; animation:whTabIn .35s ease; }
.wh-tab-panel > span { color:var(--wh-gold-light); font-size:.76rem; font-weight:900; letter-spacing:.12em; }
.wh-tab-panel h3 { margin-top:14px; font-size:clamp(1.55rem,2.5vw,2.2rem); }
.wh-tab-panel p { color:rgba(255,255,255,.65); }

.wh-facts-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.wh-fact-card { min-height:285px; padding:28px; border-radius:24px; background:white; border:1px solid var(--wh-border); }
.wh-fact-card__number { min-height:58px; display:flex; align-items:baseline; gap:6px; margin-bottom:32px; color:var(--wh-green-900); font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size:clamp(2.3rem,4vw,4.3rem); line-height:1; font-weight:800; letter-spacing:-.06em; }
.wh-fact-card__number small { color:#98783b; font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size:.66rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.wh-fact-card__number--text { font-size:clamp(1.85rem,3.1vw,3rem); }
.wh-fact-card p { color:var(--wh-muted); font-size:.88rem; }

.wh-factory { background:var(--wh-green-950); color:rgba(255,255,255,.72); }
.wh-factory h2,.wh-factory h3 { color:white; }
.wh-factory__grid { display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:clamp(46px,7vw,90px); align-items:center; }
.wh-factory__copy > p:not(.wh-eyebrow) { font-size:1.02rem; }
.wh-factory__mini-grid { display:grid; gap:0; margin:28px 0 34px; border-top:1px solid rgba(255,255,255,.12); }
.wh-factory__mini-grid div { display:grid; grid-template-columns:100px 1fr; gap:14px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.wh-factory__mini-grid strong { color:var(--wh-gold-light); font-size:.8rem; }
.wh-factory__mini-grid span { color:rgba(255,255,255,.57); font-size:.84rem; }
.wh-factory__gallery { display:grid; grid-template-columns:1.4fr .8fr; grid-template-rows:1fr 1fr; gap:12px; }
.wh-factory__photo { overflow:hidden; border-radius:20px; min-height:210px; background:#132e2d; }
.wh-factory__photo--main { grid-row:1 / 3; min-height:520px; }
.wh-factory__photo img { width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.2,.7,.2,1); }
.wh-factory__photo:hover img { transform:scale(1.045); }

.wh-project { min-height:680px; display:flex; align-items:center; overflow:hidden; color:white; }
.wh-project__image,.wh-project__overlay { position:absolute; inset:0; }
.wh-project__image picture,.wh-project__image img { width:100%; height:100%; }
.wh-project__image img { object-fit:cover; transform:scale(1.02); }
.wh-project__overlay { background:linear-gradient(90deg,rgba(7,25,24,.94) 0%,rgba(7,25,24,.76) 45%,rgba(7,25,24,.25) 100%),linear-gradient(180deg,transparent,rgba(7,25,24,.5)); }
.wh-project__content { position:relative; z-index:2; max-width:760px; margin-left:max(20px,calc((100vw - var(--wh-container))/2)); margin-right:auto; }
.wh-project h2 { color:white; }
.wh-project__content > p:not(.wh-eyebrow) { max-width:680px; color:rgba(255,255,255,.74); font-size:1.06rem; }
.wh-project__chips { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 30px; }
.wh-project__chips span { padding:8px 12px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.06); color:rgba(255,255,255,.74); font-size:.73rem; font-weight:800; }

.wh-process { background:#eef1ec; }
.wh-timeline { position:relative; max-width:900px; margin:0 auto; padding:10px 0; list-style:none; }
.wh-timeline::before { content:""; position:absolute; left:36px; top:35px; bottom:35px; width:2px; background:linear-gradient(var(--wh-gold),rgba(192,160,98,.12)); transform-origin:top; }
.wh-timeline__item { display:grid; grid-template-columns:74px 1fr; gap:24px; padding:22px 0; }
.wh-timeline__item > span { position:relative; z-index:2; width:74px; height:74px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(192,160,98,.55); background:#eef1ec; color:#87682d; font-weight:900; box-shadow:0 0 0 8px #eef1ec; }
.wh-timeline__item div { padding:10px 0 22px; border-bottom:1px solid rgba(16,41,41,.11); }
.wh-timeline__item p { margin:0; color:var(--wh-muted); }

.wh-faq { background:var(--wh-cream); }
.wh-faq__grid { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:clamp(46px,7vw,100px); align-items:start; }
.wh-faq__intro { position:sticky; top:130px; }
.wh-faq__intro p:not(.wh-eyebrow) { color:var(--wh-muted); }
.wh-faq__list { border-top:1px solid var(--wh-border); }
.wh-faq details { border-bottom:1px solid var(--wh-border); }
.wh-faq summary { list-style:none; position:relative; padding:25px 48px 25px 0; color:var(--wh-green-950); font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-weight:750; cursor:pointer; }
.wh-faq summary::-webkit-details-marker { display:none; }
.wh-faq summary::before,.wh-faq summary::after { content:""; position:absolute; right:5px; top:50%; width:16px; height:2px; background:var(--wh-green-900); transition:transform .22s ease; }
.wh-faq summary::after { transform:rotate(90deg); }
.wh-faq details[open] summary::after { transform:rotate(0); }
.wh-faq details p { padding:0 48px 24px 0; margin:0; color:var(--wh-muted); }

.wh-contact { position:relative; padding:clamp(78px,9vw,120px) 0; overflow:hidden; color:white; background:var(--wh-green-1000); }
.wh-contact__pattern { position:absolute; inset:0; opacity:.9; background:radial-gradient(circle at 18% 20%,rgba(192,160,98,.18),transparent 30%),radial-gradient(circle at 88% 80%,rgba(192,160,98,.11),transparent 34%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:auto,auto,44px 44px,44px 44px; }
.wh-contact__grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:50px; align-items:center; }
.wh-contact h2 { color:white; }
.wh-contact__copy p:not(.wh-eyebrow) { max-width:600px; color:rgba(255,255,255,.7); }
.wh-contact__actions { display:grid; gap:12px; }
.wh-contact-card { display:grid; grid-template-columns:110px 1fr auto; gap:16px; align-items:center; padding:22px 24px; border:1px solid rgba(255,255,255,.14); border-radius:20px; background:rgba(255,255,255,.045); text-decoration:none; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.wh-contact-card:hover { transform:translateX(5px); background:rgba(255,255,255,.075); border-color:rgba(192,160,98,.5); }
.wh-contact-card > span { color:var(--wh-gold-light); font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.wh-contact-card strong { font-size:clamp(.96rem,1.8vw,1.25rem); overflow-wrap:anywhere; }
.wh-contact-card small { color:rgba(255,255,255,.45); font-size:.7rem; }

.wh-footer { padding:48px 0 96px; background:#071c1b; color:rgba(255,255,255,.58); }
.wh-footer__grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:40px; }
.wh-footer img { width:164px; filter:brightness(0) invert(1); opacity:.92; }
.wh-footer p { margin-top:15px; font-size:.78rem; }
.wh-footer strong { display:block; margin-bottom:12px; color:rgba(255,255,255,.88); font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; }
.wh-footer a { display:block; margin:6px 0; color:rgba(255,255,255,.68); font-size:.82rem; text-decoration:none; }
.wh-footer a:hover { color:var(--wh-gold-light); }
.wh-footer__bottom { display:flex; justify-content:space-between; gap:20px; margin-top:40px; padding-top:18px; border-top:1px solid rgba(255,255,255,.08); font-size:.69rem; }
.wh-mobile-cta { display:none; }

.wh-reveal { opacity:0; transform:translateY(22px); transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1); }
.wh-reveal.is-visible { opacity:1; transform:none; }

@keyframes whHeroBreath { from{transform:scale(1.035)} to{transform:scale(1.085)} }
@keyframes whFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes whMarquee { to{transform:translateX(-50%)} }
@keyframes whTabIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }

@media (max-width: 1120px) {
    .wh-nav { gap:14px; }
    .wh-nav a { font-size:.78rem; }
    .wh-header__phone { display:none; }
    .wh-hero__grid { grid-template-columns:minmax(0,.84fr) minmax(360px,1.16fr); gap:28px; }
    .wh-facts-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 900px) {
    :root { --wh-header-height:70px; }
    html { scroll-padding-top:82px; }
    body { padding-bottom:calc(68px + env(safe-area-inset-bottom)); }
    .wh-container { width:min(calc(100% - 30px),var(--wh-container)); }
    .wh-nav,.wh-header__actions { display:none; }
    .wh-menu-toggle { display:block; }
    .wh-logo img { width:172px; }
    .wh-hero { min-height:auto; }
    .wh-hero__grid { grid-template-columns:1fr; gap:28px; padding-top:35px; padding-bottom:44px; }
    .wh-hero__copy { order:2; padding:0 0 10px; }
    .wh-hero__visual-wrap { order:1; min-height:auto; padding-top:12px; }
    .wh-hero__visual { width:100%; aspect-ratio:16/10; border-radius:22px 22px 64px 22px; }
    .wh-hero__visual img { transform:scale(1.02); }
    .wh-float-card--one { left:12px; bottom:-18px; }
    .wh-float-card--two { right:12px; top:28px; }
    .wh-hero h1 { font-size:clamp(2.65rem,12vw,4.5rem); }
    .wh-hero__lead { max-width:34ch; font-size:1rem; }
    .wh-hero__actions { display:grid; grid-template-columns:1fr 1fr; }
    .wh-btn--large { min-height:56px; padding:13px 16px; }
    .wh-hero__trustline { gap:8px 13px; }
    .wh-section-heading--split { grid-template-columns:1fr; gap:16px; }
    .wh-purpose-grid,.wh-house-grid { grid-template-columns:1fr; }
    .wh-purpose-card { min-height:0; }
    .wh-purpose-card__icon { margin-bottom:28px; }
    .wh-modular-layout,.wh-investment__grid,.wh-factory__grid,.wh-faq__grid,.wh-contact__grid { grid-template-columns:1fr; }
    .wh-modular-copy,.wh-faq__intro { position:relative; top:auto; }
    .wh-factory__gallery { margin-top:10px; }
    .wh-project { min-height:620px; }
    .wh-project__content { margin-left:auto; }
    .wh-project__overlay { background:linear-gradient(180deg,rgba(7,25,24,.46),rgba(7,25,24,.94) 65%); }
    .wh-contact-card { grid-template-columns:80px 1fr; }
    .wh-contact-card small { display:none; }
    .wh-mobile-cta { position:fixed; z-index:1800; left:0; right:0; bottom:0; display:grid; grid-template-columns:1fr 1fr; min-height:calc(64px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom); border-top:1px solid rgba(255,255,255,.12); background:rgba(9,31,30,.96); backdrop-filter:blur(16px); }
    .wh-mobile-cta a { display:flex; align-items:center; justify-content:center; gap:9px; min-height:64px; color:white; text-decoration:none; font-size:.86rem; }
    .wh-mobile-cta a + a { border-left:1px solid rgba(255,255,255,.11); }
    .wh-mobile-cta span { color:var(--wh-gold-light); }
    .wh-footer { padding-bottom:30px; }
}

@media (max-width: 680px) {
    .wh-section { padding:68px 0; }
    .wh-hero__actions { grid-template-columns:1fr; }
    .wh-btn--large { width:100%; }
    .wh-float-card { max-width:180px; padding:12px 13px; }
    .wh-float-card small { font-size:.66rem; }
    .wh-float-card--two { top:22px; right:8px; }
    .wh-float-card--one { left:8px; bottom:-28px; }
    .wh-purpose-card { padding:26px; }
    .wh-modular-step { grid-template-columns:54px 1fr; }
    .wh-investment-tabs { padding:14px; min-height:390px; }
    .wh-tab-buttons { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; }
    .wh-tab-buttons button { padding:8px 5px; font-size:.74rem; }
    .wh-tab-panel { padding:34px 10px 12px; }
    .wh-facts-grid { grid-template-columns:1fr; }
    .wh-fact-card { min-height:0; }
    .wh-factory__gallery { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
    .wh-factory__photo--main { grid-column:1 / 3; grid-row:auto; min-height:320px; }
    .wh-factory__photo { min-height:160px; }
    .wh-project { min-height:650px; }
    .wh-timeline::before { left:27px; }
    .wh-timeline__item { grid-template-columns:56px 1fr; gap:16px; }
    .wh-timeline__item > span { width:56px; height:56px; box-shadow:0 0 0 7px #eef1ec; }
    .wh-contact-card { grid-template-columns:1fr; gap:5px; padding:20px; }
    .wh-footer__grid { grid-template-columns:1fr; gap:24px; }
    .wh-footer__bottom { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
    .wh-reveal { opacity:1; transform:none; }
    .wh-hero__visual-wrap { transform:none !important; }
    .wh-hero__rail-track { transform:none !important; }
    .wh-hero__glow { display:none; }
}

/* V3 - rynek niemiecki / doswiadczenie wykonawcze */
.wh-de { position:relative; overflow:hidden; background:#0b2222; color:rgba(255,255,255,.72); }
.wh-de::before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; right:-180px; top:-210px; background:radial-gradient(circle,rgba(192,160,98,.16),rgba(192,160,98,0) 70%); pointer-events:none; }
.wh-de h2,.wh-de h3 { color:#fff; }
.wh-de__top { display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr); gap:clamp(44px,7vw,100px); align-items:center; }
.wh-de__copy > p:not(.wh-eyebrow) { max-width:720px; font-size:1rem; }
.wh-de-route { position:relative; min-height:260px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:120px; padding:32px 10px; }
.wh-de-route__point { position:relative; z-index:2; padding:25px; border:1px solid rgba(255,255,255,.12); border-radius:22px; background:rgba(255,255,255,.055); backdrop-filter:blur(10px); box-shadow:0 28px 60px rgba(0,0,0,.18); }
.wh-de-route__point > span { display:inline-grid; place-items:center; width:42px; height:42px; margin-bottom:18px; border-radius:50%; background:var(--wh-gold); color:#102929; font-size:.72rem; font-weight:900; letter-spacing:.08em; }
.wh-de-route__point strong { display:block; margin-bottom:6px; color:#fff; font:800 1.15rem/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
.wh-de-route__point small { color:rgba(255,255,255,.55); font-size:.76rem; }
.wh-de-route__line { position:absolute; left:23%; right:23%; top:50%; height:2px; background:linear-gradient(90deg,rgba(192,160,98,.3),var(--wh-gold),rgba(192,160,98,.3)); transform:translateY(-50%); }
.wh-de-route__line::after { content:""; position:absolute; inset:-20px 0; background:repeating-linear-gradient(90deg,transparent 0 34px,rgba(255,255,255,.04) 34px 35px); }
.wh-de-route__line i { position:absolute; top:50%; left:0; width:11px; height:11px; border-radius:50%; background:#f2dfb4; box-shadow:0 0 0 7px rgba(192,160,98,.14),0 0 22px rgba(242,223,180,.6); transform:translate(-50%,-50%); }
.wh-de-route.is-visible .wh-de-route__line i { animation:whRoute 4.8s cubic-bezier(.4,0,.2,1) infinite; }
.wh-de-route__line b { position:absolute; top:50%; right:-1px; width:7px; height:7px; border-top:2px solid var(--wh-gold); border-right:2px solid var(--wh-gold); transform:translateY(-50%) rotate(45deg); }
.wh-de-projects { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:56px; }
.wh-de-project { display:flex; gap:18px; min-height:190px; padding:26px; border:1px solid rgba(255,255,255,.11); border-radius:22px; background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025)); transition:transform .35s ease,border-color .35s ease,background .35s ease; }
.wh-de-project:hover { transform:translateY(-5px); border-color:rgba(192,160,98,.42); background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.03)); }
.wh-de-project__year { flex:0 0 auto; color:var(--wh-gold-light); font:800 .66rem/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; letter-spacing:.08em; writing-mode:vertical-rl; transform:rotate(180deg); }
.wh-de-project p { margin:0 0 11px; color:var(--wh-gold-light); font-size:.66rem; font-weight:800; letter-spacing:.16em; }
.wh-de-project h3 { margin:0 0 8px; font-size:1.1rem; }
.wh-de-project div > span { color:rgba(255,255,255,.56); font-size:.82rem; }
.wh-de__foot { margin-top:26px; padding:22px 26px; border-left:2px solid var(--wh-gold); background:rgba(255,255,255,.035); }
.wh-de__foot p { margin:0; color:rgba(255,255,255,.66); font-size:.9rem; }
.wh-de__foot strong { color:#fff; }
@keyframes whRoute { 0% { left:0; opacity:0; } 10% { opacity:1; } 88% { opacity:1; } 100% { left:100%; opacity:0; } }

@media (max-width: 1050px) {
  .wh-de__top { grid-template-columns:1fr; gap:30px; }
  .wh-de-route { max-width:760px; width:100%; margin:0 auto; }
}
@media (max-width: 760px) {
  .wh-de-route { min-height:360px; grid-template-columns:1fr; gap:82px; padding:10px 0; }
  .wh-de-route__line { top:27%; bottom:27%; left:21px; right:auto; width:2px; height:auto; transform:none; background:linear-gradient(180deg,rgba(192,160,98,.3),var(--wh-gold),rgba(192,160,98,.3)); }
  .wh-de-route__line::after { display:none; }
  .wh-de-route__line i { top:0; left:50%; transform:translate(-50%,-50%); }
  .wh-de-route.is-visible .wh-de-route__line i { animation:whRouteMobile 4.8s cubic-bezier(.4,0,.2,1) infinite; }
  .wh-de-route__line b { right:auto; bottom:-1px; top:auto; left:50%; transform:translateX(-50%) rotate(135deg); }
  .wh-de-route__point { margin-left:42px; }
  .wh-de-projects { grid-template-columns:1fr; margin-top:34px; }
  .wh-de-project { min-height:0; }
}
@keyframes whRouteMobile { 0% { top:0; opacity:0; } 10% { opacity:1; } 88% { opacity:1; } 100% { top:100%; opacity:0; } }
@media (prefers-reduced-motion: reduce) {
  .wh-de-route.is-visible .wh-de-route__line i { animation:none; }
}

/* V4: stopka wykonawcy */
.wh-footer__bottom .wh-footer__credit a { display:inline; margin:0; font-size:inherit; color:rgba(255,255,255,.72); text-decoration:underline; text-underline-offset:3px; }
.wh-footer__bottom .wh-footer__credit a:hover { color:var(--wh-gold-light); }

/* V6: balanced completed-home gallery */
.wh-real-home { background:#f7f4ed; overflow:hidden; }
.wh-real-home .wh-section-heading { margin-bottom:26px; }
.wh-real-home__highlights { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; }
.wh-real-home__highlights span { display:inline-flex; align-items:center; min-height:38px; padding:8px 13px; border:1px solid rgba(16,41,41,.12); border-radius:999px; background:rgba(255,255,255,.72); color:var(--wh-green-900); font-size:.73rem; font-weight:850; }

.wh-real-gallery {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:245px 245px;
  gap:12px;
}
.wh-real-gallery__item { position:relative; min-width:0; min-height:0; padding:0; overflow:hidden; border:0; border-radius:20px; background:#e7e1d5; cursor:zoom-in; text-align:left; box-shadow:0 14px 34px rgba(14,41,40,.08); }
.wh-real-gallery__item--feature { grid-column:1 / span 6; grid-row:1 / span 2; }
.wh-real-gallery__item--portrait { grid-column:7 / span 3; grid-row:1 / span 2; }
.wh-real-gallery__item--small:nth-of-type(3) { grid-column:10 / span 3; grid-row:1; }
.wh-real-gallery__item--small:nth-of-type(4) { grid-column:10 / span 3; grid-row:2; }
.wh-real-gallery__item img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .35s ease; }
.wh-real-gallery__item--feature img { object-position:center 48%; }
.wh-real-gallery__item--portrait img { object-position:center 46%; }
.wh-real-gallery__item::after { content:""; position:absolute; inset:auto 0 0; height:45%; background:linear-gradient(transparent,rgba(7,25,24,.68)); pointer-events:none; }
.wh-real-gallery__item > span { position:absolute; z-index:2; left:16px; bottom:14px; color:#fff; font-size:.76rem; font-weight:850; letter-spacing:.02em; }
.wh-real-gallery__item:hover img,.wh-real-gallery__item:focus-visible img { transform:scale(1.035); filter:saturate(1.03) contrast(1.02); }
.wh-real-gallery__item:focus-visible { outline:3px solid var(--wh-gold); outline-offset:3px; }

.wh-real-details { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:12px; }
.wh-real-gallery__item--detail { aspect-ratio:1.45 / 1; }
.wh-real-gallery__item--detail img { object-position:center 47%; }

.wh-real-home__cta { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:28px; padding:25px 28px; border:1px solid rgba(16,41,41,.10); border-radius:20px; background:rgba(255,255,255,.72); }
.wh-real-home__cta strong { display:block; margin-bottom:5px; color:var(--wh-green-950); font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size:1.04rem; }
.wh-real-home__cta p { margin:0; color:var(--wh-muted); font-size:.9rem; }

.wh-lightbox[hidden] { display:none; }
.wh-lightbox { position:fixed; z-index:9999; inset:0; display:grid; place-items:center; padding:22px; }
.wh-lightbox__backdrop { position:absolute; inset:0; background:rgba(5,17,17,.88); backdrop-filter:blur(9px); }
.wh-lightbox__dialog { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; max-width:min(1100px,94vw); max-height:92vh; }
.wh-lightbox__dialog img { display:block; max-width:100%; max-height:82vh; object-fit:contain; border-radius:16px; box-shadow:0 30px 80px rgba(0,0,0,.4); }
.wh-lightbox__dialog p { margin:13px 0 0; color:rgba(255,255,255,.84); font-size:.86rem; text-align:center; }
.wh-lightbox__close { position:absolute; z-index:3; top:-18px; right:-18px; width:44px; height:44px; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:#fff; color:var(--wh-green-950); font-size:1.8rem; line-height:1; cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.22); }
body.wh-lightbox-open { overflow:hidden; }

@media (max-width: 1000px) {
  .wh-real-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:320px 230px 230px; }
  .wh-real-gallery__item--feature { grid-column:1 / 3; grid-row:1; }
  .wh-real-gallery__item--portrait { grid-column:1; grid-row:2 / span 2; }
  .wh-real-gallery__item--small:nth-of-type(3) { grid-column:2; grid-row:2; }
  .wh-real-gallery__item--small:nth-of-type(4) { grid-column:2; grid-row:3; }
  .wh-real-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wh-real-gallery__item--detail { aspect-ratio:1.35 / 1; }
  .wh-real-home__cta { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 620px) {
  .wh-real-gallery { grid-template-columns:1fr 1fr; grid-template-rows:235px 220px 170px; gap:8px; }
  .wh-real-gallery__item { border-radius:14px; }
  .wh-real-gallery__item--feature { grid-column:1 / 3; grid-row:1; }
  .wh-real-gallery__item--portrait { grid-column:1; grid-row:2 / span 2; }
  .wh-real-gallery__item--small:nth-of-type(3) { grid-column:2; grid-row:2; }
  .wh-real-gallery__item--small:nth-of-type(4) { grid-column:2; grid-row:3; }
  .wh-real-details { grid-template-columns:1fr 1fr; gap:8px; margin-top:8px; }
  .wh-real-gallery__item--detail { aspect-ratio:1 / 1; border-radius:14px; }
  .wh-real-gallery__item > span { left:11px; bottom:10px; font-size:.68rem; }
  .wh-real-home__highlights { gap:7px; }
  .wh-real-home__highlights span { min-height:34px; padding:7px 10px; font-size:.66rem; }
  .wh-real-home__cta { padding:20px; border-radius:16px; }
  .wh-lightbox { padding:12px; }
  .wh-lightbox__close { top:-11px; right:-6px; width:40px; height:40px; }
}

@media (prefers-reduced-motion: reduce) {
  .wh-real-gallery__item img { transition:none; }
}


/* V7: local/system typography, language switcher and privacy policy */
.wh-lang-switcher { display:flex; align-items:center; gap:2px; padding:3px; border:1px solid rgba(16,41,41,.13); border-radius:999px; background:rgba(255,255,255,.52); }
.wh-lang-switcher a { display:grid; place-items:center; min-width:29px; height:27px; padding:0 6px; border-radius:999px; color:var(--wh-green-900); font-size:.65rem; font-weight:850; line-height:1; text-decoration:none; letter-spacing:.04em; }
.wh-lang-switcher a:hover { background:rgba(192,160,98,.18); }
.wh-lang-switcher a[aria-current="page"] { color:var(--wh-green-1000); background:var(--wh-gold-light); box-shadow:0 2px 8px rgba(16,41,41,.08); }
.wh-mobile-menu .wh-lang-switcher { width:max-content; margin:12px 0 8px; padding:4px; }
.wh-mobile-menu .wh-lang-switcher a { display:grid; padding:0 9px; border-bottom:0; }

.wh-policy { min-height:100vh; padding:calc(var(--wh-header-height) + 66px) 0 90px; background:linear-gradient(180deg,#f7f3ea 0,#fff 38%,#f7f4ed 100%); }
.wh-policy__hero { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:30px; margin-bottom:38px; padding-bottom:30px; border-bottom:1px solid rgba(16,41,41,.12); }
.wh-policy__hero h1 { max-width:820px; margin:0 0 10px; font-size:clamp(2.5rem,5vw,4.8rem); }
.wh-policy__hero p { margin:0; color:var(--wh-muted); }
.wh-policy__back { display:inline-flex; align-items:center; min-height:43px; padding:10px 16px; border:1px solid rgba(16,41,41,.14); border-radius:999px; color:var(--wh-green-950); font-size:.82rem; font-weight:800; text-decoration:none; background:#fff; }
.wh-policy__card { max-width:980px; padding:clamp(26px,4vw,54px); border:1px solid rgba(16,41,41,.10); border-radius:26px; background:rgba(255,255,255,.94); box-shadow:0 22px 70px rgba(16,41,41,.07); }
.wh-policy__section + .wh-policy__section { margin-top:38px; padding-top:34px; border-top:1px solid rgba(16,41,41,.08); }
.wh-policy__section h2 { margin:0 0 16px; font-size:clamp(1.35rem,2.4vw,2rem); letter-spacing:-.025em; }
.wh-policy__section p { max-width:84ch; margin:0 0 13px; color:#425553; font-size:1rem; line-height:1.75; }
.wh-policy__section p:last-child { margin-bottom:0; }
.wh-policy__contact { margin-top:34px; padding:22px 24px; border-radius:18px; background:var(--wh-green-950); color:#fff; }
.wh-policy__contact a { color:var(--wh-gold-light); font-weight:800; }
.wh-policy-header .wh-header__inner { justify-content:space-between; }
.wh-policy-header .wh-header__actions { margin-left:auto; }

@media (max-width:1180px) {
  .wh-header__inner { gap:16px; }
  .wh-nav { gap:14px; }
  .wh-nav a { font-size:.72rem; }
  .wh-header__actions { gap:8px; }
  .wh-lang-switcher a { min-width:26px; padding:0 5px; }
}
@media (max-width:900px) {
  .wh-header__actions > .wh-lang-switcher { display:none; }
  .wh-policy__hero { grid-template-columns:1fr; align-items:start; }
  .wh-policy__back { width:max-content; }
}
@media (max-width:620px) {
  .wh-policy { padding-top:calc(var(--wh-header-height) + 38px); padding-bottom:110px; }
  .wh-policy__card { padding:24px 20px; border-radius:18px; }
  .wh-policy__section + .wh-policy__section { margin-top:28px; padding-top:26px; }
  .wh-policy__section p { font-size:.94rem; }
}

/* V7: privacy header keeps language selection available on mobile */
@media (max-width:900px) {
  .wh-policy-header .wh-header__actions { display:flex; }
  .wh-policy-header .wh-header__actions > .wh-lang-switcher { display:flex; }
  .wh-policy-header .wh-header__actions > .wh-btn { display:none; }
}
