
:root{--paper:#F3EFE7;--card:#FBF9F4;--bone:#E8E2D6;--bone-2:#E1DACB;--ink:#161614;--ink-2:#3B3934;--stone:#8C867B;--hair:#DDD7CB;--brass:#B08D57;
--f-d:'Cormorant Garamond',serif;--f-n:'Inter',system-ui,sans-serif;--f-m:'IBM Plex Mono',monospace;--ease:cubic-bezier(.2,.7,.1,1);--gut:clamp(16px,4vw,48px)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--f-n);font-size:15px;line-height:1.5;font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}img{display:block;max-width:100%}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--gut)}
.ul{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--hair);text-decoration-thickness:1px}
.ul:hover{text-decoration-color:currentColor}
/* header */
.hd{border-bottom:1px solid var(--hair);background:var(--paper);position:relative;z-index:10}
.hd-in{display:flex;align-items:center;gap:40px;height:72px}
.wm{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-d);font-size:24px;font-weight:500;white-space:nowrap;text-decoration:none;letter-spacing:-.005em}
.wm img{width:44px;height:44px;flex:0 0 auto}
.nv{display:flex;gap:32px;font-size:14px;margin-left:auto}
.nv a{text-decoration:none;color:var(--ink-2)}.nv a:hover{color:var(--ink)}
.hd-r{display:flex;align-items:center;gap:16px}
.hd-c .hd-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:76px}
.hd-c .wm{font-size:30px}.hd-c .wm img{width:52px;height:52px}
.hd-c .hd-r{justify-self:end}.hd-l{font-size:13.5px;color:var(--ink-2)}
.hd-c .hd-nav{display:flex;justify-content:center;padding-bottom:16px}
.hd-c .nv{margin:0}
.ubar{border-bottom:1px solid var(--hair);font-size:13px;color:var(--ink-2)}
.ubar .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;gap:16px}
.ubar .wrap>span{display:flex;gap:24px}
/* type */
.h1{font-family:var(--f-d);font-weight:500;font-size:clamp(36px,4.6vw,64px);line-height:1.05;letter-spacing:-.015em}
.h2{font-family:var(--f-d);font-weight:500;font-size:clamp(28px,2.8vw,38px);line-height:1.1;letter-spacing:-.01em}
.h3{font-family:var(--f-d);font-weight:500;font-size:26px;line-height:1.15}
.lab{font-size:13px;color:var(--stone)}
.p{font-size:16px;line-height:27px;color:var(--ink-2);max-width:60ch}
.sec{padding:80px 0}
.sec+.sec{border-top:1px solid var(--hair)}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}
.shead .lab{white-space:nowrap}
.link{display:inline-flex;gap:8px;align-items:center;font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.link i{font-style:normal;text-decoration:none;transition:transform .3s var(--ease)}.link:hover i{transform:translateX(3px)}
/* page buttons: always identical, ink outline, black on hover */
.pb{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border:1px solid var(--ink);border-radius:999px;font-size:14.5px;font-weight:500;text-decoration:none;color:var(--ink);background:transparent;white-space:nowrap;transition:background .25s,color .25s;cursor:pointer;font-family:inherit}
.pb:hover,.pb:focus-visible{background:var(--ink);color:var(--paper);outline:none}
.pbs{display:flex;gap:8px;flex-wrap:wrap}.pbs .pb{min-width:180px}
/* grids of cards */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid.g2{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.grid.g4.even{grid-template-columns:repeat(2,minmax(0,1fr))}
/* four across only where a card gets at least 318px, so no colour or name is ever cut short */
body.wide .wrap{max-width:1440px}
@media(min-width:1400px){body.wide{--gut:40px}.grid.g4,.grid.g4.even{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
/* photo slots: the card's placeholder (its first photo's colour), used wherever a photo will go */
.slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;text-align:center;
 background:repeating-linear-gradient(135deg,transparent 0 13px,rgba(140,134,123,.09) 13px 14px),var(--bone-2)}
.slot i{font-style:normal;font-family:var(--f-d);font-size:26px;line-height:1.2;color:var(--stone)}
.slot em{font-style:normal;font-family:var(--f-m);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
/* service tiles: the card's frame and lines */
.tile{display:flex;flex-direction:column;min-width:0;background:var(--card);border-radius:16px;padding:10px 10px 18px;text-decoration:none;color:var(--ink)}
.tm{aspect-ratio:4/3;border-radius:10px;overflow:hidden}
.tile .body{display:flex;flex-direction:column;flex:1}
.tile p{margin:2px 0 18px;font-size:14px;line-height:22px;color:var(--ink-2)}
.tile .btn{display:flex;margin-top:auto}
.tile:hover .l.name .fit{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--brass)}
.tile:hover .btn{background:var(--ink);border-color:var(--ink);color:var(--card)}
.fit1{display:inline-block;white-space:nowrap}
/* rows of cards (carousel) */
.rowwrap{position:relative}
.row{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.row::-webkit-scrollbar{display:none}
.row .card{flex:0 0 calc((100% - 48px)/3.25);scroll-snap-align:start}
.arrows{display:flex;gap:8px}
.arr{width:40px;height:40px;border-radius:50%;border:1px solid var(--hair);background:transparent;display:grid;place-items:center;cursor:pointer;transition:border-color .2s,opacity .2s}
.arr:hover{border-color:var(--ink)}.arr:disabled{opacity:.35;cursor:default;border-color:var(--hair)}
.arr svg{width:12px;height:12px;stroke:var(--ink);fill:none;stroke-width:1.6}
/* heroes built around a photo slot */
.fb{position:relative;overflow:hidden;background:var(--bone)}
.fb .cap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding-bottom:48px}
.ph{position:relative;overflow:hidden;border-radius:12px;background:var(--bone)}
/* company films */
.film{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:repeating-linear-gradient(135deg,transparent 0 13px,rgba(140,134,123,.09) 13px 14px),var(--bone-2)}
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-b{position:absolute;inset:0;width:100%;height:100%;display:block;padding:0;border:0;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.film-b .fp{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:var(--card);display:grid;place-items:center;transition:background .25s}
.film-b .fc{position:absolute;left:24px;right:24px;bottom:20px;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.film-b .fp svg{width:22px;height:22px;margin-left:3px;fill:var(--ink);transition:fill .25s}
.film-b:hover .fp,.film-b:focus-visible .fp{background:var(--ink)}.film-b:hover .fp svg,.film-b:focus-visible .fp svg{fill:var(--paper)}
.film-b:focus-visible{outline:none}
.film-b b{font-family:var(--f-d);font-weight:500;font-size:clamp(18px,1.9vw,26px);line-height:1.2;text-wrap:balance}
.film-b small{font-size:13px;color:var(--stone)}
.films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.films .p{margin-top:16px;font-size:15px;line-height:24px}
.films .film-b b{font-size:clamp(17px,1.6vw,22px)}
.mt{margin-top:48px}
/* about us */
.ab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.ab .h2{margin-top:8px}.ab .p+.p{margin-top:12px}
/* the workshop's services, from schatz-historic.de */
.svc{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin-top:24px}
.svc li{border-top:1px solid var(--hair);padding:12px 0;font-size:15px;line-height:22px}
/* showroom and workshop */
.pl2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pl2>div{border-top:1px solid var(--ink);padding-top:20px}.pl2 .h3{margin-top:6px}.pl2 p{margin-top:10px;font-size:15px;line-height:24px;color:var(--ink-2)}
.ask{display:flex;justify-content:space-between;align-items:center;gap:32px}.ask .p{margin-top:10px}
/* footer */
.ft{border-top:1px solid var(--hair);padding:40px 0 48px}
.ft-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;font-size:13px;color:var(--stone)}
.ft .wm{font-size:21px;color:var(--ink)}.ft .wm img{width:40px;height:40px}
.ft-c{color:var(--ink-2)}
.map{border-radius:12px;overflow:hidden;border:1px solid var(--hair);background:var(--bone);aspect-ratio:4/3}
.map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(.95)}
.ic{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
@media(max-width:1100px){.row .card{flex-basis:calc((100% - 24px)/2.2)}}
@media(max-width:900px){.ab,.films{grid-template-columns:minmax(0,1fr);gap:24px}.films{gap:40px}.ask{flex-direction:column;align-items:flex-start}}
@media(max-width:980px){.grid,.grid.g4,.grid.g4.even{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .nv{display:none}.hd-in{height:64px;justify-content:space-between}.ln-full{display:none}.ln-code{display:inline}
 .hd-c .hd-top{height:64px}.hd-c .wm{font-size:22px}.wm img,.hd-c .wm img{width:36px;height:36px}.wm{gap:10px;font-size:22px}.hd-c .hd-nav{display:none}.hd-l{display:none}.hd-c .hd-top{grid-template-columns:auto 1fr}.hd-c .hd-r{justify-self:end}
 .sec{padding:56px 0}
 .hide-m{display:none}
}
@media(max-width:640px){
 .grid,.grid.g2,.grid.g4,.grid.g4.even{grid-template-columns:minmax(0,1fr)}
 .row{margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 4px;scroll-padding:0 var(--gut)}
 .row .card{flex-basis:min(328px,calc(100vw - 32px))}
 .shead{flex-wrap:wrap}
 .pbs .pb{flex:1 1 0;min-width:0}
 .svc,.pl2{grid-template-columns:minmax(0,1fr)}.pl2{gap:32px}
 .film-b .fp{width:56px;height:56px}.film-b .fp svg{width:18px;height:18px}.film-b .fc{left:16px;right:16px;bottom:14px}.film-b b,.films .film-b b{font-size:16px}.film-b small{display:none}
}
.lng{position:relative}
.lng-b{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--hair);border-radius:999px;background:transparent;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.lng-b:hover,.lng-b[aria-expanded=true]{border-color:var(--ink)}
.flag{width:20px;height:14px;border-radius:2px;flex:0 0 auto;box-shadow:0 0 0 1px rgba(22,22,20,.12)}
.chev{width:12px;height:12px;fill:none;stroke:var(--ink);stroke-width:1.4;transition:transform .2s}
.lng-b[aria-expanded=true] .chev{transform:rotate(180deg)}
.ln-code{display:none}
.lng-m{list-style:none;position:absolute;right:0;top:calc(100% + 8px);min-width:180px;background:var(--card);border:1px solid var(--hair);border-radius:12px;padding:6px;box-shadow:0 12px 32px rgba(22,22,20,.08);z-index:30;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s,transform .2s,visibility .2s}
.lng.open .lng-m{opacity:1;visibility:visible;transform:none}
.lng-m a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-size:14px;text-decoration:none;color:var(--ink)}
.lng-m a:hover{background:var(--bone)}
.lng-m a[aria-current]::after{content:"";margin-left:auto;width:10px;height:6px;border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(-45deg) translateY(-2px)}/* ===== CARD ===== */
.card{cursor:pointer;min-width:0;background:var(--card);border-radius:16px;padding:10px 10px 18px;display:flex;flex-direction:column}
.media{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:10px;background:var(--bone)}
.track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;min-width:100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
 background:repeating-linear-gradient(135deg,transparent 0 13px,rgba(140,134,123,.09) 13px 14px),var(--bone)}
.slide:nth-child(even){background-color:var(--bone-2)}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide i{font-style:normal;font-family:var(--f-d);font-size:26px;color:var(--stone)}
.slide em{font-style:normal;font-family:var(--f-m);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.dots{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:5px}
.dots u{width:6px;height:6px;border-radius:3px;background:rgba(22,22,20,.18);transition:width .35s var(--ease),background .35s;cursor:pointer}
.dots u.on{width:18px;background:var(--ink)}
.nav{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:0;background:rgba(251,249,244,.92);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .3s}
.nav svg{width:11px;height:11px;stroke:var(--ink);fill:none;stroke-width:1.6}
.prev{left:10px}.next{right:10px}
.media:hover .nav{opacity:1}
@media(hover:none){.nav{display:none}}
.tag{position:absolute;left:10px;top:10px;border-radius:999px;padding:7px 12px;line-height:1;font-size:13px;font-weight:500;background:var(--card)}
.tag.sold{background:var(--ink);color:var(--card)}
/* heart */
.heart{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;background:none;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.heart svg{width:20px;height:20px;stroke:var(--ink);stroke-width:1.3;fill:transparent;transition:fill .25s ease;overflow:visible}
.heart.on svg{fill:var(--ink)}
.heart::after{content:"";position:absolute;inset:4px;border-radius:50%;border:1.5px solid var(--brass);opacity:0;transform:scale(.4)}
.heart.pop svg{animation:heartPop .55s cubic-bezier(.2,.9,.3,1.4)}
.heart.pop::after{animation:heartRing .55s ease-out}
.heart.unpop svg{animation:heartOut .3s ease}
@keyframes heartPop{0%{transform:scale(1)}25%{transform:scale(.75)}55%{transform:scale(1.3)}100%{transform:scale(1)}}
@keyframes heartRing{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(1.5)}}
@keyframes heartOut{0%{transform:scale(1)}50%{transform:scale(.82)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.heart.pop svg,.heart.pop::after,.heart.unpop svg{animation:none}}
/* text lines: every line has a fixed height and never wraps, so all cards are identical */
.body{padding:16px 6px 0}
.l{height:22px;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;color:var(--ink-2)}
.l.name{height:30px;line-height:30px;font-family:var(--f-d);font-weight:500;font-size:22px;letter-spacing:-.01em;color:var(--ink)}
.l.name .fit{display:inline-block}
.l.name a{color:inherit;text-decoration:none}
.card:hover .l.name a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--brass)}
.l.price{height:26px;line-height:26px;font-size:15px;font-weight:500;color:var(--ink);margin-top:2px}
.l.price span{font-weight:400;color:var(--stone)}
.l.muted{color:var(--stone)}
.chips{display:flex;gap:16px;height:22px;align-items:center;margin-top:12px;font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden}
.chips span{display:inline-flex;align-items:center;gap:7px;min-width:0;flex:0 1 auto}
.chips em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chips b{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(22,22,20,.14)}
.chips b.unk{background:transparent!important;box-shadow:inset 0 0 0 1px var(--stone);border:0;background-image:none}
.acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.btn{height:42px;font-family:var(--f-n);font-size:13.5px;font-weight:500;border-radius:999px;border:1px solid var(--hair);background:transparent;color:var(--ink);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .25s,border-color .25s,color .25s}
.btn small{font-weight:500;color:inherit;font-size:13.5px}
.btn:hover,.btn:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--card);outline:none}
.btn[disabled]{cursor:default;color:var(--stone)}
.btn[disabled]:hover{background:transparent;border-color:var(--hair);color:var(--stone)}
.acts.one{grid-template-columns:1fr}

.h01{height:clamp(420px,68vh,720px)}
.h01 .pbs{margin-top:28px}@media(min-width:641px){.h01 .pbs .pb{min-width:200px}}
.pl{text-align:center;max-width:860px;margin:0 auto}.pl q{display:block;font-family:var(--f-d);font-weight:500;font-size:clamp(28px,3.2vw,42px);line-height:1.2;quotes:"“" "”"}
.pl span{display:block;margin-top:24px;font-size:14px;color:var(--stone)}
.house{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px}.house>div{border-top:1px solid var(--ink);padding-top:20px}
.house p{margin-top:10px;font-size:15px;line-height:24px;color:var(--ink-2)}
.c01{text-align:center}.c01 .p{margin:16px auto 0}.c01 .ft-c{display:block;margin-top:24px;font-size:15px}
@media(max-width:900px){.house{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:48px}}

/* dot footers */
.ft2{border-top:1px solid var(--hair);padding:56px 0 40px;overflow:hidden}
.dz{position:relative;width:100%;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.dz canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.dz:has(.dz-h){margin-bottom:30px}
.dz-h{position:absolute;left:0;right:0;bottom:-26px;text-align:center;font-family:var(--f-m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);pointer-events:none;transition:opacity .6s}
.dz-h.off{opacity:0}.dz-h .h-t{display:none}
@media(hover:none){.dz-h .h-m{display:none}.dz-h .h-t{display:inline}}
.dz-wings,.dz-lights,.dz-drive{cursor:pointer}
.dz-ticker{margin-bottom:8px}
.ft2 .ft-in{margin-top:40px;border-top:1px solid var(--hair);padding-top:28px}
.ft2 .wm{font-size:21px;color:var(--ink)}.ft2 .wm img{width:40px;height:40px}
.sw-t em{max-width:56ch;overflow:hidden;text-overflow:ellipsis}
@media(max-width:640px){.ft2{padding-top:40px}.ft2 .ft-in{margin-top:28px}}

/* the footer: one landscape, with the details, the logo row and the legal line laid over it (from the script on;
   without it they simply stack) */
.ft-site{position:relative;border-top:1px solid var(--hair);overflow:hidden;font-variant-numeric:lining-nums}
.ft-site .dz,.ft-site .dz:has(.dz-h){margin:0}
.fp-wrap{padding-top:56px;padding-bottom:40px}
.fr-wrap{padding-bottom:32px}
.ft-site.on .fp-wrap{position:absolute;left:0;right:0;top:64px;padding-top:0;padding-bottom:0;z-index:1;pointer-events:none}
.ft-site.on .fr-wrap{position:absolute;left:0;right:0;bottom:0;z-index:1}
.ft-site.on .fpanel,.ft-site.on .fr-wrap .ft-in{pointer-events:auto}
.ft-site .ft-in{margin:0;border:0;padding:0}
.ft-site .wm{font-size:21px;color:var(--ink)}.ft-site .wm img{width:40px;height:40px}
.fpanel{color:var(--ink)}
.fp-h{font-family:var(--f-d);font-weight:500;font-size:clamp(28px,2.8vw,38px);line-height:1.1;letter-spacing:-.01em}
.fp-p{margin-top:12px;font-size:16px;line-height:26px;color:var(--ink-2)}
.fp-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr);gap:24px 32px;margin-top:32px;align-items:start}
.fp-d{display:contents}
.fp-l{font-family:var(--f-m);font-weight:400;font-size:10.5px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);margin-bottom:8px}
.fp-d p{font-size:15px;line-height:24px;color:var(--ink-2)}.fp-d p+p{margin-top:10px}
.fp-d a{color:var(--ink)}
.fp-map{border-radius:12px;overflow:hidden;border:1px solid var(--hair);background:var(--bone-2);aspect-ratio:4/3}
.fp-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(.95)}
.no-map .fp-g{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1000px){
 .fpanel{width:440px}.no-map{width:440px}
 .fp-g{grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:stretch}
 .fp-d{display:flex;flex-direction:column;gap:28px}
 .fp-map{aspect-ratio:auto;min-height:240px}
 .no-map .fp-g{grid-template-columns:repeat(2,minmax(0,1fr))}.no-map .fp-d{display:contents}
}
@media(min-width:1200px){.fpanel{width:540px}.fp-g{grid-template-columns:220px 280px;gap:40px}.no-map{width:500px}}
@media(max-width:640px){
 .ft-site.on .fp-wrap{top:48px}
 .fp-g,.no-map .fp-g{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:28px}
 .fp-map{aspect-ratio:16/10}
}

