:root{--red:#921208;--red-dark:#5f0b06;--red-soft:#b42a20;--white:#fff;--cream:#f6f1ee;--ink:#261311;--muted:#6c5a57;--line:#e2d5d0;--shell:1560px;--sans:Inter,Arial,Helvetica,sans-serif;--serif:Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;width:100%;max-width:100%;overflow-x:clip;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.admin-bar .site-header{top:32px}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site,.site-main,.full-bleed{width:100%;max-width:none;margin:0}.site-main{overflow:clip}.site-shell{width:min(calc(100% - clamp(36px,7vw,140px)),var(--shell));margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:var(--white);color:var(--red);padding:12px 18px}.skip-link:focus{top:16px}.utility-bar{background:var(--red);color:var(--white);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.utility-inner{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:28px}.utility-inner nav{display:flex;align-items:center;gap:24px}.utility-inner a{color:rgba(255,255,255,.86)}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);transition:box-shadow .2s ease}.site-header.is-scrolled{box-shadow:0 10px 30px rgba(55,15,11,.08)}.header-inner{height:82px;display:flex;align-items:center;gap:40px}.brand{flex:0 0 auto;display:flex;align-items:center}.brand img,.brand .custom-logo{width:190px;max-height:66px;object-fit:contain}.primary-nav{margin-left:auto}.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:30px}.nav-list>li{position:relative}.nav-list a{display:block;padding:28px 0 25px;font-weight:700;font-size:.9rem}.nav-list>li>a:after{content:"";display:block;width:0;height:2px;background:var(--red);transition:width .2s ease}.nav-list>li:hover>a:after,.nav-list>.current-menu-item>a:after,.nav-list>.current-menu-ancestor>a:after{width:100%}.nav-list .sub-menu{display:none;position:absolute;left:-24px;top:76px;min-width:255px;list-style:none;margin:0;padding:12px 0;background:var(--white);border-top:3px solid var(--red);box-shadow:0 16px 40px rgba(45,12,9,.14)}.nav-list li:hover>.sub-menu,.nav-list li:focus-within>.sub-menu{display:block}.nav-list .sub-menu a{padding:10px 24px;color:var(--ink);font-weight:600}.nav-list .sub-menu a:hover{background:var(--cream);color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid transparent;font-weight:800;font-size:.88rem;letter-spacing:.01em;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-2px)}.btn-red{background:var(--red);color:var(--white)}.btn-white{background:var(--white);color:var(--red)}.btn-outline{border-color:var(--red);color:var(--red);background:transparent}.btn-outline-white{border-color:rgba(255,255,255,.75);color:var(--white);background:transparent}.header-cta{margin-left:4px}.menu-toggle{display:none;width:46px;height:46px;border:0;background:transparent;padding:10px}.menu-toggle span:not(.screen-reader-text){display:block;height:2px;background:var(--red);margin:5px 0}.mobile-panel{display:none}.hero{background:var(--red);color:var(--white)}.hero-shell{display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);min-height:630px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:72px clamp(36px,5vw,90px) 72px max(28px,calc((100vw - var(--shell))/2 + 70px));position:relative;z-index:2;background:linear-gradient(135deg,var(--red-dark),var(--red) 70%)}.hero-copy:after{content:"";position:absolute;right:-130px;top:0;width:240px;height:100%;background:linear-gradient(90deg,var(--red),transparent);z-index:-1}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--red);font-size:.75rem;font-weight:850;margin:0 0 18px}.eyebrow-light{color:rgba(255,255,255,.78)}.hero h1,.page-hero h1,.post-title,.not-found h1{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:1.05}.hero h1{font-size:clamp(3rem,5vw,5.4rem);max-width:850px;margin:0}.hero-lead{max-width:720px;color:rgba(255,255,255,.83);font-size:1.05rem;margin:24px 0 30px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-media{min-width:0;min-height:630px;background:var(--cream)}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.topic-strip{background:var(--white);border-bottom:1px solid var(--line)}.topic-inner{min-height:72px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-block:10px}.topic-label{font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-right:8px}.topic-pill{border:1px solid #d9bab5;color:var(--red);padding:7px 15px;font-size:.78rem;font-weight:750}.section{padding:96px 0}.section-cream{background:var(--cream)}.split-section{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(48px,7vw,110px);align-items:center}.split-reverse .split-copy{order:1}.split-reverse .image-frame{order:2}.image-frame{min-width:0}.image-frame img{width:100%;height:auto;max-height:720px;object-fit:contain;background:var(--cream)}.split-copy h2,.services-intro h2,.section-head h2,.vision-grid h2,.promo-inner h2,.form-heading h2,.legal-content h2,.detail-two-col h2,.faq-wrap h2{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:-.025em}.split-copy h2,.services-intro h2,.section-head h2{font-size:clamp(2.35rem,4vw,4rem);margin:0 0 22px}.split-copy>p:not(.eyebrow),.section-head>p,.services-intro>div>p:not(.eyebrow){color:var(--muted);max-width:760px}.value-row{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:32px 0}.value-row div{padding:18px 20px 18px 0}.value-row div+div{border-left:1px solid var(--line);padding-left:20px}.value-row strong,.value-row span{display:block}.value-row strong{color:var(--red);font-family:var(--serif);font-size:1.2rem}.value-row span{font-size:.8rem;color:var(--muted);margin-top:4px}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-weight:800;font-size:.85rem}.text-link:after{content:"→"}.services-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:end;margin-bottom:42px}.wide-photo img{width:100%;height:auto;max-height:430px;object-fit:contain}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{min-width:0;background:var(--white);border-top:3px solid var(--red);padding:30px;min-height:285px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(55,15,11,.1)}.service-icon{width:38px;height:38px;object-fit:contain;margin-bottom:26px}.service-card h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:0 0 12px}.service-card p{color:var(--muted);font-size:.91rem;margin:0 0 24px}.service-card .text-link{margin-top:auto}.promo-section{background:var(--red);color:var(--white);padding:76px 0 28px}.promo-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr) auto;gap:clamp(32px,5vw,80px);align-items:center}.promo-inner h2{font-size:clamp(2.4rem,4.5vw,4.5rem);margin:0 0 16px}.promo-inner h2 small{font-size:.45em}.promo-inner p{color:rgba(255,255,255,.78);max-width:720px}.promo-inner ul{list-style:none;padding:0;margin:0}.promo-inner li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.22)}.promo-actions{display:flex;flex-direction:column;gap:10px}.promo-note{border-top:1px solid rgba(255,255,255,.2);margin-top:38px;padding-top:20px;color:rgba(255,255,255,.68);font-size:.8rem}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.52fr);gap:60px;align-items:end;margin-bottom:42px}.section-head .btn{justify-self:end}.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--red);color:var(--white)}.why-item{min-width:0;padding:38px;border-left:1px solid rgba(255,255,255,.25)}.why-item:first-child{border-left:0}.why-item span{font-weight:850;color:rgba(255,255,255,.62)}.why-item h3{font-family:var(--serif);font-weight:500;font-size:1.45rem;line-height:1.22;margin:28px 0 12px}.why-item p{color:rgba(255,255,255,.72);font-size:.88rem;margin:0}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.process-item{min-width:0;border-top:3px solid var(--red);padding-top:24px}.process-item span{color:var(--red);font-size:.78rem;font-weight:850;letter-spacing:.12em}.process-item h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:26px 0 8px}.process-item p{color:var(--muted);font-size:.9rem;margin:0}.insight-grid,.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.article-card{min-width:0;background:var(--white);border:1px solid var(--line);border-bottom:3px solid var(--red)}.article-image{display:block;background:var(--cream)}.article-image img{width:100%;aspect-ratio:16/9;object-fit:cover}.article-copy{padding:26px}.article-meta{display:flex;justify-content:space-between;gap:16px;color:var(--red);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.article-card h3{font-family:var(--serif);font-weight:500;font-size:1.42rem;line-height:1.28;margin:15px 0 12px}.article-card p{color:var(--muted);font-size:.87rem}.cta-section{background:var(--cream);padding:0 0 96px}.cta{background:var(--red);color:var(--white);padding:clamp(40px,6vw,78px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:center}.cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.3rem,4.4vw,4.4rem);line-height:1.07;margin:0 0 14px}.cta p{color:rgba(255,255,255,.77);margin:0}.cta-actions{display:flex;flex-direction:column;gap:10px}.page-hero{position:relative;overflow:hidden;background:var(--red);color:var(--white);padding:90px 0}.page-hero:after{content:"";position:absolute;right:-2%;top:-70%;width:50%;height:240%;background:url('../images/hero-lines.svg') center/contain no-repeat;opacity:.82}.page-hero .site-shell{position:relative;z-index:1}.breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:.76rem;color:rgba(255,255,255,.7);margin-bottom:30px}.breadcrumbs a{color:var(--white)}.page-hero h1{font-size:clamp(3rem,5vw,5.2rem);max-width:980px;margin:0 0 20px}.page-hero p{max-width:850px;color:rgba(255,255,255,.8);font-size:1.05rem}.vision-band{background:var(--red);color:var(--white);padding:80px 0}.vision-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);gap:70px;align-items:center}.vision-grid h2{font-size:clamp(2.4rem,4.4vw,4.5rem);margin:0}.vision-grid>p{color:rgba(255,255,255,.75)}.mission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.mission-grid article{background:var(--white);border-top:3px solid var(--red);padding:30px;min-height:215px}.mission-grid span{color:var(--red);font-weight:850}.mission-grid h3{font-family:var(--serif);font-weight:500;font-size:1.34rem;line-height:1.35;margin:42px 0 0}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--line)}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:900}.need-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.need-grid article{padding:34px;background:var(--cream);border-left:3px solid var(--red)}.need-grid h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:0 0 12px}.need-grid p{color:var(--muted);margin:0}.problem-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.problem-grid li{display:flex;align-items:flex-start;gap:20px;background:var(--white);padding:26px;border-left:3px solid var(--red)}.problem-grid span{color:var(--red);font-weight:850}.problem-grid strong{font-family:var(--serif);font-weight:500;font-size:1.18rem}.detail-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);gap:70px;align-items:start}.detail-list{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}.detail-list li{position:relative;padding:14px 0 14px 25px;border-bottom:1px solid var(--line);color:var(--muted)}.detail-list li:before{content:"";position:absolute;left:0;top:24px;width:10px;height:2px;background:var(--red)}.output-panel{background:var(--red);color:var(--white);padding:42px}.output-panel h3{font-family:var(--serif);font-weight:500;font-size:2rem;line-height:1.2;margin:0 0 24px}.output-panel ul{list-style:none;padding:0;margin:0}.output-panel li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.82)}.faq-wrap{display:grid;grid-template-columns:minmax(260px,.45fr) minmax(0,1fr);gap:70px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;position:relative;padding:20px 44px 20px 0;font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";position:absolute;right:4px;color:var(--red);font-size:1.5rem}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:var(--muted);margin:0 0 22px}.contact-grid{display:grid;grid-template-columns:minmax(320px,.62fr) minmax(0,1fr);gap:70px}.contact-details{background:var(--red);color:var(--white);padding:48px}.contact-details h2{font-family:var(--serif);font-weight:500;font-size:2.4rem;line-height:1.15;margin:0 0 28px}.contact-details>a:not(.btn){display:block;padding:16px 0;border-top:1px solid rgba(255,255,255,.22)}.contact-details a span,.contact-block span{display:block;color:rgba(255,255,255,.64);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.contact-details a strong{display:block;font-size:1rem;margin-top:5px}.contact-block{padding:16px 0;border-top:1px solid rgba(255,255,255,.22)}.contact-block p{color:rgba(255,255,255,.84);margin:5px 0 0}.form-heading h2{font-size:clamp(2.2rem,3.5vw,3.4rem);margin:0 0 12px}.form-heading>p:not(.eyebrow){color:var(--muted)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field.full{grid-column:1/-1}.form-field label{font-size:.8rem;font-weight:800}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);background:var(--white);padding:14px;color:var(--ink);border-radius:0}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--red);outline-offset:2px}.office-band{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);background:var(--red);color:var(--white)}.office-image img{width:100%;height:100%;max-height:540px;object-fit:contain;background:var(--cream)}.office-copy{padding:clamp(48px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.office-copy h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.3rem,4vw,4rem);line-height:1.1;margin:0 0 18px}.office-copy p{color:rgba(255,255,255,.78)}.office-copy .btn{align-self:flex-start;margin-top:15px}.insight-toolbar{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:38px}.category-links{display:flex;gap:10px;flex-wrap:wrap}.category-links a{border:1px solid var(--line);padding:8px 13px;color:var(--red);font-size:.78rem;font-weight:750}.search-form{display:flex}.search-form label{display:flex}.search-field{border:1px solid var(--line);padding:10px 12px;min-width:240px}.search-submit{border:0;background:var(--red);color:var(--white);padding:10px 16px;font-weight:800}.pagination{margin-top:40px}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.page-numbers{border:1px solid var(--line);padding:8px 13px}.page-numbers.current{background:var(--red);color:var(--white)}.post-hero{background:var(--red);color:var(--white);padding:90px 0}.post-meta{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.7)}.post-title{font-size:clamp(3rem,5.5vw,5.5rem);max-width:1150px;margin:18px 0}.post-hero p{max-width:850px;color:rgba(255,255,255,.78)}.post-feature{background:var(--cream)}.post-feature img{width:100%;max-height:680px;object-fit:contain;margin:auto}.post-layout{display:grid;grid-template-columns:minmax(0,900px) 320px;gap:70px;justify-content:center}.post-content{font-size:1.02rem}.post-content h2,.post-content h3{font-family:var(--serif);font-weight:500;line-height:1.2}.post-content h2{font-size:2.1rem;margin-top:42px}.post-content p,.post-content li{color:var(--muted)}.sidebar-box{background:var(--cream);border-top:4px solid var(--red);padding:28px;position:sticky;top:130px}.sidebar-box h3{font-family:var(--serif);font-weight:500;font-size:1.45rem}.sidebar-box .text-link{margin-top:18px}.legal-content{max-width:980px}.legal-content h2{font-size:2rem;margin:42px 0 12px}.legal-content p{color:var(--muted)}.content-body{max-width:1050px}.not-found{background:var(--red);color:var(--white);padding:120px 0}.not-found h1{font-size:clamp(3rem,7vw,6rem);margin:0 0 20px}.not-found p{color:rgba(255,255,255,.78)}.site-footer{background:var(--red-dark);color:var(--white);padding:72px 0 24px}.footer-grid{display:grid;grid-template-columns:1.25fr .7fr 1fr 1.05fr;gap:50px}.footer-brand img{width:180px;max-height:75px;object-fit:contain;margin-bottom:24px}.footer-brand p,.footer-col p,.footer-col li,.footer-col a{color:rgba(255,255,255,.72);font-size:.88rem}.footer-profile{display:inline-flex;margin-top:12px;border-bottom:1px solid rgba(255,255,255,.45)}.footer-col h3{font-family:var(--serif);font-weight:500;font-size:1.25rem;margin:0 0 18px}.footer-col ul{list-style:none;padding:0;margin:0}.footer-col li{margin:8px 0}.footer-col>a{display:block;margin-bottom:10px}.footer-bottom{border-top:1px solid rgba(255,255,255,.17);margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;gap:24px;color:rgba(255,255,255,.58);font-size:.76rem}.footer-bottom nav{display:flex;gap:18px}.floating-wa{position:fixed;right:22px;bottom:22px;z-index:999;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--white);color:var(--red);border:2px solid var(--red);box-shadow:0 12px 28px rgba(55,12,8,.2);font-size:.72rem;font-weight:900}.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}.reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.hero :focus-visible,.site-footer :focus-visible,.promo-section :focus-visible,.vision-band :focus-visible{outline-color:var(--white)}.empty-state{grid-column:1/-1;background:var(--cream);padding:42px}.empty-state h2{font-family:var(--serif);font-weight:500}
@media(max-width:1180px){.primary-nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}.mobile-panel{position:fixed;z-index:1100;inset:0;background:var(--red);color:var(--white);padding:28px;overflow:auto}.mobile-panel.is-open{display:block}.mobile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.mobile-head img{width:170px}.mobile-close{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.5);width:44px;height:44px;font-size:1.7rem}.mobile-panel .nav-list{display:block}.mobile-panel .nav-list a{font-family:var(--serif);font-size:1.45rem;color:var(--white);padding:10px 0}.mobile-panel .nav-list .sub-menu{display:block;position:static;background:transparent;box-shadow:none;border:0;padding:0 0 8px 18px}.mobile-panel .nav-list .sub-menu a{font-family:var(--sans);font-size:.95rem;color:rgba(255,255,255,.72)}.mobile-consult{margin-top:24px}.hero-shell{grid-template-columns:1fr}.hero-copy{padding:72px max(28px,7vw)}.hero-copy:after{display:none}.hero-media{min-height:auto}.hero-media img{height:auto;object-fit:contain}.services-intro,.split-section,.vision-grid,.detail-two-col,.contact-grid,.faq-wrap{grid-template-columns:1fr}.split-reverse .split-copy,.split-reverse .image-frame{order:initial}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.promo-inner{grid-template-columns:1fr 1fr}.promo-actions{grid-column:1/-1;flex-direction:row}.why-grid,.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.why-item:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.25)}.why-item:nth-child(4){border-top:1px solid rgba(255,255,255,.25)}.footer-grid{grid-template-columns:1fr 1fr}.post-layout{grid-template-columns:minmax(0,1fr)}.sidebar-box{position:static}.office-band{grid-template-columns:1fr}.office-image img{height:auto}.section-head{grid-template-columns:1fr}.section-head .btn{justify-self:start}}
@media(max-width:760px){body.admin-bar .site-header{top:46px}.site-shell{width:calc(100% - 32px)}.utility-bar{display:none}.header-inner{height:70px}.brand img,.brand .custom-logo{width:150px}.section{padding:68px 0}.hero-copy{padding:60px 24px}.hero h1{font-size:clamp(2.55rem,12vw,4rem)}.hero-media img{width:100%;height:auto}.topic-inner{min-height:62px}.services-intro{gap:26px}.service-grid,.why-grid,.process-grid,.mission-grid,.need-grid,.problem-grid,.insight-grid,.archive-grid{grid-template-columns:1fr}.service-card{min-height:auto}.promo-section{padding-top:58px}.promo-inner{grid-template-columns:1fr}.promo-actions{grid-column:auto;flex-direction:column}.value-row{grid-template-columns:1fr}.value-row div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.why-item+.why-item{border-left:0;border-top:1px solid rgba(255,255,255,.25)}.cta{grid-template-columns:1fr;padding:40px 26px}.cta-actions{width:100%}.cta .btn{width:100%}.page-hero{padding:68px 0}.page-hero:after{width:90%;right:-30%}.detail-list{grid-template-columns:1fr}.output-panel{padding:32px}.contact-details{padding:34px 28px}.contact-form{grid-template-columns:1fr}.form-field.full{grid-column:auto}.insight-toolbar{display:block}.category-links{margin-bottom:22px}.search-field{min-width:0;width:100%}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom nav{margin-top:12px;flex-wrap:wrap}.floating-wa{right:14px;bottom:14px}.hero-actions .btn,.promo-actions .btn{width:100%}.post-title{font-size:clamp(2.6rem,12vw,4.2rem)}}
@media(max-width:380px){.site-shell{width:calc(100% - 24px)}.hero-copy{padding-inline:18px}.btn{padding-inline:16px}.service-card,.mission-grid article,.why-item{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn:hover,.service-card:hover{transform:none}}

/* =========================================================
   V6.3 MOBILE OPTIMIZATION
   Prevent overlap, cramped grids and horizontal clipping.
   ========================================================= */

/* Safe intrinsic sizing for every grid/flex child. */
.site-shell > *,
.hero-shell > *,
.split-section > *,
.services-intro > *,
.service-grid > *,
.promo-inner > *,
.section-head > *,
.why-grid > *,
.process-grid > *,
.insight-grid > *,
.archive-grid > *,
.vision-grid > *,
.mission-grid > *,
.need-grid > *,
.problem-grid > *,
.detail-two-col > *,
.faq-wrap > *,
.contact-grid > *,
.office-band > *,
.footer-grid > *,
.post-layout > * {
  min-width: 0;
}

h1, h2, h3, h4, h5, h6,
p, li, a, span, strong,
.contact-details, .footer-col, .article-card,
.service-card, .output-panel {
  overflow-wrap: anywhere;
  word-break: normal;
}

iframe, video, embed, object, table {
  max-width: 100%;
}

.post-content table,
.content-body table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.wp-block-image,
.wp-block-video,
.wp-block-embed,
.wp-block-cover,
.wp-block-group,
.alignwide,
.alignfull {
  max-width: 100%;
}

@media (max-width: 900px) {
  .site-shell {
    width: min(calc(100% - 40px), 760px);
  }

  .hero-shell {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .hero-copy {
    min-height: 0;
    padding: 64px 32px;
  }

  .hero-media {
    min-height: 0;
    aspect-ratio: 16 / 10;
    overflow: hidden;
  }

  .hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 28%;
  }

  .services-intro,
  .split-section,
  .vision-grid,
  .detail-two-col,
  .contact-grid,
  .faq-wrap,
  .office-band,
  .post-layout {
    gap: 36px;
  }

  .services-intro {
    align-items: start;
  }

  .image-frame img,
  .wide-photo img,
  .office-image img,
  .post-feature img {
    width: 100%;
    max-height: none;
    object-fit: cover;
  }

  .wide-photo img {
    aspect-ratio: 16 / 9;
  }

  .image-frame img,
  .office-image img {
    aspect-ratio: 4 / 3;
  }

  .service-grid,
  .mission-grid,
  .need-grid,
  .insight-grid,
  .archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .section-head {
    gap: 20px;
  }

  .section-head .btn {
    justify-self: start;
  }
}

@media (max-width: 760px) {
  :root {
    --mobile-gutter: 18px;
  }

  html,
  body,
  .site,
  .site-main {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    font-size: 15px;
    line-height: 1.58;
  }

  body.admin-bar .site-header {
    top: 46px;
  }

  .site-shell {
    width: calc(100% - (var(--mobile-gutter) * 2));
    max-width: none;
  }

  .site-header {
    width: 100%;
  }

  .header-inner {
    height: 66px;
    gap: 12px;
  }

  .brand {
    min-width: 0;
    max-width: calc(100% - 58px);
  }

  .brand img,
  .brand .custom-logo {
    width: auto;
    max-width: 148px;
    max-height: 48px;
  }

  .menu-toggle {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-left: auto;
  }

  .mobile-panel {
    width: 100%;
    max-width: 100%;
    height: 100vh;
    height: 100dvh;
    padding: max(20px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));
    overscroll-behavior: contain;
  }

  .mobile-head {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--red);
    margin: -4px 0 20px;
    padding: 4px 0 12px;
  }

  .mobile-head img {
    width: auto;
    max-width: 145px;
    max-height: 50px;
  }

  .mobile-panel .nav-list a {
    font-size: 1.25rem;
    line-height: 1.25;
    padding: 9px 0;
  }

  .mobile-panel .nav-list .sub-menu {
    padding-left: 14px;
  }

  .mobile-panel .nav-list .sub-menu a {
    font-size: .9rem;
    line-height: 1.4;
    padding: 7px 0;
  }

  .section {
    padding: 58px 0;
  }

  .hero-copy {
    padding: 48px var(--mobile-gutter) 44px;
  }

  .hero h1 {
    max-width: 100%;
    font-size: clamp(2.15rem, 10.5vw, 3rem);
    line-height: 1.07;
    letter-spacing: -.03em;
  }

  .hero-lead {
    max-width: 100%;
    margin: 18px 0 24px;
    font-size: .98rem;
    line-height: 1.58;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
  }

  .hero-actions .btn,
  .promo-actions .btn,
  .cta-actions .btn {
    width: 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
  }

  .hero-media {
    aspect-ratio: 4 / 3;
    min-height: 0;
  }

  .hero-media img {
    height: 100%;
    object-fit: cover;
    object-position: center 26%;
  }

  /* One-line swipeable chips instead of multi-row stacking. */
  .topic-strip {
    overflow: hidden;
  }

  .topic-inner {
    width: 100%;
    min-height: 58px;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    padding: 10px var(--mobile-gutter);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .topic-inner::-webkit-scrollbar {
    display: none;
  }

  .topic-label,
  .topic-pill {
    flex: 0 0 auto;
  }

  .topic-label {
    margin-right: 2px;
  }

  .topic-pill {
    padding: 7px 12px;
    font-size: .74rem;
  }

  .split-section,
  .services-intro,
  .vision-grid,
  .detail-two-col,
  .contact-grid,
  .faq-wrap,
  .office-band,
  .post-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .split-reverse .split-copy,
  .split-reverse .image-frame {
    order: initial;
  }

  .image-frame,
  .wide-photo,
  .office-image,
  .post-feature {
    width: 100%;
    overflow: hidden;
  }

  .image-frame img,
  .wide-photo img,
  .office-image img,
  .post-feature img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: cover;
  }

  .image-frame img,
  .office-image img {
    aspect-ratio: 4 / 3;
  }

  .wide-photo img,
  .post-feature img {
    aspect-ratio: 16 / 10;
  }

  .split-copy h2,
  .services-intro h2,
  .section-head h2,
  .vision-grid h2,
  .promo-inner h2,
  .form-heading h2,
  .legal-content h2,
  .detail-two-col h2,
  .faq-wrap h2,
  .office-copy h2,
  .cta h2,
  .contact-details h2 {
    font-size: clamp(1.9rem, 8.4vw, 2.55rem);
    line-height: 1.12;
    letter-spacing: -.025em;
  }

  .eyebrow {
    margin-bottom: 12px;
    font-size: .69rem;
    letter-spacing: .11em;
  }

  .value-row {
    margin: 24px 0;
  }

  .value-row div {
    padding: 14px 0;
  }

  .service-grid,
  .why-grid,
  .process-grid,
  .mission-grid,
  .need-grid,
  .problem-grid,
  .insight-grid,
  .archive-grid,
  .detail-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .service-card,
  .mission-grid article,
  .need-grid article,
  .problem-grid li,
  .article-copy,
  .why-item,
  .contact-details,
  .output-panel,
  .sidebar-box {
    padding: 24px;
  }

  .service-card {
    min-height: 0;
  }

  .service-icon {
    width: 34px;
    height: 34px;
    margin-bottom: 18px;
  }

  .service-card h3,
  .process-item h3,
  .need-grid h3,
  .article-card h3 {
    font-size: 1.32rem;
  }

  .services-intro {
    margin-bottom: 28px;
  }

  .promo-section {
    padding: 54px 0 24px;
  }

  .promo-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .promo-inner h2 {
    font-size: clamp(2rem, 9.5vw, 2.7rem);
    line-height: 1.03;
  }

  .promo-inner h2 small {
    display: block;
    margin-top: 8px;
    font-size: .46em;
    line-height: 1.2;
  }

  .promo-inner ul {
    width: 100%;
  }

  .promo-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .promo-note {
    margin-top: 28px;
    padding-top: 16px;
    line-height: 1.5;
  }

  .section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    margin-bottom: 28px;
  }

  .why-grid {
    background: transparent;
    gap: 1px;
  }

  .why-item,
  .why-item:first-child,
  .why-item + .why-item,
  .why-item:nth-child(3),
  .why-item:nth-child(4) {
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.22);
    background: var(--red);
  }

  .why-item h3 {
    margin: 14px 0 8px;
    font-size: 1.3rem;
  }

  .process-grid {
    gap: 22px;
  }

  .process-item {
    padding-top: 18px;
  }

  .process-item h3 {
    margin: 12px 0 6px;
  }

  .article-meta {
    flex-wrap: wrap;
    gap: 6px 12px;
  }

  .article-image img {
    aspect-ratio: 16 / 10;
  }

  .cta-section {
    padding-bottom: 58px;
  }

  .cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding: 34px 22px;
  }

  .cta-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .page-hero {
    padding: 54px 0;
  }

  .page-hero:after {
    top: -15%;
    right: -42%;
    width: 105%;
    height: 130%;
    opacity: .28;
  }

  .page-hero h1,
  .post-title,
  .not-found h1 {
    max-width: 100%;
    font-size: clamp(2.2rem, 10.5vw, 3.25rem);
    line-height: 1.06;
  }

  .page-hero p,
  .post-hero p {
    font-size: .96rem;
  }

  .breadcrumbs {
    margin-bottom: 20px;
    font-size: .7rem;
  }

  .vision-band {
    padding: 54px 0;
  }

  .mission-grid article {
    min-height: 0;
  }

  .mission-grid h3 {
    margin-top: 18px;
  }

  .detail-list {
    gap: 0;
  }

  .problem-grid li {
    gap: 14px;
  }

  .output-panel h3 {
    font-size: 1.65rem;
  }

  .faq-list summary {
    padding: 17px 38px 17px 0;
    line-height: 1.4;
  }

  .contact-details a strong,
  .contact-details p,
  .footer-col a,
  .footer-col p {
    overflow-wrap: anywhere;
  }

  .contact-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .form-field.full {
    grid-column: auto;
  }

  .form-field input,
  .form-field select,
  .form-field textarea {
    min-width: 0;
    font-size: 16px; /* Prevent iOS zoom. */
  }

  .insight-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  .category-links {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .category-links::-webkit-scrollbar {
    display: none;
  }

  .category-links a {
    flex: 0 0 auto;
  }

  .search-form,
  .search-form label {
    width: 100%;
    min-width: 0;
  }

  .search-field {
    flex: 1 1 auto;
    min-width: 0;
  }

  .search-submit {
    flex: 0 0 auto;
  }

  .post-hero {
    padding: 54px 0;
  }

  .post-content {
    font-size: .98rem;
  }

  .post-content h2 {
    font-size: 1.65rem;
    margin-top: 32px;
  }

  .sidebar-box {
    position: static;
  }

  .office-copy {
    padding: 34px 22px;
  }

  .office-copy .btn {
    width: 100%;
  }

  .site-footer {
    padding: 54px 0 22px;
  }

  .footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  .footer-brand img {
    width: auto;
    max-width: 165px;
    max-height: 62px;
  }

  .footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .footer-bottom nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
  }

  .floating-wa {
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    width: 50px;
    height: 50px;
  }

  /* Avoid blank areas when optimization/cache delays JS. */
  .reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 380px) {
  :root {
    --mobile-gutter: 14px;
  }

  body {
    font-size: 14.5px;
  }

  .brand img,
  .brand .custom-logo {
    max-width: 132px;
  }

  .hero-copy {
    padding-top: 42px;
    padding-bottom: 38px;
  }

  .hero h1,
  .page-hero h1,
  .post-title {
    font-size: 2.05rem;
  }

  .btn {
    min-height: 46px;
    padding: 11px 14px;
  }

  .service-card,
  .mission-grid article,
  .need-grid article,
  .problem-grid li,
  .article-copy,
  .why-item,
  .contact-details,
  .output-panel,
  .sidebar-box {
    padding: 20px;
  }
}
html.menu-open,
html.menu-open body {
  overflow: hidden !important;
}
.mobile-panel[hidden] {
  display: none !important;
}

