*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Roboto',Arial,Helvetica,sans-serif;background:#F5E6E8;color:#3a2024;line-height:1.65;font-size:1rem}
h1,h2,h3,h4,h5,h6{font-family:'Oswald','Arial Narrow',sans-serif;font-weight:600;line-height:1.15;color:#722F37;letter-spacing:.5px;text-transform:uppercase}
p{margin-bottom:1rem}
a{color:#B76E79;text-decoration:none;transition:color .2s ease}
a:hover{color:#722F37}
img{max-width:100%;height:auto;display:block}
ul,ol{margin-bottom:1rem;padding-left:1.5rem}
li{margin-bottom:.35rem}

/* ===== Header / Navigation ===== */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(114,47,55,.96);backdrop-filter:blur(8px);box-shadow:0 2px 18px rgba(0,0,0,.18);padding:.65rem 1.5rem}
.nav-bar{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem}
.nav-left,.nav-right{display:flex;gap:1.75rem;align-items:center}
.nav-right{justify-content:flex-end}
.nav-links{list-style:none;display:flex;gap:1.75rem;margin:0;padding:0}
.nav-links a{color:#F5E6E8;font-family:'Oswald',sans-serif;font-size:.95rem;letter-spacing:1.2px;text-transform:uppercase;padding:.4rem 0;position:relative;transition:color .25s ease}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:#B76E79;transition:width .3s ease}
.nav-links a:hover{color:#B76E79}
.nav-links a:hover::after{width:100%}
.nav-links a.active,.nav-links a[aria-current="page"]{color:#B76E79}
.nav-links a.active::after,.nav-links a[aria-current="page"]::after{width:100%}
.brand-logo{font-family:'Oswald',sans-serif;font-size:1.55rem;font-weight:700;color:#F5E6E8;text-align:center;letter-spacing:1.5px;line-height:1.1;text-transform:uppercase;white-space:nowrap}
.brand-logo span{display:block;font-size:.62rem;font-weight:400;letter-spacing:3px;color:#B76E79;margin-top:.15rem}
.nav-toggle{display:none;background:none;border:none;color:#F5E6E8;font-size:1.6rem;cursor:pointer;padding:.25rem .5rem;line-height:1}

/* ===== Hero (50/50 split) ===== */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:88vh;background:#722F37;color:#F5E6E8;align-items:stretch}
.hero-content{padding:4.5rem 4rem;display:flex;flex-direction:column;justify-content:center;gap:1.5rem}
.hero-content h1{color:#F5E6E8;font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;margin-bottom:.25rem}
.hero-content h1 em{color:#B76E79;font-style:normal}
.hero-content p{font-size:1.15rem;color:#f0d8dc;max-width:32rem}
.hero-image{position:relative;overflow:hidden}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-image::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(114,47,55,.35) 0%,transparent 40%);pointer-events:none}

/* ===== Buttons ===== */
.btn{display:inline-block;background:#B76E79;color:#fff;font-family:'Oswald',sans-serif;font-size:1rem;letter-spacing:1.2px;text-transform:uppercase;padding:.85rem 2.4rem;border-radius:50px;border:none;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn:hover{background:#722F37;color:#fff;transform:scale(1.05);box-shadow:0 10px 26px rgba(114,47,55,.42)}
.btn-outline{background:transparent;border:2px solid #B76E79;color:#B76E79}
.btn-outline:hover{background:#B76E79;color:#fff}
.btn-light{background:#F5E6E8;color:#722F37}
.btn-light:hover{background:#fff;color:#722F37}

/* ===== Sections ===== */
.section{padding:5rem 1.5rem}
.section-inner{max-width:1200px;margin:0 auto}
.section-blush{background:#F5E6E8}
.section-burgundy{background:#722F37;color:#F5E6E8}
.section-burgundy h1,.section-burgundy h2,.section-burgundy h3{color:#F5E6E8}
.section-burgundy h2 em{color:#B76E79;font-style:normal}
.section-burgundy p{color:#f0d8dc}
.section-white{background:#fff}
.section-rose{background:linear-gradient(135deg,#F5E6E8 0%,#efe0e3 100%)}
.section-header{text-align:center;margin-bottom:3.5rem}
.section-header h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:.75rem}
.section-header p{max-width:38rem;margin:0 auto;color:#5a3a40;font-size:1.05rem}
.section-burgundy .section-header p{color:#f0d8dc}

/* ===== Cards ===== */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 22px rgba(114,47,55,.1);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}
.card:hover{transform:translateY(-8px);box-shadow:0 18px 40px rgba(114,47,55,.22)}
.card-img{height:200px;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card-img img{transform:scale(1.06)}
.card-body{padding:1.75rem;flex:1;display:flex;flex-direction:column;gap:.75rem}
.card-body h3{font-size:1.35rem;color:#722F37}
.card-icon{width:54px;height:54px;border-radius:50%;background:#F5E6E8;color:#B76E79;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:.5rem}
.card-body p{color:#5a3a40;flex:1}

/* ===== Content split layout ===== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.split img{width:100%;height:100%;max-height:480px;object-fit:cover;border-radius:14px;box-shadow:0 10px 30px rgba(114,47,55,.18)}
.split-text h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:1rem}
.split-text p{margin-bottom:1.25rem;color:#5a3a40}
.section-burgundy .split-text p{color:#f0d8dc}
.split-text ul{list-style:none;padding:0;margin-bottom:1.5rem}
.split-text ul li{padding-left:1.6rem;position:relative;margin-bottom:.6rem;color:#5a3a40}
.section-burgundy .split-text ul li{color:#f0d8dc}
.split-text ul li::before{content:'';position:absolute;left:0;top:.55rem;width:8px;height:8px;border-radius:50%;background:#B76E79}

/* ===== Contact / Address block ===== */
.contact-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:start}
.contact-form{background:#fff;padding:2.5rem;border-radius:14px;box-shadow:0 8px 30px rgba(114,47,55,.12)}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-family:'Oswald',sans-serif;font-size:.9rem;letter-spacing:1px;text-transform:uppercase;color:#722F37;margin-bottom:.4rem}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:1.5px solid #e8d0d4;border-radius:8px;font-family:'Roboto',sans-serif;font-size:1rem;color:#3a2024;background:#fffdfa;transition:border-color .2s ease,box-shadow .2s ease}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#B76E79;box-shadow:0 0 0 3px rgba(183,110,121,.15)}
.form-group textarea{min-height:140px;resize:vertical}
.contact-nap{background:#722F37;color:#F5E6E8;padding:2.5rem;border-radius:14px}
.contact-nap h3{color:#F5E6E8;font-size:1.5rem;margin-bottom:1.25rem}
.contact-nap h3 em{color:#B76E79;font-style:normal}
address.nap-block{font-style:normal;font-size:1.05rem;line-height:2;color:#f0d8dc}
address.nap-block strong{color:#B76E79;font-family:'Oswald',sans-serif;font-weight:500;letter-spacing:.5px;text-transform:uppercase;font-size:.95rem;display:inline-block;min-width:5.5rem}
address.nap-block .nap-line{display:block;margin-bottom:.5rem}
.contact-meta{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(183,110,121,.35)}
.contact-meta a{color:#F5E6E8;border-bottom:1px solid #B76E79;padding-bottom:2px}
.contact-meta a:hover{color:#B76E79}

/* ===== Stats strip ===== */
.stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2rem;text-align:center;padding:3rem 1.5rem;background:#722F37;color:#F5E6E8}
.stat h3{font-size:2.6rem;color:#B76E79;margin-bottom:.25rem}
.stat p{font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase;color:#f0d8dc;margin:0}

/* ===== Footer ===== */
.site-footer{background:#722F37;color:#F5E6E8;padding:4rem 1.5rem 1.5rem}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem}
.footer-brand h3{color:#F5E6E8;font-size:1.6rem;margin-bottom:1rem}
.footer-brand h3 span{display:block;font-size:.7rem;letter-spacing:3px;color:#B76E79;font-weight:400}
.footer-brand p{color:#f0d8dc;font-size:.95rem;max-width:22rem}
.footer-col h4{color:#B76E79;font-size:1rem;margin-bottom:1.1rem;letter-spacing:1.5px}
.footer-col ul{list-style:none;padding:0}
.footer-col ul li{margin-bottom:.6rem}
.footer-col ul li a{color:#f0d8dc;font-size:.95rem;transition:color .2s ease,padding-left .2s ease}
.footer-col ul li a:hover{color:#fff;padding-left:6px}
.footer-col address{font-style:normal;color:#f0d8dc;font-size:.95rem;line-height:1.8}
.footer-col address a{color:#f0d8dc}
.footer-bottom{max-width:1200px;margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(183,110,121,.3);text-align:center;color:#c9a0a6;font-size:.85rem;letter-spacing:.5px}
.footer-bottom a{color:#B76E79}
.footer-social{display:flex;gap:1rem;margin-top:1rem}
.footer-social a{width:40px;height:40px;border-radius:50%;background:rgba(245,230,232,.12);display:flex;align-items:center;justify-content:center;color:#F5E6E8;font-size:.9rem;transition:background .25s ease,transform .25s ease}
.footer-social a:hover{background:#B76E79;transform:translateY(-3px)}

/* ===== Scroll Animations (IntersectionObserver driven) ===== */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}
.reveal.reveal-left{transform:translateX(-50px)}
.reveal.reveal-right{transform:translateX(50px)}
.reveal.reveal-scale{transform:scale(.92)}
.reveal.is-visible{opacity:1;transform:translate(0,0) scale(1)}
.reveal-delay-1{transition-delay:.12s}
.reveal-delay-2{transition-delay:.24s}
.reveal-delay-3{transition-delay:.36s}
.reveal-delay-4{transition-delay:.48s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* ===== Page banner (interior pages) ===== */
.page-banner{background:#722F37;color:#F5E6E8;padding:5rem 1.5rem 4rem;text-align:center}
.page-banner h1{color:#F5E6E8;font-size:clamp(2rem,4vw,3.2rem);margin-bottom:.5rem}
.page-banner p{color:#f0d8dc;font-size:1.1rem;max-width:40rem;margin:0 auto}
.breadcrumb{font-size:.85rem;color:#B76E79;letter-spacing:1px;text-transform:uppercase;margin-bottom:1rem}
.breadcrumb a{color:#B76E79}
.breadcrumb a:hover{color:#fff}

/* ===== Misc helpers ===== */
.text-center{text-align:center}
.mt-2{margin-top:2rem}
.mb-2{margin-bottom:2rem}
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.lead{font-size:1.2rem;color:#5a3a40}
.section-burgundy .lead{color:#f0d8dc}
.divider-dot{width:60px;height:4px;background:#B76E79;border-radius:50px;margin:1rem auto 0}

/* ===== Responsive ===== */
@media (max-width:1024px){
  .footer-inner{grid-template-columns:1fr 1fr;gap:2rem}
  .hero-content{padding:3rem 2.5rem}
  .contact-wrap{grid-template