:root{--green:#0E3B2E}
.pb,.btn{border-color:var(--green);color:var(--green)}
.card .acts .btn{border-color:var(--hair)}
.btn small{color:inherit}
.pb:hover,.pb:focus-visible,.btn:hover,.btn:focus-visible,.tile:hover .btn{background:var(--green);border-color:var(--green);color:var(--card)}
.btn[disabled],.btn[disabled]:hover{background:transparent;border-color:var(--hair);color:var(--stone)}
.film-b .fp svg{fill:var(--green)}
.film-b:hover .fp,.film-b:focus-visible .fp{background:var(--green)}
@media(hover:hover){.expand:hover{background:var(--green)}}
a.btn{text-decoration:none}
/* the message tile's two buttons look and behave exactly like the card's */
.tmsg .acts{margin-top:auto}.tmsg .acts .btn{margin-top:0}
.tile.tmsg .acts .btn,.tile.tmsg:hover .acts .btn{background:transparent;border-color:var(--hair);color:var(--green)}
.tile.tmsg .acts .btn:hover,.tile.tmsg .acts .btn:focus-visible{background:var(--green);color:var(--card)}
.tmsg:hover .l.name .fit{text-decoration:none}

/* the card's message button and its small menu (WhatsApp or Telegram); it opens upwards over the card's own lines */
.ch{position:relative}
.ch-b{width:100%}
.ch-c{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}
.ch.open .ch-c{transform:rotate(180deg)}
.card .acts .ch.open .ch-b,.tile.tmsg .acts .ch.open .ch-b{background:var(--green);border-color:var(--green);color:var(--card)}
.ch-m{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:5;padding:6px;background:var(--card);border:1px solid var(--hair);border-radius:14px;
 box-shadow:0 12px 32px rgba(22,22,20,.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s var(--ease),visibility 0s .18s;cursor:default}
.ch.open .ch-m{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s var(--ease)}
.ch-i{display:flex;align-items:center;gap:12px;height:44px;padding:0 14px;border-radius:9px;font-size:14px;font-weight:500;line-height:1;color:var(--ink);text-decoration:none}
.ch-i:hover,.ch-i:focus-visible{background:var(--paper);outline:none}
.ch-i svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:var(--green);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
/* while the menu is open, the spec lines under it step aside, so no half line shows above it; name and price stay */
.card .body>.l:not(.name):not(.price),.card .chips{transition:opacity .18s}
.card:has(.ch.open) .body>.l:not(.name):not(.price),.card:has(.ch.open) .chips{opacity:0}

.house>div{scroll-margin-top:24px}@media(max-width:900px){.ln-code{display:inline}}
body.look{--f-m:var(--f-n);--br:4px;--pr:8px}
body.look .nv{gap:36px}
body.look .nv a{font-family:var(--f-n);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
body.look .nv a:hover{color:var(--green)}
body.look .lng-b{border:0;padding:0 2px;gap:6px;font-family:var(--f-n);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
body.look .lng-b .flag,body.look .lng-b .ln-full{display:none}
body.look .lng-b .ln-code{display:inline}
body.look .lng-m{border-radius:var(--br)}
body.look .lng-m a{border-radius:0}
body.look .pb,body.look .btn{border-radius:var(--br);font-family:var(--f-n);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
body.look .btn small{font-size:inherit}
body.look .pb{height:52px;padding:0 32px}
body.look .ch-m,body.look .ch-i{border-radius:var(--br)}
body.look .slot em{font-family:var(--f-n);font-weight:500;font-size:10px;letter-spacing:.18em}
body.look .fp-h{font-size:clamp(34px,3.4vw,48px);line-height:1.05;letter-spacing:-.015em}
body.look .fp-l{font-weight:500;font-size:10.5px;letter-spacing:.18em}
body.look .fp-map{border-radius:var(--pr)}
body.look .dz-h{font-family:var(--f-n);font-weight:500;letter-spacing:.18em}

body.look .h01{height:clamp(480px,calc(100vh - 72px),860px)}
body.look .h01 .cap{padding-bottom:64px}
body.look .h1{font-size:clamp(44px,6.2vw,96px);line-height:1;letter-spacing:-.02em;max-width:11.5em}
body.look .h01 .pbs{margin-top:36px;gap:12px}
@media(min-width:641px){body.look .h01 .pbs .pb{min-width:240px}}
body.look .h2{font-size:clamp(40px,4.8vw,72px);line-height:1;letter-spacing:-.02em}
body.look .h3{font-size:30px;line-height:1.15}
body.look .sec{padding:128px 0}
body.look .shead{margin-bottom:56px;align-items:baseline}
body.look .lab,body.look .shead .ul{font-family:var(--f-n);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}
body.look .shead .ul{color:var(--ink);text-underline-offset:6px}
/* cards and tiles: no box around them; the photo sits on the page, the lines under it */
body.look .card,body.look .tile{background:transparent;border-radius:0;padding:0}
body.look .media,body.look .tm,body.look .film{border-radius:var(--pr)}
body.look .card .heart{display:none}
body.look .card .body,body.look .tile .body{padding:20px 0 0}
body.look .grid{column-gap:32px;row-gap:72px}
body.look .l.name{font-size:24px}
body.look .tag{border-radius:var(--br);padding:7px 10px;font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
/* the founders' promise and the house: one deep band in the logo green */
body.look #about{background:var(--green);color:var(--paper);border-top:0}
body.look #about+.sec{border-top:0}
body.look .pl{max-width:980px}
body.look .pl q{font-size:clamp(32px,4vw,56px);line-height:1.15;color:var(--paper)}
body.look .pl span{margin-top:32px;font-family:var(--f-n);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,239,231,.6)}
body.look .house{margin-top:104px;gap:40px}
body.look .house>div{border-top-color:rgba(243,239,231,.3);padding-top:24px}
body.look .house .h3{color:var(--paper)}
body.look .house p{color:rgba(243,239,231,.75)}
@media(max-width:900px){
 body.look .sec{padding:88px 0}
 body.look .house{margin-top:64px;gap:40px}
}
@media(max-width:640px){
 body.look .h01 .cap{padding-bottom:32px}
 body.look .h01 .pbs{flex-direction:column;gap:8px;margin-top:28px}
 body.look .h01 .pbs .pb{flex:none;width:100%}
 body.look .shead{margin-bottom:40px}
 body.look .grid{row-gap:56px}
}
