.home-editorial { --home-accent:#a5360a; --home-ground:#f3f4f2; --home-ink:#171a18; --home-muted:#555b57; overflow:hidden; }
.home-editorial section { scroll-margin-top:100px; }
.home-video-hero { min-height:min(840px,calc(100vh - 80px)); min-height:min(840px,calc(100svh - 80px)); justify-content:stretch; padding:0; background:#1d211e; }
@supports (height:100svh) { .home-video-hero { min-height:min(840px,calc(100svh - 80px)); } }
.home-hero-media { position:absolute; inset:0; z-index:-2; overflow:hidden; background:#1d211e; }
.home-hero-media::after { position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,17,14,.73),rgba(13,17,14,.22) 75%),linear-gradient(0deg,rgba(13,17,14,.72),rgba(13,17,14,.03) 72%); content:""; }
.home-hero-media video { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.home-hero-frame { position:relative; display:flex; width:min(100%,1600px); min-height:inherit; flex-direction:column; justify-content:space-between; margin:0 auto; padding:clamp(22px,4vw,58px) clamp(20px,6.8vw,108px) clamp(36px,6vw,78px); }
.home-hero-top { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.home-hero-top p,.home-hero-top a { margin:0; color:#fff; font-size:12px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.home-hero-top a { display:inline-flex; min-height:46px; align-items:center; gap:15px; padding:0 16px; border:1px solid rgba(255,255,255,.58); text-decoration:none; letter-spacing:0; text-transform:none; transition:background-color 180ms ease,color 180ms ease; }
.home-hero-top a:hover { color:var(--home-ink); background:#fff; }
.home-hero-bottom { width:100%; max-width:1040px; margin:auto 0 0; padding-top:80px; }
.home-hero-eyebrow { margin:0 0 20px; color:#fff; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.home-hero h1 { max-width:12ch; margin:0; color:#fff; font-size:clamp(56px,9.2vw,140px); font-weight:650; letter-spacing:-.065em; line-height:.9; }
.home-hero h1 span { white-space:pre-line; }
.home-hero-description { max-width:48ch; min-height:3.1em; margin:22px 0 0; color:rgba(255,255,255,.88); font-size:clamp(16px,1.35vw,20px); line-height:1.65; }
.home-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 26px; margin-top:26px; }
.home-hero-actions a { display:inline-flex; min-height:52px; align-items:center; justify-content:space-between; gap:28px; padding:0 18px; color:var(--home-ink); background:#fff; font-size:14px; font-weight:650; text-decoration:none; transition:background-color 180ms ease,color 180ms ease,transform 180ms ease; }
.home-hero-actions a:hover { color:#fff; background:var(--home-accent); transform:translateY(-2px); }
.home-hero-actions .home-secondary-action { color:#fff; background:transparent; outline:1px solid rgba(255,255,255,.75); outline-offset:-1px; }
.home-hero-actions .home-secondary-action:hover { color:var(--home-ink); background:#fff; }
.home-hero-sector { min-height:22px; margin:20px 0 0; color:rgba(255,255,255,.78); font-size:13px; }
.home-motion-control { position:absolute; left:clamp(20px,4vw,58px); bottom:clamp(22px,4vw,50px); display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.7); border-radius:50%; color:#fff; background:rgba(17,19,17,.35); font-size:14px; }
.home-motion-control:hover { color:var(--home-ink); background:#fff; }
.home-story { display:grid; grid-template-columns:minmax(180px,.58fr) minmax(0,1.1fr) minmax(270px,.95fr); gap:clamp(28px,5.2vw,82px); align-items:center; padding:clamp(72px,9vw,130px) clamp(20px,7vw,110px); }
.home-story-stat { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.home-story-stat strong { color:var(--home-accent); font-size:clamp(82px,12vw,168px); font-weight:650; letter-spacing:-.085em; line-height:.82; font-variant-numeric:tabular-nums; }
.home-story-stat > span { max-width:12ch; color:var(--home-muted); font-size:14px; line-height:1.45; }
.home-story-copy { max-width:600px; }
.home-story-copy h2,.home-section-heading h2,.home-closing h2 { margin:0; color:var(--home-ink); font-size:clamp(35px,4.5vw,62px); font-weight:620; letter-spacing:-.05em; line-height:1.02; }
.home-story-copy > p:not(.editorial-kicker) { margin:20px 0 22px; color:var(--home-muted); font-size:16px; line-height:1.75; }
.home-story-copy > a { display:inline-flex; min-height:44px; align-items:center; gap:18px; color:var(--home-accent); font-size:14px; font-weight:650; text-decoration:none; }
.home-story-image { position:relative; display:block; min-width:0; overflow:hidden; color:#fff!important; background:#282c28; text-decoration:none; }
.home-story-image img { width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; object-position:35% center; transition:transform 700ms cubic-bezier(.2,.7,.2,1); }
.home-story-image:hover img { transform:scale(1.02); }
.home-story-image::after { position:absolute; inset:35% 0 0; background:linear-gradient(0deg,rgba(0,0,0,.68),transparent); content:""; }
.home-story-image > span { position:absolute; z-index:1; right:20px; bottom:20px; left:20px; display:flex; justify-content:space-between; font-size:14px; font-weight:650; }
.home-story-image b { font-size:18px; }
.home-sectors,.home-collections,.home-faq { padding:clamp(76px,9vw,132px) clamp(20px,7vw,110px); }
.home-sectors,.home-faq { background:var(--home-ground); }
.home-section-heading { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(260px,.75fr); gap:clamp(28px,6vw,94px); align-items:end; max-width:1440px; margin:0 auto clamp(36px,5vw,70px); }
.home-section-heading > p { max-width:48ch; margin:0; color:var(--home-muted); font-size:16px; line-height:1.75; }
.home-sector-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); grid-template-rows:repeat(2,minmax(0,1fr)); gap:clamp(18px,2.6vw,38px); max-width:1440px; margin:0 auto; }
.home-sector { position:relative; display:flex; min-width:0; flex-direction:column; align-items:flex-start; color:var(--home-ink)!important; text-decoration:none; }
.home-sector img { display:block; width:100%; height:auto; aspect-ratio:1.8; margin-bottom:16px; object-fit:cover; background:#e3e5e1; transition:filter 350ms ease,transform 700ms cubic-bezier(.2,.7,.2,1); }
.home-sector-feature { grid-row:span 2; }
.home-sector-feature img { flex:none; min-height:0; max-height:none; aspect-ratio:.96; margin-bottom:22px; }
.home-sector-index,.home-collection > span { color:var(--home-accent); font-size:10px; font-weight:700; letter-spacing:.14em; }
.home-sector-title { display:flex; width:100%; align-items:baseline; justify-content:space-between; gap:18px; font-size:clamp(24px,2.55vw,36px); font-weight:630; letter-spacing:-.04em; line-height:1.16; }
.home-sector-title b { color:var(--home-accent); font-size:19px; font-weight:500; }
.home-sector-description { max-width:48ch; margin-top:8px; color:var(--home-muted); font-size:14px; line-height:1.6; }
.home-sector:hover img { transform:scale(1.012); }
.home-collections { background:#fff; }
.home-collection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,2.3vw,34px); max-width:1440px; margin:0 auto; }
.home-collection { position:relative; min-width:0; color:var(--home-ink)!important; text-decoration:none; }
.home-collection img { width:100%; height:auto; aspect-ratio:1.08; object-fit:cover; background:#eceeeb; transition:transform 700ms cubic-bezier(.2,.7,.2,1); }
.home-collection:hover img { transform:scale(1.02); }
.home-collection > span { display:block; margin-top:17px; }
.home-collection h3 { margin:8px 0 0; font-size:clamp(21px,2vw,29px); font-weight:630; letter-spacing:-.04em; }
.home-editorial #testimonials { padding:clamp(70px,8vw,116px) clamp(18px,5vw,76px); background:var(--home-ground)!important; }
.home-editorial #testimonials > .container { max-width:1520px; padding:0; }
.home-editorial #testimonials .text-center.mb-5 { margin-bottom:24px!important; }
.home-editorial #testimonials .text-center.mb-5 > span { color:var(--home-accent)!important; font-size:11px!important; letter-spacing:.15em!important; }
.home-editorial #client-testimonials-title { margin:10px 0 0!important; color:var(--home-ink); font-size:clamp(36px,4.5vw,60px)!important; font-weight:630!important; letter-spacing:-.05em; }
.home-editorial .client-section-intro { max-width:68ch; margin:20px auto 44px; color:var(--home-muted); font-size:15px; line-height:1.75; }
.home-editorial .client-section-intro a { color:var(--home-accent); text-decoration:underline; text-underline-offset:3px; }
.home-editorial .client-quote-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,1.5vw,22px); }
.home-editorial .client-quote-card { display:flex; min-width:0; min-height:350px; flex-direction:column; justify-content:space-between; padding:clamp(20px,2vw,30px); border:1px solid #e0e2de; background:#fff; box-shadow:none; }
.home-editorial .client-quote-card:nth-child(2n) { border-color:#e9d9d1; }
.home-editorial .client-quote-card > div:first-child { display:flex; flex-direction:column; }
.home-editorial .client-quote-card .icofont-quote-left { color:var(--home-accent)!important; font-size:31px!important; opacity:.22!important; }
.home-editorial .client-quote-card blockquote { margin:8px 0 24px!important; color:#535b55!important; font-size:14px!important; font-style:italic; line-height:1.72!important; }
.home-editorial .client-review-attribution { grid-template-columns:42px minmax(0,1fr); align-items:center; gap:12px; min-height:48px; margin-top:auto; }
.home-editorial .client-review-attribution img { width:42px; height:42px; }
.home-editorial .client-review-name { color:var(--home-ink); font-size:14px!important; line-height:1.35!important; }
.home-editorial .client-review-attribution small { color:#6a706c; font-size:11px; }
.home-editorial .client-proof-link { max-width:1520px; padding-top:32px!important; background:transparent!important; }
.home-editorial .client-proof-link .btn { display:inline-flex; min-height:48px; align-items:center; gap:16px; padding:0 18px; border:0; color:white; background:var(--home-ink); font-size:13px; font-weight:650; }
.home-clientele { padding:56px 0!important; border-top:1px solid #30322f!important; border-bottom:1px solid #30322f!important; background:#0a0a0e!important; }
.home-clientele .container { padding:0 20px; }
.home-clientele .text-center.mb-4 { margin-bottom:30px!important; }
.home-clientele .text-center > span { color:#f19a6b!important; font-size:11px!important; letter-spacing:.15em!important; }
.home-clientele .text-center h3 { color:#fff!important; font-size:clamp(28px,3.5vw,42px)!important; font-weight:600!important; letter-spacing:-.04em; }
.home-closing { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:clamp(64px,8vw,110px) clamp(20px,7vw,110px); color:#fff; background:#252a26; }
.home-closing h2 { max-width:15ch; color:#fff; }
.home-closing > div > p:not(.editorial-kicker) { max-width:58ch; margin-top:18px; color:rgba(255,255,255,.74); font-size:16px; line-height:1.7; }
.home-closing .editorial-kicker { color:#f19a6b; }
.home-closing > a { display:inline-flex; min-height:52px; flex:0 0 auto; align-items:center; gap:22px; padding:0 18px; color:var(--home-ink); background:#fff; font-size:14px; font-weight:650; text-decoration:none; }
.home-faq { padding-block:clamp(70px,8vw,110px); }
.home-faq .home-section-heading { margin-bottom:28px; }
.home-faq .project-faq { max-width:1440px; margin:0 auto; }
.home-faq .project-faq details { margin:0; padding:20px 0; border-top:1px solid #d9ddd8; background:transparent; }
.home-faq .project-faq details:last-child { border-bottom:1px solid #d9ddd8; }
.home-faq .project-faq summary { color:var(--home-ink); font-size:17px; font-weight:600; list-style:none; }
.home-faq .project-faq summary::-webkit-details-marker { display:none; }
.home-faq .project-faq summary::after { float:right; color:var(--home-accent); content:"+"; font-size:20px; }
.home-faq .project-faq details[open] summary::after { content:"−"; }
.home-faq .project-faq details p { max-width:75ch; margin:14px 0 0; color:var(--home-muted); font-size:15px; line-height:1.7; }
.home-faq .project-faq details a { color:var(--home-accent); text-decoration:underline; text-underline-offset:3px; }
.home-editorial .home-sector:focus-visible,.home-editorial .home-collection:focus-visible,.home-editorial .home-story-image:focus-visible { outline:3px solid var(--home-accent); outline-offset:5px; }
.home-editorial .home-hero-actions a:focus-visible,.home-editorial .home-motion-control:focus-visible { outline:3px solid #fff; outline-offset:5px; }
.home-hero-description::after { display:inline-block; width:2px; height:1em; margin-left:4px; background:#f19a6b; vertical-align:-.12em; animation:home-caret 950ms steps(1,end) infinite; content:""; }
@keyframes home-caret { 50% { opacity:0; } }
body.js-home-editorial .home-reveal { opacity:0; transform:translateY(18px); transition:opacity 700ms cubic-bezier(.2,.7,.2,1),transform 700ms cubic-bezier(.2,.7,.2,1); }
body.js-home-editorial .home-reveal.is-visible { opacity:1; transform:none; }
@media(max-width:1100px) {
 .home-story { grid-template-columns:minmax(150px,.45fr) minmax(0,1.2fr); }
 .home-story-image { grid-column:2; max-width:520px; }
 .home-editorial .client-quote-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-editorial .client-quote-card { min-height:300px; }
 .home-collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 22px; }
}
@media(max-width:740px) {
 .home-video-hero { min-height:max(650px,calc(100svh - 80px)); }
 .home-hero-frame { padding:20px 20px 50px; }
 .home-hero-top { align-items:flex-start; flex-direction:column; gap:12px; }
 .home-hero-top p { font-size:10px; }
 .home-hero-top a { min-height:40px; font-size:11px; }
 .home-hero-bottom { padding-top:65px; }
 .home-hero-eyebrow { max-width:29ch; font-size:10px; line-height:1.6; }
 .home-hero h1 { max-width:11ch; font-size:clamp(52px,12.5vw,84px); line-height:.94; }
 .home-hero-description { max-width:36ch; min-height:4.8em; margin-top:17px; font-size:15px; line-height:1.6; }
 .home-hero-actions { align-items:stretch; flex-direction:column; gap:10px; max-width:320px; margin-top:20px; }
 .home-hero-actions a { width:100%; min-height:49px; }
 .home-hero-sector { margin-top:15px; font-size:12px; }
 .home-motion-control { left:18px; bottom:18px; width:38px; height:38px; }
 .home-hero-media video { object-position:58% center; }
 .home-story { grid-template-columns:1fr; gap:27px; padding:72px 20px; }
 .home-story-stat { flex-direction:row; align-items:baseline; gap:16px; }
 .home-story-stat strong { font-size:clamp(86px,24vw,130px); }
 .home-story-stat > span { max-width:12ch; font-size:13px; }
 .home-story-copy h2,.home-section-heading h2,.home-closing h2 { font-size:clamp(36px,10vw,48px); }
 .home-story-image { grid-column:auto; width:100%; max-width:none; }
 .home-story-image img { aspect-ratio:1.45; object-position:35% center; }
 .home-sectors,.home-collections,.home-faq { padding:72px 20px; }
 .home-section-heading { grid-template-columns:1fr; gap:15px; margin-bottom:30px; }
 .home-section-heading > p { font-size:15px; }
 .home-sector-grid { grid-template-columns:1fr; grid-template-rows:auto; gap:32px; }
 .home-sector-feature { grid-row:auto; }
 .home-sector-feature img,.home-sector img { min-height:0; aspect-ratio:1.35; }
 .home-sector-title { font-size:26px; }
 .home-editorial #testimonials { padding:68px 20px; }
 .home-editorial .client-section-intro { margin-bottom:30px; font-size:14px; }
 .home-editorial .client-quote-grid { grid-template-columns:1fr; gap:14px; }
 .home-editorial .client-quote-card { min-height:0; padding:24px; }
 .home-editorial .client-quote-card blockquote { font-size:14px!important; }
 .home-editorial .client-proof-link { padding-top:22px!important; }
 .home-clientele { padding:56px 0!important; }
 .home-clientele .client-logo-box { width:150px; height:58px; padding:10px 16px; border-radius:14px; }
 .home-closing { align-items:flex-start; flex-direction:column; padding:60px 20px; }
 .home-closing > a { width:100%; max-width:340px; justify-content:space-between; }
 .home-faq .project-faq summary { padding-right:22px; font-size:16px; }
}
@media(max-width:420px) {
 .home-collection-grid { grid-template-columns:1fr; gap:28px; }
 .home-collection img { aspect-ratio:1.3; }
 .home-hero-frame { padding-inline:17px; }
}
@media(prefers-reduced-motion:reduce) {
 body.js-home-editorial .home-reveal { opacity:1; transform:none; transition:none; }
 .home-hero-description::after { animation:none; opacity:1; }
 .home-story-image img,.home-sector img,.home-collection img,.home-hero-actions a { transition:none; }
 .home-clientele .marquee-content { animation:none!important; }
}
