:root{--soil:#2C1810;--bark:#4A2E1A;--hay:#C8A45A;--sage:#5C7A3E;--sage-lt:#7A9E54;--cream:#F5F0E8;--white:#FDFCFA;--mist:#EDE8DC;--gray:#6B6B6B;--red:#8B2020;--font-display:'Playfair Display',Georgia,serif;--font-body:'Inter',system-ui,sans-serif;--font-label:'Courier New',Courier,monospace;--nav-h:80px;--radius:4px;--shadow:0 2px 20px rgba(44,24,16,.08);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--white);color:var(--soil);line-height:1.65;}
img{max-width:100%;display:block;}a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2;}
h1{font-size:clamp(2.2rem,5vw,4rem);}h2{font-size:clamp(1.8rem,3.5vw,2.8rem);}h3{font-size:clamp(1.2rem,2vw,1.6rem);}
p{color:#3a3a3a;}
/* NAVBAR */
.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:1000;background:rgba(253,252,250,.95);backdrop-filter:blur(8px);border-bottom:1px solid rgba(44,24,16,.08);display:flex;align-items:center;transition:box-shadow .3s;}
.navbar.scrolled{box-shadow:0 2px 20px rgba(44,24,16,.12);}
.nav-inner{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:.7rem;}
.nav-logo-icon{width:44px;height:44px;background:var(--soil);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--hay);font-size:1.3rem;}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.1;}
.nav-logo-text strong{font-family:var(--font-display);font-size:1.05rem;color:var(--soil);}
.nav-logo-text span{font-family:var(--font-label);font-size:.6rem;color:var(--hay);letter-spacing:.15em;text-transform:uppercase;}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none;}
.nav-links a{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bark);font-weight:500;position:relative;padding-bottom:3px;transition:color .2s;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--hay);transition:width .3s;}
.nav-links a:hover,.nav-links a.active{color:var(--soil);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{background:var(--sage)!important;color:var(--white)!important;padding:.5rem 1.2rem!important;border-radius:var(--radius)!important;font-size:.8rem!important;}
.nav-cta:hover{background:var(--sage-lt)!important;}
.nav-cta::after{display:none!important;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--soil);margin:5px 0;}
/* HERO */
.hero{min-height:100vh;background:linear-gradient(160deg,var(--soil) 0%,var(--bark) 50%,#3d2010 100%);display:flex;align-items:center;justify-content:center;text-align:center;padding:calc(var(--nav-h) + 3rem) 2rem 4rem;position:relative;overflow:hidden;}
.hero-content{position:relative;z-index:1;max-width:700px;}
.hero-eyebrow{font-family:var(--font-label);font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--hay);margin-bottom:1.5rem;display:block;}
.hero h1{color:var(--cream);margin-bottom:1rem;}
.hero h1 em{color:var(--hay);font-style:normal;}
.hero-sub{color:rgba(245,240,232,.7);font-size:1.1rem;margin-bottom:2.5rem;max-width:480px;margin-left:auto;margin-right:auto;}
.hero-since{font-family:var(--font-label);color:var(--hay);font-size:.8rem;letter-spacing:.2em;opacity:.7;margin-top:2rem;}
.btn{display:inline-block;padding:.85rem 2rem;border-radius:var(--radius);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:all .25s;cursor:pointer;border:none;}
.btn-primary{background:var(--hay);color:var(--soil);}
.btn-primary:hover{background:#d4b06a;transform:translateY(-1px);box-shadow:0 4px 16px rgba(200,164,90,.4);}
.btn-outline{background:transparent;color:var(--cream);border:1.5px solid rgba(245,240,232,.4);}
.btn-outline:hover{border-color:var(--hay);color:var(--hay);}
.btn-sm{padding:.5rem 1.2rem;font-size:.78rem;}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
/* SECTIONS */
.section{padding:5rem 2rem;}.section-alt{background:var(--cream);}
.container{max-width:1200px;margin:0 auto;}
.section-label{font-family:var(--font-label);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--hay);margin-bottom:.75rem;display:block;}
.section-title{color:var(--soil);margin-bottom:1rem;}
.section-sub{color:var(--gray);max-width:560px;font-size:1.05rem;}
.section-header{margin-bottom:3.5rem;}
.section-header.centered{text-align:center;}
.section-header.centered .section-sub{margin:0 auto;}
/* ABOUT */
.about-strip{background:var(--soil);color:var(--cream);padding:4rem 2rem;text-align:center;}
.about-strip h2{color:var(--hay);margin-bottom:1rem;}
.about-strip p{color:rgba(245,240,232,.8);max-width:680px;margin:0 auto 2rem;line-height:1.8;}
/* CARDS */
.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;}
.grid-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:2rem;}
.card{background:var(--white);border:1px solid rgba(44,24,16,.08);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s;}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.card-img{width:100%;height:200px;object-fit:cover;}
.card-img-placeholder{width:100%;height:200px;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:3rem;}
.card-body{padding:1.5rem;}
.card-body h3{margin-bottom:.5rem;color:var(--soil);}
.card-body p{color:var(--gray);font-size:.95rem;line-height:1.6;}
.card-badge{display:inline-block;padding:.2rem .6rem;border-radius:2px;font-family:var(--font-label);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.75rem;}
.badge-available{background:rgba(92,122,62,.12);color:var(--sage);}
.badge-unavailable{background:rgba(139,32,32,.1);color:var(--red);}
/* SERVICE CARDS */
.service-card{display:flex;gap:1.5rem;padding:2rem;background:var(--white);border:1px solid rgba(44,24,16,.08);border-radius:var(--radius);transition:box-shadow .25s;}
.service-card:hover{box-shadow:var(--shadow);}
.service-icon{font-size:2.2rem;flex-shrink:0;}
.service-card h3{margin-bottom:.5rem;color:var(--soil);}
.service-card p{color:var(--gray);font-size:.95rem;line-height:1.6;}
/* TESTIMONIALS */
.testimonial{background:var(--soil);color:var(--cream);padding:2rem;border-radius:var(--radius);position:relative;}
.testimonial::before{content:'"';font-family:var(--font-display);font-size:4rem;color:var(--hay);opacity:.3;position:absolute;top:.5rem;left:1.2rem;line-height:1;}
.testimonial p{padding-top:1.5rem;color:rgba(245,240,232,.85);font-style:italic;line-height:1.7;}
.testimonial-author{margin-top:1rem;font-family:var(--font-label);font-size:.75rem;letter-spacing:.15em;color:var(--hay);}
.stars{color:var(--hay);}
/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;}
.contact-info h3{font-family:var(--font-label);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--hay);margin-bottom:1.5rem;}
.contact-item{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem;}
.contact-item-icon{width:36px;height:36px;background:var(--soil);color:var(--hay);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;}
.contact-item strong{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--soil);margin-bottom:.2rem;}
.contact-item span{color:var(--gray);font-size:.95rem;}
.form-group{margin-bottom:1.25rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
label{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bark);margin-bottom:.4rem;font-weight:500;}
input,textarea,select{width:100%;padding:.75rem 1rem;border:1.5px solid rgba(44,24,16,.15);border-radius:var(--radius);background:var(--white);color:var(--soil);font-family:var(--font-body);font-size:.95rem;transition:border-color .2s;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--hay);}
textarea{resize:vertical;min-height:130px;}
.alert-success{background:rgba(92,122,62,.1);border:1px solid var(--sage);color:var(--sage);padding:1rem;border-radius:var(--radius);margin-bottom:1rem;}
.alert-error{background:rgba(139,32,32,.1);border:1px solid var(--red);color:var(--red);padding:1rem;border-radius:var(--radius);margin-bottom:1rem;}
/* PAGE HERO */
.page-hero{background:var(--soil);padding:calc(var(--nav-h) + 3rem) 2rem 3rem;text-align:center;}
.page-hero h1{color:var(--cream);}
.page-hero p{color:rgba(245,240,232,.65);margin-top:.75rem;font-size:1.05rem;}
.breadcrumb{font-family:var(--font-label);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--hay);margin-bottom:1rem;}
/* FOOTER */
footer{background:var(--soil);color:rgba(245,240,232,.6);padding:3.5rem 2rem 2rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;margin-bottom:3rem;}
.footer-brand h3{font-family:var(--font-display);color:var(--cream);margin-bottom:.75rem;}
.footer-brand p{font-size:.9rem;line-height:1.7;}
.footer-col h4{font-family:var(--font-label);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--hay);margin-bottom:1.25rem;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:.6rem;}
.footer-col ul li a{font-size:.9rem;color:rgba(245,240,232,.6);transition:color .2s;}
.footer-col ul li a:hover{color:var(--hay);}
.footer-bottom{border-top:1px solid rgba(245,240,232,.1);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;flex-wrap:wrap;gap:.5rem;}
.map-container{border-radius:var(--radius);overflow:hidden;height:280px;margin-top:2rem;}
.map-container iframe{width:100%;height:100%;border:0;}
/* ANIMATIONS */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.fade-in.visible{opacity:1;transform:none;}
/* MOBILE */
@media(max-width:768px){
  .nav-links{display:none;flex-direction:column;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--white);padding:1.5rem 2rem;border-bottom:1px solid var(--mist);box-shadow:var(--shadow);}
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
  .contact-grid,.footer-grid,.form-row,.grid-2{grid-template-columns:1fr;}
  .footer-grid{gap:2rem;}
  .section{padding:3.5rem 1.5rem;}
}

/* ── LANGUAGE SWITCHER ───────────────────────────── */
.lang-switch {
  display: flex !important;
  align-items: center;
  gap: .35rem;
  font-size: .75rem !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gray) !important;
  border: 1px solid rgba(44,24,16,.15);
  padding: .3rem .7rem !important;
  border-radius: 2px;
  transition: all .2s !important;
}
.lang-switch::after { display: none !important; }
.lang-switch:hover { border-color: var(--hay) !important; color: var(--soil) !important; }
