.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
/* Clearance includes the outer paper outline and serif overhang, not just
   the colored centerline. The ribbon's route and strand dimensions stay intact. */
.sc-home{--ribbon-content-gutter:76px}
@media(min-width:900px){.sc-home{--ribbon-content-gutter:108px}}
.sc-home .sec-sell>.wrap,.sc-home .sec-careers>.wrap{padding-left:max(var(--gutter),var(--ribbon-content-gutter))}
.sc-home .sec-careers>.wrap,.sc-home .sec-who>.wrap,.sc-home .sec-news>.nw-head{padding-right:max(var(--gutter),var(--ribbon-content-gutter))}
.sc-home .sec-sell>.wrap{padding-right:var(--gutter)}
.sc-home .sec-who>.wrap{padding-left:var(--gutter)}
@media(max-width:599px){.sc-home .sec-sell>.wrap{padding-left:44px}.sc-home .sec-careers>.wrap{padding-left:56px}.sc-home .sec-who>.wrap{padding-right:56px}}
/* Cards mask the ribbon; inset text enough to clear strokes visible at a card edge,
   without changing track width, swipe behavior or the next-card preview. */
.sc-home .nw-body,.sc-home .nw-all-in,.sc-home .nw-ph{padding-inline:56px}
@media(max-width:399px){.sc-home .sec-who h2.who-lines{font-size:clamp(32px,calc((100vw - 96px)*.15),48px)}}
.sec{padding:var(--section-y) 0}
.sec h2{font-size:clamp(42px,6.2vw,76px);line-height:1.02;margin:0 0 28px}
.lede{font-size:20px;color:var(--brand-stone);max-width:34em;margin:0 0 36px}
/* Hero */
.hero{padding-top:calc(72px + clamp(48px,8vw,110px));background:var(--brand-paper)}
.hero h1{font-size:clamp(54px,12.2vw,150px);line-height:.95;letter-spacing:-.035em;margin:0 0 clamp(28px,3.5vw,44px);max-width:11.5em}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .06em .14em 0;margin:0 -.06em -.14em 0}
.wi{display:inline-block;animation:rise 1.05s var(--ease) both;animation-delay:calc(var(--i)*90ms + 80ms)}
.it .wi{font-style:italic;font-weight:600;color:var(--brand-orange)}
.hero h1 .it,.hero h1 .it *{color:var(--brand-orange)}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
.hero-body{font-size:20px;color:var(--brand-stone);max-width:30em;margin:0 0 36px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;position:relative;top:-16px}
.hero-reserve{height:150px}
@media(min-width:900px){.hero-reserve{height:180px}}
/* News */
/* Clip decoration without creating another scroll container around the track. */
.sec-news{background:var(--brand-bone);overflow:clip}
.nw-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}
.nw-head h2{margin:0}
.nw-controls{display:none;align-items:center;gap:12px;padding-bottom:10px}
.nw-count{font:400 15px var(--font-mono);color:var(--brand-stone);margin-right:8px}
.nw-count b{font-weight:500;color:var(--brand-ink)}
.nw-nav{width:52px;height:52px;flex:0 0 52px;padding:0;letter-spacing:0;border-radius:50%;border:1.5px solid var(--brand-ink);background:transparent;color:var(--brand-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .3s var(--ease),color .3s var(--ease),transform .35s var(--ease),opacity .3s}
.nw-nav svg{display:block;flex:0 0 20px;margin:0;padding:0}
.nw-nav:hover:not(:disabled){background:var(--brand-forest);color:var(--brand-paper);border-color:var(--brand-forest);transform:translateY(-2px)}
.nw-nav:disabled{opacity:.35;cursor:default}
@media(min-width:900px){.nw-controls{display:flex}}
.nw-track{--pad:max(var(--gutter),calc((100% - var(--maxw))/2 + var(--gutter)));position:relative;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding:24px var(--pad) 36px;margin:-24px 0 -12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:auto}
.nw-track::-webkit-scrollbar{display:none}
.nw-media.nw-media-contained img{object-fit:contain}
.nw-track{overflow-y:hidden;overscroll-behavior-y:auto}
.nw-track.is-drag{scroll-snap-type:none;cursor:grabbing;user-select:none}
.nw-track.is-drag a{pointer-events:none}
.nw-card{--rx:0deg;--ry:0deg;--ty:0px;flex:0 0 80vw;min-width:0;scroll-snap-align:start;background:var(--brand-paper);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);overflow:clip;transform:perspective(1000px) translateY(var(--ty)) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.nw-card.tilting{transition:transform .12s linear,box-shadow .5s var(--ease)}
@media(hover:hover){.nw-card:hover{--ty:-6px;box-shadow:var(--shadow-lift)}}
@media(min-width:900px){.nw-card{flex-basis:400px}.nw-card.nw-wide{flex-basis:560px}.nw-card.nw-all{flex-basis:340px}}
.nw-card a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.nw-media{aspect-ratio:4/3;overflow:clip;background:var(--brand-bone)}
.nw-media img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none}
.nw-ph{display:grid;place-items:end start;padding:24px}
.nw-ph span{font:700 clamp(34px,4vw,48px)/1.02 var(--font-serif);letter-spacing:-.025em}
.nw-ph-0{background:var(--brand-green);color:var(--brand-paper)}
.nw-ph-1{background:var(--brand-orange);color:var(--brand-forest)}
.nw-ph-2{background:var(--brand-forest);color:var(--brand-paper)}
.nw-body{display:flex;flex-direction:column;gap:14px;padding:22px 24px 26px;flex:1}
.nw-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pill{background:var(--brand-bone);border-radius:999px;padding:4px 12px;font-size:14px;font-weight:500;color:var(--brand-ink)}
.nw-meta time{font:400 13px var(--font-mono);color:var(--brand-stone)}
.nw-body :is(h2,h3){font-size:22px;line-height:1.18;margin:0;letter-spacing:-.015em}
.nw-wide .nw-body :is(h2,h3){font-size:26px}
.nw-read{margin-top:auto;padding-top:6px;color:var(--brand-green);font-weight:600}
.nw-summary{margin:0;color:var(--brand-stone);font-size:16px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:clip}
@media(max-width:899px){.nw-wide .nw-body :is(h2,h3){font-size:22px}}
.nw-read .arr,.nw-all h3 .arr{display:inline-block;transition:transform .35s var(--ease)}
.nw-card a:hover .arr{transform:translateX(4px)}
.nw-all{background:var(--brand-forest);color:var(--brand-paper)}
.nw-all-in{padding:32px 28px;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:300px;gap:12px}
.nw-all h3{font-size:clamp(34px,4vw,46px);margin:0}
.nw-all p{margin:0;color:rgba(251,247,239,.82)}
.nw-progress{height:2px;background:rgba(12,42,30,.16);margin-top:20px;border-radius:1px;overflow:clip}
.nw-progress i{display:block;height:100%;background:var(--brand-forest);transform-origin:left;transform:scaleX(0);transition:transform .15s linear}
/* Sell */
.sell-grid{display:grid;gap:56px;align-items:center}
@media(min-width:900px){.sell-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:80px}}
.sell-form{display:grid;gap:0;max-width:520px}
.sell-form label{font-weight:600;font-size:16px;margin:18px 0 7px}
.sell-form label:first-child{margin-top:0}
.sell-form input{margin:0}
.sell-form .err:not(:empty){margin-top:6px}
.opt{font-weight:400;color:var(--brand-stone);margin-left:6px}
.sell-form input{width:100%;background:var(--brand-paper);border:1px solid rgba(26,26,26,.32);border-radius:4px;padding:14px 16px;font:400 17px var(--font-sans);color:var(--brand-ink);transition:border-color .25s var(--ease)}
.sell-form input:hover{border-color:var(--brand-ink)}
.sell-form input[aria-invalid="true"]{border-color:var(--brand-orange-text)}
.sell-form .btn{justify-self:start;margin-top:20px}
.err{margin:0;min-height:0;color:var(--brand-orange-text);font-size:15px;font-weight:500}
.err:empty{display:none}
.thanks{max-width:520px;border-left:0;padding:28px 0 0}
.thanks p{font:700 clamp(28px,3.4vw,40px)/1.12 var(--font-serif);letter-spacing:-.02em;margin:0;color:var(--brand-forest)}
.thanks:focus-visible{outline:2px solid var(--brand-orange);outline-offset:3px}
.vid-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-lift);background:var(--brand-forest)}
.vid-frame iframe,.vid-play{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid-play{padding:0;background:none;cursor:pointer;display:block}
.vid-play img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.vid-play:hover img{transform:scale(1.03)}
.play-dot{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--brand-paper);color:var(--brand-forest);display:grid;place-items:center;padding-left:4px;transition:transform .4s var(--ease)}
.vid-play:hover .play-dot{transform:scale(1.07)}
.play-ring{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;border:2px solid var(--brand-paper);animation:ring 2.8s var(--ease) infinite}
@keyframes ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.9);opacity:0}}
.vid-cap{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;background:linear-gradient(transparent,rgba(12,42,30,.88));color:var(--brand-paper);font-weight:500;font-size:15px;line-height:1.35;text-align:left}
.vid-title,.vid-place{display:block}
.vid-title{font-weight:600}
.vid-place{margin-top:5px;font-size:13px}
.vid-note{margin:14px 0 0;font-size:15px;color:var(--brand-stone)}
/* Who */
.sec-who{background:var(--brand-forest);color:var(--brand-paper)}
.who-label{font:600 18px var(--font-sans);color:rgba(251,247,239,.78);margin:0 0 20px}
.sec-who h2.who-lines{font-size:clamp(48px,9vw,128px);line-height:1;letter-spacing:-.035em;margin:0 0 clamp(48px,6vw,80px)}
.ln{display:block;padding-bottom:.05em}
.ln em{font-style:italic;font-weight:600;color:var(--brand-orange)}
html.js .ln{opacity:calc(.16 + .84*var(--p,0))}
.who-purpose{border-top:1px solid var(--brand-paper);padding-top:28px;margin-bottom:clamp(48px,6vw,72px)}
.purpose{font:italic 600 clamp(26px,3.4vw,40px)/1.2 var(--font-serif);letter-spacing:-.015em;margin:0}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;margin:0;border-top:2px solid var(--brand-paper);padding-top:32px}
@media(min-width:900px){.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}}
.stats dt.num{font:700 clamp(52px,7vw,96px)/1 var(--font-serif);letter-spacing:-.03em;color:var(--brand-orange);font-variant-numeric:tabular-nums}
.stats dd{margin:10px 0 0;font-size:17px;color:rgba(251,247,239,.86);max-width:15em}
/* Careers */
.sec-careers{background:var(--brand-orange);color:var(--brand-forest)}
.sec-careers h2{font-size:clamp(46px,8vw,104px);line-height:.98;letter-spacing:-.03em}
.sec-careers .lede{color:var(--brand-forest)}
.sec-careers :focus-visible{outline-color:var(--brand-orange);box-shadow:0 0 0 6px var(--brand-forest)}
.num{position:relative}
.stat-animated{position:absolute;inset:0 auto auto 0;pointer-events:none}
.num.is-counting .stat-final{opacity:0}
#news,#contact,#who{scroll-margin-top:88px}
@media(prefers-reduced-motion:reduce){
  .num.is-counting .stat-final{opacity:1}
  .stat-animated{display:none}
}
