@font-face{font-family:"Source Serif 4";font-weight:400;src:url(../assets/fonts/source-serif-4-400.woff2) format("woff2")}
:root{--ink:#1b2328;--paper:#fff;--cream:#f4efe6;--orange:#d34f00;--orange-light:#ff8c42;--blue:#394c56;
 --display:"maple-web",Impact,sans-serif;--head:"maple-web",Impact,sans-serif;--serif:"Source Serif 4",Georgia,serif;
 --sans-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 --line:color-mix(in srgb,var(--blue) 45%,var(--paper));--rule:1px;--radius:3px;--gutter:clamp(20px,6vw,86px);
 --lh-list:1.25;--lh-caps:1;--track-head:-.02em;--track-ui:.04em;--track-poster:-.02em;
 --hero-h:clamp(440px,calc(100svh - 222px),820px);
 --h1-fs:clamp(44px,6vw,90px); 
 --art-w:calc(var(--hero-h) * 3000 / 2240); 
 --wide-w:calc(var(--hero-h) * 3600 / 2240); --ext-w:calc(var(--hero-h) * 600 / 2240); 
 --plate-floor:.3; 
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--serif);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.hdr{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);background:#fff}
.hdr img{width:168px;height:auto;display:block}
.hdr .tel{font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:.03em;color:var(--ink)}
.btn{font-family:var(--display);font-weight:900;font-size:17px;letter-spacing:.04em;text-transform:uppercase;padding:14px 30px;border-radius:var(--radius);border:1px solid transparent;line-height:1;text-decoration:none;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.btn.text{background:var(--orange);color:var(--cream);box-shadow:2px 2px 0 var(--ink)}
.btn.call{background:var(--cream);color:var(--ink);border-color:var(--ink)}
.btn .hand{font-family:var(--serif);font-size:22px;line-height:1}
.btn{--plate:var(--orange);--edge:rgba(244,239,230,.62);--dot:var(--cream);position:relative;isolation:isolate;padding:14px 40px;border-radius:3px;border:0;box-shadow:none;background:var(--plate);color:var(--cream)}
.btn:before{content:"";position:absolute;inset:3px;border:1px solid var(--edge);border-radius:1px;pointer-events:none}
.btn:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:var(--dot);
 --c:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6' viewBox='0 0 6 6'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3C/svg%3E");
 -webkit-mask:var(--c) 11px 50%/6px 6px no-repeat,var(--c) calc(100% - 11px) 50%/6px 6px no-repeat;
 mask:var(--c) 11px 50%/6px 6px no-repeat,var(--c) calc(100% - 11px) 50%/6px 6px no-repeat}
