@font-face{font-family:'Michroma';font-style:normal;font-weight:400;font-display:swap;src:url(michroma-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Michroma';font-style:normal;font-weight:400;font-display:swap;src:url(michroma-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  color-scheme:dark;
  --black:#000000;
  --bg:#1A1D20;
  --bg2:#25292D;
  --line:#3A3E43;
  --lime:#A6FF00;
  --text:#FFFFFF;
  --text2:#C9C9CA;
  --gray:#AEAEAF;
  --display:Michroma,"Bank Gothic",Eurostile,"Arial Black",sans-serif;
  --body:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --gut:clamp(16px,6vw,96px);
  --cut:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--bg);color:var(--text);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--lime);text-decoration:none}
a:hover{color:var(--text)}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
h1,h2,h3{text-wrap:balance}
p{margin:0}
.d{font-family:var(--display);text-transform:uppercase;font-weight:400;letter-spacing:.02em}
.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--gut)}
.band{padding-block:clamp(44px,5.5vw,76px)}
.alt{background:var(--bg2)}
.eb{font-family:var(--display);font-size:12px;letter-spacing:.24em;color:var(--lime);text-transform:uppercase;display:flex;align-items:center;gap:14px;margin:0}
.eb::before{content:"";width:36px;height:2px;background:var(--lime);flex:none}
.h2{margin:0;font-size:clamp(22px,2.6vw,30px);line-height:1.3}
.lead{font-size:clamp(16px,1.4vw,18px);line-height:1.7;color:var(--text2);max-width:62ch}
.stack{display:flex;flex-direction:column;gap:18px}
.head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 48px;margin-bottom:32px}
.cut{clip-path:var(--cut)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 28px;background:var(--lime);color:#000;font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;border:0;cursor:pointer;clip-path:var(--cut);text-align:center}
.btn:hover{background:var(--text);color:#000}
.btn2{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 26px;background:transparent;color:var(--text);font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);cursor:pointer}
.btn2:hover{border-color:var(--lime);color:var(--lime)}
.lnk{font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.lnk svg{transition:transform .2s}
.lnk:hover svg{transform:translateX(4px)}
.ph{position:relative;overflow:hidden;background:var(--bg2)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.06) brightness(.9)}
.badge{position:absolute;z-index:1;top:20px;left:20px;background:var(--lime);color:#000;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:8px 12px}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--black);border-bottom:1px solid #1f2225}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:88px;padding-inline:clamp(16px,4vw,64px)}
.logo img{height:64px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:36px}
.nav a{font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text);padding-block:8px;border-bottom:2px solid transparent}
.nav a:hover{color:var(--lime)}
.nav a[aria-current="page"]{color:var(--lime);border-bottom-color:var(--lime)}
.head-right{display:flex;align-items:center;gap:24px}
.lang{font-family:var(--display);font-size:11px;letter-spacing:.12em;color:var(--gray);display:flex;gap:6px;align-items:center}
.lang b{color:var(--text);font-weight:400}
.phone{display:flex;align-items:center;gap:8px;color:var(--text);font-size:15px;user-select:all}
.head-cta{min-height:48px;padding:0 22px;font-size:11px}
.menu-btn{display:none;width:48px;height:48px;background:none;border:1px solid var(--line);color:var(--text);cursor:pointer;align-items:center;justify-content:center}
.mobile-menu{display:none}
@media (max-width:1100px){
  .nav,.head-right .phone,.head-right .lang{display:none}
}
@media (max-width:760px){
  .head-right .head-cta{display:none}
  .menu-btn{display:inline-flex}
  .site-head .wrap{height:72px}
  .logo img{height:52px}
  .mobile-menu:not([hidden]){display:flex;flex-direction:column;gap:4px;padding:8px 16px 24px;background:var(--black);border-top:1px solid #1f2225}
  .mobile-menu a{font-family:var(--display);font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--text);padding:14px 0;border-bottom:1px solid #1f2225}
  .mobile-menu a[aria-current="page"]{color:var(--lime)}
  .mobile-menu .btn{margin-top:16px}
}
@media (min-width:761px) and (max-width:1100px){.menu-btn{display:inline-flex}.mobile-menu:not([hidden]){display:flex;flex-direction:column;padding:8px var(--gut) 24px;background:var(--black)}.mobile-menu a{font-family:var(--display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--text);padding:14px 0;border-bottom:1px solid #1f2225}.mobile-menu a[aria-current="page"]{color:var(--lime)}.mobile-menu .btn{display:none}}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--bg);min-height:min(540px,calc(100vh - 220px));display:flex;align-items:center}
.hero-img{position:absolute;top:0;right:0;bottom:0;width:62%}
.hero-mask{position:absolute;inset:0;background:var(--bg);clip-path:polygon(0 0,57% 0,44% 100%,0 100%)}
.hero-slash{position:absolute;inset:0;background:var(--lime);clip-path:polygon(57% 0,58.5% 0,45.5% 100%,44% 100%)}
.hero-copy{position:relative;display:flex;flex-direction:column;gap:22px;max-width:520px;padding-block:56px}
.hero h1{margin:0;display:flex;flex-direction:column;gap:22px;font-weight:400}
.hero .big{font-size:clamp(32px,3.6vw,44px);line-height:1.1}
.hero .area{font-size:14px;color:var(--gray)}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}
@media (max-width:1160px){
  .hero{display:block;min-height:0}
  .hero-img{position:relative;width:100%;height:clamp(200px,48vw,340px)}
  .hero-mask,.hero-slash{display:none}
  .hero-copy{max-width:none;padding-block:32px 44px}
  .hero-img::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--lime)}
}

/* services grid */
.svc-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.card{display:flex;flex-direction:column;background:var(--bg);color:var(--text);clip-path:var(--cut)}
.card:hover{color:var(--text)}
.card:hover h3{color:var(--lime)}
.card .ph{height:170px}
.card.lg{grid-column:span 3}.card.lg .ph{height:210px}
.card.sm{grid-column:span 2}
.card-body{padding:18px 24px 22px;display:flex;flex-direction:column;gap:8px}
.card h3{margin:0;font-size:15px;letter-spacing:.04em;transition:color .2s}
.card p{font-size:15px;color:var(--gray)}
@media (max-width:960px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card.lg,.card.sm{grid-column:span 1}.card.lg .ph,.card .ph{height:180px}.card.sm:last-child{grid-column:span 2}}
@media (max-width:600px){.svc-grid{grid-template-columns:1fr}.card.sm:last-child{grid-column:auto}}

/* base */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,7vw,96px);align-items:center}
.split.r{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:900px){.split,.split.r{grid-template-columns:1fr}}
.fig{margin:0;background:var(--bg2);padding:clamp(16px,3vw,40px)}
.fig svg{display:block;width:100%;height:auto;max-height:440px}

