/* One landing-page composition built from the reviewed homepage language. */
:root{--red:#f10101;--action-red:#d70805;--ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-behavior:smooth}
body{background:#050404}
.wrap{max-width:calc(1240px + 2 * var(--gutter));margin:auto;padding-inline:var(--gutter)}
.kw-home h1,.kw-home h2,.kw-home h3{margin:0;font:400 32px/1.15 var(--font-display);text-transform:uppercase;text-wrap:pretty}
.kw-home h1{font-size:clamp(36px,3.9vw,54px);max-width:19ch;line-height:1.07}
.kw-home h2{font-size:clamp(28px,3vw,40px);max-width:26ch}
.kw-home h3{font-size:22px}
.kw-home p{margin-block:0 20px}
.kw-home .band{padding-block:clamp(88px,10vw,148px)}
.kw-home .band+.band{border-top:1px solid #ffffff10}
.slate{display:flex;align-items:center;gap:10px;color:var(--red);font:400 13px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.13em}
.slate i{width:0;height:0;border-left:7px solid currentColor;border-block:5px solid transparent}
.kw-home .eyebrow{font:400 13px/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.1em}
.lead{color:var(--muted);font-size:20px;line-height:1.6;max-width:58ch}
.kw-home .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:16px 28px;border:1px solid var(--action-red);background:var(--action-red);color:#fff3e0;font:400 14px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.05em;text-decoration:none;transition:background-color .18s,border-color .18s}
.kw-home .btn:hover{background:#bd0805;border-color:#bd0805}
.kw-home .text-link,.kw-home .more a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:400 13px/1.5 var(--font-mono);text-transform:uppercase;text-underline-offset:6px}
.kw-logo{display:inline-flex;align-items:center;min-height:44px;margin-bottom:20px}
.kw-logo img{display:block;width:151px;height:auto}
.kw-home .kw-hero{padding-top:clamp(100px,9vw,140px);padding-bottom:clamp(72px,8vw,120px)}
.kw-hero .kw-film__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,5vw,76px)}
.kw-hero .kw-film__room{align-self:center}
.kw-hero .kw-film__copy{grid-column:1;grid-row:1}
.kw-hero .kw-film__room{grid-column:2;grid-row:1}
.kw-hero .kw-film__copy .body{font-size:18px;max-width:49ch;margin:20px 0 0;color:var(--muted)}
.kw-hero .kw-hero__lead{margin:26px 0 20px;font-size:22px;line-height:1.45;color:var(--fg)}
.kw-hero .kw-film__demo{padding-top:25px;margin-top:26px}
.kw-hero .kw-film__demo h2{font-size:22px;max-width:none}
.kw-hero .kw-film__demo p{font-size:17px;margin:16px 0 22px;max-width:47ch}
.kw-home .kw-citation{margin:18px 0 0;font-size:14px;color:var(--muted)}
.kw-citation a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
/* Incident wire: the homepage carousel on the homepage's walnut glow. */
.kw-home .kw-wire{background:radial-gradient(70% 52% at 50% 60%,color-mix(in oklch,var(--walnut) 85%,var(--bg)),var(--bg) 74%)}
.kw-wire .news-wire__intro .lead{font-size:19px}
/* Match the homepage report rhythm: the page-wide h3 reset drops the gap under each headline. */
.kw-home .kw-wire .news-report h3{margin:0 0 24px;font-size:clamp(25px,2.3vw,32px)}
.kw-home .kw-wire .news-wire__intro .slate{color:var(--red);font-size:clamp(15px,1.25vw,18px);letter-spacing:.16em}
.kw-workflow__grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);column-gap:clamp(32px,5vw,72px);align-items:stretch}
.kw-workflow__copy h2{margin-bottom:26px;max-width:27ch}
.kw-demo-checks{list-style:none;margin:32px 0;padding:0;counter-reset:checks}
.kw-demo-checks li{counter-increment:checks;position:relative;padding:22px 0 22px 48px;border-top:1px solid var(--border)}
.kw-demo-checks li:last-child{border-bottom:1px solid var(--border)}
.kw-demo-checks li::before{content:"0" counter(checks);position:absolute;left:0;top:24px;font:400 14px/1.3 var(--font-mono);color:var(--red)}
.kw-demo-checks h3{font-family:var(--font-body);font-size:21px;text-transform:none;margin-bottom:10px}
.kw-home .kw-demo-checks p{font-size:18px;color:var(--muted);line-height:1.55;margin:0;max-width:42ch}
.kw-workflow__channels{color:var(--muted);font-size:17px;line-height:1.6}
.kw-faq .faq__grid{display:block}
/* Centred like the homepage questions header. */
.kw-faq .head{display:grid;justify-items:center;max-width:940px;margin:0 auto 48px;text-align:center}
.kw-faq .head .slate{justify-content:center}
.kw-faq .head h2{max-width:24ch;margin:0 auto 24px;font-size:clamp(30px,3.4vw,46px)}
.kw-faq .head .lead{max-width:40em;margin:0 auto}
.kw-faq .head .more{margin:20px 0 0}
.kw-faq .faq__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.kw-faq details{border-top:1px solid var(--border)}
.kw-faq details:last-child{border-bottom:1px solid var(--border)}
.kw-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px;padding-block:22px;list-style:none;cursor:pointer;font-size:21px;line-height:1.4}
.kw-faq summary::-webkit-details-marker{display:none}
.kw-faq .faq__icon{flex:none;width:16px;height:16px;position:relative}
.kw-faq .faq__icon::before,.kw-faq .faq__icon::after{content:"";position:absolute;background:var(--fg);inset:7px 0 auto;height:2px}
.kw-faq .faq__icon::after{transform:rotate(90deg)}
.kw-faq details[open] .faq__icon::after{display:none}
.kw-faq .faq__answer{padding:0 28px 26px 0}
.kw-faq .faq__answer p{font-size:18px;line-height:1.65;color:var(--muted)}
.kw-faq .faq__answer a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:400 12px/1.5 var(--font-mono);text-transform:uppercase}
/* Kiteworks by location: the parent page links to every location page. */
.kw-places{padding-block:36px 28px;border-top:1px solid var(--border)}
.kw-places__label{margin:0 0 6px!important;font:400 13px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}
.kw-places ul{list-style:none;display:flex;flex-wrap:wrap;gap:0 28px;margin:0;padding:0}
.kw-places a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;color:var(--muted);text-decoration:none;transition:color .16s ease}
.kw-places a:hover,.kw-places a:focus-visible{color:var(--fg);text-decoration:underline;text-underline-offset:4px}
.kw-places a[aria-current="page"]{color:var(--fg)}
.kw-places a[aria-current="page"]::before{content:"";width:6px;height:6px;margin-right:9px;background:var(--red)}
.kw-sources{padding-block:32px 48px;border-top:1px solid var(--border)}
.kw-sources summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;cursor:pointer;font:400 13px/1.4 var(--font-mono);text-transform:uppercase;list-style:none}
.kw-sources summary::-webkit-details-marker{display:none}
.kw-sources details[open] summary span{font-size:0}
.kw-sources details[open] summary span::after{content:"−";font-size:16px}
.kw-sources ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:12px 0 0;padding:0}
.kw-sources a{display:flex;align-items:center;min-height:48px;border-top:1px solid var(--border);font-size:16px;color:var(--muted)}
.kw-reveal-ready [data-reveal]{transition:opacity .55s var(--ease),transform .55s var(--ease)}
.kw-reveal-ready [data-reveal]:not(.is-in){opacity:0;transform:translateY(16px)}
@media(max-width:1000px){
 .kw-hero .kw-film__grid{gap:32px}
 .kw-home h1{font-size:40px}
 .kw-hero .kw-film__copy .body{font-size:17px}
 .kw-hero .kw-hero__lead{font-size:20px}
 .kw-workflow__grid{gap:40px}
}
@media(max-width:899px){
 .kw-hero .kw-film__grid,.kw-workflow__grid{grid-template-columns:1fr}
 .kw-hero .kw-film__copy{grid-column:1;grid-row:1;max-width:680px}
 .kw-hero .kw-film__room{grid-column:1;grid-row:2}
 .kw-home .kw-hero{padding-top:100px}
 .kw-faq .faq__list{gap:30px}
}
@media(max-width:599px){
 .kw-home .band{padding-block:80px}
 .kw-home .kw-hero{padding-top:96px;padding-bottom:52px}
 .kw-home h1{font-size:clamp(32px,8.8vw,40px);max-width:19ch}
 .kw-home h2{font-size:clamp(27px,7.2vw,34px)}
 .kw-home h1 br,.kw-home h2 br{display:none}
 .kw-hero .kw-hero__lead{font-size:21px;margin-top:22px}
 .kw-faq .faq__list{grid-template-columns:1fr;gap:0}
 .kw-faq .faq__col+.faq__col{margin-top:24px}
 .kw-faq summary{font-size:19px;min-height:78px}
 .kw-sources ul{grid-template-columns:1fr}
 .kw-home .btn{font-size:12px;padding-inline:20px;min-height:56px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.kw-reveal-ready [data-reveal],.kw-reveal-ready [data-reveal]:not(.is-in){opacity:1;transform:none;transition:none}}
.motion-paused.kw-reveal-ready [data-reveal]{opacity:1;transform:none;transition:none}
