:root{--bg:#f1eee7;--ink:#11181d;--muted:#70787d;--deep:#0c1418;--blue:#173746;--ice:#dff6ff;--line:rgba(17,24,29,.12);--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Manrope',sans-serif;-webkit-font-smoothing:antialiased}img{display:block}.lens-nav{position:fixed;z-index:60;top:18px;left:22px;right:22px;height:64px;padding:0 12px 0 14px;display:flex;align-items:center;justify-content:space-between;background:rgba(8,16,20,.54);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(18px);border-radius:16px;color:#fff}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.brand-chip{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:20px}.brand b,.brand small{display:block}.brand b{font-size:12px}.brand small{font-size:8px;text-transform:uppercase;letter-spacing:.15em;opacity:.6}.nav-center{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;font-size:9px;text-transform:uppercase;letter-spacing:.14em;opacity:.72}.live-dot{width:7px;height:7px;border-radius:50%;background:#aee2ff;box-shadow:0 0 0 5px rgba(174,226,255,.08)}.lens-nav nav{display:flex;align-items:center;gap:4px}.lens-nav nav a{color:#fff;text-decoration:none;font-size:11px;padding:10px 12px;border-radius:10px}.lens-nav nav a:hover{background:rgba(255,255,255,.08)}.nav-book{background:#fff;color:var(--ink)!important}.menu-btn{display:none}.hero{height:100svh;min-height:760px;position:relative;background:#091216;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(.95) contrast(1.04)}.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,14,18,.68),rgba(6,14,18,.16) 58%),linear-gradient(0deg,rgba(6,14,18,.58),transparent 46%)}.hero-axis{position:absolute;z-index:3;right:4vw;top:115px;display:flex;gap:18px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}.hero-copy{position:absolute;z-index:3;left:6vw;bottom:15vh;max-width:900px}.eyebrow,.section-no{font-size:9px;text-transform:uppercase;letter-spacing:.2em;font-weight:600}.hero-copy h1,.story-title h2,.scene h3,.gallery-head h2,.essentials-head h2,.molyvos-copy h2,.guide-head h2,.final-cta h2{font-family:'Playfair Display',serif}.hero-copy h1{font-size:clamp(76px,10vw,150px);line-height:.78;font-weight:500;letter-spacing:-.035em;margin:18px 0 28px}.hero-copy h1 em{font-weight:500;color:rgba(255,255,255,.58)}.hero-copy>p:not(.eyebrow){max-width:560px;font-size:16px;line-height:1.8;color:rgba(255,255,255,.78)}.hero-book{position:absolute;z-index:4;right:4vw;bottom:42px;width:min(370px,32vw);padding:18px;border-radius:18px;background:rgba(255,255,255,.93);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:16px}.hero-book small,.hero-book strong{display:block}.hero-book small{font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:#7b8489}.hero-book strong{font-family:'Playfair Display',serif;font-size:20px;font-weight:500}.hero-book a{color:var(--ink);text-decoration:none;font-size:11px;white-space:nowrap}.hero-book a span{font-size:18px;margin-left:6px}.hero-scroll{position:absolute;z-index:3;left:6vw;bottom:42px;color:#fff;text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.story{padding:145px 7vw;display:grid;grid-template-columns:.35fr 1.1fr .75fr;gap:6vw;align-items:start}.story-index{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.story-title h2{font-size:clamp(50px,5.6vw,84px);line-height:.92;font-weight:500;margin:0}.story-title h2 em{font-weight:500;color:#6e7f87}.story-copy p{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 16px}.story-stats{grid-column:2/4;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:20px}.story-stats span{padding:18px 0;border-bottom:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.story-stats b{display:block;font-family:'Playfair Display',serif;font-size:32px;font-weight:500;margin-bottom:4px}.scenes{padding:20px 5vw 140px}.scene{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:7vw;margin:0 0 100px}.scene:nth-child(even){grid-template-columns:.8fr 1.2fr}.scene img{width:100%;height:620px;object-fit:cover;border-radius:26px}.scene div{padding:20px}.scene span{font-size:9px;color:#899398;letter-spacing:.15em}.scene h3{font-size:48px;font-weight:500;line-height:1;margin:18px 0 15px}.scene p{font-size:14px;line-height:1.8;color:var(--muted)}.gallery-shell{background:var(--deep);color:#fff;padding:120px 4vw 100px}.gallery-head{display:flex;justify-content:space-between;align-items:end;padding:0 2vw 40px}.gallery-head h2{font-size:clamp(58px,6.5vw,96px);line-height:.86;font-weight:500;margin:16px 0 0}.gallery-head h2 em{font-weight:500;color:#6f8e9b}.gallery-hint{font-size:10px;color:rgba(255,255,255,.5)}.gallery-viewer{display:grid;grid-template-columns:120px 1fr 120px;gap:16px;align-items:stretch}.gallery-stage{margin:0;position:relative;overflow:hidden;min-height:68vh;border-radius:24px;background:#142027}.gallery-stage img{width:100%;height:100%;object-fit:cover}.gallery-stage figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:14px 16px;border-radius:14px;background:rgba(6,12,15,.48);backdrop-filter:blur(12px);display:flex;justify-content:space-between;align-items:end}.gallery-counter{font-size:10px;letter-spacing:.14em}.gallery-stage strong,.gallery-stage small{display:block}.gallery-stage strong{font-family:'Playfair Display',serif;font-size:22px;font-weight:500}.gallery-stage small{font-size:10px;color:rgba(255,255,255,.62);margin-top:4px}.gallery-nav{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.03);color:#fff;border-radius:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;cursor:pointer}.gallery-nav span{font-size:28px}.gallery-nav small{font-size:9px;text-transform:uppercase;letter-spacing:.14em}.gallery-nav:hover{background:rgba(255,255,255,.08)}.thumb-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:14px}.thumb{height:86px;padding:0;border:1px solid transparent;background:none;border-radius:10px;overflow:hidden;opacity:.48;cursor:pointer}.thumb.active{opacity:1;border-color:#aee2ff}.thumb img{width:100%;height:100%;object-fit:cover}.essentials{padding:140px 7vw}.essentials-head{display:grid;grid-template-columns:.35fr 1fr;gap:6vw;align-items:end}.essentials-head h2{font-size:clamp(56px,6.2vw,90px);line-height:.9;font-weight:500;margin:0}.essentials-head h2 em{font-weight:500;color:#6f7f87}.essentials-grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.essentials-grid>div{min-height:210px;padding:26px;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;background:rgba(255,255,255,.35)}.essentials-grid span{font-size:9px;color:#8d969b}.essentials-grid b{font-family:'Playfair Display',serif;font-size:30px;font-weight:500;margin-top:auto}.essentials-grid small{color:var(--muted);margin-top:4px}.molyvos-band{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--blue);color:#fff}.molyvos-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.molyvos-copy h2{font-size:clamp(58px,6vw,92px);line-height:.88;font-weight:500;margin:20px 0 28px}.molyvos-copy h2 em{font-weight:500;color:#8db3c3}.molyvos-copy>p{font-size:14px;line-height:1.85;color:rgba(255,255,255,.65)}.distances{margin-top:35px}.distances span{display:block;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:10px;color:rgba(255,255,255,.55)}.distances b{font-family:'Playfair Display',serif;font-size:23px;font-weight:500;color:#fff;margin-right:10px}.molyvos-photo{min-height:760px}.molyvos-photo img{width:100%;height:100%;object-fit:cover}.light{color:rgba(255,255,255,.55)}.guide{padding:140px 7vw}.guide-head{display:grid;grid-template-columns:.35fr 1fr;gap:6vw;align-items:end}.guide-head h2{font-size:clamp(58px,6.4vw,94px);line-height:.9;font-weight:500;margin:0}.guide-head h2 em{font-weight:500;color:#6d7d84}.guide-switcher{display:flex;gap:8px;margin:55px 0 22px}.guide-switcher button{border:1px solid var(--line);background:transparent;padding:10px 15px;border-radius:999px;font:inherit;font-size:10px;cursor:pointer}.guide-switcher button.active{background:var(--ink);color:#fff}.guide-panel{display:none;padding:38px;border-radius:20px;background:#e5e8e6;min-height:300px}.guide-panel.active{display:block}.guide-panel h3{font-family:'Playfair Display',serif;font-size:42px;font-weight:500;margin:0 0 14px}.guide-panel p{max-width:800px;font-size:14px;line-height:1.8;color:var(--muted)}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.tags span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;font-size:10px}.guide-grid,.phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;margin-top:28px}.guide-grid span,.phone-grid a{padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.guide-grid b{display:block;font-family:'Playfair Display',serif;font-size:20px;font-weight:500}.phone-grid a{display:flex;justify-content:space-between;color:var(--ink);text-decoration:none}.phone-grid b{font-family:'Playfair Display',serif;font-size:19px;font-weight:500}.final-cta{margin:0 4vw 75px;padding:6vw;background:var(--deep);color:#fff;border-radius:28px;display:flex;justify-content:space-between;align-items:end;gap:40px}.final-cta h2{font-size:clamp(60px,7vw,105px);line-height:.84;font-weight:500;margin:20px 0 0}.final-cta h2 em{font-weight:500;color:#7197a6}.final-cta>a{width:190px;height:190px;border-radius:50%;background:var(--ice);color:var(--ink);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;padding:28px}.final-cta>a span{font-family:'Playfair Display',serif;font-size:26px}.final-cta>a b{align-self:flex-end;font-size:26px}footer{padding:25px 5vw 45px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}footer b,footer small{display:block}footer a{color:var(--ink);text-decoration:none}@media(max-width:980px){.nav-center{display:none}.lens-nav nav{display:none}.menu-btn{display:block;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;border-radius:10px;padding:8px 12px}.lens-nav nav.open{display:flex;position:absolute;top:72px;right:0;flex-direction:column;align-items:stretch;background:#10191e;padding:14px;border-radius:14px}.story{grid-template-columns:1fr}.story-stats{grid-column:auto}.scene,.scene:nth-child(even){grid-template-columns:1fr}.scene:nth-child(even) div{order:2}.gallery-viewer{grid-template-columns:80px 1fr 80px}.essentials-head,.guide-head{grid-template-columns:1fr}.essentials-grid{grid-template-columns:1fr 1fr}.molyvos-band{grid-template-columns:1fr}.molyvos-photo{min-height:520px}}@media(max-width:640px){.lens-nav{top:10px;left:10px;right:10px;height:58px}.brand small{display:none}.hero{min-height:780px}.hero-axis{display:none}.hero-copy{left:22px;right:22px;bottom:210px}.hero-copy h1{font-size:68px}.hero-book{left:14px;right:14px;bottom:24px;width:auto}.hero-scroll{display:none}.story,.essentials,.guide{padding:90px 22px}.story-stats{grid-template-columns:1fr 1fr}.scenes{padding:10px 22px 90px}.scene{margin-bottom:60px;gap:20px}.scene img{height:390px;border-radius:18px}.scene h3{font-size:38px}.gallery-shell{padding:90px 14px}.gallery-head{display:block;padding:0 8px 28px}.gallery-hint{margin-top:15px}.gallery-viewer{grid-template-columns:1fr;position:relative}.gallery-stage{min-height:62vh}.gallery-nav{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(7,14,18,.55);backdrop-filter:blur(8px)}.gallery-nav small{display:none}.gallery-nav.prev{left:10px}.gallery-nav.next{right:10px}.thumb-rail{grid-template-columns:repeat(6,78px);overflow-x:auto}.thumb{height:58px}.essentials-grid{grid-template-columns:1fr}.molyvos-copy{padding:80px 22px}.molyvos-photo{min-height:400px}.guide-grid,.phone-grid{grid-template-columns:1fr}.final-cta{margin:0 14px 45px;padding:38px 24px;display:block}.final-cta h2{font-size:64px}.final-cta>a{margin-top:30px;width:155px;height:155px}}

/* ASM ANNA'S HOUSE — ADAPTIVE LAYOUT V1 */
.gallery-shell{
  padding:clamp(72px,8vw,118px) clamp(16px,3vw,46px) clamp(78px,8vw,110px);
}
.gallery-head{
  width:min(100%,1180px);
  margin:0 auto;
  padding:0 0 clamp(26px,3vw,42px);
}
.gallery-viewer{
  width:min(100%,1180px);
  margin:0 auto;
  grid-template-columns:clamp(54px,6vw,88px) minmax(0,1fr) clamp(54px,6vw,88px);
  gap:clamp(8px,1.2vw,16px);
}
.gallery-stage{
  width:100%;
  min-height:0;
  height:auto;
  aspect-ratio:16/10;
  max-height:640px;
  border-radius:clamp(16px,1.6vw,24px);
}
.gallery-stage img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.gallery-nav{
  min-width:0;
  border-radius:16px;
}
.thumb-rail{
  width:min(100%,1000px);
  margin:14px auto 0;
  gap:clamp(6px,.8vw,10px);
}
.thumb{
  height:clamp(54px,5vw,76px);
}
.gallery-stage figcaption{
  left:clamp(10px,1.4vw,18px);
  right:clamp(10px,1.4vw,18px);
  bottom:clamp(10px,1.4vw,18px);
  padding:clamp(10px,1.2vw,14px) clamp(12px,1.5vw,16px);
}
.gallery-stage strong{
  font-size:clamp(17px,1.6vw,22px);
}

/* Large desktop / ultrawide */
@media (min-width:1600px){
  .gallery-head,.gallery-viewer{width:min(76vw,1240px)}
  .gallery-stage{max-height:610px}
  .story,.essentials,.guide{max-width:1600px;margin-inline:auto}
}

/* Standard laptop */
@media (max-width:1366px){
  .gallery-head,.gallery-viewer{width:min(100%,1020px)}
  .gallery-stage{aspect-ratio:16/9;max-height:535px}
  .thumb-rail{width:min(100%,860px)}
  .scene img{height:clamp(420px,46vw,560px)}
}

/* Tablet / small laptop */
@media (max-width:1024px){
  .gallery-viewer{
    width:min(100%,860px);
    grid-template-columns:58px minmax(0,1fr) 58px;
    gap:10px;
  }
  .gallery-stage{
    aspect-ratio:4/3;
    max-height:520px;
  }
  .gallery-head{width:min(100%,860px)}
  .thumb-rail{width:min(100%,760px)}
}

/* Mobile landscape / tablet portrait */
@media (max-width:768px){
  .gallery-shell{padding:74px 14px 80px}
  .gallery-viewer{
    display:block;
    position:relative;
    width:100%;
  }
  .gallery-stage{
    aspect-ratio:4/3;
    max-height:none;
    min-height:0;
    border-radius:18px;
  }
  .gallery-nav{
    position:absolute;
    z-index:6;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    min-height:44px;
    border-radius:50%;
    background:rgba(7,14,18,.62);
    backdrop-filter:blur(8px);
  }
  .gallery-nav.prev{left:10px}
  .gallery-nav.next{right:10px}
  .gallery-nav small{display:none}
  .gallery-nav span{font-size:21px}
  .thumb-rail{
    grid-template-columns:repeat(6,68px);
    overflow-x:auto;
    width:100%;
    justify-content:start;
    scrollbar-width:none;
  }
  .thumb-rail::-webkit-scrollbar{display:none}
  .thumb{height:50px}
}

/* Phones */
@media (max-width:480px){
  .gallery-stage{
    aspect-ratio:5/4;
    border-radius:16px;
  }
  .gallery-stage figcaption{
    left:8px;
    right:8px;
    bottom:8px;
    padding:10px 11px;
    border-radius:12px;
  }
  .gallery-stage small{display:none}
  .gallery-counter{font-size:9px}
  .gallery-nav{
    width:40px;
    height:40px;
    min-height:40px;
  }
  .gallery-nav.prev{left:8px}
  .gallery-nav.next{right:8px}
  .thumb-rail{grid-template-columns:repeat(6,60px)}
  .thumb{height:44px;border-radius:8px}
  .hero-copy h1{font-size:clamp(54px,17vw,72px)}
}

/* Very small phones */
@media (max-width:360px){
  .gallery-shell{padding-inline:10px}
  .gallery-stage{aspect-ratio:1/1}
  .gallery-nav{width:36px;height:36px;min-height:36px}
  .thumb-rail{grid-template-columns:repeat(6,54px)}
  .thumb{height:40px}
}