/* process */
.steps{list-style:none;margin:8px 0 0;padding:0}
.steps li{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line);color:var(--text2)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps .n{font-family:var(--display);font-size:13px;color:var(--lime);padding-top:3px}
.steps strong{color:var(--text)}
.render{height:clamp(260px,32vw,420px)}

/* work */
.work{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(140px,15vw,210px);gap:16px}
.work .big{grid-column:span 2;grid-row:span 2;display:flex;align-items:center;justify-content:center}
.play{position:relative;z-index:1;width:88px;height:88px;border-radius:50%;border:2px solid var(--lime);background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;cursor:pointer}
.play:hover{background:rgba(0,0,0,.8)}
@media (max-width:700px){.work{grid-template-columns:repeat(2,minmax(0,1fr))}.work .big{grid-column:span 2;grid-row:span 1;height:220px}}

/* faq */
.faq-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(32px,7vw,96px)}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr}}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:17px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--display);font-size:13px;letter-spacing:.04em;text-transform:uppercase;line-height:1.55}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--lime);font-size:22px;flex:none}
.faq details[open] summary::after{content:"–"}
.faq p{padding-bottom:18px;color:var(--text2);max-width:68ch}

/* closing cta */
.cta{position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;top:0;bottom:0;right:clamp(40px,14vw,220px);width:22px;background:var(--lime);transform:skewX(-24deg);pointer-events:none}
.cta .stack{position:relative;z-index:1;max-width:760px}
.cta .h2{font-size:clamp(26px,3.2vw,38px)}
@media (max-width:700px){.cta::after{display:none}}
.cta-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 64px}

