/* Decastro official palette: black #1B1B1A, cream #EFE9E0, forest #444E3B, amber #D69125. Sand is a tone step of the cream. */
:root{
  --bg:#EFE9E0; --sand:#E2DACC; --ink:#1B1B1A; --soft:#4A4A45;
  --green:#444E3B; --amber:#D69125; --on-dark:#EFE9E0;
  --serif:"Libre Caslon Display",Didot,Georgia,serif; --sans:"Jost",Futura,system-ui,sans-serif;
  --m:clamp(20px,4vw,64px);
  --t-body:clamp(18px,1.35vw,24px); --t-small:clamp(17px,1.2vw,21px); --t-ui:clamp(15px,1.05vw,18px);
  --gap:clamp(64px,7.5vw,110px);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 var(--t-body)/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:4px}
ul,ol{list-style:none}
cite{font-style:normal}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(32px,3.7vw,80px);text-transform:uppercase;letter-spacing:.01em}
.page-head.long h1,.post h1{text-transform:none;letter-spacing:-.01em;font-size:clamp(34px,4vw,84px)}
h2{font-size:clamp(32px,3.5vw,74px)}
h3{font-size:clamp(24px,2vw,38px)}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.center{text-align:center}
.center-p{max-width:40em;margin:18px auto 0;text-align:center}
.lab{font:500 var(--t-ui)/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.frame{display:block;overflow:hidden}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
a:hover .frame img{transform:scale(1.03)}
.r32{aspect-ratio:3/2}

/* bar */
.bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:clamp(76px,5vw,96px);padding:10px var(--m);background:var(--bg)}
.mark{flex:none}
.mark img{height:clamp(46px,3.2vw,62px);width:auto}
.links{display:flex;align-items:center;gap:clamp(18px,2.6vw,38px);font:500 var(--t-ui)/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.links a{white-space:nowrap}.links a:not(.btn){position:relative;text-decoration:none;padding:8px 0}
.links a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease)}
.links a:not(.btn):hover::after,.links a[aria-current]::after{transform:scaleX(1)}
.phone-nav{display:none}
.lang{display:flex;align-items:center;gap:10px;font:500 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.lang a{opacity:.5;text-decoration:none;padding:8px 0;transition:opacity .2s var(--ease)}.lang a:hover,.lang a[aria-current]{opacity:1}
.links .lang a::after{display:none}
.links .lang{margin-left:4px;padding-left:16px;border-left:1px solid currentColor}
.phone-nav .lang{margin-top:8px;padding-top:12px;border-top:1px solid rgba(239,233,224,.25)}.phone-nav .lang a{display:inline-block;padding:6px 0}
.foot-nav + .lang{margin-top:18px}
@media(max-width:1399px){.links .lang{display:none}}
@media(max-width:1180px){.links{gap:14px;letter-spacing:.07em}.links .btn{padding:0 18px}.mark img{max-width:150px}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:clamp(48px,3.3vw,60px);padding:0 clamp(26px,1.9vw,36px);background:var(--ink);color:var(--on-dark);border:0;font:500 var(--t-ui)/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),opacity .2s}
.btn:hover{opacity:.85}
.btn:active{transform:scale(.97)}
.btn-light{background:var(--on-dark);color:var(--ink)}

/* hero */
.hero{display:block}
.hero-btn{display:none}
.panels{display:grid;grid-template-columns:repeat(4,1fr)}
.panel{position:relative;overflow:hidden;aspect-ratio:2/3;color:var(--on-dark);text-decoration:none}
.stack,.stack img{position:absolute;inset:0;width:100%;height:100%}
.stack img{object-fit:cover;opacity:0;transition:opacity 1.6s ease,transform 1.2s var(--ease)}
.stack img.on{opacity:1}
.panel:hover .stack img{transform:scale(1.04)}
.scrim{position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(10,10,9,.7))} /* taste-skill-ignore: neutral scrim under text on a photo */
.pname{position:absolute;left:0;right:0;bottom:clamp(20px,2.4vw,36px);padding:0 20px;text-align:center;font:400 clamp(24px,2.4vw,50px)/1.05 var(--serif);text-transform:uppercase}


.wide img{width:100%;height:auto}
.work{display:grid;gap:clamp(16px,2vw,28px);padding:var(--gap) var(--m)}
.work h2{margin-bottom:clamp(14px,2vw,24px)}
.work>p{margin-top:clamp(20px,3vw,36px)}
.work .tall-row img{width:100%;height:auto}

/* service blocks: photograph and colour panel, edge to edge, equal height */
.block{display:grid;grid-template-columns:7fr 5fr;align-items:center}
.block.flip{grid-template-columns:5fr 7fr}
.block.flip .block-pic{order:2}
.block-pic{position:relative;overflow:hidden}
.block-pic>img{width:100%;height:auto}
.block.square,.block.square.flip{grid-template-columns:1fr 1fr}
.block.form-block{grid-template-columns:5fr 7fr;align-items:start}
.block.form-block.mid{align-items:center}
.light .block-pic{aspect-ratio:3/2}
.light .block-pic>img{height:100%;object-fit:cover}
.block-text{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;padding:clamp(40px,5vw,84px)}
.block h2{font-size:clamp(34px,3.4vw,76px);line-height:1.05}
.block>.block-text>p:not(.lab){font-size:clamp(19px,1.6vw,28px)}
.block>.block-text .btn{background:transparent;color:inherit;border:1px solid currentColor}
.block>.block-text .btn:hover{background:currentColor;opacity:1}
.block.t-black>.block-text .btn:hover{color:var(--ink);background:var(--on-dark)}
.block.t-sand>.block-text .btn:hover{color:var(--on-dark);background:var(--ink)}
.block blockquote{font:400 clamp(25px,2vw,34px)/1.3 var(--serif)}
.block cite{display:block;margin-top:8px;font:400 var(--t-small)/1.3 var(--sans)}
.t-black{background:var(--ink);color:var(--on-dark)}
.t-green{background:var(--green);color:var(--on-dark)}
.t-sand{background:var(--sand)}
.t-black .btn,.t-green .btn{background:var(--on-dark);color:var(--ink)}