/* V6.3.1 — expanded accounting and tax package services. */
.promo-services-list {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.promo-services-list li {
  line-height: 1.45;
}

@media (min-width: 1181px) {
  .promo-inner {
    grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr) auto;
    align-items: center;
  }

  .promo-services-list li {
    padding-block: 8px;
    font-size: .94rem;
  }
}

/* =========================================================
   V6.3.3 TESTIMONIALS
   Text-only client testimonial section on the homepage.
   ========================================================= */
.testimonial-section {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(146, 18, 8, .035), transparent 45%),
    var(--cream);
}

.testimonial-section::before {
  content: "";
  position: absolute;
  top: -190px;
  right: -160px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(146, 18, 8, .12);
  border-radius: 50%;
  pointer-events: none;
}

.testimonial-heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: end;
  margin-bottom: 38px;
}

.testimonial-heading-copy {
  max-width: 900px;
}

.testimonial-heading h2 {
  max-width: 860px;
  margin: 0 0 18px;
  font-family: var(--serif);
  font-size: clamp(2.35rem, 4vw, 4rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.testimonial-heading-copy > p:not(.eyebrow) {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
}

.testimonial-navigation {
  display: flex;
  gap: 10px;
  padding-bottom: 4px;
}

.testimonial-nav {
  width: 50px;
  height: 50px;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--red);
  cursor: pointer;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease;
}

.testimonial-nav:hover:not(:disabled) {
  transform: translateY(-2px);
  border-color: var(--red);
  background: var(--red);
  color: var(--white);
}

.testimonial-nav:disabled {
  cursor: default;
  opacity: .38;
}

.testimonial-track {
  position: relative;
  z-index: 1;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(320px, calc((100% - 48px) / 3));
  gap: 24px;
  margin: 0 -4px;
  padding: 4px 4px 20px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.testimonial-track::-webkit-scrollbar {
  display: none;
}

.testimonial-card {
  min-width: 0;
  overflow: hidden;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--red);
  box-shadow: 0 16px 38px rgba(55, 15, 11, .075);
}

.testimonial-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 26px 0;
}

