/* Sill & Storey v2 · home */
/* hero: full-bleed before/after photograph, then the headline */
.hero-ba{height:clamp(420px,calc(100svh - var(--hdr) - 220px),56vw)}
.hero-ba img{filter:contrast(1.08) saturate(.92)}
.hero-ba::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 55%,rgba(13,16,20,.32) 100%),linear-gradient(180deg,rgba(13,16,20,.18),transparent 22%,transparent 78%,rgba(13,16,20,.28))}
.hero-ba .plan-m{display:none}
.js .hero-ba .plan{clip-path:inset(0 100% 0 0);animation:sweep 1.6s var(--ease) .5s forwards}
@keyframes sweep{to{clip-path:inset(0 0 0 0)}}
@media (prefers-reduced-motion:reduce){.js .hero-ba .plan{animation:none;clip-path:none}}
.plan-toggle{position:absolute;bottom:62px;right:16px;z-index:5;min-height:40px;padding:0 12px;background:var(--white);border:1.5px solid var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.plan-toggle::before{content:"";width:14px;height:10px;border:1.5px solid var(--cobalt);background:linear-gradient(var(--cobalt),var(--cobalt)) 0 100%/100% 0 no-repeat}
.plan-toggle[aria-pressed="true"]::before{background-size:100% 100%}
.hero-copy{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:24px clamp(32px,4vw,72px);padding-top:clamp(22px,2.4vw,36px);padding-bottom:clamp(48px,6vw,88px);align-items:end}
.hero-k{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 22px;color:var(--graphite)}
.hero-k .hk-n{color:var(--cobalt)}
.hero-k a{color:var(--ink);text-decoration:none;border-bottom:1px solid currentColor}
.hero-k a:hover{color:var(--cobalt)}
.hero .d1{font-size:clamp(2.7rem,6.2vw,6.6rem);text-wrap:balance}
.hero-side .lede{margin-bottom:24px}
.hero-spec{grid-column:1/-1;margin-top:clamp(12px,2vw,28px)}
@media (max-width:700px){
 .hero-ba{height:auto;aspect-ratio:4/5;max-height:74svh}
 .hero-ba .plan-d{display:none}.hero-ba .plan-m{display:block}
 .hero-copy{grid-template-columns:1fr}
 .ba-tag{bottom:10px;font-size:10px;padding:6px 8px}.ba-tag-b{left:10px}.ba-tag-a{right:10px}
 .plan-toggle{bottom:48px;right:10px;top:auto}
}

/* types: ruled index row */
.types{border-top:1px solid var(--line)}
.types-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.type-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line)}
.type-row li+li{border-left:1px solid var(--line)}
.type-row a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:10px;padding:20px 18px 22px;text-decoration:none;height:100%;transition:background .25s}
.type-row a:hover{background:var(--white)}
.type-row .ticon{grid-column:1/-1;width:100%;max-width:150px;height:auto;margin-bottom:16px;color:var(--ink)}
.tt-n{color:var(--cobalt);align-self:baseline}
.tt-name{font-weight:700;font-size:1.2rem;letter-spacing:-.01em;align-self:baseline}
.type-row .mono.muted{grid-column:2;margin-top:4px;font-size:11px}
@media (max-width:900px){.type-row{grid-template-columns:1fr}.type-row li+li{border-left:0;border-top:1px solid var(--line)}.type-row a{grid-template-columns:72px auto 1fr;grid-template-rows:auto auto;align-items:center;padding:14px 0}.type-row .ticon{grid-column:1;grid-row:1/3;margin:0;width:64px}.tt-n{grid-column:2;grid-row:1}.tt-name{grid-column:3;grid-row:1}.type-row .mono.muted{grid-column:3;grid-row:2}}

/* stories */
.stories{padding:clamp(72px,9vw,140px) 0 clamp(56px,7vw,100px);background:var(--bg)}
.st-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:clamp(36px,4vw,64px)}
.story{margin-bottom:clamp(72px,9vw,140px)}
.story-ba-wide{height:clamp(360px,44vw,720px)}
.story-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px clamp(32px,5vw,96px);padding-top:clamp(24px,3vw,40px)}
.story-body-r .story-t{order:2}
.story-k{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--graphite);margin-bottom:14px}
.story-k span{color:var(--cobalt)}
.story-c .lede{margin-bottom:24px}
.story-c .spec{margin-bottom:24px}
.story-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:center}
.story-ba-split{aspect-ratio:4/3}
.story-split .d2{margin-bottom:20px}
.st-more{display:flex;justify-content:flex-start}
@media (max-width:900px){.st-head,.story-body,.story-split{grid-template-columns:1fr}.story-body-r .story-t{order:0}.story-ba-wide{height:auto;aspect-ratio:4/3}}

/* section head */
.sec-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px 64px;align-items:end;margin-bottom:clamp(32px,4vw,56px)}
@media (max-width:900px){.sec-head{grid-template-columns:1fr}}