/* films */
.films{padding:var(--gap) var(--m)}
.films{display:grid;grid-template-columns:4fr 8fr;gap:clamp(30px,5vw,90px);align-items:center}
.films-text{display:grid;gap:20px;justify-items:start}
.film-row{display:flex;align-items:flex-start;gap:clamp(12px,1.6vw,24px)}
.film-band .film-frame{aspect-ratio:16/9;width:100%}
.film{min-width:0}
.film-v{flex:9 1 0}
.film-h{flex:28.44 1 0}
.film-frame{position:relative;aspect-ratio:9/16;background:var(--ink);overflow:hidden}
.film-h .film-frame{aspect-ratio:16/9}
.film-frame video{width:100%;height:100%;object-fit:cover}
.film-frame button{position:absolute;right:12px;bottom:12px;min-height:44px;padding:0 16px;background:var(--on-dark);color:var(--ink);border:0;font:500 var(--t-ui)/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.film figcaption{padding-top:10px;text-align:center;font-size:var(--t-small)}

/* three equal columns, used everywhere a set repeats */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(36px,4vw,56px) clamp(16px,2vw,28px)}
.three a,.two a{text-decoration:none;display:block}
.two{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(36px,4vw,56px) clamp(16px,2vw,28px)}
.portraits-more{padding:0 var(--m) var(--gap)}
.wall-end{height:var(--gap)}
.how{padding:var(--gap) var(--m)}
.how .three{margin-top:44px}
.how h3,.home-blog h3{margin-top:16px}
.how li p{margin-top:8px}
.cards{padding:0 var(--m) var(--gap)}
.card-name{display:block;margin-top:12px;text-align:center;font:400 clamp(26px,2vw,36px)/1.2 var(--serif)}
.card-place{display:block;margin-top:2px;text-align:center;font-size:var(--t-small);color:var(--soft)}

/* sunset */
.light .btn{background:var(--on-dark);color:var(--ink);border:0}
.light-form{display:grid;grid-template-columns:1fr;gap:14px;width:100%}
label{display:grid;gap:6px;font-size:var(--t-small)}
select,input,textarea{width:100%;min-height:48px;padding:10px 12px;font:400 var(--t-body)/1.3 var(--sans);color:inherit;background:transparent;border:1px solid currentColor;border-radius:0}
.light select option{color:var(--ink)}
.light input{color-scheme:dark}
.light-out{display:grid;gap:12px;justify-items:start;width:100%}
.light-out[hidden]{display:none}
.sun{font:400 clamp(44px,4.6vw,72px)/1 var(--serif)}
.light-out b{font-weight:500}

/* words */
.words{padding:var(--gap) var(--m);background:var(--green);color:var(--on-dark)}
.big{max-width:30em;margin:26px auto 0;text-align:center;font:400 clamp(26px,2.5vw,50px)/1.22 var(--serif)}
.words cite{display:block;margin-top:14px;font:400 var(--t-small)/1.3 var(--sans)}
.words .three{margin-top:60px;text-align:center;font:400 clamp(25px,2vw,34px)/1.3 var(--serif)}
.why{margin-top:clamp(36px,4vw,60px);text-align:left}
.why h3{font-size:clamp(26px,2.4vw,44px);line-height:1.1}
.why blockquote{margin-top:16px;font:400 var(--t-body)/1.45 var(--sans)}
.why cite{margin-top:10px;font-size:var(--t-small);font-weight:500}
.words-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 28px;margin-top:54px}

.home-blog{padding:var(--gap) var(--m);display:grid;gap:44px}

