/* A3E editorial master pilot, based on the refined 12 October board. */

.bar{background:rgba(245,243,238,.96);border-color:var(--rule)}.brand.lock .brand-office{width:48px;mix-blend-mode:multiply}.brand.lock{gap:18px}.brand.lock .pp{display:block;font:9px/1.6 var(--mono);letter-spacing:.11em;color:var(--ink-2)}.foot-brand .brand-office{width:64px}.nav button{font-size:13px;letter-spacing:.01em}.eyebrow{font-size:10px;letter-spacing:.14em}.h-hero h1{font-size:clamp(46px,5.6vw,80px);line-height:1.04;font-weight:400;letter-spacing:-.035em;max-width:760px}.h-hero .lede{max-width:48ch;font-size:17px;line-height:1.7}.h-hero .search{border-radius:3px;box-shadow:none}.h-hero .search .slabel{color:var(--ink-2)}.btn{border-radius:3px;font-weight:500}.h-sec{padding-top:clamp(64px,7vw,104px)}.h-head h2{font-size:clamp(32px,3.7vw,50px);line-height:1.13}.journey-visual,.cloud-next,.foot{background:var(--night)}.journey-visual-label{color:var(--inverse)}.addon-card{border-radius:2px}.context-addons h2{letter-spacing:-.025em}.service-options b{font-weight:400}.h-hero .fine{color:var(--inverse)}#ways .w-list button[aria-selected=true]{background:var(--paper);border-left-color:var(--ink-2)}.journey-panel{gap:48px}.founder-intro p,.delivery-story p{line-height:1.8}.foot{border-top:1px solid var(--ink-2)}.foot .fh{color:var(--inverse)}
@media(max-width:640px){.brand.lock .brand-office{width:38px}.brand.lock .pp{display:none}.h-hero h1{font-size:clamp(42px,10.5vw,58px)}.h-hero .lede{font-size:16px}.journey-panel{gap:24px}.nav{gap:18px}.h-hero-in{padding-inline:22px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Clear anchored navigation and keyboard state. */
#services,#pricing,#practice{scroll-margin-top:120px}.nav button:focus-visible,.brand:focus-visible,.service-menu summary:focus-visible{outline:2px solid var(--sage-deep);outline-offset:5px}
/* Consent remains legible within the light address panel. */
#heroSearch .live-note,#heroSearch .live-search-notice{color:var(--ink-2)}
@media(min-width:641px) and (max-width:1280px){.bar-in{flex-wrap:wrap;row-gap:6px}.bar .nav{order:3;width:100%;margin:0;justify-content:flex-start}.bar .sp{min-width:0}}

/* Fit the utility label rather than overflowing a circular avatar. */
.bar-in{min-width:0;flex-wrap:wrap}.bar .av{width:auto;min-width:44px;max-width:100%;height:auto;min-height:36px;padding:8px 12px;white-space:normal;flex-shrink:0}.bar .brand{min-width:0}.bar .nav{min-width:0}.bar .sp{min-width:0}.view,.wrap,.cloud-projects{min-width:0}body{margin:0}
@media(max-width:1400px){.bar .nav{order:3;flex-basis:100%;width:100%;margin:0;justify-content:flex-start;flex-wrap:wrap}.bar-in{gap:12px}.bar .sp{flex:1}}

.primary-offers{padding:32px 0}.primary-offers .service-options{margin:24px 0}.primary-offers article{padding:24px;border:1px solid var(--rule);display:flex;flex-direction:column;gap:16px}.primary-offers p{font-size:14px;line-height:1.7}.primary-offers .btn{margin-top:auto}.primary-offers h3{font-family:var(--display);font-weight:400;font-size:27px}

/* Mobile: usable utility controls, quiet reflow, legible address panel. */
@media(max-width:700px){.bar-in{padding:10px 16px;gap:10px}.bar .brand.lock .brand-office{width:40px}.bar .nav{gap:4px;justify-content:space-between}.bar .nav button{min-height:44px;padding:10px 8px}.bar .av,.bar .myp{min-height:44px}.h-hero-in{max-width:100%;padding-inline:20px}.h-hero-ph::before{background:linear-gradient(0deg,var(--night),transparent 48%)}.h-hero .search{width:100%;min-width:0;padding:12px}.h-hero .srow{gap:10px}.h-hero .srow .btn{min-height:44px}.primary-offers .service-options{grid-template-columns:1fr}.primary-offers article{padding:22px}.service-options button{min-height:44px}.live-report{padding:20px 16px}.live-actions>*{min-height:44px}.hybrid-tabs{position:static;flex-wrap:wrap}.hybrid-report,.site-capacity{min-width:0;max-width:100%}.hybrid-report svg{max-width:100%;height:auto}.v2-drawing-pair{grid-template-columns:1fr}.launch-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:20px}.cloud-actions{gap:10px}.cloud-actions .btn{min-height:44px;white-space:normal}.cloud-top{flex-wrap:wrap}.cloud-service-progress{flex-wrap:wrap}.cloud-budget-status{margin:18px 0;padding:16px}.talk{max-width:calc(100vw - 24px);left:12px;right:12px}.tbw{overflow-x:auto}}

/* Priority 2.1: shared controls and content reflow, without hiding overflow. */
button,.btn,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--sage-deep);outline-offset:3px}
.h-hero button:focus-visible,.foot a:focus-visible,.foot button:focus-visible{outline-color:var(--rule)}
.btn{justify-content:center;min-height:44px;white-space:normal;text-align:center}
button:disabled,.btn:disabled{cursor:wait;opacity:.65;transform:none}
.cloud-close{min-width:44px;min-height:44px}
.launch-dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain;scroll-padding:20px}
.launch-dialog h2,.cloud-card h2,.property-facts dd,.live-title,.live-actions a{overflow-wrap:anywhere}
#heroSearch .address-status{color:var(--ink-2);font:13px/1.6 var(--body)}
#heroAddr,#rpQ{font-size:16px;min-width:0;scroll-margin-top:180px}
.address-options{overscroll-behavior:contain;max-height:min(260px,40dvh)}
.property-facts>div,.cloud-content>*,.journey-panel>*,.delivery-story>*,.service-options>*{min-width:0}
.live-actions{flex-wrap:wrap}.live-actions>*{max-width:100%}
@media(max-width:430px){
 .bar-in{column-gap:8px}.bar .meter{display:none}.bar .nav{gap:2px;justify-content:flex-start}
 .bar .nav button{padding-inline:9px}.h-hero h1{font-size:clamp(36px,10.5vw,46px)}
 .cloud-projects{padding-inline:16px}.cloud-card{padding:20px}.cloud-metrics>div{padding:14px}
 .property-facts{grid-template-columns:1fr}.page-guide{padding-inline:16px}
 .service-menu summary{flex-wrap:wrap}.live-actions .btn{width:100%}
}

