/* Editorial refinement: a strong typographic identity without decorative imagery. */
:root{--paper:#f5f5f2;--ink:#161817;--muted:#5d625e;--line:#ced1cb;--lime:#d6f64c}
body{font-size:1rem}
h1,h2,h3{text-wrap:balance}
.header{background:#f5f5f2f2}
.brand span{color:#53751a}
.label{font-size:.875rem;letter-spacing:0}
.label:before{content:none}.label:after{content:none}
.header-cta,.btn{border-radius:4px;font-size:.875rem;gap:20px}
.btn{justify-content:center;min-height:56px}
.header-cta{min-height:46px;padding-inline:22px}
.nav>a,.nav-services>button{font-size:.875rem}
.submenu small{font-size:.8125rem}
.hero-caption{font-size:.8125rem;letter-spacing:.02em;color:var(--muted);margin-bottom:48px}
.agency-hero{padding-top:36px;overflow:clip}
.agency-hero h1{font-size:clamp(3rem,7.65vw,7.6rem);line-height:1.15;letter-spacing:-.06em;font-weight:550}
.agency-hero h1>span:nth-child(2){padding-left:7%;margin-top:14px}
.agency-hero h1>span:nth-child(2) .hero-word{margin-left:.1em}
.hero-word{border-bottom:2px solid var(--ink);padding-bottom:0;line-height:1.09;transition:color .3s,border-color .3s}
.agency-hero h1>span:first-child .hero-word{background:transparent;padding:0;margin-left:.02em;border-bottom:2px solid var(--ink)}
.hero-word:before{content:none}
.agency-hero .hero-word:hover,.agency-hero .hero-word:focus-visible,.agency-hero h1>span:first-child .hero-word:hover,.agency-hero h1>span:first-child .hero-word:focus-visible{background:var(--lime)}
.hero-word:hover{color:#161817}
.hero-bottom{margin-top:45px;grid-template-columns:1fr auto;gap:40px}
.hero-bottom>p{max-width:570px;font-size:1.125rem;color:#444b45;line-height:1.75}
.hero-contact{background:var(--ink);color:var(--paper);border-radius:4px;padding:19px 29px;min-height:60px;font-size:1rem;transition:background .25s,transform .25s}
.hero-contact:hover{background:#344425;transform:translateY(-3px)}
.hero-contact br{display:none}
.hero-index{margin-top:54px;font-size:.875rem;padding:22px 0 26px}
.hero-index>span{font-size:.8125rem}
.hero-index a{gap:0}
.service-ledger{background:#171b18;padding:48px 0 36px;--muted:#b9c0b8}
.ledger-heading .label,.ledger-heading>p{color:#c0c8be}
.ledger-heading{margin-bottom:30px}
.ledger-row{grid-template-columns:55px minmax(0,1fr) 210px;gap:30px;padding:48px 0;isolation:isolate}
.ledger-row:before{content:'';position:absolute;inset:0 -20px;background:#ffffff08;z-index:-1;opacity:0;transition:opacity .3s}
.ledger-row:focus-within:before,.ledger-row:hover:before{opacity:1}
.ledger-number{font-size:.875rem;color:var(--lime);font-variant-numeric:tabular-nums}
.ledger-main h2{font-size:clamp(2.5rem,4.8vw,4.4rem);font-weight:500;line-height:1.15}
.ledger-main h2 a{text-underline-offset:.15em}
.ledger-main>p{font-size:1rem;color:#c0c7be;line-height:1.75}
.ledger-detail{font-size:.875rem;color:#d5ddd1;opacity:1;gap:12px 22px}
.ledger-detail>span{border-color:#56634e}
.ledger-price small,.ledger-price>span,.ledger-note{font-size:.8125rem;color:#b6c2ad}
.ledger-price strong{font-size:1.75rem;color:#f5f9ee}
.ledger-price>span{border-color:#99ad77}
.ledger-note{line-height:1.7}
.approach-section .section-heading{grid-template-columns:1fr 2.5fr}
.approach-section h2{font-size:clamp(2.25rem,4.45vw,4.1rem)}
em{color:#606b58}
h1 em,h2 em,h3 em,h4 em,h5 em,h6 em{color:#94c63f}
.client-path{gap:24px;padding-top:34px;margin-top:64px;position:relative}
.client-path>div>span{font-size:.8125rem;color:#606b58}
.client-path h3{font-size:2rem}
.client-path>div{position:relative}
.client-path>div:before{content:'';position:absolute;top:-36px;left:0;width:0;height:3px;background:#718b39;transition:width .9s var(--ease)}
.client-path.in-view>div:before{width:100%}
.client-path>div:nth-of-type(2):before{transition-delay:.15s}.client-path>div:nth-of-type(3):before{transition-delay:.3s}
.brief-section{background:#e6e9e1}
.finder-options button{font-size:.875rem;padding:12px 18px;min-height:46px;border-radius:4px;background:transparent}
.finder-options button:hover{border-color:#25391c}
.recommend-result{border-left:2px solid #92a675;padding-left:38px;min-height:220px}
.recommend-marker{display:none}
.recommend-result h3{font-size:2rem}
.text-link{font-size:1rem;gap:0}
.working-intro h2{font-size:clamp(2.25rem,4vw,3.4rem)}
.workflow-step summary{min-height:78px;font-size:1.5rem}
.workflow-step .step-no{font-size:.8125rem}
.workflow-step[open] .step-no{color:#4e701e}
.estimate-band{padding:60px;background:var(--lime);gap:60px}
.estimate-band .btn{width:auto;min-width:230px}
.estimate-band h2{font-size:clamp(2.75rem,5vw,4.6rem)}
.end-contact h2{font-size:clamp(2.5rem,4.5vw,4.2rem)}
.footer{background:#e8eae4}
.footer-top>nav>a,.footer-top>div>p,.footer-geo,.footer-bottom,.footer-bottom>button{font-size:.8125rem}
.footer-top>nav{gap:14px 24px}
.footer-bottom>button{min-height:40px}
.footer .brand{font-size:24px}
.muted-note,.breadcrumbs,.page-meta>span,.scope-no,.cost-lines small,.end-contact small{font-size:.8125rem}
.field,.calc-group legend,.calc-option>span,.calc-breakdown>div,.calc-monthly,.calc-summary .btn,.rate .text-link,.form-buttons .btn,.form-result textarea{font-size:.875rem}
.form-note,.calc-disclaimer,.calc-once,.calc-duration,.calc-summary .label,.calc-controls .label,.calc-group legend small,.dialog-head .label{font-size:.8125rem}
.calc-controls{background:#e9ede2}.calc-summary{background:#1b2419}
.calc-option>span{min-height:62px;padding:12px 8px}
.calc-option input:checked+span{background:var(--lime);color:#263319;border-color:#516932;box-shadow:inset 0 0 0 1px #516932}
.calc-breakdown>div,.calc-monthly{flex-wrap:wrap;row-gap:4px}
.calc-disclaimer{color:#c4ceb9;line-height:1.85}
.calc-summary .btn{color:#192214}
.field{color:#3a4732}.field input::placeholder,.field textarea::placeholder{color:#69765e}
.form-note{color:#5f6e53}
.form-context{font-size:.875rem}
.rate .text-link{line-height:1.6}
.floating-contact{font-size:.875rem;padding:15px 24px;box-shadow:0 4px 25px #0002}
.motion-section{animation:editorial-reveal .7s var(--ease) both}
@keyframes editorial-reveal{from{opacity:.25;transform:translateY(22px)}to{opacity:1;transform:none}}
@media(min-width:1001px){.agency-hero{padding-bottom:6px}.page-hero h1{max-width:1100px}.calc-summary{position:relative}.header-row{gap:30px}}
@media(min-width:701px) and (max-width:1000px){.wrap{width:calc(100% - 56px)}.nav{gap:16px}.header-row{gap:20px}.header-cta{padding-inline:14px}.agency-hero h1{font-size:7.8vw}.ledger-row{grid-template-columns:32px minmax(0,1fr) 155px;gap:20px}.ledger-main h2{font-size:2.6rem}.ledger-price strong{font-size:1.5rem}.hero-bottom>p{font-size:1rem}.hero-contact{font-size:.875rem;padding:18px}.calc-controls,.calc-summary{padding:26px}.calc-options{grid-template-columns:1fr}.calc-options.two{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}.nav{background:var(--paper)}.nav>a,.nav-services>button{font-size:1rem}
 .agency-hero{padding-top:30px}.hero-caption,.hero-caption>span:last-child{font-size:.75rem;letter-spacing:0;line-height:1.6}.hero-caption{margin-bottom:38px;flex-wrap:wrap;gap:4px 16px}
 .agency-hero h1{font-size:clamp(2.35rem,8.4vw,3.7rem);line-height:1.24;letter-spacing:-.06em}.agency-hero h1>span:nth-child(2){padding-left:0;margin-top:8px}
 .hero-bottom{gap:25px;margin-top:29px}.hero-bottom>p{font-size:1rem;line-height:1.75}.hero-contact{font-size:.9375rem;min-height:54px;padding:16px 24px;flex-direction:row}
 .hero-index{margin-top:35px;gap:18px;font-size:.8125rem}.hero-index>span{font-size:.75rem;max-width:150px}
 .ledger-row{grid-template-columns:24px minmax(0,1fr);gap:0 12px;padding:34px 0}.ledger-number{font-size:.8125rem;margin-top:7px}.ledger-main h2{font-size:clamp(1.85rem,7.3vw,2.7rem)}
 .ledger-main>p{font-size:1rem}.ledger-detail{font-size:.8125rem;gap:12px 16px}.ledger-price{display:flex;align-items:flex-start;gap:5px;margin-top:24px}.ledger-price strong{font-size:1.6rem}.ledger-price>span{max-width:none;font-size:.8125rem;margin-top:8px}.ledger-price small,.ledger-note{font-size:.8125rem}
 .ledger-row:before{inset:0 -12px}.ledger-heading>p{font-size:1rem}.label{font-size:.8125rem}
 .client-path{gap:20px;margin-top:40px}.client-path>div:before{display:none}.client-path>div>span{font-size:.8125rem}.client-path h3{font-size:1.55rem}.client-path p{font-size:1rem}.client-path>div{grid-template-columns:100px 1fr;gap:8px 20px}
 .finder-options button{font-size:.875rem;padding:11px 15px}.recommend-result{padding:27px 0 0;border-left:0;border-top:2px solid #92a675;min-height:0}.recommend-result h3{font-size:1.8rem}
 .estimate-band{padding:32px 26px;gap:28px}.estimate-band .btn{min-width:0;width:100%;font-size:.875rem}.text-link{font-size:.9375rem}
 .footer-top{gap:28px}.footer-top>nav>a,.footer-top>div>p,.footer-geo{font-size:.8125rem}.footer-bottom{align-items:flex-start;flex-wrap:wrap;gap:6px 20px}.footer-bottom>button:last-child{margin-left:0}
 .calc-controls,.calc-summary{padding:28px 22px}.calc-options{grid-template-columns:1fr}.calc-options.two{grid-template-columns:1fr 1fr}.calc-option>span{font-size:.8755rem;min-height:54px}.calc-group legend small{display:block;margin-left:0;margin-top:3px}
 .calc-total{font-size:3.25rem}.calc-breakdown>div,.calc-monthly{font-size:.875rem}.calc-summary .btn{font-size:.875rem}.calc-disclaimer,.calc-summary .label,.calc-once{font-size:.8125rem}
 .mobile-bar{gap:16px;padding:12px 20px max(12px,env(safe-area-inset-bottom));align-items:center}.mobile-bar>a,.mobile-bar .btn{font-size:.8125rem;line-height:1.5}.mobile-bar>a{max-width:125px}.mobile-bar .btn{padding:11px 15px;min-height:48px}
 .form-buttons .btn,.brief-form>.btn,.field{font-size:.875rem}.form-note,.dialog-head .label{font-size:.8125rem}.service-intro-actions{flex-wrap:wrap}.service-intro-actions .btn{font-size:.875rem;min-height:54px}.rate .text-link{font-size:.875rem}.rate{gap:20px}.rate-price{font-size:1.65rem}
}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.agency-hero h1{font-size:2.17rem}.hero-caption{display:block}.hero-caption>span{display:block}.hero-index>span{max-width:132px}.client-path>div{grid-template-columns:85px 1fr;gap:8px 14px}.mobile-bar{padding-inline:16px;gap:10px}.mobile-bar .btn{padding-inline:12px}.rate{grid-template-columns:1fr}.rate .text-link{justify-self:start}.calc-controls,.calc-summary{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.motion-section{animation:none}.client-path>div:before{transition:none}}
@media print{.motion-section{animation:none}.service-ledger{background:white;color:black}}