/* call to action and footer */
.cta{display:grid;justify-items:center;gap:18px;padding:clamp(70px,8vw,120px) var(--m);background:var(--ink);color:var(--on-dark);text-align:center}
.cta>p:nth-of-type(1){max-width:34em}
.cta-alt{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px}
.foot{display:grid;gap:clamp(22px,2.4vw,32px);justify-items:center;text-align:center;padding:clamp(56px,6vw,84px) var(--m) 26px;background:var(--green);color:var(--on-dark)}
.foot-logo{width:min(300px,62%);height:auto}
.pf-filter button{padding:6px 2px;background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;opacity:.55;transition:opacity .16s ease}
.pf-filter button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.pf-wall{display:grid;gap:8px;padding:0 8px}
.pf-wall[hidden]{display:none}
.pf-row,.pf-stack{display:flex;gap:8px}
.pf-row>div,.pf-stack>div{min-width:0}
.pf-two{display:grid;gap:8px}
.pf-one,.pf-one a{display:block;height:100%}
.pf-one img{height:100%;object-fit:cover}
.pf-wall img{display:block;width:100%;height:auto}
.pf-wall a{position:relative;display:block;text-decoration:none}
.pf-name{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(transparent,rgba(27,27,26,.62));color:var(--on-dark);font:400 24px/1.1 var(--serif);opacity:0;transition:opacity .2s ease}
@media(hover:hover) and (pointer:fine){.pf-wall a:hover .pf-name{opacity:1}.pf-filter button:hover{opacity:1}}
.pf-wall a:focus-visible .pf-name{opacity:1}
.pf-more{padding:clamp(36px,4vw,60px) var(--m) var(--gap)}
/* experience: editorial page */
.xp-lab{font:500 var(--t-ui)/1.5 var(--sans);letter-spacing:.26em;text-transform:uppercase;font-style:normal}
.xp-hero{position:relative;background:var(--ink);color:var(--on-dark)}
.xp-hero img{width:100%;height:auto}
.xp-hero-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:clamp(10px,1.2vw,20px);padding:clamp(40px,6.5vw,130px) var(--m) 0;text-align:center}
.xp-hero h1{font-size:clamp(46px,11vw,240px);line-height:.95;letter-spacing:-.015em}
.xp-says{display:grid;justify-items:center;text-align:center}
.xp-pull{font:400 clamp(30px,3.5vw,68px)/1.1 var(--serif);letter-spacing:-.015em;text-wrap:balance}
.xp-pull-s{font-size:clamp(28px,2.8vw,54px)}
.xp-caps{text-transform:uppercase;letter-spacing:0;max-width:20em}
.xp-body{display:grid;gap:1.1em;max-width:32em;margin-top:clamp(26px,3vw,44px);font-size:var(--t-small);line-height:1.75}
.xp-says cite{margin-top:clamp(28px,3.4vw,52px)}
.xp-open{padding:clamp(60px,8vw,130px) var(--m) clamp(70px,9vw,150px)}
.xp-duo{display:grid;grid-template-columns:5fr 3fr;gap:clamp(24px,5vw,90px);width:min(62vw,1180px);margin:0 auto clamp(60px,8vw,130px);align-items:start}
.xp-duo-b{margin-top:clamp(40px,8vw,140px)}
.xp-open .xp-pull{max-width:15em}
.xp-dark{display:grid;grid-template-columns:7fr 5fr;align-items:center;gap:clamp(30px,5vw,90px);padding:clamp(60px,7vw,120px) var(--m);background:var(--ink);color:var(--on-dark)}
.xp-side{display:grid;grid-template-columns:3fr 4.4fr 5fr;gap:clamp(24px,4vw,70px);align-items:center;padding:clamp(70px,8vw,130px) var(--m) clamp(70px,8vw,130px) 0}
.xp-band{padding:clamp(70px,8vw,130px) var(--m);background:var(--green);color:var(--on-dark)}
.xp-band .xp-pull{max-width:19em}
.xp-pair{display:grid;grid-template-columns:3fr 8fr;gap:clamp(24px,4vw,70px);align-items:center;padding:clamp(70px,8vw,130px) var(--m) 0}
.xp-process{padding:clamp(80px,9vw,150px) var(--m) clamp(70px,8vw,130px);text-align:center}
.xp-process h2,.xp-glance-s h2{margin-top:10px;font-size:clamp(40px,5vw,100px);text-transform:uppercase;letter-spacing:-.015em}
.xp-line{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(1040px,100%);margin:clamp(40px,5vw,80px) auto 0}
.xp-line::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:color-mix(in srgb,currentColor 30%,transparent)}
.xp-line li{position:relative;display:grid;gap:12px;align-content:start;padding-bottom:clamp(30px,3vw,50px)}
.xp-line li::before{content:"";position:absolute;top:clamp(26px,2.4vw,40px);width:clamp(16px,2vw,34px);height:1px;background:color-mix(in srgb,currentColor 30%,transparent)}
.xp-line li:nth-child(odd){grid-column:1;padding-right:clamp(40px,6vw,96px);text-align:right;justify-items:end}
.xp-line li:nth-child(odd)::before{right:0}
.xp-line li:nth-child(even){grid-column:2;margin-top:clamp(70px,8vw,130px);margin-bottom:calc(clamp(70px,8vw,130px) * -1);padding-left:clamp(40px,6vw,96px);text-align:left;justify-items:start}
.xp-line li:nth-child(even)::before{left:0}
.xp-line b{font:400 clamp(52px,5.4vw,96px)/1 var(--serif)}
.xp-line p{max-width:24em;font-size:var(--t-small);line-height:1.7}
.xp-gift{margin-top:clamp(70px,8vw,130px)}
.xp-gift cite{margin-top:clamp(18px,2vw,28px)}
.xp-glance-s{padding:clamp(80px,8vw,130px) var(--m);background:var(--sand);text-align:center}
.xp-nums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(24px,3vw,56px);width:min(1400px,100%);margin:clamp(44px,5vw,80px) auto 0}
.xp-nums li{display:grid;gap:14px;align-content:start;justify-items:center}
.xp-nums b{font:400 clamp(52px,5.2vw,112px)/1 var(--serif);letter-spacing:-.02em}
.xp-nums .xp-lab{max-width:17em;letter-spacing:.2em}
.xp-faq-s{display:grid;grid-template-columns:3fr 5fr 3fr;gap:clamp(24px,4vw,70px);align-items:start;padding:clamp(80px,9vw,150px) 0}
.xp-faq-a{margin-top:clamp(60px,8vw,130px)}
.xp-faq-q{text-align:center}
.xp-faq-q h2{font-size:clamp(34px,3.6vw,72px);text-transform:uppercase;letter-spacing:-.01em;margin-bottom:clamp(30px,3vw,50px)}
.xp-faq details{border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.xp-faq details:last-child{border-bottom:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.xp-faq summary{padding:18px 0;cursor:pointer;list-style:none;letter-spacing:.14em;text-wrap:balance}
.xp-faq summary::-webkit-details-marker{display:none}
.xp-faq p{padding:0 0 24px;font-size:var(--t-small);line-height:1.7}
.xp-go{margin-top:30px}
.xp-go a{font:500 var(--t-ui)/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.xp-wide{position:relative;display:block;background:var(--ink);color:var(--on-dark);text-decoration:none}
.xp-wide img{width:100%;height:auto}
.xp-wide-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:clamp(10px,1.4vw,22px);padding:clamp(30px,7vw,140px) var(--m) 0;text-align:center}
.xp-wide-h{font:400 clamp(40px,8vw,170px)/1 var(--serif);text-transform:uppercase;letter-spacing:-.015em;text-wrap:balance}
.xp-end{display:grid;grid-template-columns:5fr 7fr;align-items:center;padding:clamp(70px,8vw,130px) var(--m);background:var(--ink);color:var(--on-dark)}
.xp-end-pic{width:min(100%,560px);justify-self:end}
.xp-end-text{display:grid;gap:22px;justify-items:start;padding-left:clamp(30px,5vw,90px)}
.xp-end h2{font-size:clamp(40px,6vw,124px);line-height:1;text-transform:uppercase;letter-spacing:-.015em;position:relative}
.xp-end-text>p:not(.xp-end-alt){max-width:30em}
.xp-btn{display:inline-flex;align-items:center;min-height:clamp(52px,3.6vw,64px);padding:0 clamp(26px,2.2vw,40px);border:1px solid currentColor;font:500 var(--t-ui)/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:background-color .25s ease,color .25s ease}
@media(hover:hover) and (pointer:fine){.xp-btn:hover{background:var(--on-dark);color:var(--ink)}}
.xp-end-alt{display:flex;flex-wrap:wrap;gap:6px 26px;font-size:var(--t-small)}
.xp-side img,.xp-pair img,.xp-duo img,.xp-dark img,.xp-faq-s img,.xp-end img{width:100%;height:auto}
@media(max-width:800px){
  .xp-lab{letter-spacing:.2em}
  .xp-hero-text{position:static;padding:34px var(--m) 30px}
  .xp-hero h1{font-size:clamp(46px,14.5vw,110px)}
  .xp-duo{grid-template-columns:1fr;width:100%}
  .xp-duo-b{width:58%;margin:0 0 0 auto}
  .xp-dark{grid-template-columns:1fr}
  .xp-side{grid-template-columns:1fr;padding:60px var(--m)}
  .xp-side-a{width:62%;margin-left:calc(var(--m) * -1)}
  .xp-pair{grid-template-columns:1fr}
  .xp-pair-a{width:58%}
  .xp-line::before,.xp-line li::before{display:none}
  .xp-line{grid-template-columns:1fr}
  .xp-line li:nth-child(n){grid-column:1;margin:0;padding:0 0 40px;text-align:center;justify-items:center}
  .xp-nums{grid-template-columns:1fr 1fr;gap:40px 16px}
  .xp-nums li:last-child{grid-column:1/-1}
  .xp-faq-s{grid-template-columns:1fr 1fr;gap:40px 8px;padding:64px 0}
  .xp-faq-a{margin:0}
  .xp-faq-q{grid-column:1/-1;grid-row:1;padding:0 var(--m)}
  .xp-wide-h{font-size:clamp(34px,10vw,70px)}
  .xp-wide .xp-lab{display:none}
  .xp-end{grid-template-columns:1fr;gap:30px}
  .xp-end-pic{justify-self:start}
  .xp-end-text{padding:0}
  .xp-end h2{margin:0;font-size:clamp(38px,11vw,70px)}
  .xp-btn{padding:0 18px;letter-spacing:.12em;font-size:14px;white-space:nowrap}
}
.foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px clamp(20px,2.6vw,38px);font:500 var(--t-ui)/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.foot-nav a{text-decoration:none}
.foot-nav a:hover,.foot-ways a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.foot-ways{display:flex;flex-wrap:wrap;justify-content:center;gap:8px clamp(24px,3vw,48px);padding-top:clamp(24px,2.6vw,36px);border-top:1px solid color-mix(in srgb,currentColor 26%,transparent);width:min(900px,100%);font:400 clamp(22px,1.9vw,30px)/1.3 var(--serif)}
.foot-ways a{text-decoration:none;overflow-wrap:anywhere}
.legal{font-size:var(--t-small)}

/* inner pages */
.page-head{display:grid;justify-items:center;gap:16px;padding:clamp(40px,5vw,76px) var(--m) clamp(36px,4vw,60px);text-align:center}
.page-head p{max-width:38em}
.jump{display:flex;flex-wrap:wrap;justify-content:center;gap:10px clamp(22px,3vw,44px);width:100%;margin-top:clamp(10px,1.4vw,18px);padding:clamp(16px,1.5vw,22px) 0;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent);font:500 var(--t-ui)/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.jump a{text-decoration:none;transition:opacity .16s ease}
@media(hover:hover) and (pointer:fine){.jump:hover a{opacity:.5}.jump a:hover{opacity:1}}
.gal-sec>h2{text-transform:uppercase;letter-spacing:.01em}
.wide.tall img{width:auto;max-width:100%;max-height:calc(100svh - 96px);margin:0 auto}
.gal-sec{padding-top:clamp(60px,6vw,90px)}
.gal-sec h2{margin-bottom:36px}
.gal-sec .cards{padding-bottom:0}
.gal-sec+.cta{margin-top:var(--gap)}
.note{padding:0 var(--m) var(--gap)}
.center-q{max-width:32em;margin:34px auto 0;text-align:center;font:400 clamp(24px,2.1vw,42px)/1.25 var(--serif)}
.center-q cite{display:block;margin-top:12px;font:400 var(--t-small)/1.3 var(--sans)}
.note .center{margin-top:30px}
.wall{columns:3;column-gap:12px;padding:12px var(--m) 0}
.wall figure{break-inside:avoid;margin-bottom:12px}
.wall img{width:100%}
.next{display:grid;gap:30px;padding:var(--gap) var(--m)}
.next-card{text-decoration:none;display:block;width:min(640px,100%);margin:0 auto}
.team{display:grid;gap:44px;padding:var(--gap) var(--m) 0;text-align:center}
.team ul{display:flex;flex-wrap:wrap;justify-content:center;gap:40px clamp(40px,7vw,110px)}
.team img{width:clamp(200px,20vw,280px);height:auto;border-radius:50%}
.team h3{margin-top:18px}
.proof{position:relative;overflow:hidden;display:grid;gap:clamp(40px,6vw,88px);padding:clamp(64px,8vw,110px) var(--m)}
.proof-logos img[src$='.svg']{width:clamp(56px,6vw,100px)}
.proof-title{display:grid;gap:18px;justify-items:start}
.proof-title h1{font-size:clamp(32px,3.7vw,80px);line-height:1.08;text-transform:uppercase;letter-spacing:.01em}
.proof-main{position:relative}
.proof-where{font:500 clamp(14px,1.25vw,24px)/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.proof-where a{text-underline-offset:4px}
.proof-seal{will-change:transform;position:absolute;top:50%;margin-top:calc(clamp(110px,14vw,210px) / -2);right:0;width:clamp(110px,14vw,210px);height:auto}
.proof-num{font:400 clamp(80px,calc(24px + 13vw),224px)/.85 var(--serif);letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums;margin-left:-.05em;white-space:nowrap}
.proof-label{margin-top:18px;font-size:clamp(24px,3vw,44px)}
.proof-logos{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:clamp(14px,2.4vw,40px);align-items:center}
.proof-logos li{display:flex;align-items:center;justify-content:center;min-width:0;min-height:clamp(64px,8vw,120px)}
.proof-logos img{width:auto;max-width:100%;height:auto;max-height:clamp(64px,8vw,120px);object-fit:contain}
.proof-credits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.proof-credits p{display:grid;gap:8px;align-content:start;padding:clamp(18px,2.2vw,30px);background:var(--sand)}
.proof-credits b{font:400 clamp(36px,4vw,56px)/1 var(--serif)}
.proof-credits .proof-note{background:var(--ink);color:var(--on-dark);align-content:center;font:400 clamp(25px,2.25vw,40px)/1.22 var(--serif)}
.rev-wall{columns:3;column-gap:clamp(24px,3vw,44px);padding:0 var(--m)}
.rev-strip{padding-top:40px}
.rev{break-inside:avoid;margin-bottom:40px;padding:26px;background:var(--sand);font-size:var(--t-small)}
.rev cite{display:block;margin-top:12px;font:400 26px/1.2 var(--serif)}
.post{display:grid;gap:16px;max-width:calc(760px + var(--m)*2);margin:0 auto;padding:clamp(50px,6vw,90px) var(--m) var(--gap)}
.post h2{margin-top:26px;font-size:clamp(25px,2vw,32px)}
.post ul{display:grid;gap:8px;padding-left:20px;list-style:disc}
.post figure{margin:18px 0}
.post .center{margin-top:30px}
.post figure img{width:100%;height:auto}
.post-by{margin-top:18px;font:400 clamp(24px,2vw,30px)/1.2 var(--serif)}
.post-table{overflow-x:auto}
.post-table table{width:100%;border-collapse:collapse;font-size:var(--t-small)}
.post-table th,.post-table td{padding:10px 12px 10px 0;border-bottom:1px solid color-mix(in srgb,currentColor 24%,transparent);text-align:left;white-space:nowrap}
.post-table th{font-weight:500}
.block form{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}
.block .full{grid-column:1/-1}
.block form .btn{justify-self:start;background:var(--ink);color:var(--on-dark);border:0}
.hp{position:absolute;left:-9999px}
.block form label[hidden]{display:none}
.block form .check{display:flex;align-items:center;gap:10px}
.block form .check input{width:20px;min-height:20px;flex:none;accent-color:var(--ink)}
.form-block .block-text{justify-content:flex-start}
.inq-hero{position:relative;background:var(--sand);color:var(--ink)}
.inq-hero>img{width:100%;height:auto}
.inq-hero-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:clamp(12px,1.6vw,26px);padding:clamp(24px,4vw,90px) var(--m) 0;text-align:center}
.inq-hero h1{font-size:clamp(38px,7vw,150px);line-height:1}
.inq-route{font:500 var(--t-ui)/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.inq-route a{text-decoration:none}
.inq-route a:hover{text-decoration:underline;text-underline-offset:4px}
#inquiry{scroll-margin-top:clamp(76px,5vw,96px)}
.inq-h{font-size:clamp(32px,3.2vw,60px)}
.block>.block-text form .btn{justify-self:stretch;width:100%;background:var(--ink);color:var(--on-dark);border:0}
.block>.block-text form .btn:hover{background:var(--ink);color:var(--on-dark);opacity:.86}
.scale{border:0;padding:0;margin:0;min-width:0}
.scale legend{padding:0;margin-bottom:6px;font-size:var(--t-small)}
.scale div{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}
.scale label{display:block;position:relative;cursor:pointer}
.scale input{position:absolute;inset:0;width:100%;min-height:0;height:100%;margin:0;opacity:0;cursor:pointer}
.scale span{display:grid;place-items:center;min-height:48px;border:1px solid currentColor;font:400 22px/1 var(--serif);transition:background-color .16s ease,color .16s ease}
.scale input:checked+span{background:var(--ink);color:var(--on-dark)}
.scale input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.scale label:hover span{background:var(--bg)}.scale input:checked:hover+span,.scale label:hover input:checked+span{background:var(--ink)}}
@media(min-width:801px){.inq-side{position:sticky;top:clamp(76px,5vw,96px)}}
.block form fieldset[hidden]{display:none}
.scale.days div{grid-template-columns:repeat(7,minmax(0,1fr))}
.scale.times div{grid-template-columns:repeat(3,minmax(0,1fr))}
.scale.pick span{font:400 var(--t-small)/1.1 var(--sans)}
.block>.block-text form .inq-privacy{margin-top:-2px;text-align:center;font:400 14px/1.45 var(--sans);opacity:.8}
.inq-privacy a{text-underline-offset:3px}
.cf-turnstile{position:absolute;width:0;height:0;overflow:hidden}
.coll-hero h1{font-size:clamp(34px,5.6vw,120px)}
.coll-hero.on-dark .inq-hero-text,.inq-hero.on-dark .inq-hero-text{color:var(--on-dark)}
.inq-hero.below .inq-hero-text{position:static;padding:clamp(28px,3vw,48px) var(--m) 0;background:var(--sand);color:var(--ink)}
.inq-hero.below .btn{display:none}
.coll-sec{display:grid;gap:clamp(24px,3vw,44px);padding:clamp(56px,7vw,100px) var(--m)}
.coll-sec.t-sand{background:var(--sand)}
.coll-sec .center-p,.coll-sec .center-q{margin-left:auto;margin-right:auto;margin-top:0}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tiers.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.tier{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,2.8vw,48px);background:var(--sand)}
.coll-sec.t-sand .tier{background:var(--bg)}
.tier h3{font-size:clamp(30px,2.7vw,48px)}
.tier ul{display:grid;margin-bottom:10px}
.tier ul li{padding:10px 0;border-top:1px solid color-mix(in srgb,currentColor 24%,transparent);font-size:var(--t-small)}
.tier .btn{margin-top:auto;align-self:flex-start}
.tier.top,.coll-sec.t-sand .tier.top{background:var(--ink);color:var(--on-dark)}
.tier.top .btn{background:var(--on-dark);color:var(--ink)}
.film-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;text-align:center}
.film-list li{padding:18px 14px;background:var(--bg);font-size:var(--t-small)}
.info-steps{max-width:1100px;margin:34px auto 0}
.text-link{font:500 var(--t-ui)/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-underline-offset:4px}
.follow{display:grid;gap:clamp(14px,1.8vw,26px);justify-items:center;padding:var(--gap) var(--m);text-align:center}
.follow h2 a{text-decoration:none}
.follow h2 a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.follow-pics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;margin:clamp(6px,1vw,14px) 0}
.inq-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%}
.inq-steps li{display:grid;gap:6px;align-content:start;padding:14px 16px;background:var(--bg);font-size:var(--t-small);line-height:1.3}
.inq-steps b{font:400 28px/1 var(--serif)}
.inq-alt{display:grid;gap:12px;width:100%;margin-top:clamp(10px,1.5vw,20px);padding-top:clamp(22px,2.4vw,34px);border-top:1px solid color-mix(in srgb,currentColor 24%,transparent);text-align:center}
.inq-ways{display:flex;flex-wrap:wrap;justify-content:center;gap:6px clamp(20px,2.6vw,40px);font:400 clamp(21px,1.7vw,27px)/1.3 var(--serif)}
.block>.block-text .inq-ways{font:400 clamp(21px,1.7vw,27px)/1.3 var(--serif)}
.inq-ways a{text-decoration:none;overflow-wrap:anywhere}
.inq-ways a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.inq-quote{padding:clamp(24px,3vw,40px) clamp(24px,3vw,40px) 0;font:400 clamp(25px,2vw,32px)/1.25 var(--serif)}
.inq-proof{display:flex;align-items:baseline;gap:10px;padding:18px clamp(24px,3vw,40px) clamp(24px,3vw,40px)}
.inq-proof b{font:400 clamp(34px,3vw,44px)/1 var(--serif)}

