@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500&family=Karla:wght@400;500;700&display=swap');

:root{--pine:#1E4433;--forest:#254B38;--sage:#3E7458;--apricot:#C4713F;--apricot-soft:#D98C5F;--cream:#F4EFE4;--paper:#FBF8F1;--ink:#233529;--muted:#6E7C70;--line:rgba(35,53,41,.16)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Karla',sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:-.01em}
::selection{background:var(--apricot);color:#fff}
.wrap{width:100%;padding:0 clamp(24px,5vw,80px);max-width:1600px;margin:auto}
header{background:var(--pine);padding:22px 0;position:relative;z-index:100}
.nav{display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;text-decoration:none}
.nav-links{display:flex;align-items:center;gap:34px}
.nav-links a{color:var(--cream);font-size:15px;text-decoration:none}
.nav-cta{border:1px solid rgba(244,239,228,.35);padding:9px 18px;border-radius:999px}
.nav-cta:hover{background:var(--apricot);border-color:var(--apricot)}
.service-hero{background:var(--forest);color:var(--cream);padding:76px 0 94px;position:relative;overflow:hidden}
.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:60px;align-items:center}
.breadcrumb{display:inline-block;color:var(--apricot-soft);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;margin-bottom:30px}
.breadcrumb:hover{text-decoration:underline}
.service-hero h1{font-size:clamp(38px,5.2vw,76px);max-width:1050px;margin-bottom:26px}
.service-hero .subhead{font-size:clamp(18px,2vw,22px);max-width:790px;color:rgba(244,239,228,.85);margin-bottom:30px}
.hero-mark{width:100%;color:var(--cream);opacity:.16}
.button{display:inline-block;background:var(--apricot);color:var(--cream);padding:15px 29px;text-decoration:none;border-radius:999px;font-weight:700;transition:background .2s,transform .2s}
.button:hover{background:#A45C32;transform:translateY(-2px)}
.call-note{font-size:14px;color:rgba(244,239,228,.75);max-width:560px;margin-top:16px}
.service-section{padding:86px 0}
.section-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(32px,7vw,110px)}
.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--apricot);margin-bottom:16px}
.service-section h2{font-size:clamp(29px,3.3vw,43px);color:var(--pine);max-width:420px}
.pain-section{background:var(--cream)}
.pain-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.pain-list li{font-size:19px;padding:20px 0;border-top:1px solid var(--line)}
.work-list{list-style:none}
.work-list li{padding:17px 0 17px 26px;border-bottom:1px solid var(--line);position:relative;font-size:17px}
.work-list li::before{content:'↗';position:absolute;left:0;color:var(--apricot)}
.work-list a,.body-copy a,.faq-list a{color:var(--pine);text-underline-offset:4px}
.work-group+.work-group{margin-top:34px}
.work-group h3{font-size:26px;color:var(--pine);margin-bottom:12px}
.process-section{background:var(--pine);color:var(--cream)}
.process-section h2{color:var(--cream)}
.process-section .section-label{color:var(--apricot-soft)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.step-number{display:block;color:var(--apricot-soft);font-family:'Fraunces',serif;font-size:14px;letter-spacing:.12em;margin-bottom:16px}
.steps h3{border-top:1px solid rgba(244,239,228,.22);padding-top:17px;font-size:25px;margin-bottom:12px}
.steps p{color:rgba(244,239,228,.8)}
.body-copy{font-size:19px;color:var(--muted)}
.body-copy p+p{margin-top:20px}
.why-section{background:var(--cream)}
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{padding:23px 32px 23px 0;font-size:18px;font-weight:700;color:var(--pine);cursor:pointer;position:relative;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:0;top:20px;font-size:25px;font-weight:400;color:var(--apricot)}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{padding:0 28px 24px 0;color:var(--muted);font-size:17px}
.related-services{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.related-services h3{font-size:21px;color:var(--pine);margin-bottom:14px}
.related-services a{display:inline-block;color:var(--pine);text-underline-offset:4px;margin:0 24px 12px 0}
.closing-cta{background:var(--forest);color:var(--cream);padding:80px 0}
.closing-layout{display:flex;justify-content:space-between;align-items:center;gap:44px}
.closing-cta h2{font-size:clamp(32px,4vw,50px);margin-bottom:20px;max-width:700px}
.closing-cta p{max-width:650px;color:rgba(244,239,228,.8);font-size:18px}
.closing-cta .button{flex-shrink:0}
footer{background:var(--cream);color:var(--muted);padding:56px 0;font-size:14px;border-top:1px solid var(--line)}
.foot-inner{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.foot-logo{height:88px;width:auto}
.foot-meta{display:flex;flex-direction:column;align-items:center;gap:6px}
.foot-meta a{color:var(--apricot);text-decoration:none}
a:focus-visible,summary:focus-visible{outline:2px solid var(--apricot-soft);outline-offset:5px}
.skip-link{position:absolute;top:-100px;left:24px;background:var(--cream);color:var(--pine);padding:12px 20px;z-index:200}
.skip-link:focus{top:12px}
@media(max-width:820px){
  .hero-layout{grid-template-columns:1fr}.hero-mark{display:none}
  .section-layout{grid-template-columns:1fr;gap:32px}.service-section{padding:64px 0}
  .service-hero{padding:56px 0 72px}.service-hero h1{font-size:clamp(36px,7vw,58px)}
  .closing-layout{flex-direction:column;align-items:flex-start}.closing-cta{padding:64px 0}
  .foot-inner{flex-direction:column;text-align:center}.foot-meta{align-items:center}
}
@media(max-width:520px){.pain-list,.steps{grid-template-columns:1fr}.pain-list{gap:6px}.steps{gap:28px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}
