.icon{inline-size:1.25rem;block-size:1.25rem;flex:0 0 1.25rem;fill:none;stroke:currentColor;stroke-width:1.7;vertical-align:middle;pointer-events:none}
.skip-link{position:fixed;inset-block-start:1rem;inset-inline-start:var(--gutter);z-index:var(--z-skip);padding:.75rem 1.25rem;min-block-size:44px;background:var(--paper);color:var(--ink);border:1px solid var(--brass);transform:translateY(-180%);font-weight:600;text-decoration:none;transition:transform 160ms var(--ease-control),background-color 160ms var(--ease-control),box-shadow 160ms var(--ease-control)}
.skip-link:hover{background:#fff}.skip-link:active{background:var(--brass)}.skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--paper);outline-offset:4px;box-shadow:0 0 0 6px var(--ink)}
a,button,summary{transition:background-color 180ms var(--ease-control),color 180ms var(--ease-control),border-color 180ms var(--ease-control),box-shadow 180ms var(--ease-control),text-decoration-color 180ms var(--ease-control)}
a:hover{color:var(--paper);text-decoration-color:var(--paper);background-color:var(--surface-hover)}
a:active{color:var(--paper);background-color:var(--surface-pressed)}
a:focus-visible{outline:2px solid var(--brass);outline-offset:4px;background-color:var(--ink-raised)}
button:hover,summary:hover{background-color:var(--surface-hover)}
button:active,summary:active{background-color:var(--surface-pressed)}
button:focus-visible,summary:focus-visible{outline:2px solid var(--brass);outline-offset:4px;box-shadow:0 0 0 1px var(--ink)}
.site-header{position:sticky;inset-block-start:0;z-index:var(--z-header);background:var(--ink);isolation:isolate;border-block-end:1px solid var(--brass)}
.header-inner{display:flex;flex-direction:column;align-items:center;inline-size:min(var(--shell),calc(100% - var(--gutter)*2));margin-inline:auto;padding-block-start:1.5rem}
.brand{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;max-inline-size:100%;padding:.4rem .65rem;text-decoration:none;flex-shrink:0}
.brand img{block-size:2.1rem;inline-size:auto;max-inline-size:100%;object-fit:contain}
.brand:hover{background:var(--ink-raised);box-shadow:inset 0 -1px var(--brass)}
.brand:active{background:var(--surface-pressed);box-shadow:inset 0 -2px var(--brass)}
.brand:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.site-nav{inline-size:min(100%,48rem);margin-block-start:.625rem}
.nav-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;position:relative}
.nav-split::after{content:"";position:absolute;inset-inline-start:50%;inset-block-start:1rem;block-size:1rem;inline-size:1px;background:var(--brass)}
.nav-group{display:flex;justify-content:space-evenly;align-items:stretch;list-style:none;padding:0;margin:0;gap:.25rem}
.nav-group li{display:flex;flex:1 1 0}
.nav-link{display:flex;align-items:center;justify-content:center;min-block-size:48px;inline-size:100%;padding:.6rem .65rem;text-align:center;text-decoration:none;font-weight:500;line-height:1.25;font-size:var(--text-sm);border-block-end:2px solid transparent;overflow-wrap:anywhere}
.nav-link:hover{background:var(--ink-raised);border-block-end-color:var(--brass)}
.nav-link:active{background:var(--emerald-pressed);border-block-end-color:var(--paper)}
.nav-link:focus-visible{outline-offset:-4px;background:var(--surface-hover)}
.nav-link[aria-current='page']{border-block-end-color:var(--brass);background:var(--ink-raised);color:var(--paper)}
.nav-toggle{display:none;align-items:center;justify-content:center;gap:.65rem;min-block-size:44px;padding:.5rem 1rem;background:transparent;border:1px solid var(--line);font-size:var(--text-sm);line-height:1.35}
.nav-toggle:hover{border-color:var(--brass);background:var(--surface-hover)}
.nav-toggle:active{border-color:var(--paper);background:var(--emerald-pressed)}
.nav-toggle:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.nav-toggle .icon-close{display:none}.nav-toggle[aria-expanded="true"] .icon-menu{display:none}.nav-toggle[aria-expanded="true"] .icon-close{display:block}
.site-header.is-condensed .header-inner,.site-header[data-condensed="true"] .header-inner{padding-block-start:.5rem}
.site-header.is-condensed .site-nav,.site-header[data-condensed="true"] .site-nav{margin-block-start:.25rem}
.site-header.is-condensed,.site-header[data-condensed="true"]{box-shadow:0 8px 24px rgb(0 0 0 / .16)}
.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;position:relative;min-block-size:48px;max-inline-size:100%;padding:.8rem 1.35rem;border:1px solid var(--emerald);background:var(--emerald);color:var(--paper);font-size:1rem;font-weight:600;line-height:1.35;text-align:center;text-decoration:none;overflow-wrap:anywhere;isolation:isolate}
.button:hover,.btn:hover{border-color:var(--paper);background:var(--emerald-hover);color:var(--paper);box-shadow:0 2px 0 rgb(0 0 0 / .2)}
.button:active,.btn:active{border-color:var(--brass);background:var(--emerald-pressed);color:var(--paper);box-shadow:inset 0 2px 0 rgb(0 0 0 / .2)}
.button:focus-visible,.btn:focus-visible{outline:2px solid var(--brass);outline-offset:4px;box-shadow:0 0 0 2px var(--ink)}
.button--secondary,.btn-secondary{background:transparent;border-color:var(--line)}
.button--secondary:hover,.btn-secondary:hover{background:var(--ink-raised);border-color:var(--brass)}
.button--secondary:active,.btn-secondary:active{background:var(--surface-pressed);border-color:var(--paper)}
.button--secondary:focus-visible,.btn-secondary:focus-visible{background:var(--ink-raised);outline-color:var(--brass)}
.button--quiet{background:transparent;border-color:transparent;text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:.25em}
.button--quiet:hover{background:var(--ink-raised);border-color:var(--line)}
.button--quiet:active{background:var(--surface-pressed);border-color:var(--brass)}
.button--quiet:focus-visible{background:var(--ink-raised);outline-color:var(--brass)}
.button--small{padding:.6rem 1rem;min-block-size:44px;font-size:var(--text-sm)}
.button--wide{inline-size:100%}
.button[aria-busy="true"],.btn[aria-busy="true"]{cursor:progress;background:var(--emerald-pressed)}
.button:disabled,.btn:disabled{color:var(--muted);background:var(--ink-raised);border-color:var(--line);box-shadow:none}
.button-group,.form-actions,.document-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.button-group>*,.form-actions>*{min-inline-size:0}
.text-link{display:inline-flex;align-items:center;gap:.65rem;min-block-size:44px;padding:.55rem .15rem;font-weight:600;text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:.3em;line-height:1.45}
.text-link:hover{background:var(--ink-raised);text-decoration-color:var(--paper)}
.text-link:active{background:var(--emerald-pressed);color:var(--paper)}
.text-link:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-block-size:44px;min-inline-size:44px;padding:.65rem;border:1px solid var(--line);background:var(--ink-raised);color:var(--paper);line-height:1.2}
.icon-button:hover{border-color:var(--brass);background:var(--surface-hover)}
.icon-button:active{border-color:var(--paper);background:var(--emerald-pressed)}
.icon-button:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.breadcrumbs{margin-block:var(--space-7);font-size:var(--text-sm);color:var(--muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .7rem;align-items:center;list-style:none;padding:0}
.breadcrumbs li{display:flex;gap:.7rem;align-items:center}
.breadcrumbs li+li::before{content:'/';color:var(--brass)}
.breadcrumbs a{display:inline-flex;align-items:center;min-block-size:44px;padding:.35rem .25rem;text-decoration:none}
.breadcrumbs a:hover{background:var(--surface-hover);color:var(--paper)}
.breadcrumbs a:active{background:var(--emerald-pressed)}
.breadcrumbs a:focus-visible{outline-color:var(--brass)}
.module{position:relative;border:var(--rule);background:var(--ink-raised);padding:var(--module-pad)}
.module-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.5rem;padding-block-end:var(--space-5);margin-block-end:var(--space-6);border-block-end:var(--rule);font-family:var(--dali-7dd);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);text-transform:uppercase}
.module-header .module-index{color:var(--brass);font-variant-numeric:tabular-nums}
.module-title{font-size:var(--heading-sm)}
.module-body{display:grid;gap:var(--space-5)}
.module-footer{margin-block-start:var(--space-7);padding-block-start:var(--space-5);border-block-start:var(--rule)}
.bracketed{position:relative}
.bracketed::before,.bracketed::after{content:"";position:absolute;inline-size:.85rem;block-size:.85rem;pointer-events:none;border-color:var(--brass);border-style:solid}

