/* wf-urbanrestaurant - Kerbside Supper House (likeness rebuild, original code) */

/* ---------- fonts ---------- */
@font-face{font-family:'League Gothic';src:url('fonts/leaguegothic-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Palanquin;src:url('fonts/palanquin-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Palanquin;src:url('fonts/palanquin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Palanquin;src:url('fonts/palanquin-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Palanquin;src:url('fonts/palanquin-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* ---------- tokens ---------- */
:root{
  --paper:#F8F7F4;          /* page ground */
  --paper-soft:#EFEDE7;     /* field / input wells */
  --ink:#2B2B2B;            /* body ink */
  --ink-soft:#4A4A46;       /* secondary ink */
  --forest:#2E4A3D;         /* accent: display type, buttons, pill */
  --forest-deep:#22382E;    /* pressed / divider on green */
  --white:#FFFFFF;
  --scrim-lo:rgba(0,0,0,.34);
  --scrim-mid:rgba(0,0,0,.52);
  --scrim-hi:rgba(0,0,0,.70);
  --scrim-drawer:rgba(0,0,0,.28);
  --r-img:5px; --r-soft:8px; --r-btn:10px;
  --cont:1200px; --gut:72px;
  --sec-pad:112px;
  --m-xxs:8px; --m-xs:16px; --m-s:32px; --m-m:64px; --m-l:96px; --m-xl:112px; --m-xxl:128px;
  --fs-body:17px; --lh-body:25.6px;
  --t-fast:.18s; --t-base:.4s; --t-rev:1.2s;
  --ease:cubic-bezier(.33,0,.15,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:Palanquin,'Segoe UI',sans-serif;font-weight:300;font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:.3px;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
.hero-copy :focus-visible,.mhero :focus-visible,.nav :focus-visible,.drawer :focus-visible{outline-color:var(--paper)}
.skip{position:absolute;left:-9999px;top:0;background:var(--forest);color:var(--paper);padding:12px 20px;z-index:200;border-radius:var(--r-btn)}
.skip:focus{left:16px;top:16px}

/* ---------- type ---------- */
.d1,.d2,.d3,.d4,.d5,.dbig,.dhuge,.dcap{font-family:'League Gothic','Arial Narrow',sans-serif;font-weight:400;letter-spacing:normal;text-transform:uppercase;color:var(--forest);text-wrap:balance}
/* font-size = reference px x 0.952 (cap parity); LINE BOX = reference verbatim */
.d1{font-size:61px;line-height:64px}                 /* ref 64/64 */
.dbig{font-size:84px;line-height:79.2px}             /* ref 88/79.2 */
.d2{font-size:53px;line-height:56px}                 /* ref 56/56 */
.d3{font-size:46px;line-height:52.8px}               /* ref 48/52.8 */
.d4{font-size:38px;line-height:48px}                 /* ref 40/48 */
.d5{font-size:30px;line-height:38.4px}               /* ref 32/38.4 */
.dcap{font-size:17px;line-height:27px}               /* ref 18/27 */
.tag{display:inline-block;font-size:21px;line-height:31.5px;font-weight:300;color:var(--forest);letter-spacing:0}
.lead{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:300;text-wrap:pretty}
.lead-lg{font-size:21px;line-height:27px;font-weight:300}
.small{font-size:15px;line-height:22.5px}
.tiny{font-size:13px;line-height:19.5px}
.on-dark,.on-dark .d1,.on-dark .d2,.on-dark .d3,.on-dark .tag{color:var(--paper)}
.mb-xxs{margin-bottom:var(--m-xxs)}.mb-xs{margin-bottom:var(--m-xs)}.mb-s{margin-bottom:var(--m-s)}
.mb-m{margin-bottom:var(--m-m)}.mb-xxl{margin-bottom:var(--m-xxl)}
.mt-xs{margin-top:var(--m-xs)}.mt-s{margin-top:var(--m-s)}.mt-m{margin-top:var(--m-m)}
.mw-l{max-width:768px}
.center{text-align:center}

/* ---------- layout ---------- */
.pad{padding:0 var(--gut)}
.cont{max-width:var(--cont);margin:0 auto}
.sec{padding:var(--sec-pad) 0}

/* ---------- buttons ---------- */
.btn,.btn-ghost,.btn-light{display:inline-block;font-size:var(--fs-body);line-height:22.4px;font-weight:400;letter-spacing:.3px;
  padding:12px 32px;border-radius:var(--r-btn);border:1px solid transparent;text-align:center;white-space:nowrap;cursor:pointer;
  transition:background-color var(--t-base) ease,color var(--t-base) ease,transform var(--t-base) ease,border-color var(--t-base) ease}
.btn{background:var(--forest);color:var(--paper);border-color:var(--forest)}
.btn:hover{background:var(--paper);color:var(--forest);transform:scale(1.05)}
.btn-light{background:var(--paper);color:var(--forest);border-color:var(--paper)}
.btn-light:hover{background:transparent;color:var(--paper);border-color:var(--paper);transform:scale(1.05)}
.btn-ghost{background:transparent;color:var(--paper);border-color:var(--paper)}
.btn-ghost:hover{background:var(--paper);color:var(--forest);transform:scale(1.05)}
.btn-ghost.on-light{color:var(--forest);border-color:var(--forest)}
.btn-ghost.on-light:hover{background:var(--forest);color:var(--paper)}
.hero-copy .btn-light,.hero-copy .btn-ghost,.mhero .btn-light{padding:12px 24px}
.btn-row{display:flex;align-items:center;gap:var(--m-xs);flex-wrap:wrap}
.btn-row.center{justify-content:center}
.link-a{display:inline-flex;align-items:center;gap:var(--m-xxs);padding:4px 0;color:var(--forest);font-size:var(--fs-body);line-height:16px;font-weight:400}
.link-a svg{width:16px;height:16px;flex:0 0 16px;transition:transform var(--t-base) ease}
.link-a:hover svg{transform:translateX(4px)}
.link-a.on-dark{color:var(--paper)}
.u-link{text-decoration:underline;text-underline-offset:3px}

/* ---------- nav pill ---------- */
.nav{position:fixed;top:24px;left:0;right:0;z-index:120;display:flex;justify-content:center;pointer-events:none;
  transition:transform var(--t-base) var(--ease)}
.nav.hide{transform:translateY(-150px)}
.nav-in{position:relative;display:inline-flex;align-items:center;gap:var(--m-xs);padding:16px 64px;background:var(--forest);
  border:1px solid var(--paper);border-radius:5px;pointer-events:auto;white-space:nowrap}
.brand{display:block;flex:0 0 122px;width:122px;color:var(--paper);font-family:'League Gothic','Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.01em}
.brand i{display:block;font-style:normal;white-space:nowrap}
.brand .b1{font-size:39px;line-height:33px}
.brand .b2{font-size:32px;line-height:40px}
.nav-menu{margin-left:24px}
.nav-links{display:flex;align-items:center;gap:var(--m-xs)}
.nav-links a{display:block;padding:8px 16px;color:var(--paper);font-size:var(--fs-body);line-height:24px;font-weight:400}
.nav-links a:hover,.nav-links a.is-on{text-decoration:underline;text-underline-offset:4px}
.nav-cta{margin-left:16px}
.nav-cta-m{display:none}
.btn-sm{display:inline-block;padding:8px 20px;border-radius:var(--r-btn);background:var(--paper);color:var(--forest);
  border:1px solid var(--forest);font-size:var(--fs-body);line-height:24px;font-weight:400;cursor:pointer;
  transition:background-color var(--t-base) ease,color var(--t-base) ease,transform var(--t-base) ease}
.btn-sm:hover{background:transparent;color:var(--paper);border-color:var(--paper);transform:scale(1.05)}
.burger{display:none;width:40px;height:48px;margin-left:auto;background:none;border:0;padding:0;cursor:pointer}
.burger span{display:block;width:26px;height:2px;margin:6px auto;background:var(--paper)}

/* ---------- hero (sticky zoom-out grid) ---------- */
.hero{position:relative;height:300vh}
.hero-stick{position:sticky;top:0;height:100vh;min-height:560px;overflow:hidden;display:flex;align-items:center}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.hero-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:16px;
  transform:scale(var(--zoom,3.2));transform-origin:center center;will-change:transform}
.hero-grid>div{overflow:hidden}
.hero-grid img{width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;background:rgba(0,0,0,.52);opacity:var(--scrimop,1);z-index:2;pointer-events:none}
.hero-copy{position:relative;z-index:3;width:100%;opacity:var(--copyop,1)}
.hero-copy .d1{color:var(--paper)}
.hero-copy .lead{color:var(--paper)}
.hero-block{max-width:768px;margin:0 auto;text-align:center;padding-bottom:33px}
.hero-mobile-stack{display:none}

/* ---------- home about ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--m-m);align-items:start}
.about-l{display:flex;flex-direction:column}
.about-hero-img{border-radius:var(--r-img);overflow:hidden;aspect-ratio:1/1}
.about-hero-img img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-img)}
.about-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--m-s);align-items:start}
.about-pair figure{border-radius:var(--r-img);overflow:hidden;aspect-ratio:1/1}
.about-pair img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-img)}
.about-pair .p-a{margin-top:134px}
.about-pair .p-b{margin-top:67px}

/* ---------- feature cards (3-up, hover lift of the caption) ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--m-m) 48px}
.card{display:block;position:relative;color:var(--forest)}
.card-img{position:relative;border-radius:var(--r-img);overflow:hidden;aspect-ratio:368/552}
.card-img img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-img)}
.card-veil{position:absolute;inset:0;background:rgba(0,0,0,.42);opacity:0;transition:opacity var(--t-base) ease}
.card-txt{padding-top:var(--m-xxs)}
.card-txt>*{transition:transform var(--t-base) var(--ease),color var(--t-base) ease}
.card:hover .card-veil{opacity:1}
.card:hover .card-txt>*{transform:translate(5px,-105px);color:var(--paper)}
.card:focus-visible .card-veil{opacity:1}
.card:focus-visible .card-txt>*{transform:translate(5px,-105px);color:var(--paper)}

/* ---------- gallery band (two marquee rows) ---------- */
.gal{display:grid;grid-template-columns:1fr 1fr;align-items:center;height:900px;overflow:hidden}
.gal-l{padding-left:var(--gut);max-width:576px}
.gal-r{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;gap:16px;overflow:hidden}
.mq{display:flex;gap:16px;width:max-content;animation:mq 30s linear infinite}
.mq.row-b{animation-duration:30s;margin-left:-219px}
.mq figure{width:416px;flex:0 0 416px;border-radius:var(--r-img);overflow:hidden;aspect-ratio:4/3}
.mq img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-img)}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-1296px)}}

/* ---------- video band (scrub expand) ---------- */
.vid{background:var(--forest);height:200vh;position:relative}
.vid-stick{position:sticky;top:0;height:100vh;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.vid-box{position:relative;width:var(--vw,20%);height:var(--vh,40%);border-radius:var(--r-soft);overflow:hidden;flex:0 0 auto}
.vid-box img{width:100%;height:100%;object-fit:cover}
.vid-cap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 var(--gut);
  transform:translateY(var(--capy,0px));opacity:var(--capop,1);z-index:2;
  background:radial-gradient(62% 46% at 50% 47%, rgba(0,0,0,.64) 0%, rgba(0,0,0,.46) 56%, rgba(0,0,0,0) 100%)}
.vid-cap-in{max-width:1280px;padding:48px;text-align:center}
.vid-cap .dhuge{font-size:110px;line-height:110px;color:var(--paper)}
.vid-cap p{color:var(--paper);margin-top:var(--m-s)}

/* ---------- events ---------- */
.ev-head{display:grid;grid-template-columns:494px 1fr;gap:48px;align-items:start}
.ev-head .r{max-width:65%;margin-top:192px}
.ev-imgs{display:grid;grid-template-columns:854fr 282fr;gap:var(--m-m);align-items:start}
.ev-imgs figure{margin:0}
.ev-imgs figure.ev-a{margin-top:86px}
.ev-imgs .shot{border-radius:var(--r-soft);overflow:hidden}
.ev-a .shot{aspect-ratio:854/569}
.ev-b .shot{aspect-ratio:282/423}
.ev-imgs img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-soft)}
.ev-imgs figcaption{padding-top:var(--m-xxs)}

