:root{
  --cream:#faf4ec;--cream-2:#f3e8db;--terra:#c0633f;--terra-2:#a8512f;
  --olive:#6b7257;--ink:#2f2a25;--muted:#6f655b;--white:#fff;--line:#e7dccd;
  --radius:20px;--shadow:0 22px 60px -34px rgba(60,40,25,.4);--max:1140px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Nunito Sans',system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.72;font-size:17px}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.18;color:var(--ink)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 26px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--terra);color:#fff;padding:15px 30px;border-radius:50px;font-weight:700;font-size:15px;transition:.25s;border:0;cursor:pointer}
.btn:hover{background:var(--terra-2);transform:translateY(-2px)}
.btn.soft{background:#fff;color:var(--terra);border:1.5px solid var(--terra)}
.btn.soft:hover{background:var(--cream-2)}
.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);font-weight:800}
.ph{font-size:1em;vertical-align:-.1em}

/* nav with drawer */
header{position:sticky;top:0;z-index:60;background:rgba(250,244,236,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav.bar{display:flex;align-items:center;justify-content:space-between;padding:18px 26px;max-width:var(--max);margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;font-family:'Fraunces';font-weight:600;font-size:22px}
.brand .mk{width:44px;height:44px;border-radius:50%;background:var(--terra);color:#fff;display:grid;place-items:center;font-size:20px}
.brand small{display:block;font-family:'Nunito Sans';font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.menu-toggle{display:flex;align-items:center;gap:18px}
.drawer-btn{background:var(--ink);color:#fff;border:0;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:22px;cursor:pointer;transition:.2s}
.drawer-btn:hover{background:var(--terra)}
.nav-inline{display:flex;gap:6px;list-style:none}
.nav-inline a{padding:9px 16px;border-radius:30px;font-weight:600;font-size:15px;color:var(--ink);transition:.2s}
.nav-inline a:hover{background:var(--cream-2)}
.nav-inline a.active{color:var(--terra);font-weight:800}
/* off-canvas */
.drawer{position:fixed;inset:0;z-index:90;visibility:hidden}
.drawer.open{visibility:visible}
.drawer-bg{position:absolute;inset:0;background:rgba(47,42,37,.5);opacity:0;transition:.3s}
.drawer.open .drawer-bg{opacity:1}
.drawer-panel{position:absolute;top:0;right:0;height:100%;width:360px;max-width:85vw;background:var(--cream);padding:40px 34px;transform:translateX(100%);transition:.35s;box-shadow:var(--shadow);overflow-y:auto}
.drawer.open .drawer-panel{transform:none}
.drawer-close{position:absolute;top:24px;right:24px;background:none;border:0;font-size:28px;cursor:pointer;color:var(--ink)}
.drawer-panel h4{font-family:'Nunito Sans';font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:30px 0 14px}
.drawer-panel a.dl{display:flex;align-items:center;gap:14px;padding:14px 0;font-family:'Fraunces';font-size:21px;border-bottom:1px solid var(--line);color:var(--ink);transition:.2s}
.drawer-panel a.dl:hover{color:var(--terra);padding-left:8px}
.drawer-panel a.dl i{color:var(--terra)}
.drawer-contact{margin-top:26px;font-size:15px;color:var(--muted)}
.drawer-contact a{color:var(--terra);font-weight:700}

/* centered hero */
.hero{text-align:center;padding:88px 0 70px;position:relative}
.hero .badge{display:inline-flex;align-items:center;gap:8px;background:var(--cream-2);border:1px solid var(--line);padding:8px 18px;border-radius:40px;font-size:13.5px;font-weight:700;color:var(--olive);margin-bottom:24px}
.hero h1{font-size:clamp(38px,5.6vw,68px);max-width:900px;margin:0 auto 22px;letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:var(--terra)}
.hero p{font-size:19px;color:var(--muted);max-width:600px;margin:0 auto 30px}
.hero .acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-img{max-width:980px;margin:54px auto 0;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}
.hero-img img{width:100%;height:440px;object-fit:cover}

section.sec{padding:88px 0}
.sec.warm{background:var(--cream-2)}
.sechead{text-align:center;max-width:680px;margin:0 auto 50px}
.sechead h2{font-size:clamp(30px,3.6vw,44px);margin:12px 0}
.sechead p{color:var(--muted);font-size:18px}

/* values strip */
.vstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.vstrip .v{padding:8px}
.vstrip .n{font-family:'Fraunces';font-size:42px;color:var(--terra)}
.vstrip .l{color:var(--muted);font-size:14.5px;margin-top:4px}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border-radius:var(--radius);padding:36px 30px;transition:.28s;border:1px solid var(--line)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card .ic{width:60px;height:60px;border-radius:50%;background:var(--cream-2);color:var(--terra);display:grid;place-items:center;font-size:26px;margin-bottom:20px}
.card h3{font-size:22px;margin-bottom:10px}
.card p{color:var(--muted);font-size:15.5px}

/* slider */
.slider{position:relative;max-width:900px;margin:0 auto;overflow:hidden;border-radius:var(--radius)}
.slides{display:flex;transition:transform .5s ease}
.slide{min-width:100%;background:#fff;padding:48px 56px;text-align:center}
.slide i.q{font-size:40px;color:var(--terra);opacity:.4}
.slide p{font-family:'Fraunces';font-size:24px;font-style:italic;line-height:1.5;margin:18px 0;color:var(--ink)}
.slide .who{color:var(--muted);font-weight:700;font-size:15px}
.slider-nav{display:flex;justify-content:center;gap:10px;margin-top:24px}
.dot{width:11px;height:11px;border-radius:50%;background:var(--line);border:0;cursor:pointer;transition:.2s}
.dot.active{background:var(--terra);width:30px;border-radius:8px}

/* feature */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.feat img{border-radius:var(--radius);box-shadow:var(--shadow)}
.feat h2{font-size:34px;margin-bottom:18px}
.feat p{color:var(--muted);margin-bottom:16px}
.feat .pts{list-style:none}
.feat .pts li{padding:11px 0 11px 36px;position:relative;border-bottom:1px solid var(--line)}
.feat .pts li i{position:absolute;left:0;top:13px;color:var(--terra);font-size:20px}

/* accordion */
.acc{max-width:820px;margin:0 auto}
.acc-item{background:#fff;border-radius:16px;margin-bottom:14px;overflow:hidden;border:1px solid var(--line)}
.acc-q{width:100%;text-align:left;background:none;border:0;padding:22px 26px;font-family:'Fraunces';font-size:19px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
.acc-q i{transition:.3s;color:var(--terra);flex-shrink:0}
.acc-item.open .acc-q i{transform:rotate(45deg)}
.acc-a{max-height:0;overflow:hidden;transition:.35s;color:var(--muted)}
.acc-a div{padding:0 26px 24px}

/* cta */
.ctaband{background:var(--olive);color:#fff;text-align:center;padding:78px 0}
.ctaband h2{color:#fff;font-size:36px;margin-bottom:14px}
.ctaband p{color:#e4e8db;max-width:560px;margin:0 auto 28px}
.ctaband .btn{background:#fff;color:var(--olive)}
.ctaband .btn:hover{background:var(--cream)}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.plan{background:#fff;border-radius:var(--radius);padding:38px 30px;text-align:center;border:1px solid var(--line)}
.plan.hot{border:2px solid var(--terra)}
.plan h3{font-size:23px}
.plan .price{font-family:'Fraunces';font-size:44px;color:var(--terra);margin:14px 0}
.plan .price small{font-size:15px;color:var(--muted);font-family:'Nunito Sans'}
.plan ul{list-style:none;text-align:left;margin:20px 0}
.plan li{padding:9px 0 9px 28px;position:relative;color:var(--muted);font-size:15px;border-bottom:1px solid var(--line)}
.plan li i{position:absolute;left:0;top:11px;color:var(--terra)}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.info-block{display:flex;gap:16px;margin-bottom:24px}
.info-block .ic{width:50px;height:50px;border-radius:50%;background:var(--cream-2);color:var(--terra);display:grid;place-items:center;font-size:21px;flex-shrink:0}
.info-block h4{font-size:16px;margin-bottom:3px;font-family:'Nunito Sans';font-weight:800}
.info-block p{color:var(--muted);font-size:15px}
form .f{margin-bottom:18px}
form label{display:block;font-size:14px;font-weight:700;margin-bottom:7px}
form input,form textarea,form select{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font-family:inherit;font-size:15px;background:#fff}
form input:focus,form textarea:focus,form select:focus{outline:none;border-color:var(--terra)}
.note{font-size:13px;color:var(--muted)}
.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);margin-top:30px}
.map-embed iframe{width:100%;height:320px;border:0;display:block}
.contact-form{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius);padding:34px}
.contact-form h3{font-family:'Fraunces';font-size:24px;margin-bottom:6px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
form label{margin-bottom:16px}
.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:13px;color:var(--muted)}
.check input{width:auto;margin-top:3px}
.check a{color:var(--terra);font-weight:700}
.form-note{margin-top:14px;color:var(--terra);font-weight:700;font-size:14px}

/* page head */
.phead{text-align:center;padding:70px 0 40px}
.phead h1{font-size:clamp(34px,4.4vw,52px)}
.phead p{color:var(--muted);max-width:600px;margin:14px auto 0}
.crumbs{font-size:13px;color:var(--terra);margin-bottom:12px;letter-spacing:.1em;font-weight:700}

/* prose */
.prose{max-width:820px;margin:0 auto}
.prose h2{font-size:26px;margin:34px 0 14px}
.prose p,.prose li{color:var(--muted);margin-bottom:12px}
.prose ul{margin:0 0 16px 22px}
.prose strong{color:var(--ink)}

/* footer */
footer{background:#2f2a25;color:#c7bcae;padding:64px 0 28px;font-size:15px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:34px;margin-bottom:40px}
footer h4{color:#fff;font-size:16px;margin-bottom:16px;font-family:'Fraunces'}
footer a{color:#c7bcae;display:block;padding:5px 0;transition:.2s}
footer a:hover{color:var(--terra)}
footer p{color:#c7bcae}
.fbrand{display:flex;align-items:center;gap:12px;color:#fff;font-family:'Fraunces';font-size:21px;margin-bottom:14px}
.fbrand .mk{width:42px;height:42px;border-radius:50%;background:var(--terra);color:#fff;display:grid;place-items:center}
.legal{border-top:1px solid #463f37;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;color:#9a8e7e}
.legal a{display:inline}

@media(max-width:920px){
  .nav-inline{display:none}
  .vstrip{grid-template-columns:repeat(2,1fr);gap:30px}
  .cards,.plans{grid-template-columns:1fr}
  .feat,.contact-grid{grid-template-columns:1fr;gap:30px}
  .hero-img img{height:300px}
  .fgrid{grid-template-columns:1fr 1fr}
}