.testimonial-service {
  color: var(--red);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.testimonial-rating {
  flex: 0 0 auto;
  color: var(--red);
  font-size: .78rem;
  letter-spacing: .08em;
}

.testimonial-card blockquote {
  position: relative;
  margin: 0;
  padding: 26px 26px 22px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.28rem;
  font-weight: 500;
  line-height: 1.42;
}

.testimonial-card blockquote::before {
  content: "“";
  position: absolute;
  top: 6px;
  left: 20px;
  color: rgba(146, 18, 8, .12);
  font-family: var(--serif);
  font-size: 4.4rem;
  line-height: 1;
  pointer-events: none;
}

.testimonial-card blockquote::first-letter {
  position: relative;
}

.testimonial-client {
  display: grid;
  gap: 2px;
  padding: 0 26px 25px;
}

.testimonial-client strong {
  color: var(--ink);
  font-size: .9rem;
}

.testimonial-client span {
  color: var(--muted);
  font-size: .78rem;
}






@media (max-width: 1180px) {
  .testimonial-track {
    grid-auto-columns: minmax(310px, calc((100% - 24px) / 2));
  }
}

@media (max-width: 760px) {
  .testimonial-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    margin-bottom: 28px;
  }

  .testimonial-heading h2 {
    font-size: clamp(2.1rem, 10vw, 3.15rem);
  }

  .testimonial-navigation {
    padding-bottom: 0;
  }

  .testimonial-nav {
    width: 46px;
    height: 46px;
  }

  .testimonial-track {
    grid-auto-columns: minmax(280px, 88%);
    gap: 16px;
    margin-inline: calc(var(--mobile-gutter) * -1);
    padding-inline: var(--mobile-gutter);
    scroll-padding-inline: var(--mobile-gutter);
  }

  .testimonial-card-top {
    padding: 22px 22px 0;
  }

  .testimonial-card blockquote {
    padding: 24px 22px 20px;
    font-size: 1.15rem;
  }

  .testimonial-client {
    padding: 0 22px 22px;
  }
}

@media (max-width: 380px) {
  .testimonial-track {
    grid-auto-columns: 91%;
  }

  .testimonial-card blockquote {
    font-size: 1.08rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .testimonial-track {
    scroll-behavior: auto;
  }

  .testimonial-nav {
    transition: none;
  }
}
