/* Release 2.6: consistent visibility, sizing, navigation and print behavior. */
[hidden]{display:none!important}
html{scroll-padding-top:105px}
body{overflow-wrap:break-word}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
.button{height:auto;padding-top:12px;padding-bottom:12px;line-height:1.35;text-align:center;white-space:normal}
.section{padding-top:clamp(50px,6.6vw,94px);padding-bottom:clamp(50px,6.6vw,94px)}
.section>*,.form-layout>*,.hero>*,.quote-layout>*,.capability-header>*,.portal-grid-two>*,.feature-grid>*,.footer-main>*,.authorization-meta>*{min-width:0}
.page-hero h1{font-size:clamp(2.35rem,5.3vw,5.45rem);overflow-wrap:normal}
.site-header{gap:22px;padding-top:14px;padding-bottom:14px}
.nav{gap:22px;min-width:0}
.nav a{white-space:nowrap}
.nav-more{position:relative;font-size:.84rem;color:#d7d2c8}
.nav-more summary{cursor:pointer;list-style:none;padding:10px 0}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary::after{content:" ▾";color:var(--gold)}
.nav-more-links{position:absolute;top:45px;left:-18px;z-index:1300;min-width:238px;background:#17181c;border:1px solid #514632;padding:10px 18px;box-shadow:0 15px 35px #0007;border-radius:6px;display:grid}
.nav-more-links a{display:block;padding:9px 0;white-space:normal}
.footer-main{grid-template-columns:minmax(220px,1.5fr) 1fr 1fr minmax(220px,1.35fr);gap:30px}
.footer-main a{overflow-wrap:anywhere}
fieldset{min-width:0}
.professional-form fieldset{margin:0;padding:0;border:0;grid-column:1/-1}
.professional-form legend{font-size:.83rem;font-weight:600;margin-bottom:10px}
.professional-form .checkbox-grid label{display:flex;flex-direction:row;align-items:center;gap:8px;border:1px solid var(--line);padding:10px}
.professional-form input[type=checkbox],.professional-form input[type=radio],.authorization-form input[type=checkbox],.authorization-form input[type=radio]{width:18px;min-width:18px;height:18px;padding:0;accent-color:var(--gold);flex:0 0 18px}
.professional-form select,.professional-form input,.professional-form textarea,.authorization-form input,.authorization-form textarea,.authorization-form select{max-width:100%;min-width:0}
textarea{resize:vertical}
.professional-form,.authorization-form{border-color:#41403a;border-radius:8px}
.authorization-form label{color:#ddd;display:flex;flex-direction:column;gap:7px}
.authorization-form input,.authorization-form textarea,.authorization-form select{font-size:16px;background:#0e0e0e;color:#eee;border:1px solid #4a4741;border-radius:4px;padding:12px;width:100%}
.authorization-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px!important}
.form-status:empty{display:none}
.form-status{overflow-wrap:anywhere}
.client-access-notice{margin:30px clamp(20px,6vw,100px) 0;padding:18px 22px;border:1px solid #665335;background:#181611;color:#c9c2b4;font-size:.86rem;border-radius:6px}
.client-access-notice strong{display:block;color:#ead4a6;margin-bottom:5px}
.client-access-notice a{color:#e8d195;text-decoration:underline}
.capability-sheet h1{font-size:clamp(2.2rem,4.6vw,4.3rem)}
.capability-mark{flex:0 0 90px;width:90px;height:90px}
.capability-footer{flex-wrap:wrap;font-size:.84rem}
.download-actions{display:flex;gap:12px;flex-wrap:wrap}
.print-value,.print-summary{display:none}
.portal-body .portal-loading[hidden],.portal-body .portal-fatal[hidden]{display:none!important}
.portal-body .portal-list-item{width:100%;text-align:left;border-left:0;border-right:0;border-top:0;background:transparent;color:var(--text);font:inherit}
.portal-body .portal-main{min-width:0}
.portal-body .portal-list-item>div{min-width:0}
.portal-body .portal-list-item strong{overflow-wrap:anywhere}
.portal-body .portal-list-item select{max-width:190px;background:#17181d;color:#eee;border:1px solid #4b4740;padding:8px}
.portal-body .portal-sidebar{overflow-y:auto}
.portal-body .portal-page-header h1{font-size:clamp(2.25rem,3.9vw,3.8rem)}
.portal-body .ticket-message{white-space:pre-wrap;overflow-wrap:anywhere}
.portal-body .report-sections p{white-space:pre-wrap}
.portal-body .portal-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.portal-alert{border:1px solid #725d35;background:#231d13;padding:16px 20px;margin-bottom:20px;color:#ddceb0;border-radius:6px}
.portal-alert a{color:#f1d58c;text-decoration:underline}
.portal-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}
.portal-tools select{padding:12px;background:#131313;border:1px solid #555;color:white;max-width:100%}
.ops-table-wrap{overflow:auto;max-width:100%}
.ops-table{width:100%;min-width:650px;border-collapse:collapse}
.ops-table th,.ops-table td{text-align:left;padding:13px 12px;border-bottom:1px solid #333;vertical-align:top}
.ops-table th{color:#ddc385;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}
.ops-table td{font-size:.83rem}
.ops-table td small{display:block;color:var(--muted)}
.ops-table td select{background:#191919;color:#eee;border:1px solid #444;padding:8px;max-width:190px}
.ops-form{margin-top:20px}
.ops-form fieldset{grid-column:1/-1;display:contents}
.status-badge{white-space:nowrap}
@media(max-width:1200px){.menu-toggle{display:block;border:1px solid #444;padding:8px 10px;border-radius:5px}.nav{display:none;position:absolute;left:0;right:0;top:100%;padding:16px 24px 24px;background:#111216;border-bottom:1px solid #555;max-height:calc(100svh - 78px);overflow-y:auto;align-items:stretch;gap:4px}.nav.open{display:flex;flex-direction:column}.nav>a{width:100%;font-size:.95rem;padding:11px 0}.nav .nav-cta{padding:11px 16px!important;width:100%;margin-top:8px}.nav-more summary{font-size:.95rem;padding:11px 0}.nav-more-links{position:static;box-shadow:none;background:#1b1c21;padding:10px 18px;border-radius:4px;min-width:0}.nav-more-links a{font-size:.88rem}.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:960px){.form-layout,.split-section,.two-column,.credibility-section{grid-template-columns:minmax(0,1fr);gap:30px}.form-intro{position:static}.hero{grid-template-columns:minmax(0,1fr)}.single-appointment{padding-top:30px}.portal-grid-two{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.footer-main{grid-template-columns:minmax(0,1fr)}.section{padding-left:20px;padding-right:20px}.print-toolbar{gap:18px}.download-actions{width:100%;flex-direction:column}.capability-header{flex-direction:column-reverse}.capability-grid{grid-template-columns:minmax(0,1fr)}.capability-grid section{padding:20px}.form-layout .professional-form{padding:19px}.authorization-meta{grid-template-columns:minmax(0,1fr)!important}.authorization-table{min-width:620px}.authorization-table-wrap{overflow:auto}.approval-decision-grid{grid-template-columns:1fr}.portal-panel form{grid-template-columns:minmax(0,1fr)}.portal-panel form .full{grid-column:1/-1}.portal-main{padding-left:18px;padding-right:18px}.portal-user-chip{max-width:100%;overflow-wrap:anywhere}.brand{min-width:0}.brand-copy{min-width:0}.quote-number{font-size:2.5rem}.client-access-notice{margin-left:20px;margin-right:20px}.hero-actions .button{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation-duration:.01ms!important}}
@media print{
 @page{size:letter;margin:16mm}
 html,body{background:white!important;color:black!important;font-size:10pt!important;line-height:1.45!important}
 .site-header,.site-footer,.portal-sidebar,.portal-mobile-header,.portal-loading,.portal-fatal,.print-toolbar,.hero-actions,.client-private-toolbar,.form-status,.auth-back,.portal-tools,.client-access-notice,button,[data-no-print],input[type=hidden]{display:none!important}
 main,.portal-main{margin:0!important;padding:0!important;min-height:0!important}
 .section{padding:8px 0!important;background:white!important}
 .quote-builder{display:none!important}.quote-layout{display:block!important}.quote-result{position:static!important;border:0!important}
 .print-value{display:block!important;white-space:pre-wrap!important;overflow-wrap:anywhere;min-height:18px;padding:7px 0!important;border-bottom:1px solid #bbb!important}
 .print-mirror-hide{display:none!important}
 h1,h2,h3,h4,p,label,li,a,strong,span,div,td,th{color:black!important;text-shadow:none!important}
 h1{font-size:25pt!important}h2{font-size:17pt!important}h3{font-size:12pt!important}
 .professional-form,.authorization-form,.authorization-meta,.approval-decision-grid{display:block!important;background:white!important;border:0!important;padding:0!important}
 label,.auth-field{break-inside:avoid;display:block!important;margin-bottom:12px!important}
 .capability-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}.capability-grid section{padding:14px!important;border-color:#bbb!important;break-inside:avoid}.capability-grid .checklist li{padding:6px 0 6px 18px!important}
 .print-check-grid{display:grid!important;grid-template-columns:1fr 1fr!important}.print-check-grid label{padding:10px!important;border:1px solid #777!important}
 .tool-table{width:100%!important;table-layout:fixed}.tool-table td,.tool-table th{padding:8px!important;word-wrap:break-word}
 .portal-panel,.report-card,.property-card{background:white!important;border-color:#bbb!important;box-shadow:none!important;break-inside:avoid}.ops-table{min-width:0!important}.ops-table-wrap{overflow:visible!important}
}

.table-scroll{max-width:100%;overflow:auto}.table-scroll table{min-width:500px}@media print{.table-scroll{overflow:visible}.table-scroll table{min-width:0;width:100%}}
@media print {
 .onboarding-progress,.form-intro {display:none!important}
 .notice-card,.service-area-box,.booking-notice,.score-card,.fit-result,.pricing-card,.form-status {background:#fff!important;background-image:none!important;color:#111!important;border-color:#777!important;box-shadow:none!important}
 .notice-card *, .service-area-box *, .booking-notice *, .form-status * {color:#111!important}
 .page-hero {padding-top:0!important;padding-bottom:12pt!important}
 .page-hero h1 {font-size:21pt!important;line-height:1.2!important;margin:6pt 0!important}
 .page-hero .lead{font-size:10pt!important;line-height:1.4!important}
 .form-layout{display:block!important;padding-top:0!important}
}
