@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url("./assets/fonts/manrope-latin-wght-normal.woff2") format("woff2")}
:root,[data-theme="light"]{
 --font-body:Manrope,Arial,sans-serif;--font-display:var(--font-body);
 --paper:#faf9f6;--card:#ffffff;--surface:#f0efe9;--ink:#292d28;--muted:#6b7068;--line:#292d281b;
 --accent:#245b42;--accent-hover:#194733;--on-accent:#fff;--focus:#245b42;
 --text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-title:clamp(1.55rem,1.2rem + 1.2vw,2.125rem);--text-card:clamp(1rem,.95rem + .2vw,1.125rem);--text-heading:1.25rem;
 --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius:8px;--gutter:clamp(1.125rem,4vw,3rem)
}
[data-theme="dark"]{--paper:#20241f;--card:#292e27;--surface:#2d332b;--ink:#f3f3ed;--muted:#b7bcb0;--line:#f3f3ed25;--accent:#a8d2b4;--accent-hover:#bedfc8;--on-accent:#17231b;--focus:#b1d5b9}
html{scroll-padding-top:100px}
body{font-size:var(--text-base);background:var(--paper)}
h1,h2,h3{font-family:var(--font-body);font-weight:700;line-height:1.35;letter-spacing:-.03em}
.container{max-width:1280px;margin-inline:auto;padding-inline:var(--gutter)}
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:88px}
.brand{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}
.brand img{width:50px;height:50px;border-radius:50%}
.brand>span{display:flex;flex-direction:column}.brand strong{font-size:var(--text-base);font-weight:750;letter-spacing:-.025em}.brand>span>span{font-size:var(--text-xs);color:var(--muted);margin-top:2px}
.header-right{display:flex;align-items:center;gap:var(--space-10)}
nav{display:flex;gap:var(--space-8);font-size:var(--text-sm)}nav a{min-height:44px;display:flex;align-items:center}
nav a:hover,.footer a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);min-height:46px;border-radius:var(--radius);padding:var(--space-3) var(--space-5);font-weight:700;font-size:var(--text-sm);background:var(--accent);color:var(--on-accent);transition:background .2s}
.button:hover{background:var(--accent-hover)}.button>span{font-size:var(--text-base);line-height:1}
.catalog{padding-block:var(--space-12) var(--space-6)}
.intro{margin-bottom:var(--space-8)}h1{font-size:var(--text-title)}.intro p{font-size:var(--text-base);color:var(--muted);margin-top:var(--space-2)}
.bull-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}
.bull-card{min-width:0}
.photo-button{padding:0;display:block;position:relative;width:100%;aspect-ratio:1.1;border-radius:var(--radius);background:#1e2421;overflow:hidden}
.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.photo-button:hover img{transform:scale(1.025)}
.photo-hint{position:absolute;bottom:var(--space-3);right:var(--space-3);font-size:var(--text-xs);font-weight:500;line-height:1.4;border-radius:4px;color:#fff;background:#1b221ce3;padding:6px 8px}
.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-top:var(--space-3)}
.card-bottom h2{font-size:var(--text-card);font-weight:750;letter-spacing:-.025em}
.quote-link{display:flex;align-items:center;gap:var(--space-3);min-height:44px;color:var(--accent);font-size:var(--text-sm);font-weight:750;border-radius:4px}
.quote-link:hover{text-decoration:underline;text-underline-offset:5px}.quote-link>span{font-size:var(--text-base)}
.quick-contact{display:flex;justify-content:center;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding-block:var(--space-3);font-size:var(--text-sm);color:var(--muted)}
.quick-contact a{color:var(--ink);min-height:44px;display:flex;align-items:center;gap:var(--space-2)}.quick-contact strong{font-weight:700}.quick-contact a:hover{color:var(--accent)}
.location{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:var(--space-8);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-10)}
.location h2{font-size:var(--text-heading);margin-bottom:var(--space-3)}
.location address{font-size:var(--text-sm);font-style:normal;line-height:1.8;color:var(--ink)}
.location-info>p{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-3)}
.location-links{display:flex;gap:var(--space-8);margin-top:var(--space-3)}
.text-link{display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:700;min-height:44px;color:var(--accent)}.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.location iframe{width:100%;height:235px;border:0;border-radius:var(--radius);background:var(--surface)}
.footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);padding-block:var(--space-4);font-size:var(--text-xs);color:var(--muted)}
.footer>div{display:flex;align-items:center;gap:var(--space-6)}.footer a{display:flex;align-items:center;min-height:44px}
.theme-toggle,.close-photo{background:transparent;color:var(--ink);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;padding:0;font-size:var(--text-heading)}.theme-toggle:hover,.close-photo:hover{background:var(--surface)}
.lightbox{padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius);max-width:min(96vw,720px);width:fit-content;max-height:94dvh;overflow:auto;background:var(--card);color:var(--ink)}
.lightbox::backdrop{background:#19231bd6}
.lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-3)}.lightbox-head h2{font-size:var(--text-heading)}
.close-photo{font-size:1.75rem}.photo-stage{background:var(--surface);border-radius:4px;overflow:hidden;min-width:200px}.photo-stage img{max-width:100%;height:auto;width:auto;max-height:66dvh;object-fit:contain;margin-inline:auto}
.lightbox>.button{display:flex;margin-top:var(--space-4)}#photo-error{font-size:var(--text-sm);padding:var(--space-6);max-width:35ch}
.image-failed{width:100%;height:100%;display:grid;place-items:center;padding:var(--space-5);text-align:center;font-size:var(--text-sm);background:var(--surface);color:var(--muted)}
.privacy-page{max-width:850px;padding-block:var(--space-12)}.privacy-page h1{margin-bottom:var(--space-6)}.privacy-page h2{font-size:var(--text-heading);margin-block:var(--space-8) var(--space-3)}.privacy-page p{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-4)}.privacy-page p a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:950px){nav{gap:var(--space-5)}.header-right{gap:var(--space-6)}.bull-grid{gap:var(--space-4)}.photo-button{aspect-ratio:1}.card-bottom{flex-wrap:wrap;gap:0;padding-top:var(--space-3)}.card-bottom h2{width:100%}.card-bottom .quote-link{min-height:40px}.location{gap:var(--space-8)}}
@media(max-width:760px){nav{display:none}.header-inner{height:78px}.bull-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6) var(--space-5)}.photo-button{aspect-ratio:1.3}.card-bottom{flex-wrap:nowrap;gap:var(--space-2);padding-top:var(--space-2)}.card-bottom h2{width:auto}.card-bottom .quote-link{min-height:44px}.catalog{padding-top:var(--space-8)}.intro{margin-bottom:var(--space-6)}.location{grid-template-columns:1fr 1.2fr;gap:var(--space-6)}.quick-contact{flex-direction:column;gap:0;margin-top:var(--space-5);padding:0}.quick-contact a{min-height:36px}.location iframe{height:215px}}
@media(max-width:480px){
 html{scroll-padding-top:88px}.header-inner{height:76px;gap:var(--space-3)}.brand{gap:var(--space-2)}.brand img{width:43px;height:43px}.brand strong{font-size:var(--text-sm)}.brand>span>span{font-size:var(--text-xs)}.button.header-contact{padding-inline:var(--space-3);gap:var(--space-3);min-height:42px;font-size:var(--text-xs)}.header-right{gap:0}
 .catalog{padding-top:var(--space-6);padding-bottom:var(--space-6)}h1{font-size:1.625rem;line-height:1.3;max-width:19ch}.intro p{font-size:var(--text-sm);max-width:32ch;line-height:1.6}.intro{margin-bottom:var(--space-5)}
 .bull-grid{gap:var(--space-5) var(--space-3)}.photo-button{aspect-ratio:1.07;border-radius:6px}.photo-hint{bottom:var(--space-2);right:var(--space-2);font-size:var(--text-xs);padding:4px 6px}
 .card-bottom{display:block;padding-top:var(--space-2)}.card-bottom h2{font-size:var(--text-base);line-height:1.4}.quote-link{font-size:var(--text-sm);justify-content:space-between;min-height:44px;border-bottom:1px solid var(--line)}.quick-contact{font-size:var(--text-xs);margin-top:var(--space-5)}.quick-contact a{font-size:var(--text-sm)}
 .location{grid-template-columns:1fr;gap:var(--space-5);padding-block:var(--space-6)}.location h2{font-size:1.125rem;margin-bottom:var(--space-2)}.location-links{margin-top:var(--space-2)}.location-info>p{margin-top:var(--space-2)}.location iframe{height:200px}.footer{flex-wrap:wrap;gap:0;padding-block:var(--space-3)}.footer>div{gap:var(--space-4)}.footer>span{width:100%;margin-top:var(--space-1)}.lightbox{padding:var(--space-3)}.lightbox-head{margin-bottom:var(--space-2)}.photo-stage img{max-height:62dvh}.privacy-page{padding-top:var(--space-8)}
}
@media(max-width:359px){.brand img{width:37px;height:37px}.brand strong{font-size:.8125rem}.header-contact>span{display:none}.header-inner{gap:var(--space-2)}.intro p{max-width:28ch}h1{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.photo-button img{transition:none}}