/* motion: everything rests on the uncropped photograph */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}
.js .panel{animation:panel-in 1.2s var(--ease) backwards}
.js .panel .stack img.on{animation:settle 2.2s var(--ease) backwards}
.js .pname{animation:rise 1s var(--ease) backwards}
.panel:nth-child(1),.panel:nth-child(1) .stack img.on{animation-delay:.1s}
.panel:nth-child(2),.panel:nth-child(2) .stack img.on{animation-delay:.18s}
.panel:nth-child(3),.panel:nth-child(3) .stack img.on{animation-delay:.26s}
.panel:nth-child(4),.panel:nth-child(4) .stack img.on{animation-delay:.34s}
.panel:nth-child(1) .pname{animation-delay:.7s}
.panel:nth-child(2) .pname{animation-delay:.78s}
.panel:nth-child(3) .pname{animation-delay:.86s}
.panel:nth-child(4) .pname{animation-delay:.94s}
@keyframes panel-in{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
@keyframes settle{from{transform:scale(1.08)}to{transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* photographs open as they arrive and end whole */
.js .ph{overflow:hidden;clip-path:inset(6%);transition:clip-path 1.3s var(--ease)}
.js .ph img{transform:scale(1.06);transition:transform 1.6s var(--ease)}
.js .ph.in{clip-path:inset(0)}
.js .ph.in img{transform:none}
/* desktop hero: the panel you point at opens, the others step back */
@media(min-width:1041px) and (hover:hover) and (pointer:fine){
  .panels{display:flex;aspect-ratio:8/3}
  .panel{aspect-ratio:auto;flex:1 1 0;min-width:0;transition:flex-grow .9s var(--ease)}
  .panel:hover,.panel:focus-visible{flex-grow:1.45}
  .stack img{transition:opacity 1.6s ease,transform 1.2s var(--ease),filter .6s ease}
  .panels:hover .panel:not(:hover) .stack img{filter:brightness(.62)}
  .js a:hover .ph.in img{transform:scale(1.03)}
}
/* where the browser can tie it to the scroll, the film and the big photo open under the hand */
@supports (animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    .film-band .film-frame,.wide:not(.tall) img{animation:open-up linear both;animation-timeline:view();animation-range:entry 0% cover 42%}
  }
}
@keyframes open-up{from{clip-path:inset(0 9% 0 9%)}to{clip-path:inset(0)}}

/* entrances */
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none;transition:none}
  .stack img,.frame img{transition:none}
  .js .panel,.js .panel .stack img.on,.js .pname{animation:none}
  .js .ph{clip-path:none;transition:none}
  .js .ph img{transform:none;transition:none}
  @view-transition{navigation:none}
}

