/* v17 — tailored homepage only. Shared templates and detail pages retain v16. */
.tailored-option>header{border-bottom:0}
.tailored-option>header .brand:hover{opacity:1}
.tailored-option #firm{--home-space:112px}
.tailored-option #firm>.hero,.tailored-option #firm>.section{border:0;width:88%;max-width:1240px}
.tailored-option #firm>.section{padding:var(--home-space) 0}
.tailored-option #firm .section-heading::after{display:none}
.tailored-option #firm .section-heading{margin-bottom:54px}
.tailored-option #firm h2{font-size:clamp(32px,3.1vw,44px);line-height:1.3;letter-spacing:-.7px}
.tailored-option #firm .eyebrow{color:var(--blue);font-size:11px;letter-spacing:1.8px}
.tailored-option #firm .hero{min-height:680px;gap:32px;align-items:center}
.tailored-option #firm .hero-copy{padding:60px 0 72px}
.tailored-option #firm .hero h1{font-size:clamp(44px,4.35vw,64px);line-height:1.19;letter-spacing:-1.5px}
.tailored-option #firm .hero-copy p{max-width:42ch;margin:32px 0 36px;line-height:1.9}
.tailored-option #firm .hero-art{margin:32px 0;min-height:540px;box-shadow:none}
.tailored-option #firm .about,.tailored-option #firm .insight-teaser{background:none}
.tailored-option #firm .founder-section{gap:100px}
.tailored-option #firm .founder-message>p{line-height:1.95}
.tailored-option #firm .founder-portrait::before{background:none}
.tailored-option #firm #team{overflow-anchor:none}
.tailored-option #firm .large-copy{font-size:clamp(23px,2.1vw,29px);line-height:1.8}
.tailored-option #firm .about{grid-template-columns:.85fr 1.15fr;gap:90px}
.tailored-option #firm .values{font-size:18px;margin:28px 0 16px;gap:32px}
.tailored-option #firm .chapter>img{display:none}
/* A visible label and accent at rest; the fill sweeps across on hover/focus. */
.tailored-option #firm :is(.solid,.text-link){--cta-fill:var(--blue);--cta-text:var(--paper);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:54px;padding:14px 22px;border:0;border-left:2px solid var(--cta-fill);background:transparent;color:var(--blue);font:500 13px/1.6 'Be Vietnam Pro',Arial,sans-serif;letter-spacing:.1px;transform:none;box-shadow:none;vertical-align:middle;margin:0 20px 8px 0;transition:color .24s ease}
.tailored-option #firm :is(.solid,.text-link)::before{content:'';position:absolute;inset:0;background:var(--cta-fill);z-index:-1;transform:scaleX(0);transform-origin:left;transition:transform .24s ease}
.tailored-option #firm :is(.solid,.text-link)::after{content:'→';font:24px/1 Arial,sans-serif}
.tailored-option #firm :is(.solid,.text-link):focus-visible{color:var(--cta-text);outline:2px solid var(--cta-fill);outline-offset:5px}
.tailored-option #firm :is(.solid,.text-link):focus-visible::before{transform:scaleX(1)}
/* Intro plus editorial link rows; only individual services have fine rules. */
.tailored-option #firm #services{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:96px;align-items:start}
.tailored-option #firm .services-intro{background:var(--blue);padding:50px 44px 44px;color:var(--paper)}
.tailored-option #firm .services-intro .eyebrow,.tailored-option #firm .services-intro h2{color:var(--paper)}
.tailored-option #firm .services-intro h2{max-width:12ch;margin-bottom:30px;font-size:42px}
.tailored-option #firm .services-intro p{font-size:16px;line-height:1.9;margin-bottom:42px}
.tailored-option #firm .services-intro .text-link{--cta-fill:var(--paper);--cta-text:var(--blue);color:var(--paper);margin:0;font-size:12px;padding-left:18px;padding-right:18px}
.tailored-option #firm .services-intro .text-link:focus-visible{color:var(--blue)}
.tailored-option #firm .services{display:block;min-width:0}
.tailored-option #firm .services a.service-card{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:20px;padding:32px 38px 32px 0;border:0;border-top:1px solid #262d5829;background:none;box-shadow:none;transform:none}
.tailored-option #firm .services a.service-card:first-child{padding-top:28px}
.tailored-option #firm .service-icon,.tailored-option #firm .service-icon>svg{width:28px;height:28px;color:var(--blue)}
.tailored-option #firm .service-icon{margin-top:7px}
.tailored-option #firm .services .service-card h3{font-size:clamp(25px,2.4vw,33px);line-height:1.3;color:var(--blue)}
.tailored-option #firm .services .service-card p{margin:17px 0 0;font-size:16px;line-height:1.85;color:var(--ink);max-width:44ch}
.tailored-option #firm .service-detail{position:absolute;top:35px;right:0;font-size:0!important;text-decoration:none}
.tailored-option #firm .service-detail::after{content:'→';font:25px/1 Arial,sans-serif;color:var(--blue);transition:transform .2s ease}
/* Native scrolling supports touch, trackpads, and keyboard without autoplay. */
.tailored-option #firm .project-carousel{min-width:0}
.tailored-option #firm #homeMatters{display:flex;gap:40px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 24px;margin:0 -4px;scroll-padding-inline:4px;touch-action:pan-x pan-y}
.tailored-option #firm #homeMatters::-webkit-scrollbar{display:none}
.tailored-option #firm #homeMatters>.matter-card{flex:0 0 44%;min-width:0;scroll-snap-align:start;border:0;padding:0}
.tailored-option #firm #homeMatters>.matter-card:last-child{margin-right:52%}
.tailored-option #firm .matter-card{border:0}
.tailored-option #firm #homeMatters .matter-card figure img{height:260px;display:block;object-fit:cover}
.tailored-option #firm #homeMatters .matter-card:not(:has(figure))::before{content:attr(data-project-number);display:flex;align-items:end;box-sizing:border-box;height:260px;margin-bottom:45px;padding:28px 0;font:400 86px/1 Georgia,serif;color:#262d585c}
.tailored-option #firm #homeMatters .matter-card h3{font-size:29px;line-height:1.4;max-width:26ch}
.tailored-option #firm #homeMatters .matter-card p{font-size:16px;line-height:1.9}
.tailored-option #firm #homeMatters:focus-visible{outline:2px solid var(--blue);outline-offset:8px}
.project-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:20px;color:var(--blue)}
.project-controls>span{font:12px/1.6 'Be Vietnam Pro',Arial,sans-serif;letter-spacing:1px}
.project-controls>div{display:flex;gap:12px}
.project-controls button{display:grid;place-items:center;width:52px;height:52px;background:transparent;border:1px solid #262d584d;color:var(--blue);font-size:25px}
.project-controls button:focus-visible{outline:2px solid var(--blue);outline-offset:4px;background:var(--blue);color:var(--paper)}
.tailored-option #firm .all-matters{border:0;margin-top:42px;padding:0}
.tailored-option #firm .all-matters summary{display:list-item;width:fit-content;padding:12px 0;font-size:14px}
.tailored-option #firm .all-matters[open] .matter-grid{margin-top:40px}
.tailored-option #firm .teaser-grid{gap:54px}
.tailored-option #firm .teaser-grid article{border:0;padding:0;transform:none}
.tailored-option #firm .teaser-grid h3{font-size:24px;line-height:1.55}
.tailored-option[data-view="firm"] footer{background:transparent;border:0;padding-top:90px;padding-bottom:70px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(hover:hover) and (pointer:fine){
 .tailored-option #firm :is(.solid,.text-link):hover{color:var(--cta-text)}
 .tailored-option #firm :is(.solid,.text-link):hover::before{transform:scaleX(1)}
 .tailored-option #firm .services a.service-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
 .tailored-option #firm .service-card:hover .service-detail::after{transform:translateX(4px)}
 .project-controls button:not(:disabled):hover{background:var(--blue);color:var(--paper);border-color:var(--blue)}
}
@media(max-width:1000px){
 .tailored-option #firm{--home-space:82px}
 .tailored-option #firm .hero{gap:24px;min-height:580px}
 .tailored-option #firm .hero-art{min-height:470px}
 .tailored-option #firm .hero h1{font-size:46px}
 .tailored-option #firm .founder-section{gap:42px}
 .tailored-option #firm #services{gap:44px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .tailored-option #firm .services-intro{padding:32px 28px}
 .tailored-option #firm .services-intro h2{font-size:34px}
 .tailored-option #firm .services a.service-card{grid-template-columns:1fr;gap:0;padding-right:28px}
 .tailored-option #firm .service-icon{display:none}
 .tailored-option #firm .about{gap:44px}
 .tailored-option #firm #homeMatters>.matter-card{flex-basis:65%}
 .tailored-option #firm #homeMatters>.matter-card:last-child{margin-right:30%}
 .tailored-option #firm .teaser-grid{gap:30px}
}
@media(max-width:720px){
 .tailored-option #firm{--home-space:64px}
 .tailored-option #firm .hero{display:block;min-height:0}
 .tailored-option #firm .hero-copy{padding:42px 0 20px}
 .tailored-option #firm .hero h1{font-size:43px;letter-spacing:-1px}
 .tailored-option #firm .hero-copy p{font-size:16px;margin:26px 0 28px}
 .tailored-option #firm .hero-art{min-height:320px;margin:12px 0 0}
 .tailored-option #firm :is(.solid,.text-link){font-size:12px;padding:12px 16px;gap:17px;margin-right:12px}
 .tailored-option #firm .section-heading{margin-bottom:34px}
 .tailored-option #firm .section-heading h2{margin-bottom:0}
 .tailored-option #firm .section-heading .text-link{margin-top:28px}
 .tailored-option #firm .founder-section{gap:32px}
 .tailored-option #firm #services{grid-template-columns:1fr;gap:40px}
 .tailored-option #firm .services-intro{padding:38px 28px}
 .tailored-option #firm .services-intro h2{max-width:14ch}
 .tailored-option #firm .services-intro p{margin-bottom:30px}
 .tailored-option #firm .services a.service-card{grid-template-columns:28px minmax(0,1fr);gap:15px;padding:28px 28px 28px 0}
 .tailored-option #firm .service-icon{display:block}
 .tailored-option #firm .services .service-card h3{font-size:25px}
 .tailored-option #firm .services .service-card p{font-size:15px;line-height:1.85;margin-top:14px}
 .tailored-option #firm .about{grid-template-columns:1fr;gap:28px}
 .tailored-option #firm .values{gap:22px;font-size:17px}
 .tailored-option #firm #homeMatters{gap:22px}
 .tailored-option #firm #homeMatters>.matter-card{flex-basis:88%}
 .tailored-option #firm #homeMatters>.matter-card:last-child{margin-right:8%}
 .tailored-option #firm #homeMatters .matter-card figure img,.tailored-option #firm #homeMatters .matter-card:not(:has(figure))::before{height:205px}
 .tailored-option #firm #homeMatters .matter-card h3{font-size:26px}
 .tailored-option #firm #homeMatters .matter-card p{font-size:15px}
 .tailored-option #firm .teaser-grid{gap:38px}
 .tailored-option[data-view="firm"] footer{padding-top:56px;padding-bottom:48px}
}
@media(prefers-reduced-motion:reduce){
 .tailored-option #firm :is(.solid,.text-link)::before,.tailored-option #firm .service-detail::after{transition:none}
 .tailored-option #firm #homeMatters{scroll-behavior:auto}
}
