/* Architectural glass controls. No decorative arrow badges. */
:root{--control-edge:#cbb982;--control-shadow:#072c3b34}
.button,.nav-quote,.mobile-cta a,.mobile-cta a:last-child,.menu-button{border-radius:1px!important}
.button,.nav-quote,.mobile-cta a:last-child{display:inline-flex;align-items:center;justify-content:center;gap:0;min-height:54px;padding:15px 28px;background:linear-gradient(150deg,#397789e6 0%,#205b70ed 40%,#103a50fa 100%);border:1px solid #7fa8ad;color:#fff;box-shadow:inset 0 1px 0 #ffffff75,inset 1px 0 0 #ffffff25,inset 0 -2px 0 #062c4670,3px 4px 0 #0b344442,0 13px 24px #143c4d25;letter-spacing:.025em;font-size:.82rem;font-weight:600;text-align:center;text-shadow:0 1px 2px #082a4266;backdrop-filter:blur(14px) saturate(155%);-webkit-backdrop-filter:blur(14px) saturate(155%);transition:transform .26s cubic-bezier(.2,.7,.3,1),box-shadow .26s,border-color .26s,filter .26s;isolation:isolate;overflow:hidden}
.button>span[aria-hidden=true]{display:none!important}
.button:before,.nav-quote:before{content:'';display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 10%,#ffffff03 24%,#ffffff35 47%,#ffffff09 66%,transparent 80%);transform:translateX(-125%);transition:transform .65s cubic-bezier(.2,.7,.3,1);pointer-events:none}
.button:after,.nav-quote:after{content:'';position:absolute;left:12px;right:12px;top:4px;height:1px;background:linear-gradient(90deg,transparent,#ffffff82,transparent);opacity:.7;pointer-events:none;transition:opacity .25s}
.button:hover,.nav-quote:hover{transform:translate(-1px,-3px);background:linear-gradient(145deg,#438596e8,#215a71f0 55%,#113c53fa);border-color:#d4c58e;box-shadow:inset 0 1px 0 #ffffff8c,inset 1px 0 0 #ffffff35,inset 0 -2px 0 #082d4766,4px 7px 0 #10384b35,0 18px 30px #0d3e5733;filter:brightness(1.04);color:#fff}
.button:hover:before,.nav-quote:hover:before{transform:translateX(125%)}
.button:active,.nav-quote:active{transform:translate(1px,2px);box-shadow:inset 0 2px 5px #031c3b3d,inset 0 1px 0 #ffffff20,1px 1px 0 #10384b35,0 4px 8px #0d3e5718;filter:brightness(.97)}
.button:focus-visible,.nav-quote:focus-visible,.mobile-cta a:focus-visible{outline:2px solid #af8b4b;outline-offset:5px}
.nav-quote{min-height:45px;padding:12px 23px;font-size:.74rem}.site-header nav .nav-quote{border-radius:1px!important}
.button.outline{color:#16495d;background:linear-gradient(145deg,#ffffffb0,#ecf3ef77);border:1px solid #92b4b3;text-shadow:0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 #fff,3px 4px 0 #a9bfba45,0 10px 20px #173f4c0c}
.button.outline:hover{color:#143f53;background:linear-gradient(145deg,#ffffffec,#e2f0e9af);border-color:#b7a263;box-shadow:inset 0 1px 0 #fff,4px 7px 0 #a9bfba55,0 16px 26px #173f4c1a}
.button.light{color:#173e51;background:linear-gradient(145deg,#ffffffef,#e9f1e0c9);border:1px solid #e5ddbd;text-shadow:0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 #fff,3px 4px 0 #061d2e44,0 13px 23px #001e3926}
.button.light:hover{color:#103b50;background:linear-gradient(145deg,#fff,#f0f1d9e6);border-color:#f2db9f;box-shadow:inset 0 1px 0 #fff,4px 7px 0 #061d2e66,0 18px 30px #001e3938}
.text-button{padding:9px 14px;border:1px solid #adc6be;background:linear-gradient(145deg,#ffffffbd,#eaf2ec8f);border-radius:1px;text-decoration:none;box-shadow:inset 0 1px 0 #fff,2px 3px 0 #b5c9bd55,0 5px 12px #163e4c0b;transition:transform .23s,box-shadow .23s,border-color .23s}
.text-button:hover{transform:translateY(-2px);border-color:#b9a671;box-shadow:inset 0 1px 0 #fff,3px 5px 0 #b5c9bd66,0 9px 16px #163e4c12}.text-button:active{transform:translateY(1px)}
.text-link{padding:5px 0 6px;text-decoration:none;border-bottom:1px solid #89aaa6;position:relative;transition:border-color .25s,color .25s}.text-link:hover{border-color:#ad9151;color:#1c6477}
.hero-image figcaption,.scope-preview,.service-card,.resource,.steps li,.local-note,.reading-aside,.quote-aside,.contact-card,.quote-layout form,.area-controls{border-radius:3px;box-shadow:inset 0 1px 0 #ffffffbd,4px 6px 0 #bdcec21f,0 13px 27px #143c4d0e}
.service-photo,.hero,.service-photo>span,.city-pills a,.area-row,.chips a,.extras label,.progress span,.scope-mobile details,input,select,textarea{border-radius:2px}
.service-card,.resource,.contact-card{background:linear-gradient(135deg,#ffffffb8,#f6f8f1a3);backdrop-filter:blur(12px);transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s,border-color .35s}
.service-card:hover,.resource:hover,.contact-card:hover{transform:translateY(-6px);box-shadow:inset 0 1px 0 #fff,5px 8px 0 #bbccbf30,0 22px 36px #143c4d17;border-color:#bba878}
.scope-preview{background:linear-gradient(135deg,#ffffff16,#ffffff06);border-color:#b6d5d34d;box-shadow:inset 0 1px 0 #ffffff2e,6px 9px 0 #052b3b1f,0 19px 35px #021d3529}
.hero-image figcaption{background:#ffffffb8;border-color:#ffffffeb;box-shadow:inset 0 1px 0 #fff,5px 7px 0 #34545318,0 20px 34px #123b4f1c}
.hero{box-shadow:6px 9px 0 #b3c7ba20,0 21px 40px #143c4d0b}
.hero-copy .actions{gap:27px}.hero .button{min-width:192px}.more-services a{border-bottom:1px solid #bccdc6;padding-block:5px}
.site-header{background:linear-gradient(115deg,#fafbf4db,#ffffffb8);box-shadow:0 4px 14px #143c4d05}.site-header.scrolled{background:linear-gradient(115deg,#fafbf4ed,#ffffffe3);box-shadow:0 10px 28px #143c4d12}
.site-header nav .nav-quote{animation:control-arrive .55s cubic-bezier(.2,.7,.3,1) both}.button{animation:control-arrive .5s cubic-bezier(.2,.7,.3,1) both}
@keyframes control-arrive{from{opacity:.72;translate:0 5px}to{opacity:1;translate:0 0}}
.reveal{transform:translateY(15px);opacity:.76;transition-duration:.6s}.reveal.is-visible{transform:translateY(0);opacity:1}
@media(max-width:950px){.nav-quote{padding-inline:17px}.hero .button{min-width:174px}.button{padding:14px 23px}}
@media(max-width:760px){.button{min-height:51px;padding:14px 24px;font-size:.8rem}.nav-quote{min-height:46px}.hero .button{padding:14px 23px;min-width:179px;font-size:.78rem}.hero .actions{gap:21px}.mobile-cta{background:#f9faf1cc;box-shadow:0 -9px 25px #173f4c12;backdrop-filter:blur(20px)}.mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:48px;border-color:#7fa6a7;background:#ffffffaa;box-shadow:inset 0 1px 0 #fff,2px 3px 0 #b6ccc257;font-size:.78rem}.mobile-cta a:last-child{min-height:48px;padding:11px 17px;font-size:.77rem;box-shadow:inset 0 1px 0 #ffffff7a,2px 3px 0 #173b4c44,0 7px 13px #173f4c17}.quote-layout form,.quote-aside,.scope-mobile details{border-radius:2px}.review-tools{gap:14px}.text-button{padding:11px 14px}.hero{border-radius:3px}.hero-image figcaption{border-radius:2px}.site-header nav{border-radius:0}.button:after{left:10px;right:10px}.button:before{transition-duration:.55s}}
@media(prefers-reduced-motion:reduce){.button,.nav-quote{animation:none!important}.button:before,.nav-quote:before{display:none!important}.button:hover,.nav-quote:hover,.button:active,.nav-quote:active,.text-button:hover,.text-button:active,.service-card:hover,.resource:hover,.contact-card:hover{transform:none!important}.reveal{opacity:1;transform:none;transition:none}}
@keyframes panel-open{from{opacity:.65;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.site-header nav.open{animation:panel-open .28s cubic-bezier(.2,.7,.3,1) both}}
@media(prefers-reduced-motion:reduce){.site-header nav.open{animation:none!important}}

/* NVTCS private application launcher, last in primary navigation. */
.admin-menu{position:relative;margin:0;font:inherit;color:var(--ink)}
.admin-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px;padding:12px 0;white-space:nowrap;font:inherit}
.admin-menu summary::-webkit-details-marker{display:none}
.admin-menu summary::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .18s}
.admin-menu[open] summary::after{transform:rotate(225deg);margin-top:3px}
.admin-options{position:absolute;right:0;top:100%;min-width:180px;display:grid;background:#fffffff5;border:1px solid #d4e0df;box-shadow:0 14px 35px #153a5026;padding:7px;z-index:80;backdrop-filter:blur(15px)}
.site-header .admin-options a{display:block;padding:12px 15px;color:#174b62;font-size:13px;text-decoration:none;border:0}
.site-header .admin-options a:hover{background:#eaf3f5;color:#103a50}
.admin-menu summary:focus-visible,.admin-options a:focus-visible{outline:2px solid #397789;outline-offset:4px}
@media(max-width:1000px){.site-header nav{gap:16px}}
@media(max-width:800px){.admin-menu{width:100%;border-top:1px solid #d7e3df;padding-top:8px}.admin-menu summary{padding:12px 0}.admin-options{position:static;width:100%;box-shadow:none;margin:0 0 8px;background:#f4f8f7}.site-header .admin-options a{padding:13px 16px}}

.answer-summary{border-block:1px solid #d6e1dd;padding-block:40px!important;margin-block:30px}.answer-summary dl{display:grid;grid-template-columns:120px 1fr;gap:14px 22px;font-size:15px;line-height:1.8}.answer-summary dt{font-weight:600;color:#174b62}.answer-summary dd{margin:0}.answer-summary a{color:#174b62;text-decoration:underline;text-underline-offset:4px}@media(max-width:650px){.answer-summary dl{grid-template-columns:1fr;gap:6px}.answer-summary dd{margin-bottom:14px}}

/* Keep the official skyline emblem and separate wordmark legible at each size. */
.brand .brand-emblem{width:clamp(64px,6vw,84px);height:auto;object-fit:contain}
.site-header .brand{gap:8px}.hero-detail{max-width:51ch}
@media(min-width:801px){.section:not(.tight){padding-block:clamp(48px,5vw,68px)}.section-heading{margin-bottom:26px}.nav-wrap{min-height:84px}}
@media(max-width:800px){.section-heading{gap:16px}.area-feature .city-pills{gap:8px}.site-header .brand-emblem{width:58px}.site-header .brand-wordmark{max-width:42vw;height:auto}}

.site-header .brand .brand-emblem{width:108px;height:80px;object-fit:contain}
.footer-grid>div:first-child>.brand{background:transparent;box-shadow:none;border:0;padding:0;gap:14px}
footer .brand .brand-emblem{width:100px;height:76px;object-fit:contain}
.skyline-type{font:600 30px/1 system-ui,sans-serif;letter-spacing:.09em;color:#e9f4fc}
@media(max-width:800px){.site-header .brand .brand-emblem{width:88px;height:66px}}

.site-header .brand-lettering{display:grid;gap:3px;text-align:left;white-space:nowrap;line-height:1.1}
.site-header .brand-lettering .brand-region{font:500 10px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.16em;color:#315873}
.site-header .brand-lettering .brand-name{font:400 clamp(19px,1.6vw,23px)/1.1 var(--serif);letter-spacing:-.025em;color:#103650}
.site-header .brand-lettering .brand-motto{font:italic 13px/1.25 var(--serif);letter-spacing:0;color:var(--muted)}
@media(min-width:801px) and (max-width:1100px){.site-header .brand .brand-emblem{width:73px;height:60px}.site-header .nav-wrap,.site-header nav{gap:10px}}
@media(max-width:480px){.site-header .brand{gap:7px}.site-header .brand .brand-emblem{width:clamp(54px,15vw,72px);height:auto}.site-header .brand-lettering .brand-region{font-size:9px}.site-header .brand-lettering .brand-name{font-size:clamp(16px,4.4vw,20px)}.site-header .brand-lettering .brand-motto{font-size:12px}}