/* tools: two index rows */
.tool-list{border-top:1.5px solid var(--ink)}
.tool-list li{border-bottom:1px solid var(--line)}
.tool-row{display:grid;grid-template-columns:150px minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1fr) 48px;gap:24px;align-items:center;padding:30px 0;text-decoration:none;transition:background .25s,padding .25s var(--ease)}
.tool-row:hover{background:var(--bg);padding-left:16px;padding-right:16px}
.tr-n{color:var(--cobalt)}
.tr-d{color:var(--graphite)}
.tr-demo{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);background:var(--white);padding:12px;font-size:11px}
.tr-demo b{font-weight:400;color:var(--cobalt)}
.tr-bar{display:flex;height:10px;gap:2px}
.tr-bar i{display:block;background:var(--line)}
.tr-bar i:first-child{background:var(--cobalt)}
.tr-bar i:nth-child(2){background:var(--ink)}
.tr-go{font-family:var(--mono);font-size:24px;color:var(--cobalt);justify-self:end}
@media (max-width:1100px){.tool-row{grid-template-columns:1fr 40px;gap:12px}.tool-row>*{grid-column:1}.tr-go{grid-column:2;grid-row:1}}

/* scale timeline */
.scale{display:flex;gap:0;border-top:1.5px solid var(--ink);padding-top:20px}
.scale li{flex:var(--w) 1 0;min-width:0;display:flex;flex-direction:column;gap:8px;padding-right:14px}
.sc-n{color:var(--cobalt)}
.sc-dim{position:relative;height:14px;margin:2px 0 8px}
.sc-dim::before{content:"";position:absolute;left:0;right:0;top:7px;height:1.5px;background:var(--cobalt)}
.sc-dim::after{content:"";position:absolute;left:0;top:0;width:1.5px;height:14px;background:var(--cobalt);box-shadow:none}
.scale li:last-child .sc-dim{background:linear-gradient(var(--cobalt),var(--cobalt)) right 0 top 0/1.5px 14px no-repeat}
.sc-t{color:var(--graphite);margin-top:auto}
.scale li:nth-child(-n+2) .small,.scale li:last-child .small{display:none}
.st-more-l{margin-top:36px}
@media (max-width:900px){.scale{flex-direction:column;gap:22px}.scale li{padding:0}.scale li .small{display:block!important}.sc-dim{width:calc(var(--w) * 6%);min-width:40px}}

/* record */
.record-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px clamp(40px,6vw,120px);align-items:end}
.record-copy .lede{margin:20px 0 16px}
.stats{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid var(--ink)}
.stats div{padding:18px 0 22px;border-bottom:1px solid var(--line)}
.stats div:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}
.stats dt{color:var(--graphite);margin-bottom:6px}
.stats dd{font-weight:700;font-size:clamp(3rem,6vw,5.6rem);line-height:.95;letter-spacing:-.04em;color:var(--cobalt)}
.stats dd small{font-size:.4em;letter-spacing:-.01em;color:var(--ink)}
@media (max-width:900px){.record-in{grid-template-columns:1fr}}

/* reviews */
.rev-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:32px clamp(40px,6vw,120px);align-items:start}
.rev-side .ex{margin:8px 0 24px}
.rev-tabs{display:flex;flex-direction:column;border-top:1.5px solid var(--ink)}
.rev-tabs button{display:flex;gap:14px;align-items:baseline;min-height:52px;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;font-weight:700;font-size:17px}
.rev-tabs button .mono{color:var(--graphite)}
.rev-tabs button[aria-selected="true"]{color:var(--cobalt)}
.rev-tabs button[aria-selected="true"] .mono{color:var(--cobalt)}
.rev blockquote{font-weight:700;font-size:clamp(1.8rem,3.6vw,3.4rem);line-height:1.06;letter-spacing:-.025em;text-indent:-.4em}
.rev figcaption{margin-top:24px;color:var(--graphite)}
@media (max-width:900px){.rev-in{grid-template-columns:1fr}.rev-tabs{flex-direction:row;flex-wrap:wrap}.rev-tabs button{flex:1 1 30%;min-width:96px;font-size:15px}}

/* guides teaser */
.gt-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px clamp(40px,5vw,96px);align-items:start}
.gt-lead{display:flex;flex-direction:column;gap:12px;text-decoration:none}
.gt-lead picture{aspect-ratio:3/2;overflow:hidden;margin-bottom:8px}
.gt-lead img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gt-lead:hover img{transform:scale(1.03)}
.gt-lead .mono{color:var(--graphite)}
.gt-lead:hover .h2{color:var(--cobalt)}
.gt-list h2{margin-bottom:20px}
.gt-list ul{border-top:1.5px solid var(--ink);margin-bottom:28px}
.gt-list li a{display:grid;grid-template-columns:1fr 32px;gap:6px 16px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none}
.gt-list li .mono{color:var(--graphite);grid-column:1}
.gt-list li .h3{grid-column:1}
.gt-go{grid-column:2;grid-row:1/3;align-self:center;font-family:var(--mono);font-size:20px;color:var(--cobalt)}
.gt-list li a:hover .h3{color:var(--cobalt)}
@media (max-width:900px){.gt-in{grid-template-columns:1fr}}

/* closing CTA over a full-bleed photo */
.cta-band{position:relative;color:#fff;background:var(--ink);min-height:clamp(520px,60vw,760px);display:flex;align-items:flex-end;overflow:hidden}
.cta-img{position:absolute;inset:0}
.cta-img picture,.cta-img img{width:100%;height:100%;object-fit:cover}
.cta-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,16,20,.15) 0%,rgba(13,16,20,.55) 45%,rgba(13,16,20,.9) 100%)}
.cta-in{position:relative;z-index:1;padding-top:120px;padding-bottom:clamp(48px,6vw,88px)}
.cta-in .mono{color:#D5DAE0;margin-bottom:16px}
.cta-in .lt{color:#C3CAD2}
.cta-in .lede{color:#E2E6EA;margin:20px 0 28px}
