:root{--bg:#122a3c;--panel:#1b374d;--ink:#fff;--muted:#d1dfeb;--line:#456277;--accent:#b2e0fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button,a{transition:background .2s,color .2s}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{border-bottom:1px solid var(--line);background:#163247;justify-content:space-between;align-items:center;height:96px;padding:0 6%;display:flex}.brand{letter-spacing:1px;align-items:center;gap:12px;font-size:22px;font-weight:800;display:flex}.brand small{letter-spacing:3px;font-size:9px;font-weight:400;display:block}.brandmark{letter-spacing:-4px;border:2px solid #dbeaf3;padding:0 5px;font-size:25px;line-height:36px}.brandmark span{color:var(--accent)}nav{color:#f1f7fc;gap:36px;font-size:15px;font-weight:600;display:flex}nav a:hover,.textlink:hover{color:var(--accent)}.button,button{color:#071625;cursor:pointer;background:#a2ccdf;border:1px solid #a2ccdf;align-items:center;gap:30px;padding:15px 24px;font-size:13px;font-weight:700;display:inline-flex}.button:hover,button:hover{background:#d1eaf7}.button.small{color:#fff;background:0 0;padding:11px 20px}.hero{height:760px;min-height:650px;position:relative;overflow:hidden}.heroimage{object-fit:cover;object-position:center 65%;width:100%;height:100%;position:absolute;inset:0}.heroshade{background:linear-gradient(#05101b7a,#05101b05 65%,#05101ba6);position:absolute;inset:0}.herocopy{text-align:center;max-width:1000px;margin:auto;padding:46px 24px 0;position:relative}.eyebrow{letter-spacing:3px;color:var(--accent);margin:0 0 22px;font-size:10px;font-weight:700}.hero h1{letter-spacing:-5px;margin:0 0 14px;font-size:clamp(54px,7.3vw,108px);line-height:1.05}.intro{white-space:pre-line;color:#f1f5f8;max-width:630px;margin:0 auto 24px;font-size:17px}.herobottom{letter-spacing:2px;justify-content:space-between;font-size:10px;display:flex;position:absolute;bottom:27px;left:6%;right:6%}.strip{color:#f0f7fc;background:#21455e;justify-content:space-between;align-items:center;gap:20px;padding:25px 6%;font-size:13px;display:flex}.strip i{color:#6fa2bf;font-style:normal}.section{max-width:1600px;margin:auto;padding:100px 6%}h2{letter-spacing:-1.5px;margin:0 0 25px;font-size:clamp(32px,3.4vw,50px);font-weight:600;line-height:1.16}h2 em{color:var(--muted);font-style:normal}.about{grid-template-columns:1fr 1fr;align-items:center;gap:10%;display:grid}.lead{color:#e1ebf3;margin:20px 0 30px;font-size:17px;line-height:1.9}.textlink{color:#d3efff;border-bottom:1px solid #476479;padding-bottom:8px;font-size:13px;display:inline-block}.services{padding-top:50px}.sectionhead{justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px;display:flex}.sectionhead>p{color:var(--muted);font-size:14px}.servicegrid{border-left:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.servicegrid article{background:var(--panel);border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:300px;padding:32px;transition:background .2s;display:flex}.servicegrid article:hover{background:#244a65}.cardtop{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.icon{color:#9ac6e2;font-size:30px;line-height:1}.number{color:#c2d9e9;font-size:12px}.servicegrid h3{margin:0 0 12px;font-size:20px;font-weight:600;line-height:1.35}.servicegrid p{color:#d8e5ef;margin:0 0 24px;font-size:15px;line-height:1.8}.servicegrid article>a{color:#f1f8ff;justify-content:space-between;margin-top:auto;font-size:14px;font-weight:600;display:flex}.serviceimage{object-fit:cover;width:100%;height:150px;margin-bottom:20px}.products{border-top:1px solid var(--line)}.emptycatalog{border:1px solid var(--line);align-items:center;gap:30px;padding:36px;display:flex}.emptycatalog>span{color:var(--accent);font-size:50px}.emptycatalog h3{margin:0;font-size:23px;font-weight:400}.emptycatalog p{color:var(--muted);font-size:14px}.emptycatalog .button{white-space:nowrap;margin-left:auto}.productgrid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.productgrid article{border:1px solid var(--line);padding:25px}.productgrid img{object-fit:contain;background:#f3f5f7;width:100%;height:220px}.productgrid p{color:var(--muted);white-space:pre-line}.productgrid strong{margin:20px 0;display:block}.contact{background:#244a64;max-width:none}.contact>h2{font-size:clamp(40px,5vw,76px)}.contact>p{color:#e1edf6}.contactgrid{flex-wrap:wrap;gap:50px;margin-top:40px;display:flex}.contactgrid>a,.contactgrid>div{font-size:22px}.contactgrid small{color:#d4ebfa;letter-spacing:2px;margin-bottom:10px;font-size:12px;font-weight:700;display:block}footer{color:#d1dfeb;justify-content:space-between;align-items:center;gap:20px;padding:36px 6%;font-size:13px;display:flex}footer .brand{color:#f5f7fa;font-size:18px}footer p{margin-right:auto}.skip{z-index:99;color:#000;background:#fff;padding:15px;position:absolute;top:-100px}.skip:focus{top:0}.admin{max-width:1100px;margin:auto;padding:45px 28px 100px}.admin h1{letter-spacing:-1px;font-size:42px}.adminhead{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.adminhead a{color:var(--accent)}.admin fieldset{border:1px solid var(--line);min-width:0;margin:30px 0;padding:28px}.admin legend{padding:0 12px;font-size:20px}.admin label{color:#bfd1df;margin:15px 0;font-size:13px;display:block}.admin input,.admin textarea{color:#fff;background:#102638;border:1px solid #436078;border-radius:0;width:100%;margin-top:7px;padding:12px;display:block}.admin textarea{resize:vertical;min-height:100px}.admin input[type=file]{font-size:12px}.admin .check{align-items:center;gap:15px;display:flex}.admin input[type=checkbox]{width:20px;height:20px}.admin .editcard{border:1px solid var(--line);margin:20px 0;padding:20px}.imagefield{grid-template-columns:1fr 1fr;gap:15px;display:grid}.imagefield img{object-fit:contain;max-width:220px;max-height:120px}.admin .status{color:#b7deed;white-space:pre-line}.login{max-width:440px}.savebar{z-index:5;background:#17354b;flex-wrap:wrap;align-items:center;gap:20px;padding:15px;font-size:12px;display:flex;position:sticky;top:0}button:disabled{opacity:.5;cursor:wait}.admin button{gap:8px}.admin a:hover{text-decoration:underline}@media (min-width:1700px){.hero{height:850px}}@media (max-width:800px){header{height:80px;padding:0 5%}nav{gap:15px;font-size:12px}.brand{font-size:17px}.brandmark{display:none}.button.small{padding:9px 12px}.hero{height:650px;min-height:0}.heroimage{object-position:center 70%}.herocopy{padding-top:55px}.hero h1{letter-spacing:-2px}.intro{max-width:500px;font-size:15px}.strip{flex-wrap:wrap;justify-content:center;font-size:11px}.strip i:last-of-type{display:none}.section{padding:65px 6%}.about{grid-template-columns:1fr;gap:5px}.servicegrid{grid-template-columns:repeat(2,1fr)}.servicegrid article{padding:24px}.emptycatalog{flex-wrap:wrap}.emptycatalog .button{margin:0}.productgrid{grid-template-columns:repeat(2,1fr)}footer{flex-wrap:wrap}.contactgrid{gap:25px}}@media (max-width:520px){nav{display:none}.hero{height:650px}.heroimage{object-fit:cover;object-position:center 60%}.herocopy{padding-top:40px}.eyebrow{letter-spacing:2px;font-size:9px}.herobottom{letter-spacing:1px;font-size:8px}.sectionhead{display:block}.servicegrid,.productgrid{grid-template-columns:1fr}.servicegrid article{min-height:260px}.imagefield{grid-template-columns:1fr}.admin{padding:25px 16px}.admin fieldset{padding:16px}.adminhead{gap:10px}.adminhead button{padding:10px;font-size:11px}.emptycatalog{padding:24px}.contactgrid>a,.contactgrid>div{font-size:18px}footer p{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media (max-width:520px){.heroimage{object-fit:contain;width:100%;height:auto;inset:auto 0 45px}.heroshade{background:linear-gradient(#122a3c 3%,#0000 65%,#05101b8c)}.hero{background:#122a3c}}.herocopy h1,.herocopy .intro{text-shadow:0 2px 14px #000c}.intro{font-weight:500}.contactgrid>a:hover{color:var(--accent)}.contactemail{overflow-wrap:anywhere}.emailaction{color:#102a3d;letter-spacing:0;background:#c3e8fc;border:1px solid #c3e8fc;margin-top:15px;padding:12px 18px;font-size:15px;font-weight:700;display:table}.contactemail:hover .emailaction{background:#fff}.emptycatalog h3{font-weight:600}.emptycatalog p{font-size:15px}.contactform-wrap{border-top:1px solid #64849b;grid-template-columns:1fr 1.6fr;gap:60px;margin-top:64px;padding-top:52px;display:grid}.contactform-wrap h3{margin:0 0 20px;font-size:36px;line-height:1.2}.contactform-wrap>div>p:not(.eyebrow){color:#e1edf6;max-width:350px}.contactform fieldset{border:0;min-width:0;margin:0;padding:0}.contactform label{margin-bottom:20px;font-size:15px;font-weight:600;display:block}.formrow{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contactform input,.contactform textarea{color:#102a3d;background:#f4f8fb;border:2px solid #c5d9e8;border-radius:3px;width:100%;margin-top:8px;padding:13px 15px;font-size:16px;display:block}.contactform textarea{resize:vertical;min-height:160px}.contactform input:focus-visible,.contactform textarea:focus-visible{outline-offset:3px;border-color:#34749b;outline:3px solid #fff}.contactform input::placeholder,.contactform textarea::placeholder{color:#526779}.formprivacy{color:#e1edf6;margin:0 0 24px;font-size:13px}.formprivacy a,.formstatus a{text-underline-offset:3px;text-decoration:underline}.formstatus{max-width:650px;margin-top:20px;font-weight:600}.formstatus:empty{margin:0}.contactform input:disabled,.contactform textarea:disabled{opacity:.75}@media (max-width:800px){.contactform-wrap{grid-template-columns:1fr;gap:24px}.contactform-wrap>div>p:not(.eyebrow){max-width:none}}@media (max-width:520px){.formrow{grid-template-columns:1fr;gap:0}.contactform-wrap{margin-top:42px;padding-top:32px}.contactform-wrap h3{font-size:30px}}.contactnav{color:#163247;letter-spacing:.2px;background:#e5f3fb;border:1px solid #d4eaf7;border-radius:12px;justify-content:center;align-items:center;min-height:46px;margin-left:auto;padding:11px 28px;font-size:15px;font-weight:700;transition:background .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #03101c2e}.contactnav:hover{background:#fff;box-shadow:0 6px 18px #03101c40}@media (max-width:520px){.contactnav{min-height:44px;padding:10px 23px;font-size:14px}}.workshop-map{border-top:1px solid #64849b;grid-template-columns:1fr 1.6fr;gap:60px;margin-top:60px;padding-top:52px;display:grid}.workshop-details h3{margin:0 0 24px;font-size:32px;line-height:1.2}.workshop-details address{font-size:20px;font-style:normal;font-weight:600;line-height:1.6}.workshop-details address span{color:#d1dfeb;margin-top:5px;font-size:14px;font-weight:400;display:block}.workshop-details>p:not(.eyebrow){color:#e1edf6;max-width:370px;margin:24px 0;font-size:15px}.map-directions{color:#163247;background:#e5f3fb;border-radius:12px;justify-content:center;align-items:center;min-height:46px;padding:12px 24px;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 4px 14px #03101c2e}.map-directions:hover{background:#fff}.map-panel{background:#17354b;border:1px solid #7295ae;border-radius:16px;min-height:350px;overflow:hidden}.map-panel iframe{border:0;width:100%;height:100%;min-height:350px;display:block}.map-placeholder{text-align:center;color:#c3e8fc;background:radial-gradient(#284f69,#17354b);flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:350px;padding:32px 22px;display:flex}.map-placeholder h4{color:#fff;margin:16px 0 6px;font-size:23px}.map-placeholder p{color:#e1edf6;margin:0 0 24px;font-size:14px}.map-placeholder button{border-radius:10px;font-size:14px}.map-placeholder small{color:#d1dfeb;max-width:400px;margin-top:18px;font-size:12px}.map-placeholder small a{text-decoration:underline}@media (max-width:800px){.workshop-map{grid-template-columns:1fr;gap:30px}}@media (max-width:520px){.workshop-map{margin-top:42px;padding-top:32px}.workshop-details h3{font-size:28px}}.button,.textlink,.emailaction,.servicegrid article>a,.contactform button,.map-placeholder button{color:#163247;letter-spacing:.1px;background:#e5f3fb;border:1px solid #d4eaf7;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:12px 22px;font-size:14px;font-weight:700;line-height:1.5;transition:background .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #03101c29}.button:hover,.textlink:hover,.emailaction:hover,.servicegrid article>a:hover,.contactform button:hover,.map-placeholder button:hover{color:#102a3d;background:#fff;box-shadow:0 6px 18px #03101c3b}.servicegrid article>a{justify-content:center;align-self:flex-start}.emailaction{margin-top:15px}.herocopy .button{padding:13px 24px}.contactform button{font-size:15px}.textlink span{font-size:11px}.contactgrid>a{transition:color .2s}.contactgrid>a:not(.contactemail):hover{text-underline-offset:6px;text-decoration:underline}
