
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

:root{
  --bg:#fffaf4;
  --bg-soft:#f7efe4;
  --bg-hero:#fdf6ed;
  --card:#fffdf9;
  --text:#4f3f34;
  --text-soft:#746255;
  --muted:#9a8677;
  --line:#eadfce;
  --accent:#b26a45;
  --accent-dark:#8e5235;
  --accent-soft:#efe0d3;
  --quote-bg:#6f4d3c;
  --white:#fff;
}

body{
  margin:0;
  font-family:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.7;
}
a{color:inherit}
.container{width:min(1120px,calc(100% - 40px));margin:0 auto}
.narrow{max-width:790px}
.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(255,250,244,.93);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{
  font-family:"Newsreader",Georgia,serif;
  font-size:1.5rem;font-weight:700;text-decoration:none;
  color:var(--accent-dark);letter-spacing:-.02em
}
nav{display:flex;align-items:center;gap:22px}
nav a{text-decoration:none;font-size:.95rem;color:var(--text-soft)}
nav a:hover{color:var(--accent-dark)}
.nav-cta{padding:10px 15px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.6)}

.hero{
  padding:108px 0 90px;
  background:
    radial-gradient(circle at top right,rgba(228,190,157,.25) 0,transparent 34%),
    radial-gradient(circle at left center,rgba(239,224,211,.5) 0,transparent 30%),
    linear-gradient(180deg,var(--bg-hero) 0%,var(--bg) 100%);
}
.hero-inner{max-width:920px}
.eyebrow{
  margin:0 0 14px;font-size:.82rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent)
}
h1,h2,h3{margin-top:0;line-height:1.12;letter-spacing:-.03em}
h1,h2{font-family:"Newsreader",Georgia,serif}
h1{margin-bottom:24px;font-size:clamp(3rem,7vw,5.7rem);max-width:980px;color:#49392f}
h2{margin-bottom:20px;font-size:clamp(2rem,4vw,3.15rem);color:#4d3c31}
h3{margin-bottom:12px;font-size:1.28rem;color:#5b4538}
.hero-lead{max-width:820px;margin:0 0 28px;font-size:1.15rem;color:var(--text-soft)}
.principle{
  display:inline-flex;flex-direction:column;gap:4px;margin:12px 0 34px;padding:18px 22px;
  border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 14px 14px 0
}
.principle-label{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#876956}
.principle strong{font-size:1.4rem;color:#5a4334}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.button{
  display:inline-block;padding:14px 20px;border-radius:999px;text-decoration:none;font-weight:750;
  transition:transform .15s ease,box-shadow .15s ease
}
.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(108,72,50,.10)}
.button.primary{background:var(--accent);color:var(--white)}
.button.primary:hover{background:var(--accent-dark)}
.button.secondary{border:1px solid var(--line);background:rgba(255,255,255,.75)}

.section{padding:88px 0}
.soft{background:var(--bg-soft)}
.intro p,.contact p,.article-body p,.about-copy p{font-size:1.07rem;color:var(--text-soft)}
.section-heading{max-width:760px;margin-bottom:38px}
.steps,.services-grid,.proof-grid,.faq-grid{display:grid;gap:18px}
.steps{grid-template-columns:repeat(4,1fr)}
.services-grid{grid-template-columns:repeat(3,1fr)}
.proof-grid{grid-template-columns:repeat(3,1fr)}
.card{
  padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--card);
  box-shadow:0 10px 30px rgba(113,86,66,.05)
}
.card p{margin-bottom:0;color:var(--text-soft)}
.step-number{
  display:inline-block;margin-bottom:22px;padding:6px 10px;border-radius:999px;
  font-size:.78rem;font-weight:800;color:var(--accent-dark);background:var(--accent-soft)
}
.philosophy-divider{padding:42px 0 50px;text-align:center;background:var(--bg)}
.philosophy-divider .narrow{padding-top:30px;border-top:1px solid var(--line)}
.philosophy-title{
  margin:0 0 8px;font-family:"Newsreader",Georgia,serif;
  font-size:clamp(1.9rem,3vw,2.5rem);font-weight:700;color:var(--accent-dark)
}
.philosophy-subtitle{margin:0;color:var(--text-soft)}
.statement{background:var(--quote-bg);color:var(--white)}
blockquote{
  margin:0;font-family:"Newsreader",Georgia,serif;font-size:clamp(2rem,4vw,3.1rem);
  line-height:1.28;font-weight:500;letter-spacing:-.03em
}
.about-strip{background:#fffdf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:start}
.tag-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.tag{padding:8px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-weight:700;font-size:.88rem}
.text-link{color:var(--accent-dark);font-weight:800;text-decoration:none}
.text-link:hover{text-decoration:underline}
.contact{padding-top:94px}
.contact-box{
  display:grid;grid-template-columns:2fr 1fr;gap:44px;align-items:center;padding:42px;
  border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fffdf9 0%,#fdf5eb 100%);
  box-shadow:0 14px 34px rgba(115,88,65,.05)
}
.contact-action{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.contact-action small{color:var(--muted)}
footer{border-top:1px solid var(--line);padding:28px 0 36px;color:var(--muted);font-size:.9rem;background:rgba(255,250,244,.9)}
.footer-inner{display:flex;justify-content:space-between;gap:20px}

.page-hero{padding:82px 0 52px;background:linear-gradient(180deg,var(--bg-hero),var(--bg))}
.page-hero h1{font-size:clamp(2.7rem,6vw,4.8rem);max-width:900px}
.page-lead{max-width:800px;font-size:1.15rem;color:var(--text-soft)}
.article-body{max-width:820px;margin:0 auto}
.article-body h2{margin-top:48px;font-size:clamp(1.8rem,3vw,2.45rem)}
.article-body h3{margin-top:32px}
.article-body ul{color:var(--text-soft)}
.article-callout{
  margin:34px 0;padding:24px 26px;border-left:4px solid var(--accent);
  background:var(--accent-soft);border-radius:0 14px 14px 0
}
.article-callout strong{color:var(--accent-dark)}
.breadcrumbs{font-size:.9rem;color:var(--muted);margin-bottom:22px}
.breadcrumbs a{text-decoration:none}
.kicker{font-weight:800;color:var(--accent-dark)}

@media(max-width:900px){
  .steps,.services-grid,.proof-grid,.about-grid,.contact-box{grid-template-columns:1fr}
  nav a:not(.nav-cta){display:none}
  .hero{padding-top:82px}.section{padding:68px 0}
}
@media(max-width:560px){
  .container{width:min(100% - 28px,1120px)}
  h1{font-size:3.05rem}
  .contact-box{padding:28px}
  .footer-inner{flex-direction:column}
}