/* ---------- contact strip (home) ---------- */
.ct-head{display:grid;grid-template-columns:640px 480px;gap:64px 80px;align-items:start}
.ct-rows{display:grid;gap:24px;padding:8px 0}
.ct-row{display:flex;align-items:center;gap:24px}
.ct-row .ico{flex:0 0 32px;width:32px;height:32px;color:var(--forest)}
.ct-row .ico svg{width:32px;height:32px}
.ct-row a,.ct-row span{color:var(--forest);line-height:22.4px;display:inline-block}
.ct-row a{text-decoration:underline;text-underline-offset:3px}
.ct-shot{border-radius:var(--r-img);overflow:hidden;aspect-ratio:16/9;margin-top:var(--m-m)}
.ct-shot img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-img)}

/* ---------- footer ---------- */
.ft{padding:var(--sec-pad) 0 0}
.ft-in{padding:var(--m-m) 0}
.ft-top{display:grid;grid-template-columns:1fr 400px;gap:16px 115px;align-items:start;padding-bottom:var(--m-s)}
.ft-nav{display:flex;flex-wrap:wrap;gap:0 24px}
.ft-nav a{color:var(--forest);line-height:24px}
.ft-nav a:hover{text-decoration:underline;text-underline-offset:3px}
.ft-sub{color:var(--forest);line-height:24px;margin-bottom:var(--m-xs)}
.sub-form{display:flex;gap:var(--m-xs);align-items:flex-end}
.sub-form input{flex:1 1 auto;min-width:0;background:transparent;border:0;border-bottom:1px solid var(--forest);
  padding:12px 12px 8px 0;font-size:21px;font-weight:300;color:var(--ink)}