.btn.text{box-shadow:none}
.btn.call{--plate:var(--cream);--edge:rgba(27,35,40,.5);--dot:var(--ink);color:var(--ink);background:var(--cream);border:2px solid var(--ink);padding:12px 38px}
.btn.call:before{inset:2px}
.btn .hand{display:none}
:root{
 --ink-deep:#12181b;--cream-2:#ebe4d5;
 --display:maple-web,"Arial Black",Impact,sans-serif;--head:maple-web,"Arial Black",Impact,sans-serif;
 --s1:clamp(44px,4.65vw,72px);                 
 --s2:clamp(38px,4.4vw,64px);                  
 --s3:46px;                                    
 --s4:clamp(20px,1.75vw,26px);                 
 --s5:17px;                                    
 --s6:clamp(16px,1.25vw,18px);                 
 --s7:14px;                                    
 --s8:13px;                                    
 --pad:clamp(48px,6.4vw,92px);
 --hdr-h:72px;
 --ease:cubic-bezier(.65,0,.35,1);
}
.wrap{max-width:1600px;margin:0 auto;padding:0 var(--gutter);position:relative}
a{color:inherit}
a:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:3px}
.hdr{height:var(--hdr-h);position:sticky;top:0;z-index:30}
.hdr img{width:140px}
.hdr .hr{display:flex;align-items:center;gap:14px}
.hdr .tel{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font:900 var(--s5)/1 var(--display);letter-spacing:.02em;color:var(--ink);text-decoration:none}
.hdr .btn{padding:0 22px;min-height:44px;display:inline-flex;align-items:center}
.hdr .btn:before{inset:2px}
.hdr .btn:after{display:none}
.rivets{position:absolute;left:0;right:0;top:12px;height:6px;pointer-events:none;background:center 0/60px 6px repeat-x;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='6' viewBox='0 0 60 6'%3E%3Cdefs%3E%3Cmask id='m'%3E%3Crect width='60' height='6' fill='%23fff'/%3E%3Cpath d='M28.4 2.5A1.6 1.6 0 0 1 29.4 1.4' fill='none' stroke='%23000' stroke-width='.75' stroke-linecap='round'/%3E%3C/mask%3E%3C/defs%3E%3Ccircle cx='30' cy='3' r='2.28' fill='%23f4efe6' mask='url(%23m)'/%3E%3C/svg%3E")}
.foot{background:var(--ink-deep);color:var(--cream);position:relative;padding-top:6px}
.foot .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:36px;padding-bottom:36px}
.foot ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;font:400 var(--s7)/1.3 var(--serif)}
.foot li+li:before{content:"\00B7";margin:0 12px;color:var(--orange-light);font-weight:700}
.foot img{height:40px;width:auto;display:block}
.foot .legal a{text-decoration:none;opacity:.85}
.foot .fr{display:flex;align-items:center}
.foot .fr .legal:before{content:"\00B7";margin:0 10px;color:var(--orange-light)}
.foot .legal a+a:before{content:"\00B7";margin:0 10px;color:var(--orange-light)}
.foot .legal li:before{display:none}
.bar{display:none}
@media (max-width:700px){
 :root{--gutter:16px;--hdr-h:64px;--pad:36px}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 html{scroll-padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .hdr{position:static}
 .hdr img{width:120px}
 .hdr .btn{display:none}
 .foot .wrap{flex-direction:column;align-items:flex-start}
 .bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:10px;padding:12px max(var(--gutter),env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(var(--gutter),env(safe-area-inset-left));background:var(--ink)}
 .bar .btn{flex:1 1 0;justify-content:center;padding:16px 8px;min-height:48px}
}
@media (prefers-reduced-motion:no-preference){
 .btn{transition:transform .2s var(--ease)}
 .btn:hover{transform:translateY(-1px)}
}
@media (prefers-reduced-motion:reduce){
 .btn,.btn:hover{transition:none;transform:none}
}
.btn{font-size:var(--s5)}
.btn.text{--plate:#b94300;background:var(--plate)}

/* ---- legal pages and 404 ---- */
.doc .wrap,.nf .wrap{padding-top:clamp(36px,6vw,72px);padding-bottom:clamp(48px,7vw,96px)}
.doc h1,.nf h1{font:900 clamp(36px,5.4vw,72px)/.95 var(--head);letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance;max-width:16em}
.doc h1+p{margin-top:12px;font:900 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.doc h2{margin-top:clamp(28px,4vw,44px);padding-top:16px;border-top:1px solid var(--line);font:900 clamp(22px,2.4vw,30px)/1 var(--head);letter-spacing:0;text-transform:uppercase;text-wrap:balance;max-width:28em}
.doc h2+p{margin-top:12px}
.doc p{margin-top:14px;max-width:62ch;font-size:clamp(16px,1.25vw,18px);line-height:1.5;text-wrap:pretty}
.doc h1+p{max-width:none}
.doc p a{color:#b94300;text-underline-offset:.15em}
.nf .wink{margin-top:clamp(20px,3vw,32px)}
.nf .wink img{display:block;width:100%;max-width:360px;height:auto}
.nf .back{margin-top:clamp(20px,3vw,32px)}
.doc p a{overflow-wrap:anywhere}
.nf .btn{white-space:normal;text-align:center;line-height:1.1}
html.tk-wait *{color:transparent!important}
/* Tap targets (2026-10-09): invisible vertical hit boxes grow short links to 44px+ on phones. No horizontal overhang, no layout or visual change.
   Stacked footer links split the 18px gap (7 up and 17.5 down for the upper link, 0 and 25 for the lower) so boxes never overlap. */
@media (max-width:700px),(pointer:coarse){
 .foot li a,.foot .legal a,.doc p a,.next p a,.fb p a,.s-name{position:relative}
 .foot li a:after,.foot .legal a:after,.doc p a:after,.next p a:after,.fb p a:after,.s-name:after{content:"";position:absolute;inset:-12px 0}
 .s-name:after{inset:-13px 0}
 .foot ul:not(.legal) a:after{inset:-7px 0 -17.5px}
 .foot .legal a:after{inset:0 0 -25px}
}
