/* KRC readable type and responsive layout, shared by marketing and portals. */
html{font-size:16px;scroll-padding-top:110px}body{font-size:17px;line-height:1.6}button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;max-width:100%}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2458c6;outline-offset:3px}
body:has(#navlinks) .wrap{max-width:1380px;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}
body:has(#navlinks) .top{font-size:14px;letter-spacing:.3px}body:has(#navlinks) .top .wrap{gap:12px;flex-wrap:wrap}body:has(#navlinks) header>nav{height:auto;min-height:88px;gap:24px;padding-top:12px;padding-bottom:12px}body:has(#navlinks) .brand img{width:220px;height:70px;max-width:100%;object-fit:contain}body:has(#navlinks) #navlinks{gap:8px;flex-wrap:wrap;min-width:0}body:has(#navlinks) #navlinks>a{font-size:16px;line-height:1.35;min-height:44px;padding:10px 13px}body:has(#navlinks) .btn{font-size:16px;min-height:48px;padding:12px 20px;border-radius:8px;gap:16px}body:has(#navlinks) .text-link,body:has(#navlinks) .service-detail-link{font-size:16px}body:has(#navlinks) .hero{min-height:560px}body:has(#navlinks) .hero-copy{padding:clamp(40px,5vw,72px) 40px clamp(40px,5vw,72px) max(24px,calc((100vw - 1268px)/2))}body:has(#navlinks) .hero-copy>p{font-size:18px;line-height:1.65;max-width:540px;margin-bottom:24px}body:has(#navlinks) .hero h1{font-size:clamp(40px,4.4vw,64px);letter-spacing:-1.6px;line-height:1.12}body:has(#navlinks) .hero-image{min-height:440px}body:has(#navlinks) .eyebrow{font-size:14px;letter-spacing:1.3px}body:has(#navlinks) .hero-badge{font-size:15px;margin-top:28px}body:has(#navlinks) section{padding-top:56px;padding-bottom:56px}body:has(#navlinks) .service p,body:has(#navlinks) .service-guide,body:has(#navlinks) .journey-card p,body:has(#navlinks) .preparation-grid p,body:has(#navlinks) .report-guide p,body:has(#navlinks) .trust-item,body:has(#navlinks) .contact-options{font-size:17px;line-height:1.6}body:has(#navlinks) small,body:has(#navlinks) .footer-bottom,body:has(#navlinks) .image-note{font-size:14px}body:has(#navlinks) .service,body:has(#navlinks) .journey-card{padding:24px;border-radius:12px}body:has(#navlinks) .section-head p{font-size:18px}.inspection-page p,.inspection-page li,.inspection-related-card p{font-size:17px!important;line-height:1.65}.inspection-page .eyebrow,.inspection-breadcrumb,.inspection-reading p{font-size:14px!important}
/* Portal hierarchy and controls. */
body:not(:has(#navlinks)) p{font-size:17px!important;line-height:1.6}.btn,.btn-sm,.cta,.input,.chip,.area-btn,.filter-select,.filter-search{font-size:16px!important}.btn,.btn-sm,.cta,.chip,.area-btn{min-height:44px;padding:11px 16px;line-height:1.35}.panel-label,.field label,.repair-form label,.people-controls label{font-size:16px!important}.badge,.tag,.request-status,.card-meta,.ct-sub,.repair-hint,.request-date,.workspace-role,.filter-count{font-size:14px!important;line-height:1.5}.panel,.card,.lead-card{border-radius:12px}.card-name,.lead-name,.pcard-name{font-size:21px!important}.krc-utility{font-size:14px;letter-spacing:.3px}.krc-nav-wrap{max-width:1440px;padding-left:24px;padding-right:24px}.krc-navigation a,.krc-navigation .krc-signout{font-size:16px!important;min-height:44px;white-space:normal}.krc-nav-row{gap:20px}.krc-logo img{width:220px;height:76px}.krc-breadcrumbs{font-size:14px!important;letter-spacing:0}.sneat-admin .admin-nav-link{font-size:16px;padding:12px 14px;min-height:48px}.sneat-admin .admin-side-label,.workspace-eyebrow{font-size:13px}.sneat-admin .admin-bar h1{font-size:32px;line-height:1.2}.workspace-top-actions a,.workspace-topbar strong{font-size:16px}.workspace-stat>span:last-of-type{font-size:16px}.sneat-admin .admin-main{padding:24px 32px}.workspace-content{max-width:1280px}.sneat-admin .panel{padding:24px}.ctable th{font-size:14px}.ctable td{font-size:16px}.actions{gap:12px;flex-wrap:wrap}.login-options{gap:16px;flex-wrap:wrap}.password-toggle{min-height:44px;font-size:16px}.workspace-topbar{flex-wrap:wrap}.people-collection .card-top{align-items:start}
/* Use a menu before full-size navigation becomes cramped. */
@media(max-width:1100px){body:has(#navlinks) header>nav{position:relative;min-height:82px;flex-wrap:nowrap}body:has(#navlinks) .menu{display:block;font-size:16px;min-height:44px;padding:10px 16px;border-radius:8px}body:has(#navlinks) #navlinks{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:20px 24px;border-bottom:1px solid #dce6f3;box-shadow:0 12px 20px #102f6015;flex-direction:column;align-items:stretch;max-height:70dvh;overflow-y:auto;z-index:50}body:has(#navlinks) #navlinks.open{display:flex}body:has(#navlinks) #navlinks>a{justify-content:flex-start}.krc-nav-row{position:relative;min-height:82px}.krc-menu{display:block;min-height:44px;font-size:16px;padding:10px 16px}.krc-navigation{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 24px;background:white;flex-direction:column;align-items:stretch;max-height:70dvh;overflow-y:auto;box-shadow:0 12px 20px #102f6015}.krc-navigation.is-open{display:flex}.krc-navigation a{justify-content:flex-start}}
@media(min-width:1101px){body:has(#navlinks) header>nav{flex-wrap:nowrap}body:has(#navlinks) #navlinks{justify-content:flex-end}.krc-navigation{flex:1;gap:8px}.krc-nav-row{padding-top:12px;padding-bottom:12px}}
@media(max-width:760px){body:has(#navlinks) .hero{grid-template-columns:1fr}body:has(#navlinks) .hero-copy{padding:36px 24px}body:has(#navlinks) .hero-image{min-height:300px}body:has(#navlinks) .brand img,.krc-logo img{width:180px;height:60px}body:has(#navlinks) .hero-copy>p{font-size:18px}body:has(#navlinks) section{padding-top:40px;padding-bottom:40px}body:has(#navlinks) .top .wrap>span{display:none}body:has(#navlinks) .actions{align-items:stretch}body:has(#navlinks) .hero .actions .btn{width:100%}.sneat-admin .admin-main{padding:16px}.sneat-admin .panel,.panel,.card{padding:20px}.krc-utility .krc-nav-wrap>span{display:none}.krc-utility .krc-nav-wrap{justify-content:flex-end}.workspace-topbar{padding:16px;margin-bottom:20px}.workspace-welcome{padding:24px}.krc-site-header{position:relative}.people-controls{gap:12px}.people-view-toggle{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Keep desktop links visible; use a second row on narrower laptops. */
@media(min-width:1101px){body:has(#navlinks) .menu,.krc-menu{display:none}body:has(#navlinks) #navlinks,.krc-navigation{display:flex;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;max-height:none;overflow:visible;background:transparent;box-shadow:none}body:has(#navlinks) #navlinks{padding:0;border:0}body:has(#navlinks) header>nav,.krc-nav-row{flex-wrap:wrap;height:auto}body:has(#navlinks) #navlinks>a,.krc-navigation a{white-space:nowrap}}
@media(min-width:1101px) and (max-width:1399px){body:has(#navlinks) #navlinks,.krc-navigation{flex-basis:100%;justify-content:flex-start}body:has(#navlinks) header>nav,.krc-nav-row{gap:12px}body:has(#navlinks) .brand img,.krc-logo img{width:190px;height:60px}}

/* Compact marketing typography without reducing form readability. */
body:has(#navlinks){font-size:16px}
body:has(#navlinks) .top{font-size:12px}
body:has(#navlinks) header>nav{min-height:76px;gap:16px;padding-top:8px;padding-bottom:8px}
body:has(#navlinks) .brand img{width:180px;height:56px}
body:has(#navlinks) #navlinks>a{font-size:14px;padding:9px 11px;min-height:44px}
body:has(#navlinks) .hero h1{font-size:clamp(34px,3.5vw,48px);line-height:1.12;letter-spacing:-1px}
body:has(#navlinks) .hero-copy{padding-top:40px;padding-bottom:40px}
body:has(#navlinks) .hero-copy>p{font-size:16px;line-height:1.6;margin-bottom:20px}
body:has(#navlinks) .eyebrow{font-size:12px;letter-spacing:1px}
body:has(#navlinks) .btn{font-size:15px!important;padding:10px 16px;min-height:44px}
body:has(#navlinks) .hero{min-height:480px}
body:has(#navlinks) .hero-image{min-height:400px}
body:has(#navlinks) .service p,body:has(#navlinks) .journey-card p,body:has(#navlinks) .section-head p{font-size:16px}
@media(max-width:760px){body:has(#navlinks) .hero-copy{padding:32px 24px}body:has(#navlinks) .hero-image{min-height:280px}}

/* Balanced desktop header and a clearer primary action. */
@media(min-width:1200px){body:has(#navlinks) header>nav{flex-wrap:nowrap}body:has(#navlinks) #navlinks{flex-basis:auto;flex:1;justify-content:flex-end;gap:6px}body:has(#navlinks) .brand{flex:0 0 160px}body:has(#navlinks) .brand img{width:160px;height:54px}body:has(#navlinks) #navlinks>a{font-size:13px;padding:9px}body:has(#navlinks) #navlinks>.btn{font-size:13px!important;gap:8px}}
body:has(#navlinks) .hero-copy{display:flex;flex-direction:column;justify-content:center}
body:has(#navlinks) .hero .actions{gap:12px;margin-bottom:18px}
body:has(#navlinks) .hero .actions>a:not(.booking){background:transparent;color:#102f60;border-color:#a9bddc}
body:has(#navlinks) .hero .actions>a:not(.booking):hover{background:#e7effc;color:#102f60!important}
body:has(#navlinks) .hero-copy>.contractor-intro{font-size:14px;line-height:1.6;max-width:480px;margin-bottom:0}
body:has(#navlinks) .hero-badge{font-size:13px;margin-top:22px}

/* Shared scale for React pages and static marketing pages. */
:root{--krc-body-size:16px;--krc-nav-size:14px;--krc-control-size:15px}
body{font-size:var(--krc-body-size)}
body:not(:has(#navlinks)) p{font-size:var(--krc-body-size)!important}
.krc-utility{font-size:12px;letter-spacing:.3px}
.krc-nav-wrap{max-width:1380px;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}
.krc-nav-row{min-height:76px;gap:16px;padding-top:8px;padding-bottom:8px}
.krc-logo img{width:180px;height:56px;object-fit:contain}
.krc-navigation{gap:8px}
.krc-navigation a,.krc-navigation .krc-signout{font-size:var(--krc-nav-size)!important;line-height:1.35;padding:9px 11px;min-height:44px}
.btn,.btn-sm,.cta,.chip,.area-btn{font-size:var(--krc-control-size)!important}
.inspection-page p,.inspection-page li,.inspection-related-card p{font-size:var(--krc-body-size)!important}
@media(min-width:1200px){.krc-nav-row{flex-wrap:nowrap}.krc-logo{flex:0 0 160px}.krc-logo img{width:160px;height:54px}.krc-navigation{flex-basis:auto;flex:1;gap:6px;justify-content:flex-end}.krc-navigation a,.krc-navigation .krc-signout{font-size:13px!important;padding:9px}}
@media(max-width:1100px){.krc-navigation{top:100%}.krc-navigation a,.krc-navigation .krc-signout{font-size:16px!important;padding:12px 14px}}


/* Audience-specific footer navigation */
.krc-footer-directory{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:36px;padding:36px 0;margin:20px 0;border-top:1px solid #dce6f3;border-bottom:1px solid #dce6f3;text-align:left}
.krc-footer-directory section{min-width:0}.krc-footer-directory h2{font:700 18px/1.4 Arial,sans-serif!important;margin:0 0 8px!important;color:#102f60}.krc-footer-directory p{font:400 14px/1.6 Arial,sans-serif!important;margin:0 0 14px!important;color:#52637d}.krc-footer-directory nav{display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:flex-start!important;gap:2px!important;height:auto!important;padding:0!important}.krc-footer-directory a{display:inline-flex;align-items:center;min-height:44px;font:500 15px/1.5 Arial,sans-serif!important;color:#102f60;text-decoration:none;padding:4px 0}.krc-footer-directory a:hover{text-decoration:underline;text-underline-offset:4px}.krc-footer-directory a:focus-visible{outline:3px solid #2458c6;outline-offset:4px}.krc-footer-directory section:first-child nav a:first-child{color:#2458c6;font-weight:700!important}
@media(max-width:700px){.krc-footer-directory{grid-template-columns:1fr;gap:24px;padding:28px 0}.krc-footer-directory section+section{border-top:1px solid #dce6f3;padding-top:24px}}

.contractor-entry{max-width:900px;margin:48px auto;padding:0 16px}.contractor-entry>h1{font-size:32px;line-height:1.2;margin:12px 0}.contractor-entry>p{max-width:640px}.contractor-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.contractor-entry-grid h2{font-size:21px}.contractor-entry-grid .panel{display:flex;flex-direction:column;align-items:flex-start}.contractor-entry-grid .btn{margin-top:auto}@media(max-width:640px){.contractor-entry-grid{grid-template-columns:1fr}.contractor-entry{margin:28px auto}}

/* Keep desktop navigation on one row; use the menu below laptop width. */
@media(min-width:1024px){
 body:has(#navlinks) header>nav,.krc-nav-row{display:flex;flex-wrap:nowrap!important;gap:16px;width:100%;max-width:1600px;padding-left:24px;padding-right:24px}
 body:has(#navlinks) header .brand,.krc-logo{flex:0 0 140px}
 body:has(#navlinks) header .brand img,.krc-logo img{width:140px;height:54px}
 body:has(#navlinks) #navlinks,.krc-navigation{display:flex;flex-flow:row nowrap!important;flex:1 1 auto;flex-basis:auto!important;justify-content:flex-end;gap:5px;position:static;padding:0;max-height:none;overflow:visible;background:transparent;box-shadow:none;border:0}
 body:has(#navlinks) #navlinks>a,.krc-navigation>a,.krc-navigation .krc-signout{flex:0 0 auto;white-space:nowrap!important;font-size:13px!important;padding:9px 7px;min-height:44px}
 body:has(#navlinks) .menu,.krc-menu{display:none}
}
@media(max-width:1023px){
 body:has(#navlinks) header>nav,.krc-nav-row{position:relative;display:flex;flex-wrap:nowrap!important;justify-content:space-between;gap:16px}
 body:has(#navlinks) .menu,.krc-menu{display:block;min-height:44px;padding:10px 16px}
 body:has(#navlinks) #navlinks,.krc-navigation{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column!important;flex-basis:auto;align-items:stretch;justify-content:flex-start;max-height:70dvh;overflow-y:auto;background:#fff;padding:20px 24px;border-bottom:1px solid #dce6f3;box-shadow:0 12px 20px #102f6015;z-index:50}
 body:has(#navlinks) #navlinks.open,.krc-navigation.is-open{display:flex}
 body:has(#navlinks) #navlinks>a,.krc-navigation>a,.krc-navigation .krc-signout{font-size:15px!important;white-space:normal;justify-content:flex-start;min-height:44px}
}

.account-entry{max-width:1100px;margin:48px auto;padding:0 24px}.account-entry h1{font-size:32px;line-height:1.2}.account-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.account-entry-grid .panel{display:flex;flex-direction:column;align-items:stretch;padding:24px}.account-entry-grid h2{font-size:22px;margin-top:0}.account-entry-grid .btn{margin-top:auto;text-align:center;justify-content:center}.account-entry-secondary{margin:16px 0 0;font-size:14px;min-height:44px;display:flex;align-items:center}.account-entry a:focus-visible{outline:3px solid #2458c6;outline-offset:4px}@media(max-width:760px){.account-entry-grid{grid-template-columns:1fr}.account-entry{margin:28px auto}.account-entry h1{font-size:28px}}
