@font-face{font-family:'SiteDisplay';src:url(fonts/bevan-normal-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'SiteText';src:url(fonts/kameron-normal-400-700.woff2) format('woff2');font-weight:400 700;font-style:normal;font-display:swap}

:root{--g:#F4F6F8;--ink:#131809;--mut:#454A3E;--acc:#6C8F1E;--on-acc:#131809;--acc-t:#516E00;--deep:#0F1701;
--b1:#769A2C;--on-b1:#131809;--b2:#0F1701;--on-b2:#FFFFFF;--b3:#86BAEF;--on-b3:#131809;
--fd:'SiteDisplay',Rockwell, 'Courier New', serif;--ft:'SiteText',Rockwell, Georgia, serif;--fh:'SiteDisplay',Rockwell, 'Courier New', serif;--r:999px 999px 0 0;--br:999px;--gut:16px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--g);color:var(--ink);font-family:var(--ft);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip;overflow-wrap:break-word}
/* no sideways scroll at 320 px by design: any long word, email, address or price may break; big type follows the viewport */
p,dd,dt,li,a,span,h1,h2,h3,figcaption,blockquote,small,summary{overflow-wrap:break-word;min-width:0}
.vf-a,.foot-tel,.foot-addr{overflow-wrap:anywhere}
.btn{max-width:100%;white-space:normal;text-align:center;line-height:1.2}
/* no section can widen the page: its own horizontal overflow (a glyph's overhang, a pseudo-element) is clipped */
main>section,main>nav,main>div,.foot,.bar{overflow-x:clip}
img{display:block;width:100%;height:100%;object-fit:cover}
picture{display:block;width:100%;height:100%}
a{color:inherit}
h1,h2,h3,p,figure,blockquote,dl,dd,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
em{font-style:normal;color:var(--acc-t)}
main{display:block}
body.t-dark{font-weight:450}
.wrap{padding-inline:var(--gut);max-width:1180px;margin-inline:auto}
section{position:relative}
.shp{display:block;overflow:hidden;border-radius:var(--r);background:color-mix(in oklab,var(--g),var(--ink) 8%)}
.h{font-family:var(--fh);font-weight:400;font-size:min(calc(40px * 0.8),11.5vw);line-height:1.08;letter-spacing:-0.01em;text-transform:none;text-wrap:balance}
.lede{margin-top:12px;font-size:17px;color:var(--mut);max-width:34em;text-wrap:pretty}
.sec-head{padding-block:56px 22px}