/* page headers */
.page-head{position:relative;overflow:hidden;background:var(--bg2);border-bottom:1px solid var(--line)}
.page-head::after{content:"";position:absolute;top:0;bottom:0;right:clamp(24px,12vw,200px);width:18px;background:var(--lime);transform:skewX(-24deg)}
.page-head .stack{position:relative;z-index:1;max-width:900px;padding-block:clamp(40px,5vw,64px) clamp(32px,4vw,52px)}
.page-head h1{margin:0;font-size:clamp(26px,3.2vw,38px);line-height:1.18}
@media (max-width:700px){.page-head::after{width:10px;right:16px}}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line);background:transparent;color:var(--text);font-family:var(--display);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.chip:hover{border-color:var(--lime);color:var(--lime)}
.chip[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:#000}

/* service rows */
.svc-rows{display:flex;flex-direction:column;gap:clamp(44px,5vw,64px)}
.svc-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center;scroll-margin-top:120px}
.svc-row:nth-child(even) .ph{order:2}
.svc-row .ph{height:clamp(220px,24vw,340px)}
.svc-row .num{font-family:var(--display);font-size:13px;color:var(--lime)}
.svc-row h2{margin:0;font-size:clamp(22px,2.4vw,28px)}
.bul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.bul li{display:flex;gap:14px;align-items:baseline}
.bul li::before{content:"";flex:none;width:10px;height:2px;background:var(--lime);transform:translateY(-4px)}
@media (max-width:860px){.svc-row{grid-template-columns:1fr}.svc-row:nth-child(even) .ph{order:0}}

