*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Rubik',sans-serif;font-size:16px;line-height:1.6;color:#3d2024;background:#fffefb;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:'Bebas Neue',sans-serif;font-weight:400;line-height:1.1;letter-spacing:.02em;color:#722f37}
h1{font-size:clamp(2.5rem,6vw,4.5rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:clamp(1.5rem,3vw,2.2rem)}
p{margin-bottom:1rem}
a{color:#b76e79;text-decoration:none;transition:color .3s ease}
a:hover{color:#722f37}
img{max-width:100%;height:auto;display:block}
ul,ol{margin-bottom:1rem;padding-left:1.5rem}

.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(114,47,55,.96);backdrop-filter:blur(10px);box-shadow:0 2px 20px rgba(0,0,0,.15);transition:padding .3s ease}
.site-header .nav-container{max-width:1280px;margin:0 auto;padding:.85rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.site-logo{font-family:'Bebas Neue',sans-serif;font-size:1.75rem;letter-spacing:.05em;color:#fff;line-height:1}
.site-logo .logo-accent{color:#f5e6e8}
.site-logo:hover{color:#f5e6e8}

.nav-links{display:flex;align-items:center;gap:1.75rem;list-style:none;margin:0;padding:0}
.nav-links a{font-family:'Rubik',sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:#f5e6e8;position:relative;padding:.35rem 0;transition:color .3s ease}
.nav-links a::after{content:'';position:absolute;bottom:0;left: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%}

.nav-cta{display:inline-block;font-family:'Rubik',sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:500;color:#fff;background:transparent;border:2px solid #b76e79;padding:.65rem 1.5rem;border-radius:0;cursor:pointer;transition:all .3s ease;text-decoration:none;line-height:1}
.nav-cta:hover{background:#b76e79;color:#fff;transform:scale(1.05);box-shadow:0 4px 15px rgba(183,110,121,.4)}

.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:6rem 1.5rem 4rem;background:linear-gradient(rgba(61,32,36,.65),rgba(61,32,36,.55)),url('https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat;background-attachment:scroll}
.hero-inner{max-width:820px;animation:heroFade 1.2s ease-out}
@keyframes heroFade{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.hero h1{color:#fff;font-size:clamp(3rem,8vw,6rem);letter-spacing:.04em;margin-bottom:1.25rem;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.hero .hero-sub{font-size:clamp(1rem,2vw,1.35rem);color:#f5e6e8;margin-bottom:2.5rem;max-width:620px;margin-left:auto;margin-right:auto;line-height:1.5}
.hero .btn-primary{font-size:.95rem;padding:1rem 2.5rem;border-width:2px}

.btn-primary{display:inline-block;font-family:'Rubik',sans-serif;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:#fff;background:#b76e79;border:2px solid #b76e79;padding:.85rem 2.25rem;border-radius:0;cursor:pointer;transition:all .3s ease;text-decoration:none;line-height:1}
.btn-primary:hover{background:transparent;color:#f5e6e8;border-color:#f5e6e8;transform:scale(1.05);box-shadow:0 8px 25px rgba(0,0,0,.2)}
.btn-secondary{display:inline-block;font-family:'Rubik',sans-serif;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:#722f37;background:transparent;border:2px solid #722f37;padding:.85rem 2.25rem;border-radius:0;cursor:pointer;transition:all .3s ease;text-decoration:none;line-height:1}
.btn-secondary:hover{background:#722f37;color:#fff;transform:scale(1.05);box-shadow:0 8px 25px rgba(114,47,55,.3)}
.btn-ghost{display:inline-block;font-family:'Rubik',sans-serif;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:#b76e79;background:transparent;border:2px solid #b76e79;padding:.85rem 2.25rem;border-radius:0;cursor:pointer;transition:all .3s ease;text-decoration:none;line-height:1}
.btn-ghost:hover{background:#b76e79;color:#fff;transform:scale(1.05);box-shadow:0 8px 25px rgba(183,110,121,.3)}

.wave-divider{display:block;width:100%;height:80px;line-height:0}
.wave-divider svg{display:block;width:100%;height:100%;preserveAspectRatio:none}
.wave-top svg{transform:rotate(180deg)}
.wave-burgundy path,.wave-burgundy rect{fill:#722f37}
.wave-blush path,.wave-blush rect{fill:#f5e6e8}
.wave-white path,.wave-white rect{fill:#fffefb}

.section{padding:5rem 0;position:relative}
.section-inner{max-width:1140px;margin:0 auto;padding:0 2rem}
.section-alt{background:#f5e6e8}
.section-burgundy{background:#722f37}
.section-burgundy h1,.section-burgundy h2,.section-burgundy h3{color:#f5e6e8}
.section-burgundy p{color:#f0d8dc}
.section-center{text-align:center}
.section-center .section-inner{max-width:760px}
.section-header{margin-bottom:3rem;text-align:center}
.section-header h2{margin-bottom:.75rem}
.section-header p{font-size:1.05rem;color:#7a5560;max-width:600px;margin:0 auto}
.section-burgundy .section-header p{color:#f0d8dc}
.eyebrow{display:inline-block;font-family:'Rubik',sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:#b76e79;font-weight:500;margin-bottom:.75rem}
.section-burgundy .eyebrow{color:#f5e6e8}

.lead{font-size:1.15rem;color:#5a3a40;line-height:1.7}
.section-burgundy .lead{color:#f0d8dc}

.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.card{background:#fff;border:1px solid rgba(183,110,121,.15);padding:2.5rem 2rem;text-align:center;transition:transform .35s ease,box-shadow .35s ease;position:relative;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#b76e79,#722f37);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.card:hover{transform:translateY(-8px);box-shadow:0 15px 40px rgba(114,47,55,.15)}
.card:hover::before{transform:scaleX(1)}
.card-icon{width:64px;height:64px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:#f5e6e8;border-radius:0;font-size:1.75rem;color:#722f37}
.card h3{margin-bottom:.75rem;font-size:1.6rem}
.card p{color:#5a3a40;font-size:.95rem;margin-bottom:1.5rem}
.card .card-link{font-family:'Rubik',sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#b76e79;font-weight:500;border-bottom:1px solid transparent;transition:border-color .3s ease;padding-bottom:2px}
.card .card-link:hover{border-bottom-color:#b76e79}

.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:4rem}
.feature-row:last-child{margin-bottom:0}
.feature-row.reverse .feature-image{order:2}
.feature-image img{width:100%;height:420px;object-fit:cover;border-radius:0;box-shadow:0 10px 30px rgba(114,47,55,.2)}
.feature-image{position:relative}
.feature-image::after{content:'';position:absolute;top:15px;left:15px;right:-15px;bottom:-15px;border:2px solid #b76e79;z-index:-1}
.feature-content h2{margin-bottom:1rem}
.feature-content p{color:#5a3a40;margin-bottom:1.5rem}
.feature-list{list-style:none;padding:0;margin:1.5rem 0}
.feature-list li{padding:.5rem 0 .5rem 1.75rem;position:relative;color:#3d2024}
.feature-list li::before{content:'✦';position:absolute;left:0;color:#b76e79;font-size:.85rem}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.gallery-grid img{width:100%;height:240px;object-fit:cover;border-radius:0;transition:transform .4s ease,filter .4s ease;cursor:pointer}
.gallery-grid img:hover{transform:scale(1.03);filter:brightness(1.1)}

.contact-block{max-width:640px;margin:0 auto}
.contact-block address{font-style:normal;font-size:1.05rem;line-height:2;color:#3d2024;background:#fff;padding:2.5rem;border-left:4px solid #b76e79;box-shadow:0 5px 20px rgba(114,47,55,.08)}
.contact-block address strong{display:block;font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:#722f37;letter-spacing:.03em;margin-bottom:.5rem}
.contact-block address .nap-line{display:block}
.contact-block address .nap-label{font-family:'Rubik',sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#b76e79;font-weight:500;display:block;margin-top:1rem;margin-bottom:.15rem}
.contact-block address a{color:#3d2024;border-bottom:1px dotted #b76e79}
.contact-block address a:hover{color:#b76e79}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem}
.contact-info-item h3{font-size:1.4rem;margin-bottom:.5rem}
.contact-info-item p{color:#5a3a40}

.site-footer{background:#722f37;color:#f5e6e8;padding:4rem 0 2rem;position:relative}
.footer-inner{max-width:1140px;margin:0 auto;padding:0 2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem}
.footer-brand .footer-logo{font-family:'Bebas Neue',sans-serif;font-size:1.75rem;color:#fff;letter-spacing:.04em;margin-bottom:1rem;display:block}
.footer-brand p{color:#f0d8dc;font-size:.9rem;line-height:1.7;max-width:300px}
.footer-col h4{font-family:'Bebas Neue',sans-serif;font-size:1.25rem;color:#f5e6e8;letter-spacing:.05em;margin-bottom:1.25rem}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col ul li{margin-bottom:.6rem}
.footer-col ul a{color:#f0d8dc;font-size:.9rem;transition:color .3s ease,padding-left .3s ease}
.footer-col ul a:hover{color:#b76e79;padding-left:5px}
.footer-bottom{border-top:1px solid rgba(245,230,232,.15);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-size:.85rem;color:#f0d8dc;margin:0}
.footer-social{display:flex;gap:1rem}
.footer-social a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:rgba(245,230,232,.1);color:#f5e6e8;font-size:.9rem;transition:all .3s ease;border-radius:0}
.footer-social a:hover{background:#b76e79;transform:translateY(-3px)}

[data-animate]{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}
[data-animate].in-view{opacity:1;transform:translateY(0)}
[data-animate="fade"]{transform:none}
[data-animate="slide-left"]{transform:translateX(-40px)}
[data-animate="slide-left"].in-view{transform:translateX(0)}
[data-animate="slide-right"]{transform:translateX(40px)}
[data-animate="slide-right"].in-view{transform:translateX(0)}
[data-delay="1"]{transition-delay:.15s}
[data-delay="2"]{transition-delay:.3s}
[data-delay="3"]{transition-delay:.45s}
[data-delay="4"]{transition-delay:.6s}

@media (max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .feature-row{gap:2.5rem}
}

@media (max-width:768px){
  .site-header .nav-container{padding:.75rem 1.25rem;flex-wrap:wrap;gap:1rem}
  .nav-links{width:100%;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:.5rem;order:2}
  .nav-links a