:root { --ink:#161616; --line:#e7e5e1; --soft:#f7f6f3; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:#fff; font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; display:flex; flex-direction:column; }
.topbar { border-bottom:1px solid var(--line); }
.topbar-inner { width:min(1180px, calc(100% - clamp(36px, 10vw, 144px))); min-height:78px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { color:inherit; text-decoration:none; display:flex; align-items:center; gap:12px; font-size:.88rem; font-weight:800; letter-spacing:.12em; }
.monogram { width:38px; height:38px; display:block; border-radius:50%; object-fit:cover; }
.header-actions,.category-nav { display:flex; align-items:center; }
.header-actions { gap:24px; }
.category-nav { gap:4px; }
.nav-link { appearance:none; border:0; background:transparent; color:var(--ink); padding:8px 9px; font:500 .86rem/1 ui-sans-serif,system-ui,sans-serif; cursor:pointer; text-decoration:none; }
.nav-link:hover { text-decoration:underline; text-underline-offset:4px; }
.contact-link { color:inherit; text-decoration:none; font-size:.95rem; white-space:nowrap; }
.account-link { color:inherit; text-decoration:none; font-size:.9rem; white-space:nowrap; }
.account-link:hover { text-decoration:underline; text-underline-offset:4px; }
.contact-link:hover { text-decoration:underline; }
main { flex:1; display:grid; place-items:center; padding:clamp(32px,7vw,100px) clamp(18px,5vw,72px); }
.showcase { position:relative; width:min(1180px,100%); aspect-ratio:16/8.5; overflow:hidden; border-radius:18px; background:var(--soft); }
.slides,.slide,.showcase img { width:100%; height:100%; }
.slides { position:relative; }
.slide { position:absolute; inset:0; margin:0; opacity:0; transition:opacity .35s ease; }
.slide.active { opacity:1; }
.showcase img { display:block; object-fit:cover; }
.arrow { position:absolute; top:50%; z-index:2; translate:0 -50%; width:44px; height:44px; border:0; border-radius:50%; background:#fffde; color:var(--ink); font:2rem/1 system-ui; cursor:pointer; box-shadow:0 2px 14px #0002; }
.arrow:hover { background:#fff; }.previous{left:18px}.next{right:18px}
.dots { position:absolute; z-index:2; bottom:18px; left:50%; translate:-50% 0; display:flex; gap:7px; }.dots button{width:8px;height:8px;padding:0;border:0;border-radius:9px;background:#fff9;cursor:pointer;transition:.2s}.dots button.active{width:26px;background:#fff}
.empty-message { display:none; position:absolute; inset:0; place-items:center; color:#777; text-align:center; }
.is-empty .empty-message { display:grid; }
footer { border-top:1px solid var(--line); padding:24px clamp(22px,5vw,72px); color:#777; font-size:.86rem; }
.contact-page { width:min(720px,100%); }
.contact-page h1 { margin:0 0 12px; font-size:clamp(2rem,4vw,3.2rem); }
.contact-page > p { margin:0 0 34px; color:#666; line-height:1.6; }
.contact-form { display:grid; gap:18px; padding:28px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.contact-form label { display:grid; gap:7px; font-size:.9rem; font-weight:650; }
.contact-form input,.contact-form textarea { width:100%; padding:12px 13px; border:1px solid #cfcac2; border-radius:10px; font:inherit; color:var(--ink); background:#fff; }
.contact-form textarea { min-height:160px; resize:vertical; }
.contact-form button { justify-self:start; border:0; border-radius:10px; padding:12px 17px; background:var(--ink); color:#fff; font:650 .95rem/1 ui-sans-serif,system-ui,sans-serif; cursor:pointer; }
.contact-form button:hover { opacity:.88; }
.form-notice { margin:0 0 22px; padding:13px 15px; border-radius:10px; background:#eef7ef; color:#215f2b; }
.form-notice.error { background:#fff0ed; color:#9a2e1c; }
.honeypot { position:absolute; left:-9999px; }
@media (max-width:760px) { .topbar-inner { width:calc(100% - 36px); min-height:68px; gap:12px; } .brand { font-size:.75rem; gap:8px; } .monogram { width:33px; height:33px; } .category-nav { display:none; } .header-actions { gap:0; } .showcase { aspect-ratio:4/5; border-radius:12px; } .arrow{width:38px;height:38px}.previous{left:10px}.next{right:10px} }
