/* One continuous charcoal canvas across public pages. */
body{--canvas:#0e1d26;--ink:#eaeff4;--muted:#c2cfd7;--glass-fill:rgba(24,43,55,.84);--glass-edge:rgba(139,171,188,.20);background-color:var(--canvas);background-image:radial-gradient(ellipse at 90% 8%,#44799012,transparent 42%),radial-gradient(ellipse at 5% 62%,#4680950c,transparent 48%);color:var(--ink)}
.header{background:linear-gradient(180deg,#273a4280,transparent),var(--canvas);border-bottom:0;isolation:isolate}
.header:before,.footer:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url('/assets/ocean-grain.svg'),linear-gradient(#afcfda09 1px,transparent 1px),linear-gradient(90deg,#afcfda09 1px,transparent 1px);background-size:160px 160px,48px 48px,48px 48px;mask-image:linear-gradient(180deg,#0009,#0003);-webkit-mask-image:linear-gradient(180deg,#0009,#0003)}
.header:after{content:'';position:absolute;left:0;right:0;top:100%;height:72px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--canvas),transparent)}
.hero{background-color:var(--canvas);padding-bottom:100px}
.hero:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,var(--canvas),#0e1d2610 20%,#0e1d2618 45%,#0e1d2680 78%,var(--canvas) 100%)}
.hero h1 span{color:#76b6d1}.hero p{color:#d2dee4}.hero .eyebrow{background:#1c2d3680;border-color:#abccd940}
.hero .wrap{background:transparent}.hero .actions>.button:first-child{background:#2034409c;color:#c9e2ed;border-color:#7ab1cb80}
.search-band,.services,.section{background:transparent}
.section{padding:48px 0}.section+.section{padding-top:24px}.search-band{padding-bottom:24px}
.hero+.search-band{position:relative;margin-top:-28px;z-index:3}
.section>.narrow,.tool-card,.article-card,.service-card,.lookup,.map,.quote-form,.directory article{background:linear-gradient(140deg,#759cb116,transparent 68%),var(--glass-fill);border-color:var(--glass-edge);box-shadow:inset 0 1px 0 #d6e8f012,0 10px 30px #101e261f}
.tool-card strong,.article-card h3 a{color:#ecf1f5}.tool-card span:not(.tool-icon),.service-card p,.article-card p,.services .lead,.lead,.notice,.lookup small,.directory article p,.map-hint,.map-status,.catalog-note{color:var(--muted)}
.tool-card .tool-icon,.tool-card i,.service-card .card-number{color:#80bbd6}
.page-masthead{background:radial-gradient(ellipse at 85% 0,#4f879f24,transparent 65%),linear-gradient(180deg,#1f303866,transparent);border-bottom:0;padding-bottom:52px}
.page-masthead p,.breadcrumbs{color:#c9d7df}.masthead-art{opacity:.85}
.cta{background:radial-gradient(ellipse at 20% 50%,#5e96ae1f,transparent 70%);border-color:#aacbd81c;padding:48px 0}.cta p{color:#c9d6dc}
.footer{position:relative;isolation:isolate;background:radial-gradient(ellipse at 80% 100%,#4c7b8e2b,transparent 70%),linear-gradient(180deg,transparent,#273a4280);border-top:0;color:#c3d0d8;padding-top:76px}.footer:before{mask-image:linear-gradient(180deg,transparent,#0009);-webkit-mask-image:linear-gradient(180deg,transparent,#0009)}.footer:after{content:'';position:absolute;top:0;left:12%;right:12%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,#abcbd430,transparent)}.footer-bottom{border-color:#aacbd826}
input,select,textarea,.search-row input,.lookup-filters select,.lookup-kind-mobile,.ss-trigger,.map .ss-trigger{background:#1c2b33;color:#ebf1f4;border-color:#90adbc6b;box-shadow:inset 0 1px 3px #101e2617}
input::placeholder,textarea::placeholder{color:#b0c2cc}input:focus,select:focus,textarea:focus,.ss-trigger:hover,.ss-trigger[aria-expanded=true]{background:#24353e;border-color:#8ebed4}
select option{background:#24353e;color:#ebf1f4}.form-grid label,.tool-form label,.consent,.map-controls label{color:#d1dde3}
.tabs button[aria-selected=true]{background:#54849b2b;color:#dbe9f1}.button.secondary{background:#283b4580;color:#dbe9f1}.button.secondary:hover{background:#334a56}
.tool-dialog{background:linear-gradient(145deg,#273942,#1b2a32);border-color:#91bbcd6b;box-shadow:0 25px 90px #0d192066}.tool-dialog::backdrop{background:#121e279c}.dialog-header{background:#23343df5}.dialog-close{background:#2f404a;color:#e5edf2;border-color:#98b4c16b}
.ss-popup{background:#23343dfa;box-shadow:0 18px 50px #111f2966}.ss-search{background:#1c2b33}.ss-option.active,.ss-option:hover{background:#4e788b66;color:#eaf1f4}.ss-option[aria-selected=true]{background:#344b57;color:white}
.header .navigation,.nav-submenu{background:#203039f7;border-color:#8ab1be4d;box-shadow:0 18px 40px #101d2633}.header .navigation{box-shadow:none}.nav-submenu a:hover{background:#537e9226}
.map-canvas,.map-canvas.leaflet-container{background:radial-gradient(ellipse at 50% 45%,#2c414a,#1d2c35)}.map-canvas .leaflet-tile{filter:saturate(.8) brightness(1)}
.map-canvas .leaflet-tooltip,.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#273a42;color:#eaf1f4}.status,.result{background:#36505c38;border-color:#97bdcd4d;color:#e7eff3}
.guide-toc details{background:#283b4570}.guide-table-wrap th{background:#2c424c}.guide-table-wrap td,.guide-list{color:#d4dfe5}.post-page .section p{color:#d4dfe5}.guide-table-wrap tbody tr:nth-child(even){background:#5c819512}
/* Motion only runs after observation; content stays readable if JS fails. */
.motion-reveal{animation:genlog-reveal .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--reveal-delay,0ms)}
@keyframes genlog-reveal{from{opacity:.15;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.service-card,.article-card,.tool-card{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
@media(hover:hover){.service-card:hover,.article-card:hover,.tool-card:hover{transform:translateY(-5px);border-color:#96c1d480;box-shadow:0 16px 36px #101e2633,inset 0 1px 0 #d6e8f018}.service-card img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}.service-card:hover img{transform:scale(1.035)}.service-card>a:hover{transform:rotate(35deg);background:#6a95a926}}
.tool-card .tool-icon,.tool-card i{transition:transform .3s ease}.tool-card:hover .tool-icon{transform:translateY(-3px) rotate(-5deg)}.tool-card:hover i{transform:translate(3px,-3px)}
.navigation>a,.footer a:not(.brand){transition:color .2s ease}.navigation>a:hover,.footer a:not(.brand):hover{color:#a0cce0}
.tool-dialog[open]{animation:genlog-dialog .25s ease-out}.tool-dialog[open]::backdrop{animation:genlog-backdrop .25s ease-out}.ss-popup:not([hidden]),.nav-group.open .nav-submenu{animation:genlog-dialog .2s ease-out}
@keyframes genlog-dialog{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes genlog-backdrop{from{opacity:0}to{opacity:1}}
@media(min-width:801px){.header .navigation{background:transparent;border:0}.masthead-art{animation:genlog-art 9s ease-in-out infinite}@keyframes genlog-art{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}}
@media(max-width:800px){.section{padding:36px 0}.section+.section{padding-top:20px}}
@media(max-width:600px){.hero{padding-bottom:76px}.hero+.search-band{margin-top:-18px}.section{padding:30px 0}.section+.section{padding-top:16px}.page-masthead{padding-bottom:34px}.cta{padding:34px 0}.ss-popup{background:#23343d}.motion-reveal{animation-duration:.55s}}
@media(prefers-reduced-transparency:reduce){body{--glass-fill:#263741}.tool-dialog,.ss-popup{background:#23343d}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-reveal,.masthead-art,.tool-dialog[open],.tool-dialog[open]::backdrop,.ss-popup:not([hidden]),.nav-group.open .nav-submenu{animation:none!important}.service-card:hover,.article-card:hover,.tool-card:hover,.tool-card:hover .tool-icon,.tool-card:hover i,.service-card:hover img{transform:none}}