.kicker{font-size:13.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;min-width:44px;padding:0 24px;border-radius:var(--br);background:var(--acc);color:var(--on-acc);font-weight:600;font-size:15.5px;letter-spacing:.02em;text-decoration:none;}
.btn-ghost{background:transparent;color:currentColor;box-shadow:inset 0 0 0 1.5px currentColor}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* the bar over the hero */
.bar{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:8px 10px 0 14px;color:#fff}
.inner .bar{position:relative;background:var(--deep);padding-bottom:8px}
.logo{display:flex;align-items:center;min-height:48px;min-width:44px;text-decoration:none}
.logo-i{display:block;height:var(--lh,44px);width:auto;max-width:min(230px,52vw);object-fit:contain;object-position:left center}
.foot .logo-i{height:64px;max-width:min(260px,70vw)}
.foot .logo-m{height:58px;max-height:58px;max-width:240px}
.logo-m{display:block;height:var(--lh,40px);max-height:46px;max-width:170px;background:currentColor;}
.logo-t{font-family:var(--fd);font-size:22px;line-height:1.1;max-width:62vw;color:#fff}
.bar-r{display:flex;align-items:center;gap:6px}
.bar-call,.nav summary{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 14px;border-radius:var(--br);font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75);background:transparent;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);list-style:none;cursor:pointer}
.nav summary::-webkit-details-marker{display:none}
.nav{position:relative}
.nav nav{position:absolute;right:0;top:52px;min-width:200px;background:var(--deep);color:#fff;border-radius:14px;padding:8px;display:grid}
.nav nav a{display:flex;align-items:center;min-height:46px;padding:0 14px;text-decoration:none;font-size:16px}

/* hero */
.hero{height:100svh;min-height:560px;max-height:1000px;overflow:hidden;color:#fff;background:var(--deep)}
.hero>picture{position:absolute;inset:0}
.hero-tiles{position:absolute;inset:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:3px;background:var(--deep)}
.hero-tiles.t2,.hero-tiles.t3{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
.hero-tiles picture{width:100%;height:100%;overflow:hidden}
.hero>picture img{animation:kb 14s ease-out both;transform-origin:50% 40%}
@keyframes kb{from{transform:scale(1.07)}to{transform:scale(1)}}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,18,.86) 0,rgba(18,18,18,.7) 70px,rgba(18,18,18,0) 160px)}
/* text over a photo always sits on its own scrim: alpha .62 or more under every line holds 4.5:1 even over white */
.hero-foot,.hero-name{position:relative;isolation:isolate}
.hero-foot::before{content:"";position:absolute;z-index:-1;left:-100vw;right:-100vw;top:-150px;bottom:-24px;background:linear-gradient(180deg,rgba(18,18,18,0) 0,rgba(18,18,18,calc(var(--sa,.8) * .55)) 70px,rgba(18,18,18,var(--sa,.8)) 150px,rgba(18,18,18,min(.94,calc(var(--sa,.8) + .06))) 100%)}
/* the photo's texture goes smooth under small text: a blur faded in from the block's top edge; the measured scrim stays as the floor */
.hero:not(.hero-loupe) .hero-foot::before{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 150px);mask-image:linear-gradient(180deg,transparent 0,#000 150px)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.hero:not(.hero-loupe) .hero-foot::before{background:linear-gradient(180deg,rgba(18,18,18,0) 0,rgba(18,18,18,min(.9,calc(var(--sa,.7) + .08))) 110px,rgba(18,18,18,max(.86,calc(var(--sa,.7) + .18))) 52%,rgba(18,18,18,.92) 100%)}}
.hero-name::before{content:"";position:absolute;z-index:-1;left:-100vw;right:-100vw;top:-80px;bottom:-90px;background:linear-gradient(180deg,rgba(15,23,1,min(.92,calc(var(--st,.7) + .1))) 0,rgba(15,23,1,var(--st,.7)) calc(100% - 90px),rgba(15,23,1,0) 100%)}
.hero .desk-bg{display:none}
@media (max-width:899px){
  .hero.txt-top .hero-copy{justify-content:flex-start;padding-top:74px}
  .hero.txt-top .hero-foot{margin-top:0}
  .hero.txt-top .hero-foot::before{top:-90px;bottom:-130px;background:linear-gradient(0deg,rgba(18,18,18,0) 0,rgba(18,18,18,var(--sa,.7)) 130px,rgba(18,18,18,max(.8,calc(var(--sa,.7) + .14))) 52%,rgba(18,18,18,.9) 100%);-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 140px);mask-image:linear-gradient(0deg,transparent 0,#000 140px)}
}
.hero-loupe .loupe-bg{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;filter:blur(18px) saturate(1.15);z-index:0}
.hero-loupe .scrim{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(15,23,1,.55) 0,rgba(15,23,1,.35) 30%,rgba(15,23,1,.7) 60%,rgba(15,23,1,.9) 100%)}
.hero-loupe .loupe,.hero-loupe .hero-copy{position:relative;z-index:1}
.hero-loupe:has(.loupe-bg){background:var(--deep);color:#fff}
.hero-loupe:has(.loupe-bg) .btn{background:var(--acc);color:var(--on-acc)}
.hero-loupe:has(.loupe-bg) .btn-ghost{background:transparent;color:#fff}
.hero-loupe:has(.loupe-bg) .facts{border-top-color:rgba(255,255,255,.34)}
.hero-loupe .hero-foot::before{left:-100vw;right:-100vw}
.hv-top .scrim{background:linear-gradient(180deg,rgba(15,23,1,.9) 0,rgba(15,23,1,.78) 22%,rgba(15,23,1,0) 40%,rgba(15,23,1,0) 58%,rgba(15,23,1,.86) 76%,rgba(15,23,1,.93) 100%)}
.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:0 20px 20px;z-index:2}
.hero-name{padding-top:70px}
.hero-foot{margin-top:auto}
.lockup{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:.92;margin:0}
.hero:not(.hero-loupe) .lockup .lk:first-child{color:var(--lkc,inherit)}
.lk{display:block}
.lk-d{font-family:var(--fd);font-weight:400;font-size:min(var(--s),calc((100vw - 44px) / var(--n)));letter-spacing:-0.01em;text-transform:none;line-height:1.02}
.lk-i{font-family:var(--fd);font-size:min(var(--s),calc((100vw - 44px) / var(--n)));line-height:1}
.lk-cb{font-family:'SiteDisplay',var(--ft);font-weight:400;font-size:min(var(--s),calc((100vw - 44px) / var(--n)));letter-spacing:.24em;text-transform:uppercase;line-height:1;margin-right:-.24em}
.lk-cs{font-family:'SiteDisplay',var(--ft);font-weight:400;font-size:clamp(15px,5.2vw,24px);letter-spacing:.26em;text-transform:uppercase;margin-top:10px}
.lk-l{font-family:var(--ft);font-weight:300;font-size:min(var(--s),calc((100vw - 44px) / var(--n)));letter-spacing:.34em;text-transform:lowercase;line-height:1.05;padding-left:.06em}
.hero .kicker{margin-top:12px}
.hero-line{margin-top:12px;font-size:17px;line-height:1.42;max-width:30em;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hero .actions{margin-top:18px}
.hero .btn-ghost{color:#fff}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px 18px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.34)}
.facts dt{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.facts dd{font-size:16px;line-height:1.3;margin-top:3px}
.hero .facts dt{font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;opacity:.9}
.hero .facts dd{font-size:16px;font-weight:500}
.hero .btn{font-size:16px;font-weight:600}
.hero .hero-line{font-size:17px;font-weight:500;-webkit-line-clamp:2}
.hero .lk-cs{font-size:clamp(16px,5.2vw,24px)}
.facts .wide{grid-column:1/-1}

/* the loupe hero: a photo too small to fill the phone sharply, held in the site's shape on their sign colour */
.hero-loupe{height:100svh;min-height:600px;max-height:none;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:20px;padding:76px 0 0;background:var(--acc);color:var(--on-acc)}
.hero-loupe .loupe{width:min(80%,320px,calc(36svh * var(--ar,1)));margin:0 auto}
.few .stmt-img{width:min(80%,340px)}
.few .menu-img{width:min(88%,var(--mw,390px))}
.vs-logo{display:block;height:auto;width:min(72%,300px);max-width:none;margin:0 0 22px}
.few .vs-img:not(:has(.is-sign)){padding-inline:0}
.vs-img:has(.is-sign){padding:var(--gut) var(--gut) 0}
.hero-loupe .loupe .shp{aspect-ratio:4/5;box-shadow:0 0 0 8px color-mix(in oklab,var(--acc),#fff 18%)}
.hero-loupe .hero-copy{position:relative;inset:auto;padding:0 20px 20px;display:block}
.hero-loupe .facts{border-top-color:color-mix(in oklab,var(--on-acc),transparent 62%)}
.hero-loupe .btn{background:var(--on-acc);color:var(--acc)}
.hero-loupe .btn-ghost{background:transparent;color:var(--on-acc)}
.shp:has(.is-sign){border-radius:6px;clip-path:none;aspect-ratio:auto!important}
.is-sign,.is-sign img{height:auto}
.vs-img .shp:has(.is-sign){max-width:none}
/* quick links */
.ql{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px var(--gut) 8px;max-width:1180px;margin-inline:auto}
.ql-i{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;min-height:44px}
.ql-i .shp{width:100%;aspect-ratio:4/5;}
.ql-t{font-size:13.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-align:center;overflow-wrap:normal;word-break:normal}
.lockup .lk,.nm,.tile-t,.h,.vs-h,.mn,.btn,.logo-t,.kicker,.vlab{overflow-wrap:normal;word-break:normal;hyphens:manual}

/* bands */
.band{color:var(--on-b1);background:var(--b1);overflow:hidden}
.band .lede,.band .nt,.band .kicker,.band small,.band .vlab,.band .by,.band .pr{color:inherit;opacity:1}
.band.b2{color:var(--on-b2);background:var(--b2)}
.band.b3{color:var(--on-b3);background:var(--b3)}


.mark{display:none}

/* marquee */
.mq{padding:16px 0}
.mq-in{overflow:hidden}
.mq-track{display:flex;width:max-content;animation:mq 48s linear infinite}
.mq ul{display:flex;flex-shrink:0}
.mq li{font-family:var(--fh);font-size:25px;line-height:1.2;white-space:nowrap;padding-right:28px;display:flex;align-items:center;gap:28px;letter-spacing:-0.01em;text-transform:none}
.mq li::after{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.7}
@keyframes mq{to{transform:translateX(-50%)}}

/* features */
.card{display:block;text-decoration:none;color:inherit;min-height:44px}
.cap-text{min-height:44px;align-items:center}
.cap-long{flex-direction:column;align-items:flex-start;gap:2px}
.pr-long{white-space:normal}
a.ps-i,a.ql-i{min-height:44px}
.band em,.hero em,.phero-type em,.pstack:not(.ps-shaped) em{color:inherit}
.hero .lk-l{font-weight:500;letter-spacing:.12em}.hero .lk-cs{font-weight:600}.hero .hero-line,.hero .facts dd{font-weight:500}
.cap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-top:14px}
.cap .nm{flex:1 1 auto;min-width:min(100%,8em)}
.cap .pr{flex:0 1 auto}
.feat-rows{margin-top:22px}
.feat-list .feat-rows{margin-top:0}
.h-script{font-family:var(--fd);font-weight:400;font-size:min(calc(46px * 0.86),12.5vw);letter-spacing:0;text-transform:none;line-height:1.05}
.nm{font-family:var(--fh);font-size:calc(25px * 0.8);line-height:1.1;letter-spacing:-0.01em;text-transform:none}
.pr{font-style:normal;font-weight:600;font-size:19px;white-space:nowrap;color:var(--ink)}
.nt{display:block;margin-top:6px;font-size:17px;color:color-mix(in oklab,var(--ink),var(--g) 22%);line-height:1.45;color:var(--mut);max-width:32em}
.fs-list{display:grid;gap:44px;padding-inline:var(--gut);max-width:1180px;margin-inline:auto}
.fs-i .shp{aspect-ratio:4/5}
.tile{display:flex;align-items:center;justify-content:center;padding:28px;background:var(--acc);color:var(--on-acc);text-align:center}
.tile-t{font-family:var(--fd);font-weight:400;font-size:min(calc(44px * 0.86),9vw);line-height:1.05;letter-spacing:-0.01em;text-wrap:balance}
.fa-list{display:grid;gap:40px;padding-inline:var(--gut)}
.fa-i{width:100%}

.fa-i .shp{aspect-ratio:4/5}
.swipe-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.swipe-head .sec-head{flex:1}
.hint{padding-bottom:26px;font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);white-space:nowrap}
.hint::after{content:" \2192"}
.sw-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);padding:0 var(--gut) 8px;scrollbar-width:none}
.sw-row::-webkit-scrollbar{display:none}
.sw-i{flex:0 0 70%;scroll-snap-align:start}
.feat-grid .sw-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px;overflow:visible;padding:0 var(--gut)}
.feat-grid .sw-i{min-width:0}
.feat-grid .sw-row.n3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px}
.feat-grid .n3 .nm{font-size:calc(16px * 0.8)}.feat-grid .n3 .pr{font-size:15px}.feat-grid .n3 .nt{display:none}
.feat-grid .cap{flex-direction:column;align-items:flex-start;gap:2px;margin-top:10px}
.feat-grid .nm{font-size:calc(19px * 0.8)}
.feat-grid .pr{font-size:17px}
.feat-grid .nt{font-size:15px}
.sw-i .shp{aspect-ratio:4/5}
.sw-i .nm{font-size:calc(21px * 0.8)}
.sw-i .pr{font-size:17px}
.feat>.actions{margin-top:30px}
.feat{padding-bottom:44px}

/* menu */
.menu{padding-bottom:40px}
.menu.has-img{background:color-mix(in oklab,var(--g),var(--ink) 5%);margin-top:36px}
.feat+.menu.has-img{margin-top:0}
.mp-only{font-size:18px;white-space:normal}
.menu-img{width:min(72%,340px);margin:0 auto;padding-top:44px}
.menu-img .shp{aspect-ratio:4/5}
.menu.has-img .sec-head{padding-top:30px;text-align:center}
.menu.has-img .sec-head .h::after{margin-inline:auto}
.rows li{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:4px 18px;padding:14px 0;border-bottom:1px solid color-mix(in oklab,var(--ink),transparent 82%)}
.rows li.long{grid-template-columns:minmax(0,1fr)}
.rows li.long .mp{white-space:normal;color:var(--acc-t)}
.mn small{display:block;font-size:16px;color:var(--mut)}
.mp{white-space:nowrap;font-weight:600}
@media (max-width:360px){.mp{white-space:normal}.rows li{grid-template-columns:minmax(0,1fr)}}
.more summary{display:flex;align-items:center;min-height:48px;font-weight:600;cursor:pointer;color:var(--acc-t)}

/* statement */
.stmt{padding:56px 0 60px;text-align:center}
.stmt-img{position:relative;width:min(64%,300px);margin:0 auto 34px}
.stmt-img .shp{aspect-ratio:4/5}
.stmt .q{font-family:var(--fh);font-weight:400;font-size:min(calc(31px * 0.8),8.4vw);line-height:1.18;letter-spacing:-0.01em;text-wrap:balance;max-width:20em;margin:0 auto}
.stmt:not(.own) .q::before{content:"\201C"}.stmt:not(.own) .q::after{content:"\201D"}
.stmt .by{margin-top:22px;font-size:13.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
.stamp{position:absolute;right:-16%;bottom:-8%;width:118px;height:118px;transform:rotate(-12deg)}
.st-bg{fill:var(--acc)}.st-t{font-family:var(--ft);font-size:11.5px;font-weight:700;letter-spacing:.12em;fill:var(--on-acc);color:var(--on-acc)}

/* photostack */
.pstack{background:var(--deep);color:#fff}
.pstack .sec-head{padding-top:48px}
.pstack .h{color:#fff}
.ps-i{display:block;text-decoration:none;color:#fff}
.ps-ph{aspect-ratio:3/4;overflow:hidden}
.ps-i+.ps-i{margin-top:30px}
.ps-shaped{background:var(--g);color:var(--ink);padding-top:12px}
.ps-shaped .h{color:var(--ink)}
.ps-shaped .ps-i{color:var(--ink);padding-inline:var(--gut)}
.ps-shaped .ps-ph{border-radius:50% 50% 0 0 / 18% 18% 0 0;}
.ps-shaped .ps-i .pr{color:var(--ink)}
.ps-shaped figcaption{padding-inline:2px}
.ps-i figcaption{flex-wrap:wrap}
.ps-i figcaption .nm{flex:1 1 auto;min-width:min(100%,8em)}
.ps-i figcaption.cap-long{flex-direction:column;align-items:flex-start;gap:4px}
.pstack>*{align-self:start}
.ps-i figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:64px;padding-block:14px 18px}
.ps-i .nm{font-size:calc(23px * 0.8)}
.ps-i .pr{color:#fff;font-size:19px}

/* mosaic */
.mosaic{padding-bottom:6px}
.mz{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-inline:6px;max-width:1400px;margin-inline:auto}
.mz-c{display:grid;gap:6px;align-content:start}
.mz-i{overflow:hidden;border-radius:0}

/* story */
.story{padding-bottom:56px}
.numeral{font-family:var(--fd);font-size:min(34vw,190px);line-height:.82;letter-spacing:-.03em;color:var(--acc-t);padding:48px var(--gut) 0;}
.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start;padding:48px var(--gut) 0}
.pair .p1{aspect-ratio:4/5}
.pair .p2{aspect-ratio:1;margin-top:56px}
.pair:has(> :only-child){grid-template-columns:minmax(0,1fr)}
.pair:has(> :only-child) .p1{aspect-ratio:4/3}
.story .wrap{padding-top:24px}
.story .sec-head{padding-top:44px}
.body{margin-top:14px;max-width:34em;text-wrap:pretty}

/* ledger */
.ledger{padding:8px 0 44px}
.ledger .sec-head{padding-top:44px}
.ledger .lede,.ledger .h{color:inherit}
.lg-r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;align-items:baseline;padding:18px 0;border-top:1px solid color-mix(in oklab,currentColor,transparent 70%)}
.lg-r dt{font-family:var(--fh);font-size:calc(38px * 0.8);line-height:1;letter-spacing:-.01em}
.lg-r dd{font-size:16px;line-height:1.4}

/* proof */
.proof{padding-bottom:40px}
.pq{margin-top:8px;padding:26px 0;border-top:1px solid color-mix(in oklab,var(--ink),transparent 80%)}
.pq p{font-family:var(--fd);font-size:24px;line-height:1.3;text-wrap:pretty}
.pq p::before{content:"\201C"}.pq p::after{content:"\201D"}
.pq figcaption{margin-top:14px;font-size:13.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mut)}

/* social */
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding-inline:4px}
.sg figure{aspect-ratio:1}

/* visit */
.visit{padding:0 0 56px}
.vs-img{padding:40px var(--gut) 0}
.vs-img .shp{aspect-ratio:4/5;max-width:520px;margin-inline:auto}
.vs-body{padding-top:30px}
.vs-h{font-family:var(--fd);font-weight:400;font-size:min(calc(54px * 0.8),13vw);line-height:.95;letter-spacing:-0.01em;text-transform:none}
.vs-line{margin-top:14px;font-size:18px;line-height:1.4;max-width:30em}
.vs-block,.vf{margin-top:26px}
h3.vlab{font-size:13.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px}
.hours div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-bottom:1px solid color-mix(in oklab,currentColor,transparent 72%);font-size:17px}
.hours dt{flex:none;max-width:55%}.hours dd{text-align:right;flex:1 1 auto;min-width:0}
.hours dd{text-align:right}
.vf p,.vf-a{font-size:19px;line-height:1.35}
.vf-a{display:inline-flex;align-items:center;min-height:44px;text-decoration-thickness:1px;text-underline-offset:4px}
.vs-act{margin-top:30px}
.visit .btn{background:var(--on-b1);color:var(--b1)}
.visit.b2 .btn{background:var(--on-b2);color:var(--b2)}
.visit.b3 .btn{background:var(--on-b3);color:var(--b3)}
.visit .btn-ghost{background:transparent;color:currentColor}

