/* Responsive visual repairs, 24 October 2026. */
html{scroll-padding-top:96px}
body{overflow-wrap:break-word}
main,section,.wrap,.headcard,.band .t,.auth,.panel,.form,.form label,.form fieldset,.pkc>*,.job>*,.cqf-cols>*{min-width:0}
[data-rv]{opacity:1;transform:none;transition:none}
.headcard,.band .t,.form,.panel,.box{grid-template-columns:minmax(0,1fr)}
.headcard>*{min-width:0;max-width:100%}
.hero{padding-top:32px}
.mosaic{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(240px,auto) minmax(240px,auto) 180px}
.mosaic figure{min-width:0;min-height:0}
.mosaic figure video{position:absolute;inset:0}
.headcard{padding:clamp(22px,2vw,30px);align-content:center;gap:16px}
.headcard h1{font-size:clamp(30px,3.15vw,46px);line-height:1.12}
.headcard p{font-size:16px;line-height:1.65}
.qs{width:100%;min-width:0}
.qs input{width:0;flex:1 1 0%;font-size:15px;padding-inline:12px}
.qs .btn{flex:none;min-height:44px}
.statrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;margin-top:8px}
.statrow b{font-size:clamp(22px,2vw,26px);line-height:1.2}
.statrow span{font-size:13px;line-height:1.45;margin-top:4px}
section.s{padding-top:72px}
.sh{align-items:start;gap:18px}
.sh h2{line-height:1.2}
.sh p{line-height:1.7}
.svc article{display:flex;flex-direction:column}
.svc h3{line-height:1.35}
.svc div{padding:22px;gap:10px}
.band .t{gap:18px;padding:clamp(22px,3vw,40px)}
.band h2{line-height:1.25}
.band p{margin:0;color:var(--muted);line-height:1.7}
.band .paths{gap:10px}
.btn{min-height:44px;line-height:1.25;white-space:normal;text-align:center}
.btn-sm{min-height:40px}
.acct .btn{white-space:nowrap;min-height:40px}
.pkc{min-width:0;padding:16px;align-items:start}
.pkc b{overflow-wrap:anywhere;line-height:1.4}
.pkc small{display:block;margin-top:5px;line-height:1.45}
.pkc i{width:48px;height:55px}
.filters button{min-height:40px;line-height:1.35;text-align:left}
.filters input{min-width:0;max-width:100%}
.filters label{min-height:40px}
.job h3{line-height:1.45}
.job p{line-height:1.6;margin-top:5px}
.form .r2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.form label{align-content:start}
.form input,.form select,.form textarea{min-width:0;min-height:46px}
.form .check input,.form .chips input{min-height:0;flex:none}
.roles label{position:relative;min-width:0;align-content:start}
.roles input{width:1px;height:1px;min-height:0;padding:0;margin:0;clip-path:inset(50%);overflow:hidden}
.roles label:has(input:focus-visible){outline:3px solid var(--red);outline-offset:3px}
.form .check{display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px}
.form .check input{width:16px;height:16px;margin:3px 0 0}
.form .check a{display:inline}
.cqf{margin-top:80px}
.cqf-news form{flex:0 1 470px;align-items:start;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.cqf-news input{width:100%;min-height:46px}
.cqf-news button{min-height:46px;font:700 15px/1.3 'DM Sans',sans-serif}
.cqf-news output{grid-column:1/-1}
.cqf-news output:empty{display:none}
.cqf-brand img{max-width:190px;height:auto}
.cqf a{overflow-wrap:anywhere}
.phero .paths{margin-top:20px}
.phero h1{line-height:1.16}
.prose{overflow-wrap:anywhere}
.prose img{max-width:100%;height:auto}
.prose iframe{max-width:100%}
@media(min-width:1181px){.hd .wrap{gap:14px}.hd nav a{padding-inline:9px}}
@media(max-width:1020px){
 .mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 180px 180px}
 .headcard{padding:28px;gap:16px}
 .headcard h1{font-size:clamp(30px,4.6vw,44px)}
 .statrow{grid-template-columns:repeat(4,minmax(0,1fr))}
 .band .v{min-height:280px}
 .band .t{padding:28px}
 .searchbar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cqf-news form{flex-basis:100%;max-width:560px}
}
@media(max-width:640px){
 html{scroll-padding-top:88px}
 body{font-size:16px}
 .hd .wrap{min-height:72px;gap:12px}
 .brandmark img{height:40px}
 .hero{padding-top:20px}
 .headcard{padding:22px;gap:16px}
 .headcard h1{font-size:clamp(27px,7.4vw,36px);line-height:1.16;letter-spacing:-.035em}
 .headcard p{font-size:16px}
 .qs{border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr);padding:6px;gap:4px}
 .qs input{width:100%;min-height:44px;font-size:16px}
 .qs .btn{width:100%}
 .statrow{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
 .mosaic{grid-template-rows:auto 150px 150px}
 .mosaic figure{border-radius:16px}
 section.s{padding-top:48px}
 .sh{margin-bottom:22px}
 .sh h2{font-size:27px;line-height:1.2}
 .sh p{font-size:16px}
 .band{border-radius:20px}
 .band .v{min-height:230px}
 .band .t{padding:24px;gap:16px}
 .band h2{font-size:26px}
 .band .paths{display:grid;grid-template-columns:minmax(0,1fr)}
 .svc div{padding:20px}
 .svc h3{font-size:20px}
 .filters{gap:8px}
 .filters button{font-size:13px;padding:8px 11px}
 .grid{grid-template-columns:minmax(0,1fr)}
 .pkc{padding:16px;gap:14px;align-items:center}
 .pkc b{font-size:16px}
 .job{gap:10px 12px;padding:16px;align-items:start}
 .job h3{font-size:17px}
 .job .r{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
 .searchbar{grid-template-columns:minmax(0,1fr)}
 .searchbar input,.searchbar select{min-height:46px;font-size:16px}
 .form .r2,.roles{grid-template-columns:minmax(0,1fr)}
 .auth{padding:22px;border-radius:20px;width:100%}
 .auth h1{font-size:25px!important;line-height:1.25}
 .form fieldset{padding:14px}
 .form .check{line-height:1.6}
 dl.facts{grid-template-columns:minmax(0,1fr);gap:4px}
 dl.facts dd{margin-bottom:12px}
 .phero{padding:28px 0}
 .phero h1{font-size:30px;line-height:1.18;overflow-wrap:break-word}
 .phero p.l{font-size:17px;line-height:1.65}
 .page{padding-top:28px}
 .cqf{margin-top:56px}
 .cqf-news .wrap{padding-block:26px;gap:18px}
 .cqf-news form{grid-template-columns:minmax(0,1fr);width:100%;max-width:none}
 .cqf-news button{width:100%}
 .cqf-cols{gap:32px;padding-block:36px}
 .drawer aside{width:100%}
 .drawer .body{padding:24px 20px}
}
.form .check{display:block!important;position:relative;padding-left:26px}
.form .check input{position:absolute;left:0;top:3px;margin:0;width:16px;height:16px}
.development-credit{display:block;margin-top:8px;color:#C9D3EE}
/* Keep hidden form safeguards outside the visual layout. */
.sr{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:-1px!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(max-width:1020px){.searchbar[style]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.searchbar[style]{grid-template-columns:minmax(0,1fr)!important}}
/* FAQ reading rhythm and equal-height pricing actions. */
.prose details{border:1px solid var(--line);border-radius:16px;margin:0 0 12px;background:#fff;overflow:hidden}
.prose details summary{list-style:none;display:flex;align-items:start;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;line-height:1.6;font-size:16px;color:var(--navy2)}
.prose details summary::-webkit-details-marker{display:none}
.prose details summary::after{content:'+';flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--soft);color:var(--navy);font-size:22px;line-height:1}
.prose details[open]{border-color:#B4C1E0}
.prose details[open] summary::after{content:'\2212'}
.prose details summary:hover{background:var(--soft)}
.prose details>div{padding:0 20px 20px}
.prose details article>p:first-child{margin-top:0}
.prose details article>p:last-child{margin-bottom:0}
.svc>article:has(.btn)>div{display:flex;flex-direction:column;align-items:stretch;gap:12px;flex:1}
.svc>article:has(.btn)>div>p:has(+.btn){margin-top:auto!important;padding-top:6px}
.svc>article:has(.btn) .btn{width:100%}
@media(max-width:640px){.prose details summary{padding:16px;gap:12px}.prose details>div{padding:0 16px 18px}}
/* Five-character legacy package codes must fit inside their hexagons. */
.pkc i{width:52px;height:59px;font-size:10px;letter-spacing:-.02em}
.job i{font-size:10px}