@media(max-width:1040px){
  .links{display:none}
  .phone-nav{display:block;position:relative}
  .phone-nav a{display:block;padding:9px 0;text-decoration:none}
  .phone-nav nav{position:absolute;right:0;top:100%;display:grid;gap:4px;min-width:190px;padding:14px 20px;background:var(--ink);color:var(--on-dark)}
  .phone-nav summary::-webkit-details-marker{display:none}
  .phone-nav summary{list-style:none;min-height:44px;display:flex;align-items:center;cursor:pointer;font:500 var(--t-ui)/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
}

@media(max-width:800px){
  .mark img{height:38px}
  .hero-btn{display:inline-flex}
  .panels{grid-template-columns:1fr 1fr}
  .pname{font-size:21px;padding:0 16px}
  .block,.block.flip,.block.square,.block.square.flip,.block.form-block{grid-template-columns:1fr}
  .proof-logos{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
  .proof-logos li{min-height:0}
  .proof-logos img{max-height:62px}
  .proof-credits{grid-template-columns:1fr}
  .proof-seal{width:82px;margin-top:-41px}
  .proof-title h1{font-size:31px}
  .hero-btn{white-space:nowrap}
  .block.flip .block-pic{order:0}
  .form-block .block-pic{order:2}
  .block-text{padding:40px var(--m)}
  .films{grid-template-columns:1fr}
  .film-row{flex-direction:column;gap:28px}
  .film{width:100%;flex:none}
  .three,.two{grid-template-columns:1fr}
  .wall{columns:2;column-gap:8px}
  .wall figure{margin-bottom:8px}
  .rev-wall{columns:1}
    .block form{grid-template-columns:1fr}
  .scale div{grid-template-columns:repeat(5,minmax(0,1fr))}
  .pf-wall,.pf-row,.pf-stack,.pf-two{gap:5px}
  .pf-wall{padding:0 5px}
  .pf-row,.pf-stack{display:grid}
  .pf-one img{height:auto}
  .pf-two{grid-template-columns:1fr 1fr}
  .k-r3,.k-r3p{grid-template-columns:1fr 1fr}
  .k-r3>:first-child{grid-column:1/-1}
  .k-r3p>:nth-child(2){grid-column:1/-1;order:-1}
  .scale.days div{grid-template-columns:repeat(4,minmax(0,1fr))}
  .follow-pics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tiers,.tiers.two,.film-list{grid-template-columns:1fr}
  .coll-hero.on-dark .inq-hero-text,.inq-hero.on-dark .inq-hero-text{color:inherit}
  .inq-hero-text{position:static;padding:28px var(--m) 4px;gap:10px}
  .inq-hero .btn{display:none}
  .inq-route{font-size:12px;letter-spacing:.1em;text-wrap:balance}
  .inq-steps{grid-template-columns:1fr}
  .inq-steps li{grid-template-columns:28px 1fr;align-items:baseline}
}

/* short reviews spread through the site */
.mini{display:grid;justify-items:center;gap:clamp(12px,1.4vw,20px);padding:clamp(10px,2vw,30px) var(--m) var(--gap);text-align:center}
.mini p:first-child{max-width:26em;font:400 clamp(25px,2.2vw,44px)/1.25 var(--serif);letter-spacing:-.01em;text-wrap:balance}
.wall+.mini{padding-top:var(--gap)}
.wide+.mini{padding-top:var(--gap)}
.gal-sec .mini{padding:clamp(40px,5vw,70px) var(--m) 0}
.block+.mini,.proof+.mini{padding-top:var(--gap)}
.pf-more{margin-top:0}
.inq-say{display:grid;gap:12px;margin-top:clamp(36px,4vw,56px);padding-top:clamp(28px,3vw,40px);border-top:1px solid color-mix(in srgb,currentColor 22%,transparent)}
.inq-say p{font:400 clamp(25px,1.9vw,34px)/1.3 var(--serif)}
.rev-sec{padding-top:clamp(20px,3vw,40px)}
.rev-sec+.rev-sec{padding-top:var(--gap)}
.rev-sec h2{margin-bottom:14px}
.rev-sec .center-p{margin:0 auto clamp(28px,3vw,44px)}
.rev-sec h2+.rev-wall{margin-top:clamp(28px,3vw,44px)}

.biz-says{padding:var(--gap) var(--m);background:var(--sand)}
.biz-says h2{margin-bottom:clamp(36px,4vw,64px);text-transform:uppercase;letter-spacing:0}
.biz-says li{display:grid;justify-items:center;align-content:start;gap:12px;text-align:center}
.biz-says img{width:clamp(120px,10vw,160px);height:auto;margin-bottom:12px;border-radius:50%}
.biz-says blockquote{max-width:24em;font-size:var(--t-small);line-height:1.65}
.biz-says .xp-lab{margin-top:10px}
.biz-role{font-size:var(--t-small)}

/* story pages */
.st-head{display:grid;justify-items:center;gap:clamp(14px,1.6vw,24px);padding:clamp(44px,6vw,100px) var(--m) clamp(40px,5vw,80px);text-align:center}
.st-head h1{font:500 var(--t-ui)/1.5 var(--sans);letter-spacing:.26em;text-transform:uppercase}
.st-hook{max-width:15em;font:400 clamp(44px,6.6vw,136px)/1.02 var(--serif);letter-spacing:-.015em;text-wrap:balance}
.st-sub{max-width:36em}
.st-head .btn{margin-top:clamp(6px,1vw,14px)}
.st-hero img{width:100%;height:auto}
.st-prob{display:grid;justify-items:center;gap:clamp(18px,2vw,30px);padding:var(--gap) var(--m);text-align:center}
.st-prob h2{max-width:18em}
.st-prob>p{max-width:36em}
.st-intro{padding-bottom:var(--gap)}
.st-q{max-width:26em;margin-top:clamp(14px,2vw,30px);font:400 clamp(25px,2.2vw,44px)/1.25 var(--serif);letter-spacing:-.01em;text-wrap:balance}
.st-q cite{display:block;margin-top:clamp(12px,1.4vw,20px)}
.st-worries{padding:var(--gap) var(--m);background:var(--ink);color:var(--on-dark)}
.st-worries ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,72px);margin-top:clamp(40px,5vw,76px)}
.st-worries li{display:grid;gap:16px;align-content:start;padding-top:22px;border-top:1px solid color-mix(in srgb,currentColor 30%,transparent)}
.st-worries h3{font-size:clamp(27px,2.5vw,46px);line-height:1.12}
.st-worries blockquote{margin-top:10px;font-size:var(--t-small);line-height:1.65;opacity:.85}
.st-worries cite{display:block;margin-top:12px;font-size:clamp(13px,.9vw,15px)}
.st-guide{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(30px,6vw,110px);align-items:center;padding:var(--gap) var(--m)}
.st-guide img{width:100%;height:auto}
.st-guide p+p{margin-top:18px}
.st-500 b{font:400 clamp(40px,3.6vw,68px)/1 var(--serif);margin-right:8px}
.st-link{font:500 var(--t-ui)/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.st-plan{display:grid;gap:24px;padding:var(--gap) var(--m);background:var(--sand)}
.st-plan ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(30px,4vw,70px);margin:clamp(26px,3vw,50px) 0 clamp(14px,2vw,30px)}
.st-plan li{display:grid;gap:10px;align-content:start;justify-items:center;text-align:center}
.st-plan b{font:400 clamp(52px,5.4vw,96px)/1 var(--serif)}
.st-gal{padding-top:var(--gap)}
.st-gal h2{margin-bottom:clamp(30px,3.4vw,54px)}
.st-next{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--green);color:var(--on-dark);text-decoration:none}
.st-next img{width:100%;height:auto}
.st-next-t{display:grid;gap:14px;justify-items:center;padding:clamp(30px,5vw,80px) var(--m);text-align:center}
.st-next-h{font:400 clamp(30px,3.6vw,72px)/1.08 var(--serif);letter-spacing:-.01em;text-wrap:balance}
@media(max-width:800px){
  .st-worries ul,.st-plan ol,.st-guide,.st-next{grid-template-columns:1fr}
  .st-hook{font-size:clamp(42px,12vw,80px)}
  .st-next-t{order:2}
}