.bracketed::before{inset-inline-start:-1px;inset-block-start:-1px;border-width:1px 0 0 1px}
.bracketed::after{inset-inline-end:-1px;inset-block-end:-1px;border-width:0 1px 1px 0}

.status-label,.tag{display:inline-flex;align-items:center;gap:.5rem;max-inline-size:100%;min-block-size:2rem;padding:.35rem .65rem;font-family:var(--dali-7dd);font-size:var(--text-xs);line-height:1.5;border:1px solid var(--line);color:var(--paper);overflow-wrap:anywhere}
.status-label::before{content:"";inline-size:.35rem;block-size:.35rem;flex:0 0 .35rem;background:var(--brass)}
.status-label--active{background:var(--emerald-pressed);border-color:var(--emerald)}
a.tag,button.tag{min-block-size:44px;text-decoration:none;background:var(--ink-raised)}
a.tag:hover,button.tag:hover{background:var(--surface-hover);border-color:var(--brass)}
a.tag:active,button.tag:active{background:var(--emerald-pressed);border-color:var(--paper)}
a.tag:focus-visible,button.tag:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.service-list{border-block-start:var(--rule-accent)}
.service-module{position:relative;padding-block:var(--space-8);border-block-end:var(--rule);background:var(--ink)}
.service-module-header{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-4);align-items:baseline}
.service-number{font-family:var(--dali-7dd);font-size:var(--text-xs);color:var(--brass);font-variant-numeric:tabular-nums}
.service-name{font-family:var(--dali-534);font-size:var(--heading-md);font-weight:500;letter-spacing:var(--tracking-heading);line-height:1.12}
.service-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-block-size:44px;padding:.5rem .25rem;text-decoration:none}
.service-link .icon{inline-size:1.5rem;block-size:1.5rem;flex-basis:1.5rem}
.service-link:hover{color:var(--paper);background:var(--ink-raised);box-shadow:inset 0 -1px var(--brass)}
.service-link:active{background:var(--emerald-pressed);box-shadow:inset 0 -2px var(--brass)}
.service-link:focus-visible{outline:2px solid var(--brass);outline-offset:4px;background:var(--ink-raised)}
.service-description{max-inline-size:48ch;margin-block-start:var(--space-4);margin-inline-start:3.5rem;color:var(--muted)}
.service-preview{position:relative;inline-size:100%;margin-block-start:var(--space-6);pointer-events:none}
.service-preview img{inline-size:100%;aspect-ratio:3/2;object-fit:cover}
.service-preview figcaption{padding-block:var(--space-3);font-size:var(--text-sm);color:var(--muted)}
.service-module.is-previewing{z-index:var(--z-preview)}
.service-module.is-previewing .service-link{border-color:var(--brass)}
.editorial-figure{margin:0;position:relative}
.editorial-figure img{inline-size:100%;block-size:auto}
.editorial-figure figcaption,.figure-caption{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem 2rem;flex-wrap:wrap;padding-block:1rem;border-block-end:var(--rule);font-size:var(--text-sm);line-height:1.5;color:var(--muted)}
.figure-caption .meta,.editorial-figure figcaption .meta{color:var(--brass);flex-shrink:0}
.caption-panel{position:relative;padding:var(--space-5);background:var(--ink-raised);color:var(--paper);font-size:var(--text-sm);line-height:1.55}
.pull-quote{padding-block:var(--space-9);border-block-start:var(--rule-accent);border-block-end:var(--rule);font-family:var(--dali-534);font-size:clamp(1.8rem,1.25rem + 2.4vw,3.5rem);line-height:1.25;letter-spacing:-.035em}
.pull-quote p{max-inline-size:23ch}
.pull-quote cite{display:block;margin-block-start:var(--space-6);font-family:var(--dali-7dd);font-size:var(--text-xs);line-height:1.6;letter-spacing:var(--tracking-meta);font-style:normal;color:var(--muted)}
.spec-table-wrap,.table-wrap{inline-size:100%;max-inline-size:100%;overflow-x:auto;overscroll-behavior-inline:contain;border-block:var(--rule);scrollbar-color:var(--brass) var(--ink-raised);scrollbar-width:thin}
.spec-table,.data-table{inline-size:100%;font-size:var(--text-sm);line-height:1.55}
.spec-table caption,.data-table caption{padding:1rem 0;font-family:var(--dali-7dd);font-size:var(--text-xs);color:var(--muted)}
.spec-table th,.spec-table td,.data-table th,.data-table td{padding:1rem 1.15rem;vertical-align:top;border-block-end:var(--rule);overflow-wrap:anywhere}
.spec-table thead th,.data-table thead th{background:var(--ink-raised);font-family:var(--dali-7dd);font-size:var(--text-xs);font-weight:500;letter-spacing:.025em;color:var(--paper)}
.spec-table tbody th{font-weight:600;inline-size:32%}
.spec-table td,.data-table td{color:var(--muted)}
.spec-table tr:last-child>*,.data-table tr:last-child>*{border-block-end:0}
.record-list{display:grid;border-block-start:var(--rule)}
.record-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-5);padding-block:var(--space-5);border-block-end:var(--rule)}
.record-row dt{font-family:var(--dali-7dd);font-size:var(--text-xs);color:var(--brass)}
.record-row dd{font-size:var(--text-base)}
.inquiry-form{position:relative;display:grid;gap:var(--space-7);inline-size:100%}
.form-intro{display:grid;gap:var(--space-4);padding-block-end:var(--space-6);border-block-end:var(--rule)}
.form-section{display:grid;gap:var(--space-5)}
.form-section>legend{inline-size:100%;margin-block-end:var(--space-5);font-family:var(--dali-7dd);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);color:var(--brass)}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6)}
.form-field,.field{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;min-inline-size:0}
.form-field--full{grid-column:1/-1}
.form-field label,.field label,.field-label{font-size:var(--text-sm);font-weight:600;line-height:1.5}
.field-optional{color:var(--muted);font-weight:400}
input:not([type='checkbox']):not([type="radio"]):not([type='hidden']),select,textarea{inline-size:100%;min-block-size:48px;border:1px solid var(--line);padding:.75rem .9rem;background:var(--ink);color:var(--paper);font-size:1rem;line-height:1.5;transition:background-color 160ms var(--ease-control),border-color 160ms var(--ease-control),box-shadow 160ms var(--ease-control)}
textarea{min-block-size:9rem}
select{padding-inline-end:1.75rem;white-space:normal}
input:not([type='hidden']):hover,select:hover,textarea:hover{border-color:var(--brass);background-color:var(--ink-raised)}
input:not([type='hidden']):active,select:active,textarea:active{border-color:var(--paper);background-color:var(--surface-hover)}
input:not([type='hidden']):focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-color:var(--brass);background-color:var(--ink-raised);box-shadow:inset 3px 0 var(--emerald)}
input:autofill{box-shadow:inset 0 0 0 100px var(--ink-raised);color:var(--paper)}
input:-webkit-autofill{-webkit-text-fill-color:var(--paper);box-shadow:inset 0 0 0 100px var(--ink-raised)}
input[type="number"]{font-family:var(--dali-7dd);font-variant-numeric:tabular-nums}
input[type='checkbox'],input[type="radio"]{appearance:auto;accent-color:var(--emerald);inline-size:1.25rem;block-size:1.25rem;min-inline-size:1.25rem;margin:.15rem 0 0;cursor:pointer;border:1px solid var(--line)}
.check-field,.checkbox-field,.radio-field{display:flex;align-items:flex-start;gap:.8rem;min-block-size:44px;padding:.65rem .5rem .65rem 0;line-height:1.5;cursor:pointer;font-size:var(--text-sm)}
.check-field>span,.checkbox-field>span,.radio-field>span{min-inline-size:0}
.check-field:hover,.checkbox-field:hover,.radio-field:hover{background:var(--ink-raised)}
.check-field:active,.checkbox-field:active,.radio-field:active{background:var(--surface-hover)}
.check-field:has(:focus-visible),.checkbox-field:has(:focus-visible),.radio-field:has(:focus-visible){outline:2px solid var(--brass);outline-offset:3px}
.check-field a,.checkbox-field a{position:relative;text-decoration-color:var(--brass)}
.field-help,.form-note,.field-hint{color:var(--muted);font-size:var(--text-sm);line-height:1.55}
.field-error,.form-error{color:var(--error);font-size:var(--text-sm);font-weight:500;line-height:1.5}
.field-error:empty,.form-error:empty,.form-status:empty{display:none}
[aria-invalid="true"]{border-color:var(--error)!important}
.form-field.has-error label,.field.has-error label{color:var(--error)}
.form-error-summary{padding:var(--space-5);border:1px solid var(--error);border-inline-start-width:3px;background:var(--error-surface);color:var(--paper)}
.form-error-summary h2{font-size:var(--text-lg);margin-block-end:.65rem}

