
:root{--bg:#f2f0eb;--ink:#111;--mut:#6b6b6b;--line:#d8d5cd;--acc:#d8442b}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:300 17px/1.6 Manrope,system-ui,sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:Syne,sans-serif;font-weight:800;line-height:.98;margin:0 0 .4em;letter-spacing:-.03em;text-transform:none}
em{font-style:normal;color:var(--acc)}
.hdr{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px 4vw;background:rgba(242,240,235,.9);backdrop-filter:blur(8px)}
.logo{text-decoration:none;font:800 1.1rem Syne;letter-spacing:.08em;display:flex;align-items:baseline;gap:10px}.logo small{font:400 .8rem Manrope;letter-spacing:.05em;color:var(--mut)}
.nav{display:flex;gap:30px}.nav a{text-decoration:none;font-weight:600;font-size:.95rem;position:relative}.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:2px;background:var(--acc);transition:.3s}.nav a.on::after,.nav a:hover::after{right:0}
.burger{display:none;background:none;border:1.5px solid var(--ink);border-radius:30px;padding:.35em 1em;font:600 .9rem Manrope;cursor:pointer;color:var(--ink)}
.idx{font:600 .8rem Manrope;text-transform:uppercase;letter-spacing:.2em;color:var(--mut);margin:0 0 1.2em}
.lead{font-size:1.2rem;max-width:32em}
.arrow{font:700 1rem Syne;text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:2px}.arrow:hover{color:var(--acc);border-color:var(--acc)}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4vw;padding:4vw 4vw 6vw;align-items:end;min-height:calc(100vh - 70px)}
.hero h1{font-size:clamp(3rem,5.6vw,6.6rem)}.hero-i{position:relative;height:100%;min-height:480px}.hero-i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cap{position:absolute;right:0;bottom:-26px;font-size:.8rem;color:var(--mut)}
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;white-space:nowrap}.marquee div{display:inline-flex;animation:mq 30s linear infinite}.marquee span{font:800 clamp(2rem,5vw,4rem) Syne;padding-right:.4em}
@keyframes mq{to{transform:translateX(-50%)}}
.sel{padding:8vw 4vw}.sel-hd{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:40px}.sel-hd h2{font-size:clamp(2.4rem,6vw,5rem);margin:0}
.sel-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2vw;align-items:start}
.s{position:relative;display:block;overflow:hidden;text-decoration:none}.s img{width:100%;height:100%;object-fit:cover;transition:transform 1s,filter .6s;filter:grayscale(.15)}.s:hover img{transform:scale(1.04);filter:none}
.s span{position:absolute;left:0;bottom:0;background:var(--bg);padding:.4em .9em .2em 0;font:700 .95rem Syne}
.s1{grid-column:1/8;aspect-ratio:4/3}.s2{grid-column:9/13;aspect-ratio:3/4;margin-top:12vw}.s3{grid-column:2/7;aspect-ratio:1}.s4{grid-column:8/12;aspect-ratio:3/4}
.quote{padding:4vw 4vw 10vw;max-width:1100px}.quote p{font:700 clamp(1.6rem,3.4vw,2.8rem)/1.2 Syne;margin:0 0 20px;letter-spacing:-.02em}.quote span{color:var(--mut)}
.ex{font:600 .75rem Manrope;border:1px dashed var(--mut);color:var(--mut);padding:.1em .5em;border-radius:4px;text-transform:uppercase;letter-spacing:.08em}
.phead{padding:5vw 4vw 2vw}.phead h1{font-size:clamp(3rem,9vw,8rem)}
.chips{display:flex;flex-wrap:wrap;gap:6px 22px}.chip{background:none;border:0;padding:4px 0;font:700 1.05rem Syne;color:var(--mut);cursor:pointer;border-bottom:2px solid transparent}.chip.on,.chip:hover{color:var(--ink);border-color:var(--acc)}
.grid{columns:3 300px;column-gap:1.4vw;padding:2vw 4vw 6vw}
.w{display:block;position:relative;margin-bottom:1.4vw;break-inside:avoid;overflow:hidden;cursor:zoom-in}.w[hidden]{display:none}.w img{width:100%;transition:transform .8s}.w:hover img{transform:scale(1.03)}
.w span{position:absolute;inset:auto 0 0 0;display:flex;justify-content:space-between;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.6));color:#fff;opacity:0;transition:.3s}.w:hover span,.w:focus span{opacity:1}.w b{font:700 1rem Syne}.w i{font-style:normal;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:5vw;padding:4vw;align-items:center}.ab-img img{width:100%;aspect-ratio:4/5;object-fit:cover}.about h1{font-size:clamp(3rem,7vw,6.5rem)}
.facts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 0;border-top:1px solid var(--line);padding-top:20px}.facts b{display:block;font:800 2rem Syne}
.tiny{font-size:.8rem;color:var(--mut)}
.svcs{padding:6vw 4vw}.svcs h2{font-size:clamp(2.4rem,6vw,5rem)}.svc-list{border-top:2px solid var(--ink)}
.sv{display:grid;grid-template-columns:80px 1fr 2fr 160px;gap:20px;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--line);transition:.3s}.sv:hover{padding-left:12px;background:rgba(0,0,0,.02)}
.sv span{font:700 1rem Syne;color:var(--acc)}.sv h3{font-size:1.8rem;margin:0}.sv p{margin:0;color:var(--mut)}.sv b{font:700 1rem Syne;text-align:right}
.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;padding:5vw 4vw 7vw}.contact h1{font-size:clamp(2.8rem,6.4vw,5.8rem)}
.cl{list-style:none;padding:0;margin:40px 0 0}.cl li{display:flex;gap:20px;padding:14px 0;border-top:1px solid var(--line)}.cl span{width:90px;color:var(--mut);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;padding-top:3px}
.cf label{display:block;font:700 1.05rem Syne;margin-bottom:26px}
.cf input,.cf select,.cf textarea{display:block;width:100%;margin-top:6px;border:0;border-bottom:2px solid var(--ink);background:none;padding:.5em 0;font:300 1.1rem Manrope;color:var(--ink);border-radius:0}
.cf input:focus,.cf select:focus,.cf textarea:focus{outline:none;border-color:var(--acc)}.tried :invalid{border-color:var(--acc)}
.send{background:var(--ink);color:var(--bg);border:0;border-radius:40px;padding:1em 2em;font:700 1.05rem Syne;cursor:pointer;transition:.2s}.send:hover{background:var(--acc)}
.ok{font:700 1.05rem Syne;color:var(--acc)}
.ftr{background:var(--ink);color:var(--bg);padding:6vw 4vw 30px}.big-cta{margin:0 0 50px}.big-cta a{text-decoration:none;font:800 clamp(2.2rem,7vw,6.5rem)/1 Syne;letter-spacing:-.03em}.big-cta a:hover{color:var(--acc)}.big-cta span{display:inline-block;transition:.3s}.big-cta a:hover span{transform:translateX(12px)}
.frow{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.85rem;color:#9a9a9a;border-top:1px solid #333;padding-top:18px}
@media (max-width:860px){
 .burger{display:block}.nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);padding:10px 4vw 26px;opacity:0;pointer-events:none;transition:.3s}.nav a{font:800 2rem Syne;padding:8px 0}.nav-open .nav{opacity:1;pointer-events:auto}
 .hero,.about,.contact{grid-template-columns:1fr;gap:40px}.hero{min-height:0;padding-top:30px}.hero-i{min-height:0;aspect-ratio:4/5}.hero-i img{position:static}.cap{bottom:-22px}
 .sel-grid{grid-template-columns:1fr 1fr;gap:14px}.s1,.s2,.s3,.s4{grid-column:auto;margin-top:0;aspect-ratio:3/4}.s1{grid-column:1/-1;aspect-ratio:4/3}
 .sv{grid-template-columns:50px 1fr;gap:6px 14px}.sv p,.sv b{grid-column:2}.sv b{text-align:left}.grid{column-gap:10px}.w{margin-bottom:10px}.w span{opacity:1}
 .hdr{padding:16px 20px}.sel,.quote,.phead,.svcs,.contact,.about,.grid,.hero,.ftr{padding-left:20px;padding-right:20px}
}
@media (max-width:520px){.hero h1{font-size:2.75rem}.phead h1{font-size:2.8rem}.facts{grid-template-columns:1fr}.logo small{display:none}.grid{columns:2 140px}.w span{padding:30px 10px 8px}.w i{display:none}.cl li{flex-direction:column;gap:2px}}

.lbx{position:fixed;inset:0;z-index:9500;background:rgba(10,10,12,.94);display:flex;align-items:center;justify-content:center;padding:40px}.lbx[hidden]{display:none}
.lbx figure{margin:0;text-align:center;max-width:100%}.lbx img{max-height:80vh;max-width:100%;width:auto;margin:0 auto;display:block}.lbx figcaption{color:#eee;margin-top:12px;font-size:.9rem}
.lbx-x{position:absolute;top:10px;right:16px;font-size:2.6rem;color:#fff;background:none;border:0;cursor:pointer;line-height:1}
.lbx-n{position:absolute;top:50%;transform:translateY(-50%);font-size:3rem;color:#fff;background:rgba(255,255,255,.08);border:0;cursor:pointer;width:52px;height:64px;border-radius:8px}.lbx-p{left:8px}.lbx-nx{right:8px}
@media (max-width:600px){.lbx{padding:8px}.lbx-n{top:auto;bottom:16px;transform:none}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
