
:root{
  --brown:#351412;
  --brown-2:#4b211d;
  --cream:#f8f4ec;
  --cream-2:#efe8dc;
  --gold:#b58a4a;
  --ink:#241817;
  --muted:#655b58;
  --line:#d7cec2;
  --white:#fffdf9;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.55}
a{text-decoration:none;color:inherit}
.site-header{height:74px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,249,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(53,20,18,.08)}
.brand{display:flex;align-items:center;gap:10px;font-family:"Playfair Display",serif;font-size:16px}
.brand img{width:58px;height:58px;object-fit:contain;border-radius:2px}
.nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:500}
.nav a{padding:10px 0;position:relative}
.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--brown)}
.nav-cta{background:var(--brown);color:white!important;padding:12px 20px!important;border-radius:3px}
.nav-cta span,.button span,.submit span{margin-left:8px}
.menu-toggle{display:none;border:0;background:none;font-size:24px;color:var(--brown)}
.hero{min-height:560px;display:grid;grid-template-columns:52% 48%;position:relative;overflow:hidden;background:var(--cream-2)}
.hero-content{padding:42px 8% 54px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:2;background:var(--cream)}
.hero-logo{width:150px;height:105px;object-fit:contain;object-position:center;margin:-4px 0 4px}
h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.1}
h1{font-size:43px;margin:0 0 12px;color:var(--brown)}
.gold-rule{width:70px;height:2px;background:var(--gold);margin:0 0 12px}
.tagline{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:22px;margin:0 0 8px;color:var(--brown)}
.intro{font-size:13px;color:var(--muted);max-width:430px;margin:0 0 22px}
.hero-actions{display:flex;gap:16px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:10px 25px;border-radius:3px;font-size:12px;font-weight:600;letter-spacing:.1px}
.button-dark{background:var(--brown);color:#fff}
.button-light{border:1px solid var(--brown);color:var(--brown);background:transparent}
.hero-photo{position:relative;overflow:hidden;background:#cdbca9;min-height:560px}
.hero-photo:before{content:none}
.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.photo-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(53,20,18,.08),transparent 45%)}
.section{padding:54px 7%}
.eyebrow{font-size:10px;letter-spacing:3px;font-weight:700;color:var(--brown);text-align:center;margin-bottom:5px}
h2{font-size:29px;color:var(--brown);text-align:center;margin:0}
.heading-rule{width:60px;height:2px;background:var(--gold);margin:15px auto 30px}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr)}
.service{text-align:center;padding:8px 20px;border-right:1px solid var(--line)}
.service:last-child{border-right:0}
.icon{font-size:29px;color:var(--brown);height:48px;display:flex;align-items:center;justify-content:center}
.service h3,.why h3{font-family:"Playfair Display",serif;font-size:14px;font-weight:500;margin:7px 0}
.service p,.why p{font-size:11px;color:var(--muted);margin:0}
.about{display:grid;grid-template-columns:42% 58%;min-height:330px;background:var(--cream-2)}
.about-image{position:relative;overflow:hidden;background:#cdbca9;min-height:330px}.about-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.about-image:before{content:none}
.about-note{position:absolute;left:35%;top:24%;width:180px;height:180px;background:#e9dfd1;transform:rotate(-8deg);box-shadow:0 12px 20px rgba(0,0,0,.2);font-family:"Playfair Display",serif;font-style:italic;font-size:22px;text-align:center;padding-top:26px;color:#3e302a}
.about-note span{font-size:14px}
.about-calculator{position:absolute;bottom:0;left:6%;width:90px;height:120px;background:#26221f;color:#eee;text-align:center;padding-top:14px;line-height:1.7;font-size:14px;transform:rotate(8deg)}
.about-copy{padding:60px 12%}
.about-copy .eyebrow{text-align:left}
.about-copy h2{text-align:left;font-size:29px;margin-bottom:25px}
.about-copy p{font-size:13px;color:var(--muted);max-width:560px;margin-bottom:22px}
.why{text-align:center;padding-top:48px;padding-bottom:46px}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:28px auto 0}
.why-grid article{padding:0 35px;border-right:1px solid var(--line)}
.why-grid article:last-child{border:0}
.why-icon{font-size:30px;color:var(--brown);height:40px}
.contact{display:grid;grid-template-columns:30% 34% 24%;gap:5%;padding:45px 8%;background:linear-gradient(110deg,#261310,#4b241f);color:#fff;align-items:center}
.contact .eyebrow{text-align:left}
.light{color:#c9a56d}
.contact h2{text-align:left;color:#fff;font-size:31px;margin-bottom:15px}
.contact-copy p{font-size:12px;color:#e0d3c7}
.contact-form{background:#fffdf9;color:var(--ink);padding:16px;border-radius:5px;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form label{display:block;font-size:9px;margin-bottom:10px;color:#3c302c}
input,select{width:100%;margin-top:4px;height:31px;border:1px solid #ddd3c7;background:#fff;padding:5px 8px;font:inherit;font-size:11px;border-radius:2px}
.submit{width:100%;height:32px;border:0;border-radius:2px;background:var(--brown);color:white;font-size:11px;cursor:pointer}
.contact-details{font-size:11px}
.contact-details>div{display:flex;gap:16px;margin:18px 0;align-items:flex-start;min-height:48px}.contact-details strong{width:28px;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin-top:1px}.contact-details>div>span{display:block;line-height:1.5}.contact-details>div>span>a{display:inline-block;margin-top:2px}.contact-details .sms-link{text-decoration:underline;text-underline-offset:3px}
.contact-details strong{color:#c9a56d;font-size:18px;font-weight:400}
.contact-details a{color:#fff}
.contact-details small{color:#cdbfb7}
.footer{background:#321512;color:#eee;min-height:145px;padding:25px 6%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;position:relative}
.footer-brand{display:flex;align-items:center;gap:9px;font-family:"Playfair Display",serif;font-size:13px}
.footer-brand img{width:78px;height:50px;object-fit:contain;border-radius:2px}
.footer nav{display:flex;gap:30px;font-size:10px;justify-content:center}
.social{display:flex;justify-content:flex-end;gap:12px;align-items:center;font-size:14px}
.social span{height:28px;width:1px;background:#a98053}
.social em{font-family:"Playfair Display",serif;font-size:10px}
.copyright{position:absolute;left:0;right:0;bottom:9px;text-align:center;font-size:8px;color:#bcaea7;margin:0}
@media(max-width:1000px){
  .nav{gap:18px}
  .hero{grid-template-columns:1fr}
  .hero-photo{min-height:310px}
  .hero-content{padding-top:45px;padding-bottom:45px}
  .service-grid{grid-template-columns:repeat(3,1fr);row-gap:25px}
  .service:nth-child(3){border-right:0}
  .service:nth-child(4){border-right:1px solid var(--line)}
  .contact{grid-template-columns:1fr 1fr}
  .contact-details{grid-column:1/-1;display:flex;justify-content:space-between}
}
@media(max-width:700px){
  .site-header{height:66px;padding:0 5%}
  .brand span{font-size:13px}
  .brand img{width:48px;height:48px}
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:66px;left:0;right:0;background:#fffdf9;padding:15px 6%;flex-direction:column;align-items:flex-start;gap:4px;box-shadow:0 8px 20px rgba(0,0,0,.1)}
  .nav.open{display:flex}
  .nav-cta{width:100%;text-align:center;margin-top:8px}
  .hero-content{padding:30px 7% 40px}
  .hero-logo{width:135px;height:115px}
  h1{font-size:33px}
  .tagline{font-size:18px}
  .desktop{display:none}
  .hero-actions{width:100%;flex-direction:column}
  .button{width:100%}
  .hero-photo{min-height:300px}
  .service-grid{grid-template-columns:1fr 1fr}
  .service{border-right:1px solid var(--line)!important}
  .service:nth-child(2n){border-right:0!important}
  .about{grid-template-columns:1fr}
  .about-image{min-height:280px}
  .about-copy{padding:45px 8%}
  .why-grid{grid-template-columns:1fr 1fr;row-gap:30px}
  .why-grid article:nth-child(2){border-right:0}
  .why-grid article{padding:0 18px}
  .contact{grid-template-columns:1fr;padding:40px 7%}
  .contact-details{display:block}.contact-details>div{width:100%;margin:20px 0}.contact-details strong{width:30px;min-width:30px}
  .footer{grid-template-columns:1fr;text-align:center;gap:15px;padding-bottom:45px}
  .footer-brand,.social{justify-content:center}
  .footer nav{gap:18px}
}