.form-error-summary a{display:inline-flex;align-items:center;min-block-size:44px;padding:.4rem 0;text-decoration-color:var(--error)}
.form-status{padding:var(--space-5);border:var(--rule);border-inline-start:3px solid var(--brass);background:var(--ink-raised);line-height:1.55}
.form-status.is-success,.form-status[data-state='success']{border-color:var(--emerald);color:var(--success)}
.form-status.is-error,.form-status[data-state='error']{border-color:var(--error);color:var(--error)}
.form-actions{padding-block-start:var(--space-5);border-block-start:var(--rule)}
.form-actions .form-note{flex:1 1 14rem}
.estimator{position:relative;padding:var(--module-pad);border:var(--rule-accent);background:var(--ink-raised)}
.estimator-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:1rem;padding-block-end:var(--space-6);margin-block-end:var(--space-6);border-block-end:var(--rule)}
.estimator-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
.estimator-result{position:relative;margin-block-start:var(--space-7);padding:var(--module-pad);background:var(--emerald-pressed);border:1px solid var(--emerald)}
.estimator-result-label{font-family:var(--dali-7dd);font-size:var(--text-xs);letter-spacing:.03em;margin-block-end:var(--space-4)}
.estimator-output{display:block;font-family:var(--dali-7dd);font-size:clamp(1.4rem,1rem + 1.6vw,2.5rem);font-weight:500;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.estimator-disclaimer{margin-block-start:var(--space-4);font-size:var(--text-sm);line-height:1.5;color:var(--paper)}
.estimator-empty{font-size:var(--text-base);line-height:1.5;font-family:var(--dali-d8e)}
.estimator-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-block-start:var(--space-6)}
.accordion{border-block-start:var(--rule)}
.accordion-item,.disclosure{border-block-end:var(--rule)}
.accordion-item:not([open])>:not(summary),.disclosure:not([open])>:not(summary){display:none}
.accordion-item[open]>.accordion-content,.disclosure[open]>.disclosure-content{display:flow-root}
.accordion-item>summary,.disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-block-size:64px;padding:1.25rem .5rem;font-weight:600;font-size:var(--text-lg);line-height:1.4}
.accordion-item>summary .icon,.disclosure>summary .icon{flex-shrink:0;align-self:center}
.accordion-item>summary:hover,.disclosure>summary:hover{background:var(--ink-raised);box-shadow:inset 3px 0 var(--brass)}
.accordion-item>summary:active,.disclosure>summary:active{background:var(--emerald-pressed)}
.accordion-item>summary:focus-visible,.disclosure>summary:focus-visible{outline-offset:-3px;background:var(--ink-raised)}
.accordion-item[open]>summary,.disclosure[open]>summary{border-block-end:var(--rule);background:var(--ink-raised)}
.accordion-content,.disclosure-content{padding:var(--space-6) .5rem var(--space-8)}
.accordion-content>*+*,.disclosure-content>*+*{margin-block-start:var(--space-5)}
.tabs{display:flex;flex-wrap:wrap;border-block-end:var(--rule);gap:.25rem}
.tab,[role="tab"]{min-block-size:48px;padding:.75rem 1.1rem;background:transparent;color:var(--muted);border:1px solid transparent;border-block-end:2px solid transparent;font-weight:600;line-height:1.4}
.tab:hover,[role="tab"]:hover{background:var(--ink-raised);border-color:var(--line);color:var(--paper)}
.tab:active,[role="tab"]:active{background:var(--emerald-pressed);color:var(--paper)}
.tab:focus-visible,[role="tab"]:focus-visible{outline:2px solid var(--brass);outline-offset:-4px}
.tab[aria-selected="true"],[role="tab"][aria-selected="true"]{border-block-end-color:var(--brass);background:var(--ink-raised);color:var(--paper)}
.tab-panel,[role='tabpanel']{padding-block:var(--space-7)}
.site-footer{position:relative;margin-block-start:var(--section-gap);padding:var(--space-10) var(--gutter) calc(var(--space-9) + 5rem + var(--safe-bottom));border-block-start:var(--rule-accent);background:var(--ink)}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);max-inline-size:var(--reading);margin-inline:auto;text-align:center}
.footer-brand img{block-size:2.5rem;inline-size:auto}
.footer-description{max-inline-size:37ch;color:var(--muted);font-size:var(--text-base)}
.footer-contact{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.footer-contact a{display:inline-flex;align-items:center;gap:.6rem;min-block-size:44px;padding:.5rem .6rem;max-inline-size:100%;text-decoration:none;line-height:1.5}
.footer-contact a:hover{background:var(--ink-raised);box-shadow:inset 0 -1px var(--brass)}
.footer-contact a:active{background:var(--emerald-pressed)}
.footer-contact a:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.footer-contact address{margin-block-start:var(--space-3);font-size:var(--text-sm);line-height:1.7;color:var(--muted);max-inline-size:38ch}
.footer-contact address span{display:block}
.footer-nav{inline-size:100%;border-block-start:var(--rule);padding-block-start:var(--space-5)}
.footer-legal{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.2rem .75rem;list-style:none;padding:0}
.footer-legal a,.footer-legal button{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;padding:.55rem .5rem;background:transparent;border:1px solid transparent;color:var(--muted);font-size:var(--text-sm);line-height:1.4;text-decoration:none;text-align:center}
.footer-legal a:hover,.footer-legal button:hover{color:var(--paper);background:var(--ink-raised);border-block-end-color:var(--brass)}
.footer-legal a:active,.footer-legal button:active{color:var(--paper);background:var(--emerald-pressed);border-color:var(--line)}
.footer-legal a:focus-visible,.footer-legal button:focus-visible{outline:2px solid var(--brass);outline-offset:2px;color:var(--paper)}
.footer-note{font-family:var(--dali-7dd);font-size:var(--text-xs);line-height:1.65;color:var(--muted);letter-spacing:.02em}
.cookie-banner{position:fixed;inset-inline:0;inset-block-end:0;z-index:var(--z-consent);padding:.75rem var(--gutter) calc(.75rem + var(--safe-bottom));border-block-start:1px solid var(--brass);background:var(--ink-raised);box-shadow:0 -8px 32px rgb(0 0 0 / .22)}
.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:.65rem 1.5rem;inline-size:100%;max-inline-size:var(--shell);margin-inline:auto}
.cookie-copy{font-size:var(--text-sm);line-height:1.35;margin:0;max-inline-size:48ch}
.cookie-copy a{text-decoration-color:var(--brass)}
.cookie-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:stretch}
.cookie-actions .button{min-block-size:44px;padding:.6rem 1.1rem;font-size:var(--text-sm)}
.cookie-settings-button{min-block-size:44px}
.site-header .nav-toggle{flex-shrink:0}
@media(max-width:47.99rem){.js .site-header .nav-toggle{display:inline-flex}}
.cookie-banner.cookie-banner{max-height:none!important;max-block-size:none!important;overflow:visible!important}
.cookie-banner .cookie-copy a{display:inline;min-block-size:0;margin:0;padding:0}
.cookie-banner .cookie-actions{flex-wrap:nowrap}
.cookie-banner .cookie-actions .button{white-space:nowrap}
.consent-status{font-size:var(--text-sm);color:var(--muted);padding-block:var(--space-4)}
.consent-status:empty{display:none}
.chat-launcher{position:fixed;z-index:var(--z-chat);inset-inline-end:max(1.1rem,env(safe-area-inset-right));inset-block-end:calc(1.1rem + var(--safe-bottom));display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-block-size:48px;max-inline-size:calc(100vw - 2.2rem);padding:.8rem 1.1rem;background:var(--emerald);border:1px solid var(--brass);color:var(--paper);font-size:1rem;font-weight:600;line-height:1.4;box-shadow:0 6px 24px rgb(0 0 0 / .24)}
.chat-launcher:hover{background:var(--emerald-hover);border-color:var(--paper);box-shadow:0 8px 28px rgb(0 0 0 / .4)}
.chat-launcher:active{background:var(--emerald-pressed);border-color:var(--brass);box-shadow:inset 0 2px 0 rgb(0 0 0 / .3)}
.chat-launcher:focus-visible{outline:2px solid var(--paper);outline-offset:4px;box-shadow:0 0 0 2px var(--ink)}
.chat-unread{display:inline-flex;align-items:center;justify-content:center;min-inline-size:1.5rem;min-block-size:1.5rem;padding:.1rem .35rem;background:var(--paper);color:var(--ink);font-family:var(--dali-7dd);font-size:.75rem;font-weight:500;line-height:1.35}
.chat-panel{position:fixed;z-index:var(--z-chat);inset-inline-end:1.1rem;inset-block-end:calc(5.5rem + var(--safe-bottom));inline-size:min(26rem,calc(100vw - 2.2rem));max-block-size:calc(100dvh - 7rem - var(--safe-bottom));display:flex;flex-direction:column;border:1px solid var(--brass);background:var(--ink-raised);box-shadow:var(--shadow-panel);isolation:isolate;overflow-y:auto;overscroll-behavior:contain}
.chat-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-block-end:var(--rule);background:var(--ink-raised);flex-shrink:0}
.chat-title{font-family:var(--dali-534);font-size:1.25rem;letter-spacing:-.025em;line-height:1.2;font-weight:500}
.chat-subtitle{margin-block-start:.25rem;color:var(--muted);font-family:var(--dali-7dd);font-size:.6875rem;line-height:1.5;text-transform:uppercase;letter-spacing:.045em}
.chat-close{flex-shrink:0;min-block-size:44px}
.chat-greeting{padding:1rem 1.1rem;font-size:var(--text-sm);line-height:1.5;color:var(--muted);border-block-end:var(--rule)}
.chat-transcript{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem;min-block-size:5rem;max-block-size:17rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--brass) var(--ink);flex:1 1 auto}
.chat-message{max-inline-size:94%;padding:.8rem .9rem;background:var(--ink);border:1px solid var(--line);font-size:var(--text-sm);line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap;align-self:flex-start}
.chat-message--outgoing,.chat-message[data-sender='visitor']{align-self:flex-end;background:var(--emerald-pressed);border-color:var(--emerald)}
.chat-message--incoming,.chat-message[data-sender="support"]{border-inline-start:2px solid var(--brass)}
.chat-message.is-pending{border-style:dashed}
.chat-message.is-failed{border-color:var(--error);background:var(--error-surface)}
.chat-message-meta{display:block;margin-block-start:.45rem;font-family:var(--dali-7dd);font-size:.6875rem;line-height:1.6;color:var(--muted);white-space:normal}
.chat-message--outgoing .chat-message-meta{color:var(--paper)}
.chat-first-contact{display:grid;gap:.85rem;padding:1rem 1.1rem;border-block-end:var(--rule)}
.chat-first-contact .check-field{font-size:.875rem}
.chat-composer{display:grid;gap:.65rem;padding:1rem 1.1rem;border-block-start:var(--rule);flex-shrink:0}
.chat-composer label{font-size:var(--text-sm);font-weight:600}
.chat-composer textarea{min-block-size:5rem;max-block-size:10rem;line-height:1.45}
.chat-composer-actions{display:flex;justify-content:space-between;gap:.7rem;align-items:center;flex-wrap:wrap}
.chat-composer-actions .button{min-block-size:44px;padding:.65rem 1rem}
.chat-status{padding:0 1.1rem 1rem;font-size:var(--text-sm);line-height:1.4;color:var(--muted)}
.chat-status:empty{display:none}.chat-status.is-error{color:var(--error)}
.chat-privacy{font-size:.8125rem;line-height:1.5;color:var(--muted)}
.chat-privacy a{display:inline-flex;align-items:center;min-block-size:44px;padding:.25rem 0}
body:has([data-8afd33]:not([hidden])) .chat-launcher,body:has([data-8afd33]:not([hidden])) .chat-panel{visibility:hidden;pointer-events:none}
body.consent-visible .chat-launcher,body.consent-visible .chat-panel{visibility:hidden;pointer-events:none}
body:has(.site-footer.is-in-view) .chat-launcher{position:relative;inset:auto;margin:0 auto 1rem;display:flex;inline-size:max-content}
.lightbox{position:fixed;inset:0;z-index:var(--z-modal);padding:var(--gutter);background:var(--ink);color:var(--paper);border:0;max-inline-size:none;max-block-size:none;inline-size:100%;block-size:100%;overflow:auto}
.lightbox::backdrop{background:rgb(0 0 0 / .8)}
.lightbox-inner{min-block-size:100%;display:flex;flex-direction:column;justify-content:center;gap:var(--space-5);max-inline-size:var(--shell);margin-inline:auto}
.lightbox img{inline-size:100%;max-block-size:75dvh;object-fit:contain}
.lightbox-close{align-self:flex-end}.lightbox-caption{font-size:var(--text-sm);color:var(--muted)}
@media(pointer:fine) and (prefers-reduced-motion:no-preference){[data-magnetic]{will-change:transform}.button:focus-visible::after,.service-link:focus-visible::after{content:"";position:absolute;inset:-7px;border-inline:1px solid var(--brass);pointer-events:none;animation:focus-brackets 180ms var(--ease-page) both}.service-link{position:relative}.service-preview.is-following{position:fixed;inset:0 auto auto 0;inline-size:clamp(13rem,24vw,22rem);margin:0;z-index:var(--z-preview);filter:drop-shadow(0 12px 24px rgb(0 0 0 / .32));pointer-events:none}.service-preview.is-following figcaption{background:var(--ink-raised);padding:.6rem .8rem}.service-preview.is-following img{aspect-ratio:3/2;object-fit:cover}}
@keyframes focus-brackets{from{clip-path:inset(45% 0)}to{clip-path:inset(0)}}
@media(min-width:90rem){.header-inner{padding-block-start:1.75rem}.site-nav{margin-block-start:.9rem}.footer-inner{gap:var(--space-7)}}
@media(max-width:63.99rem){.cookie-inner{gap:.65rem 1rem}.cookie-copy{max-inline-size:40ch}.chat-panel{max-block-size:calc(100dvh - 7rem)}.service-name{font-size:clamp(1.8rem,4vw,3rem)}}
@media(max-width:47.99rem){.header-inner{padding-block:.7rem;gap:.65rem}.site-header.is-condensed .header-inner,.site-header[data-condensed="true"] .header-inner{padding-block:.5rem}.nav-toggle{display:inline-flex;flex:0 0 auto}.site-nav{margin-block-start:0;inline-size:100%}.js [data-51d716][aria-expanded='false']~[data-85b5bf]{display:none}.js [data-51d716][aria-expanded="true"]~[data-85b5bf]{display:block}.nav-split{gap:.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nav-split::after{display:none}.nav-group{flex-direction:column;gap:0}.nav-link{justify-content:flex-start;text-align:start;padding:.75rem 1rem;min-block-size:48px}.nav-group li{flex:0 1 auto}.nav-link[aria-current='page']{border-inline-start:2px solid var(--brass);border-block-end-color:transparent}.site-nav{max-block-size:calc(100dvh - 8rem);overflow-y:auto}.form-grid,.estimator-fields{grid-template-columns:minmax(0,1fr)}.service-description{margin-inline-start:0}.service-module-header{grid-template-columns:1.75rem minmax(0,1fr);gap:.6rem}.service-link{gap:.75rem}.service-module{padding-block:var(--space-7)}.record-row{grid-template-columns:minmax(0,1fr);gap:.65rem}.footer-brand img{block-size:2.15rem}.site-footer{padding-block-start:var(--space-9)}.cookie-banner{padding:.4rem .75rem calc(.4rem + var(--safe-bottom))}.cookie-inner{flex-direction:column;gap:.25rem;align-items:stretch}.cookie-copy{max-inline-size:none;font-size:.8125rem;line-height:1.3}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.cookie-actions .button{inline-size:100%;min-block-size:44px;padding:.5rem .65rem;font-size:.875rem}.cookie-copy a{display:inline-flex;align-items:center;min-block-size:44px;margin-block:-.3rem;padding-inline:.15rem}.chat-panel{inset-inline-end:.75rem;inset-block-end:calc(4.9rem + var(--safe-bottom));inline-size:calc(100vw - 1.5rem);max-block-size:calc(100dvh - 6rem - var(--safe-bottom))}.chat-launcher{inset-inline-end:.75rem;inset-block-end:calc(.75rem + var(--safe-bottom));min-block-size:44px;padding:.65rem 1rem}.chat-transcript{max-block-size:28dvh}.spec-table th,.spec-table td,.data-table th,.data-table td{padding:.8rem .65rem}.accordion-item>summary,.disclosure>summary{padding-block:1rem;font-size:var(--text-base)}}
@media(max-width:23rem){.header-inner{gap:.35rem}.brand img{block-size:1.7rem}.nav-toggle{display:inline-flex;padding:.45rem .85rem}.button-group>.button,.form-actions>.button{inline-size:100%}.module-header{gap:.5rem}.footer-legal{gap:.1rem .35rem}.footer-legal a,.footer-legal button{font-size:.8125rem;padding:.5rem .4rem}.chat-header{padding:.8rem}.chat-first-contact,.chat-composer{padding:.8rem}.chat-greeting{padding:.8rem;font-size:.8125rem}.chat-title{font-size:1.1rem}.cookie-copy{font-size:.75rem}.service-name{font-size:1.65rem}.service-link .icon{flex-basis:1.1rem;inline-size:1.1rem;block-size:1.1rem}}
@media(max-height:34rem) and (max-width:47.99rem){.chat-panel{inset-block-start:.5rem;inset-block-end:.5rem;max-block-size:calc(100dvh - 1rem)}.chat-panel:not([hidden])~.chat-launcher{visibility:hidden}.chat-transcript{max-block-size:24dvh}.cookie-inner{flex-direction:row;align-items:center;gap:.5rem}.cookie-copy{flex:1 1 10rem}.cookie-actions{flex:0 1 12rem}.cookie-actions .button{padding:.5rem}.cookie-copy a{margin:0;min-block-size:44px}.cookie-banner{padding-block:.25rem}}
@media(pointer:coarse),(prefers-reduced-motion:reduce){.service-preview.is-following{position:relative!important;inset:auto!important;inline-size:100%!important;transform:none!important;margin-block-start:var(--space-6);filter:none}.service-preview{visibility:visible!important;opacity:1!important}.button:focus-visible::after,.service-link:focus-visible::after{animation:none}.service-link{transform:none!important}}
@media(forced-colors:active){.button,.btn,.chat-launcher,.cookie-banner,.chat-panel{border:1px solid ButtonText}.nav-link[aria-current='page'],[role="tab"][aria-selected="true"]{border-block-end:3px solid Highlight}.status-label::before{background:Highlight}.form-status,.form-error-summary{border:2px solid CanvasText}.service-preview{filter:none}}
@media print{.site-header,.skip-link,.cookie-banner,.chat-launcher,.chat-panel,.nav-toggle,.document-actions,.lightbox,.footer-nav,.button-group,.form-actions{display:none!important}.site-footer{padding:1rem 0;margin-block-start:2rem;border-color:#666}.footer-inner{align-items:flex-start;text-align:start;gap:.5rem}.footer-brand{display:none}.footer-contact{align-items:flex-start}.footer-contact a,.footer-contact address,.footer-note,.footer-description{color:#111}.module,.estimator,.caption-panel,.estimator-result{background:#fff;color:#111;border-color:#666;box-shadow:none}.service-module,.service-preview{position:static!important;transform:none!important;inline-size:100%!important;background:#fff;color:#111}.service-description,.figure-caption,.editorial-figure figcaption,.field-help,.form-note,.field-hint{color:#333}.spec-table-wrap,.table-wrap{overflow:visible;border-color:#666}.spec-table td,.data-table td,.spec-table thead th,.data-table thead th{background:#fff;color:#111;border-color:#aaa}.chat-widget{display:none!important}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{border-color:#777;background:#fff;color:#111}.form-error:empty,.form-status:empty{display:none}.accordion-item>summary,.disclosure>summary{background:#fff!important;color:#111;break-after:avoid}.pull-quote{border-color:#777}.service-preview figcaption{background:#fff;color:#111}}
