/* Homepage 2026 — approved Claude Design v5 composition, V5.2 native tokens. */
.tw-home { width:100%; overflow:clip; }
.tw-h26-shell { width:100%; max-width:1280px; margin:0 auto; padding-left:clamp(20px,4vw,44px); padding-right:clamp(20px,4vw,44px); box-sizing:border-box; }
.tw-h26-section { padding:clamp(56px,7vw,104px) 0; border-top:1px solid var(--tw-ink); }
.tw-home h1,.tw-home h2,.tw-home h3 { font-family:var(--tw-font-display); font-weight:600; letter-spacing:-.025em; margin:0; text-wrap:balance; }
.tw-h26-section h2 { font-size:clamp(32px,4vw,56px); line-height:1.03; }
.tw-h26-section h3 { font-size:clamp(26px,3.1vw,44px); line-height:1.05; }
.tw-h26-button { display:inline-block; max-width:100%; box-sizing:border-box; padding:16px 28px; font-family:var(--tw-font-mono); font-size:14px; line-height:1.3; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; border:1px solid; }
.tw-h26-button--light { background:var(--tw-fog); color:var(--tw-ink); border-color:var(--tw-fog); }
.tw-h26-button--light:hover,.tw-h26-button--light:focus-visible { background:var(--tw-method-lt); border-color:var(--tw-method-lt); color:var(--tw-ink); }
.tw-h26-button--dark { background:var(--tw-ink); color:var(--tw-fog); border-color:var(--tw-ink); }
.tw-h26-button--dark:hover,.tw-h26-button--dark:focus-visible { background:var(--tw-method); border-color:var(--tw-method); color:var(--tw-fog); }
.tw-h26-text-link { display:inline-block; font:500 14px/1.4 var(--tw-font-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--tw-method); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; }
.tw-h26-text-link:hover { color:var(--tw-ink); }
.tw-h26-hero { background:var(--tw-graphite); color:var(--tw-fog); padding:clamp(76px,10vw,152px) 0 clamp(68px,9vw,128px); }
.tw-h26-eyebrow { margin:0 0 clamp(36px,5vw,72px); font:500 14px/1.4 var(--tw-font-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--tw-method-lt); }
.tw-h26-hero h1 { max-width:13ch; color:var(--tw-fog); font-size:clamp(48px,8.4vw,116px); line-height:.98; letter-spacing:-.035em; }
.tw-h26-hero-foot { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:24px 64px; margin-top:clamp(40px,5vw,72px); }
.tw-h26-hero-foot p { max-width:650px; flex:1 1 360px; font:400 clamp(19px,2.1vw,27px)/1.34 var(--tw-font-body); color:var(--tw-fog-2); margin:0; }
.tw-h26-value { background:var(--tw-cool); }
.tw-h26-value-grid { display:grid; grid-template-columns:minmax(280px,1fr) minmax(0,1.6fr); margin-top:clamp(32px,4.5vw,52px); border:1px solid var(--tw-ink); background:var(--tw-paper); }
.tw-h26-value-menu { display:flex; flex-direction:column; background:var(--tw-cool); border-right:1px solid var(--tw-ink); }
.tw-h26-value-tab { display:flex; align-items:baseline; justify-content:space-between; gap:16px; text-align:left; padding:clamp(18px,2.2vw,24px); border:0; border-bottom:1px solid var(--tw-rule); border-radius:0; background:transparent; color:var(--tw-ink); font:600 clamp(19px,1.8vw,23px)/1.15 var(--tw-font-display); letter-spacing:-.02em; cursor:pointer; width:100%; }
.tw-h26-value-tab:last-child { border-bottom:0; }
.tw-h26-value-tab:hover { background:var(--tw-cool-2); }
.tw-h26-value-tab[aria-selected=true] { color:var(--tw-fog); background:var(--tw-ink); }
.tw-h26-value-tab span:last-child { color:var(--tw-method-lt); }
.tw-h26-value-tab:focus-visible { outline:3px solid var(--tw-method); outline-offset:-3px; }
.tw-h26-value-panels { min-width:0; }
.tw-h26-value-panel { min-height:340px; box-sizing:border-box; padding:clamp(28px,4vw,56px); display:flex; flex-direction:column; gap:28px; align-items:flex-start; }
.tw-h26-value-panel[hidden] { display:none !important; }
.tw-h26-value-panel p { margin:0; font:400 clamp(18px,1.6vw,20px)/1.5 var(--tw-font-body); color:var(--tw-ink-2); text-wrap:pretty; }
.tw-h26-value-all { margin-top:28px; }
.tw-h26-work { background:var(--tw-paper); }
.tw-h26-work .tw-carousel { margin:0; }
.tw-h26-coherence { background:var(--tw-ink); color:var(--tw-fog); padding:clamp(72px,9vw,144px) 0; }
.tw-h26-split { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:clamp(32px,5vw,80px); align-items:end; }
.tw-h26-coherence h2 { font-size:clamp(40px,6vw,92px); line-height:.98; letter-spacing:-.035em; color:var(--tw-fog); }
.tw-h26-split-aside { display:flex; flex-direction:column; align-items:flex-start; gap:26px; padding-top:clamp(22px,3vw,30px); border-top:1px solid var(--tw-ink); }
.tw-h26-coherence .tw-h26-split-aside { border-color:rgba(232,235,232,.28); }
.tw-h26-split-aside p { font:400 clamp(18px,1.6vw,20px)/1.5 var(--tw-font-body); color:var(--tw-ink-2); margin:0; text-wrap:pretty; }
.tw-h26-coherence .tw-h26-split-aside p { color:var(--tw-fog-2); }
.tw-h26-aicp { background:var(--tw-paper); }
.tw-h26-aicp-box { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--tw-ink); background:var(--tw-graphite); color:var(--tw-fog); }
.tw-h26-aicp-head,.tw-h26-aicp-content { padding:clamp(28px,4vw,56px); display:flex; flex-direction:column; align-items:flex-start; gap:25px; }
.tw-h26-aicp-head { border-right:1px solid rgba(232,235,232,.24); }
.tw-h26-aicp-head h2 { font:500 14px/1.3 var(--tw-font-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--tw-method-lt); }
.tw-h26-aicp-head h3 { font-size:clamp(30px,3.6vw,50px); color:var(--tw-fog); }
.tw-h26-aicp-content { justify-content:flex-end; }
.tw-h26-aicp-content p { margin:0; font:400 18px/1.5 var(--tw-font-body); color:var(--tw-fog-2); }
.tw-h26-disciplines { background:var(--tw-cool-3); }
.tw-h26-disciplines h2 { font-size:clamp(30px,4vw,58px); line-height:1.02; letter-spacing:-.03em; }
.tw-h26-disciplines h2 span { color:var(--tw-method); }
.tw-h26-insights { background:var(--tw-cool); }
.tw-h26-insights .tw-carousel { margin:0; }
.hp3-testimonials { background:var(--tw-graphite); color:var(--tw-fog); }
.hp3-testimonials h2 { color:var(--tw-fog); margin-bottom:clamp(32px,4.5vw,52px); }
.hp3-testimonial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2vw,24px); }
.hp3-testimonial { display:flex; gap:clamp(20px,2.4vw,28px); align-items:flex-start; background:var(--tw-paper); color:var(--tw-ink); border:1px solid var(--tw-ink); margin:0; padding:clamp(22px,2.6vw,32px); }
.hp3-testimonial-media { position:relative; flex:0 0 88px; width:88px; height:110px; overflow:hidden; border:1px solid var(--tw-rule); background:var(--tw-cool-2); }
.hp3-testimonial-media img { width:100%; height:100%; object-fit:cover; object-position:center 18%; filter:grayscale(1) contrast(1.05); }
.hp3-testimonial-body { min-width:0; flex:1; display:flex; flex-direction:column; gap:22px; }
.hp3-testimonial-body blockquote { margin:0; font:italic 400 clamp(19px,1.7vw,23px)/1.36 var(--tw-font-display); letter-spacing:-.015em; }
.hp3-testimonial-body figcaption { border-top:1px solid var(--tw-rule); padding-top:18px; font:400 14px/1.35 var(--tw-font-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--tw-slate); }
.tw-h26-contact { background:var(--tw-cool); }
.tw-h26-contact-grid { display:grid; grid-template-columns:minmax(260px,1fr) minmax(0,1.6fr); gap:clamp(32px,5vw,80px); }
.tw-h26-form { min-width:0; }
.tw-h26-form .contact-form-plate { border:1px solid var(--tw-ink); }
.tw-h26-form .contact-form { max-width:none; }
@media(max-width:900px) { .tw-h26-value-grid,.tw-h26-split,.tw-h26-aicp-box,.tw-h26-contact-grid { grid-template-columns:1fr; } .tw-h26-value-menu { border-right:0; border-bottom:1px solid var(--tw-ink); } .tw-h26-value-panel { min-height:0; } .tw-h26-aicp-head { border-right:0; border-bottom:1px solid rgba(232,235,232,.24); } .hp3-testimonial-grid { grid-template-columns:1fr; } }
@media(max-width:640px) { .tw-h26-section { padding-top:58px; padding-bottom:58px; } .tw-h26-value-tab { font-size:19px; } .tw-h26-button { padding:14px 18px; } .hp3-testimonial { gap:14px; padding:18px; } .hp3-testimonial-media { flex-basis:68px; width:68px; height:85px; } .hp3-testimonial-body blockquote { font-size:18px; } .tw-h26-hero { padding-top:76px; padding-bottom:76px; } .tw-h26-hero h1 { font-size:clamp(46px,10vw,70px); } }