/* Shared component standards. Layout and report evidence retain their own structure. */
body { font-family: var(--body); color: var(--ink); background: var(--ground); }
button, input, select, textarea { font-family: var(--body); }
h1, h2, .scan-header h1 { font-family: var(--display); font-weight: 400; letter-spacing: -.025em; }
.eyebrow, .mono, .scan-section-kicker, .assessment-kicker { font-family: var(--mono); }
.eyebrow { color: var(--sage-deep); letter-spacing: .1em; }
.it { font-family: var(--display); }
.btn:not(.ghost):not(.cloud-danger), #v-home #heroSearch .srow .btn {
  background: var(--act); border-color: var(--act); color: var(--inverse);
  border-radius: var(--r); box-shadow: none;
}
.btn.ghost { color: var(--ink); background: transparent; border-color: var(--rule); border-radius: var(--r); }
.btn:not(.ghost):not(.cloud-danger):hover, #v-home #heroSearch .srow .btn:hover {
  background: var(--act); border-color: var(--act); transform: none;
}
.btn.ghost:hover { background: transparent; border-color: var(--ink-3); transform: none; }
:is(.toggle,.scan-mode,.tp-tabs) { border-radius: var(--r); }
:is(.toggle,.scan-mode,.tp-tabs) button { border-radius: var(--r); }
:is(.toggle,.scan-mode,.tp-tabs) button[aria-pressed=true],
.hybrid-tabs button[aria-pressed=true], #how .journey-picker button[aria-selected=true] {
  color: var(--inverse); background: var(--ink); border-color: var(--ink);
}
#how .journey-picker { background: var(--paper); border-radius: var(--r); }
#how .journey-picker button:hover:not([aria-selected=true]) { background: transparent; }
input:not([type=range]):not([type=checkbox]):not([type=radio]), select, textarea {
  border-radius: var(--r); border-color: var(--rule); color: var(--ink);
}
input[type=range], input[type=checkbox], input[type=radio] { accent-color: var(--sage-deep); }
.cloud-projects input[type=search], .launch-dialog input, .launch-dialog select, .launch-dialog textarea,
.cf-u, .cf-grid select { background: var(--surface); }
:is(.cloud-card,.cloud-service,.launch-dialog,.scan-model,.scan-option,.scan-next,.scan-evidence-note,.pcard,.sheet-in,.talk,.addon-card) {
  border-radius: var(--r);
}
.cloud-card, .cloud-service, .launch-dialog, .pcard, .sheet-in, .talk { background: var(--surface); }
.cloud-card:hover { border-color: var(--rule); box-shadow: none; }
.cloud-next { background: var(--paper); color: var(--ink); border: 1px solid var(--rule); }
.cloud-next::before { display: none; }
.cloud-next :is(.eyebrow,p) { color: var(--ink-2); }
.cloud-next .btn { color: var(--inverse); background: var(--ink); border-color: var(--ink); }
.foot-in { background: var(--night); color: var(--inverse); border-radius: var(--r); }
.foot :is(.fh,button,a), .foot-brand { color: var(--inverse); }
.foot-b { color: var(--inverse-muted); }
.foot :is(button,a):focus-visible { outline-color: var(--inverse); }
.h-prac, .duo-r, .page-guide, .property-detailed, .scan-evidence-note { background: var(--paper); }
#v-home .h-hero { background: var(--night); }
#v-home :is(.h-hero h1,.h-hero h1 .it,.h-hero .eyebrow) { color: var(--inverse); }
#v-home .h-hero .lede { color: var(--inverse-muted); }
#v-home #heroSearch .srow { background: var(--surface); border-color: var(--rule); backdrop-filter: none; }
#v-home #heroSearch .srow input { color: var(--ink); }
#v-home #heroSearch .srow input::placeholder { color: var(--ink-3); }
#v-home #heroSearch .slabel, #v-home #heroSearch .address-status,
#v-home #heroSearch .search-privacy-details summary, #v-home #heroSearch .search-privacy-details p,
#v-home #heroSearch .live-search-notice, #v-home .h-hero .fine .mono { color: var(--inverse-muted); }
#v-home #heroSearch .address-options { background: var(--surface); border-color: var(--rule); color: var(--ink); }
#v-home #heroSearch .address-options button { color: var(--ink); }
#v-home #heroSearch .srow:focus-within { border-color: var(--sage); box-shadow: 0 0 0 2px var(--sage-wash); }
.scan-header h1 { font-weight: 400; }
.cloud-error, .live-error { color: var(--danger); background: var(--danger-wash); border-color: var(--danger); }
.cloud-delete { color: var(--danger); }
.btn.cloud-danger { background: var(--danger); border-color: var(--danger); color: var(--inverse); }
:is(.chip.warn,.scan-chip.needs-review,.capacity-status.needs-review) { color: var(--warn); background: var(--warn-wash); }
.cloud-success { color: var(--sage-deep); }
@media print {
  .hybrid-report .pdf-page { background: white; }
}
/* Keep section titles in the same neutral hierarchy. */
#v-home :is(.h-head h2,.h-rep h2,.report-addons h2,.h-prac h2,.founder-story h2,.duo-r h2,.faq h2) {
  color: var(--ink); font-weight: 400;
}
.calc-out, .calc-in, .tp-v .fr, .hybrid-report .pdf-page { border-radius: var(--r); }
.property-screen > .cloud-actions { padding: 12px 0; margin: 0 0 24px; border-bottom: 1px solid var(--rule); }
.property-screen > .cloud-actions .address-status { font: 12px/1.6 var(--body); margin: 0; }
:is(.calc-head h1,.rp-home h1,.tp-t h1,.cloud-projects h1,.ws-top h1,.proj-top h1,.rep-top h1) {
  font-family: var(--display); font-size: clamp(32px, 3.8vw, 48px); font-weight: 400; line-height: 1.12;
}