.sub-form input::placeholder{color:var(--ink-soft)}
.sub-note{margin-top:var(--m-xs);color:var(--ink-soft)}
.ft-mark{container-type:inline-size;padding-bottom:var(--m-s)}
.ft-mark span{display:block;font-family:'League Gothic','Arial Narrow',sans-serif;font-weight:400;text-transform:uppercase;
  color:var(--forest);font-size:20cqw;line-height:1.24;letter-spacing:.005em}
.rule{height:1px;background:var(--forest);opacity:.4}
.ft-bot{display:flex;justify-content:space-between;gap:24px;padding-top:var(--m-s);flex-wrap:wrap}
.ft-bot .l{display:flex;gap:24px;flex-wrap:wrap}
.ft-bot a,.ft-bot span,.ft-bot p{color:var(--forest);font-size:15px;line-height:21px}
.ft-bot a:hover{text-decoration:underline;text-underline-offset:3px}
.ft-legal{padding:var(--m-xs) 0 var(--m-m);color:var(--ink-soft)}

/* ---------- inner heroes ---------- */
.ih{padding:64px 0 0}
.ih-in{padding:160px 0 96px}
.ih-grid{display:grid;grid-template-columns:560px 560px;gap:var(--m-m) 80px;align-items:start}
.ih-shot{border-radius:var(--r-img);overflow:hidden;aspect-ratio:1200/675;margin-top:var(--m-xxl)}
.ih-shot img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-img)}

