/* Redesign v1 (editorial dark). Scoped to body.page-ed only: the price calculator
   and configurator pages keep their own look. Fonts: Bodoni Moda (display) + Jost (text), both self-hosted. */

/* ---------- tokens ---------- */
body.page-ed{
  --background:#0b0b0b;--surface:#111111;--sand:#0f0f0f;--linen:#0e0e0e;--greige:#161616;--stone:#2a2a2a;--card:#131313;
  --foreground:#efebe4;--muted:#aaa49b;--faint:#9a948b;
  --border:rgba(255,255,255,.13);--hair:rgba(255,255,255,.14);--hair-strong:rgba(255,255,255,.42);
  --espresso:#080808;
  --gold:#e4ded4;--gold-deep:#cfc8bc;--accent:#cfc8bc;--primary:#e4ded4;--on-primary:#0b0b0b;--on-gold:#0b0b0b;
  --ring:#efebe4;
  --navh:92px;--edge:clamp(20px,4vw,64px);
  --display:"Bodoni Moda","Bodoni 72",Didot,"Times New Roman",serif;
  background:#0b0b0b;color:var(--foreground);
}
.page-ed ::selection{background:rgba(239,235,228,.28);color:#fff}
.page-ed h1,.page-ed h2,.page-ed h3{font-family:var(--display);font-weight:400}
.page-ed em{font-style:normal}

/* ---------- header ---------- */
.nav-ed,.nav-ed.solid{position:sticky;top:0;z-index:60;background:#0b0b0b;color:var(--foreground);border-bottom:1px solid transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.nav-ed.solid{border-bottom-color:var(--hair)}
.nav-ed .nav-in{max-width:none;height:var(--navh);padding:0 var(--edge);grid-template-columns:auto 1fr auto;gap:clamp(20px,3vw,56px)}
.nav-ed .brand{align-items:flex-start;justify-self:start;line-height:1;text-decoration:none}
.nav-ed .brand b{font-family:var(--display);font-weight:400;font-size:clamp(28px,2.3vw,34px);letter-spacing:.09em;text-transform:uppercase;line-height:.95}
.nav-ed .brand small{font:400 9.5px/1 var(--sans);letter-spacing:.46em;text-transform:uppercase;color:var(--muted);margin:8px 0 0;padding:0}
.nav-ed .nav-l{display:flex;justify-content:center;gap:clamp(22px,3.2vw,52px)}
.nav-ed .nav-l a{font:400 14px/1 var(--sans);letter-spacing:.02em;text-transform:none;color:var(--muted);padding:12px 0;transition:color .25s}
.nav-ed .nav-l a::after{bottom:6px;background:var(--foreground)}
.nav-ed .nav-l a:hover,.nav-ed .nav-l a[aria-current]{color:var(--foreground)}
.nav-ed .nav-l a[aria-current]::after{transform:scaleX(1)}
.nav-ed .nav-r{gap:clamp(8px,1vw,16px)}
.nav-ed .nav-ico{width:44px;height:44px;border-radius:50%}
.nav-ed .nav-ico:hover{background:rgba(255,255,255,.08)}
.nav-ed .nav-ico .cnt{background:var(--foreground);color:#0b0b0b}
.nav-ed .lang{display:none}
.nav-ed .lang-dd{display:block}
.nav-ed .lang-dd summary{height:44px;min-width:58px;padding:0 8px;gap:6px;font:400 13px/1 var(--sans);letter-spacing:.16em}
.nav-ed .lang-dd summary:hover{background:rgba(255,255,255,.08)}
.nav-ed .lang-dd-m{background:#121212;border-color:var(--hair);border-radius:2px;box-shadow:0 18px 40px rgba(0,0,0,.6)}
.nav-ed .lang-dd-m a{border-radius:0}
.nav-ed .nav-cta{display:inline-flex;min-height:44px;padding:0 22px;border-radius:0;background:var(--foreground);color:#0b0b0b;font:500 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.nav-ed .nav-cta:hover{background:#fff}
.nav-ed .burger{display:block;width:48px;height:48px;justify-self:auto;border:1px solid rgba(255,255,255,.45);border-radius:50%;transition:border-color .25s,background-color .25s}
.nav-ed .burger:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.nav-ed .burger span{left:15px;right:15px}
.nav-ed .burger span:first-child{top:19px}.nav-ed .burger span:last-child{top:27px}
.menu-open .nav-ed .burger span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-open .nav-ed .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* menu panel: all sizes */
.nav-ed .links{display:flex;position:fixed;inset:var(--navh) 0 0 0;height:auto;z-index:55;flex-direction:column;align-items:flex-start;gap:0;padding:clamp(16px,4vh,48px) var(--edge) 48px;background:#0b0b0b;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}
.menu-open .nav-ed .links{opacity:1;visibility:visible;transform:none}
.nav-ed .links a{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.4vw,44px);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--foreground);padding:14px 0;width:100%;max-width:640px;border-bottom:1px solid var(--hair);transition:color .2s,padding-left .3s var(--ease)}
.nav-ed .links a:hover{padding-left:12px}
.nav-ed .links a.btn{font:500 12px/1 var(--sans);letter-spacing:.18em;width:auto;max-width:none;margin-top:32px;padding:0 28px;min-height:52px;border:0;border-radius:0;background:var(--foreground);color:#0b0b0b}
.nav-ed .links a.btn:hover{padding-left:28px;background:#fff}
@media (max-width:1240px){.nav-ed .nav-cta{display:none}}
@media (max-width:1020px){
  .nav-ed .nav-l{display:none}
  .nav-ed .nav-in{grid-template-columns:1fr auto}
}
@media (max-width:900px){
  body.page-ed{--navh:72px}
  .nav-ed .brand b{font-size:26px}
  .nav-ed .brand small{font-size:8.5px;margin-top:6px}
  .nav-ed .burger{width:44px;height:44px}
  .nav-ed .burger span{left:13px;right:13px}
  .nav-ed .burger span:first-child{top:17px}.nav-ed .burger span:last-child{top:25px}
  .nav-ed .nav-ico{width:40px;height:40px}
  .nav-ed .lang-dd summary{min-width:52px}
}
@media (max-width:420px){.nav-ed .nav-icos .nav-ico:not(.nav-fav){display:none}}

/* ---------- hero ---------- */
.ed-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(500px,calc(100svh - var(--navh) - 270px),720px);background:#0b0b0b}
.ed-hero-text{position:relative;z-index:2;width:44%;padding:48px 0 56px var(--edge)}
.ed-count{display:flex;align-items:baseline;gap:18px;margin-bottom:clamp(20px,3vh,36px);font:400 13px/1 var(--sans);letter-spacing:.16em;color:var(--foreground)}
.ed-n{font-variant-numeric:tabular-nums}
.ed-pre{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}
.ed-hero h1{font-size:clamp(52px,8vw,136px);line-height:.95;letter-spacing:.015em;text-transform:uppercase;color:#fff;margin:0 0 clamp(24px,3.4vh,40px);text-wrap:nowrap}
.ed-lead{max-width:40ch;font-size:clamp(15px,1.1vw,17px);line-height:1.75;color:rgba(239,235,228,.82);font-weight:350}
.ed-cta{margin-top:clamp(28px,4.4vh,48px);display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}
.ed-btn{display:inline-flex;align-items:center;gap:14px;min-height:56px;padding:0 30px;border:1px solid rgba(255,255,255,.6);color:#fff;text-decoration:none;font:500 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;transition:background-color .3s,color .3s,border-color .3s}
.ed-btn span{display:inline-block;transition:transform .3s var(--ease)}
.ed-btn:hover{background:#efebe4;color:#0b0b0b;border-color:#efebe4}
.ed-btn:hover span{transform:translateX(4px)}
.ed-link{display:inline-block;color:var(--foreground);text-decoration:none;font:400 13px/1.2 var(--sans);letter-spacing:.06em;padding:8px 0;border-bottom:1px solid var(--hair-strong);transition:border-color .25s}
.ed-link span{display:inline-block;margin-left:6px;transition:transform .3s var(--ease)}
.ed-link:hover{border-color:var(--foreground)}.ed-link:hover span{transform:translateX(4px)}
.ed-btn:focus-visible,.ed-link:focus-visible{outline:2px solid #fff;outline-offset:4px}
.ed-hero-media{position:absolute;z-index:0;top:0;right:0;bottom:0;width:66%;overflow:hidden;background:#141414}
.ed-hero-media picture{display:block;width:100%;height:100%}
.ed-hero-img{width:100%;height:100%;object-fit:cover;object-position:100% 50%}
.ed-hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(11,11,11,.95) 0,rgba(11,11,11,.55) 12%,rgba(11,11,11,0) 34%)}
.mo .ed-hero-img{transform:scale(1.05);animation:edzoom 2s var(--ease) forwards}
@keyframes edzoom{to{transform:none}}
.mo .ed-count,.mo .ed-hero h1,.mo .ed-lead,.mo .ed-cta{opacity:0;transform:translate3d(0,14px,0);animation:edup .9s var(--ease) forwards}
.mo .ed-count{animation-delay:.05s}.mo .ed-hero h1{animation-delay:.15s}.mo .ed-lead{animation-delay:.3s}.mo .ed-cta{animation-delay:.45s}
@keyframes edup{to{opacity:1;transform:none}}

/* ---------- detail strip ---------- */
.ed-details{display:grid;grid-template-columns:minmax(0,3.1fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:end;padding:10px var(--edge) clamp(72px,8vw,128px)}
.ed-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ed-tiles li{aspect-ratio:1;overflow:hidden;background:#161616}
.ed-tiles picture,.ed-tiles img{display:block;width:100%;height:100%}
.ed-tiles img{object-fit:cover;filter:saturate(.78) brightness(.88) contrast(1.04);transition:transform .8s var(--ease),filter .5s}
.ed-tiles li:hover img{transform:scale(1.04);filter:saturate(.9) brightness(.98) contrast(1.04)}
.ed-details-t{padding-bottom:6px}
.ed-details-t h2{font-size:clamp(22px,2.2vw,34px);line-height:1.22;letter-spacing:.04em;text-transform:uppercase;max-width:15ch;margin-bottom:clamp(22px,3vw,36px)}

/* ---------- other sections, same vocabulary ---------- */
.page-ed .eyebrow{font:400 11px/1 var(--sans);letter-spacing:.3em;color:var(--muted)}
.page-ed .eyebrow::before{background:var(--hair-strong)}
.page-ed .t2,.page-ed .rm-h,.page-ed .ct-band-h{text-transform:uppercase;letter-spacing:.03em;font-weight:400}
.page-ed .t2{font-size:clamp(26px,3.1vw,46px);line-height:1.16}
.page-ed .t2 .mute{font-style:normal;font-weight:400;color:var(--muted)}
.page-ed .rm-h{font-size:clamp(26px,2.8vw,40px);line-height:1.15}
.page-ed .ct-band-h{font-size:clamp(30px,4.6vw,68px);line-height:1.08;max-width:18ch}
.page-ed .ct-band-h em{font-weight:400;color:rgba(255,255,255,.8)}
.page-ed .lx-intro{padding-top:clamp(40px,6vw,96px)}
.page-ed .lx-intro-t{font-weight:400;font-size:clamp(22px,2.5vw,36px);line-height:1.35;letter-spacing:.012em;text-transform:none;max-width:34ch}
.page-ed .lx-intro-t em{color:var(--muted)}
.page-ed .lx-intro-l li+li::before{border-radius:0;width:1px;height:12px;background:var(--hair-strong)}
.page-ed .lx-intro-l a:hover{border-color:var(--foreground)}
.page-ed .rm-n{font-family:var(--sans);font-style:normal;font-size:13px;letter-spacing:.16em;color:var(--foreground)}
.page-ed .rm-n::after{flex-basis:44px}
.page-ed .rm-copy p,.page-ed .ab-copy p{color:var(--muted)}
.page-ed .lx-link{border-bottom-color:var(--hair-strong)}
.page-ed .lx-tab{letter-spacing:.16em}
.page-ed .lx-tab[aria-pressed="true"]::after{background:var(--foreground)}
.page-ed .pr-t{font-family:var(--display);font-weight:400;font-size:18px;letter-spacing:.02em}
.page-ed .pr-m,.page-ed .pr .pr-c{color:var(--muted)}
.page-ed .h-proc{background:#0e0e0e}
.page-ed .h-proc li h3{text-transform:uppercase;letter-spacing:.06em;font-size:20px}
.page-ed .pn{font-family:var(--sans);color:var(--foreground)}
.page-ed .lx-hero::before{display:none}

/* buttons on this page: filled = primary (off-white), line = secondary; squared like the mockup */
.page-ed .btn{border-radius:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.page-ed .btn-dark,.page-ed .btn-gold{background:var(--foreground);color:#0b0b0b}
.page-ed .btn-dark:hover,.page-ed .btn-gold:hover{background:#fff}
.page-ed .btn-ghost,.page-ed .btn-line,.page-ed .btn-glass{background:transparent;color:var(--foreground);border-color:rgba(255,255,255,.45);border-radius:0}
.page-ed .btn-ghost:hover,.page-ed .btn-line:hover,.page-ed .btn-glass:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.page-ed .field input,.page-ed .field select,.page-ed .field textarea{background:#0e0e0e;border-color:rgba(255,255,255,.2);border-radius:0}
.page-ed .field input::placeholder,.page-ed .field textarea::placeholder{color:#8d877e}

/* footer */
.page-ed .footer{background:#080808;border-top:1px solid var(--hair)}
.page-ed .foot-brand .fb-word{align-items:flex-start}
.page-ed .foot-brand .fb-word b{font-size:clamp(34px,4vw,52px);font-weight:400;letter-spacing:.09em;text-transform:uppercase;line-height:.95}
.page-ed .foot-brand .fb-word small{font-size:10px;letter-spacing:.46em;color:var(--muted);margin:10px 0 0}
.page-ed .footer .fh{letter-spacing:.24em}

/* ---------- mobile ---------- */
@media (max-width:900px){
  .ed-hero{display:block;min-height:0}
  .ed-hero-text{width:auto;padding:clamp(28px,6vh,48px) var(--edge) 36px}
  .ed-hero h1{font-size:clamp(40px,13.6vw,92px);margin-bottom:20px}
  .ed-lead{max-width:34ch}
  .ed-cta{margin-top:28px}
  .ed-hero-media{position:relative;width:auto;aspect-ratio:4/4.6;max-height:78svh}
  .ed-hero-media::after{background:linear-gradient(180deg,rgba(11,11,11,.7) 0,rgba(11,11,11,0) 22%)}
  .ed-hero-img{object-position:92% 55%}
  .ed-details{grid-template-columns:1fr;gap:28px;padding-top:10px}
  .ed-tiles{gap:6px}
  .ed-details-t h2{max-width:20ch}
}
@media (prefers-reduced-motion:reduce){.ed-tiles img,.ed-btn span,.ed-link span{transition:none}}

/* Bodoni Moda has an optical-size axis: at big sizes the default gives hairlines that vanish.
   Pin it lower for the softer, more even contrast of the mockup. */
.page-ed h1,.page-ed h2,.page-ed h3,.page-ed .brand b,.page-ed .fb-word b,.page-ed .pr-t,.page-ed .lx-intro-t,.page-ed .nav-ed .links a{font-optical-sizing:none;font-variation-settings:"opsz" 26}
.ed-hero h1{font-weight:500;font-variation-settings:"opsz" 30}
.page-ed .nav-ed .brand b,.page-ed .foot-brand .fb-word b{font-variation-settings:"opsz" 20;font-weight:500}
.page-ed .t2,.page-ed .rm-h,.page-ed .lx-intro-t,.page-ed .pr-t,.page-ed .ct-band-h,.ed-details-t h2,.page-ed .h-proc li h3{font-weight:500}
.page-ed .rm-media,.page-ed .ab-media,.page-ed .pr-m,.page-ed .pr-open,.page-ed .sw,.page-ed .field input,.page-ed .field select,.page-ed .field textarea{border-radius:0}
.page-ed .hc-phone{font-weight:500;font-variation-settings:"opsz" 22;font-optical-sizing:none}
.nav-ed a,.nav-ed button,.nav-ed summary,.ed-btn,.ed-link{touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,255,255,.12)}
.nav-ed .links{overscroll-behavior:contain}
.nav-ed a:focus-visible,.nav-ed button:focus-visible,.nav-ed summary:focus-visible{outline:2px solid #fff;outline-offset:3px}
.page-ed h1,.page-ed h2,.ed-lead{text-wrap:balance}.ed-lead{text-wrap:pretty}

/* photo swap: let the 3D band photo read, keep the text side dark */
body.page-ed .h-build-dark::before{background:linear-gradient(90deg,rgba(10,10,10,.88) 0,rgba(10,10,10,.66) 48%,rgba(10,10,10,.34) 100%)}
body.page-ed .h-build-dark .hb-bg img{filter:saturate(.8) brightness(.95)}
@media(max-width:800px){body.page-ed .h-build-dark::before{background:linear-gradient(180deg,rgba(10,10,10,.84),rgba(10,10,10,.6))}}

/* lightbox + leftover accents: no gold label, no italic title */
.page-ed .lb::backdrop{background:rgba(8,8,8,.96)}
.page-ed .lb-n{color:var(--muted)}
.page-ed .lb-cat{color:var(--muted);letter-spacing:.26em}
.page-ed .lb-t{font-style:normal;font-weight:500;font-size:clamp(24px,2.1vw,32px);line-height:1.2;letter-spacing:.03em;text-transform:uppercase;font-optical-sizing:none;font-variation-settings:"opsz" 26}
.page-ed .lb-p{color:rgba(239,235,228,.78)}
.page-ed .lb-x,.page-ed .lb-nav{background:rgba(11,11,11,.55);border-color:rgba(255,255,255,.4)}
.page-ed .lb-media img{border-radius:0}
.page-ed .h-build-dark .eyebrow{color:var(--muted)}
.page-ed .h-build-dark .eyebrow::before{background:var(--hair-strong)}
.page-ed .ill{box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.page-ed .v3d-teaser .v3d-hint{border-color:rgba(255,255,255,.2)}
@media (max-width:900px){.page-ed .lb-t{font-size:22px}}

/* Delivery area note */
.delivery{margin-top:clamp(28px,3.4vw,48px);padding-top:clamp(22px,2.4vw,32px);border-top:1px solid var(--hair);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:14px clamp(24px,4vw,64px);align-items:start}
.delivery .eyebrow{margin:6px 0 0;font:400 11px/1 var(--sans);letter-spacing:.3em;color:var(--muted)}
.delivery .dl-lead{margin:0;font-size:clamp(17px,1.5vw,20px);line-height:1.4;color:var(--foreground);max-width:46ch;text-wrap:balance}
.dl-chips{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.dl-chips li{margin:0;padding:8px 14px;border:1px solid var(--hair-strong);font:400 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--foreground)}
.delivery .dl-note{margin:16px 0 0;font-size:15px;line-height:1.55;color:var(--muted);max-width:60ch}
.delivery .dl-note strong{color:var(--foreground);font-weight:500}
.delivery-sm{grid-template-columns:1fr;margin-top:18px;padding-top:18px;gap:10px}
.delivery-sm .eyebrow{margin:0}
.delivery-sm .dl-lead{font-size:15px}
.delivery-sm .dl-chips{margin-top:12px;gap:6px}
.delivery-sm .dl-chips li{padding:7px 10px;font-size:10px;letter-spacing:.14em}
.delivery-sm .dl-note{font-size:14px;margin-top:12px}
@media (max-width:760px){.delivery{grid-template-columns:1fr}}
/* five-item room link row: no dangling separators when it wraps on small screens */
@media (max-width:700px){
  .page-ed .lx-intro-l{gap:6px 22px;max-width:340px;margin-left:auto;margin-right:auto}
  .page-ed .lx-intro-l li+li::before{display:none}
}
#paradhoma{scroll-margin-top:110px}
