.site-header{position:sticky;top:0;z-index:30;background:var(--cream);view-transition-name:site-header;border-bottom:1px solid var(--line)}
.header-inner{padding-top:.5rem}
.site-header[data-condensed] .header-inner{padding-top:0}
.brand{display:flex;justify-content:center;align-items:center;min-height:44px;view-transition-name:site-logo;text-decoration:none}
.brand img{height:clamp(2rem,4vw,2.65rem);width:auto}
.nav-row{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,4vw,4rem);margin-top:.5rem;flex-wrap:wrap;border-top:1px solid var(--line)}
.site-nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.4rem,2vw,2rem);min-width:0}
.site-nav a,.nav-side a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem .3rem;color:var(--forest);font-family:var(--mono);font-size:.7rem;letter-spacing:.07em;text-decoration:none;text-transform:uppercase;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.site-nav a:hover,.nav-side a:hover{color:var(--amber);background:rgba(196,135,50,.09)}
.site-nav a:active,.nav-side a:active{color:var(--bark);transform:translateY(1px)}
.site-nav a:focus-visible,.nav-side a:focus-visible{color:var(--ink);box-shadow:inset 0 -3px var(--amber)}
.nav-side{display:flex;gap:clamp(.25rem,1vw,1rem)}
.nav-side:first-child{justify-content:flex-end}.nav-side:last-child{justify-content:flex-start}
.nav-toggle{display:none;min-height:44px;padding:.65rem;border:1px solid var(--forest);background:transparent;color:var(--forest);align-items:center;gap:.45rem;font-family:var(--mono);font-size:.7rem;text-transform:uppercase;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.nav-toggle:hover{background:var(--forest);color:var(--cream)}.nav-toggle:active{background:var(--amber);color:var(--ink);transform:translateY(1px)}.nav-toggle:focus-visible{box-shadow:0 0 0 3px var(--amber)}

.nav-toggle .icon{width:1.35rem;height:1.35rem}.nav-toggle[aria-expanded=true] .menu-icon{display:none}.nav-toggle[aria-expanded=false] .close-icon{display:none}
.header-contact{font-family:var(--mono);font-size:.72rem;text-decoration:none;color:var(--bark);min-height:44px;display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .25rem;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.header-contact:hover{color:var(--amber);background:rgba(196,135,50,.1)}.header-contact:active{transform:translateY(1px)}.header-contact:focus-visible{background:var(--amber);color:var(--ink)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:.75rem 1.2rem;border:1px solid var(--forest);background:var(--forest);color:var(--cream);font-family:var(--mono);font-size:.75rem;line-height:1.3;letter-spacing:.035em;text-align:center;text-decoration:none;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.btn:hover{background:var(--moss);border-color:var(--moss);box-shadow:4px 4px 0 var(--amber);transform:translateY(-1px)}.btn:active{background:var(--bark);border-color:var(--bark);box-shadow:none;transform:translateY(1px)}.btn:focus-visible{background:var(--amber);border-color:var(--amber);color:var(--ink);box-shadow:0 0 0 3px var(--ink)}

.btn-secondary{background:transparent;color:var(--forest)}.btn-secondary:hover{background:var(--forest);color:var(--cream)}.btn-secondary:active{background:var(--bark);color:var(--cream)}.btn-secondary:focus-visible{background:var(--amber);color:var(--ink)}
.btn-small{min-height:44px;padding:.6rem .85rem;font-size:.68rem}
.tag{display:inline-flex;align-items:center;min-height:30px;padding:.35rem .55rem;border-left:3px solid var(--amber);background:var(--amber-pale);color:var(--ink);font-family:var(--mono);font-size:.67rem;text-transform:uppercase;letter-spacing:.04em}
.tag:hover{background:var(--amber);color:var(--ink)}.tag:active{background:var(--bark);color:var(--cream)}.tag:focus-visible{outline:3px solid var(--forest)}

.site-footer{background:var(--forest-deep);color:var(--cream);padding-block:clamp(3.5rem,7vw,6rem) 1.5rem;border-top:5px solid var(--amber)}
.footer-stack{display:flex;align-items:center;flex-direction:column;text-align:center;gap:var(--s3)}.footer-brand img{height:clamp(2.3rem,5vw,3.4rem);width:auto}.footer-address{font-style:normal;line-height:1.6;color:#E5E1D5}.footer-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1.25rem}.footer-contact a{display:inline-flex;align-items:center;min-height:44px;padding:.4rem;color:var(--cream);text-decoration:none;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.footer-contact a:hover{color:var(--amber);background:rgba(196,135,50,.12)}.footer-contact a:active{color:var(--amber-pale);transform:translateY(1px)}.footer-contact a:focus-visible{background:var(--amber);color:var(--ink)}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 1rem;padding-top:var(--s3);border-top:1px solid rgba(243,239,228,.25);width:100%}.footer-legal a,.footer-legal button{min-height:44px;display:inline-flex;align-items:center;padding:.45rem .25rem;color:#E5E1D5;background:none;border:0;font-family:var(--mono);font-size:.68rem;text-decoration:none;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.footer-legal a:hover,.footer-legal button:hover{color:var(--amber);background:rgba(196,135,50,.12)}.footer-legal a:active,.footer-legal button:active{color:var(--cream);transform:translateY(1px)}.footer-legal a:focus-visible,.footer-legal button:focus-visible{background:var(--amber);color:var(--ink)}
.footer-note{font-family:var(--mono);font-size:.66rem;color:#B9C0B6;max-width:65ch}

.cookie-banner{position:fixed;z-index:80;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.7rem max(16px,calc((100% - 1160px)/2));background:var(--ink);color:var(--cream);box-shadow:0 -8px 30px rgba(23,35,29,.18);font-size:.88rem}.cookie-banner[hidden]{display:none}.cookie-copy{flex:1;min-width:0}.cookie-copy a{color:var(--amber-pale);font-weight:600}.cookie-actions{display:flex;flex-wrap:wrap;gap:.45rem}.cookie-actions button{min-height:44px;padding:.55rem .9rem;border:1px solid var(--amber);background:var(--amber);color:var(--ink);font-family:var(--mono);font-size:.68rem;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.cookie-actions button:hover{background:var(--cream);border-color:var(--cream);box-shadow:3px 3px 0 var(--amber)}.cookie-actions button:active{background:var(--bark);color:var(--cream);transform:translateY(1px);box-shadow:none}.cookie-actions button:focus-visible{outline:3px solid var(--cream);outline-offset:2px}.cookie-actions .cookie-decline{background:transparent;color:var(--cream)}.cookie-actions .cookie-decline:hover{background:var(--cream);color:var(--ink)}

.inquiry-form{display:grid;min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr);gap:var(--s3);padding:clamp(1.25rem,3vw,2.4rem);border:1px solid var(--line);border-top:4px solid var(--amber);background:var(--paper);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.field{min-width:0}.field-full{grid-column:1/-1}.field label{margin-bottom:.45rem;color:var(--forest)}.field label em{font-style:normal;color:var(--muted);font-family:var(--body);font-size:.85rem;text-transform:none;letter-spacing:0}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:.7rem .8rem;border:1px solid #969B91;background:var(--white);font-size:1rem;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.field textarea{min-height:140px;resize:vertical}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--moss);background:#FFF}.field input:active,.field select:active,.field textarea:active{border-color:var(--bark)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(196,135,50,.24);background:#FFF}.field.is-error input,.field.is-error select,.field.is-error textarea{border-color:#9A3C2F;box-shadow:inset 4px 0 #9A3C2F}.field-error{display:block;margin-top:.35rem;color:#8B3027;font-size:.84rem}.form-check{display:flex;align-items:flex-start;gap:.6rem;font-family:var(--body);font-size:.92rem;text-transform:none;letter-spacing:0}.form-check input{width:1.15rem;height:1.15rem;flex:none;margin-top:.25rem;accent-color:var(--forest)}.form-check a{color:var(--forest);font-weight:600}.form-status{min-height:1.5em;color:var(--forest);font-weight:600}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.chat-launcher{position:fixed;z-index:75;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);display:flex;align-items:center;gap:.55rem;min-height:52px;padding:.7rem 1rem;border:1px solid var(--amber);background:var(--amber);color:var(--ink);font-family:var(--mono);font-size:.7rem;text-transform:uppercase;box-shadow:4px 4px 0 var(--forest);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}body:has(.cookie-banner:not([hidden])) .chat-launcher{bottom:calc(20vh + 1rem)}
button.chat-launcher:hover{background:var(--cream);color:var(--forest);box-shadow:4px 4px 0 var(--amber);transform:translateY(-1px)}button.chat-launcher:active{background:var(--bark);color:var(--cream);box-shadow:none;transform:translateY(1px)}.chat-launcher:focus-visible{background:var(--forest);color:var(--cream);outline:3px solid var(--amber);box-shadow:none}.chat-launcher[hidden]{display:none}.chat-unread{display:none;min-width:1.25rem;min-height:1.25rem;padding:.1rem .3rem;background:var(--forest);color:var(--cream);font-size:.65rem;text-align:center}.chat-unread.has-unread{display:inline-flex;align-items:center;justify-content:center}
.chat-panel{position:fixed;z-index:76;right:clamp(1rem,3vw,2rem);bottom:clamp(4.8rem,8vw,6rem);width:min(400px,calc(100% - 2rem));max-height:min(620px,calc(100vh - 7rem));display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--forest);box-shadow:var(--shadow-deep)}.chat-panel[hidden]{display:none}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:var(--forest);color:var(--cream)}.chat-head h2{font-family:var(--body);font-size:1.15rem;font-weight:600;line-height:1.2}.chat-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--cream);background:transparent;color:var(--cream);transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.chat-close:hover{background:var(--cream);color:var(--forest)}.chat-close:active{background:var(--amber);color:var(--ink);transform:translateY(1px)}.chat-close:focus-visible{background:var(--amber);color:var(--ink);outline:2px solid var(--cream)}.chat-body{display:flex;flex:1;min-height:0;flex-direction:column;padding:1rem}.chat-transcript{flex:1;min-height:120px;overflow:auto;padding:.25rem}.chat-message{max-width:86%;padding:.65rem .75rem;margin-bottom:.65rem;border-left:3px solid var(--moss);background:#E7E8DD;font-size:.93rem}.chat-message.user{margin-left:auto;border-left:0;border-right:3px solid var(--amber);background:var(--amber-pale);text-align:right}.chat-form{display:flex;gap:.5rem;margin-top:.8rem}.chat-form input{min-width:0;flex:1;padding:.65rem;border:1px solid #969B91;background:#FFF}.chat-form input:focus{outline:3px solid rgba(196,135,50,.4);border-color:var(--amber)}.chat-form button{min-height:44px;padding:.55rem .75rem;border:1px solid var(--forest);background:var(--forest);color:var(--cream);transition:background-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.chat-form button:hover{background:var(--moss);box-shadow:3px 3px 0 var(--amber)}.chat-form button:active{background:var(--bark);transform:translateY(1px);box-shadow:none}.chat-form button:focus-visible{background:var(--amber);color:var(--ink);outline:2px solid var(--forest)}.chat-intro{padding:.5rem 0 1rem}.chat-intro p{font-size:.95rem}.chat-start-fields{display:grid;gap:.6rem}.chat-start-fields input{width:100%;min-height:44px;padding:.55rem;border:1px solid #969B91}.chat-consent{font-size:.78rem;display:flex;gap:.4rem;align-items:flex-start}.chat-consent input{margin-top:.25rem}
@media (max-width:780px){.nav-row{justify-content:space-between;padding-block:.5rem}.nav-toggle{display:inline-flex}.nav-side{display:none}.site-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--gutter);background:var(--cream);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.site-nav[data-open=true]{display:flex}.site-nav a{justify-content:flex-start;border-bottom:1px solid var(--line);padding-inline:.4rem}.header-contact{margin-left:auto}.cookie-banner{align-items:flex-start;flex-direction:column;gap:.45rem;padding:.7rem 1rem}.cookie-actions{width:100%}.cookie-actions button{flex:1}.chat-launcher{bottom:5.7rem}.chat-panel{bottom:10rem}}
@media (max-width:480px){body:has(.cookie-banner:not([hidden])) .chat-launcher{bottom:calc(38vh + .5rem)}}
@media (max-width:520px){.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.footer-legal{gap:0 .5rem}.chat-launcher{right:1rem}.chat-launcher span.launcher-label{display:none}.chat-launcher{padding:.8rem;min-width:52px;justify-content:center}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.notice{padding:var(--s3);border-left:4px solid var(--amber);background:var(--amber-pale);color:var(--ink)}
.notice a{color:var(--forest);font-weight:600}
.table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line)}
.spec-table{width:100%;min-width:560px;border-collapse:collapse;text-align:left;background:var(--paper)}
.spec-table th,.spec-table td{padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table th{background:var(--forest);color:var(--cream);font-family:var(--mono);font-size:.7rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase}
.spec-table tr:last-child td{border-bottom:0}.spec-table td:first-child{font-weight:600;color:var(--forest)}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.service-list a,.service-list span{display:block;min-height:44px;padding:.75rem .5rem;border-bottom:1px solid var(--line);color:var(--forest);text-decoration:none}
.service-list a:hover{background:var(--amber-pale);color:var(--ink)}.service-list a:active{background:var(--bark);color:var(--cream);transform:translateY(1px)}.service-list a:focus-visible{background:var(--amber);color:var(--ink);outline:none}
.disclosure{font-family:var(--mono);font-size:.76rem;color:var(--muted);padding-top:var(--s2);border-top:1px solid var(--line)}
@media (max-width:700px){.service-list{grid-template-columns:1fr}.footer-contact{flex-direction:column;align-items:center}.cookie-copy{font-size:.8rem}}

button:disabled,.btn[aria-disabled=true]{cursor:not-allowed;opacity:.58;box-shadow:none;transform:none}

.breadcrumbs{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:center;font-family:var(--mono);font-size:.7rem;color:var(--moss)}
.breadcrumbs a{min-height:44px;display:inline-flex;align-items:center;padding:.4rem .2rem}.breadcrumbs a:hover{color:var(--amber)}.breadcrumbs a:active{color:var(--bark);transform:translateY(1px)}.breadcrumbs a:focus-visible{background:var(--amber);color:var(--ink);outline:none}