/* about photo-cloud */
.cloud{position:relative;height:300vh}
.cloud-stick{position:sticky;top:0;height:100vh;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cloud-col{position:absolute;top:0;display:flex;flex-direction:column;gap:374px;padding-top:630px;transform:translateY(var(--cy,0px));will-change:transform}
.cloud-col.c1{left:0;width:317px}
.cloud-col.c2{right:0;width:288px;opacity:.75}
.cloud-col figure{border-radius:var(--r-soft);overflow:hidden;margin:0;transform:translateX(var(--x,0px))}
.cloud-col img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--r-soft)}
.cloud-copy{position:relative;z-index:2;max-width:768px;text-align:center;padding:0 24px}

/* about awards */
.aw{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--m-m) 48px}
.aw-ico{width:120px;height:120px;color:var(--forest);margin-bottom:var(--m-xs)}
.aw-ico svg{width:120px;height:120px}
.aw h3{margin-bottom:var(--m-xs)}

/* newsletter band */
.nl{position:relative;min-height:467px;display:flex;align-items:center;border-radius:var(--r-img);overflow:hidden}
.nl>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nl-veil{position:absolute;inset:0;background:var(--scrim-hi)}
.nl-in{position:relative;z-index:2;width:100%;padding:96px 0;text-align:center}
.nl-in .sub-form{max-width:520px;margin:var(--m-s) auto 0}
.nl-in .sub-form input{border-bottom-color:var(--paper);color:var(--paper)}
.nl-in .sub-form input::placeholder{color:rgba(248,247,244,.72)}

