
    :root{
      --bone:#ffffff;
      --bone-2:#ffffff;
      --ink:#29221f;
      --muted:#7a706b;
      --primary:#3F6338;
      --primary-hover:#304c2b;
      --secondary:#652034;
      --gold:#b6955c;
      --line:#d9d0c5;
      --white:#ffffff;
      --shadow:0 22px 70px rgba(46,32,28,.12);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:var(--bone);
      color:var(--ink);
      font-family:"Jost",system-ui,sans-serif;
      font-weight:300;
      -webkit-font-smoothing:antialiased;
    }
    body.menu-open,body.modal-open{overflow:hidden}
    a{color:inherit;text-decoration:none}
    button,input{font:inherit}
    img{max-width:100%;display:block}
    .container{width:min(1240px,calc(100% - 48px));margin:auto}
    .eyebrow{
      text-transform:uppercase;
      letter-spacing:.22em;
      font-size:11px;
      font-weight:500;
    }
    .serif{font-family:"Playfair Display",Georgia,serif}
    .js .reveal{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}
    .js .reveal.in{opacity:1;transform:none}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      min-height:52px;padding:0 25px;border:1px solid transparent;
      text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:500;
      transition:.28s ease;cursor:pointer;
    }
    .btn-primary{background:var(--primary);color:var(--white);border-color:var(--primary)}
    .btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px)}
    .btn-outline{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.04);backdrop-filter:blur(10px)}
    .btn-outline:hover{background:#fff;color:var(--ink)}
    .btn-dark{background:var(--ink);color:white}
    .btn-light{background:var(--secondary);color:var(--white)}
    .link-arrow{display:inline-flex;gap:9px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:500}
    .link-arrow span{transition:transform .25s ease}
    .link-arrow:hover span{transform:translateX(4px)}

    /* NAV */
    .nav{
      position:fixed;inset:0 0 auto 0;height:84px;z-index:80;
      color:white;transition:background .4s ease,border-color .4s ease,color .4s ease,box-shadow .4s ease;
      border-bottom:1px solid transparent;
    }
    .nav.scrolled{background:var(--white);backdrop-filter:blur(16px);border-color:var(--line);color:var(--ink);box-shadow:0 4px 22px rgba(41,34,31,.04)}
    .nav-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}
    .nav-side{display:flex;align-items:center;gap:30px}
    .nav-side.right{justify-content:flex-end}
    .nav-link{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:400;white-space:nowrap;opacity:.88}
    .nav-link:hover{opacity:1}
    .wordmark{text-align:center;line-height:.9;white-space:nowrap}
    .wordmark strong{font-family:"Playfair Display",serif;font-weight:400;font-size:21px;letter-spacing:.16em}
    .wordmark small{display:block;margin-top:8px;font-size:9px;letter-spacing:.31em;text-transform:uppercase}
    .nav-cta{display:inline-flex;align-items:center;min-height:44px;border:1px solid currentColor;padding:11px 15px}
    .menu-btn{display:none;background:none;border:0;color:inherit;width:44px;height:44px;cursor:pointer}
    .menu-btn i,.menu-btn i:before,.menu-btn i:after{display:block;width:24px;height:1px;background:currentColor;position:relative;margin:auto;content:""}
    .menu-btn i:before{position:absolute;top:-7px}.menu-btn i:after{position:absolute;top:7px}
    .mobile-menu{position:fixed;inset:0;background:var(--bone);z-index:70;padding:110px 30px 40px;display:none}
    .mobile-menu.open{display:flex;flex-direction:column}
    .mobile-menu a{font-family:"Playfair Display",serif;font-size:34px;padding:12px 0;border-bottom:1px solid var(--line)}
    .mobile-menu .mobile-meta{margin-top:auto;font-size:13px;line-height:1.8;color:var(--muted)}

    /* HERO */
    .hero{height:auto;min-height:min(720px,74svh);padding:88px 0 48px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;color:white;background:#2d2322}
    .hero-media{position:absolute;inset:-4%;z-index:0}
    .hero-media img{width:100%;height:100%;object-fit:cover;animation:kenburns 14s linear forwards}
    @keyframes kenburns{from{transform:scale(1.12)}to{transform:scale(1)}}
    .hero-overlay{position:absolute;inset:0;background:
      linear-gradient(to bottom,rgba(35,20,19,.48) 0%,rgba(35,20,19,.17) 45%,rgba(35,20,19,.72) 100%),
      linear-gradient(90deg,rgba(68,24,39,.18),transparent 40%,rgba(0,0,0,.12))}
    .hero-noise{position:absolute;inset:0;opacity:.12;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}
    .hero-content{position:relative;z-index:2;text-align:center;width:min(900px,calc(100% - 40px))}
    .hero-logo{width:87px;height:87px;object-fit:contain;margin:0 auto 18px}
    .hero .eyebrow{margin-bottom:20px;opacity:.92}
    .hero h1{font-family:"Playfair Display",serif;font-size:clamp(50px,7vw,94px);line-height:.98;letter-spacing:-.025em;font-weight:400;margin:0 auto 22px;max-width:940px}
    .hero h1 em{font-weight:400}
    .hero p{font-size:17px;line-height:1.8;max-width:650px;margin:0 auto;color:rgba(255,255,255,.88)}
    .hero-actions{display:flex;justify-content:center;gap:13px;margin-top:28px}
    .hero-scroll{position:absolute;z-index:2;bottom:18px;left:50%;transform:translateX(-50%);width:1px;height:42px;background:rgba(255,255,255,.25);overflow:hidden}
    .hero-scroll:after{content:"";position:absolute;left:0;top:-20px;width:1px;height:22px;background:white;animation:scrollpulse 2.4s infinite ease-in-out}
    @keyframes scrollpulse{0%{top:-22px;opacity:.3}50%{opacity:1}100%{top:56px;opacity:.2}}

    /* INTRO */
    .intro{padding:130px 0;text-align:center}
    .intro .eyebrow{color:var(--primary);margin-bottom:24px}
    .intro h2{font-family:"Playfair Display",serif;font-size:clamp(30px,3.5vw,46px);font-weight:400;line-height:1.35;max-width:900px;margin:0 auto}
    .intro p{max-width:710px;margin:28px auto 0;color:var(--muted);font-size:16px;line-height:1.9}

    /* COLLECTION */
    .collection{padding:105px 0 120px;border-top:1px solid var(--line)}
    .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}
    .section-head .eyebrow{color:var(--primary);margin-bottom:14px}
    .section-head h2{font-family:"Playfair Display",serif;font-size:clamp(40px,4.3vw,58px);font-weight:400;line-height:1.05;margin:0}
    .section-head p{max-width:420px;color:var(--muted);line-height:1.8;margin:0}
    .collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px}
    .category-card{position:relative}
    .category-image{aspect-ratio:3/4;background:var(--bone-2);overflow:hidden;position:relative}
    .category-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(23,16,14,.42),transparent 48%);opacity:.5;transition:opacity .45s ease}
    .category-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
    .category-card:hover .category-image img{transform:scale(1.045)}
    .category-card:hover .category-image:after{opacity:.68}
    .category-number{position:absolute;top:17px;left:17px;z-index:2;color:white;font-size:10px;letter-spacing:.2em}
    .category-content{padding:20px 0 2px;text-align:center}
    .category-content h3{font-family:"Playfair Display",serif;font-size:26px;font-style:italic;font-weight:400;margin:0}
    .category-content p{font-size:13px;color:var(--muted);line-height:1.65;margin:8px auto 0;max-width:310px}
    .sweep{width:0;height:1px;background:var(--primary);margin:18px auto 0;transition:width .5s ease}
    .category-card:hover .sweep{width:64px}

    /* BRANDS — enabled from the inventory-aware data file */
    .brands{padding:108px 0 116px;border-top:1px solid var(--line);background:var(--white)}
    .brands[hidden]{display:none}
    .brands-head{text-align:center;margin:0 auto 54px}
    .brands-head .eyebrow{color:var(--primary);margin-bottom:14px}
    .brands-head h2{font-family:"Playfair Display",serif;font-size:clamp(40px,4.3vw,58px);font-weight:400;line-height:1.05;margin:0}
    .brand-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
    .brand-grid[data-count="1"]{grid-template-columns:1fr}
    .brand-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
    .brand-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
    .brand-grid[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
    .brand-grid[data-count="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
    .brand-link{min-height:164px;padding:30px 22px;display:flex;align-items:center;justify-content:center;background:var(--white);transition:background-color .25s ease,opacity .25s ease}
    .brand-link:hover{background:var(--bone-2)}
    .brand-link:focus-visible{position:relative;z-index:1;outline:2px solid var(--primary);outline-offset:-3px}
    .brand-logo{display:block;width:100%;height:86px;object-fit:contain;filter:brightness(0)}
    .brand-link[hidden]{display:none}
    .brands-more{display:block;margin:34px auto 0;border-color:var(--ink);background:transparent;color:var(--ink)}
    .brands-more[hidden]{display:none}
    .brands-more:hover{background:var(--ink);color:var(--white)}
    @media(max-width:1050px){.brand-grid,.brand-grid[data-count]{grid-template-columns:repeat(4,minmax(0,1fr))}.brand-grid[data-count="1"]{grid-template-columns:1fr}.brand-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
    @media(max-width:780px){.brands{padding:76px 0 82px}.brands-head{margin-bottom:36px}.brand-grid,.brand-grid[data-count]{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-link{min-height:132px;padding:24px 18px}.brand-logo{height:68px}}

    /* GUIDE */
    .guide{background:var(--bone-2);padding:120px 0}
    .guide-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}
    .guide-left{position:sticky;top:130px;align-self:start}
    .guide-left .eyebrow{color:var(--primary);margin-bottom:18px}
    .guide-left h2{font-family:"Playfair Display",serif;font-size:52px;font-weight:400;line-height:1.08;margin:0 0 24px}
    .guide-left p{color:var(--muted);line-height:1.85;max-width:420px}
    .accordion-item{border-bottom:1px solid #cfc5ba}
    .accordion-trigger{width:100%;padding:26px 0;background:none;border:0;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;color:var(--ink);cursor:pointer}
    .accordion-trigger .name{font-family:"Playfair Display",serif;font-size:23px;font-style:italic}
    .accordion-trigger .plus{width:24px;height:24px;position:relative}
    .accordion-trigger .plus:before,.accordion-trigger .plus:after{content:"";position:absolute;background:var(--primary);left:50%;top:50%;transform:translate(-50%,-50%);transition:.3s}
    .accordion-trigger .plus:before{width:14px;height:1px}
    .accordion-trigger .plus:after{height:14px;width:1px}
    .accordion-item.open .plus:after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
    .accordion-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
    .accordion-body>div{overflow:hidden}
    .accordion-item.open .accordion-body{grid-template-rows:1fr}
    .accordion-copy{padding:0 45px 27px 0;color:var(--muted);line-height:1.8}
    .accordion-copy strong{color:var(--ink);font-weight:500}


    /* VIBE & ENVIRONMENT */
    .vibe{padding:120px 0;background:var(--white);color:var(--ink);overflow:hidden}
    .vibe-head{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:end;margin-bottom:52px}
    .vibe .eyebrow{color:var(--secondary);margin-bottom:16px}
    .vibe h2{font-family:"Playfair Display",serif;font-size:clamp(46px,5.6vw,72px);font-weight:400;line-height:1.02;margin:0;max-width:700px}
    .vibe-head p{color:var(--muted);font-size:16px;line-height:1.85;margin:0;max-width:520px}
    .vibe-gallery{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;min-height:760px}
    .vibe-main,.vibe-tile{position:relative;overflow:hidden;background:#302522}
    .vibe-side{display:grid;grid-template-rows:1fr 1fr;gap:18px}
    .vibe-main img,.vibe-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.22,1,.36,1),filter .55s ease}
    .vibe-main:hover img,.vibe-tile:hover img{transform:scale(1.035);filter:brightness(.92)}
    .vibe-main:after,.vibe-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(24,16,14,.82) 0%,rgba(24,16,14,.08) 58%,rgba(24,16,14,.05) 100%)}
    .vibe-caption{color:var(--white);position:absolute;z-index:2;left:32px;right:32px;bottom:30px}
    .vibe-caption .index{display:block;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,253,249,.6);margin-bottom:10px}
    .vibe-caption h3{font-family:"Playfair Display",serif;font-size:31px;font-weight:400;margin:0 0 8px}
    .vibe-caption p{font-size:13px;line-height:1.7;color:rgba(255,253,249,.67);margin:0;max-width:470px}
    .vibe-main .vibe-caption{left:42px;right:42px;bottom:38px}
    .vibe-main .vibe-caption h3{font-size:42px}
    .vibe-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:18px;border:1px solid var(--line)}
    .vibe-detail{background:var(--white);padding:28px 30px}
    .vibe-detail strong{display:block;font-family:"Playfair Display",serif;font-size:21px;font-weight:400;margin-bottom:8px}
    .vibe-detail span{display:block;color:var(--muted);font-size:12px;line-height:1.7}
    .vibe-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:34px}
    .vibe-bottom p{max-width:680px;color:var(--muted);font-size:12px;line-height:1.7;margin:0}
    .vibe-bottom .btn{border-color:var(--secondary);background:transparent;color:var(--secondary)}
    .vibe-bottom .btn:hover{background:var(--secondary);color:var(--white)}
    @media(max-width:900px){
      .vibe-head{grid-template-columns:1fr;gap:24px}
      .vibe-gallery{grid-template-columns:1fr;min-height:0}
      .vibe-main{min-height:590px}
      .vibe-side{grid-template-columns:1fr 1fr;grid-template-rows:none}
      .vibe-tile{min-height:390px}
    }
    @media(max-width:780px){
      .vibe{padding:85px 0}
      .vibe-main{min-height:500px}
      .vibe-side{grid-template-columns:1fr}
      .vibe-tile{min-height:420px}
      .vibe-main .vibe-caption,.vibe-caption{left:22px;right:22px;bottom:22px}
      .vibe-main .vibe-caption h3{font-size:35px}
      .vibe-details{grid-template-columns:1fr}
      .vibe-bottom{align-items:flex-start;flex-direction:column}
    }

    /* VISIT */
    .visit{display:grid;grid-template-columns:1fr 1fr;min-height:720px;background:var(--white)}
    .visit-photo{position:relative;overflow:hidden;min-height:650px}
    .visit-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
    .visit-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(49,25,31,.08),rgba(0,0,0,.1))}
    .visit-copy{padding:90px clamp(40px,6vw,90px);display:flex;flex-direction:column;justify-content:center}
    .visit-copy .eyebrow{color:var(--primary);margin-bottom:17px}
    .visit-copy h2{font-family:"Playfair Display",serif;font-size:56px;font-weight:400;margin:0 0 30px}
    .visit-feature{padding:19px 0;border-top:1px solid var(--line)}
    .visit-feature:last-of-type{border-bottom:1px solid var(--line)}
    .visit-feature h3{font-family:"Playfair Display",serif;font-size:21px;font-weight:400;margin:0 0 6px}
    .visit-feature p{margin:0;color:var(--muted);line-height:1.7;font-size:14px}
    .address{margin:28px 0 23px;line-height:1.8}
    .address strong{font-weight:500}
    .visit-actions{display:flex;gap:10px;flex-wrap:wrap}
    .visit-note{font-size:12px;color:var(--muted);line-height:1.65;margin-top:17px}

    /* EXPERIENCE */
    .experience{padding:120px 0;background:var(--bone)}
    .experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:50px}
    .experience-card{background:var(--bone);padding:38px 34px 42px;min-height:300px;display:flex;flex-direction:column}
    .experience-card .num{font-family:"Playfair Display",serif;color:var(--primary);font-size:14px;margin-bottom:48px}
    .experience-card h3{font-family:"Playfair Display",serif;font-size:30px;font-weight:400;margin:0 0 15px}
    .experience-card p{color:var(--muted);line-height:1.8;margin:0}
    .experience-card .micro{margin-top:auto;padding-top:35px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--primary)}

    /* TRADE */
    .trade{background:var(--white);color:var(--ink);padding:120px 0}
    .trade-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end}
    .trade .eyebrow{color:var(--secondary);margin-bottom:17px}
    .trade h2{font-family:"Playfair Display",serif;font-size:clamp(45px,5vw,68px);font-weight:400;line-height:1.04;margin:0}
    .trade p{color:var(--muted);line-height:1.85;font-size:16px}
    .trade-rule{border-top:1px solid var(--line);margin-top:34px;padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:30px}
    .trade-rule strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:8px}
    .trade-rule span{color:var(--muted);font-size:14px;line-height:1.6}


    /* RECOGNITION */
    .recognition{padding:115px 0;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .recognition-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:48px}
    .recognition-intro .eyebrow{color:var(--primary);margin-bottom:14px}
    .recognition-intro h2{font-family:"Playfair Display",serif;font-size:clamp(42px,5vw,64px);font-weight:400;line-height:1.04;margin:0}
    .recognition-intro p{color:var(--muted);line-height:1.85;margin:0;max-width:530px}
    .recognition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
    .recognition-card{background:var(--white);padding:31px;min-height:250px;display:flex;flex-direction:column;transition:background .25s ease}
    .recognition-card:hover{background:var(--bone)}
    .recognition-card .source-type{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);font-weight:500}
    .recognition-card h3{font-family:"Playfair Display",serif;font-size:26px;font-weight:400;margin:18px 0 12px}
    .recognition-card p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 25px}
    .recognition-card .source-link{width:100%;min-height:44px;margin-top:auto;padding-top:12px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:500;display:inline-flex;align-items:center;gap:8px}
    .recognition-card .source-link span{transition:transform .25s ease}
    .recognition-card:hover .source-link span{transform:translateX(4px)}
    .recognition-card .source-link-unavailable{color:var(--muted);cursor:default}
    .recognition-footer{margin-top:27px;display:flex;justify-content:space-between;gap:30px;align-items:center}
    .recognition-footer p{margin:0;color:var(--muted);font-size:12px;line-height:1.7;max-width:700px}
    @media(max-width:900px){
      .recognition-intro{grid-template-columns:1fr;gap:22px}
      .recognition-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:780px){
      .recognition{padding:85px 0}
      .recognition-grid{grid-template-columns:1fr}
      .recognition-footer{align-items:flex-start;flex-direction:column}
    }

    /* INSTAGRAM */
    .instagram{padding:115px 0 125px}
    .insta-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}
    .insta-head h2{font-family:"Playfair Display",serif;font-size:52px;font-weight:400;margin:0}
    .insta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .insta-card{position:relative;aspect-ratio:1/1;overflow:hidden;background:#ddd}
    .insta-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .4s}
    .insta-card:hover img{transform:scale(1.05);filter:brightness(.74)}
    .insta-overlay{position:absolute;inset:0;padding:25px;display:flex;align-items:flex-end;background:linear-gradient(to top,rgba(31,20,18,.76),transparent 58%);color:white}
    .insta-overlay span{font-size:10px;text-transform:uppercase;letter-spacing:.18em}
    .insta-overlay h3{font-family:"Playfair Display",serif;font-weight:400;font-size:25px;margin:8px 0 0}

    /* FINAL CTA */
    .final-cta{background:var(--bone-2);padding:120px 24px;text-align:center}
    .final-cta .eyebrow{color:var(--primary);margin-bottom:18px}
    .final-cta h2{font-family:"Playfair Display",serif;font-size:clamp(48px,6vw,76px);font-weight:400;margin:0 0 20px}
    .final-cta p{color:var(--muted);font-size:16px;margin:0 auto 32px;max-width:590px;line-height:1.8}
    .final-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}


    /* MAP SECTION */
    .map-section{background:var(--bone);padding:105px 0 0}
    .map-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:36px}
    .map-head .eyebrow{color:var(--primary);margin-bottom:14px}
    .map-head h2{font-family:"Playfair Display",serif;font-size:clamp(42px,4.8vw,62px);font-weight:400;line-height:1.04;margin:0}
    .map-head p{color:var(--muted);line-height:1.8;margin:0;max-width:520px}
    .map-frame{position:relative;height:520px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ddd}
    .map-frame iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.8) contrast(.95)}
    .map-card{position:absolute;left:32px;bottom:32px;z-index:2;width:min(390px,calc(100% - 64px));background:var(--white);backdrop-filter:blur(18px);padding:26px;border:1px solid rgba(217,208,197,.95);box-shadow:0 18px 45px rgba(41,34,31,.16)}
    .map-card .eyebrow{color:var(--primary);margin-bottom:11px}
    .map-card h3{font-family:"Playfair Display",serif;font-size:27px;font-weight:400;margin:0 0 11px}
    .map-card p{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 18px}
    .map-actions{display:flex;gap:9px;flex-wrap:wrap}
    .map-actions .btn{min-height:46px;padding:0 18px}
    @media(max-width:780px){
      .map-section{padding:85px 0 0}
      .map-head{grid-template-columns:1fr;gap:20px}
      .map-frame{height:600px}
      .map-card{left:15px;right:15px;bottom:15px;width:auto;padding:22px}
    }

    /* FOOTER */
    footer{border-top:1px solid var(--line);padding:75px 0 32px;background:var(--bone)}
    .footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr 1fr;gap:55px}
    .footer-brand h3{font-family:"Playfair Display",serif;font-size:23px;font-weight:400;letter-spacing:.1em;margin:0 0 17px}
    .footer-brand p,.footer-col a,.footer-col p{font-size:13px;line-height:1.8;color:var(--muted)}
    .footer-col h4{font-size:10px;text-transform:uppercase;letter-spacing:.2em;font-weight:500;margin:4px 0 18px}
    .footer-col a{display:block;margin:4px 0}
    .newsletter{display:flex;border-bottom:1px solid var(--ink);padding:5px 0}
    .newsletter input{background:transparent;border:0;outline:0;padding:8px 0;width:100%;font-weight:300}
    .newsletter button{width:38px;border:0;background:transparent;font-size:19px;cursor:pointer;color:var(--primary)}
    .footer-visit-card{--x:0;--y:0;--light-x:50%;--light-y:42%;position:relative;display:block;width:100%;margin:58px auto 0;overflow:hidden;background:#17241d;border:1px solid var(--line);perspective:1600px;transform-style:preserve-3d;color:var(--white);isolation:isolate}
    .footer-visit-card::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(circle at var(--light-x) var(--light-y),rgb(255 255 255 / 18%),transparent 33%);opacity:0;transition:opacity 450ms ease}
    .footer-visit-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgb(14 20 16 / 68%) 0%,rgb(14 20 16 / 20%) 55%,rgb(14 20 16 / 48%) 100%),linear-gradient(0deg,rgb(8 12 9 / 64%) 0%,transparent 46%)}
    .footer-visit-card.is-interacting::before{opacity:1}
    .footer-parallax-background{position:relative;z-index:0;display:block;width:100%;height:auto;transform:translate3d(calc(var(--x) * -10px),calc(var(--y) * -8px),0) scale(1.045);transition:transform 450ms cubic-bezier(.2,.75,.25,1);will-change:transform}
    .footer-parallax-logo{position:absolute;z-index:3;top:7%;right:5%;width:clamp(72px,9vw,124px);height:auto;filter:drop-shadow(0 8px 18px rgb(0 0 0 / 30%));transform:translate3d(calc(var(--x) * 12px),calc(var(--y) * 9px),45px) rotateY(calc(var(--x) * 1.2deg));transition:transform 450ms cubic-bezier(.2,.75,.25,1);will-change:transform}
    .footer-parallax-content{position:absolute;z-index:3;left:clamp(24px,5vw,68px);top:50%;width:min(520px,58%);transform:translate3d(calc(var(--x) * -15px),calc(var(--y) * -11px),65px) translateY(-50%) rotateY(calc(var(--x) * 1.2deg));transition:transform 450ms cubic-bezier(.2,.75,.25,1);will-change:transform;text-shadow:0 2px 24px rgb(0 0 0 / 55%)}
    .footer-parallax-content .eyebrow{margin-bottom:14px;color:var(--white)}
    .footer-parallax-content h3{margin:0;font-family:"Playfair Display",serif;font-size:clamp(36px,5vw,68px);font-weight:400;line-height:1.02;letter-spacing:-.025em}
    .footer-parallax-content p{max-width:470px;margin:18px 0 0;font-size:clamp(13px,1.4vw,16px);line-height:1.7;color:rgb(255 255 255 / 82%)}
    .footer-parallax-cards{position:absolute;z-index:3;right:clamp(18px,4vw,50px);bottom:clamp(18px,4vw,46px);display:flex;gap:10px;transform:translate3d(calc(var(--x) * 5px),calc(var(--y) * 3px),20px);transition:transform 450ms cubic-bezier(.2,.75,.25,1);will-change:transform}
    .footer-parallax-card{padding:13px 16px;border:1px solid rgb(255 255 255 / 34%);background:rgb(255 255 255 / 13%);box-shadow:0 12px 35px rgb(0 0 0 / 18%);backdrop-filter:blur(13px);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--white)}
    .footer-visit-card:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
    .footer-bottom{margin-top:58px;padding-top:28px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.7}
    .footer-legal-row{display:flex;justify-content:space-between;align-items:center;gap:32px}
    .footer-copyright{margin:0}
    .footer-copyright strong{display:block;color:var(--ink);font-size:13px;font-weight:500;margin-bottom:4px}
    .footer-support{display:flex;align-items:baseline;justify-content:flex-end;gap:20px;flex-wrap:wrap;font-size:12px}
    .footer-credit{white-space:nowrap}

    .footer-credit a{font:inherit;color:var(--primary);text-underline-offset:3px;text-decoration-thickness:1px}
    .footer-credit a:hover,.footer-credit a:focus-visible{text-decoration:underline;color:var(--secondary)}
    .footer-meta-row{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:24px;font-size:11px}
    .footer-responsibility{margin:0;max-width:650px}
    .footer-release{margin:0;font:inherit}
    .footer-release span{color:inherit}

    /* AGE MODAL */
    .age-gate{position:fixed;inset:0;z-index:120;background:rgba(28,20,18,.82);backdrop-filter:blur(12px);display:grid;place-items:center;padding:20px}
    .age-gate.hidden{display:none}
    .age-card{width:min(560px,100%);background:var(--bone);padding:48px;text-align:center;box-shadow:var(--shadow)}
    .age-mark{width:64px;height:64px;border:1px solid var(--primary);border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;font-family:"Playfair Display",serif;color:var(--primary);font-size:21px}
    .age-card .eyebrow{color:var(--primary);margin-bottom:16px}
    .age-card h2{font-family:"Playfair Display",serif;font-size:40px;font-weight:400;margin:0 0 15px}
    .age-card p{color:var(--muted);line-height:1.75;margin:0 auto 26px;max-width:430px}
    .age-actions{display:flex;gap:10px;justify-content:center}

    @media(max-width:1050px){
      .nav-side .nav-link:nth-child(3){display:none}
      .collection-grid{grid-template-columns:repeat(2,1fr)}
      .guide-grid{gap:60px}
      .footer-grid{grid-template-columns:1.1fr .7fr .7fr}
      .footer-col.news{grid-column:1/-1}
    }
    @media(max-width:780px){
      .container{width:min(100% - 30px,1240px)}
      .nav{height:68px}
      .nav-inner{grid-template-columns:1fr auto}
      .nav-side{display:none}
      .wordmark{text-align:left}
      .wordmark strong{font-size:18px}
      .wordmark small{font-size:8px}
      .menu-btn{display:block}
      .hero{min-height:min(680px,84svh);padding:76px 0 38px}
      .hero-logo{width:67px;height:67px;margin-bottom:18px}
      .hero h1{font-size:clamp(45px,13vw,66px)}
      .hero p{font-size:15px;line-height:1.72}
      .hero-actions{flex-direction:column;width:100%;max-width:390px;margin-left:auto;margin-right:auto}
      .hero-actions .btn{width:100%}
      .hero-scroll{display:none}
      .intro,.collection,.experience,.instagram,.trade{padding:85px 0}
      .section-head,.insta-head{display:block}
      .section-head p{margin-top:20px}
      .collection-grid{grid-template-columns:1fr}
      .category-image{aspect-ratio:4/5}
      .guide{padding:85px 0}
      .guide-grid{grid-template-columns:1fr;gap:35px}
      .guide-left{position:static}
      .guide-left h2{font-size:42px}
      .visit{grid-template-columns:1fr}
      .visit-photo{min-height:480px}
      .visit-copy{padding:65px 28px}
      .visit-copy h2{font-size:46px}
      .experience-grid{grid-template-columns:1fr}
      .experience-card{min-height:250px}
      .experience-card .num{margin-bottom:30px}
      .trade-grid{grid-template-columns:1fr;gap:42px}
      .trade-rule{grid-template-columns:1fr}
      .insta-head .link-arrow{margin-top:18px}
      .insta-grid{grid-template-columns:1fr}
      .final-cta{padding:90px 20px}
      .footer-grid{grid-template-columns:1fr;gap:30px}
      .footer-col.news{grid-column:auto;order:-1}
      .footer-visit-card{margin-top:38px}
      .footer-parallax-content{left:22px;top:auto;bottom:80px;width:calc(100% - 44px);transform:none;text-shadow:0 2px 18px rgb(0 0 0 / 70%)}
      .footer-parallax-content .eyebrow{margin-bottom:8px}
      .footer-parallax-content h3{font-size:clamp(31px,9vw,44px)}
      .footer-parallax-content p{display:none}
      .footer-parallax-logo{top:18px;right:18px;width:66px;transform:none}
      .footer-parallax-cards{left:14px;right:14px;bottom:14px;transform:none}
      .footer-parallax-card{flex:1;padding:10px 11px;font-size:9px;text-align:center}
      .footer-bottom{margin-top:38px;padding-top:24px}
      .footer-legal-row{align-items:flex-start;flex-direction:column;gap:22px}
      .footer-meta-row{align-items:flex-start;flex-direction:column;gap:12px;margin-top:22px}
      .footer-support{justify-content:flex-start;gap:8px 20px}
      .age-card{padding:38px 24px}
      .age-actions{flex-direction:column}
      .age-actions .btn{width:100%}
    }

    /* Shared public-page layout */
    html{scroll-padding-top:100px}
    .skip-link{position:fixed;top:12px;left:16px;z-index:150;transform:translateY(-150%);padding:12px 20px;background:white;color:var(--primary);border:1px solid currentColor}
    .skip-link:focus{transform:none}
    .inner-page .nav{background:var(--white);color:var(--ink);border-color:var(--line)}
    .nav-link[aria-current="page"]{color:var(--primary);opacity:1;text-decoration:underline;text-underline-offset:7px}
    .page-intro{padding:150px 0 64px;border-bottom:1px solid var(--line);background:white}
    .breadcrumbs{display:flex;gap:12px;align-items:center;margin-bottom:42px;font-size:11px;color:var(--muted);letter-spacing:.06em}
    .breadcrumbs a{color:var(--primary)}
    .page-intro .eyebrow{color:var(--secondary);margin-bottom:18px}
    .page-intro h1{font-family:"Playfair Display",serif;font-size:clamp(48px,6vw,80px);font-weight:400;line-height:1.06;letter-spacing:-.025em;margin:0;max-width:900px}
    .page-intro p{font-size:17px;line-height:1.85;color:var(--muted);max-width:660px;margin:24px 0 0}
    .page-intro .page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
    .public-note{padding:64px 0 80px;border-top:1px solid var(--line)}
    .public-note h2{font-family:"Playfair Display",serif;font-size:36px;font-weight:400;margin:0 0 20px}
    .public-note p,.public-note li{color:var(--muted);line-height:1.9;max-width:700px}
    .public-note ul{padding-left:20px;margin-bottom:28px}
    .store-follow{display:inline-block;margin-top:12px!important;color:var(--primary)!important;text-decoration:underline;text-underline-offset:5px}
    .error-page{min-height:72svh;padding:150px 0 85px}
    .error-layout{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:70px}
    .error-number{font-family:"Playfair Display",serif;font-size:clamp(110px,19vw,250px);color:var(--primary);line-height:1}
    .error-copy .eyebrow{color:var(--secondary)}
    .error-copy h1{font-family:"Playfair Display",serif;font-size:clamp(40px,5vw,66px);font-weight:400;line-height:1.08;margin:20px 0}
    .error-copy p{color:var(--muted);line-height:1.8;max-width:470px}
    .error-copy .page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
    .mobile-menu{overflow-y:auto}
    @media(max-width:780px){
      .page-intro{padding:110px 0 44px}
      .breadcrumbs{margin-bottom:30px}
      .page-intro p{font-size:15px}
      .error-page{padding:110px 0 60px}
      .error-layout{grid-template-columns:1fr;gap:28px}
      .public-note{padding:48px 0 60px}
    }
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.footer-parallax-background{transform:scale(1.045)}.footer-parallax-content{transform:translateY(-50%)}.footer-parallax-logo,.footer-parallax-cards{transform:none}}
    @media(max-width:780px) and (prefers-reduced-motion:reduce){.footer-parallax-content{transform:none}}

    /* Practical shop information */
    .shop-questions{padding:90px 0;border-top:1px solid var(--line);background:var(--white)}
    .question-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
    .question-layout .eyebrow{color:var(--secondary);margin-bottom:18px}
    .question-layout h2{font-family:"Playfair Display",serif;font-size:clamp(34px,4vw,48px);font-weight:400;line-height:1.12;margin:0 0 24px}
    .question-layout p{color:var(--muted);font-size:15px;line-height:1.85}
    .question-layout a,.archive-note a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
    .question-list details{border-bottom:1px solid var(--line);padding:22px 0}
    .question-list details:first-child{padding-top:0}
    .question-list summary{cursor:pointer;font-size:17px;font-weight:400;color:var(--ink);line-height:1.5}
    .question-list details p{margin-bottom:0}
    .archive-note{padding-top:24px;padding-bottom:48px;font-size:12px;line-height:1.8;color:var(--muted)}
    @media(max-width:780px){.shop-questions{padding:60px 0}.question-layout{grid-template-columns:1fr;gap:28px}}

    .visit-film{padding:48px 24px;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
    .store-video-grid{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
    .store-video-card{aspect-ratio:9/16;overflow:hidden;background:var(--bone-2)}
    .store-video{display:block;width:100%;height:100%;object-fit:cover;background:var(--bone-2)}
    @media(max-width:780px){
      .visit-film{padding:28px 0 24px;overflow:hidden}
      .store-video-grid{width:100%;display:flex;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:15px;padding:0 15px 10px;scrollbar-width:thin;scrollbar-color:var(--primary) var(--bone-2)}
      .store-video-card{flex:0 0 min(78vw,320px);scroll-snap-align:start}
    }

    .footer-logo-link{display:block;width:140px;margin:-18px 0 14px}
    .footer-logo{display:block;width:140px;height:140px;object-fit:contain;border-radius:50%}
