@font-face{font-family:"Michroma";src:url(assets/fonts/michroma.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(assets/fonts/chakra-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(assets/fonts/chakra-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(assets/fonts/plex-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url(assets/fonts/plex-500.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --paper:#ffffff;
  --paper-2:#efefef;
  --card:#f7f7f7;
  --ink:#0e0e0e;
  --grey:#6e6d69;
  --line:rgba(14,14,14,.16);
  --line-d:rgba(255,255,255,.16);
  --display:"Michroma",system-ui,sans-serif;
  --tech:"Chakra Petch","Arial Narrow",sans-serif;
  --body:"IBM Plex Sans",system-ui,sans-serif;
  --max:1320px;
  --gut:clamp(16px,3.5vw,48px);
  --cut:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{background:var(--paper);color:var(--ink);font:400 16.5px/1.65 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
svg{display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}

.tag{font:600 12px/1 var(--tech);letter-spacing:.18em;text-transform:uppercase;color:var(--grey)}
.tag b{color:var(--ink);font-weight:600}
.dark .tag,.hero-r .tag{color:#9a9994}
.dark .tag b{color:#fff}

.cut{clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.go{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:var(--paper);font:600 14px/1 var(--tech);letter-spacing:.14em;text-transform:uppercase;padding:20px 28px 19px;transition:background .2s,gap .2s;border:0;cursor:pointer}
.go:hover{background:#333;gap:20px}
.go svg{width:18px;height:18px}
.link{display:inline-flex;align-items:center;gap:10px;font:600 14px/1 var(--tech);letter-spacing:.14em;text-transform:uppercase;padding:6px 0;border-bottom:2px solid currentColor}
.link svg{width:16px;height:16px;transition:transform .2s}
.link:hover svg{transform:translateX(4px)}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:4px}

.bar{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:2px solid var(--ink)}
.bar .wrap{display:flex;align-items:stretch;height:64px;gap:24px;padding-right:0}
.logo{display:flex;align-items:center;width:clamp(160px,17vw,210px);color:var(--ink);flex:none}
.logo svg{width:100%;height:auto}
.menu{display:flex;align-items:center;gap:clamp(18px,2.6vw,38px);margin-left:auto;padding-right:clamp(16px,2vw,32px)}
.menu a{font:500 14px/1 var(--tech);letter-spacing:.08em;text-transform:uppercase;display:flex;gap:7px;align-items:baseline}
.menu a small{font-size:10px;color:var(--grey);letter-spacing:.1em}
.menu a:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.phone{display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;padding:0 clamp(18px,2.4vw,34px);font:600 15px/1 var(--tech);letter-spacing:.06em;white-space:nowrap}
.phone svg{width:18px;height:18px}
.phone:hover{background:#333}
.tgl{display:none;background:none;border:0;padding:0 18px;cursor:pointer;color:var(--ink);font:600 12px/1 var(--tech);letter-spacing:.16em;text-transform:uppercase}
.back{margin-left:auto;display:flex;align-items:center;padding:0 24px;font:600 13px/1 var(--tech);letter-spacing:.14em;text-transform:uppercase;border-left:2px solid var(--ink)}
.back:hover{background:var(--ink);color:#fff}

.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);border-bottom:2px solid var(--ink)}
.hero-l{padding:clamp(48px,7vw,104px) clamp(24px,4vw,64px) clamp(40px,5vw,72px) max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));display:flex;flex-direction:column;gap:28px;border-right:2px solid var(--ink)}
.hero h1{font:400 clamp(34px,4.8vw,72px)/1.06 var(--display);letter-spacing:-.01em;text-transform:uppercase}
.hero h1 span{display:block}
.hero h1 .o{color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.hero p{max-width:52ch;font-size:clamp(16px,1.3vw,18px);color:#3b3a37}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px;margin-top:6px}
.hero-r{background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:36px;padding:clamp(28px,3.4vw,52px)}
.hero-r .full{color:#fff;width:100%}
.hero-r .full svg{width:100%;height:auto}
.tele{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-d)}
.tele>div{padding:18px 0;border-bottom:1px solid var(--line-d)}
.tele>div:nth-child(2n){padding-left:20px;border-left:1px solid var(--line-d)}
.tele .tag{display:block;margin-bottom:8px}
.tele .v{font:400 clamp(17px,1.7vw,23px)/1.15 var(--display);text-transform:uppercase}
.tele .s{font:500 13px/1.4 var(--tech);color:#9a9994;letter-spacing:.04em;margin-top:6px}
.lamp{display:inline-block;width:10px;height:10px;margin-right:10px;vertical-align:2px;border:2px solid #fff}
.lamp.on{background:#fff;animation:blink 1.6s steps(2) infinite}
@keyframes blink{50%{background:transparent}}
.addr{font:500 14px/1.5 var(--tech);letter-spacing:.06em;text-transform:uppercase;color:#cfcfca}

.tick{background:var(--ink);color:#fff;overflow:hidden;padding:18px 0}
.tick-in{display:flex;width:max-content;animation:run 38s linear infinite}
.tick span{font:400 clamp(22px,2.6vw,34px)/1 var(--display);text-transform:uppercase;padding-right:.9em;white-space:nowrap;display:flex;align-items:center;gap:.9em}
.tick span i{font-style:normal;color:#77766f;font-size:.7em}
@keyframes run{to{transform:translateX(-50%)}}

.svc{padding:clamp(72px,9vw,130px) 0}
.svc .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,80px)}
.side{position:sticky;top:110px;align-self:start;display:grid;gap:22px}
h2{font:400 clamp(28px,3.4vw,48px)/1.08 var(--display);text-transform:uppercase;letter-spacing:-.005em}
.side p{color:#3b3a37;max-width:38ch}
.list{border-top:2px solid var(--ink)}
.item{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,1.2fr);gap:20px;align-items:baseline;padding:28px 16px 28px 0;border-bottom:1px solid var(--line);transition:background .2s,color .2s,padding .2s}
.item .c{font:600 12px/1 var(--tech);letter-spacing:.14em;color:var(--grey)}
.item h3{font:600 clamp(19px,1.7vw,24px)/1.2 var(--tech);text-transform:uppercase;letter-spacing:.02em}
.item p{color:#4a4945;font-size:15.5px}
.item:hover{background:var(--ink);color:#fff;padding-left:16px}
.item:hover .c,.item:hover p{color:#b5b4ae}

.cars{padding:0 0 clamp(72px,9vw,130px)}
.carbox{position:relative;overflow:hidden;background:var(--card);border:2px solid var(--ink);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:30px;padding:clamp(28px,4vw,56px)}
.carbox .ghost{position:absolute;right:-1%;top:50%;transform:translateY(-58%);font:400 clamp(110px,19vw,280px)/1 var(--display);color:transparent;-webkit-text-stroke:1.5px rgba(14,14,14,.12);pointer-events:none;white-space:nowrap}
.carbox>*{position:relative}
.carbox h2{margin:14px 0 12px}
.carbox p{color:#3b3a37;max-width:46ch}

.dark{background:var(--ink);color:#d9d8d3}
.about{padding:clamp(80px,10vw,150px) 0}
.about blockquote{font:400 clamp(28px,4.4vw,64px)/1.1 var(--display);color:#fff;text-transform:uppercase;letter-spacing:-.01em;max-width:18ch;margin:26px 0 clamp(40px,5vw,64px)}
.about blockquote em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px #fff}
.about-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,80px);border-top:1px solid var(--line-d);padding-top:36px}
.owner .tag{display:block;margin-bottom:10px}
.owner b{display:block;font:400 22px/1.2 var(--display);color:#fff;text-transform:uppercase}
.owner p{margin-top:16px;max-width:36ch}
.vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.vals div{display:grid;gap:10px;align-content:start}
.vals .n{font:400 54px/1 var(--display);color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.55)}
.vals h3{font:600 18px/1.25 var(--tech);color:#fff;text-transform:uppercase;letter-spacing:.06em}
.vals p{font-size:15px;color:#a9a8a2}

.kontakt{padding:clamp(72px,9vw,130px) 0}
.k-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.k-head h2{margin-top:14px}
.k-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,2.4vw,32px)}
.order{background:var(--card);border:2px solid var(--ink)}
.order-h{display:flex;justify-content:space-between;gap:12px;padding:16px 22px;background:var(--ink);color:#fff}
.order-h .tag{color:#bdbcb6}
.order-h .tag b{color:#fff}
.fields{display:grid;grid-template-columns:1fr 1fr}
.f{padding:18px 22px;border-bottom:1px solid var(--line)}
.f:nth-child(odd){border-right:1px solid var(--line)}
.f .tag{display:block;margin-bottom:8px;font-size:11px}
.f a,.f .v{font:500 17px/1.4 var(--body)}
.f a{border-bottom:1px solid var(--line)}
.f a:hover{border-color:var(--ink)}
.week{padding:22px 22px 26px}
.week-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px;gap:10px;flex-wrap:wrap}
.week-h b{font:600 13px/1 var(--tech);letter-spacing:.14em;text-transform:uppercase}
.chart{display:grid;grid-template-columns:44px 1fr 104px;row-gap:10px;column-gap:14px;align-items:center}
.chart .d{font:600 12px/1 var(--tech);letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.chart .t{font:500 13px/1 var(--tech);text-align:right;letter-spacing:.04em}
.chart .x{color:var(--grey)}
.chart .today{color:var(--ink)!important;font-weight:600}
.track{position:relative;height:14px;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/14));border-right:1px solid var(--line)}
.track i{position:absolute;top:0;bottom:0;background:var(--ink)}
.track.today{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink)}
.track b{position:absolute;top:-5px;bottom:-5px;width:2px;background:#e8462a00;border-left:2px dotted var(--ink)}
.axis{display:grid;grid-template-columns:44px 1fr 104px;column-gap:14px;margin-top:10px}
.axis div{display:flex;justify-content:space-between;font:500 11px/1 var(--tech);color:var(--grey)}
.mapbox{position:relative;min-height:440px;border:2px dashed var(--ink);background:var(--paper-2);overflow:hidden}
.mapbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05)}
.consent{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:26px}
.consent::before{content:"";position:absolute;inset:0;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/48px 48px;opacity:.7}
.consent>*{position:relative}
.cross{position:absolute!important;left:50%;top:40%;width:64px;height:64px;transform:translate(-50%,-50%)}
.consent h3{font:400 20px/1.2 var(--display);text-transform:uppercase}
.consent p{font-size:13.5px;color:#4a4945;max-width:42ch;margin:8px 0 18px}
.consent p a{text-decoration:underline}
.consent .acts{gap:14px 22px}
.consent .go{padding:16px 20px 15px;font-size:13px}

.foot{background:var(--ink);color:#bcbbb5;padding:clamp(48px,6vw,80px) 0 28px}
.foot .big{color:#fff;width:100%;display:block}
.foot .big svg{width:100%;height:auto}
.foot-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:clamp(36px,5vw,64px);padding-top:28px;border-top:1px solid var(--line-d);font-size:15px}
.foot-g .tag{display:block;margin-bottom:12px;color:#8a8984}
.foot-g a:hover{color:#fff}
.foot-g ul{list-style:none;display:grid;gap:6px}
.copy{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:40px;font:500 12px/1 var(--tech);letter-spacing:.12em;text-transform:uppercase;color:#7c7b75}
.copy nav{display:flex;gap:22px}
.copy a:hover{color:#fff}

.fab{display:none}

.legal-page{padding:clamp(56px,7vw,100px) 0 clamp(72px,9vw,120px)}
.legal-page h1{font:400 clamp(28px,4vw,52px)/1.08 var(--display);text-transform:uppercase;margin:18px 0 36px}
.prose{max-width:780px}
.prose h2{font:600 18px/1.3 var(--tech);letter-spacing:.12em;margin:38px 0 12px;text-transform:uppercase}
.prose p{margin-bottom:10px;color:#2f2e2b}
.prose a{border-bottom:1px solid var(--ink)}
.prose dl{display:grid;grid-template-columns:200px 1fr;border-top:2px solid var(--ink)}
.prose dt,.prose dd{padding:12px 0;border-bottom:1px solid var(--line)}
.prose dt{font:600 12px/1.9 var(--tech);letter-spacing:.14em;text-transform:uppercase;color:var(--grey)}

.up{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.up.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.up{opacity:1;transform:none;transition:none}.tick-in,.lamp.on{animation:none}html{scroll-behavior:auto}}

@media (max-width:1080px){
  .hero{grid-template-columns:1fr}
  .hero-l{border-right:0;border-bottom:2px solid var(--ink);padding-left:var(--gut);padding-right:var(--gut)}
  .svc .wrap,.about-g,.k-grid{grid-template-columns:1fr}
  .side{position:static}
  .foot-g{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .menu{position:fixed;top:66px;left:0;right:0;height:calc(100vh - 66px);background:var(--paper);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut);transform:translateX(100%);transition:transform .3s;visibility:hidden}
  .menu-open .menu{transform:none;visibility:visible}
  .menu a{font-size:24px;padding:22px 0;border-bottom:1px solid var(--line)}
  .menu a small{font-size:12px}
  .tgl{display:block;margin-left:auto;border-left:2px solid var(--ink)}
  .phone span{display:none}
  .phone{padding:0 22px}
}
@media (max-width:680px){
  body{font-size:16px}
  .bar .wrap{gap:0}
  .item{grid-template-columns:1fr;gap:6px;padding:24px 0}
  .item:hover{padding-left:12px}
  .carbox{grid-template-columns:1fr}
  .vals{grid-template-columns:1fr}
  .fields{grid-template-columns:1fr}
  .f:nth-child(odd){border-right:0}
  .chart,.axis{grid-template-columns:30px 1fr 90px;column-gap:10px}
  .mapbox{min-height:400px}
  .foot-g{grid-template-columns:1fr}
  .prose dl{grid-template-columns:1fr}
  .prose dt{border-bottom:0;padding-bottom:0}
  .fab{display:grid;place-items:center;position:fixed;right:16px;bottom:16px;z-index:60;width:60px;height:60px;background:var(--ink);color:#fff;box-shadow:0 0 0 2px var(--paper)}
  .fab svg{width:24px;height:24px}
}
.hero-r .addr{color:#cfcfca;max-width:none}
.tele .v{font-size:clamp(15px,1.4vw,20px);white-space:nowrap}
@media (max-width:480px){.tele{grid-template-columns:1fr}.tele>div:nth-child(2n){padding-left:0;border-left:0}}
@media (max-width:680px){.cross{top:34%}}
.bar .wrap{max-width:none;padding-left:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)))}
.hero-l{gap:32px;padding-top:clamp(64px,9vw,140px);padding-bottom:clamp(64px,9vw,140px);justify-content:center}
.hero-r{justify-content:center;align-items:center;padding:clamp(40px,5vw,80px)}
.hero-r .full{max-width:440px}
.track{background:var(--paper-2);border-right:0}
.vals div{border-top:2px solid rgba(255,255,255,.5);padding-top:18px}
.item{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
@media (max-width:1080px){.hero-r{padding:56px var(--gut)}}
@media (max-width:680px){.item{grid-template-columns:1fr}}
.exp{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-d);margin-bottom:clamp(40px,5vw,64px)}
.exp>div{padding:32px 0;display:grid;grid-template-columns:auto 1fr;column-gap:28px;align-items:center}
.exp>div+div{padding-left:clamp(24px,4vw,56px);border-left:1px solid var(--line-d)}
.exp .num{grid-row:span 2;font:400 clamp(48px,6vw,88px)/1 var(--display);color:transparent;-webkit-text-stroke:1.4px #fff}
.exp .lbl{font:600 18px/1.25 var(--tech);color:#fff;text-transform:uppercase;letter-spacing:.06em;align-self:end}
.exp p{font-size:15px;color:#a9a8a2;align-self:start}
@media (max-width:760px){.exp{grid-template-columns:1fr}.exp>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line-d)}}
@media (max-width:760px){.exp>div{grid-template-columns:1fr;row-gap:10px}.exp .num{grid-row:auto}.exp .lbl,.exp p{min-width:0}}

/* hero K1 */
.hero{display:block;grid-template-columns:none;border-bottom:2px solid var(--ink);padding:clamp(16px,2vw,28px) 0}
.hero h1{font:400 clamp(30px,3.6vw,54px)/1.08 var(--display);text-transform:uppercase;color:#fff}
.hero .tag{color:#d0cfca}
.go.light{background:#fff;color:var(--ink)}.go.light:hover{background:var(--paper-2)}.link.light{color:#fff}
.g{display:grid;gap:clamp(10px,1.2vw,16px);height:calc(100svh - 66px - 2*clamp(16px,2vw,28px));min-height:600px;grid-template-columns:2fr 1fr;grid-template-rows:3fr 2fr}
.g>*{position:relative;overflow:hidden;min-width:0}
.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
a.t:hover .ph{transform:scale(1.04)}
.big .ph{filter:brightness(.82)}
.shade::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.35) 50%,rgba(0,0,0,0) 80%);pointer-events:none}
.tl{position:absolute;left:clamp(14px,1.6vw,22px);right:clamp(14px,1.6vw,22px);bottom:clamp(14px,1.6vw,20px);z-index:1;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:10px}
.tl b{font:400 clamp(16px,1.5vw,22px)/1.1 var(--display);text-transform:uppercase}
.tl small{display:block;font:500 13px/1.3 var(--tech);letter-spacing:.06em;color:#d0cfca;margin-top:6px}
.tl svg{width:22px;height:22px;flex:none;transition:transform .2s}
a.t:hover .tl svg{transform:translateX(4px)}
.dark-t{background:var(--ink);color:#fff}
.logo-t{display:flex;align-items:center;justify-content:center;padding:clamp(20px,2.6vw,40px)}
.logo-t svg{width:100%;max-width:420px;height:auto}
.b1-top{grid-column:1;grid-row:1}
.b1-logo{grid-column:2;grid-row:1}
.b1-row{grid-column:1/3;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);gap:inherit;overflow:visible}
.b1-row>a{position:relative;overflow:hidden}
.b1-top .txt{position:absolute;left:clamp(20px,3vw,48px);bottom:clamp(20px,3vw,40px);right:20px;z-index:1;display:grid;gap:18px}
@media (max-width:900px){.g{display:flex;flex-direction:column;height:auto;min-height:0}.g>*{min-height:220px}.g .big{min-height:62vh}.g .logo-t{min-height:0}.b1-row{display:flex;flex-direction:column}.b1-row>a{min-height:200px}}

/* services dark cards */
.svc.dark .wrap{display:block}
.svc.dark{background:var(--ink);color:#d9d8d3}
.svc.dark h2{color:#fff}
.svc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.svc-head h2{margin-top:14px}
.svc-head p{color:#a9a8a2;max-width:48ch}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.card{background:#171717;border:1px solid #262626;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.card:hover{border-color:#5a5a5a;transform:translateY(-3px)}
.card .pic{position:relative;aspect-ratio:16/10;overflow:hidden}
.card .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.85);transition:transform .8s ease,filter .4s}
.card:hover .pic img{transform:scale(1.05);filter:brightness(1)}
.card .pic::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#fff;transform:scaleX(.18);transform-origin:left;transition:transform .4s}
.card:hover .pic::after{transform:scaleX(1)}
.card .body{padding:clamp(20px,2vw,28px);display:grid;gap:10px;align-content:start}
.card h3{font:600 clamp(19px,1.6vw,22px)/1.2 var(--tech);text-transform:uppercase;letter-spacing:.03em;color:#fff}
.card p{font-size:15.5px;color:#a9a8a2}
.svc-cta{margin-top:clamp(32px,4vw,56px);padding-top:28px;border-top:1px solid var(--line-d);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.svc-cta span{font:500 clamp(18px,1.6vw,22px)/1.3 var(--tech);color:#fff}
@media (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-head{grid-template-columns:1fr}}
@media (max-width:620px){.cards{grid-template-columns:1fr}}
.b1-top .tag{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.7)}.b1-top h1{text-shadow:0 2px 18px rgba(0,0,0,.35)}

/* gallery */
.gal{padding:clamp(72px,9vw,130px) 0 clamp(56px,7vw,100px)}
.gal-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.gal-head h2{margin-top:14px}
.gal-head p{color:#3b3a37;max-width:46ch}
.mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,15vw,230px);gap:clamp(10px,1.2vw,16px)}
.mosaic figure{position:relative;overflow:hidden;margin:0;background:var(--ink)}
.mosaic img,.mosaic video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.mosaic figure:hover img,.mosaic figure:hover video{transform:scale(1.04)}
.mosaic figcaption{position:absolute;left:12px;bottom:12px;font:600 12px/1 var(--tech);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--ink);padding:8px 10px}
.m-a{grid-column:1/3;grid-row:1/3}
.m-b{grid-column:3;grid-row:1/4}
.m-c{grid-column:4;grid-row:1/3}
.m-d{grid-column:1;grid-row:3}
.m-e{grid-column:2;grid-row:3}
.m-f{grid-column:4;grid-row:3}
.gal-foot{margin-top:28px;display:flex;justify-content:flex-end}
@media (max-width:900px){.gal-head{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:44vw}.m-a{grid-column:1/3;grid-row:auto}.m-b{grid-column:1;grid-row:span 2}.m-c{grid-column:2;grid-row:span 2}.m-d,.m-e,.m-f{grid-column:auto;grid-row:auto}.m-f{grid-column:1/3}}

/* about photo */
.house{position:relative;margin:0 0 clamp(40px,5vw,64px);aspect-ratio:21/9;overflow:hidden}
.house img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}
.house figcaption{position:absolute;left:16px;bottom:16px;font:600 13px/1 var(--tech);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:#fff;padding:9px 12px}
@media (max-width:700px){.house{aspect-ratio:4/3}}

/* map consent with photo */
.consent .cbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.consent::before{z-index:0;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.25) 60%,rgba(0,0,0,.1));opacity:1}
.consent .cross{display:none}
.consent h3{color:#fff}
.consent p{color:#d6d5d0}
.consent p a{color:#fff}
.consent .go{background:#fff;color:var(--ink)}
.consent .link{color:#fff}
.consent .tag{color:#fff}
.mapbox{border-style:solid}
.consent .cbg{z-index:0}
.consent::before{z-index:1}
.consent>*:not(.cbg){position:relative;z-index:2}
.b1-top::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,0) 65%);pointer-events:none}
.big .ph{filter:brightness(.95)}
.card .pic img{filter:none}
.card:hover .pic img{filter:brightness(1.12)}

/* services as text list */
.cards{gap:0;border-top:1px solid var(--line-d)}
.card{background:none;border:0;border-bottom:1px solid var(--line-d);transform:none!important;position:relative}
.card:nth-child(3n+2),.card:nth-child(3n+3){border-left:1px solid var(--line-d)}
.card .body{padding:clamp(28px,3vw,44px) clamp(20px,2.4vw,36px) clamp(32px,3.4vw,48px)}
.card .body::before{content:"";display:block;width:36px;height:4px;background:#fff;margin-bottom:22px;transition:width .35s}
.card:hover .body::before{width:72px}
.card h3{font-size:clamp(20px,1.7vw,24px)}
.card p{font-size:16px;line-height:1.6}
@media (max-width:1000px){.card:nth-child(3n+2),.card:nth-child(3n+3){border-left:0}.card:nth-child(2n){border-left:1px solid var(--line-d)}}
@media (max-width:620px){.card:nth-child(2n){border-left:0}.card .body{padding-left:0;padding-right:0}}

/* dealers */
.dealers{display:flex;gap:12px;flex-wrap:wrap}
.go.alt{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.go.alt:hover{background:var(--ink);color:#fff}
.go.alt{clip-path:none;background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.mapbox{border:2px solid var(--ink);background:var(--paper-2)}
.mapbox iframe{filter:grayscale(1) contrast(1.05)}
.maproute{position:absolute;left:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;font:600 13px/1 var(--tech);letter-spacing:.14em;text-transform:uppercase;padding:14px 16px}
.maproute svg{width:16px;height:16px}
.maproute:hover{background:#333}
.ghost-logo{font-size:0;line-height:0;right:-3%;width:min(78%,1100px);transform:translateY(-50%)}
.ghost-logo svg{width:100%;height:auto;fill:none;stroke:rgba(14,14,14,.16)}
.ghost-logo svg path{vector-effect:non-scaling-stroke;stroke-width:1.5px}
@media (max-width:680px){.ghost-logo{width:140%;right:-20%;top:38%}}
.ghost-logo{width:112%;right:-6%;top:54%}
.ghost-logo svg{stroke:rgba(14,14,14,.13)}
@media (max-width:680px){.ghost-logo{width:220%;right:-60%;top:30%}}
.ghost-logo{width:94%;right:3%;top:52%}
@media (max-width:680px){.ghost-logo{width:118%;right:-9%;top:56%}}
.ghost-logo{width:44%;right:3.5%;top:31%;transform:translateY(-50%)}
.ghost-logo svg{stroke:rgba(14,14,14,.22)}
@media (max-width:900px){.ghost-logo{width:60%;right:5%;top:12%}}
@media (max-width:680px){.ghost-logo{width:72%;right:5%;top:7%;transform:none}}
.carbox .ghost-logo{width:44%;right:3.5%;top:31%;transform:translateY(-50%)}
@media (max-width:900px){.carbox .ghost-logo{width:60%;right:5%;top:12%}}
@media (max-width:680px){.carbox .ghost-logo{width:72%;right:5%;top:7%;transform:none}}
@media (max-width:680px){.carbox .ghost-logo{display:none}}
.b1-row .tl b{line-height:1.2;max-width:15ch}
.b1-row .tl b{font:500 clamp(14px,1.1vw,16px)/1.3 var(--tech);letter-spacing:.06em;text-transform:none;color:#fff;max-width:none}