/* menu hero (full-bleed) */
.mhero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;overflow:hidden}
.mhero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mhero-veil{position:absolute;inset:0;background:var(--scrim-mid)}
.mhero-in{position:relative;z-index:2;width:100%}
.mhero .d2,.mhero .lead{color:var(--paper)}
.mhero .d2{max-width:560px}
.mhero .lead{max-width:560px;margin-top:var(--m-xs)}
.mhero-in .sec-c{padding:112px 0 176px}

/* menu list */
.mn{display:grid;grid-template-columns:1fr 1fr;gap:var(--m-m) 80px;align-items:start}
.mn-tabs{position:sticky;top:96px;z-index:5;display:inline-flex;align-items:center;gap:4px;background:var(--forest);
  border:1px solid var(--forest);border-radius:5px;padding:24px 40px;margin-bottom:0}
.mn-tabs a{padding:8px 20px;color:var(--paper);font-weight:300;line-height:24px}
.mn-tabs a:hover{text-decoration:underline;text-underline-offset:4px}
.mn-block{min-height:900px;display:flex;flex-direction:column;justify-content:center}
.mn-list{margin-top:var(--m-xs)}
.mn-list li{color:var(--forest);line-height:25.6px;padding:3px 0}
.mn-list b{font-weight:600}
.mn-pics{position:sticky;top:120px;height:560px}
.mn-pics figure{position:absolute;inset:0;border-radius:var(--r-img);overflow:hidden;opacity:0;transition:opacity .6s ease;margin:0}
.mn-pics figure.is-on{opacity:1}
.mn-pics img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-img)}
.mn-pic-mobile{display:none}

/* menu cta */
.cta-in{max-width:768px;margin:0 auto;text-align:center}
.cta-strip{margin-top:var(--m-xxl);overflow:hidden}
.cta-strip .mq figure{width:368px;flex:0 0 368px;aspect-ratio:368/416}
@keyframes mq2{from{transform:translateX(0)}to{transform:translateX(-1536px)}}
.cta-strip .mq{animation:mq2 36s linear infinite}

/* contact page */
.chero{display:flex;flex-direction:column}
.chero-img{position:relative;height:608px;overflow:hidden}
.chero-img .veil{position:absolute;inset:0;background:var(--scrim-lo)}
.chero-img img{width:100%;height:100%;object-fit:cover}
.chero-txt{padding:64px 0 96px}
.chero-grid{display:grid;grid-template-columns:560px 560px;gap:var(--m-m) 80px;align-items:start}
.cc-grid{display:grid;grid-template-columns:373px 1fr;gap:var(--m-m) 80px;align-items:start}
.cc-list{display:grid;gap:40px}
.cc-item .k{color:var(--ink-soft);margin-bottom:var(--m-xxs)}
.cc-item .v{margin-bottom:var(--m-xxs)}
.cc-item a,.cc-item .t{color:var(--forest);line-height:22.4px}
.cc-item a{text-decoration:underline;text-underline-offset:3px}
.cc-map{border-radius:var(--r-img);overflow:hidden;background:var(--paper-soft);aspect-ratio:747/498}
.cc-map svg{width:100%;height:100%;display:block}

/* ---------- reserve drawer ---------- */
.drawer{position:fixed;inset:0;z-index:200;display:none}
.drawer.open{display:block}
.drawer-veil{position:absolute;inset:0;background:var(--scrim-drawer);opacity:0;transition:opacity var(--t-base) ease}
.drawer.open .drawer-veil{opacity:1}
.drawer-panel{position:absolute;top:0;right:0;width:min(640px,100%);height:100%;background:var(--forest);padding:80px 64px;
  overflow-y:auto;transform:translateX(100%);transition:transform var(--t-base) var(--ease)}