/* families: warmer story */
.st-trio{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:clamp(8px,1vw,16px);align-items:center;padding:0 var(--m)}
.st-trio img,.st-feel img,.st-back img,.st-whole img{width:100%;height:auto}
.st-trio figure:nth-child(2){margin-top:clamp(30px,5vw,80px)}
.st-feel{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr);gap:clamp(30px,6vw,110px);align-items:center;padding:var(--gap) var(--m) 0}
.st-feel h2{margin-bottom:clamp(16px,2vw,28px)}
.st-feel p{max-width:30em}
.st-back{position:relative;background:var(--green);color:var(--on-dark)}
.st-back-t{display:grid;justify-items:center;gap:clamp(18px,2vw,30px);padding:var(--gap) var(--m);text-align:center}
.st-back ul{display:grid;gap:clamp(18px,2vw,28px);max-width:44em}
.st-back li{font:400 clamp(25px,2vw,38px)/1.25 var(--serif);text-wrap:balance}
.st-back cite{display:block;margin-top:8px}
.st-whole{padding:var(--gap) var(--m) 0}
.st-whole .center-p{margin-bottom:clamp(28px,3vw,48px)}
.st-whole-wall{columns:4;column-gap:clamp(8px,1vw,14px)}
.st-whole-wall figure{break-inside:avoid;margin-bottom:clamp(8px,1vw,14px)}
.st-whole .st-link{display:inline-block;margin-top:clamp(20px,2vw,30px)}
.st-families-worries{}
@media(max-width:800px){
  .st-trio{grid-template-columns:1fr 1fr;padding:0}
  .st-trio figure:nth-child(2){grid-column:1/-1;order:-1;margin:0}
  .st-feel{grid-template-columns:1fr}
  .st-whole-wall{columns:2}
}
.about-you{max-width:36em}
.st-back-sand{background:var(--sand);color:var(--ink)}
.st-prob p+p{margin-top:-6px}

