
:root{--brand-primary:#ab6d1f;--brand-ink:#3b2c28;--brand-accent:#b99384;--text:#1f1f1f;--muted:#6b6b6b;--bg:#efddd3;--card-bg:#f7eadf}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial;color:var(--text);background:var(--bg)}
.header{position:sticky;top:0;z-index:1000;background:rgba(239,221,211,.9);backdrop-filter:saturate(160%) blur(6px);border-bottom:1px solid #e6d6cc}
.nav{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}
.nav .brand{display:flex;align-items:center;gap:.75rem;font-weight:700;color:var(--brand-ink)}
.nav .brand img{height:32px;border-radius:6px}
.nav a{text-decoration:none;color:var(--text)}
.nav .links{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.nav .cta{background:var(--brand-primary);color:#fff;padding:.6rem 1rem;border-radius:999px;font-weight:600;border:1px solid var(--brand-accent);box-shadow:0 6px 16px rgba(185,147,132,.24)}
.nav .cta:hover{filter:brightness(.9)}
.menu-btn{display:none;border:1px solid #d9c8be;border-radius:8px;padding:6px 10px;background:#fff}
@media(max-width:840px){.nav .links{display:none}.menu-btn{display:block}}
.hero{background:linear-gradient(120deg,#efddd3 0%,#f4d5c6 50%,#efddd3 100%)}
.hero-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:3.5rem 1rem}
.hero h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 1rem;color:var(--brand-ink)}
.hero p{color:var(--muted);font-size:1.1rem}
.hero .actions{display:flex;gap:.8rem;margin-top:1.25rem}
.btn{display:inline-block;border-radius:12px;padding:.8rem 1.1rem;font-weight:600;text-decoration:none;transition:all .15s}
.btn.primary{background:var(--brand-primary);color:#fff;border:1px solid var(--brand-accent);box-shadow:0 10px 20px rgba(185,147,132,.24)}
.btn.primary:hover{transform:translateY(-1px);filter:brightness(.9)}
.btn.secondary{border:2px solid #d9c8be;color:var(--text);background:#fff}
.btn.secondary:hover{border-color:var(--brand-accent);color:var(--brand-ink)}
.section{max-width:1120px;margin:0 auto;padding:3rem 1rem}
.section h2{font-size:clamp(1.6rem,3.2vw,2.2rem);margin:0 0 .75rem;color:var(--brand-ink)}
.section .lead{color:var(--muted);margin-bottom:1.5rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
@media(max-width:960px){.hero-inner{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}}
.card{border:1px solid #e6d6cc;border-radius:16px;padding:1rem;background:var(--card-bg);box-shadow:0 10px 28px rgba(0,0,0,.04)}
.card h3{margin-top:.5rem;color:var(--brand-ink)}
.card p{color:var(--muted)}
.card ul{margin:.5rem 0 0 1rem;color:var(--muted)}
.card .actions{display:flex;gap:.6rem;margin-top:.8rem;flex-wrap:wrap}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gallery img{width:100%;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.06)}
@media(max-width:900px){.gallery{grid-template-columns:1fr}}
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form input,.form textarea{width:100%;padding:.8rem;border:1px solid #d9c8be;border-radius:10px;font-size:1rem;background:#fff}
.form textarea{min-height:140px}
.form .full{grid-column:1 / -1}
.form button{border:none;background:var(--brand-primary);color:#fff;padding:.9rem 1.1rem;border-radius:999px;font-weight:600;box-shadow:0 10px 20px rgba(185,147,132,.24);cursor:pointer}
.form button:hover{filter:brightness(.9)}
.form .note{font-size:.95rem;color:var(--muted)}
.form .status{margin-top:.75rem;font-size:.95rem}
.footer{background:#f2e4da;border-top:1px solid #e6d6cc}
.footer-inner{max-width:1120px;margin:0 auto;padding:1.5rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.footer small{color:var(--muted)}
.footer .contact-links a{color:var(--brand-ink);margin-right:.5rem}
.footer .contact-links a:hover{text-decoration:underline}
.social{display:flex;align-items:center;gap:.5rem}
.social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--brand-accent);background:#fff}
.social a:hover{background:#f7eadf}
#cookie-banner{position:fixed;z-index:2000;left:1rem;right:1rem;bottom:1rem;background:#fff;border:1px solid #eee;box-shadow:0 18px 40px rgba(0,0,0,.06);border-radius:12px;padding:1rem;display:none}
#cookie-banner p{margin:0 0 .75rem;color:var(--muted)}
#cookie-banner .actions{display:flex;gap:.5rem}
#cookie-banner .btn{padding:.6rem .9rem}
.testimonial{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:flex-start}
.testimonial .avatar{width:48px;height:48px;border-radius:999px;background:#f7eadf;display:inline-flex;align-items:center;justify-content:center;color:var(--brand-ink);font-weight:700}
.stars{color:#d3a66f}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Adaptive Carousel */
.carousel{position:relative;margin-top:1rem}
.carousel-viewport{overflow-x:auto;overflow-y:hidden;border-radius:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.carousel-track{display:flex;gap:.5rem}
.carousel-slide{flex:0 0 100%;scroll-snap-align:start;display:flex;justify-content:center;align-items:center;position:relative}
.carousel-slide img{width:auto;height:auto;max-width:100%;max-height:70vh;display:block}
@media(max-width:640px){.carousel-slide img{max-height:60vh}}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #d9c8be;border-radius:999px;padding:.5rem .7rem;box-shadow:0 6px 12px rgba(0,0,0,.08);cursor:pointer;z-index:2}
.carousel-btn:hover{background:#f7eadf}
.carousel-prev{left:.5rem}
.carousel-next{right:.5rem}
.carousel-dots{display:flex;gap:.4rem;justify-content:center;margin-top:.6rem}
.carousel-dots button{width:9px;height:9px;border-radius:999px;border:1px solid #d9c8be;background:#fff;cursor:pointer}
.carousel-dots button[aria-current="true"]{background:var(--brand-primary);border-color:var(--brand-primary)}
.aspect-badge{position:absolute;left:.5rem;bottom:.5rem;background:rgba(255,255,255,.85);border:1px solid #d9c8be;color:var(--brand-ink);border-radius:6px;padding:.15rem .35rem;font-size:.8rem}
.cta-row{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}