.drawer.open .drawer-panel{transform:translateX(0)}
.drawer-close{position:absolute;top:16px;right:16px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  background:none;border:0;color:var(--paper);cursor:pointer}
.drawer-close svg{width:24px;height:24px}
.drawer h2,.drawer p,.drawer label{color:var(--paper)}
.drawer .field{margin-bottom:24px}
.drawer label{display:block;line-height:24px;margin-bottom:5px}
.drawer input,.drawer select,.drawer textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--paper);
  color:var(--paper);font-size:21px;font-weight:300;padding:12px 12px 8px 0;border-radius:0}
.drawer select{height:44px;padding:8px 12px 8px 0;font-size:17px}
.drawer textarea{min-height:128px;resize:vertical;padding:12px}
.drawer textarea::placeholder{color:rgba(248,247,244,.72)}
.drawer select option{color:var(--ink)}
.drawer .submit-row{display:flex;justify-content:flex-end}
.drawer-ok{display:none;margin-top:var(--m-s);padding:16px 20px;border:1px solid var(--paper);border-radius:var(--r-btn);color:var(--paper)}
.drawer-ok.show{display:block}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(80px);transition:opacity var(--t-rev) var(--ease),transform var(--t-rev) var(--ease);transition-delay:calc(var(--d,0s) + .2s)}
.rv.in{opacity:1;transform:none}
html.no-js .rv,body.no-anim .rv{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1280px){
  .ih-grid,.chero-grid{grid-template-columns:1fr 1fr;gap:var(--m-m) 48px}
}
@media (max-width:1100px){
  .ct-head{grid-template-columns:1fr;gap:64px}
  .ev-head{grid-template-columns:1fr;gap:var(--m-s)}
  .ev-head .r{max-width:none;margin-top:0}
  .ft-top{grid-template-columns:1fr;gap:var(--m-s)}
  .cc-grid{grid-template-columns:1fr}
  .mn-pics{top:100px;height:420px}
}
@media (max-width:860px){
  :root{--gut:32px;--sec-pad:72px}
  .cards,.aw{grid-template-columns:1fr 1fr}
  .gal{grid-template-columns:1fr;height:auto}
  .gal-l{padding:0 var(--gut);max-width:none;margin-bottom:var(--m-s)}
  .gal-r{height:auto;padding:0}
  .ih-grid,.chero-grid,.mn{grid-template-columns:1fr;gap:var(--m-s)}
  .vid-cap .dhuge{font-size:72px;line-height:72px}
  .vid-cap-in{padding:24px}
}
@media (max-width:640px){
  :root{--m-m:48px;--m-xxl:48px}
  .nav{top:20px;padding:0 20px}
  .nav-in{flex:1 1 auto;padding:16px 20px}
  .brand{width:122px}
  .brand .b1{font-size:24px;line-height:20px}
  .brand .b2{font-size:20px;line-height:24px}
  .nav-menu{display:none;margin:0}
  .nav-menu.open{display:block;position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--forest);
    border:1px solid var(--paper);border-radius:5px;padding:12px 20px}
  .nav-menu.open .nav-links{flex-direction:column;align-items:stretch;gap:4px}
  .nav-cta{display:none}
  .nav-menu.open .nav-cta-m{display:block;margin-top:8px}
  .burger{display:block}
  :root{--gut:0px;--sec-pad:32px;--fs-body:17px}
  .pad{padding:0}
  .d1{font-size:34px;line-height:36px}       /* ref 36/36 */
  .dbig{font-size:84px;line-height:79.2px}   /* ref 88/79.2, unchanged at 390 */
  .d2{font-size:34px;line-height:36px}       /* ref 36/36 */
  .d3{font-size:30px;line-height:35.2px}     /* ref 32/35.2 */
  .d4{font-size:28px;line-height:33.6px}
  .d5{font-size:19px;line-height:24px}       /* ref 20/24 */
  .tag{font-size:21px;line-height:31.5px}
  .lead-lg{font-size:17px;line-height:22px}
  .btn,.btn-ghost,.btn-light{font-size:15px;line-height:20px}
  .hero-copy .btn-light,.hero-copy .btn-ghost,.mhero .btn-light{padding:12px 24px}
  .ft-nav{flex-direction:column;gap:0}
  .ft-bot .l{flex-direction:column;gap:0}
  .ct-row{flex-wrap:wrap;gap:var(--m-xs)}
  .ct-row .ico{flex:0 0 100%}
  .ct-head{gap:48px}
  .mn-tabs{display:none}
  .hero-block{padding-bottom:23px}
  .hero-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}
  .hero-grid>div:nth-child(-n+3),.hero-grid>div:nth-child(n+7){display:none}
  .hero-mobile-stack{display:block}
  .hero-mobile-stack figure{margin:0 0 16px}
  .hero-mobile-stack img{width:100%;aspect-ratio:390/664;object-fit:cover}
  .cards,.aw,.about-grid{grid-template-columns:1fr;gap:24px}
  .about-pair{grid-template-columns:1fr 1fr;gap:24px}
  .about-pair .p-a{margin-top:46px}
  .about-pair .p-b{margin-top:0}
  .ev-imgs{gap:24px}
  .ev-imgs figure.ev-a{margin-top:28px}
  .card-img{aspect-ratio:390/430}
  .card:hover .card-txt>*,.card:focus-visible .card-txt>*{transform:none;color:var(--forest)}
  .card:hover .card-veil,.card:focus-visible .card-veil{opacity:0}
  .mq figure{width:234px;flex:0 0 234px}
  @keyframes mq{from{transform:translateX(0)}to{transform:translateX(-750px)}}
  .mq.row-b{margin-left:-126px}
  .gal-r{padding:32px 0}
  .gal-l{padding:52px 0}
  .vid-cap .dhuge{font-size:38px;line-height:40px}
  .vid-cap-in{padding:16px}
  .ih-in{padding:64px 0}
  .ih-shot{margin-top:64px}
  .nl{min-height:0}
  .nl-in{padding:56px 0}
  .ih{padding:64px 0 0}
  .cloud{height:150vh}
  .cloud-col.c1{width:150px}
  .cloud-col.c2{width:140px}
  .cloud-col{gap:200px;padding-top:400px}
  .cloud-copy{padding:0 20px}
  .mhero .lead{max-width:none}
  .mn-tabs{padding:16px 12px;gap:0;flex-wrap:wrap}
  .mn-tabs a{padding:8px 12px}
  .mn-block{min-height:0;margin-bottom:var(--m-m)}
  .mn-pics{display:none}
  .mn-pic-mobile{display:block;border-radius:var(--r-img);overflow:hidden;margin-top:var(--m-s);aspect-ratio:1/1}
  .mn-pic-mobile img{width:100%;height:100%;object-fit:cover}
  .cta-strip .mq figure{width:240px;flex:0 0 240px}
  @keyframes mq2{from{transform:translateX(0)}to{transform:translateX(-1024px)}}
  .chero-img{height:315px}
  .chero-txt{padding:48px 0}
  .cc-grid{grid-template-columns:1fr;gap:48px}
  .cc-list{gap:20px}
  .cc-item .k{margin-bottom:var(--m-xs)}
  .cc-item .v{margin-bottom:var(--m-xs)}
  .cc-map{aspect-ratio:5/3}
  .drawer-panel{padding:72px 24px}
  .ft{padding:var(--sec-pad) 0 0}
  .ft-in{padding:var(--m-s) 0}
  .ft-mark span{font-size:19.6cqw}
  .sub-form{flex-direction:column;align-items:stretch;gap:var(--m-xs)}
  .sub-form .btn{width:100%}
  .pad-m{padding:0 20px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .rv{opacity:1;transform:none}
  .mq{animation:none;transform:none}
  .hero-grid{transform:scale(3.2)}
  .hero-scrim{opacity:1}
  .hero-copy{opacity:1}
  .vid-box{width:100%;height:100%}
  .vid-cap{transform:none;opacity:1}
  .cloud-col{transform:none}
  .drawer-panel{transition:none}
}
