
:root {
  --bg: #f7f4ee;
  --bg-soft: #fffdf9;
  --surface: #ffffff;
  --text: #2d2a26;
  --muted: #6f675f;
  --gold: #c7a96a;
  --gold-dark: #a88643;
  --border: rgba(92, 74, 40, 0.16);
  --shadow: 0 20px 50px rgba(32, 26, 18, 0.08);
  --radius: 24px;
  --radius-sm: 16px;
  --container: 1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#fffdf9 0%,#f7f4ee 100%);color:var(--text);line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.75rem 1rem;z-index:999;border-radius:12px}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,253,249,.9);backdrop-filter:blur(10px);border-bottom:1px solid rgba(199,169,106,.15)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:82px}
.brand{display:flex;flex-direction:column}.brand-kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-dark)}.brand-title{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;font-weight:700}
.site-nav{display:flex;align-items:center;gap:1.3rem}.site-nav a{font-weight:600;color:#453b31}.site-nav a:hover,.footer-links a:hover,.socials a:hover{color:var(--gold-dark)}
.menu-toggle{display:none;border:1px solid var(--border);background:#fff;border-radius:999px;padding:.8rem 1rem;font-weight:700}
.mobile-nav{display:none;padding:0 1rem 1rem}.mobile-nav a{display:block;padding:.8rem 0;border-bottom:1px solid rgba(0,0,0,.05)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1.2rem;border-radius:999px;font-weight:700;transition:.25s ease;border:1px solid transparent}
.btn-primary{background:linear-gradient(180deg,#d5b57a,#b48e4b);color:#fff;box-shadow:0 14px 35px rgba(180,142,75,.28)}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.04)}
.btn-secondary{background:#fff;border-color:var(--border)}
.btn-secondary:hover{border-color:rgba(180,142,75,.45)}
.hero{padding:clamp(3rem,6vw,5rem) 0 3rem}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem .8rem;border-radius:999px;background:rgba(199,169,106,.12);color:var(--gold-dark);font-size:.9rem;font-weight:700}.eyebrow::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--gold)}
.hero h1,.section-title{font-family:Georgia,"Times New Roman",serif;line-height:1.05;letter-spacing:-.02em;color:#2c241d}.hero h1{font-size:clamp(2.4rem,5vw,4.7rem);margin:.9rem 0 1rem}.lead{font-size:1.12rem;color:#574d43;max-width:64ch}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.stat{background:rgba(255,255,255,.75);border:1px solid rgba(199,169,106,.15);padding:1.1rem;border-radius:20px;box-shadow:var(--shadow)}.stat strong{display:block;font-size:1.35rem;font-family:Georgia,serif}.hero-media{position:relative}.hero-media img{border-radius:32px;box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover}.badge-card{position:absolute;bottom:1rem;left:-1rem;background:#fff;padding:1rem 1.1rem;border-radius:20px;box-shadow:var(--shadow);max-width:250px;border:1px solid rgba(199,169,106,.18)}
.section{padding:4.5rem 0}.section-soft{background:rgba(255,255,255,.5)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem;box-shadow:var(--shadow)}
.card h3,.service-card h3{font-family:Georgia,serif;margin:.25rem 0 .65rem;font-size:1.45rem}
.service-card{display:flex;flex-direction:column;gap:1rem;background:linear-gradient(180deg,#fff,#fbf7ef);border-radius:24px;border:1px solid rgba(199,169,106,.18);padding:1.4rem;box-shadow:var(--shadow)}
.service-card ul{margin:0;padding-left:1rem;color:#5d544c}.pill-list{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.pill{display:inline-flex;padding:.55rem .85rem;background:rgba(199,169,106,.12);border-radius:999px;color:#715c34;font-weight:700;font-size:.92rem}
.image-card img,.wide-image{border-radius:var(--radius);box-shadow:var(--shadow)}
.media-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:center}.media-split.reverse{grid-template-columns:1.1fr .9fr}
.timeline{display:grid;gap:1rem;margin-top:1.4rem}.timeline-item{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}.timeline-year{width:84px;padding:.55rem .8rem;border-radius:999px;background:rgba(199,169,106,.14);font-weight:800;color:#6a562f;text-align:center}
.faq-list{display:grid;gap:1rem}.faq-item{background:#fff;border:1px solid var(--border);border-radius:20px;padding:1.1rem 1.2rem}.faq-item summary{cursor:pointer;font-weight:800;color:#352d25}.faq-item p{margin:.8rem 0 0;color:#5c534b}
.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:1.6rem}.contact-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem;box-shadow:var(--shadow)}
.contact-list{display:grid;gap:1rem;margin:1rem 0 1.5rem}.contact-item strong{display:block;margin-bottom:.2rem}.mini-map{border-radius:24px;overflow:hidden;border:1px solid var(--border);min-height:360px}.mini-map iframe{width:100%;height:100%;border:0}
.form-grid{display:grid;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field label{display:block;font-weight:700;margin-bottom:.45rem}.field input,.field textarea{width:100%;padding:1rem 1rem;border-radius:16px;border:1px solid rgba(92,74,40,.2);background:#fffcf6;font:inherit}.field textarea{min-height:160px;resize:vertical}.note{font-size:.92rem;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.gallery-grid .span-7{grid-column:span 7}.gallery-grid .span-5{grid-column:span 5}.gallery-grid .span-4{grid-column:span 4}.gallery-grid .span-6{grid-column:span 6}
.gallery-grid img{height:100%;width:100%;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}
.legal{max-width:900px}.legal h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem)}.legal h2{font-family:Georgia,serif;margin-top:2rem}.legal p{margin:.5rem 0;color:#4f4740}
.site-footer{padding:3rem 0 1rem;background:#2c241d;color:#f8f3e8;margin-top:3rem}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .8fr;gap:2rem}.footer-grid h3{font-family:Georgia,serif;margin-top:0}.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}.socials{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;margin-top:1.5rem;font-size:.95rem;color:#d7cab6}
.kicker{color:var(--gold-dark);text-transform:uppercase;letter-spacing:.14em;font-size:.86rem;font-weight:800}
.cta-banner{padding:1.8rem;border-radius:32px;background:linear-gradient(135deg,#fff,#f4ecdc);border:1px solid rgba(199,169,106,.2);box-shadow:var(--shadow)}
.small{font-size:.95rem;color:var(--muted)}
.slider{position:relative}.slider-track{display:flex;overflow:auto;gap:1rem;scroll-snap-type:x mandatory;padding-bottom:.4rem}.slider-track > *{min-width:min(100%,320px);scroll-snap-align:start}.slider-track img{aspect-ratio:4/3;object-fit:cover;border-radius:22px}.slider-buttons{display:flex;gap:.6rem;justify-content:flex-end;margin-bottom:.75rem}.slider-buttons button{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer}
@media (max-width: 980px){.hero-grid,.media-split,.media-split.reverse,.contact-grid,.footer-grid,.grid-3,.grid-2{grid-template-columns:1fr}.hero-media img{aspect-ratio:4/3}.hero-stats{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid > *{grid-column:auto!important}.site-nav{display:none}.menu-toggle{display:inline-flex}.mobile-nav.open{display:block}.form-row{grid-template-columns:1fr}}
@media (max-width: 640px){.container{width:min(calc(100% - 1.2rem),var(--container))}.hero{padding-top:2rem}.btn,.site-nav a,.mobile-nav a{font-size:.98rem}.gallery-grid{grid-template-columns:1fr}.badge-card{position:static;margin-top:1rem;max-width:none}.hero-actions{flex-direction:column;align-items:stretch}}


.mini-map{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--border);min-height:360px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(248,242,230,.95))}
.mini-map iframe{display:block;width:100%;height:360px;border:0}
.cookie-banner{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);width:min(calc(100% - 1.2rem),960px);z-index:120}
.cookie-banner__inner{display:grid;grid-template-columns:1fr auto;gap:1.2rem;align-items:center;padding:1.15rem 1.2rem;border-radius:24px;border:1px solid rgba(199,169,106,.35);background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,247,230,.74));backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:0 20px 60px rgba(25,19,10,.18)}
.cookie-banner__eyebrow{margin:0 0 .35rem;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800}
.cookie-banner__inner h3{margin:0 0 .3rem;font-family:Georgia,serif;font-size:1.2rem;line-height:1.15;color:#2c241d}
.cookie-banner__inner p{margin:0;color:#5b5147}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}
.map-consent-note{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1.2rem;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(247,240,226,.9));text-align:center}
.map-consent-note__card{max-width:540px;padding:1.4rem;border-radius:24px;border:1px solid rgba(199,169,106,.25);background:rgba(255,255,255,.82);box-shadow:var(--shadow)}
.map-consent-note__card h3{margin:.2rem 0 .5rem;font-family:Georgia,serif}
.map-consent-note__card p{margin:0 0 1rem;color:#5c534b}
@media (max-width: 980px){.cookie-banner__inner{grid-template-columns:1fr}.cookie-banner__actions{justify-content:flex-start}}
@media (max-width: 640px){.mini-map iframe{height:320px}.cookie-banner{bottom:.75rem}.cookie-banner__inner{padding:1rem;border-radius:20px}.cookie-banner__actions{flex-direction:column}.cookie-banner__actions .btn{width:100%}}