/* faq, cta */
.faq{padding-bottom:48px}
.faq details{border-top:1px solid color-mix(in oklab,var(--ink),transparent 80%)}
.faq summary{display:flex;align-items:center;min-height:56px;font-weight:600;cursor:pointer}
.faq details p{padding-bottom:18px;color:var(--mut)}
.cta{padding:56px 0}
.cta .btn{background:var(--on-b1);color:var(--b1)}
.cta.b2 .btn{background:var(--on-b2);color:var(--b2)}
.cta.b3 .btn{background:var(--on-b3);color:var(--b3)}

/* inner page hero */
.phero{position:relative;min-height:62svh;color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:var(--deep)}
.phero-ph{display:block;min-height:0;color:var(--ink);background:var(--g)}
.phero-img{aspect-ratio:4/3;overflow:hidden}
.phero-ph .phero-copy{padding-block:22px 8px}
.phero.phero-ph .h{color:var(--ink)}.phero.phero-ph .lede{color:var(--mut);opacity:1}.phero.phero-ph .kicker{color:var(--mut)}
.phero>picture{position:absolute;inset:0}
.phero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,1,0) 18%,rgba(15,23,1,.66) 40%,rgba(15,23,1,.9) 58%,rgba(15,23,1,.95) 100%)}
.phero-copy{position:relative;z-index:2;padding-block:40px 30px;width:100%}
.phero .h{color:#fff;font-size:min(calc(46px * 0.8),12vw)}
.phero .lede{color:#fff;opacity:.92}
.home-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.breather{margin-top:40px}
.breather picture{aspect-ratio:3/2}
.breather-logo{display:flex;align-items:center;justify-content:center;min-height:180px;background:var(--deep);color:#fff}
.breather-logo .logo-i,.breather-logo .logo-m{height:72px;max-width:70vw}
.breather-mark{display:flex;align-items:center;justify-content:center;min-height:200px;background:var(--b1);color:var(--on-b1);padding:24px var(--gut)}
.breather-mark .lockup{align-items:center;text-align:center}
.phero-type{min-height:30svh;background:var(--acc);color:var(--on-acc)}
.phero-type .h,.phero-type .lede{color:var(--on-acc)}
.phero-type .h-script{font-size:calc(64px * 0.86)}
.phero-type .mark{display:block;position:absolute;right:-12%;top:8%;width:90%;max-width:640px;aspect-ratio:3;background:currentColor;opacity:.12;pointer-events:none}

/* footer */
.foot{background:var(--deep);color:#fff;padding:48px 0 40px;margin-top:0}
.foot-logo{height:54px;max-width:200px}
.foot-name{font-family:var(--fd);font-size:28px}
.foot-nav{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:22px}
.foot-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:48px;padding-inline:4px;text-decoration:none;font-weight:600}
.foot-addr{margin-top:14px;opacity:.9}
.foot-tel{display:inline-flex;align-items:center;min-height:44px}
.foot-c{margin-top:18px;font-size:14px;opacity:.85}

/* motion, reduced-motion safe */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .ct .shp,.sw-i .shp,.g2-i,.full,.ql-c .shp,.ps-ph{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
    @keyframes rise{from{opacity:.001;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}
  }
}
@media (prefers-reduced-motion:reduce){
  .hero>picture img{animation:none}
  .mq-track{animation:none;width:max-content;display:flex}
  .mq ul{flex-wrap:nowrap;padding-inline:var(--gut)}
  .mq ul[aria-hidden]{display:none}
}

/* desktop */
@media (min-width:900px){
  body{font-size:18px}
  .h{font-size:calc(58px * 0.8)}
  .hero{max-height:none}
  .hero-copy{padding:0 6vw 48px}
  .hero-tiles.t4{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
  .hero-tiles.t2,.hero-tiles.t3{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
  .hero-foot::before{left:-6vw;right:-30vw;top:-160px;bottom:-48px;background:linear-gradient(90deg,rgba(18,18,18,min(.9,calc(var(--sa,.7) + .08))) 0,rgba(18,18,18,var(--sa,.7)) 62%,rgba(18,18,18,0) 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 160px);mask-image:linear-gradient(180deg,transparent 0,#000 160px)}
  .hero:not(.hero-loupe) .hero-foot::before{-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 160px),linear-gradient(90deg,#000 0,#000 58%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,transparent 0,#000 160px),linear-gradient(90deg,#000 0,#000 58%,transparent 100%);mask-composite:intersect}
  .hero.txt-right:not(.hero-loupe) .hero-foot::before{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 160px),linear-gradient(270deg,#000 0,#000 58%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 160px),linear-gradient(270deg,#000 0,#000 58%,transparent 100%)}
  .hero.desk-split{background:#121212}
  .hero .lockup .lk:first-child{color:inherit}
  .hero.txt-right .hero-copy{align-items:flex-end}
  .hero.txt-right .hero-foot{margin-left:auto}
  .hero.txt-right .hero-foot::before{left:-30vw;right:-6vw;background:linear-gradient(270deg,rgba(18,18,18,min(.9,calc(var(--sa,.7) + .08))) 0,rgba(18,18,18,var(--sa,.7)) 62%,rgba(18,18,18,0) 100%)}
  .hero.desk-split .desk-bg{display:block;position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;filter:blur(28px) saturate(1.05) brightness(.8)}
  .hero.desk-split>picture img{object-fit:contain;object-position:72% 50%}
  .phero-img{aspect-ratio:21/9}
  .mz{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-foot{max-width:760px}
  .lk-d{font-size:calc(var(--s) * 1.45)}.lk-cb{font-size:calc(var(--s) * 1.5)}.lk-l,.lk-i{font-size:calc(var(--s) * 1.4)}
  .ql{grid-template-columns:repeat(3,minmax(0,260px));justify-content:center;gap:28px;padding-top:40px}
  .fs-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .fa-list{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1180px;margin-inline:auto;gap:28px}
  .fa-i{width:auto}.fa-i:nth-child(even){margin-left:0;margin-top:80px}
  .fa-i:nth-child(even) .cap{flex-direction:row}.fa-i:nth-child(even) .cap,.fa-i:nth-child(even) .nt{text-align:left}
  .sw-row{max-width:1180px;margin-inline:auto}
  .sw-i{flex-basis:23%}
  .stmt.has-img{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:center;gap:56px;text-align:left;padding:80px max(var(--gut),calc((100% - 1180px)/2))}
  .stmt.has-img .stmt-img{margin:0;width:100%;max-width:420px}
  .stmt .q{font-size:calc(44px * 0.8);margin:0}
  .pstack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 4px}
  .menu.has-img{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:48px;padding:56px max(var(--gut),calc((100% - 1180px)/2))}
  .menu.has-img .menu-img{width:100%;max-width:420px;padding:0}
  .menu.has-img .sec-head{text-align:left}.menu.has-img .sec-head .h::after{margin-inline:0}
  .pstack .sec-head{grid-column:1/-1}
  .mz{columns:4}
  .pair{max-width:900px;margin-inline:auto}
  .visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px;padding:60px max(var(--gut),calc((100% - 1180px)/2))}
  .vs-img{padding:0}.vs-body{padding:0}
}

/* ---- the image system ---- */
.shp{border-radius:0!important;clip-path:none!important;background:transparent;box-shadow:none!important}
.full{display:block;aspect-ratio:4/5;overflow:hidden}
.full picture{width:100%;height:100%}
.sec-head{padding:76px var(--gut) 22px}
.h{font-weight:400;letter-spacing:-0.02em;line-height:1;font-size:min(calc(44px * 0.8),12vw)}
.h-script{font-weight:400}
.lede{margin-top:10px;color:var(--mut)}
.fs-list{display:grid;gap:2px;padding:0!important;max-width:none!important}
.fs-i{width:100%}
.ct .card{position:relative;display:block}
.ct .shp{aspect-ratio:4/5}
.ov{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:150px 20px 22px;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.55) 42%,rgba(0,0,0,.86) 100%)}
.ov .nm{color:#fff;font-family:var(--fh);font-size:min(calc(32px * 0.8),9vw);line-height:1.02;font-weight:400;letter-spacing:-0.01em;}
.ov .pr{color:#fff!important;font-size:17px;font-weight:600;font-style:normal;font-family:var(--ft);white-space:normal}
.go{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;margin-top:10px;border-radius:999px;background:#fff;color:#111;font-family:var(--ft);font-size:15px;font-weight:600}
.ct-nt{padding:12px var(--gut) 0;margin:0;font-size:16px;color:var(--mut)}
.sw-row{display:flex!important;gap:8px!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);padding:0 var(--gut) 6px!important;scrollbar-width:none;grid-template-columns:none!important}
.sw-row::-webkit-scrollbar{display:none}
.sw-row .sw-i{flex:0 0 80%!important;min-width:0;scroll-snap-align:start}
.sw-i .shp{aspect-ratio:4/5}
.sw-i .cap,.g2 .sw-i .cap{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:12px}
.sw-i .nm{font-family:var(--ft)!important;font-weight:600;font-size:17px!important;letter-spacing:0!important;text-transform:none!important}
.sw-i .pr{font-family:var(--ft);font-style:normal;font-size:16px!important;font-weight:500;color:var(--mut)}
.sw-i .nt{font-size:15px;margin-top:4px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:0;margin:0;list-style:none}
.g2 .g2-i,.g2 .sw-i{margin:0;min-width:0}
.g2 .shp,.g2 figure.g2-i{aspect-ratio:4/5;overflow:hidden}
.g2-sq figure.g2-i{aspect-ratio:1}
.g2 .sw-i .cap{padding:0 12px}
.g2 .sw-i .nt{padding:0 12px 14px}
.sg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:0}
.ql-row{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);padding:28px var(--gut) 6px;scrollbar-width:none}
.ql-row::-webkit-scrollbar{display:none}
.ql-c{position:relative;flex:0 0 72%;scroll-snap-align:start;display:block;text-decoration:none;color:#fff;min-height:44px}
.ql-c .shp{aspect-ratio:4/5}
.ov-sm{padding:110px 18px 18px}
.ql-l{font-family:var(--ft);font-weight:700;font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.pstack,.pstack.ps-shaped{background:var(--g)!important;color:var(--ink)!important}
.pstack .h{color:var(--ink)!important}
.ps-i{display:block;text-decoration:none;color:var(--ink)!important;padding:0!important}
.ps-ph{aspect-ratio:4/5;border-radius:0!important;clip-path:none!important}
.ps-i figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px var(--gut) 0!important;min-height:44px}
.ps-i .nm{font-family:var(--fh);font-size:calc(22px * 0.8)!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)}
.ps-i .pr{color:var(--ink)!important;font-style:normal;font-family:var(--ft);font-weight:600;font-size:16px!important}
.ps-i+.ps-i{margin-top:28px}
.stmt{padding:76px 0}
.stmt-photo,.vs-photo{margin-top:56px}
.full:has(.is-sign){aspect-ratio:auto}
.full:has(.is-sign) img{height:auto}
.feat-rows{margin-top:8px}
@media (max-width:899px){.hero.txt-top .hero-copy{padding-top:118px}}
.visit{padding:8px 0 64px}
.visit .vs-body{padding-top:44px}
.menu{background:none!important;margin-top:56px;padding-bottom:40px}
.menu .sec-head{padding-top:40px;text-align:left}
.menu .sec-head .h::after{margin-inline:0}
.feat{padding-bottom:16px}
.feat>.actions{margin-top:24px}
.story .wrap{padding-top:8px}
/* type system: a dramatic display scale, tight on large type, balanced; tracked eyebrows; an 8 px rhythm */
.sec-head{padding:88px var(--gut) 24px}
.eyebrow{font-family:var(--ft);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin:0 0 12px}
.band .eyebrow{color:inherit}
.h{font-size:clamp(38px,12vw,64px)!important;line-height:.98;letter-spacing:-0.025em;text-wrap:balance}
.h-script{font-size:clamp(42px,13vw,68px)!important;letter-spacing:0}
.ov .nm{font-size:clamp(34px,11.5vw,60px)!important;line-height:.96;letter-spacing:-0.025em;text-wrap:balance}
.stmt .q{font-size:clamp(28px,8.6vw,48px)!important;line-height:1.12;letter-spacing:-0.015em;text-wrap:balance}
.vs-h{font-size:clamp(44px,14vw,72px)!important;letter-spacing:-0.02em}
.stmt{padding:96px 0}
.ps-i+.ps-i{margin-top:32px}
/* the sticky action bar on phones: after the first screen, safe-area aware, 44 px taps; hidden where unsupported */
.abar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(18,18,18,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;visibility:hidden}
.abar.n3{grid-template-columns:1.3fr 1fr 1fr}.abar.n2{grid-template-columns:1fr 1fr}
.abar a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;color:#fff;text-decoration:none;font-family:var(--ft);font-weight:600;font-size:15px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}
.abar a.ab-main{background:#fff;color:#111;box-shadow:none}
@supports (animation-timeline:scroll()){
  @media (max-width:899px){
    .ft2{padding-bottom:calc(106px + env(safe-area-inset-bottom))}
    .abar{animation:abar linear both;animation-timeline:scroll(root);animation-range:760px 900px}
    @keyframes abar{from{opacity:0;visibility:hidden;transform:translateY(12px)}to{opacity:1;visibility:visible;transform:none}}
    body:not(.inner) .bar{position:fixed;animation:barsolid linear both;animation-timeline:scroll(root);animation-range:600px 820px}
    @keyframes barsolid{from{background:rgba(18,18,18,0)}to{background:rgba(18,18,18,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}
  }
}
@supports not (animation-timeline:scroll()){.abar{display:none}}
@media (prefers-reduced-motion:reduce){.abar{transform:none!important}}
@media (min-width:900px){.abar{display:none}}
/* the footer as a design moment: their wordmark or logo large, edge to edge, over hours, address and phone */
.ft2{padding:72px 0 40px;background:var(--deep);color:#fff}
.ft-mark{margin:0;padding:0 12px 40px;font-family:var(--fd);font-weight:400;font-size:clamp(56px,19vw,180px);line-height:.88;letter-spacing:-0.03em;text-wrap:balance}
.ft-logo{padding:0 var(--gut) 40px}
.ft-logo .logo-i{height:auto!important;max-height:160px!important;width:min(100%,var(--fw,320px))!important;max-width:100%!important;object-fit:contain;object-position:left center}
.ft-logo .logo-m{width:min(100%,var(--fw,320px))!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:var(--ar,3)}
.ft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:32px 40px;padding-bottom:16px}
.ft-col .vlab{margin-top:20px;opacity:.75}
.ft2 .hours div{border-bottom-color:rgba(255,255,255,.2)}
.ft2 .foot-nav{margin-top:28px}
.ft2 .foot-addr,.ft2 .foot-tel{font-size:18px}
@media (min-width:900px){
  .fs-list{grid-template-columns:minmax(0,7fr) minmax(0,5fr)!important;align-items:end}
  .fs-list .ct:nth-child(odd) .shp{aspect-ratio:7/6}.fs-list .ct:nth-child(even) .shp{aspect-ratio:5/6}
  .fs-list .ct:nth-child(4n+3){order:0}
  .ov .nm{font-size:clamp(40px,4.4vw,72px)!important}
  .sw-row .sw-i{flex-basis:calc(25% - 6px)!important}
  .ql-c{flex-basis:calc(25% - 6px)}
  .ft-mark{font-size:clamp(80px,12vw,220px)}
}
@media (min-width:900px){
  .fs-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sw-row .sw-i{flex-basis:30%!important}
  .ql-c{flex-basis:30%}
  .g2{grid-template-columns:repeat(4,minmax(0,1fr))}
  .full{aspect-ratio:21/9}
  .stmt{padding:96px max(var(--gut),calc((100% - 1000px)/2))}
}


/* ---- dissolves (both versions) ---- */
:root{--gb:244,246,248}
.band{--bb:var(--b1)}.band.b2{--bb:var(--b2)}.band.b3{--bb:var(--b3)}
.bar-call,.nav summary{box-shadow:none!important;background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;text-transform:none!important;letter-spacing:.01em!important;font-weight:500!important;font-size:16px!important;padding:0 12px!important}
.nav summary{font-size:24px!important;font-weight:300!important}
.phero-dz{display:block;background:var(--g);color:var(--ink);min-height:0}
.phero-dz .phero-img{position:relative;aspect-ratio:var(--pa,.8);max-height:76svh;overflow:hidden}
.phero-dz .phero-img picture{position:absolute;inset:0}
.phero-dz .phero-img img{width:100%;height:100%;object-fit:cover}
.phero-dz .phero-img::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,rgba(var(--gb),0) 0,rgba(var(--gb),.28) 26%,rgba(var(--gb),.66) 52%,rgba(var(--gb),.9) 74%,var(--g) 92%);pointer-events:none}
.phero-dz .phero-img::before{content:"";position:absolute;z-index:1;inset:0 0 auto 0;height:150px;background:linear-gradient(180deg,rgba(18,18,18,.78) 0,rgba(18,18,18,.5) 64px,rgba(18,18,18,0) 150px);pointer-events:none}
.inner .phero-dz .phero-img::before{display:none}
.phero-dz .phero-copy{position:relative;z-index:2;margin-top:-76px;padding-block:0 20px;text-shadow:0 0 14px rgba(var(--gb),.9),0 0 3px rgba(var(--gb),.8)}
.phero.phero-dz .h{color:var(--ink)}.phero.phero-dz .lede{color:var(--mut);opacity:1}.phero.phero-dz .kicker,.phero.phero-dz .kicker a{color:var(--ink);opacity:1}
.dz .story>.g2,.dz .story>.full{position:relative}
.dz .story>.g2::after,.dz .story>.full::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,rgba(var(--gb),0) 0,rgba(var(--gb),.3) 28%,rgba(var(--gb),.74) 54%,rgba(var(--gb),.93) 70%,var(--g) 84%);pointer-events:none}
.dz .story>.g2+.wrap,.dz .story>.full+.wrap{position:relative;z-index:1;margin-top:-42px;padding-top:0}
.dz .story>.g2+.wrap .sec-head,.dz .story>.full+.wrap .sec-head{padding-top:0}
.dz .menu>.full{position:relative}
.dz .menu>.full::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,rgba(var(--gb),0) 0,rgba(var(--gb),.3) 28%,rgba(var(--gb),.74) 54%,rgba(var(--gb),.93) 70%,var(--g) 84%);pointer-events:none}
.dz .menu>.full+.wrap{position:relative;z-index:1;margin-top:-42px}
.dz .menu>.full+.wrap .sec-head{padding-top:0}
.dz .rows-np li{grid-template-columns:1fr}
.terms{margin:16px 0 0;font-size:15px;line-height:1.5;color:var(--mut);max-width:34em}.terms+.terms{margin-top:6px}
.terms-q{margin-top:18px}.terms-q span+span::before{content:"\00b7";margin:0 .45em}
.ph-only .card{display:block}
.dz .has-ph{padding-top:0!important}
.dz .dis-ph{position:relative;display:block;aspect-ratio:4/5;overflow:hidden}
.dz .dis-ph picture{width:100%;height:100%}
.dz .dis-ph::after{content:"";position:absolute;inset:auto 0 0 0;height:max(44%,150px);background:linear-gradient(180deg,rgba(0,0,0,0) 0,color-mix(in srgb,var(--bb),transparent 55%) 34%,color-mix(in srgb,var(--bb),transparent 14%) 58%,color-mix(in srgb,var(--bb),transparent 3%) 76%,var(--bb) 90%);pointer-events:none}
.dz .dis-ph+.wrap,.dz .dis-ph+blockquote{position:relative;z-index:1;margin-top:-52px}
.dz .dis-ph+.wrap .vs-h,.dz .dis-ph+blockquote .q{text-shadow:0 0 22px var(--bb),0 0 6px var(--bb)}
.dz .visit.has-ph .vs-body{padding-top:0}
.dz .stmt-b{padding:0 0 64px}
.dz .stmt-b:not(.has-ph){padding-top:72px}
.dz .ov .ov-nt{display:block;font-family:var(--ft);font-size:15px;line-height:1.4;font-weight:400;margin-top:2px;max-width:28em}
.va .pstack .ps-i figure,.va figure.ps-i{position:relative;margin:0}
.va .pstack figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;min-height:0;padding:96px var(--gut) 18px!important;background:linear-gradient(180deg,rgba(var(--gb),0) 0,rgba(var(--gb),.6) 45%,rgba(var(--gb),.94) 100%);color:var(--ink)}
.va .pstack figcaption .nm,.va .pstack figcaption .pr{color:var(--ink)!important}
.va .ql-row .ov{background:linear-gradient(180deg,rgba(var(--gb),0) 0,rgba(var(--gb),.62) 46%,rgba(var(--gb),.96) 100%);color:var(--ink)}
.va .ql-row .ov .ql-l{color:var(--ink)}
@supports (animation-timeline:view()){
  .sw-row .sw-i .cap,.sw-row .sw-i .nt,.sw-row .ov,.ql-row .ql-c .ov{animation:labelIn linear both!important;animation-timeline:view(inline)!important;animation-range:entry 60% entry 100%!important}
  @keyframes labelIn{from{opacity:0}to{opacity:1}}
}
@media (min-width:900px){
  .phero-dz .phero-img{aspect-ratio:21/9;max-height:70svh}
  .phero-dz .phero-copy{margin-top:-140px}
  .dz .dis-ph{aspect-ratio:21/9!important}
  .dz .dis-ph+.wrap,.dz .dis-ph+blockquote{margin-top:0}
  .dz .visit.has-ph .vs-body{padding-top:56px!important}
  .dz .dis-ph+.wrap .vs-h,.dz .dis-ph+blockquote .q{text-shadow:none}
}

@media (max-width:899px){
  .hero.hv-lift{background:#121212}
  .hero.hv-lift>picture{inset:0 0 auto 0;height:calc(100vw / .75);max-height:74%}
  .hero.hv-lift>picture img{width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 50%,rgba(0,0,0,.62) 72%,rgba(0,0,0,.2) 88%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 50%,rgba(0,0,0,.62) 72%,rgba(0,0,0,.2) 88%,transparent 100%)}
}


/* ---- proto6 ---- */
.hp-kick{margin:0;font-family:var(--ft);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.hp-h1,.hp-h2{margin:10px 0 0;font-family:var(--fd);font-weight:500;line-height:1.06;letter-spacing:-.01em;text-wrap:balance}
.hp-h1{font-size:clamp(34px,10vw,72px)}
.hp-h2{font-size:clamp(22px,6vw,34px)}
.hp-util{margin:16px 0 0;font-size:15px;line-height:1.4}
.hp-util a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;display:inline-flex;flex-wrap:wrap;align-items:center;column-gap:.4em;min-height:44px}
.hv-panel{position:relative;display:flex;flex-direction:column;height:100svh;min-height:600px;max-height:1000px;background:var(--deep);color:#fff;overflow:hidden}
.hv-panel .hp-photo{position:relative;flex:1 1 auto;min-height:44svh;overflow:hidden}
.hv-panel .hp-photo picture{position:absolute;inset:0}
.hv-panel .hp-photo img{width:100%;height:100%;object-fit:cover}
.hv-panel .hp-photo::before{content:"";position:absolute;z-index:1;inset:0 0 auto 0;height:130px;background:linear-gradient(180deg,rgba(18,18,18,.68) 0,rgba(18,18,18,.4) 60px,rgba(18,18,18,0) 130px);pointer-events:none}
.hv-panel .hp-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:26%;background:linear-gradient(180deg,rgba(var(--gb),0) 0,rgba(var(--gb),.7) 60%,var(--deep) 100%);pointer-events:none}
.hv-panel .hp-copy{position:relative;flex:0 0 auto;padding:4px var(--gut) 22px}
.hv-panel .hp-kick{color:color-mix(in srgb,#fff,transparent 18%)}
.hv-panel .actions{margin-top:18px}
.hv-panel .btn-ghost{color:#fff}
.vb .hv-float .hd-copy{text-align:center}
.vb .hv-float .hp-kick{color:var(--acc-t)}
.vb .hv-float .hp-h1{color:var(--ink)}
.vb .hv-float .hp-util{color:var(--mut)}
.vb .hv-float .actions{justify-content:center}
.vb .hv-float .actions .btn:not(.btn-ghost){background:var(--acc);color:var(--on-acc)}
.c-shop{--c-top:28px;--c-top-d:44px}
.pcg-more{margin-top:12px}
.pc-more .pc-ph{display:block}

.vs-keep{margin-top:12px}
.vs-note{margin:10px 0 0;font-size:15px;line-height:1.45;color:var(--mut)}
.sec-head.eb-gap::before{content:"\00a0";display:block;font-family:var(--ft);font-size:13px;font-weight:700;letter-spacing:.2em;margin:0 0 12px}
.logo-dark .bar,.logo-dark.inner .bar,.va.logo-dark.pg-home .bar{background:var(--g)!important;color:var(--ink)!important;border-bottom:1px solid color-mix(in srgb,var(--ink),transparent 88%)}
.logo-dark .foot{background:var(--g)!important;color:var(--ink)!important;border-top:1px solid color-mix(in srgb,var(--ink),transparent 88%)}
.logo-dark .breather-logo{background:var(--g)!important;color:var(--ink)!important}
.va.logo-dark .phero.phero-type{background:var(--g)!important;color:var(--ink)}
.va.logo-dark .phero.phero-type .h{color:var(--ink)}
.va.logo-dark .phero.phero-type .lede{color:var(--mut);opacity:1}
.phero.phero-type{display:block;min-height:0;color:#fff;background:linear-gradient(180deg,var(--deep) 0,var(--deep) calc(100% - 64px),color-mix(in srgb,var(--deep),var(--g) 8%) calc(100% - 54px),color-mix(in srgb,var(--deep),var(--g) 26%) calc(100% - 40px),color-mix(in srgb,var(--deep),var(--g) 52%) calc(100% - 26px),color-mix(in srgb,var(--deep),var(--g) 78%) calc(100% - 13px),color-mix(in srgb,var(--deep),var(--g) 94%) calc(100% - 4px),var(--g) 100%)}
.phero.phero-type .phero-copy{padding-block:12px 72px}
.phero.phero-type .kicker{display:none}
.phero.phero-type + section{margin-top:0!important}
.phero.phero-type .h{color:#fff}
.phero.phero-type .lede{color:#fff;opacity:.9}
.phero.phero-type .kicker,.phero.phero-type .kicker a{color:color-mix(in srgb,#fff,transparent 20%)}
.phero.phero-type .mark{display:none}
.pband{padding:0}
.pband-ph{aspect-ratio:5/4;overflow:hidden}
@media (min-width:900px){.phero.phero-type .phero-copy{padding-block:24px 80px}.pband{padding:12px 5vw}.pband-ph{aspect-ratio:2.4;max-width:1180px;margin:0 auto;border-radius:4px}.pband-ph::after,.heritage .her-ph::after{display:none}}
.pg{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 auto;padding:0 var(--gut);max-width:1180px}
.pg-i{aspect-ratio:4/5;overflow:hidden;border-radius:6px}
.pg-i.pg-w{grid-column:1/-1;aspect-ratio:3/2}
.pg-i.pg-w:first-child:nth-last-child(2n){grid-column:auto;aspect-ratio:4/5} /* a wide lead with an even count left (a tile was already shown): every tile the same size, no gap */
@media (min-width:900px){.pg{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:20px;padding:0 5vw}.pg-i.pg-w{grid-column:auto;aspect-ratio:4/5}}
.visit.has-ph .dis-ph{position:relative}
.visit.has-ph .dis-ph::after{display:block;content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(180deg,color-mix(in srgb,var(--g),transparent 100%) 0,color-mix(in srgb,var(--g),transparent 45%) 50%,var(--g) 100%);pointer-events:none}
.heritage .her-ph{position:relative}
.heritage .her-ph:has(.is-sign){aspect-ratio:auto}
.heritage .her-ph::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(180deg,color-mix(in srgb,var(--deep),transparent 100%) 0,color-mix(in srgb,var(--deep),transparent 45%) 50%,var(--deep) 100%);pointer-events:none}
.pband{background:var(--g);padding-bottom:20px}
.breather{padding-bottom:20px}
.breather picture{-webkit-mask-image:linear-gradient(180deg,#000 68%,transparent 100%);mask-image:linear-gradient(180deg,#000 68%,transparent 100%)}
.pband-ph{position:relative}
.pband-ph::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(180deg,color-mix(in srgb,var(--g),transparent 100%) 0,color-mix(in srgb,var(--g),transparent 45%) 50%,var(--g) 100%);pointer-events:none}
.va.pg-home .bar{background:var(--deep)!important}.va .hv-panel .hp-photo::before{display:none}
.visit.has-ph .dis-ph+.wrap{margin-top:0}
.visit.has-ph .dis-ph+.wrap .vs-h{text-shadow:none}
section.visit.has-ph .dis-ph+.wrap.vs-body{padding-top:32px}
.c-chip{min-width:44px;justify-content:center}
.pc-n a{min-width:44px}
.bar-cart{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 8px}
.c-h2 a{display:inline-flex;align-items:center;min-height:44px} /* the shop's first line sits where every inner page's does: the bar is in flow on inner pages */
/* one product card everywhere */
.pcg{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px;margin:0 auto;padding:0 var(--gut);max-width:1180px}
.pc{display:flex;flex-direction:column;min-width:0;margin:0}
.pc-ph{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:color-mix(in srgb,var(--ink),transparent 93%)}
.pc-ph picture,.pc-ph img{display:block;width:100%;height:100%;object-fit:cover}
.pc-n{margin:12px 0 0;font-family:var(--fd);font-size:17px;line-height:1.25;font-weight:500}
.pc-n a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.pc-p{margin:4px 0 0;font-family:var(--ft);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.pc-nt{margin:4px 0 0;font-size:14.5px;line-height:1.4;color:var(--mut)}
.pc-a{align-self:flex-start;margin-top:12px;min-height:44px;padding:0 18px;font-size:14.5px}
.feat .rows{margin-top:24px}
/* category cards: the name under the photo */
.cats{padding:44px 0 8px}
.catg{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin:0 auto;padding:0 var(--gut);max-width:1180px}
.cat{margin:0;min-width:0}
.cat-a{display:block;color:inherit;text-decoration:none}
.cat-ph{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:6px}
.cat-ph picture,.cat-ph img{display:block;width:100%;height:100%;object-fit:cover}
.cat-n{display:flex;align-items:center;min-height:44px;margin-top:6px;font-family:var(--fd);font-size:18px;line-height:1.2}
.catg:has(> :nth-child(3):last-child) > :first-child{grid-column:1/-1}
.catg:has(> :nth-child(3):last-child) > :first-child .cat-ph{aspect-ratio:16/9}
/* heritage in place of a self-quote */
.heritage{padding:64px 0 60px;background:var(--deep);color:#fff;}
.heritage .eyebrow{margin:0 0 10px;color:color-mix(in srgb,#fff,transparent 20%);}
.heritage .h{margin:0}
.heritage .body{margin-top:16px;font-size:17px;line-height:1.6;max-width:34em}
.heritage .her-ph{order:-1;margin:0 0 24px;aspect-ratio:5/4;overflow:hidden;border-radius:4px}
.heritage.has-ph .wrap{display:flex;flex-direction:column}
.heritage .btn-ghost{color:#fff}
.va .vis-a{background:var(--g);color:var(--ink)}.va .vis-a .vlab{color:var(--acc-t);opacity:1}.va .vis-a .btn{background:var(--acc);color:var(--on-acc)}.va .vis-a .btn-ghost{background:transparent;color:var(--ink)}.va .vis-a .dis-ph::after{background:linear-gradient(180deg,rgba(0,0,0,0) 0,color-mix(in srgb,var(--g),transparent 40%) 55%,var(--g) 100%)}
.bar-links{display:none}
@media (min-width:900px){
  .wrap{max-width:1180px;margin-inline:auto;padding-inline:5vw}
  .bar{padding:10px 4vw 0;align-items:center}
  .bar-links{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:12px}
  .bar-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;color:inherit;text-decoration:none;font-family:var(--ft);font-size:15.5px;font-weight:500}
  .bar-links .bar-btn{margin-left:10px;padding:0 22px;color:var(--on-acc);background:var(--acc);border-radius:var(--br)}
  .bar .nav,.bar .bar-call{display:none}
  .hv-panel{flex-direction:row-reverse;height:min(100svh,880px);min-height:640px}
  .hv-panel .hp-photo{flex:0 0 58%;min-height:0}
  .hv-panel .hp-photo::after{inset:0 auto 0 0;width:30%;height:auto;background:linear-gradient(90deg,var(--deep) 0,rgba(var(--gb),.7) 35%,rgba(var(--gb),0) 100%)}
  .hv-panel .hp-copy{flex:1 1 auto;align-self:center;padding:96px 3vw 48px 6vw}
  .hp-h1{font-size:clamp(44px,4.6vw,76px)}
  .pcg{grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:40px 28px;padding:0 5vw}
  .catg{grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:24px;padding:0 5vw}
  .catg:has(> :nth-child(3):last-child) > :first-child{grid-column:auto}
  .catg:has(> :nth-child(3):last-child) > :first-child .cat-ph{aspect-ratio:4/5}
  .heritage .wrap,.heritage.has-ph .wrap{display:grid;grid-template-columns:6fr 5fr;gap:0 6vw;align-items:center}
  .heritage .her-t{grid-column:1}
  .heritage .her-ph{grid-column:2;grid-row:1;order:0;margin:0}
  .visit .vs-body{display:grid;grid-template-columns:1fr 1fr;gap:0 6vw;align-items:start}
  .visit .vs-head{grid-column:1/-1}
  .visit .vs-block{grid-column:1}
  .visit .vf,.visit .vs-act,.visit .vs-mz{grid-column:2}
  .visit .dis-ph{aspect-ratio:21/9!important;max-height:52svh}
  .ft2{padding:56px 0 36px}
  .ft2 .ft-mark{padding:0 5vw 28px}
  .ft2 .ft-logo .logo-i,.ft2 .ft-logo .logo-m{max-height:96px!important;width:auto!important}
  .ft2 .ft-word{font-size:clamp(40px,5vw,72px)}
}



/* seam pass: blocks moved off the phone's screen edges */
@media (min-width:370px) and (max-width:430px){.pg-home [data-p="1"]{aspect-ratio:auto!important;height:532px!important}}

/* fit pass: words that would clip or break at 320 or 390 px */
@media (max-width:359px){.pg-home [data-f="9"]{font-size:35px!important}.pg-home [data-f="17"]{font-size:43.7px!important}.pg-services [data-f="17"]{font-size:35px!important}.pg-services [data-f="18"]{font-size:35px!important}.pg-services [data-f="33"]{font-size:43.7px!important}.pg-gallery [data-f="3"]{font-size:43.7px!important}}
@media (min-width:360px) and (max-width:899px){.pg-home [data-f="9"]{font-size:44.6px!important}.pg-home [data-f="17"]{font-size:54.4px!important}.pg-services [data-f="17"]{font-size:44.6px!important}.pg-services [data-f="18"]{font-size:44.6px!important}.pg-services [data-f="33"]{font-size:54.4px!important}.pg-gallery [data-f="3"]{font-size:54.4px!important}}
