@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/newsreader-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/newsreader-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/hanken-grotesk-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/hanken-grotesk-latin-700-normal.woff2) format('woff2')}
:root{--paper:#F3EEE6;--paper2:#EBE2D3;--ink:#0F2742;--forest:#3B2140;--clay:#C23A21;--sand:#E9B98B;--line:#D8CBB6;--hd:'Newsreader',Georgia,serif;--bd:'Hanken Grotesk',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}.rm{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 var(--bd);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:.5rem;z-index:99}
.wrap{max-width:1240px;margin:0 auto;padding:0 1.5rem}.narrow{max-width:760px}
.demo-strip{background:#111;color:#f1e9dc;font-size:.8rem;text-align:center;padding:.4rem 1rem}.demo-strip strong{background:var(--sand);color:#111;padding:.05rem .45rem;border-radius:3px;margin-right:.4rem;text-transform:uppercase;letter-spacing:.06em}
h1,h2,h3{font-family:var(--hd);font-weight:500;line-height:1.04;margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,7vw,5.6rem)}h2{font-size:clamp(2rem,4.4vw,3.4rem)}h3{font-size:1.45rem;line-height:1.15;margin-bottom:.35em}
.kick{font:700 .74rem/1 var(--bd);letter-spacing:.16em;text-transform:uppercase;color:var(--sand);margin:0 0 1rem}.kick.dk{color:var(--clay)}
.btn{display:inline-block;background:var(--clay);color:#fff;text-decoration:none;font:700 .95rem var(--bd);padding:.95rem 1.5rem;border-radius:999px;border:2px solid var(--clay);cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#A52F1A}
.btn.sm{padding:.55rem 1.1rem;font-size:.85rem}.btn.ghost{background:transparent;border-color:#fff;color:#fff}.btn.ghost:hover{background:#fff;color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sand);outline-offset:3px}
/* masthead: centred logo, nav split either side */
.top{position:absolute;top:2rem;left:0;right:0;z-index:20;color:#fff}body.sub .top{position:relative;top:0;background:var(--forest)}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding-top:1.1rem;padding-bottom:1.1rem}
.nl{display:flex;gap:1.8rem}.nl a{text-decoration:none;font-weight:500;font-size:.95rem;opacity:.92}.nl a:hover{opacity:1;text-decoration:underline;text-underline-offset:6px}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;justify-self:center}.logo span{font:500 1.55rem/1 var(--hd);display:flex;flex-direction:column}.logo small{font:500 .62rem var(--bd);letter-spacing:.2em;text-transform:uppercase;margin-top:.25rem;opacity:.8}
.nr{display:flex;gap:1rem;align-items:center;justify-self:end}.tel{text-decoration:none;font-weight:500}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}.menu-btn i{position:absolute;left:10px;right:10px;height:2px;background:#fff;top:17px;transition:.25s}.menu-btn i+i{top:25px}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;background:#1c2621;overflow:hidden}
.vposter{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}.hero video.on{opacity:1}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,14,.55),rgba(10,18,14,.1) 35%,rgba(10,18,14,.78))}
.hero-in{position:relative;padding-bottom:6.5rem}.hero h1{max-width:12ch;margin-bottom:.35em}.lede{font-size:1.3rem;margin:0 0 1.8rem}.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin:0}
.pause{position:absolute;right:1.5rem;bottom:1.5rem;background:rgba(0,0,0,.45);color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:.55rem 1rem;font:500 .82rem var(--bd);cursor:pointer}
.scroll{position:absolute;left:50%;bottom:1.2rem;width:26px;height:42px;border:2px solid rgba(255,255,255,.7);border-radius:14px;transform:translateX(-50%)}.scroll i{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;background:#fff;border-radius:2px;animation:sc 1.8s infinite}@keyframes sc{50%{transform:translateY(10px);opacity:.3}}
.rm .scroll i{animation:none}
/* sections */
.sec{padding:clamp(4rem,9vw,8rem) 0}.sec.alt{background:var(--paper2)}.sec.dark{background:var(--forest);color:#f3ece0}.sec.dark .kick{color:var(--sand)}
.head{margin-bottom:2rem}.head h2{max-width:14ch;margin:0}
/* listings: horizontal snap strip, offset first card to grid */
.strip{list-style:none;margin:0;padding:0 max(1.5rem,calc((100vw - 1240px)/2 + 1.5rem)) 1rem;display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:max(1.5rem,calc((100vw - 1240px)/2 + 1.5rem))}
.card{flex:0 0 min(440px,82vw);scroll-snap-align:start}.card a{text-decoration:none;display:block}
.fr{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:var(--paper2)}.fr img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.card a:hover .fr img{transform:scale(1.05)}
.tag{position:absolute;left:.8rem;top:.8rem;background:rgba(244,238,228,.94);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.3rem .6rem;border-radius:3px}
.meta{padding-top:1rem}.meta p{margin:.2rem 0}.price{font:500 1.3rem var(--hd);color:var(--clay)}.price span{font:400 .95rem var(--bd);color:#555;margin-left:.6rem}.more{display:inline-block;margin-top:.5rem;font-weight:700;font-size:.9rem;border-bottom:2px solid var(--clay)}
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
/* before/after */
.cmp{--pos:50%;position:relative;margin:0;aspect-ratio:3/2;overflow:hidden;border-radius:6px;background:#ddd;touch-action:pan-y}
.cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cmp-b,.cmp-a{position:absolute;inset:0}.cmp-a{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}.cmp-a img{filter:brightness(.72) contrast(.82) saturate(.55) sepia(.18)}
.knob{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none}.knob i{position:absolute;top:50%;left:50%;width:46px;height:46px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 4px 14px rgba(0,0,0,.3)}.knob i::before,.knob i::after{content:"";position:absolute;top:50%;width:8px;height:8px;border:solid var(--ink);border-width:0 0 2px 2px;margin-top:-4px}.knob i::before{left:12px;transform:rotate(45deg)}.knob i::after{right:12px;transform:rotate(-135deg)}
.cmp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.cmp:focus-within .knob i{outline:3px solid var(--sand)}
.lab{position:absolute;bottom:2.4rem;background:rgba(0,0,0,.6);color:#fff;font-size:.72rem;font-weight:700;padding:.3rem .6rem;border-radius:3px}.lab.l{left:.8rem}.lab.r{right:.8rem}
.cmp figcaption{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.55);color:#fff;font-size:.8rem;padding:.4rem .8rem;pointer-events:none}
/* about */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.mono{aspect-ratio:1;background:var(--forest);border-radius:50% 50% 6px 6px;display:grid;place-items:center;max-width:380px}.mono span{font:500 clamp(5rem,12vw,9rem)/1 var(--hd);color:var(--sand);font-style:italic}
.pts{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.5rem}.pts li{padding-left:1.8rem;position:relative;font-weight:500}.pts li::before{content:"";position:absolute;left:0;top:.5em;width:.9rem;height:.5rem;border:solid var(--clay);border-width:0 0 3px 3px;transform:rotate(-45deg)}
.photoband{margin-top:clamp(3rem,6vw,5rem);aspect-ratio:21/8;overflow:hidden;border-radius:6px}.photoband img{width:100%;height:100%;object-fit:cover}
.big{font:500 clamp(1.8rem,4vw,2.8rem) var(--hd);margin:1rem 0}.big a{text-decoration:none;border-bottom:2px solid var(--sand)}
/* form */
.form{display:grid;gap:1rem;background:#fff;color:var(--ink);padding:clamp(1.4rem,3vw,2.2rem);border-radius:8px}.form label{display:grid;gap:.3rem;font-weight:700;font-size:.88rem}.form em{font-weight:400;font-style:normal;color:#666}
.form input,.form select,.form textarea{font:400 1rem var(--bd);padding:.8rem .9rem;border:1.5px solid #b9ad98;border-radius:6px;background:#fff;color:var(--ink);width:100%}
.form-ok{background:#E3EFE6;border-left:4px solid #2c6b45;padding:.8rem 1rem;margin:0;border-radius:4px}
.fine,.fine2{font-size:.82rem;opacity:.75}
.foot{background:#141c18;color:#d9d0c1;padding:3rem 0 6rem;font-size:.95rem}.foot .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.foot p{margin:.4rem 0}.foot .fine{margin-top:2rem;max-width:1240px}
.sub-h{padding-top:4rem}.credit-list{padding-left:1.2rem}.credit-list li{margin:.4rem 0}
.callbar{display:none}
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--d,0ms),transform .8s var(--d,0ms)}.rv.in,.rm .rv{opacity:1;transform:none}.js .rv{will-change:opacity,transform}
@media(max-width:900px){.split,.about{grid-template-columns:1fr}.mono{max-width:240px}.foot .wrap{grid-template-columns:1fr}}
@media(max-width:760px){.demo-strip{font-size:.72rem}.bar{grid-template-columns:auto 1fr}.logo{justify-self:start}.logo span{font-size:1.25rem}.tel,.nr .btn{display:none}.menu-btn{display:block}
 .nl{position:fixed;inset:0;background:var(--forest);flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;transform:translateY(-100%);transition:transform .35s;z-index:-1;visibility:hidden}.nl.open{transform:none;visibility:visible;z-index:30}.nl a{font:500 2rem var(--hd)}
 .menu-btn{z-index:40}.nav-open .menu-btn i{top:21px;transform:rotate(45deg)}.nav-open .menu-btn i+i{transform:rotate(-45deg)}
 .hero-in{padding-bottom:7rem}.pause{right:auto;left:1.5rem;bottom:4.9rem}.scroll{display:none}.photoband{aspect-ratio:4/3}
 .callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--forest);padding:.55rem;gap:.5rem}.callbar a{background:var(--clay);color:#fff;text-align:center;font-weight:700;text-decoration:none;padding:.8rem;border-radius:999px}.callbar a.alt{background:transparent;border:2px solid var(--sand);color:#fff}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
