/* Layout: editorial spa page after the reference. Thin contrast caps around photos, beige ground with near-white bands, ink type, taupe brand accent. */
:root{
  --bg:#f1e4dc;        /* brand beige */
  --bg-2:#fdf9f6;      /* near-white band */
  --card:#f6ece6;      /* journal card */
  --primary:#a78f75;   /* brand / logo */
  --ink:#1c1714;
  --ink-2:#5e534c;
  --mute:#cdbfb5;      /* text before scroll fill */
  --line:rgba(28,23,20,.14);
  --f-d:"Italiana","Cormorant Garamond",Georgia,serif;
  --f-logo:"Cormorant Garamond",Georgia,serif;
  --f-b:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,.8,.2,1);
  --gold:#d2a73a;
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .62  0 0 0 0 .5  0 0 0 0 .42  0 0 0 .11 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
*{box-sizing:border-box}
html{overflow-x:hidden}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-b);font-weight:300;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.wrap{max-width:1720px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.d{font-family:var(--f-d);font-weight:400;text-transform:uppercase;line-height:.98;letter-spacing:.005em;margin:0}
.eyebrow{font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.mask{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.mask > span{display:inline-block}
.ch{display:inline-block;white-space:pre}
.w{display:inline-block}

/* pill button: black fill slides in from the left */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:54px;padding:0 32px;border:1px solid var(--ink);border-radius:999px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;overflow:hidden;isolation:isolate;transition:color .5s var(--ease)}
.btn:before{content:"";position:absolute;inset:-1px;background:var(--ink);border-radius:999px;transform:translateX(-101%);transition:transform .6s var(--ease);z-index:-1}
.btn:hover{color:var(--bg-2)}
.btn:hover:before{transform:none}

/* logo */
.logo{display:inline-flex;flex-direction:column;align-items:center;color:var(--primary);line-height:1}
.logo b{font-family:var(--f-logo);font-weight:500;font-size:38px;letter-spacing:.07em}
.logo small{font-family:var(--f-logo);font-weight:500;font-size:9.5px;letter-spacing:.44em;padding-left:.44em;margin-top:3px}
.logo i{display:flex;align-items:center;gap:4px;width:100%;margin-top:4px}
.logo i:before,.logo i:after{content:"";flex:1;height:1px;background:currentColor;opacity:.75}
.logo svg{width:6px;height:6px;fill:currentColor}

/* ================= header ================= */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--bg)}
.hdr{position:fixed;left:0;right:0;top:env(safe-area-inset-top,0px);z-index:50;transition:transform .6s var(--ease),background .4s}
.hdr.up{transform:translateY(-110%)}
.hdr.solid{background:rgba(241,228,220,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hdr-in{display:flex;align-items:center;height:92px;max-width:1800px;margin:0 auto;padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}
.hdr .cat{position:relative;margin-left:40px}
.hdr .cat > button{display:flex;align-items:center;gap:4px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.hdr .cat > button i{font-size:11px;transition:transform .4s}
.hdr .cat:hover > button i{transform:rotate(180deg)}
.mega{position:absolute;top:calc(100% + 22px);left:-24px;width:600px;padding:20px;background:var(--bg-2);border-radius:20px;box-shadow:0 30px 60px -30px rgba(28,23,20,.25);display:grid;grid-template-columns:repeat(3,1fr);gap:14px;opacity:0;visibility:hidden;transform:translateY(10px);transition:.45s var(--ease)}
.hdr .cat:hover .mega,.hdr .cat:focus-within .mega{opacity:1;visibility:visible;transform:none}
.mega a{display:grid;gap:8px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.mega figure{margin:0;overflow:hidden;border-radius:12px;aspect-ratio:4/3}
.mega img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mega a:hover img{transform:scale(1.08)}
.nav{display:flex;gap:40px;margin:0 auto;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.nav a{position:relative;display:flex;align-items:center;gap:6px}
.nav a.on:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--ink)}
.nav > a span,.dd > a span{position:relative;display:block;overflow:hidden;height:1.6em;line-height:1.6em}
.nav > a span em,.dd > a span em{display:block;font-style:normal;transition:transform .5s var(--ease)}
.nav > a span em:after,.dd > a span em:after{content:attr(data-t);display:block}
.nav > a:hover span em,.dd > a:hover span em{transform:translateY(-50%)}
.act{display:flex;align-items:center;gap:10px}
.act .ic{width:40px;height:40px;display:grid;place-items:center;font-size:20px;border-radius:50%;transition:background .3s}
.act .ic:hover{background:rgba(167,143,117,.2)}
.act .sep{width:1px;height:16px;background:var(--line)}
.book{display:flex;align-items:center;background:rgba(255,255,255,.55);border-radius:999px;padding:3px;margin-left:6px}
.book .u{width:34px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:18px;margin-left:6px}
.book .t{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:0 16px 0 2px;white-space:nowrap}
.book{transition:background .4s var(--ease)}
.book:hover{background:#fff}
.book .go{width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--bg-2);display:grid;place-items:center;font-size:15px;transition:transform .5s var(--ease)}
.book:hover .go{transform:rotate(-45deg)}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:50%;background:var(--ink);position:relative}
.burger span{position:absolute;left:14px;right:14px;height:1.5px;background:var(--bg-2);transition:transform .55s var(--ease),top .55s var(--ease),right .55s var(--ease)}
.burger span:nth-child(1){top:18px}
.burger span:nth-child(2){top:26px;right:20px}
.m-open .burger{background:var(--primary)}
.m-open .burger span:nth-child(1){top:22px;transform:rotate(45deg)}
.m-open .burger span:nth-child(2){top:22px;right:14px;transform:rotate(-45deg)}
.m-open .hdr{transform:none!important;background:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none;z-index:90;transition:transform .6s var(--ease),background .35s .05s}
.m-open .hdr .logo{color:var(--primary)}


/* services dropdown */
.dd{position:relative}
.dd > a{display:flex;align-items:center;gap:5px}
.dd-c{font-size:11px;transition:transform .4s var(--ease)}
.dd:hover .dd-c,.dd:focus-within .dd-c{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 24px);left:50%;width:640px;margin-left:-320px;padding:12px;grid-template-columns:1fr 1fr;background:var(--bg-2);border-radius:18px;box-shadow:0 30px 60px -28px rgba(28,23,20,.3);display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(12px);transition:.45s var(--ease);text-transform:none;letter-spacing:0}
.dd-menu:before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu a{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;transition:background .3s}
.dd-menu a:hover{background:var(--bg)}
.dd-menu a > i:first-child{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:19px;background:var(--bg);color:var(--primary);transition:background .3s,color .3s}
.dd-menu a:hover > i:first-child{background:var(--ink);color:var(--bg-2)}
.dd-menu span{flex:1;font-size:15px;font-weight:500;line-height:1.25}
.dd-menu small{display:block;font-size:12.5px;font-weight:300;color:var(--ink-2);margin-top:2px}
.dd-menu .go{font-size:16px;opacity:0;transform:translate(-6px,6px);transition:.4s var(--ease)}
.dd-menu a:hover .go{opacity:1;transform:none}
.dd-menu a:nth-child(n){transition-delay:0s}


/* video popup */
[hidden]{display:none!important}
.vm{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.vm-bg{position:absolute;inset:0;background:rgba(28,23,20,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .5s var(--ease)}
.vm.open .vm-bg{opacity:1}
.vm-box{position:relative;display:grid;gap:12px;opacity:0;transform:translateY(30px) scale(.96);transition:opacity .6s var(--ease),transform .7s var(--ease)}
.vm.open .vm-box{opacity:1;transform:none}
.vm video{display:block;height:min(78vh,900px);width:auto;max-width:92vw;object-fit:contain;border-radius:14px;background:#000}
.vm-cap{display:flex;align-items:center;justify-content:space-between;color:var(--bg);font-family:var(--f-d);font-size:22px;text-transform:uppercase}
.vm-x{width:44px;height:44px;border-radius:50%;border:1px solid rgba(241,228,220,.35);color:var(--bg);display:grid;place-items:center;font-size:18px;transition:background .3s,color .3s}
.vm-x:hover{background:var(--bg);color:var(--ink)}


/* ================= preloader ================= */
.pl{position:fixed;inset:0;z-index:300;background:var(--grain),var(--pl-bg,var(--bg));display:grid;place-items:center;clip-path:inset(0% 0% 0% 0% round 0% 0% 0% 0%)}
.is-loading,.is-loading body{overflow:hidden}
.pl-logo{display:flex;flex-direction:column;align-items:center;color:var(--primary);line-height:1;font-size:clamp(84px,13vw,200px)}
.pl-logo b{display:flex;overflow:hidden;font-family:var(--f-logo);font-weight:500;font-size:1em;letter-spacing:.06em;padding:0 0 .04em .06em}
.pl-logo b span{display:inline-block}
.pl-logo small{font-family:var(--f-logo);font-weight:500;font-size:.105em;letter-spacing:.5em;padding-left:.5em;margin-top:.1em}
.pl-rule{display:flex;align-items:center;gap:.06em;width:100%;margin-top:.16em}
.pl-rule em{flex:1;height:1px;background:currentColor;transform:scaleX(0)}
.pl-rule em:first-child{transform-origin:right center}
.pl-rule em:last-child{transform-origin:left center}
.pl-rule svg{width:.075em;height:.075em;fill:currentColor;flex:none}
.pl-foot{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:0 max(24px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + clamp(22px,3vw,40px)) max(24px,env(safe-area-inset-left,0px))}
.pl-tag{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--pl-fg2,var(--ink-2))}
.pl-n{font-family:var(--f-d);font-size:clamp(48px,6vw,96px);line-height:.8;color:var(--pl-fg,var(--ink));font-variant-numeric:tabular-nums}
.pl-n sup{font-size:.35em;vertical-align:top;margin-left:.08em}
@media (max-width:600px){ .pl-tag{max-width:16ch;line-height:1.5} }
.pl-c{position:fixed;inset:0;z-index:299;background:var(--primary)}
/* page transition panel: same look as the preloader, so the next page opens from it seamlessly */
.pt{position:fixed;inset:0;z-index:310;background:var(--grain),var(--pl-bg,var(--bg));display:grid;place-items:center;clip-path:inset(100% 0% 0% 0%);will-change:clip-path;pointer-events:all}
.pl-skip .pl,.pl-skip .pl-c{display:none!important}
/* arriving through a page transition on a page without the preloader: the panel covers the page until it opens */
.pt-arrive:not(.is-loading) .pt-in{clip-path:inset(0% 0% 0% 0%)}
.pt-img{display:block;width:clamp(240px,28vw,460px);height:auto;opacity:.18}


/* real logo image */
.logo .logo-img{display:block;height:58px;width:auto}
.logo-sm .logo-img{height:clamp(34px,2.6vw,46px)}
.m-open .hdr .logo .logo-img{filter:none}
.f-mark{display:flex;justify-content:center;width:100%;margin:clamp(60px,6vw,100px) auto 0}
.f-mark-in{display:block;overflow:hidden}
.f-mark-img{display:block;width:clamp(280px,32vw,560px);height:auto}
.pl-logo{display:block}
.pl-mask{display:block;overflow:hidden}
.pl-img{display:block;width:clamp(240px,28vw,460px);height:auto}
@media (max-width:820px){ .logo .logo-img{height:48px} }

/* ================= hero ================= */
/* Desktop: every element is placed on a stage measured from the reference (units = % of stage width) */
.hero{position:relative;padding-top:92px;padding-bottom:2cqw;background:var(--grain),linear-gradient(180deg,var(--bg) 0%,var(--bg) 70%,#f5ece6 100%)}
.hs{position:relative;max-width:min(1920px,calc((100vh - 112px) * 1.72));max-width:min(1920px,calc((100svh - 112px) * 1.72));margin:0 auto;container-type:inline-size}
@media (min-width:1000px){ .hero{min-height:100vh;min-height:100svh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding-top:92px;padding-bottom:20px} .hs{width:100%} }
.hs-stage{position:relative;height:57cqw}
.hs-title{position:absolute;left:0;right:0;top:3.4cqw;font-size:7.6cqw;line-height:1.06;z-index:1}
.hs-title .mask{padding:0;margin:0}
.hs-title .l1,.hs-title .l2{width:77.2cqw;text-align:center}
.hs-title .l3,.hs-title .l4{padding-left:35.9cqw;text-align:left}
.hs-img1{position:absolute;left:20.2cqw;top:20.6cqw;width:11.1cqw;height:16.1cqw;overflow:hidden}
.hs-img1 img,.hs-img2 img{width:100%;height:100%;object-fit:cover}
.swoosh{position:absolute;left:55.1cqw;top:20.9cqw;width:23.6cqw;height:auto;color:var(--ink);pointer-events:none}
.badge{position:absolute;left:85.8cqw;top:3.2cqw;width:12.5cqw;aspect-ratio:1;display:grid;place-items:center;z-index:2;border-radius:50%;background:#ecd6c9}
.badge svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--ink)}
.badge text{font-family:var(--f-b);font-size:9px;letter-spacing:.3em;text-transform:uppercase;font-weight:500}
.badge text{font-size:7.6px;letter-spacing:.12em}
.badge-in{width:62%;aspect-ratio:1;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;align-content:center;gap:.15em;font-size:max(12px,1.05cqw);transition:transform .6s var(--ease)}
.badge-in i{font-size:1.9em;color:var(--gold)}
.badge-in b{color:var(--gold)}
.crew-logo{display:block;height:auto;object-fit:contain}
.crew-logo-sm{width:42%;max-height:40%}
.crew-brand{display:flex;align-items:center;gap:16px}
.crew-brand .crew-logo{width:clamp(64px,6vw,96px)}
.crew-brand > i{font-size:clamp(34px,3vw,48px);color:var(--gold)}
.crew-txt h2{color:var(--gold)}
.crew-pct{color:var(--gold)!important}
.badge-in b{font-family:var(--f-d);font-weight:400;font-size:1.7em;line-height:1}
.badge:hover .badge-in{transform:scale(1.07)}
.hs-img2{position:absolute;left:36.4cqw;top:38.6cqw;width:11.1cqw;height:14.6cqw;overflow:hidden}
.hs-info{position:absolute;left:51.1cqw;top:38.9cqw;width:14cqw}
.hs-info .t{display:flex;gap:.9cqw;align-items:flex-start;font-size:max(13px,1.07cqw);line-height:1.4;font-weight:400}
.hs-info .t i{font-size:max(17px,1.35cqw);margin-top:.1em}
.hs-info .t span:before{content:"";display:inline-block;width:1.4em;height:1px;background:var(--ink);vertical-align:middle;margin-right:.6em}
.hs-info .roll{font-size:max(36px,3.4cqw);margin-top:2.4cqw}
.hs-info small{display:block;font-size:max(12px,.95cqw);color:var(--ink-2);margin-top:.5cqw}
.hs-copy{position:absolute;left:67.8cqw;top:38.9cqw;width:17cqw}
.hs-copy p{margin:0 0 3cqw;font-size:max(13px,1.07cqw);line-height:1.5;color:var(--ink)}
.hs-copy .btn{height:max(44px,3.6cqw);padding:0 max(24px,2.3cqw)}
.side{position:absolute;left:max(24px,2cqw);top:36cqw;display:flex;flex-direction:column;align-items:center;gap:16px}
.side span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;letter-spacing:.16em}
.side em{width:1px;height:46px;background:var(--line);position:relative;overflow:hidden}
.side em:after{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;background:var(--ink);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{to{top:100%}}
.side b{width:5px;height:5px;border:1px solid var(--ink);border-radius:50%}
.side b+b{background:var(--ink)}
.roll{display:inline-flex;align-items:flex-start;font-family:var(--f-d);font-size:clamp(52px,4.6vw,84px);line-height:1;height:1em;overflow:hidden}
.roll .col{display:flex;flex-direction:column;width:.56em;text-align:center}
.roll .col span{height:1em;display:block}
.roll .suf{display:block}

/* Tablet and phone: stacked layout */
@media (max-width:999px){
  .hero{padding-top:100px;padding-bottom:70px}
  .hs{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
  .hs-stage{height:auto;display:flex;flex-direction:column}
  .hs-stage > *{position:static!important;width:auto!important;height:auto!important}
  .hs-title{order:1;font-size:clamp(34px,10vw,72px);text-align:center}
  .hs-title .l1,.hs-title .l2,.hs-title .l3,.hs-title .l4{width:auto;padding-left:0;text-align:center}
  .hs-img1{order:3;margin-top:0}
  .hs-img1 img{aspect-ratio:4/5;max-height:70vh}
  .swoosh,.hs-img2,.side{display:none!important}
  .badge{order:2;align-self:flex-end;width:118px!important;height:118px!important;margin:18px 10px -72px 0;z-index:3}
  .badge-in{font-size:12px}
  .hs-info{order:4;margin-top:30px}
  .hs-info .t{font-size:16px;gap:10px}
  .hs-info .roll{font-size:48px;margin-top:20px}
  .hs-info small{font-size:14px}
  .hs-copy{order:5;margin-top:26px}
  .hs-copy p{font-size:16px;margin-bottom:22px;color:var(--ink-2)}
}

/* ================= intro ================= */
.intro{background:var(--grain),var(--bg-2);padding-block:clamp(110px,9vw,170px) clamp(100px,8vw,150px)}
.i-top{display:grid;grid-template-columns:clamp(280px,22vw,380px) 1fr;gap:clamp(60px,6vw,120px);max-width:1560px;margin:0 auto}
.i-meta .row{display:flex;align-items:center;gap:10px}
.i-meta .logo b{font-size:24px}
.i-meta .logo small{font-size:6px}
.i-meta .row:before{content:"";order:2;width:14px;height:1px;background:var(--ink)}
.i-meta .row .av{order:3;display:flex}
.av img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--bg-2);margin-left:-10px}
.av img:first-child{margin-left:0}
.i-meta .roll{font-size:clamp(52px,4.4vw,78px);margin:14px 0 0 86px}
.i-meta p{margin:6px 0 0 86px;font-size:17px;line-height:1.35;font-weight:400}
.i-big{font-size:clamp(34px,4.9vw,86px);line-height:1.04}
.i-big .w{color:var(--mute)}
.i-bot{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(60px,7vw,140px);align-items:center;max-width:1560px;margin:70px auto 0}
.cap{position:relative;padding:18px 26px}
.cap svg.arc{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cap svg.arc rect{fill:none;stroke:var(--ink);stroke-width:1;stroke-dasharray:420 2000;transition:stroke-dashoffset 1.4s var(--ease)}
.cap-in{position:relative;border-radius:999px;overflow:hidden;aspect-ratio:2/1;background:var(--card)}
.cap-slide{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.cap-slide img{width:100%;height:100%;object-fit:cover}
.cap-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.cap-dots button{width:5px;height:5px;border-radius:50%;background:var(--mute);transition:.4s}
.cap-dots button.on{background:var(--ink)}
.i-txt{display:grid;gap:20px;max-width:520px}
.i-txt header{display:flex;align-items:center;gap:10px}
.i-txt header .logo b{font-size:22px}
.i-txt header .logo small{font-size:5.5px}
.i-txt header p{margin:0;font-weight:500;font-size:17px;line-height:1.3;display:flex;gap:8px;align-items:flex-start}
.i-txt header p:before{content:"";width:14px;height:1px;background:var(--ink);margin-top:.65em}
.i-txt > p{margin:0;font-size:18px;color:var(--ink-2)}

/* ================= services ================= */
.svc{padding-block:clamp(110px,9vw,170px) clamp(100px,8vw,150px);background:var(--grain),var(--bg);overflow:hidden}
.s-head{display:grid;justify-items:center;text-align:center;gap:14px}
.s-head h2{font-size:clamp(38px,5.4vw,96px)}
.vl{width:1px;height:64px;background:var(--ink);transform-origin:top;margin-top:8px}
.s-ring{position:absolute;left:50%;top:calc(var(--w2) * -.28);width:calc(var(--w2) * 2.06);margin-left:calc(var(--w2) * -1.03);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 17%,transparent 30%,transparent 72%,#000 84%,#000 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 17%,transparent 30%,transparent 72%,#000 84%,#000 100%);aspect-ratio:1;pointer-events:none;z-index:0}
.s-ring circle{fill:none;stroke:rgba(28,23,20,.1)}
.sl .box,.sl .s-txt{position:relative;z-index:1}
.sl{--w1:clamp(220px,17vw,330px);--w2:clamp(340px,27vw,520px);--g:clamp(50px,5vw,100px);width:max-content;max-width:100%;margin-inline:auto;display:grid;grid-template-columns:var(--w1) var(--w2) clamp(270px,21vw,410px);justify-content:center;gap:var(--g);margin-top:40px;position:relative}
.box{position:relative;overflow:hidden;background:rgba(167,143,117,.12)}
.box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.b1{width:100%;aspect-ratio:1;margin-top:0}
.b2{width:100%;aspect-ratio:2/3}
.b3{display:block;padding:0;border:0;width:100%;aspect-ratio:3/2;cursor:pointer}
.b3 .play{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:var(--bg-2);display:grid;place-items:center;font-size:12px;z-index:5;transition:transform .5s var(--ease)}
.b3:hover .play{transform:scale(1.25)}
.b3:after{content:"";position:absolute;inset:0;background:rgba(28,23,20,.14);z-index:4;pointer-events:none}
.s-txt{display:flex;flex-direction:column;align-self:stretch}
.s-txt h3{font-size:clamp(28px,2.2vw,42px);line-height:1.05;min-height:2.2em}
.s-txt p{margin:auto 0 0;padding-top:30px;font-size:17px;line-height:1.55;color:var(--ink-2);min-height:5.2em}
.s-txt .roll{font-size:clamp(44px,3.6vw,66px);margin:14px 0 22px}
.s-txt .roll .pre{display:block;font-family:var(--f-b);font-size:.26em;letter-spacing:.14em;font-weight:500;margin:.35em 8px 0 0;line-height:1}
.s-price{display:flex;align-items:center;gap:14px;margin:14px 0 22px}
.s-price .roll{margin:0!important}
.sl-lbl{font-size:12px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.pg{display:flex;justify-content:center;margin-top:22px;position:relative;z-index:1}
.pg button{font-family:var(--f-d);font-size:38px;line-height:1;position:relative;padding-right:14px}
.pg button small{position:absolute;right:-16px;bottom:-16px;font-family:var(--f-b);font-size:11px}
.pg button:after{content:"";position:absolute;left:.12em;right:-.3em;top:86%;height:1px;background:var(--ink);transform:rotate(-16deg);transform-origin:left center}
.s-cta{text-align:center;margin-top:34px;position:relative;z-index:2}
.s-cta .btn{background:var(--bg)}
.pg button{background:var(--bg);padding:4px 18px 6px 8px;border-radius:999px}


/* ================= emirates crew band ================= */
.crew{position:relative;overflow:hidden;background:var(--grain),var(--ink);color:var(--bg);padding-block:clamp(90px,9vw,170px)}
.crew-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.crew-path path{stroke:rgba(241,228,220,.32);stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:2 7}
.crew-plane{position:absolute;left:0;top:0;font-size:clamp(26px,2.4vw,40px);color:var(--primary);pointer-events:none;will-change:transform}
.crew-in{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(40px,7vw,140px);max-width:1440px}
.crew-num{display:flex;align-items:flex-start;color:var(--bg);line-height:1}
.crew-num .roll{font-size:clamp(150px,22vw,400px);height:1em}
.crew-num .roll .col{width:auto;padding:0 .02em}
.crew-pct{font-family:var(--f-d);font-size:clamp(70px,9vw,170px);line-height:1;color:var(--primary);margin-left:.04em}
.crew-txt{display:grid;gap:clamp(16px,1.6vw,26px);justify-items:start;max-width:560px}
.crew-txt .eyebrow{color:var(--primary)}
.crew-txt h2{font-size:clamp(48px,6.4vw,120px);line-height:.95}
.crew-txt p{margin:0;font-size:18px;line-height:1.6;color:rgba(241,228,220,.78)}
.crew-btn{border-color:var(--bg);color:var(--bg);margin-top:8px}
.crew-btn:before{background:var(--bg)}
.crew-btn:hover{color:var(--ink)}
@media (max-width:820px){
  .crew-in{grid-template-columns:1fr;gap:20px}
  .crew-num .roll{font-size:clamp(130px,42vw,260px)}
  .crew-pct{font-size:clamp(60px,18vw,120px)}
  .crew-txt p{font-size:16px}
}

/* ================= reviews ================= */
.rev{background:var(--grain),var(--bg-2);padding-block:clamp(110px,9vw,170px)}
.st{position:relative;width:max-content;max-width:100%;margin:0 auto;font-size:clamp(40px,5.8vw,100px);line-height:.98}
.st .a{display:flex;align-items:center;gap:.25em;padding-left:1.2em}
.st .a:before{content:"";width:.5em;height:1px;background:var(--ink)}
.st .c{padding-left:2.5em;position:relative}
.st .loop{position:absolute;left:1.6em;top:2.02em;width:.62em;height:auto;color:var(--ink)}
.st .note{position:absolute;left:calc(100% + 22px);top:.15em;width:190px;font-family:var(--f-b);font-size:15px;line-height:1.35;text-transform:none;letter-spacing:0;color:var(--ink-2)}
.r-view{overflow:hidden;max-width:1480px;margin:56px auto 0}
.r-track{margin-left:-1px}
.r-track{display:flex;transition:transform 1s var(--ease)}
.r-card{flex:0 0 33.333%;padding:6px clamp(30px,3.2vw,60px);border-left:1px solid var(--line);display:grid;gap:16px;align-content:start}
.r-card > i{font-size:34px}
.r-card p{margin:0;font-size:18px;line-height:1.6;color:var(--ink)}
.r-card .tag{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-weight:500}
.r-who{display:flex;align-items:center;gap:10px}
.r-who img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.r-who b{display:flex;align-items:center;gap:3px;font-family:var(--f-d);font-weight:400;font-size:22px}
.r-who b i{font-size:.75em;color:var(--ink)}
.r-who b em{font-style:normal;color:var(--ink-2);margin:0 2px}
.r-who span{display:block;font-size:15px;color:var(--ink-2)}
.r-pg{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:48px;font-size:12px}
.r-pg em{width:46px;height:1px;background:var(--line);position:relative}
.r-pg em i{position:absolute;left:0;top:0;height:1px;background:var(--ink);width:25%;transition:width 1s var(--ease)}
.r-card{display:flex;flex-direction:column;align-items:flex-start}
.r-card[hidden],.r-more[hidden],.rvm[hidden]{display:none!important}
.r-txt{width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;line-clamp:7;overflow:hidden}
.r-more{display:inline-flex;align-items:center;gap:6px;margin-top:-6px;padding:4px 0;border-bottom:1px solid currentColor;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:color .3s,gap .3s var(--ease)}
.r-more:hover{color:var(--primary);gap:10px}
.r-who{margin-top:auto;padding-top:4px}
.r-all{display:flex;justify-content:center;margin-top:44px}
/* review popup (parts/review-modal.php) */
.rvm{position:fixed;inset:0;z-index:125;display:grid;place-items:center;padding:24px}
.rvm-bg{position:absolute;inset:0;background:rgba(28,23,20,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .5s var(--ease)}
.rvm.open .rvm-bg{opacity:1}
.rvm-box{position:relative;width:min(720px,100%);max-height:min(86vh,860px);display:flex;flex-direction:column;background:var(--grain),var(--bg-2);border-radius:22px;padding:clamp(28px,3.4vw,50px);box-shadow:0 40px 120px -30px rgba(28,23,20,.55);opacity:0;transform:translateY(40px) scale(.97);transition:opacity .55s var(--ease),transform .7s var(--ease)}
.rvm.open .rvm-box{opacity:1;transform:none}
.rvm-grip{display:none}
.rvm-top{display:flex;align-items:center;gap:14px}
.rvm-q{font-size:42px;line-height:1;color:var(--primary);display:flex}
.rvm-top .tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);font-weight:500}
.rvm-x,.rvm-arr{width:44px;height:44px;flex:none;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:17px;transition:background .3s,color .3s,border-color .3s}
.rvm-x{margin-left:auto}
.rvm-x:hover,.rvm-arr:hover{background:var(--ink);color:var(--bg-2);border-color:var(--ink)}
.rvm-stars{display:flex;gap:3px;margin-top:22px;color:var(--gold);font-size:17px}
.rvm-body{margin-top:14px;overflow:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--mute) transparent}
.rvm-body p{margin:0;font-size:clamp(17px,1.25vw,19px);line-height:1.75;color:var(--ink);white-space:pre-line}
.rvm-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.rvm-who{display:flex;align-items:center;gap:12px;min-width:0}
.rvm-ph img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.rvm-ph:empty{display:none}
.rvm-who b{display:block;font-family:var(--f-d);font-weight:400;font-size:24px;line-height:1.15}
.rvm-who span{display:block;font-size:13.5px;color:var(--ink-2)}
.rvm-nav{display:flex;align-items:center;gap:8px;flex:none}
.rvm-nav[hidden]{display:none}
.rvm-n{font-size:12px;letter-spacing:.08em;min-width:56px;text-align:center;font-variant-numeric:tabular-nums}
.rvm-stars,.rvm-body,.rvm-who{transition:opacity .28s,transform .4s var(--ease)}
.rvm-box.swap .rvm-stars,.rvm-box.swap .rvm-body,.rvm-box.swap .rvm-who{opacity:0;transform:translateY(10px)}
@media (max-width:600px){
  .rvm{place-items:end center;padding:0}
  .rvm-box{width:100%;max-height:88vh;max-height:88svh;border-radius:22px 22px 0 0;padding:12px 22px calc(20px + env(safe-area-inset-bottom,0px));transform:translateY(100%)}
  .rvm-grip{display:block;width:44px;height:4px;border-radius:4px;background:var(--mute);margin:0 auto 14px}
  .rvm-q{font-size:34px}
  .rvm-stars{margin-top:16px}
  .rvm-body p{font-size:16.5px;line-height:1.7}
  .rvm-foot{margin-top:18px;padding-top:16px}
  .rvm-who b{font-size:20px}
  .rvm-ph img{width:42px;height:42px}
  .rvm-x,.rvm-arr{width:40px;height:40px}
  .rvm-n{min-width:44px}
}

/* ================= journey (pinned) ================= */
.jr{background:var(--grain),var(--bg);height:100vh;position:relative;overflow:hidden}
.jr-step{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.jr-step.on{pointer-events:auto}
.jr-in{display:grid;justify-items:center;text-align:center;gap:0;padding-inline:max(24px,env(safe-area-inset-left,0px));max-width:100%}
.jr-n{font-family:var(--f-d);font-size:44px;line-height:1;width:2.1em;height:2.1em;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;padding-top:.08em}
.jr-ghost{pointer-events:none!important}
.jr-ghost .jr-in{visibility:hidden}
.jr-ghost .jr-dot{position:relative}
.jr-ghost .jr-dot:before{content:"";visibility:visible;position:absolute;left:50%;top:50%;width:96vw;margin-left:-48vw;aspect-ratio:1;border:1px solid rgba(28,23,20,.16);border-radius:50%}
.jr-dot{width:6px;height:6px;border-radius:50%;background:var(--ink);margin-top:clamp(36px,6vh,64px)}
.jr-line{width:1px;height:clamp(80px,13vh,120px);background:var(--ink);margin-top:clamp(36px,6vh,62px);transform-origin:top}
.jr-in h3{font-size:clamp(32px,4.6vw,82px);margin-top:28px}
.jr-in p{margin:18px 0 0;font-size:18px;max-width:min(440px,100%);color:var(--ink-2)}
.jr-in .btn{margin-top:26px}

/* ================= gallery ================= */
.gal{background:var(--grain),var(--bg-2);padding-block:130px 0;position:relative}
.g-stage{position:relative;max-width:1600px;margin:0 auto;height:clamp(700px,58vw,1050px)}
.g-stage figure{position:absolute;margin:0;overflow:hidden;width:clamp(200px,17vw,320px);aspect-ratio:3/4.2}
.g-stage img{width:100%;height:100%;object-fit:cover}
.g1{left:2%;top:15%}
.g2{left:24%;top:0}
.g3{left:46%;top:8%}
.g4{right:2%;top:21%}
.g-txt{position:absolute;left:24%;top:58%;z-index:2}
.g-txt .eyebrow{font-size:13px}
.g-txt h2{font-size:clamp(40px,5.8vw,104px);margin-top:10px;mix-blend-mode:multiply}
.g-links{display:flex;flex-wrap:wrap;row-gap:10px;gap:32px;margin-top:22px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.g-links a{display:flex;align-items:center;gap:6px;white-space:nowrap}
.g-links a:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--ink)}
.g-links a:hover{color:var(--primary)}
.bleed{position:relative;height:clamp(340px,50vw,860px);overflow:hidden;margin-top:40px}
.bleed img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bleed .tag{position:absolute;left:max(20px,env(safe-area-inset-left,0px));bottom:22px;display:flex;align-items:center;gap:8px;background:var(--bg-2);border-radius:999px;padding:11px 18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;z-index:2}
.bleed .tag i{font-size:14px;color:var(--primary)}

/* ================= journal ================= */
.jn{background:var(--grain),var(--bg-2);padding-block:110px 120px}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2vw,36px);max-width:1520px;margin:56px auto 0}
.post{background:var(--card);padding:clamp(28px,2.6vw,48px) clamp(26px,2.4vw,44px) clamp(26px,2.4vw,44px);display:grid;gap:10px;align-content:start}
.post h3{font-size:clamp(26px,2.2vw,40px);line-height:1.02;min-height:3.06em}
.post time{font-size:15px;color:var(--ink-2)}
.post figure{margin:16px 0 0;overflow:hidden;aspect-ratio:4/2.7}
.post img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.post:hover img{transform:scale(1.07)}
.post:hover h3{color:var(--primary)}
.post h3{transition:color .4s}

/* ================= footer ================= */
.ftr{background:var(--grain),var(--bg);padding-block:90px 30px;overflow:hidden}
.f-div{display:flex;align-items:center;gap:18px;color:var(--primary);margin:0 auto clamp(60px,6vw,90px);max-width:1560px}
.f-div i{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--primary) 30%,var(--primary));opacity:.55;transform-origin:right}
.f-div i:last-child{background:linear-gradient(270deg,transparent,var(--primary) 30%,var(--primary));transform-origin:left}
.f-div svg{width:16px;height:16px;fill:currentColor;flex:none}
.f-cols{display:grid;grid-template-columns:repeat(5,auto);justify-content:space-between;gap:40px;max-width:1240px;margin:0 auto}
.f-svc-list{display:grid;grid-template-columns:auto auto;column-gap:clamp(28px,3vw,56px)}
.f-cols h4{margin:0 0 16px;font-size:17px;font-weight:500}
.f-cols p,.f-cols a{display:block;margin:0 0 7px;font-size:16px;color:var(--ink-2);font-weight:400}
.f-cols a:hover{color:var(--ink)}
.f-mark{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;margin:clamp(60px,6vw,100px) auto 0;color:var(--primary);line-height:1;font-size:clamp(110px,15vw,260px)}
.f-mark b{font-family:var(--f-logo);font-weight:500;font-size:1em;letter-spacing:.06em;padding-left:.06em;display:flex;overflow:hidden}
.f-mark b span{display:inline-block}
.f-mark small{font-family:var(--f-logo);font-weight:500;font-size:.105em;letter-spacing:.5em;padding-left:.5em;margin-top:.12em}
.f-mark i{display:flex;align-items:center;gap:.06em;width:100%;margin-top:.14em}
.f-mark i:before,.f-mark i:after{content:"";flex:1;height:1px;background:currentColor;opacity:.7;transform-origin:center}
.f-mark svg{width:.07em;height:.07em;fill:currentColor}
.f-soc{display:flex;justify-content:center;gap:16px;margin-top:10px}
.f-soc a{font-size:21px;transition:color .3s,transform .4s var(--ease)}
.f-soc a:hover{color:var(--primary);transform:translateY(-3px)}
.news{display:grid;justify-items:center;gap:14px;margin-top:34px}
.news h4{margin:0;font-size:17px;font-weight:500}
.news form{display:flex;gap:10px;width:min(620px,100%)}
.news input{flex:1;min-width:0;height:54px;border:1px solid var(--ink);border-radius:999px;background:transparent;padding:0 20px;font:inherit;font-size:14px;color:var(--ink)}
.news button{width:54px;height:54px;border-radius:50%;border:1px solid var(--ink);font-size:11px;font-weight:500;flex:none;transition:.4s}
.news button:hover{background:var(--ink);color:var(--bg-2)}
.news .ok{margin:0;font-size:11px;color:var(--primary);min-height:1.3em}
.copy{text-align:center;font-size:12.5px;color:var(--ink-2);margin-top:20px}

/* ================= mobile menu ================= */
.mm{position:fixed;inset:calc(env(safe-area-inset-top,0px) + 78px) 0 0;z-index:80;background:var(--ink);color:var(--bg);clip-path:circle(0px at calc(100% - 43px) -39px);visibility:hidden;transition:clip-path .95s var(--ease),visibility 0s .95s;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overflow-x:clip;overscroll-behavior:contain;padding:12px max(22px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 22px) max(22px,env(safe-area-inset-left,0px))}
.m-open .mm{clip-path:circle(170% at calc(100% - 43px) -39px);visibility:visible;transition:clip-path .95s var(--ease),visibility 0s}
.m-open,.m-open body{overflow:hidden}
@keyframes spin{to{transform:rotate(360deg)}}
.m-list{list-style:none;margin:0;padding:0;width:100%}
.m-list > li{border-bottom:1px solid rgba(241,228,220,.12);overflow:hidden}
.m-list > li > a,.m-list > li > button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:clamp(8px,1.4vh,14px) 0;font-family:var(--f-d);font-size:clamp(26px,7vw,40px);line-height:1;text-transform:uppercase;text-align:left;color:var(--bg)}
.m-list .lbl{display:flex;align-items:flex-start}
.m-list sup{font-family:var(--f-b);font-size:10px;letter-spacing:.1em;color:var(--primary);margin-left:6px}
.m-list .arr{font-size:20px;color:var(--primary);transition:transform .5s var(--ease)}
.m-list > li > *{transform:translateY(105%);transition:transform .8s var(--ease)}
.m-open .m-list > li > *{transform:none}
.sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.sub > div{overflow:hidden}
.sv-open .sub{grid-template-rows:1fr}
.sv-open .m-tog .arr{transform:rotate(45deg)}
/* item with a submenu: the label is a link, the + button beside it opens the submenu */
.m-list .m-row{display:flex;align-items:center;justify-content:space-between;gap:16px;transform:translateY(105%);transition:transform .8s var(--ease)}
.m-open .m-list .m-row{transform:none}
.m-list .m-row > a{flex:1;min-width:0;display:flex;align-items:center;color:var(--bg);padding:clamp(8px,1.4vh,14px) 0;font-family:var(--f-d);font-size:clamp(26px,7vw,40px);line-height:1;text-transform:uppercase}
.m-tog{flex:none;width:44px;height:44px;display:grid;place-items:center;justify-content:end;padding:0;border:0;background:none;color:var(--primary)}
.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 10px;padding:4px 0 20px}
.thumbs a{display:grid;gap:6px;align-content:start;font-size:9.5px;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;color:rgba(241,228,220,.85)}
.thumbs img{aspect-ratio:1;width:100%;object-fit:cover;border-radius:10px;transition:transform .5s var(--ease),opacity .4s}
.thumbs a:hover img{transform:scale(.95);opacity:.85}
@media (min-width:600px){ .thumbs{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 12px} .thumbs a{font-size:10.5px} }
.m-act{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:22px;width:100%;opacity:0;transform:translateY(16px);transition:.7s var(--ease)}
.m-open .m-act{opacity:1;transform:none;transition-delay:.5s}
.m-act a{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(241,228,220,.22);border-radius:14px;padding:14px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.m-act a i{font-size:18px;color:var(--primary)}
.m-act a.main{grid-column:1/-1;justify-content:space-between;background:var(--primary);border-color:var(--primary);color:#fff;padding:17px 20px}
.m-act a.main i{color:#fff}
.m-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;width:100%;margin-top:16px;font-size:11px;color:rgba(241,228,220,.6);opacity:0;transition:opacity .6s}
.m-open .m-foot{opacity:1;transition-delay:.6s}
.m-foot div{display:flex;gap:6px}
.m-foot div a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:16px;color:var(--bg);border:1px solid rgba(241,228,220,.2)}

/* mobile quick bar */
.qb{display:none}

/* ================= responsive ================= */
@media (max-width:1320px){
  .nav{gap:24px}
  .hdr .cat{margin-left:24px}
  .hdr-in{padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
}
@media (max-width:1100px){
  .nav,.hdr .cat,.act{display:none}
  .burger{display:block}
  .hdr-in{height:78px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
}
@media (max-width:820px){
  .intro{padding-block:80px}
  .i-top,.i-bot{grid-template-columns:1fr;gap:30px}
  .i-txt,.i-big{max-width:none}
  .cap{max-width:none}
  .i-meta .roll,.i-meta p{margin-left:0}
  .i-bot{margin-top:46px}
  .cap{padding:12px 16px}
  .svc{padding-block:80px}
  .sl{grid-template-columns:1fr;justify-items:center;gap:22px;width:auto}
  .b1{display:none}
  .s-ring{display:none}
  .sl{grid-template-columns:1fr}
  .b2{width:100%;height:auto;aspect-ratio:4/5;max-height:78vh}
  .s-txt{width:100%;text-align:center;align-items:center}
  .s-txt h3{min-height:0;max-width:none}
  .s-txt p{margin-top:12px;padding-top:0;min-height:0}
  .b3{width:100%}
  .rev{padding-block:80px}
  .st{width:auto}
  .st .a{padding-left:0}
  .st .c{padding-left:1.1em}
  .st .loop{left:.15em;top:2em;width:.5em}
  .st .note{position:static;display:block;width:auto;margin-top:14px}
  .r-view{max-width:100%}
  .gal{padding-top:80px}
  .g-stage{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .g-stage figure{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/4.2}
  .g-stage{height:auto!important}
  .r-card p{font-size:16px}
  body{font-size:16px}
  .g2,.g4{margin-top:40px}
  .g-txt{position:relative;left:auto;top:auto;grid-column:1/-1;margin-top:20px}
  .posts{grid-template-columns:1fr 1fr;max-width:none}
  .post h3{font-size:24px}
  .post h3{min-height:0}
  .f-cols{grid-template-columns:1fr 1fr;grid-template-areas:"visit call" "hours links" "svc svc";justify-content:stretch;column-gap:24px;row-gap:34px}
  .f-visit{grid-area:visit} .f-call{grid-area:call} .f-hours{grid-area:hours} .f-links{grid-area:links} .f-svc{grid-area:svc;padding-top:28px;border-top:1px solid var(--line)}
  .f-svc-list{grid-template-columns:1fr 1fr;column-gap:24px}
  .f-cols h4{font-size:16px;margin-bottom:10px}
  .f-cols p,.f-cols a{font-size:15px;margin-bottom:6px}
  .f-mark{margin-top:50px}
  .qb{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:rgba(253,249,246,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .6s var(--ease)}
  .qb.show{transform:none}
  .m-open .qb{transform:translateY(110%)}
  .qb a{display:flex;align-items:center;justify-content:center;gap:7px;height:42px;border-radius:999px;border:1px solid var(--line);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
  .qb a i{font-size:16px}
  .qb a.main{background:var(--ink);border-color:var(--ink);color:var(--bg-2)}
  .ftr{padding-bottom:100px}
}
@media (max-width:340px){ .f-cols{column-gap:16px} .f-svc-list{column-gap:16px} .f-cols p,.f-cols a{font-size:14px} }
@media (max-width:1100px){ .r-card{flex-basis:50%} }
@media (min-width:601px) and (max-width:820px){ .posts{grid-template-columns:1fr} .post{grid-template-columns:1fr 1.1fr;grid-template-rows:auto 1fr;column-gap:28px;align-items:start} .post figure{grid-column:2;grid-row:1/span 2;margin:0} }
@media (max-width:820px){ .jr-ghost .jr-dot:before{width:190vw;margin-left:-95vw} }
@media (max-width:600px){ .r-card{flex-basis:100%;padding:0 4px;border-left:0} .posts{grid-template-columns:1fr} }

@media (prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important} }
