/* Shared section layout. Each option sets the variables and adds its own overrides. */
#rest{--pad:clamp(22px,6vw,90px)}
#rest section{padding:clamp(100px,12vw,180px) var(--pad);position:relative}
.s-eb{font-family:var(--s-sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--s-dim);margin:0}
.s-big{font-family:var(--s-sans);font-weight:var(--s-w,400);font-size:clamp(38px,5.6vw,98px);letter-spacing:-.045em;line-height:.98;margin:18px 0 0;max-width:16ch}
.s-big em,.s-huge em{font-family:var(--s-serif);font-style:italic;font-weight:300}
.s-statement .s-big{max-width:20ch}
.s-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border-top:1px solid var(--s-line)}
.s-facts div{padding:30px 18px 0 0}
.s-facts b{display:block;font-family:var(--s-sans);font-weight:300;font-size:clamp(46px,5vw,86px);letter-spacing:-.04em;line-height:1}
.s-facts span{font-family:var(--s-sans);font-size:13px;color:var(--s-dim)}
.s-no{font-family:var(--s-sans);font-size:11px;letter-spacing:.16em;color:var(--s-dim)}
.s-btn{display:inline-block;font-family:var(--s-sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:14px 18px;border-radius:99px;border:1px solid var(--s-line);transition:all .25s}
.s-btn:hover,.s-pri{background:var(--s-accent);color:#111;border-color:var(--s-accent)}
.s-case{margin-top:clamp(70px,8vw,120px);border-top:1px solid var(--s-line);padding-top:26px}
.s-case header{display:flex;gap:18px;align-items:baseline}
.s-case h3{font-family:var(--s-sans);font-weight:var(--s-w,400);font-size:clamp(30px,3.6vw,60px);letter-spacing:-.04em;margin:0}
.s-case-body{display:grid;grid-template-columns:1fr 2.2fr;gap:clamp(24px,4vw,64px);margin-top:28px}
.s-case-text p{font-size:19px;line-height:1.55;margin:0;opacity:.88}
.s-meta{margin:26px 0;display:grid;gap:10px}
.s-meta div{display:flex;justify-content:space-between;border-bottom:1px solid var(--s-line);padding-bottom:8px;gap:12px}
.s-meta dt{font-family:var(--s-sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--s-dim)}
.s-meta dd{margin:0;font-family:var(--s-sans);font-size:14px;text-align:right}
.s-case-gal{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
.s-case-gal figure{margin:0;border-radius:var(--s-radius);overflow:hidden;aspect-ratio:4/3;background:var(--s-card)}
.s-case-gal.g3 figure:first-child{grid-column:1/-1;aspect-ratio:16/8}
.s-case-gal img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.s-case-gal figure:hover img{transform:scale(1.04)}
.s-case:nth-child(odd) .s-case-body{grid-template-columns:2.2fr 1fr}
.s-case:nth-child(odd) .s-case-text{order:2}
.s-steps{list-style:none;padding:0;margin:60px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}
.s-steps figure{margin:0 0 16px;border-radius:var(--s-radius);overflow:hidden;aspect-ratio:4/3;background:var(--s-card)}
.s-steps img{width:100%;height:100%;object-fit:cover}
.s-steps h3{font-family:var(--s-sans);font-weight:500;font-size:24px;margin:8px 0;letter-spacing:-.02em}
.s-steps p{margin:0;font-size:16px;line-height:1.55;opacity:.8}
.s-note{font-family:var(--s-sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--s-dim);margin-top:40px}
.s-svc{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,2vw,28px);margin-top:60px}
.s-svc-i{border-top:1px solid var(--s-line);padding-top:20px}
.s-svc-i h3{font-family:var(--s-sans);font-weight:500;font-size:24px;margin:26px 0 10px;letter-spacing:-.02em}
.s-svc-i p{margin:0;font-size:16px;line-height:1.5;opacity:.85}
.s-svc-i ul{margin:18px 0 0;padding:0;list-style:none;font-family:var(--s-sans);font-size:13px}
.s-svc-i li{padding:9px 0;border-top:1px solid var(--s-line)}
.s-svc-i li::before{content:"→ ";color:var(--s-accent)}
.s-lead{font-size:20px;line-height:1.6;max-width:60ch;margin-top:28px;opacity:.88}
.s-people{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-top:56px}
.s-person{border-top:1px solid var(--s-line);padding-top:26px;display:grid;grid-template-columns:100px 1fr;gap:22px}
.s-person img{width:100px;height:100px;border-radius:50%;object-fit:cover}
.s-person h3{font-family:var(--s-sans);font-weight:500;font-size:30px;letter-spacing:-.02em;margin:0}
.s-role{font-family:var(--s-sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--s-accent2,var(--s-accent));margin:8px 0 0}
.s-person p:not(.s-role){font-size:17px;line-height:1.6;margin:14px 0 0;opacity:.85}
.s-link{display:inline-block;margin-top:16px;font-family:var(--s-sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid}
.s-recog{text-align:center;padding:70px 0!important;overflow:hidden;border-top:1px solid var(--s-line);border-bottom:1px solid var(--s-line)}
.s-marq{margin-top:26px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.s-marq div{display:inline-flex;gap:34px;white-space:nowrap;animation:s-mq 30s linear infinite;font-family:var(--s-sans);font-size:clamp(26px,3vw,46px);letter-spacing:-.03em}
.s-marq i{font-style:normal;color:var(--s-accent)}
@keyframes s-mq{to{transform:translateX(-50%)}}
.s-huge{font-family:var(--s-sans);font-weight:var(--s-w,400);font-size:clamp(54px,9.5vw,180px);letter-spacing:-.05em;line-height:.92;margin:18px 0 0}
.s-ct{display:flex;flex-wrap:wrap;gap:10px;margin-top:44px}
.s-small{margin-top:22px;font-size:16px;color:var(--s-dim)}
.s-foot{margin-top:clamp(80px,10vw,150px);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid var(--s-line);padding:26px 0 70px;font-family:var(--s-sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--s-dim)}
.s-foot img{height:26px}
.pre{opacity:0;transform:translateY(34px);filter:blur(6px)}.in{opacity:1;transform:none;filter:none;transition:opacity 1.1s ease,transform 1.2s cubic-bezier(.2,.7,.2,1),filter 1.1s ease}
@media (max-width:1100px){.s-svc{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.s-case-body,.s-case:nth-child(odd) .s-case-body{grid-template-columns:1fr}.s-case:nth-child(odd) .s-case-text{order:0}.s-steps,.s-svc,.s-people{grid-template-columns:1fr}.s-facts{grid-template-columns:1fr 1fr}.s-person{grid-template-columns:1fr}}
