
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
img{height:auto}
[hidden]{display:none!important}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:9999;padding:10px 16px;background:#000;color:#fff;border-radius:8px;text-decoration:none}
.skip:focus{top:60px}
:focus-visible{outline:3px solid var(--focus,#1d4ed8);outline-offset:3px}
.ph{margin:0;overflow:hidden;background:var(--phbg,#ddd);position:relative}
.ph img{width:100%;height:100%;object-fit:cover}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-weight:600;font-size:.92rem}
.field .opt{font-weight:400;opacity:.7}
.field input,.field select,.field textarea{min-height:48px;padding:12px 14px;border-radius:var(--r-in,10px);border:1.5px solid var(--line,#ccc);background:var(--field,#fff);font-size:16px;width:100%;min-width:0}
.field textarea{min-height:110px;resize:vertical}
.field .hint{font-size:.82rem;opacity:.75}
.field .err{font-size:.84rem;color:var(--err,#b42318);min-height:0}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--err,#b42318)}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form .full,.form .form-foot{grid-column:1/-1}
.form-foot{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
fieldset{min-width:0;border:0;padding:0;margin:0}
@media (max-width:640px){.form{grid-template-columns:minmax(0,1fr)}}
.thanks{padding:28px;border-radius:var(--r-card,14px)}
.thanks-k{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:700;margin:0 0 6px}
.faq details{border-bottom:1px solid var(--line,#ccc)}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;cursor:pointer;font-weight:600;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:14px;height:14px;position:relative}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;inset:6px 0 auto 0;height:2px;background:currentColor;transition:transform .25s}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq-a{padding:0 0 18px}
.faq-a p{margin:0;max-width:68ch}
.tablebox{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.tablebox table{border-collapse:collapse;width:100%;min-width:520px}
.js [data-rv]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js [data-rv].in{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.js [data-rv]{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}

:root{--char:#17191C;--char2:#22262B;--char3:#2E343A;--line:#3A4148;--chalk:#F3F5EE;--lime:#C6F432;--olive:#4D6B00;--fire:#FF5A1F;--fire2:#FF7A45;--muted:#9AA19A;--mutedd:#5C635C;--sand:#D7B16A;--phbg:#2E343A;--focus:#C6F432;--hf:'Bungee',Impact,sans-serif;--bf:'Cabin',system-ui,sans-serif;--r-card:6px;--r-in:4px;--field:#22262B}
body{background:var(--char);color:var(--chalk);font-family:var(--bf);font-size:17px}
h1,h2,h3{font-family:var(--hf);font-weight:400;line-height:1.04;margin:0 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2.3rem,6vw,4.9rem)}
h2{font-size:clamp(1.7rem,3.8vw,2.9rem)}
h3{font-size:1.15rem;line-height:1.2}
p{margin:0 0 1em}
a{color:var(--lime)}
.hl{background:var(--lime);color:var(--char);padding:0 .14em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px}
.kicker{font-family:var(--bf);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.16em;color:var(--lime);margin:0 0 12px}
.lead{font-size:1.18rem;line-height:1.55;max-width:60ch;color:#D9DDD4}
.small{font-size:.88rem;color:var(--muted)}
.center{text-align:center;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 24px;border:3px solid var(--chalk);border-radius:4px;background:transparent;color:var(--chalk);font-family:var(--hf);font-size:.92rem;text-decoration:none;cursor:pointer;box-shadow:4px 4px 0 transparent;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--chalk)}
.btn svg{width:20px;height:20px}
.btn-lime{background:var(--lime);border-color:var(--lime);color:var(--char)}
.btn-lime:hover{box-shadow:4px 4px 0 var(--chalk)}
.btn-solid{background:var(--char);border-color:var(--char);color:var(--lime)}
.btn-solid:hover{box-shadow:4px 4px 0 var(--lime)}
.bk .btn-solid,.dark .btn-solid{background:var(--lime);border-color:var(--lime);color:var(--char)}
.btn-dark{background:var(--char);border-color:var(--char);color:var(--lime)}
.btn-dark:hover{box-shadow:4px 4px 0 var(--char2)}
.btn-line{border-color:currentColor;color:inherit}
.btn-sm{min-height:44px;padding:6px 14px;font-size:.8rem}
.field label,.flabel{font-weight:700;color:var(--chalk)}
.field input,.field select,.field textarea{border:2px solid var(--line);color:var(--chalk)}
.field .err{color:var(--fire2)}
.light .field label,.panel .field label,.light .flabel{color:var(--char)}
.light .field input,.light .field select,.light .field textarea,.panel .field input,.panel .field select,.panel .field textarea{background:#fff;color:var(--char);border-color:#B9C0B5}
.light .field .err,.panel .field .err{color:#B42318}
.hz-strip{height:8px;background:repeating-linear-gradient(135deg,var(--lime) 0 14px,var(--char) 14px 28px)}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--char);transition:box-shadow .3s}
.hdr.is-scrolled{box-shadow:0 2px 0 var(--line)}
.hdr-in{max-width:1320px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:20px;transition:padding .3s}
.hdr.is-scrolled .hdr-in{padding-top:7px;padding-bottom:7px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--chalk);font-family:var(--hf);font-size:1.35rem;line-height:1}
.logo svg{width:34px;height:38px;flex:none}
.logo small{display:block;font-family:var(--bf);font-weight:700;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{color:var(--chalk);text-decoration:none;font-weight:700;font-size:.95rem;padding:10px 12px;border-bottom:3px solid transparent}
.nav a:hover{border-color:var(--lime)}
.nav a[aria-current]{background:var(--lime);color:var(--char)}
.hdr-r{display:flex;align-items:center;gap:8px}
.basket-btn{position:relative;width:48px;height:48px;border:3px solid var(--chalk);border-radius:4px;background:transparent;color:var(--chalk);display:grid;place-items:center}
.basket-btn svg{width:22px;height:22px}
.basket-btn b{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;background:var(--fire);color:var(--char);border-radius:999px;font-size:.75rem;display:grid;place-items:center;padding:0 5px}
.menubtn{display:none;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:3px solid var(--lime);border-radius:4px;background:var(--lime);color:var(--char);font-family:var(--hf);font-size:.9rem}
.menubtn i{display:block;width:18px;height:14px;background:linear-gradient(var(--char) 0 3px,transparent 3px 5.5px,var(--char) 5.5px 8.5px,transparent 8.5px 11px,var(--char) 11px 14px)}
@media (max-width:1100px){.nav{display:none}.menubtn{display:inline-flex}.hdr-r{margin-left:auto}}
@media (max-width:420px){.logo small{display:none}}

/* menu */
.layer{position:fixed;inset:0;z-index:2000}
html.layer-open{overflow:hidden}
.menu-l{background:var(--char);overflow:auto}
.menu-in{max-width:1200px;margin:0 auto;padding:64px 20px 40px}
.menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.xbtn{min-height:44px;padding:8px 16px;border:3px solid currentColor;border-radius:4px;background:transparent;color:inherit;font-family:var(--hf);font-size:.85rem}
.menu-k{font-family:var(--hf);color:var(--lime);font-size:1rem;margin-bottom:12px}
.menu-rooms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.menu-rooms a{display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 12px;padding:14px;border:2px solid var(--line);border-radius:4px;color:var(--chalk);text-decoration:none;min-height:64px;background:var(--char2)}
.menu-rooms a:hover,.menu-rooms a[aria-current]{border-color:var(--lime)}
.menu-rooms i{grid-row:span 2;font-style:normal;font-family:var(--hf);background:var(--lime);color:var(--char);display:grid;place-items:center;border-radius:4px;height:44px}
.menu-rooms span{font-family:var(--hf);font-size:1rem}
.menu-rooms small{color:var(--muted);font-size:.85rem}
.menu-sos{margin-top:22px;padding:14px;border:2px solid var(--fire);color:var(--chalk);border-radius:4px;font-weight:700}
@media (max-width:860px){.menu-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.menu-rooms{grid-template-columns:minmax(0,1fr)}}

/* basket */
.bk-l{background:rgba(10,11,12,.7)}
.bk{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--chalk);color:var(--char);overflow:auto;padding:64px 22px 30px;border-left:8px solid var(--lime)}
.bk-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.bk-top h2{font-size:1.6rem;margin:0}
.bk a{color:var(--olive)}
.bk-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.bk-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px;border:2px solid #D3D8CF;border-radius:4px;background:#fff}
.bk-list .bn{font-weight:700}
.bk-list .bp{font-weight:700;text-align:right}
.step{display:inline-flex;align-items:center;border:2px solid var(--char);border-radius:4px}
.step button{width:40px;height:40px;border:0;background:transparent;font-size:1.2rem;font-weight:700;color:inherit}
.step output{min-width:30px;text-align:center;font-weight:700}
.bx{background:none;border:0;color:#B42318;text-decoration:underline;min-height:40px;justify-self:end}
.chk-line{display:flex;gap:10px;align-items:center;min-height:44px;font-weight:700}
.chk-line input{width:20px;height:20px;accent-color:var(--olive)}
.bk-sum{display:flex;justify-content:space-between;padding:6px 0}
.bk-tot{border-top:3px solid var(--char);font-size:1.2rem;margin-top:6px;padding-top:10px}
.bk .form{margin-top:16px}
.bk .field label{color:var(--char)}
.bk .field input,.bk .field select{background:#fff;color:var(--char);border-color:#B9C0B5}
.bk .small{color:var(--mutedd)}
.thanks{background:#fff;color:var(--char);border:3px solid var(--char);box-shadow:6px 6px 0 var(--lime)}
.thanks-k{color:var(--olive)}

/* hero + building map */
.hero{padding:120px 0 50px;background:radial-gradient(circle at 80% 20%,rgba(198,244,50,.08),transparent 40%),var(--char)}
.hero-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:end;margin-bottom:26px}
.hero h1{font-size:clamp(2.3rem,5.6vw,4.6rem)}
.hero-b{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:900px){.hero-top{grid-template-columns:minmax(0,1fr)}}
.bmap{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.bmap-v{position:relative;background:var(--char2);border:3px solid var(--line);border-radius:6px;padding:10px;background-image:linear-gradient(rgba(243,245,238,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(243,245,238,.04) 1px,transparent 1px);background-size:30px 30px}
.bld{width:100%;height:auto;display:block}
.room{cursor:pointer;outline:none}
.room-bg{fill:#1D2024;stroke:#3A4148;stroke-width:2;transition:fill .25s,stroke .25s}
.room:hover .room-bg,.room:focus .room-bg,.room.hot .room-bg{fill:rgba(198,244,50,.16);stroke:var(--lime);stroke-width:4}
.room:focus-visible .room-bg{stroke:#fff;stroke-width:5}
.rbadge circle{fill:var(--lime)}
.rbadge text{font-family:var(--hf);font-size:17px;fill:var(--char)}
.lbl{font-family:var(--hf);font-size:17px;fill:var(--chalk)}
.scan{animation:scan 7s linear infinite}
@keyframes scan{from{transform:translateY(60px)}to{transform:translateY(640px)}}
.blink{animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.15}}
.flick{animation:flick .5s infinite alternate;transform-origin:50% 100%;transform-box:fill-box}
@keyframes flick{to{transform:scaleY(.8) scaleX(1.1)}}
.shake{animation:shake .18s infinite alternate}
@keyframes shake{to{transform:translate(1px,-1px)}}
.puff{animation:puff 2s infinite}
@keyframes puff{from{opacity:.8;transform:translate(0,0)}to{opacity:0;transform:translate(8px,-26px)}}
.wave{animation:wv 1.2s infinite alternate;transform-origin:0 50%;transform-box:fill-box}
@keyframes wv{to{transform:skewY(6deg) scaleX(.92)}}
.btip{position:absolute;left:0;top:0;pointer-events:none;background:var(--lime);color:var(--char);padding:12px 14px;border-radius:4px;max-width:260px;font-size:.92rem;font-weight:600;opacity:0;transform:translateY(6px);transition:opacity .15s,transform .15s;box-shadow:4px 4px 0 var(--char)}
.btip b{display:block;font-family:var(--hf);font-weight:400;font-size:1rem;margin-bottom:4px}
.btip.on{opacity:1;transform:translateY(0)}
.rooms-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rooms-list a{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:2px solid var(--line);border-radius:4px;color:var(--chalk);text-decoration:none;min-height:44px;transition:border-color .2s,background .2s}
.rooms-list a:hover,.rooms-list a.hot{border-color:var(--lime);background:rgba(198,244,50,.08)}
.rooms-list i{font-style:normal;font-family:var(--hf);background:var(--lime);color:var(--char);display:grid;place-items:center;height:36px;border-radius:4px;font-size:.85rem}
.rooms-list span{font-weight:700;line-height:1.25}
.rooms-list small{display:block;font-weight:400;color:var(--muted);font-size:.82rem;margin-top:2px}
@media (max-width:1000px){.rooms-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.bmap-v{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:6px}.bmap-v .bld{min-width:700px}.bmap-v::after{content:"Swipe to explore the building";position:sticky;left:0;display:block;font-size:.8rem;font-weight:700;color:var(--lime);padding:6px 4px 0}.btip{display:none}.rooms-list{grid-template-columns:minmax(0,1fr)}.rooms-list small{display:none}}
@media (max-width:540px){.pcard .ph{aspect-ratio:16/10!important}}
.marquee{background:var(--lime);color:var(--char);overflow:hidden;border-block:3px solid var(--char)}
.mq-in{display:flex;gap:40px;width:max-content;padding:14px 0;animation:mq 40s linear infinite}
.mq-in span{font-family:var(--hf);font-size:1.05rem;white-space:nowrap}
.mq-in span::before{content:"";display:inline-block;width:14px;height:14px;background:var(--char);margin-right:14px;transform:rotate(45deg)}
@keyframes mq{to{transform:translateX(-33.33%)}}

/* page hero */
.phero{padding:130px 0 70px;background:linear-gradient(180deg,var(--char) 0,var(--char2) 100%);border-bottom:3px solid var(--line)}
.phero-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:44px;align-items:center}
.phero-in.no-pic{grid-template-columns:minmax(0,1fr)}
.phero-pic{position:relative}
.phero-pic .ph{border:4px solid var(--chalk);border-radius:4px;transform:rotate(1.5deg)}
.here{display:inline-flex;align-items:center;gap:10px;color:var(--chalk);text-decoration:none;font-weight:700;font-size:.9rem;border:2px solid var(--line);padding:6px 12px 6px 6px;border-radius:4px;margin-bottom:18px;min-height:44px}
.here i{font-style:normal;font-family:var(--hf);background:var(--lime);color:var(--char);border-radius:3px;padding:4px 8px}
.here:hover{border-color:var(--lime)}
.tape{position:absolute;top:-14px;left:24px;width:120px;height:26px;background:repeating-linear-gradient(135deg,var(--lime) 0 10px,var(--char) 10px 20px);transform:rotate(-4deg);border:2px solid var(--char)}
.tilt{position:relative}
.tilt .ph{border:4px solid var(--chalk);border-radius:4px;transform:rotate(-1.5deg)}
@media (max-width:860px){.phero-in{grid-template-columns:minmax(0,1fr)}.phero-pic{max-width:420px}}

/* sections */
.sec{padding:clamp(60px,8vw,104px) 0;position:relative}
.dark{background:var(--char)}
.dark2{background:var(--char2)}
.light{background:var(--chalk);color:var(--char)}
.light .lead{color:#3D433D}
.light .small{color:var(--mutedd)}
.light a:not(.btn){color:var(--olive)}
.light .kicker{color:var(--olive)}
.light .hl{background:var(--char);color:var(--lime)}
.lime{background:var(--lime);color:var(--char)}
.lime .small{color:#2D3A05}
.lime .kicker{color:var(--char)}
.sh{max-width:800px;margin-bottom:34px}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,5vw,70px);align-items:center}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}}
.numl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.numl li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;align-items:start;padding:16px;border:2px solid var(--line);border-radius:4px}
.light .numl li{border-color:#D3D8CF;background:#fff}
.nl-n{font-family:var(--hf);font-size:1.6rem;background:var(--lime);color:var(--char);height:54px;display:grid;place-items:center;border-radius:4px}
.numl h3{margin-bottom:6px}
.numl p{margin:0;color:var(--muted)}
.light .numl p{color:var(--mutedd)}
.ticks{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px}
.ticks li{position:relative;padding-left:30px}
.ticks li::before{content:"";position:absolute;left:0;top:.2em;width:18px;height:18px;background:var(--lime);clip-path:polygon(14% 44%,0 60%,40% 100%,100% 22%,86% 8%,40% 70%)}
.light .ticks li::before{background:var(--olive)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{border:3px solid var(--line);border-radius:4px;padding:22px;background:var(--char)}
.light .card{background:#fff;border-color:var(--char);box-shadow:6px 6px 0 var(--lime)}
.card p{margin:0;color:var(--muted)}
.light .card p{color:var(--mutedd)}
@media (max-width:860px){.cards{grid-template-columns:minmax(0,1fr)}}
.cta{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta h2{margin-bottom:6px}
.cta p{margin:0;font-size:1.1rem;font-weight:600}
.cta-b{display:flex;gap:12px;flex-wrap:wrap}
.lime .btn-line{border-color:var(--char);color:var(--char)}
.lime .btn-line:hover{box-shadow:4px 4px 0 var(--char)}
.panel{background:#fff;color:var(--char);border:3px solid var(--char);border-radius:4px;padding:clamp(20px,4vw,36px);box-shadow:8px 8px 0 var(--lime)}
.faq summary{font-weight:700}
.light .faq details{border-color:#C9CFC4}
.tablebox{border:3px solid var(--char);border-radius:4px;background:#fff}
.tbl{color:var(--char)}
.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid #D3D8CF}
.tbl thead th{background:var(--char);color:var(--lime);font-family:var(--hf);font-weight:400;font-size:.82rem}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stat{border-left:6px solid var(--char);padding-left:16px}
.stat b{display:block;font-family:var(--hf);font-weight:400;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1}
.stat span{font-weight:700}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rev{margin:0;border:3px solid var(--line);border-radius:4px;padding:24px;background:var(--char2);position:relative}
.dark2 .rev{background:var(--char)}
.rev::before{content:"\201C";position:absolute;top:-22px;left:18px;font-family:var(--hf);font-size:3.6rem;color:var(--lime);line-height:1}
.rev blockquote{margin:0 0 12px}
.rev figcaption{font-family:var(--hf);color:var(--lime);font-size:.9rem}
@media (max-width:860px){.revs{grid-template-columns:minmax(0,1fr)}}

/* products */
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pgrid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pcard{display:flex;flex-direction:column;border:3px solid var(--line);border-radius:4px;background:var(--char2);overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}
.pcard:hover{transform:translate(-3px,-3px);border-color:var(--lime);box-shadow:6px 6px 0 var(--lime)}
.pcard .ph{border-radius:0;border-bottom:3px solid var(--line)}
.pc-b{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1}
.pc-cat{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.pc-b h3{margin:0;font-size:1rem}
.pc-b h3 a{color:var(--chalk);text-decoration:none}
.pc-b h3 a:hover{color:var(--lime)}
.pc-b p{margin:0;font-size:.92rem;color:#C7CCC3}
.fcls{display:flex;gap:4px;flex-wrap:wrap}
.fcl{font-family:var(--hf);font-size:.72rem;background:var(--char);border:2px solid var(--lime);color:var(--lime);width:26px;height:26px;display:grid;place-items:center;border-radius:3px}
.pc-f{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:10px}
.pc-f b{font-family:var(--hf);font-weight:400;font-size:1.15rem}
.add{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 6px 6px 14px;border:3px solid var(--lime);border-radius:4px;background:transparent;color:var(--lime);font-family:var(--hf);font-size:.78rem}
.add span{display:grid;place-items:center;width:28px;height:28px;background:var(--lime);color:var(--char);border-radius:3px;font-size:1.1rem}
.add.added{background:var(--lime);color:var(--char)}
.pcard.match{border-color:var(--lime);box-shadow:6px 6px 0 var(--lime)}
.pcard.dim{opacity:.35}
@media (max-width:1000px){.pgrid,.pgrid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.pgrid,.pgrid-3{grid-template-columns:minmax(0,1fr)}}
.picker{border:3px solid var(--lime);border-radius:4px;padding:20px;margin-bottom:22px;background:var(--char2)}
.fc-btns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}
.fc-btns button{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px;border:3px solid var(--line);border-radius:4px;background:var(--char);color:var(--chalk);text-align:left;font-weight:700}
.fc-btns b{font-family:var(--hf);font-weight:400;font-size:1.6rem;color:var(--lime);width:40px;flex:none;text-align:center}
.fc-btns button[aria-pressed=true]{background:var(--lime);color:var(--char);border-color:var(--lime)}
.fc-btns button[aria-pressed=true] b{color:var(--char)}
@media (max-width:860px){.fc-btns{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stools{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:16px;align-items:end;margin-bottom:12px}
@media (max-width:860px){.stools{grid-template-columns:minmax(0,1fr)}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.cchip{min-height:44px;padding:8px 14px;border:2px solid var(--line);border-radius:4px;background:transparent;color:var(--chalk);font-weight:700}
.cchip[aria-pressed=true]{background:var(--chalk);color:var(--char);border-color:var(--chalk)}
.chip input,.opt input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;min-height:46px;padding:8px 14px;border:2px solid var(--line);border-radius:4px;font-weight:700;cursor:pointer}
.chip input:checked+span{background:var(--lime);color:var(--char);border-color:var(--lime)}
.chip input:focus-visible+span,.opt input:focus-visible+span{outline:3px solid var(--lime);outline-offset:2px}
.none{font-weight:700;color:var(--muted)}

/* checklist */
.ck{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:26px;align-items:start}
.ck-set{border:3px solid var(--line);border-radius:4px;padding:20px;margin-bottom:20px;background:var(--char2)}
.ck-h{display:flex;align-items:center;gap:12px;font-family:var(--hf);font-size:1.3rem;margin-bottom:14px;padding:0;float:left;width:100%}
.ck-h+*{clear:both}
.ck-h i{font-style:normal;background:var(--lime);color:var(--char);width:40px;height:40px;display:grid;place-items:center;border-radius:4px}
.ck-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.tog-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tog{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:8px 14px;border:2px solid var(--line);border-radius:4px;cursor:pointer;font-weight:700}
.tog input{width:20px;height:20px;accent-color:var(--lime)}
.tog:has(input:checked){border-color:var(--lime)}
.light .tog{border-color:#B9C0B5}
.ck-area{border:3px solid var(--line);border-radius:4px;margin-bottom:14px;background:var(--char2)}
.ck-ah{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;border-bottom:3px solid var(--line)}
.ck-ah h3{margin:0;font-size:1.05rem}
.ck-ah span{font-weight:700;color:var(--muted);font-size:.9rem}
.ck-item{padding:14px 18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center}
.ck-item:last-child{border-bottom:0}
.ck-item p{margin:0;font-weight:600}
.ck-item .tip{grid-column:1/-1;font-size:.86rem;color:var(--muted);margin:0}
.ans{display:flex;gap:4px}
.ans label{position:relative}
.ans input{position:absolute;opacity:0;width:1px;height:1px}
.ans span{display:inline-flex;align-items:center;min-height:44px;padding:6px 12px;border:2px solid var(--line);border-radius:4px;font-weight:700;font-size:.88rem;cursor:pointer}
.ans input:focus-visible+span{outline:3px solid var(--lime);outline-offset:2px}
.ans .a-y input:checked+span{background:var(--lime);border-color:var(--lime);color:var(--char)}
.ans .a-n input:checked+span{background:var(--fire);border-color:var(--fire);color:var(--char)}
.ans .a-s input:checked+span{background:var(--sand);border-color:var(--sand);color:var(--char)}
@media (max-width:620px){.ck-item{grid-template-columns:minmax(0,1fr)}.ck-row{grid-template-columns:minmax(0,1fr)}}
.ck-side{position:sticky;top:96px;display:grid;gap:14px}
.ck-score{border:3px solid var(--lime);border-radius:4px;padding:18px;text-align:center;background:var(--char2);position:relative}
.ck-score svg{width:100%;max-width:240px;margin:0 auto;display:block}
.ck-score b{display:block;font-family:var(--hf);font-weight:400;font-size:3.4rem;line-height:1;margin-top:-58px}
.ck-score>span{font-weight:700;color:var(--muted)}
.ck-score p{margin:10px 0 0;font-weight:700}
[data-ck-arc]{transition:stroke-dashoffset 1s cubic-bezier(.2,.7,.2,1),stroke .4s}
.ck-bld{border:3px solid var(--line);border-radius:4px;padding:10px;background:var(--char2)}
.ck-bld .small{margin:6px 4px 0}
.bld-check .room-bg{transition:fill .5s}
.bld-check .room.r-good .room-bg{fill:rgba(198,244,50,.45);stroke:var(--lime)}
.bld-check .room.r-mid .room-bg{fill:rgba(215,177,106,.5);stroke:var(--sand)}
.bld-check .room.r-bad .room-bg{fill:rgba(255,90,31,.55);stroke:var(--fire)}
.ck-areas{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ck-areas li{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:4px 10px;align-items:center;font-weight:700;font-size:.92rem}
.ck-areas .bar{grid-column:1/-1;height:8px;background:var(--char3);border-radius:2px;overflow:hidden}
.ck-areas .bar i{display:block;height:100%;background:var(--lime);transition:width .6s}
.ck-areas li.mid .bar i{background:var(--sand)}
.ck-areas li.bad .bar i{background:var(--fire)}
.ck-areas b{text-align:right;font-family:var(--hf);font-weight:400}
@media (max-width:980px){.ck{grid-template-columns:minmax(0,1fr)}.ck-side{position:static;order:-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ck-areas{grid-column:1/-1}}
@media (max-width:620px){.ck-side{grid-template-columns:minmax(0,1fr)}}
.fixes{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px;counter-reset:f}
.fix{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:3px solid var(--line);border-radius:4px;background:var(--char)}
.fix .fn{font-family:var(--hf);font-size:1.3rem;background:var(--fire);color:var(--char);height:52px;display:grid;place-items:center;border-radius:4px}
.fix.p-med .fn{background:var(--sand)}
.fix.p-low .fn{background:var(--muted)}
.fix h3{margin:0 0 4px;font-size:1rem}
.fix p{margin:0;font-size:.9rem;color:var(--muted)}
.fix .fc{text-align:right;font-weight:700;font-size:.92rem}
.fix .fc a{display:block;font-weight:600;font-size:.84rem}
@media (max-width:620px){.fix{grid-template-columns:44px minmax(0,1fr)}.fix .fc{grid-column:1/-1;text-align:left}}
.fix-tot{border:3px solid var(--lime);border-radius:4px;padding:18px;display:grid;gap:8px}
.fix-tot b{font-family:var(--hf);font-weight:400;font-size:2rem;color:var(--lime)}
.fix-b{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.ck-tease{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center}
.ck-demo{border:3px solid var(--lime);border-radius:4px;padding:22px;background:var(--char);transform:rotate(1deg)}
.gauge-demo{text-align:center}
.gauge-demo svg{max-width:240px;margin:0 auto;display:block}
.gauge-demo b{display:block;font-family:var(--hf);font-weight:400;font-size:3rem;line-height:1;margin-top:-52px}
.gauge-demo span{font-weight:700;color:var(--muted)}
.gd-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:6px}
.gd-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border:2px solid var(--line);border-radius:4px;font-weight:600;font-size:.92rem}
.gd-list li::after{font-family:var(--hf);font-size:.72rem;padding:2px 8px;border-radius:3px;color:var(--char)}
.gd-list .ok::after{content:"Yes";background:var(--lime)}.gd-list .no::after{content:"No";background:var(--fire)}.gd-list .ns::after{content:"Not sure";background:var(--sand)}
@media (max-width:860px){.ck-tease{grid-template-columns:minmax(0,1fr)}}
.clist{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:6px}
.clist li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0;border-bottom:2px dashed var(--line)}
.clist span{color:var(--muted)}
@media print{.hdr,.ftr,.wa,#covorn-ribbon,#covorn-ribbon-space,.phero,.fix-b,.sec:not(.dark):not(#actions){display:none!important}body{background:#fff;color:#000}.ck-area,.fix{border-color:#999;background:#fff}}

/* product detail */
.pbuy{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:30px;align-items:start}
.pprice{font-family:var(--hf);font-size:clamp(2.2rem,5vw,3.4rem);line-height:1;margin-bottom:14px}
.pprice small{display:block;font-family:var(--bf);font-size:.9rem;color:var(--muted);margin-top:6px}
.qty-note{margin-top:12px}
.specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.specs div{border:2px solid var(--line);border-radius:4px;padding:12px}
.specs span{display:block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.specs b{font-weight:700}
@media (max-width:760px){.pbuy{grid-template-columns:minmax(0,1fr)}.specs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pass{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pass li{border:3px solid var(--char);border-radius:4px;padding:16px;background:#fff}
.pass b{display:block;font-family:var(--hf);font-weight:400;font-size:1.6rem;color:var(--olive)}
.rel-h{margin-bottom:20px}

/* training */
.courses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.course{border:3px solid var(--line);border-radius:4px;padding:18px;display:flex;flex-direction:column;gap:8px;background:var(--char2)}
.course h3{margin:0;font-size:1.02rem}
.course h3 a{color:var(--chalk)}
.course p{margin:0;font-size:.92rem;color:#C7CCC3}
.co-len{align-self:flex-start;font-family:var(--hf);font-size:.72rem;background:var(--lime);color:var(--char);padding:3px 8px;border-radius:3px}
.co-f{margin-top:auto;padding-top:10px;border-top:2px dashed var(--line)}
.co-f b{display:block;font-family:var(--hf);font-weight:400;font-size:1.2rem}
.co-f span{font-size:.84rem;color:var(--muted)}
@media (max-width:1100px){.courses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.courses{grid-template-columns:minmax(0,1fr)}}
.wiz{max-width:920px}
.wbar{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;counter-reset:w}
.wbar li{counter-increment:w;padding:10px;border:3px solid #C9CFC4;border-radius:4px;font-weight:700;font-size:.88rem;color:var(--mutedd)}
.wbar li::before{content:counter(w);font-family:var(--hf);margin-right:8px}
.wbar li.on{border-color:var(--char);color:var(--char);background:var(--lime)}
.wbar li.done{border-color:var(--char);color:var(--char)}
@media (max-width:620px){.wbar li{font-size:0;text-align:center}.wbar li::before{font-size:1rem;margin:0}}
#train-form fieldset[data-ts]{border:3px solid var(--char);border-radius:4px;padding:clamp(16px,3vw,30px);background:#fff;box-shadow:8px 8px 0 var(--lime)}
.wiz-h{font-family:var(--hf);font-size:1.25rem;margin-bottom:16px;padding:0;float:left;width:100%}
.wiz-h+*{clear:both}
.opts{display:grid;gap:8px}
.opt span{display:block;padding:12px 14px;border:3px solid #C9CFC4;border-radius:4px;cursor:pointer}
.opt span b{display:block;font-family:var(--hf);font-weight:400}
.opt span small{color:var(--mutedd)}
.opt input:checked+span{border-color:var(--char);background:#F1FBD2}
.wn{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:20px}
.light .btn-line{color:var(--char)}
.light .btn-line:hover{box-shadow:4px 4px 0 var(--char)}
.werr{color:#B42318;font-weight:700;margin:12px 0 0}
.tcal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.tcal-h h3{margin:0}
.tgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.t-dow{text-align:center;font-weight:700;font-size:.74rem;text-transform:uppercase;color:var(--mutedd)}
.td{min-height:54px;border:2px solid #D3D8CF;border-radius:4px;background:#F7F8F4;color:#9AA19A;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.95rem}
.td.blank{border:0;background:none}
.td.run{background:#fff;border-color:var(--char);color:var(--char);cursor:pointer}
.td.run small{font-size:.68rem;font-weight:700;background:var(--lime);padding:0 5px;border-radius:2px}
.td.full{border-color:#D3D8CF;color:#9AA19A;text-decoration:line-through}
.td[aria-pressed=true]{background:var(--char);color:var(--lime)}
.td[aria-pressed=true] small{color:var(--char)}
.seg{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.seg legend{font-weight:700;margin-bottom:8px;width:100%}
.seg label{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 14px;border:2px solid #B9C0B5;border-radius:4px;cursor:pointer;font-weight:600}
.seg label:has(input:checked){border-color:var(--char);background:#F1FBD2}
.seg input{accent-color:var(--olive)}
#f-tpeople,.mcalc input[type=range]{width:100%;accent-color:var(--olive);min-height:44px;border:0;padding:0;background:none}
.tprice{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-top:18px;padding:14px;border:3px solid var(--char);border-radius:4px;background:var(--lime)}
.tprice b{font-family:var(--hf);font-weight:400;font-size:1.8rem}
.tprice small{width:100%;font-weight:600}
.tsum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:14px;border:2px dashed var(--char);border-radius:4px;margin-bottom:16px}
.tsum div span{display:block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--mutedd)}
@media (max-width:560px){.tsum{grid-template-columns:minmax(0,1fr)}}
.day-tl{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:10px}
.day-tl::before{content:"";position:absolute;left:44px;top:10px;bottom:10px;width:4px;background:repeating-linear-gradient(180deg,var(--lime) 0 12px,transparent 12px 20px)}
.day-tl li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;align-items:start;position:relative}
.day-tl b{font-family:var(--hf);font-weight:400;background:var(--lime);color:var(--char);text-align:center;padding:8px 0;border-radius:4px;position:relative;z-index:1}
.day-tl h3{margin:4px 0 4px}
.day-tl p{margin:0;color:var(--muted)}
.dates{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:8px}
.dates li{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border:2px solid var(--line);border-radius:4px;font-weight:700}
.dates li span{color:var(--lime)}

/* services */
.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sv{border:3px solid var(--line);border-radius:4px;padding:24px;background:var(--char2);position:relative;scroll-margin-top:120px}
.sv-n{position:absolute;right:18px;top:12px;font-family:var(--hf);font-size:2.6rem;color:transparent;-webkit-text-stroke:2px var(--line)}
.sv p{color:#C7CCC3}
@media (max-width:760px){.svc{grid-template-columns:minmax(0,1fr)}}
.mcalc{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px;align-items:start}
.mrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-bottom:12px}
.mcalc .tog{border-color:#B9C0B5}
.mout{border:3px solid var(--char);border-radius:4px;padding:22px;background:var(--char);color:var(--chalk);box-shadow:8px 8px 0 var(--lime);position:sticky;top:110px}
.mout .kicker{color:var(--lime)}
.mprice b{display:block;font-family:var(--hf);font-weight:400;font-size:clamp(2rem,4vw,2.8rem);color:var(--lime)}
.mprice small{color:var(--muted)}
.mout dl{margin:12px 0 16px}
.mout dl div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:2px dashed var(--line)}
.mout dd{margin:0;font-weight:700}
@media (max-width:860px){.mcalc{grid-template-columns:minmax(0,1fr)}.mrow{grid-template-columns:minmax(0,1fr)}.mout{position:static}}
.sectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sct{margin:0;border:3px solid var(--line);border-radius:4px;overflow:hidden;background:var(--char)}
.sct .ph{border-radius:0}
.sct figcaption{padding:14px;color:#C7CCC3;font-size:.92rem}
.sct b{display:block;font-family:var(--hf);font-weight:400;color:var(--chalk);margin-bottom:4px}
@media (max-width:860px){.sectors{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* coverage map */
.cov{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:20px;align-items:start}
.cov-v{border:3px solid var(--line);border-radius:4px;overflow:hidden}
.kmap{width:100%;height:auto;display:block}
.zone{cursor:pointer;outline:none}
.zone polygon{stroke:var(--char);stroke-width:4;transition:filter .2s}
.zone text{font-family:var(--hf);font-size:14px;fill:var(--char);pointer-events:none}
.z0 polygon{fill:#C6F432}.z1 polygon{fill:#A3CC2A}.z2 polygon{fill:#7FA021}.z3 polygon{fill:#D7B16A}.z4 polygon{fill:#FF7A45}
.z2 text{fill:var(--char)}
.zone:hover polygon,.zone:focus polygon,.zone.sel polygon{stroke:#fff;stroke-width:6;filter:brightness(1.12)}
.pulse{animation:pls 2.2s infinite;transform-origin:center;transform-box:fill-box}
@keyframes pls{from{transform:scale(.5);opacity:1}to{transform:scale(1.6);opacity:0}}
.cov-p{border:3px solid var(--lime);border-radius:4px;padding:20px;background:var(--char2);min-height:200px}
.cov-p h3{font-size:1.4rem}
.cov-p .cp-fee{font-family:var(--hf);font-size:2rem;color:var(--lime);display:block;margin:6px 0}
.cov-sel{grid-column:2}
.cov-k{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-weight:700;font-size:.9rem}
.cov-k i{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;border:2px solid var(--char)}
.cov-k .z0{background:#C6F432}.cov-k .z1{background:#A3CC2A}.cov-k .z2{background:#7FA021}.cov-k .z3{background:#D7B16A}.cov-k .z4{background:#FF7A45}
@media (max-width:860px){.cov{grid-template-columns:minmax(0,1fr)}.cov-sel{grid-column:auto}.zone text{font-size:20px}}

/* gallery, news, projects, team */
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gal-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gal-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gal-i{display:block;padding:0;border:3px solid var(--line);border-radius:4px;background:none;overflow:hidden;cursor:zoom-in;transition:border-color .2s,transform .2s}
.gal-i:hover{border-color:var(--lime);transform:rotate(-1deg)}
.gal-i .ph{border-radius:0}
.light .gal-i{border-color:var(--char)}
@media (max-width:860px){.gal,.gal-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lb{background:rgba(10,11,12,.95);display:grid;place-items:center;padding:60px 16px 20px}
.lb-in{width:min(1100px,100%);display:grid;gap:12px;color:var(--chalk)}
.lb-x{justify-self:end}
.lb-fig{margin:0;border:4px solid var(--chalk);border-radius:4px;overflow:hidden;background:var(--char2)}
.lb-fig img{width:100%;max-height:70vh;object-fit:contain;aspect-ratio:4/3}
.lb-fig figcaption{padding:10px 14px}
.lb-nav{display:flex;justify-content:space-between;align-items:center}
.projs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.proj{border:3px solid var(--char);border-radius:4px;padding:22px;background:#fff;box-shadow:6px 6px 0 var(--lime)}
.pj-k{display:inline-block;font-family:var(--hf);font-size:.74rem;background:var(--char);color:var(--lime);padding:4px 8px;border-radius:3px;margin-bottom:10px}
.proj p{color:var(--mutedd)}
.pj-s{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.pj-s li{border-top:3px solid var(--char);padding-top:6px;font-size:.84rem;color:var(--mutedd)}
.pj-s b{display:block;font-family:var(--hf);font-weight:400;font-size:1.2rem;color:var(--char)}
@media (max-width:860px){.projs{grid-template-columns:minmax(0,1fr)}}
.jgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jcard{display:block;border:3px solid var(--line);border-radius:4px;overflow:hidden;color:var(--chalk);text-decoration:none;background:var(--char2);transition:transform .2s,border-color .2s}
.jcard:hover{transform:translate(-3px,-3px);border-color:var(--lime)}
.jcard .ph{border-radius:0}
.jc-b{padding:20px}
.j-k{display:block;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--lime);margin-bottom:8px}
.light .j-k{color:var(--olive)}
.jcard p{color:#C7CCC3}
.arrow{font-family:var(--hf);font-size:.85rem;color:var(--lime)}
.shortn{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.shortn li{border-top:6px solid var(--char);padding-top:12px}
.shortn p{color:var(--mutedd);margin:0}
@media (max-width:760px){.jgrid,.shortn{grid-template-columns:minmax(0,1fr)}}
.art-h{padding:130px 0 40px;background:var(--char2)}
.art-h h1{max-width:18ch}
.art-pic{margin-top:-10px}
.art-pic .ph{border:4px solid var(--chalk);border-radius:4px}
.art-body{max-width:68ch;margin:0 auto;font-size:1.12rem}
.art-body h2{margin-top:1.3em;font-size:1.6rem}
.art-next a{color:inherit;text-decoration:none}
.art-next h2:hover{color:var(--lime)}
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tm{margin:0;border:3px solid var(--line);border-radius:4px;overflow:hidden;background:var(--char)}
.tm .ph{border-radius:0}
.tm figcaption{padding:10px 12px;color:var(--muted);font-size:.9rem}
.tm b{display:block;font-family:var(--hf);font-weight:400;color:var(--chalk);font-size:.95rem}
.cmap svg{width:100%;height:auto;border:3px solid var(--line);border-radius:4px}
.hours{list-style:none;padding:0;margin:18px 0 0}
.hours li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:2px dashed var(--line)}

/* footer */
.ftr{background:var(--char);border-top:3px solid var(--line);padding-bottom:110px}
.ftr-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:44px;padding-bottom:34px;border-bottom:3px solid var(--line)}
.ftr-big{font-family:var(--hf);font-size:clamp(2rem,6vw,4.4rem);line-height:1;margin:0;color:var(--lime)}
.ftr-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px;padding-top:40px}
.logo-f{margin-bottom:14px}
.ftr-h{font-family:var(--hf);font-size:.9rem;color:var(--lime)}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr ul a{display:inline-block;padding:6px 0;color:var(--chalk);text-decoration:none}
.ftr ul a:hover{color:var(--lime)}
.ftr a:not(.btn){color:var(--chalk)}
.ftr-base{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:34px;padding-top:18px;border-top:3px solid var(--line);font-size:.86rem;color:var(--muted)}
@media (max-width:860px){.ftr-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ftr-in{grid-template-columns:minmax(0,1fr)}}
.wa{position:fixed;right:18px;bottom:20px;z-index:40;display:flex;align-items:center;gap:8px;min-height:52px;padding:0 16px 0 12px;border:3px solid var(--char);border-radius:4px;background:#1F7A4D;color:#fff;text-decoration:none;font-family:var(--hf);font-size:.85rem;box-shadow:4px 4px 0 var(--lime)}
.wa svg{width:24px;height:24px}
@media (max-width:640px){.wa{width:54px;padding:0;justify-content:center}.wa span{display:none}}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;background:var(--lime);color:var(--char);border:3px solid var(--char);font-weight:700;padding:12px 18px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .25s;max-width:calc(100% - 100px);text-align:center;box-shadow:4px 4px 0 var(--char)}
.toast.on{opacity:1}
@media (prefers-reduced-motion:reduce){.scan,.blink,.flick,.shake,.puff,.wave,.mq-in,.pulse{animation:none}}