/* what to wear */
.wear-rules{padding:var(--gap) var(--m)}
.wear-rules ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(30px,4vw,64px) clamp(24px,3vw,56px);margin-top:clamp(36px,4vw,64px)}
.wear-rules li{display:grid;gap:10px;align-content:start;padding-top:18px;border-top:1px solid color-mix(in srgb,currentColor 24%,transparent)}
.wear-rules b{font:400 clamp(40px,3.6vw,64px)/1 var(--serif)}
.wear-rules p,.wear-three p,.wear-pals p,.wear-lists li{font-size:var(--t-small);line-height:1.65}
.wear-pals{padding:var(--gap) var(--m);background:var(--sand)}
.wear-pals>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4vw,64px);margin-top:clamp(36px,4vw,64px)}
.wear-pals>ul>li{display:grid;gap:12px;align-content:start}
.sw{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:8px}
.sw li{display:grid;gap:8px;font:500 clamp(12px,.8vw,14px)/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase}
.sw span{display:block;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(27,27,26,.12)}
.wear-three,.wear-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(30px,4vw,70px);padding:var(--gap) var(--m)}
.wear-three>div,.wear-lists>div{display:grid;gap:14px;align-content:start}
.wear-lists{background:var(--ink);color:var(--on-dark)}
.wear-lists ul{display:grid;gap:12px;list-style:disc;padding-left:1.1em}
@media(max-width:800px){
  .wear-rules ol,.wear-pals>ul,.wear-three,.wear-lists{grid-template-columns:1fr}
  .sw{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.info-say{display:grid;justify-items:center;gap:clamp(14px,1.6vw,22px);padding:clamp(56px,6vw,96px) var(--m);text-align:center}
.info-say p:first-child{max-width:24em;font:400 clamp(28px,2.8vw,54px)/1.18 var(--serif);letter-spacing:-.01em;text-wrap:balance}
.block.t-black+.info-say{background:var(--bg)}
/* My story */
.ms-hero{background:var(--ink);color:var(--on-dark);padding:clamp(120px,12vw,180px) var(--m) clamp(56px,7vw,110px)}
.ms-hero-t{max-width:980px;margin:0 auto clamp(40px,5vw,72px);text-align:center}
.ms-hero-t h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.6vw,76px);line-height:1.08;margin:14px 0 20px}
.ms-hero-t p:last-child{font-size:var(--t-body);opacity:.8}
.ms-pics{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(14px,2vw,32px);align-items:end;max-width:1280px;margin:0 auto}
.ms-pics img{width:100%;height:auto;display:block}
.ms-then img{filter:sepia(.18) contrast(.96)}
.ms-pics figcaption{display:flex;align-items:baseline;gap:14px;margin-top:14px;font-size:var(--t-ui);opacity:.85}
.ms-yr{font-family:var(--serif);font-size:clamp(28px,2.8vw,44px);opacity:1}
.ms-line{list-style:none;position:relative;max-width:1240px;margin:0 auto;padding:clamp(56px,7vw,110px) var(--m) clamp(56px,7vw,110px) calc(var(--m) + 34px)}
.ms-line::before,.ms-line::after{content:"";position:absolute;left:var(--m);top:clamp(56px,7vw,110px);bottom:clamp(56px,7vw,110px);width:2px;background:rgba(27,27,26,.14)}
.ms-line::after{background:var(--amber);transform-origin:top}
@supports (animation-timeline: view()){@media (prefers-reduced-motion:no-preference){.ms-line::after{animation:ms-grow linear both;animation-timeline:view();animation-range:entry 30% exit 70%}}}
@keyframes ms-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.ms-ch{position:relative;display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);gap:clamp(20px,4vw,72px);padding:clamp(28px,4vw,56px) 0}
.ms-ch.has-fig{grid-template-columns:minmax(200px,300px) minmax(0,1fr) minmax(220px,30%)}
.ms-ch::before{content:"";position:absolute;left:-41px;top:clamp(40px,4.6vw,66px);width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--amber)}
.ms-date{position:sticky;top:110px;align-self:start}
.ms-num{font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.4vw,92px);line-height:1;margin-top:8px;text-transform:none;letter-spacing:-.01em}
.ms-t p{font-size:var(--t-body);line-height:1.65;margin:0 0 1em;max-width:60ch}
.ms-fig{margin:0}.ms-fig img{width:100%;height:auto;display:block}
.ms-fig figcaption{font-size:var(--t-ui);color:var(--soft);margin-top:10px}
.ms-21{background:var(--sand);display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,28%);gap:clamp(24px,4vw,72px);align-items:center;padding:clamp(64px,8vw,130px) var(--m)}
.ms-big{font-family:var(--serif);font-size:clamp(140px,22vw,360px);line-height:.8;color:var(--amber)}
.ms-21 h2,.ms-may h2,.ms-next h2{font-family:var(--serif);font-weight:400;text-transform:none;letter-spacing:0;line-height:1.12}
.ms-21 h2{font-size:clamp(30px,3.2vw,52px);margin:10px 0 24px}
.ms-21-t>p:last-child{font-size:var(--t-body);line-height:1.65;max-width:56ch}
.ms-trio{list-style:none;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.ms-trio li{background:var(--bg);padding:14px 20px;font-size:var(--t-ui);display:flex;flex-direction:column;min-width:130px}
.ms-trio b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,1.8vw,28px)}
.ms-may{background:var(--ink);color:var(--on-dark);text-align:center;padding:clamp(90px,11vw,180px) var(--m)}
.ms-may h2{font-size:clamp(32px,4.2vw,68px);max-width:20ch;margin:18px auto 28px}
.ms-may p:last-child{font-size:var(--t-body);line-height:1.65;max-width:52ch;margin:0 auto;opacity:.85}
.ms-faith{text-align:center;max-width:980px;margin:0 auto;padding:clamp(80px,9vw,150px) var(--m)}
.ms-say{font-family:var(--serif);font-size:clamp(28px,3vw,48px);line-height:1.25;margin:18px 0 24px}
.ms-faith p:last-child{font-size:var(--t-body);color:var(--soft)}
.ms-off{border-top:1px solid rgba(27,27,26,.14);max-width:1240px;margin:0 auto;padding:clamp(48px,6vw,90px) var(--m);display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:clamp(20px,4vw,72px);align-items:baseline}
.ms-off ul{list-style:none;display:grid;gap:10px}
.ms-off li{font-family:var(--serif);font-size:clamp(26px,2.6vw,42px);line-height:1.2}
.ms-next{background:var(--green);color:var(--on-dark);text-align:center;padding:clamp(90px,11vw,170px) var(--m)}
.ms-next h2{font-size:clamp(48px,7vw,120px);margin:14px 0 22px}
.ms-next p{font-size:var(--t-body);opacity:.9;margin-bottom:28px}
@media (max-width:900px){
  .ms-pics{grid-template-columns:.8fr 1.2fr}
  .ms-ch,.ms-ch.has-fig,.ms-off{grid-template-columns:1fr}
  .ms-date{position:static}
  .ms-21{grid-template-columns:1fr}
  .ms-big{font-size:120px}
}
.ms-hero-t h1{text-transform:none;letter-spacing:-.01em}
.ms-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:560px}
.ms-trio li{min-width:0}
.ms-ig{font-size:var(--t-ui);color:var(--soft);margin-top:22px}
.ms-ig a{color:var(--ink)}
.ms-strip{display:grid;grid-template-columns:3fr 8fr 3fr;gap:clamp(10px,1.4vw,20px);align-items:end;max-width:1400px;margin:0 auto;padding:0 var(--m) clamp(64px,8vw,120px)}
.ms-strip figure{margin:0}.ms-strip img{width:100%;height:auto;display:block}
@media (max-width:700px){.ms-strip{grid-template-columns:1fr 1fr}.ms-strip figure:nth-child(2){grid-column:1/-1;order:-1}}
