*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Roboto',Georgia,serif;background:#FFFDD0;color:#2b1d0e;line-height:1.7;font-size:17px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block;object-fit:cover}
a{color:#A0522D;text-decoration:none;transition:color .25s ease}
a:hover{color:#6B8E23}
h1,h2,h3,h4,h5,h6{font-family:'Oswald',Impact,sans-serif;font-weight:700;line-height:1.15;text-transform:uppercase;letter-spacing:.5px;color:#3a2410}
h1{font-size:clamp(2.4rem,6vw,4rem)}
h2{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:1rem}
h3{font-size:clamp(1.3rem,2.5vw,1.7rem);margin-bottom:.6rem}
p{margin-bottom:1rem}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:90px 0;position:relative}
section[data-bg="cream"]{background:#FFFDD0}
section[data-bg="warm"]{background:linear-gradient(180deg,#f7ecc4 0%,#FFFDD0 100%)}
section[data-bg="olive"]{background:#6B8E23;color:#FFFDD0}
section[data-bg="olive"] h1,section[data-bg="olive"] h2,section[data-bg="olive"] h3{color:#FFFDD0}
section[data-bg="olive"] a{color:#E8A317}
section[data-bg="olive"] a:hover{color:#FFFDD0}
section[data-bg="sienna"]{background:#A0522D;color:#FFFDD0}
section[data-bg="sienna"] h1,section[data-bg="sienna"] h2,section[data-bg="sienna"] h3{color:#FFFDD0}
section[data-bg="sienna"] a{color:#E8A317}
section[data-bg="sienna"] a:hover{color:#FFFDD0}
section[data-bg="mustard"]{background:#E8A317;color:#3a2410}
section[data-bg="mustard"] h1,section[data-bg="mustard"] h2,section[data-bg="mustard"] h3{color:#3a2410}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,.84,.44,1),transform .8s cubic-bezier(.16,.84,.44,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal.delay-1{transition-delay:.12s}
.reveal.delay-2{transition-delay:.24s}
.reveal.delay-3{transition-delay:.36s}
header.site-header{background:#FFFDD0;border-bottom:4px double #A0522D;padding:18px 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 0 rgba(160,82,45,.15)}
.nav-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.nav-left,.nav-right{display:flex;gap:28px;align-items:center}
.nav-right{justify-content:flex-end}
.nav-links{list-style:none;display:flex;gap:28px;margin:0;padding:0}
.nav-links a{font-family:'Oswald',sans-serif;font-size:1rem;text-transform:uppercase;letter-spacing:1.5px;color:#3a2410;padding:6px 4px;position:relative;display:inline-block}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:3px;background:#E8A317;transition:width .3s ease}
.nav-links a:hover::after,.nav-links a:focus::after{width:100%}
.nav-links a:hover{color:#A0522D}
.nav-links a.active,.nav-links a[aria-current="page"]{color:#A0522D;border-bottom:3px solid #A0522D}
.logo{font-family:'Oswald',sans-serif;font-size:1.6rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#A0522D;text-align:center;white-space:nowrap;line-height:1.1;padding:4px 14px;border:3px solid #A0522D;background:#FFFDD0;position:relative}
.logo .sub{display:block;font-size:.62rem;letter-spacing:4px;color:#6B8E23;margin-top:2px}
.logo::before,.logo::after{content:'❋';position:absolute;top:50%;transform:translateY(-50%);color:#E8A317;font-size:.9rem}
.logo::before{left:-18px}
.logo::after{right:-18px}
.nav-toggle{display:none;background:#A0522D;color:#FFFDD0;border:3px solid #3a2410;font-family:'Oswald',sans-serif;text-transform:uppercase;padding:8px 14px;cursor:pointer;font-size:.95rem;letter-spacing:1px}
.hero{background:linear-gradient(135deg,#E8A317 0%,#A0522D 100%);color:#FFFDD0;padding:120px 0 140px;text-align:center;position:relative;overflow:hidden}
.hero::before,.hero::after{content:'';position:absolute;width:200px;height:200px;border:3px solid rgba(255,253,208,.25);transform:rotate(45deg)}
.hero::before{top:-100px;left:-100px}
.hero::after{bottom:-100px;right:-100px}
.hero h1{color:#FFFDD0;font-size:clamp(2.8rem,8vw,5.5rem);text-shadow:3px 3px 0 rgba(107,142,35,.4);margin-bottom:1.2rem}
.hero .subtitle{font-size:clamp(1.1rem,2.2vw,1.5rem);max-width:680px;margin:0 auto 2.5rem;font-weight:300;letter-spacing:.5px}
.hero .btn{background:#FFFDD0;color:#A0522D;border-color:#FFFDD0}
.hero .btn:hover{background:#6B8E23;color:#FFFDD0;border-color:#6B8E23}
.btn{display:inline-block;font-family:'Oswald',sans-serif;font-size:1.05rem;text-transform:uppercase;letter-spacing:2px;padding:16px 34px;border:4px solid #3a2410;background:#E8A317;color:#3a2410;cursor:pointer;border-radius:0;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;text-align:center;font-weight:700}
.btn:hover{transform:scale(1.04);box-shadow:6px 6px 0 #3a2410;background:#A0522D;color:#FFFDD0}
.btn-outline{background:transparent;color:#A0522D;border-color:#A0522D}
.btn-outline:hover{background:#A0522D;color:#FFFDD0;box-shadow:6px 6px 0 rgba(0,0,0,.2)}
.btn-light{background:#FFFDD0;color:#3a2410;border-color:#3a2410}
.btn-light:hover{background:#6B8E23;color:#FFFDD0;border-color:#6B8E23}
.section-head{text-align:center;margin-bottom:3.5rem;position:relative}
.section-head h2{display:inline-block;position:relative;padding:0 .5rem}
.section-head h2::before,.section-head h2::after{content:'—';color:#E8A317;margin:0 .5rem;font-weight:400}
.section-head p{max-width:680px;margin:1rem auto 0;color:#5a4220;font-size:1.08rem}
.eyebrow{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:5px;font-size:.85rem;color:#A0522D;margin-bottom:.8rem;display:block}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}
.card{background:#FFFDD0;border:3px solid #3a2410;padding:32px 26px;position:relative;transition:transform .3s ease,box-shadow .3s ease;box-shadow:5px 5px 0 #E8A317}
.card:hover{transform:translateY(-10px);box-shadow:8px 12px 0 #A0522D}
.card .icon{width:64px;height:64px;background:#E8A317;border:3px solid #3a2410;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:1.4rem;color:#3a2410;font-family:'Oswald',sans-serif;font-weight:700}
.card h3{color:#A0522D;margin-bottom:.8rem}
.card p{color:#5a4220;font-size:.98rem;margin-bottom:1.2rem}
.card .card-link{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:1.5px;font-size:.9rem;color:#6B8E23;border-bottom:2px solid #6B8E23;padding-bottom:2px}
.card .card-link:hover{color:#A0522D;border-color:#A0522D}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split img{width:100%;height:420px;object-fit:cover;border:4px solid #3a2410;box-shadow:10px 10px 0 #E8A317}
.split.reverse .split-media{order:2}
.split-media{position:relative}
.split-content p{font-size:1.05rem;color:#5a4220}
.feature-list{list-style:none;margin:1.5rem 0;padding:0}
.feature-list li{padding:10px 0 10px 32px;position:relative;border-bottom:1px dashed rgba(160,82,45,.3)}
.feature-list li::before{content:'✦';position:absolute;left:0;top:10px;color:#E8A317;font-size:1.1rem}
.feature-list li:last-child{border-bottom:none}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.gallery-grid img{width:100%;height:220px;object-fit:cover;border:3px solid #3a2410;transition:transform .3s ease,box-shadow .3s ease;box-shadow:4px 4px 0 #A0522D}
.gallery-grid img:hover{transform:scale(1.03);box-shadow:7px 7px 0 #6B8E23}
.contact-block{background:#FFFDD0;border:4px solid #3a2410;padding:48px;box-shadow:10px 10px 0 #E8A317;max-width:560px;margin:0 auto}
.contact-block .eyebrow{text-align:center}
.contact-block h2{text-align:center;color:#A0522D;margin-bottom:1.5rem}
address{font-style:normal;font-size:1.1rem;line-height:2;color:#3a2410;text-align:center}
address strong{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:1px;color:#A0522D;display:block;margin-top:10px;font-size:1rem}
address a{color:#6B8E23;border-bottom:1px dotted #6B8E23}
address a:hover{color:#A0522D;border-color:#A0522D}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.form-field{margin-bottom:1.4rem}
.form-field label{display:block;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:1px;font-size:.9rem;margin-bottom:.5rem;color:#3a2410}
.form-field input,.form-field textarea,.form-field select{width:100%;padding:12px 14px;border:3px solid #3a2410;background:#FFFDD0;font-family:'Roboto',sans-serif;font-size:1rem;color:#3a2410;border-radius:0;transition:border-color .25s ease}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:#E8A317}
.form-field textarea{min-height:140px;resize:vertical}
.map-embed{width:100%;height:380px;border:4px solid #3a2410;box-shadow:8px 8px 0 #A0522D;object-fit:cover}
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;text-align:center;margin-top:40px}
.stat{padding:24px 16px;border:3px solid #3a2410;background:rgba(255,253,208,.1)}
.stat .num{font-family:'Oswald',sans-serif;font-size:2.8rem;color:#E8A317;line-height:1;display:block}
.stat .label{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:2px;font-size:.85rem;margin-top:.5rem;display:block}
.testimonial{background:rgba(255,253,208,.95);border:3px solid #3a2410;padding:36px;position:relative;margin:0 auto;max-width:760px;box-shadow:6px 6px 0 #6B8E23}
.testimonial::before{content:'“';position:absolute;top:-10px;left:20px;font-family:'Oswald',serif;font-size:5rem;color:#E8A317;line-height:1}
.testimonial p{font-size:1.15rem;font-style:italic;color:#3a2410;margin-bottom:1rem;padding-left:30px}
.testimonial cite{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:1.5px;font-size:.95rem;color:#A0522D;font-style:normal;padding-left:30px}
.footer{background:#3a2410;color:#FFFDD0;padding:70px 0 30px;border-top:6px solid #E8A317}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px;margin-bottom:40px}
.footer h4{color:#E8A317;font-size:1.15rem;margin-bottom:1.2rem;border-bottom:2px solid #A0522D;padding-bottom:.5rem}
.footer p,.footer li,.footer address{color:#f7ecc4;font-size:.95rem;line-height:1.9}
.footer ul{list-style:none;padding:0;margin:0}
.footer ul li{padding:4px 0}
.footer ul a{color:#f7ecc4;transition:color .2s ease,padding-left .2s ease}
.footer ul a:hover{color:#E8A317;padding-left:6px}
.footer-brand{font-family:'Oswald',sans-serif;font-size:1.8rem;color:#E8