/* projects */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.tile{height:300px;display:flex;flex-direction:column;justify-content:flex-end}
.tile .play{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px}
.tile-cap{position:relative;z-index:1;background:var(--bg);padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.tile-cap h2{margin:0;font-size:12px;letter-spacing:.06em;line-height:1.5}
.tile-cap span{font-size:14px;color:var(--gray)}
.tile-cap .tag{font-family:var(--display);font-size:10px;letter-spacing:.14em;color:var(--lime);text-transform:uppercase;flex:none}
@media (max-width:960px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tiles{grid-template-columns:1fr}.tile{height:320px}}
.ba{position:relative;height:clamp(260px,34vw,480px);overflow:hidden;--pos:50%;margin-top:28px;touch-action:pan-y}
.ba .ph{position:absolute;inset:0}
.ba .before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba .line{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:var(--lime);z-index:2}
.ba .handle{position:absolute;top:50%;left:var(--pos);width:52px;height:52px;margin:-26px 0 0 -26px;background:var(--lime);display:flex;align-items:center;justify-content:center;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));z-index:3;pointer-events:none}
.ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4}
.ba .badge.r{left:auto;right:20px}
.ba .badge.k{background:var(--bg);color:var(--text)}
.ba:focus-within .handle{outline:2px solid #fff;outline-offset:3px}

/* about */
.duo{position:relative;height:clamp(380px,38vw,500px);margin:0}
.duo .half{position:absolute;inset:0}
.duo .a{clip-path:polygon(0 0,58% 0,42% 100%,0 100%)}
.duo .b{clip-path:polygon(58% 0,100% 0,100% 100%,42% 100%)}
.duo .a img{width:62%;right:auto}
.duo .b img{width:64%;left:auto;right:0;object-position:30% 30%}
.duo .slash{position:absolute;inset:0;background:var(--lime);clip-path:polygon(57.2% 0,58.9% 0,42.9% 100%,41.2% 100%)}
.tag-name{position:absolute;z-index:2;background:var(--lime);color:#000;padding:14px 18px;display:flex;flex-direction:column;gap:2px}
.tag-name b{font-family:var(--display);font-weight:400;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.tag-name span{font-size:14px}
.tag-name.l{left:-16px;bottom:40px}.tag-name.r{right:-16px;top:40px}
@media (max-width:600px){.tag-name.l{left:8px}.tag-name.r{right:8px}}
.creds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.creds div{display:flex;flex-direction:column;gap:6px}
.creds .d{font-size:17px}
.creds span:last-child{font-size:15px;color:var(--gray)}
@media (max-width:800px){.creds{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* forms */
.form-card{background:var(--bg2);padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;gap:20px}
.lab{font-family:var(--display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gray)}
.field{display:flex;flex-direction:column;gap:7px}
.fld{min-height:48px;width:100%;padding:0 16px;background:var(--bg);color:var(--text);border:1px solid var(--line);font:inherit;font-size:16px;border-radius:0}
textarea.fld{min-height:84px;padding:14px 16px;resize:vertical}
.fld:focus{outline:2px solid var(--lime);outline-offset:-1px;border-color:var(--lime)}
.fld[aria-invalid="true"]{border-color:#ff8a65}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}
.opt{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 18px;border:1px solid var(--line);cursor:pointer}
.opt:hover{border-color:var(--gray)}
.opt input{accent-color:var(--lime);width:18px;height:18px;margin:0}
.tchip{min-height:48px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font:inherit;font-size:16px;text-align:left;background:var(--bg);color:var(--text);border:1px solid var(--line)}
.tchip svg{opacity:0}
.tchip[aria-pressed="true"]{background:var(--lime);color:#000;border-color:var(--lime)}
.tchip[aria-pressed="true"] svg{opacity:1}
.progress{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.progress li{display:flex;flex-direction:column;gap:10px;font-family:var(--display);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}
.progress li::before{content:"";height:4px;background:var(--line)}
.progress li.on::before{background:var(--lime)}
.progress li[aria-current="step"]{color:var(--text)}
fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;min-width:0}
legend{font-family:var(--display);font-size:14px;letter-spacing:.04em;text-transform:uppercase;padding:0;margin-bottom:14px}
.form-nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}
.err{color:#ff8a65;font-size:14px}
.note{font-size:13px;color:var(--gray)}
.book-band{padding-block:24px 56px}
.book-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:clamp(32px,6vw,80px);align-items:start}
@media (max-width:960px){.book-grid{grid-template-columns:1fr}}
.next{background:var(--bg2);padding:28px;display:flex;flex-direction:column;gap:18px}
.next ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.next li{display:grid;grid-template-columns:36px 1fr;gap:10px}
.next li span:first-child{font-family:var(--display);font-size:12px;color:var(--lime);padding-top:3px}
.next li small{display:block;font-size:15px;color:var(--gray)}
.done-mark{width:64px;height:64px;background:var(--lime);display:flex;align-items:center;justify-content:center}
.info{border-top:1px solid var(--line)}
.info>div{padding:20px 0;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line)}
.info .val{font-size:20px;user-select:all}
.towns{display:flex;flex-wrap:wrap;gap:8px}
.towns span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;background:var(--bg);border:1px solid var(--line);font-family:var(--display);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.promo{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;margin-top:22px;background:var(--lime);color:#000;clip-path:var(--cut)}
.promo:hover{color:#000;background:#fff}

/* footer */
.site-foot{background:var(--black);border-top:1px solid #1f2225;padding-top:52px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:48px}
.foot-grid nav,.foot-grid>div{display:flex;flex-direction:column;gap:12px;font-size:15px}
.foot-grid a{color:var(--text)}
.foot-grid a:hover{color:var(--lime)}
.foot-h{font-family:var(--display);font-size:11px;letter-spacing:.2em;color:var(--lime);text-transform:uppercase;margin-bottom:4px}
.foot-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-block:20px;margin-top:40px;border-top:1px solid #1f2225;font-size:13px;color:var(--gray)}
.foot-bar a{color:var(--gray)}
@media (max-width:900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}
.founders{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-self:center}
.founders figure{margin:0}
.founders img{display:block;width:100%;height:auto}
.materials{background:#141618;border-block:1px solid var(--line);padding-block:26px}
.mat-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px 56px}
.mat{display:flex;flex-direction:column;gap:4px}
.mat .d{font-size:17px;letter-spacing:.06em}
.mat span:last-child{color:var(--gray);font-size:14px}
.area-map{margin:0;background:#141618}
.area-map svg{display:block;width:100%;height:auto}

.article-faq{margin-top:4px}

.article{max-width:780px;display:flex;flex-direction:column;gap:18px}
.article h2{font-family:var(--display);text-transform:uppercase;font-weight:400;font-size:clamp(17px,1.8vw,21px);letter-spacing:.03em;line-height:1.35;margin:26px 0 0}
.article p{color:var(--text2);line-height:1.75}
.article .lead{color:var(--text)}
.article-fig{margin-block:8px}
.table-wrap{overflow-x:auto}
.article table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.article th,.article td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}
.article thead th{font-family:var(--display);font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.article tbody th{font-weight:600;color:var(--text);white-space:nowrap}
.article td{color:var(--text2)}
.layers{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:12px;color:var(--text2);line-height:1.7}
.layers strong{color:var(--text)}
.article .bul li{color:var(--text2)}
.cta-box{background:var(--bg2);padding:clamp(24px,3vw,36px);margin-top:28px;display:flex;flex-direction:column;gap:16px}
.cta-box h2{margin:0}

.site-head .wrap{justify-content:flex-start}
.site-head .nav{margin-left:clamp(24px,3.5vw,52px)}
.site-head .head-right{margin-left:auto}
.head-social{display:flex;align-items:center;gap:14px}
.head-social a{color:var(--text);display:flex;align-items:center;justify-content:center;width:36px;height:36px}
.head-social a:hover{color:var(--lime)}
.mob-social{display:flex;gap:24px;padding:14px 0;border-bottom:1px solid #1f2225}
.mob-social a{font-family:var(--display);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--text);padding:0!important;border:0!important}
@media (max-width:1100px){.head-social{display:none}}

[hidden]{display:none!important}
html,body{margin:0}
img{max-width:100%}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--lime);color:#000;padding:12px 16px}
.skip:focus{left:16px;top:16px}
.phone a,.info .val a{color:var(--text)}
.phone a:hover,.info .val a:hover{color:var(--lime)}
.foot-grid a[href^="tel"],.foot-grid a[href^="mailto"]{color:var(--text)}
.legal{max-width:760px}
.legal h2{font-family:var(--display);text-transform:uppercase;font-weight:400;font-size:16px;letter-spacing:.04em;margin:36px 0 12px}
.legal p,.legal li{color:var(--text2);line-height:1.75}
.legal ul{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.gallery-note{font-size:13px;color:var(--gray);margin-top:16px}
img{height:auto}
.founders-photo{margin:0}
.founders-photo img{display:block;width:100%;height:auto}
@media (max-width:700px){.page-head::after{display:none}}
.foot-grid a[href*="book"],.foot-grid a[href*="reserver"]{font-weight:700}
.lab{font-size:11px}
.progress li{font-size:11px}
@media (max-width:560px){
  .site-foot{padding-top:36px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .foot-grid>div{grid-column:1/-1}
  .foot-grid>div:first-child img{width:140px!important}
  .foot-grid nav{font-size:14px;gap:10px}
  .foot-towns{display:none}
  .foot-bar{margin-top:28px;font-size:12px}
}
@media (min-width:901px){.mat-row{flex-wrap:nowrap}.mat{min-width:0;flex:0 1 auto}}
.lang-sw{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;border:1px solid var(--line);color:var(--text);font-family:var(--display);font-size:11px;letter-spacing:.14em}
.lang-sw:hover{border-color:var(--lime);color:var(--lime)}
.phone,.phone a,.head-cta{white-space:nowrap}
@media (min-width:1101px) and (max-width:1380px){.head-social{display:none}.site-head .nav{margin-left:clamp(20px,2vw,32px)}.nav{gap:clamp(18px,2vw,28px)}.head-right{gap:16px}}
.lnk{min-height:44px}
.social a{display:inline-flex;align-items:center;min-height:44px}
.ba input{touch-action:pan-y}
@media (max-width:600px){
  .svc-grid,.guide-grid:not(.two){display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);scroll-padding-inline:var(--gut);scrollbar-width:none;overscroll-behavior-x:contain}
  .svc-grid::-webkit-scrollbar,.guide-grid::-webkit-scrollbar{display:none}
  .svc-grid>.card,.guide-grid:not(.two)>.card{flex:0 0 84%;scroll-snap-align:start}
  .swipe-hint{display:block}
}
@media (max-width:370px){.m-bar{grid-template-columns:48px minmax(0,1fr)}.m-bar .call{font-size:0;gap:0;padding:0}}
.swipe-hint{display:none;font-size:13px;color:var(--gray);margin-top:12px}
.guide-grid.two .card .ph{height:auto;aspect-ratio:2.2/1}
.article-hero{margin:0 0 6px}
.article-hero img{display:block;width:100%;height:auto}
.uploads{display:flex;flex-wrap:wrap;gap:10px}
.up{position:relative;width:104px;height:104px;border:1px dashed var(--line);background:var(--bg) center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;cursor:pointer;color:var(--gray);font-family:var(--display);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.up:hover{border-color:var(--lime);color:var(--lime)}
.up:focus-within{outline:2px solid var(--lime);outline-offset:2px}
.up input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.up.has{border-style:solid;border-color:var(--lime)}
.up.has span{display:none}
.ba-fig{margin:0;display:flex;flex-direction:column;gap:12px}
.ba-fig .ba{margin-top:0}
.ba-fig .ba .before img{filter:none}
.page-head.compact .stack{padding-block:clamp(24px,2.6vw,34px) clamp(20px,2.2vw,28px);gap:12px;max-width:1120px}
.page-head.compact .lead{max-width:none}
.contact-band{padding-top:clamp(24px,2.6vw,36px)}

/* guides */
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.guide-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.guide-grid .card-body{flex:1}
.guide-grid .meta{font-family:var(--display);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime)}
.guide-grid .card h2,.guide-grid .card h3{margin:0;font-size:15px;letter-spacing:.04em;line-height:1.5;transition:color .2s;font-weight:400}
.guide-grid .card:hover h2{color:var(--lime)}
.guide-grid .card .go{margin-top:auto;padding-top:6px;color:var(--text)}
@media (max-width:900px){.guide-grid,.guide-grid.two{grid-template-columns:1fr}}
.eb a{color:inherit}

/* mobile call / book bar */
.m-bar{display:none}
@media (max-width:760px){
  .m-bar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--black);border-top:1px solid #1f2225;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
  .m-bar a{min-height:48px;padding:0 10px;font-size:10.5px;letter-spacing:.05em;white-space:nowrap}
  .m-bar .call{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);color:var(--text);font-family:var(--display);letter-spacing:.14em;text-transform:uppercase}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  body:has(main #book-form){padding-bottom:0}
  body:has(main #book-form) .m-bar{display:none}
}

/* type system: Michroma (Bank Gothic stand-in) for headings only, Helvetica/Arial for everything else */
:root{--text2:#D2D3D4}
.eb,.btn,.btn2,.lnk,.badge,.nav a,.lang,.mobile-menu a,.chip,.tchip,.tile-cap .tag,.lab,.progress li,.towns span,.foot-h,.article thead th,.mob-social a,.lang-sw,.up,.guide-grid .meta,.m-bar .call,.faq summary{font-family:var(--body)}
.btn,.btn2{font-size:13px;font-weight:700;letter-spacing:.1em}
.head-cta{font-size:12.5px}
.nav a,.mobile-menu a{font-size:13px;font-weight:700;letter-spacing:.12em}
.eb{font-size:13px;font-weight:700;letter-spacing:.2em}
.lnk{font-size:12.5px;font-weight:700;letter-spacing:.12em}
.chip,.lang-sw,.mob-social a,.badge{font-size:12px;font-weight:700;letter-spacing:.12em}
.lab,.progress li,.foot-h,.article thead th{font-size:11.5px;font-weight:700;letter-spacing:.14em}
.guide-grid .meta,.tile-cap .tag,.towns span,.up{font-size:11.5px;font-weight:700;letter-spacing:.12em}
.hero .eb{letter-spacing:.13em;gap:12px}
@media (min-width:1161px){.hero .area{max-width:410px}.hero-copy{max-width:560px}.hero .row{gap:20px 28px}.hero .btn{padding:0 22px}.hero-img{width:59%}.hero-mask{clip-path:polygon(0 0,60% 0,47% 100%,0 100%)}.hero-slash{clip-path:polygon(60% 0,61.5% 0,48.5% 100%,47% 100%)}}
@media (min-width:1161px) and (max-width:1300px){.hero .lead{max-width:460px}.hero .row{gap:20px 20px}.hero .btn{padding:0 18px}}
.faq summary{font-size:17px;font-weight:600;text-transform:none;letter-spacing:0;line-height:1.45}
@media (max-width:760px){.m-bar a{font-size:12.5px;font-weight:700;letter-spacing:.06em}}
/* one text colour per paragraph; grey only for small supporting text */
.lead,.card p,.faq p,.steps li,.steps strong,.creds span:last-child,.hero .area,.hero .area span,.article p,.article td,.layers,.layers strong,.bul li,.legal p,.legal li,.mat span:last-child{color:var(--text2)!important}
.steps strong,.layers strong{font-weight:700}

/* reviews */
.rv-sample{background:var(--lime);color:#000;font-weight:700;text-align:center;padding:10px 16px;font-size:14px}
.rv-sum{display:flex;align-items:center;gap:18px;margin-top:6px}
.rv-avg{font-size:clamp(44px,5vw,64px);line-height:1;color:var(--text)}
.rv-sum-t{display:flex;flex-direction:column;gap:6px;color:var(--gray);font-size:14px}
.stars{display:inline-flex;gap:3px}
.rv-grid{columns:3 300px;column-gap:18px}
.rv{break-inside:avoid;margin:0 0 18px;background:var(--bg);padding:24px 24px 22px;display:flex;flex-direction:column;gap:14px}
.band:not(.alt) .rv{background:var(--bg2)}
.rv blockquote{margin:0}
.rv blockquote p{color:var(--text2);font-size:16px;line-height:1.65}
.rv figcaption{display:flex;flex-direction:column;gap:2px;font-size:14px}
.rv figcaption strong{color:var(--text)}
.rv figcaption span{color:var(--gray)}
.rv .orig summary{cursor:pointer;color:var(--gray);font-size:13px}
.rv .orig p{color:var(--gray);font-size:14px;margin-top:6px}
.rv-home{columns:3 280px}
@media (max-width:600px){.rv-home{columns:1}.rv-home .rv:nth-child(n+3){display:none}}
