:root{--navy:#102e4f;--navy-d:#0a2037;--blue:#2479a6;--steel:#8db2d1;--mist:#edf5fa;--mist2:#f6fafd;--line:#dbe6ef;--ink:#172e43;--muted:#65778a;--white:#fff;--font:"DM Sans",Arial,sans-serif;--head:"Manrope",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;color:var(--ink);background:#fff;font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
img{display:block;max-width:100%;height:auto}
.container{width:min(1220px,calc(100% - 88px));margin:0 auto}
.skip-link{position:absolute;z-index:9000;top:-80px;left:16px;padding:12px 20px;background:#fff;color:var(--navy)}
.skip-link:focus{top:10px}
:focus-visible{outline:3px solid #3c96d1;outline-offset:4px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);border-bottom:1px solid #e7edf3;box-shadow:0 3px 24px rgba(16,46,79,.035)}
.header-inner{min-height:102px;display:flex;align-items:center;gap:30px}
.brand{display:block;flex:0 0 226px}
.brand img{width:226px;height:auto}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:24px;margin-left:auto;white-space:nowrap}
.desktop-nav a{font-size:13px;font-weight:700;color:#3e5062;transition:color .2s}
.desktop-nav a:hover,.header-text-link:hover{color:var(--blue)}
.header-actions{display:flex;align-items:center;gap:17px;margin-left:auto;white-space:nowrap}
.header-text-link{font-weight:700;font-size:13px;color:var(--navy)}
.header-text-link span{font-size:15px;padding-left:2px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:19px;padding:15px 23px;border-radius:6px;font-size:13px;font-weight:800;line-height:1.35;letter-spacing:.01em;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;white-space:nowrap;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn span{font-size:18px;line-height:1}
.btn-small{padding:12px 18px;font-size:12px;gap:10px}
.btn-navy{background:var(--navy);color:#fff;box-shadow:0 6px 16px rgba(13,40,72,.12)}
.btn-navy:hover{background:#1b517a}
.btn-outline{background:#fff;color:var(--navy);border:1px solid #a3b9ce}
.btn-outline:hover{background:var(--mist)}
.btn-white{background:white;color:var(--navy)}
.btn-white:hover{background:#e2eff8}
.btn-ghost{background:transparent;color:#fff;border-color:#9fb7cb}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.mobile-nav{display:none}
.hero{background:linear-gradient(180deg,#fcfdff 0%,#f3f8fc 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:52% 48%;min-height:656px;align-items:stretch}
.hero-text{padding:106px 40px 83px 0;position:relative;z-index:1}
.eyebrow,.kicker,.tiny-overline{font-size:11px;letter-spacing:.2em;font-weight:800;color:var(--blue)}
.eyebrow{display:flex;gap:13px;align-items:center;white-space:nowrap}
.eyebrow-line{width:33px;height:1px;background:var(--blue)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);color:var(--navy);font-weight:normal;letter-spacing:-.035em}
h1{font-size:clamp(44px,5.05vw,76px);line-height:1.13;margin:28px 0 26px;max-width:670px}
h1 em,h2 em{font-weight:normal;font-style:italic;color:var(--blue)}
.hero-lead{max-width:540px;font-size:17px;line-height:1.82;color:#576f82;margin-bottom:20px}
.tagline{font-weight:700;color:var(--navy);font-size:14px;display:flex;align-items:center;gap:10px;margin-bottom:33px}
.tagline svg{color:var(--blue)}
.hero-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.hero-footer{font-size:11px;letter-spacing:.02em;color:#8191a0;margin-top:43px;display:flex;align-items:center;gap:11px}
.small-divider{width:30px;height:1px;background:#8ba8c1}
.hero-visual{position:relative;min-height:656px;overflow:hidden;background:linear-gradient(145deg,#eaf0f2,#e0e8ef)}
.hero-photo{position:absolute;inset:-1px;background-image:url('assets/workspace-derived.jpg');background-size:cover;background-position:45% 44%;filter:saturate(.84) contrast(1.01) brightness(1.07)}
.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,250,253,.12),rgba(227,239,247,.1) 50%,rgba(14,42,72,.20)),linear-gradient(0deg,rgba(12,34,54,.12),transparent 55%)}
.hero-visual::after{content:"";position:absolute;top:0;bottom:0;left:0;width:95px;background:linear-gradient(90deg,#f9fcff 0,rgba(249,252,255,0) 100%);pointer-events:none}
.hero-quote{position:absolute;left:42px;bottom:57px;width:300px;padding:25px 30px;background:rgba(255,255,255,.96);z-index:2;border-radius:5px;box-shadow:0 18px 50px rgba(11,34,54,.14)}
.hero-quote .micro{font-size:10px;letter-spacing:.2em;color:var(--blue);font-weight:700;display:block;margin-bottom:11px}
.hero-quote strong{font:normal 31px/1.22 var(--serif);letter-spacing:-.028em;color:var(--navy)}
.hero-quote i{color:var(--blue)}
.quote-line{display:block;background:var(--steel);width:46px;height:2px;margin-top:17px}
.hero-visual-mark{position:absolute;right:25px;top:20px;font:bold italic 115px var(--serif);color:rgba(255,255,255,.24)}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.trust-inner{min-height:78px;display:flex;align-items:center;justify-content:center;gap:48px;color:#6b8295;font-size:10px;letter-spacing:.18em;font-weight:800}
.trust-dot{height:5px;width:5px;border-radius:50%;background:#aec6da}
.section{padding:109px 0}
.kicker{margin:0 0 14px;letter-spacing:.17em}
h2{font-size:clamp(38px,4vw,56px);line-height:1.16;margin:0 0 24px}
.split-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:47px}
.split-heading h2{margin-bottom:0}
.split-heading>p{max-width:434px;color:var(--muted);margin-bottom:4px;font-size:15px}
.services-section{background:#fff}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-card{border:1px solid var(--line);border-radius:8px;padding:35px 34px 30px;display:flex;flex-direction:column;min-height:610px;transition:box-shadow .2s,transform .2s;background:#fff}
.service-card:hover{box-shadow:0 18px 50px rgba(16,46,79,.08);transform:translateY(-3px)}
.service-card-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:31px}
.service-count{font:normal 23px var(--serif);color:#a1b2c2}
.service-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#eaf3fa;color:#174977}
.service-icon svg{width:34px;height:34px}
.service-label{font-size:10px;color:var(--blue);letter-spacing:.17em;font-weight:800;margin-bottom:11px}
.service-card h3{font:normal 33px/1.2 var(--serif);color:var(--navy);letter-spacing:-.025em;margin-bottom:17px}
.service-card>p:not(.service-label){color:var(--muted);font-size:14px;line-height:1.75;min-height:93px;margin-bottom:16px}
.tick-list{padding:0;margin:0;list-style:none}
.tick-list li{position:relative;padding:0 0 0 22px;margin:0 0 11px;font-size:13px;line-height:1.53;color:#435a6f}
.tick-list li:before{position:absolute;top:-1px;left:0;content:"✓";color:var(--blue);font-size:14px;font-weight:800}
.service-card .tick-list{margin-bottom:23px}
.text-cta{color:var(--navy);display:inline-flex;gap:11px;align-items:center;font-size:13px;font-weight:800;padding-bottom:5px;border-bottom:1px solid #9ebbd1;align-self:flex-start}
.text-cta:hover{color:var(--blue);border-bottom-color:var(--blue)}
.text-cta span{font-size:19px;font-weight:400}
.service-card .text-cta{margin-top:auto}
.pricing-section{background:linear-gradient(180deg,#ecf5fa,#f7fafc 58%,#fff 100%);border-top:1px solid #e6f0f5}
.center-heading{text-align:center;max-width:720px;margin:0 auto 47px}
.center-heading h2{margin:0 0 15px}
.center-heading>p:last-child{font-size:15px;color:var(--muted);max-width:690px;margin:0 auto}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.price-card{background:#fff;border:1px solid #d6e5ee;border-radius:8px;padding:40px 35px 32px;display:flex;flex-direction:column;min-height:575px;box-shadow:0 11px 28px rgba(19,68,106,.035)}
.tier-number{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.19em}
.price-card h3{font:normal 37px var(--serif);color:var(--navy);margin:12px 0 13px}
.tier-intro{font-size:14px;color:var(--muted);min-height:75px;max-width:280px}
.price-wrap{display:flex;flex-direction:column;margin:24px 0 19px}
.price-wrap span{text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:800;color:var(--blue)}
.price-wrap strong{font:normal clamp(31px,3vw,41px)/1.2 var(--serif);color:var(--navy);letter-spacing:-.04em;margin-top:6px;white-space:nowrap}
.price-wrap small{color:#697f90;font-size:13px}
.price-separator{height:1px;background:var(--line);margin-bottom:24px}
.price-card .tick-list{margin-bottom:31px}
.price-btn{width:100%;margin-top:auto}
.terms-banner{display:flex;align-items:center;justify-content:center;gap:16px;max-width:685px;margin:35px auto 20px;padding:17px 24px;border-radius:8px;background:#deedf7;text-align:center;color:var(--navy);font-size:14px}
.terms-check{display:grid;place-items:center;background:var(--navy);color:#fff;width:27px;height:27px;border-radius:50%;font-weight:800;flex:0 0 auto}
.terms-pipe{height:20px;width:1px;background:#b5cde0}
.price-disclaimer{font-size:12px;line-height:1.7;color:#7a8e9f;max-width:815px;text-align:center;margin:0 auto}
.pricing-addons{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:59px}
.pricing-addons article{background:#fff;border:1px solid var(--line);padding:39px 41px 41px;border-radius:8px}
.addon-line{width:46px;height:3px;background:var(--steel);display:block;margin-bottom:22px}
.pricing-addons h3{font:normal 29px/1.3 var(--serif);letter-spacing:-.02em;color:var(--navy);margin-bottom:13px}
.pricing-addons p:not(.kicker){font-size:14px;color:var(--muted);max-width:490px;margin-bottom:24px}
.process-section{background:#fff;padding:100px 0 108px}
.process-steps{list-style:none;margin:0;padding:16px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.process-steps li{text-align:center;position:relative}
.process-steps li:not(:last-child):after{content:"";position:absolute;top:26px;left:calc(50% + 44px);width:calc(100% - 56px);border-top:1px solid #c7dcea}
.process-badge{width:53px;height:53px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font:normal 24px var(--serif);margin:0 auto 24px;position:relative;z-index:1}
.process-steps li:nth-child(even) .process-badge{background:#8bb5d1}
.process-steps h3{font:normal 21px var(--serif);color:var(--navy);margin:0 0 10px}
.process-steps p{font-size:13px;color:var(--muted);max-width:210px;margin:0 auto}
.about-section{background:linear-gradient(115deg,#123757,#0c2b49);color:#fff;position:relative;overflow:hidden}
.about-section:before,.closing-cta:before{content:"";position:absolute;right:-85px;bottom:-110px;width:440px;height:440px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 82px rgba(255,255,255,.025),0 0 0 168px rgba(255,255,255,.015)}
.about-grid{display:grid;grid-template-columns:1fr .86fr;gap:105px;align-items:center;position:relative;z-index:1}
.kicker-light{color:#b0d3eb}
.about-left h2{color:#fff;max-width:530px}
.about-left h2 em{color:#b2d0e9}
.about-left p:not(.kicker){color:#d2e0e9;font-size:14px;line-height:1.9;max-width:560px}
.about-left p.about-intro{font-size:16px;color:#f1f6fa}
.about-left .btn{margin-top:17px}
.about-right{background:rgba(255,255,255,.095);border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:33px 42px}
.tiny-overline{color:#bed9ea;margin:0 0 14px}
.value-row{display:grid;grid-template-columns:35px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.value-row:last-child{border-bottom:0}
.value-row>span{font:normal 23px var(--serif);color:#a5cce5}
.value-row h3{font:normal 20px var(--serif);color:#fff;margin-bottom:7px}
.value-row p{font-size:13px;color:#cfdee9;margin:0}
.message-section{background:#f6fafc}
.message-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.message-intro{padding-top:52px}
.message-intro>p:not(.kicker){color:var(--muted);max-width:440px;font-size:15px;line-height:1.9}
.message-note{display:flex;gap:19px;max-width:440px;border-top:1px solid #d5e3ee;margin-top:49px;padding-top:27px}
.note-icon{flex:0 0 44px;width:44px;height:44px;background:#e2f0f9;color:var(--navy);border-radius:50%;display:grid;place-items:center;font-size:23px}
.message-note strong{font-size:15px;color:var(--navy)}
.message-note p{font-size:13px;color:var(--muted);margin:8px 0 14px}
.message-form-card{padding:40px 42px;background:#fff;border:1px solid #dce9f1;border-radius:9px;box-shadow:0 17px 52px rgba(22,71,107,.055)}
.message-form-card h3{font:normal 29px var(--serif);color:var(--navy);margin:0 0 8px}
.form-subtitle{font-size:13px;color:var(--muted);margin-bottom:24px}
form label{display:block;font-size:12px;font-weight:800;color:#35506a;margin-bottom:18px;line-height:1.5}
form label span[aria-hidden="true"]{color:#0b75a8}
form label small{font-size:11px;font-weight:400;color:#77899a}
form input,form select,form textarea{display:block;width:100%;border:1px solid #d1e0eb;border-radius:5px;background:#fcfeff;color:var(--ink);padding:12px 14px;min-height:47px;outline:none;margin-top:8px;font-size:14px;font-weight:400;transition:border-color .18s,box-shadow .18s}
form input:focus,form select:focus,form textarea:focus{border-color:#3189bc;box-shadow:0 0 0 3px #dceef8}
form textarea{resize:vertical;min-height:117px}
form input::placeholder,form textarea::placeholder{color:#9baebb}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.form-submit{margin-top:4px}
.form-privacy{font-size:11px;line-height:1.55;color:#7a8e9c;margin:15px 0 0}
.honeypot{display:none}
.closing-cta{position:relative;overflow:hidden;padding:87px 0 94px;background:linear-gradient(110deg,#0b2a49,#184469);text-align:center;color:#fff}
.closing-inner{position:relative;z-index:1}
.closing-cta h2{color:#fff;font-size:clamp(40px,4.1vw,57px);margin-bottom:11px}
.closing-cta h2 em{color:#b9d6e9}
.closing-cta p:not(.kicker){font-size:15px;color:#dfebf3;margin-bottom:25px}
.closing-buttons{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap}
.site-footer{background:#fff}
.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding-top:67px;padding-bottom:60px}
.footer-brand img{width:245px}
.footer-brand p{font-size:12px;color:#7890a3;margin:11px 0 0}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:7px 25px;align-content:start;padding-top:7px}
.footer-links a{font-size:13px;color:#536a7b}
.footer-links a:hover{color:var(--blue)}
.footer-contact{padding-top:4px}
.footer-contact strong{font:normal 21px var(--serif);color:var(--navy)}
.footer-contact p{font-size:13px;color:var(--muted);margin:12px 0 13px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid var(--line);font-size:11px;color:#8494a3}
.estimate-dialog{border:0;border-radius:10px;padding:0;background:#fff;box-shadow:0 30px 95px rgba(4,25,49,.35);color:var(--ink);max-width:min(1190px,calc(100vw - 28px));width:100%;max-height:min(90vh,920px);overflow:auto;overscroll-behavior:contain}
.estimate-dialog::backdrop{background:rgba(6,26,45,.70);backdrop-filter:blur(3px)}
.modal-shell{position:relative;padding:40px 42px 43px}
.dialog-close{position:sticky;top:0;float:right;z-index:3;border:1px solid #d9e4ed;border-radius:50%;font:normal 26px/1 Arial,sans-serif;background:#fff;color:var(--navy);height:40px;width:40px;display:grid;place-items:center;margin:-13px -18px 0 0}
.dialog-close:hover{background:var(--mist)}
.modal-header h2{font-size:43px;margin-bottom:10px}
.modal-header>p:last-child{max-width:730px;color:var(--muted);font-size:14px;margin-bottom:26px}
.estimate-dialog .form-row{gap:20px}
.estimate-dialog .form-submit{width:100%;margin-top:13px}

/* Estimate request: side-by-side inquiry form and optional QuickBooks access steps. */
.estimate-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.88fr);align-items:start;gap:27px}
.estimate-form-column{min-width:0;padding:8px 0 0}
.estimate-dialog .modal-header h2{font-size:clamp(34px,3.8vw,49px);line-height:1.16}
.estimate-dialog .form-row{gap:16px}
.estimate-dialog form label{font-size:12px;margin-bottom:15px}
.estimate-dialog form select,.estimate-dialog form input,.estimate-dialog form textarea{font-size:13px;padding:11px 12px}
.estimate-dialog .form-privacy{margin:8px 0 13px}
/* Wyn the Books signature: navy / steel-blue QuickBooks guidance panel */
.quickbooks-access{background:linear-gradient(180deg,#f0f6fb 0%,#f9fcfe 100%);border:1px solid #cfdeea;border-radius:9px;padding:15px;color:var(--ink);box-shadow:0 8px 26px rgba(16,46,79,.045)}
.qb-top{background:linear-gradient(135deg,var(--navy) 0%,#285b80 100%);color:white;border-radius:6px;padding:23px 22px 21px}
.qb-topline{display:flex;gap:10px;align-items:center;margin-bottom:17px}
.qb-monogram{width:31px;height:31px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-family:var(--serif);font-weight:bold;font-size:20px;color:#e5f3fd}
.qb-kicker{display:inline-block;font-size:11px;letter-spacing:.12em;font-weight:800;color:#fff;line-height:1.45;padding:7px 10px;border:1px solid rgba(255,255,255,.43);background:rgba(141,178,209,.23);border-radius:4px}
.quickbooks-access .qb-top h3{font:normal 32px/1.12 var(--serif);letter-spacing:-.02em;color:white;margin:0 0 12px}
.quickbooks-access .qb-top h3 em{font-weight:normal;color:#b8d8ec}
.qb-top>p{font-size:12px;line-height:1.6;color:#ebf3fa;margin:0}
.qb-reassurance{display:flex;align-items:start;gap:11px;padding:17px 13px 15px;margin:5px 0 0}
.qb-check{flex:0 0 21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--steel);color:var(--navy-d);font-size:13px;font-weight:900;margin-top:1px}
.qb-reassurance p{margin:0;font-size:12px;line-height:1.56;color:#4a6478}
.qb-reassurance strong{color:var(--navy)}
.qb-route-title{font-size:12px;font-weight:800;color:var(--navy);letter-spacing:.01em;margin:19px 12px 13px}
.qb-path{list-style:none;padding:0;margin:0 0 13px;display:grid;gap:9px}
.qb-path li{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid #d5e3ef;border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(16,46,79,.025)}
.qb-path-count{display:grid;place-items:center;flex:0 0 31px;height:31px;border:1px solid #c0d6e8;border-radius:5px;background:var(--mist);color:var(--navy);font:800 12px var(--head);letter-spacing:.06em}
.qb-path strong{display:block;color:var(--navy);font-size:12px;line-height:1.45;margin:0 0 4px}
.qb-path p{font-size:11px;line-height:1.62;color:#5a6f83;margin:0;overflow-wrap:anywhere}
.qb-path b{color:#2c506e;font-weight:800;overflow-wrap:anywhere}
.qb-open-link{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;margin:0;border:1px solid var(--navy);border-radius:5px;background:#fff;color:var(--navy);font-size:12px;font-weight:800;transition:background .2s,color .2s}
.qb-open-link:hover{background:var(--navy);color:#fff}
.qb-open-link span{font-size:17px}
.qb-access-note{padding:13px 12px 0;border-top:1px solid #cbddea;margin:0;color:#63788a;font-size:10px;line-height:1.67}
.qb-access-note strong{color:var(--navy)}
@media(max-width:950px){.estimate-layout{grid-template-columns:1fr;gap:15px}.estimate-dialog{max-width:min(680px,calc(100vw - 24px))}.quickbooks-access{padding:12px}.estimate-form-column{padding-top:0}}
@media(max-width:520px){.estimate-dialog{max-width:calc(100vw - 16px);max-height:94vh}.quickbooks-access{padding:10px}.quickbooks-access .qb-top h3{font-size:29px}.modal-shell{padding:28px 20px!important}.estimate-dialog .form-row{grid-template-columns:1fr}.estimate-dialog .modal-header h2{font-size:36px}.qb-steps{padding-left:18px}}

.thankyou-main{min-height:72vh;background:linear-gradient(145deg,#f0f7fb,#fff);display:grid;place-items:center;padding:80px 24px}
.thankyou-card{max-width:570px;text-align:center;background:#fff;padding:65px 54px;border-radius:10px;border:1px solid var(--line);box-shadow:0 15px 50px rgba(7,51,84,.065)}
.thankyou-tick{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e0f0fa;color:var(--navy);font-size:35px;margin:0 auto 22px}
.thankyou-card h1{font-size:45px;margin:10px 0 20px}
.thankyou-card p:not(.kicker){font-size:15px;color:var(--muted)}
.thankyou-card .btn{margin-top:19px}
@media(max-width:1220px){.container{width:min(1120px,calc(100% - 52px))}.header-inner{gap:19px}.brand{flex-basis:205px}.brand img{width:205px}.desktop-nav{gap:15px}.header-actions{gap:12px}.header-text-link{font-size:12px}.hero-text{padding-right:29px}.hero-grid{grid-template-columns:54% 46%}.service-card{padding:30px 26px}.price-card{padding:34px 27px}.message-grid{gap:55px}}
@media(max-width:1010px){.header-inner{min-height:86px}.desktop-nav,.header-text-link{display:none}.header-actions{margin-left:auto}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:40px;height:40px;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{height:2px;width:22px;background:var(--navy);display:block}.mobile-nav nav{position:absolute;top:48px;right:0;width:min(300px,90vw);background:#fff;box-shadow:0 18px 38px rgba(16,46,79,.16);border:1px solid var(--line);border-radius:6px;padding:9px;display:flex;flex-direction:column;z-index:100}.mobile-nav nav a{display:block;padding:11px 15px;font-size:14px;font-weight:700;border-bottom:1px solid #f0f4f7}.mobile-nav nav a:last-child{border-bottom:0;background:var(--navy);color:#fff;border-radius:4px}.hero-grid{grid-template-columns:53% 47%;min-height:580px}.hero-visual{min-height:580px}.hero-text{padding:76px 28px 65px 0}.hero-quote{left:22px;bottom:28px;width:245px}.section{padding:84px 0}.about-grid{gap:40px}.message-grid{gap:40px}}
@media(max-width:780px){.container{width:calc(100% - 40px)}.header-inner{min-height:77px;gap:12px}.brand{flex-basis:174px}.brand img{width:174px}.header-actions .btn{padding:10px 12px;font-size:11px}.hero-grid{display:flex;flex-direction:column}.hero-text{padding:61px 0 48px}.hero-visual{min-height:420px;margin-bottom:30px;border-radius:6px;overflow:hidden}.hero-visual::after{display:none}.hero-photo{background-position:center}.hero-quote{left:24px;bottom:24px;width:260px}.hero h1{font-size:clamp(43px,8.5vw,67px)}.eyebrow{white-space:normal}.trust-inner{flex-wrap:wrap;gap:11px 17px;padding:20px 0;text-align:center;min-height:unset}.trust-inner span:not(.trust-dot){font-size:9px}.split-heading{display:block}.split-heading>p{margin:20px 0 0;max-width:570px}.services-grid,.pricing-grid{grid-template-columns:1fr;gap:15px}.service-card,.price-card{min-height:unset}.service-card>p:not(.service-label),.tier-intro{min-height:unset}.service-card h3{font-size:32px}.service-card .tick-list{margin-top:14px}.pricing-grid{max-width:560px;margin:auto}.price-card{padding:31px 30px}.price-wrap{margin:11px 0 16px}.price-card .tick-list{margin-bottom:26px}.price-disclaimer{max-width:540px}.pricing-addons{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr 1fr;gap:34px 25px}.process-steps li:after{display:none}.about-grid{grid-template-columns:1fr;gap:40px}.message-grid{grid-template-columns:1fr;gap:35px}.message-intro{padding-top:0}.message-note{margin-top:23px}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:start;gap:7px}}
@media(max-width:520px){.container{width:calc(100% - 34px)}.brand{flex-basis:143px}.brand img{width:143px}.header-actions{margin-left:auto}.header-actions .btn{font-size:10px;padding:10px 9px;gap:5px}.header-actions .btn span{display:none}.mobile-nav summary{width:30px}.hero-text{padding:47px 0 39px}.eyebrow{font-size:9px;letter-spacing:.12em}.hero h1{font-size:43px;margin:19px 0 21px}.hero-lead{font-size:15px}.tagline{font-size:12px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero-actions .btn{padding:13px 9px;font-size:11px;gap:5px;white-space:normal}.hero-visual{min-height:320px}.hero-quote{width:220px;padding:18px;bottom:15px;left:16px}.hero-quote strong{font-size:25px}.hero-footer{margin-top:30px}.trust-inner{gap:8px;justify-content:center}.trust-dot{display:none}.trust-inner span{flex-basis:100%}.section{padding:67px 0}.split-heading{margin-bottom:28px}h2{font-size:37px}.center-heading{margin-bottom:29px}.service-card{padding:28px 24px}.service-card-top{margin-bottom:20px}.service-card h3{font-size:30px}.pricing-addons{margin-top:37px}.pricing-addons article{padding:28px 25px}.pricing-addons h3{font-size:25px}.terms-banner{gap:10px;flex-wrap:wrap;padding:15px;font-size:12px}.terms-pipe{display:none}.process-steps{gap:28px 15px}.process-badge{height:49px;width:49px}.process-steps h3{font-size:18px}.process-steps p{font-size:12px}.about-section{padding:76px 0}.about-right{padding:23px}.message-form-card{padding:27px 23px}.form-row,.estimate-dialog .form-row{grid-template-columns:1fr;gap:0}.closing-cta{padding:72px 0}.closing-buttons{display:grid;grid-template-columns:1fr;gap:10px;max-width:300px;margin:auto}.footer-main{padding-top:47px;padding-bottom:42px;grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-links{max-width:250px}.modal-shell{padding:31px 23px}.modal-header h2{font-size:38px}.dialog-close{margin:-7px -8px 0 0}.thankyou-card{padding:45px 25px}.thankyou-card h1{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* QuickBooks access: two distinct action buttons and accessible copy feedback. */
.qb-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0 9px}
.qb-actions .qb-open-link,.qb-actions .qb-copy-email{min-width:0;min-height:42px;font-size:11px;line-height:1.3}
.qb-copy-email{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--navy);border-radius:5px;background:var(--navy);color:#fff;font-weight:800;text-align:left;transition:background .2s,color .2s}
.qb-copy-email:hover,.qb-copy-email:focus-visible{background:#285b80;color:#fff}
.qb-copy-email span{font-size:16px}
.qb-copy-status{min-height:0;margin:0 0 9px;color:var(--navy);font-size:11px;font-weight:700}
.qb-copy-status:empty{display:none}
@media(max-width:520px){.qb-actions{grid-template-columns:1fr}.qb-kicker{font-size:10px;letter-spacing:.09em}.qb-topline{align-items:flex-start}}

/* Revision 04 — balance homepage hierarchy and center service introduction. */
.hero-text h1{margin-bottom:18px}
.hero-text .tagline{margin-bottom:17px}
.hero-text .hero-lead{margin-bottom:28px}
.split-heading{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:25px;align-items:end}
.split-heading>p{max-width:515px;margin:0 auto 5px;font-size:15px}
.price-card h3{margin-top:0}
@media(max-width:780px){.split-heading{display:block}.split-heading>p{margin:20px 0 0;max-width:570px}}


/* Revision 06: clearer biography and more prominent approach heading. */
.about-grid{grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:64px;align-items:center}
.about-bio{margin-top:28px;padding:2px 0 2px 20px;border-left:3px solid var(--steel)}
.about-bio h3{font:normal 30px/1.2 var(--serif);color:#fff;letter-spacing:-.02em;margin:0 0 18px}
.about-left .about-bio p{font-size:14px;line-height:1.75;margin:0 0 15px;color:#e1edf6}
.about-left .about-bio p:last-child{margin-bottom:0}
.about-left .about-bio+.btn{margin-top:31px}
.approach-heading{font:normal clamp(26px,2.55vw,35px)/1.23 var(--serif);letter-spacing:-.025em;color:#fff;margin:0 0 13px;padding-bottom:21px;border-bottom:2px solid rgba(164,207,232,.7)}
.about-right{padding:34px 36px}
.about-right .value-row:first-of-type{padding-top:15px}
.about-right .value-row p{font-size:14px;line-height:1.72}
@media(max-width:1010px){.about-grid{gap:35px}.about-right{padding:30px 27px}}
@media(max-width:780px){.about-grid{grid-template-columns:1fr;gap:37px}.about-bio{margin-top:26px}.about-right{padding:28px}.about-section{padding:78px 0}}
@media(max-width:520px){.about-bio{padding-left:16px}.about-bio h3{font-size:27px}.about-left .about-bio p{font-size:14px;line-height:1.7}.approach-heading{font-size:28px}.about-right{padding:24px}}


/* Revision 07 — tighter hero spacing, more visible service descriptor and branded tagline. */
.hero-grid{min-height:620px}
.hero-visual{min-height:620px}
.hero-text{padding-top:44px;padding-bottom:48px}
.hero .eyebrow{display:inline-flex;max-width:100%;width:max-content;white-space:normal;gap:0;letter-spacing:.105em;font-size:13px;line-height:1.35;color:var(--navy);font-weight:800;background:linear-gradient(90deg,#e2f0fa,#f2f8fc);border-left:4px solid var(--blue);border-radius:0 7px 7px 0;padding:11px 15px}
.hero .eyebrow-line{display:none}
.hero h1{margin-top:20px;margin-bottom:18px}
.hero .tagline{display:inline-flex;align-items:center;width:fit-content;max-width:100%;gap:12px;padding:10px 17px 10px 10px;margin:1px 0 25px;border:1px solid #b8d6e9;border-radius:9px;background:#e8f3fb;color:var(--navy);box-shadow:0 5px 16px rgba(16,46,79,.055);font-size:16px;font-weight:800;line-height:1.35}
.hero .tagline-icon{display:grid;flex:0 0 29px;width:29px;height:29px;place-items:center;background:var(--navy);border-radius:50%;color:white}
.hero .tagline-icon svg{width:19px;height:19px;color:white}
@media(max-width:1010px){.hero-grid{min-height:570px}.hero-visual{min-height:570px}.hero-text{padding-top:38px;padding-bottom:40px}.hero .eyebrow{font-size:12px}}
@media(max-width:780px){.hero-text{padding:31px 0 39px}.hero-visual{min-height:420px}.hero .eyebrow{font-size:11px;padding:9px 12px}.hero .tagline{font-size:15px;padding:9px 13px 9px 9px;margin-bottom:22px}}
@media(max-width:520px){.hero-text{padding:24px 0 34px}.hero .eyebrow{font-size:10px;letter-spacing:.06em;padding:9px 10px}.hero h1{margin:18px 0 16px}.hero .tagline{font-size:13px;gap:8px;padding:8px 10px 8px 8px;margin-bottom:21px}.hero .tagline-icon{flex-basis:26px;width:26px;height:26px}.hero .tagline-icon svg{width:17px;height:17px}}


/* Revision 08: restore restrained typography (no highlighted tags),
   move promise to the right, enlarge photo label, and reduce section gaps. */
.hero-grid{min-height:592px}
.hero-visual{min-height:592px}
.hero-text{padding-top:41px;padding-bottom:39px}
.hero .eyebrow{
  display:flex;align-items:center;gap:13px;width:auto;max-width:100%;
  padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;
  color:var(--navy);font-size:16px;font-weight:800;letter-spacing:.105em;line-height:1.4;
}
.hero .eyebrow-line{display:block;flex:0 0 34px;width:34px;height:2px;background:var(--steel)}
.hero h1{margin-top:21px;margin-bottom:21px}
.hero .tagline{
  position:absolute;z-index:4;top:36px;right:32px;left:auto;bottom:auto;
  margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;
  display:flex;align-items:center;gap:10px;max-width:calc(100% - 65px);
  width:auto;color:#102e4f;font-size:18px;line-height:1.45;
  font-weight:800;text-align:right;justify-content:flex-end;
  text-shadow:0 1px 14px rgba(255,255,255,.85);
}
.hero .tagline-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;background:none;border-radius:0;color:var(--blue)}
.hero .tagline-icon svg{width:23px;height:23px;color:var(--blue)}
.hero-visual-mark{display:none}
.hero-quote .micro{font-size:15px;letter-spacing:.11em;line-height:1.4;font-weight:800;margin-bottom:12px}
.hero-quote{width:316px;padding:24px 29px}
/* Smaller section gaps retain distinct backgrounds and generous internal card spacing. */
.section{padding-top:76px;padding-bottom:76px}
.split-heading{margin-bottom:32px}
.center-heading{margin-bottom:33px}
.pricing-addons{margin-top:36px}
.process-section{padding-top:70px;padding-bottom:73px}
.about-section{padding-top:73px;padding-bottom:73px}
.message-intro{padding-top:16px}
.closing-cta{padding-top:66px;padding-bottom:70px}
.trust-inner{min-height:60px}
.footer-main{padding-top:48px;padding-bottom:45px}
/* Keep the full approach heading on one line at all viewport widths. */
.approach-heading{white-space:nowrap;font-size:clamp(20px,2.1vw,30px);letter-spacing:-.035em}
.about-bio strong{font-weight:800;color:#fff}
@media(max-width:1220px){.approach-heading{font-size:clamp(20px,2vw,27px)}}
@media(max-width:1010px){
  .hero-grid{min-height:558px}.hero-visual{min-height:558px}
  .hero-text{padding-top:33px;padding-bottom:35px}
  .hero .eyebrow{font-size:13px}
  .hero .tagline{font-size:15px;top:30px;right:22px}
  .section{padding-top:63px;padding-bottom:63px}
  .process-section{padding-top:61px;padding-bottom:64px}
  .about-section{padding-top:63px;padding-bottom:63px}
}
@media(max-width:780px){
  .hero-text{padding:29px 0 36px}
  .hero-visual{min-height:390px;margin-bottom:17px}
  .hero .eyebrow{font-size:14px}
  .hero .tagline{font-size:16px;top:22px;right:20px;max-width:calc(100% - 40px)}
  .hero-quote{bottom:20px;left:20px}
  .section{padding-top:56px;padding-bottom:56px}
  .about-section{padding-top:59px;padding-bottom:59px}
  .approach-heading{font-size:clamp(23px,3.4vw,29px)}
  .split-heading{margin-bottom:27px}
}
@media(max-width:520px){
  .hero-text{padding:24px 0 30px}
  .hero .eyebrow{font-size:12px;letter-spacing:.075em;gap:8px}
  .hero .eyebrow-line{flex-basis:23px;width:23px}
  .hero h1{margin:16px 0 19px}
  .hero-visual{min-height:310px}
  .hero .tagline{font-size:13.5px;top:15px;right:12px;max-width:calc(100% - 24px);gap:5px}
  .hero .tagline-icon{flex-basis:19px;width:19px;height:19px}
  .hero .tagline-icon svg{width:19px;height:19px}
  .hero-quote{width:230px;padding:16px 19px;left:13px;bottom:14px}
  .hero-quote .micro{font-size:12px;margin-bottom:9px}
  .section{padding-top:46px;padding-bottom:46px}
  .process-section{padding-top:46px;padding-bottom:49px}
  .about-section{padding-top:48px;padding-bottom:49px}
  .approach-heading{font-size:clamp(17px,5.15vw,24px);letter-spacing:-.045em}
  .pricing-addons{margin-top:28px}
  .center-heading{margin-bottom:26px}
  .split-heading{margin-bottom:25px}
  .closing-cta{padding-top:53px;padding-bottom:58px}
}
@media(max-width:360px){
  .header-inner{gap:5px}
  .brand{flex-basis:117px}
  .brand img{width:117px}
  .header-actions .btn{padding:8px 7px;font-size:9px}
  .mobile-nav summary{width:27px}
}



/* Revision 09 — service labels, intro alignment, numbered prices and contact details. */
.service-label{
  font-size:12px;
  letter-spacing:.1em;
  line-height:1.45;
  min-height:34px;
  color:#216c98;
  margin-bottom:9px;
}
/* Bring the supporting copy alongside the first heading line, rather than low/right. */
.split-heading{
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  column-gap:10px;
  align-items:start;
}
.split-heading>p{
  justify-self:start;
  max-width:545px;
  margin:34px 0 0 -24px;
  line-height:1.73;
}
.tier-badge{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:12px;
  border:1px solid #cbdfea;
  border-radius:7px;
  background:#deedf7;
  color:var(--navy);
  font:normal 25px/1 var(--serif);
}
.price-card h3{margin-top:0}
/* Close the unusually long whitespace between monthly pricing and Step 03. */
.pricing-section{padding-bottom:39px}
.process-section{padding-top:33px}
/* Contact details sit inside Work With Me's existing approach panel. */
.about-contact{
  border-top:1px solid rgba(255,255,255,.22);
  padding-top:24px;
  margin-top:12px;
}
.about-contact h3{
  margin:0 0 17px;
  color:#fff;
  font:normal 23px/1.25 var(--serif);
}
.about-contact-item{display:grid;grid-template-columns:75px minmax(0,1fr);gap:10px;align-items:start;margin:0 0 12px}
.about-contact-item:last-child{margin-bottom:0}
.about-contact-item span{font-size:10px;font-weight:800;letter-spacing:.11em;color:#bed9ea;margin-top:2px}
.about-contact-item strong,.about-contact-item a{font-size:13px;line-height:1.55;color:#fff;font-weight:700;overflow-wrap:anywhere}
.about-contact-item a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#a3c7df}
.about-contact-item a:hover{color:#cae8fc}
@media(max-width:1010px){
  .split-heading>p{margin-left:-12px}
  .pricing-section{padding-bottom:34px}
  .process-section{padding-top:32px}
  .about-contact-item{grid-template-columns:66px minmax(0,1fr)}
}
@media(max-width:780px){
  .split-heading{display:block}
  .split-heading>p{max-width:570px;margin:16px 0 0}
  .service-label{font-size:12.5px;min-height:0;margin-bottom:13px}
  .pricing-section{padding-bottom:32px}
  .process-section{padding-top:32px}
}
@media(max-width:520px){
  .service-label{font-size:11.5px;letter-spacing:.09em}
  .tier-badge{width:43px;height:43px;font-size:23px;margin-bottom:9px}
  .pricing-section{padding-bottom:24px}
  .process-section{padding-top:24px}
  .about-contact{padding-top:20px;margin-top:10px}
  .about-contact h3{font-size:22px}
}


/* Revision 12 — inline accessible copy-email button in Contact Details. */
.about-contact-email{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.about-contact-email>a{min-width:0;overflow-wrap:anywhere}
.contact-copy-email{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(190,217,234,.68);border-radius:6px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:background-color .2s,border-color .2s}
.contact-copy-email:hover,.contact-copy-email:focus-visible{background:#2e658b;border-color:#cbe8f9}
.contact-copy-email:focus-visible{outline:2px solid #cbe8f9;outline-offset:3px}
.about-contact-item .contact-copy-status{display:none;font-size:11px;line-height:1.4;letter-spacing:0;font-weight:700;color:#cbe8f9;margin:0}
.about-contact-item .contact-copy-status:not(:empty){display:inline}
@media(max-width:520px){.about-contact-email{gap:6px}.contact-copy-email{height:30px;width:30px;flex-basis:30px}}


/* Revision 13 — Contact Details is now its own stand-alone card beside the bio. */
.about-side{display:flex;flex-direction:column;gap:22px;min-width:0}
.about-side .about-right{flex:0 0 auto}
.about-side .about-contact{margin:0;padding:26px 32px 27px;border:1px solid rgba(191,222,240,.46);background:linear-gradient(135deg,rgba(49,100,137,.62),rgba(35,74,109,.49));box-shadow:0 14px 30px rgba(2,18,31,.16);border-radius:9px;position:relative}
.about-side .about-contact:before{content:"";position:absolute;top:24px;bottom:24px;left:0;width:3px;background:#9ac9e6;border-radius:0 3px 3px 0}
.about-side .about-contact h3{font-size:27px;line-height:1.22;margin:0 0 19px}
.about-side .about-contact-item:last-child{margin-bottom:0}
.quickbooks-access .qb-top h3{font-size:clamp(26px,2.2vw,31px);line-height:1.2}
@media(max-width:1010px){.about-side{gap:17px}.about-side .about-contact{padding:24px 25px}}
@media(max-width:780px){.about-side{gap:20px}.about-side .about-contact{padding:26px 27px}}
@media(max-width:520px){.about-side .about-contact{padding:23px 21px}.about-side .about-contact h3{font-size:24px}.quickbooks-access .qb-top h3{font-size:27px}}


/* Revision 14 — soften the services intro alignment and welcome visitors personally. */
@media(min-width:781px){
  .services-section .split-heading>p{margin-top:52px}
}
@media(max-width:780px){
  .services-section .split-heading>p{margin-top:24px}
}


/* Revision 15 — Four services in a balanced, editable two-by-two card grid. */
.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-card{min-height:490px;padding:32px 36px 29px}
.service-card-top{margin-bottom:23px}
.service-card>p:not(.service-label){min-height:0;margin-bottom:20px;max-width:520px}
.service-card h3{margin-bottom:15px}
.service-card .tick-list{margin-bottom:27px}
.footer-line{display:block}
@media(max-width:1010px){
  .service-card{min-height:515px;padding:30px 26px}
}
@media(max-width:780px){
  .services-grid{grid-template-columns:1fr;gap:16px;max-width:590px;margin:0 auto}
  .service-card{min-height:0;padding:30px 30px}
  .service-card-top{margin-bottom:19px}
  .service-card .tick-list{margin-bottom:24px}
}
@media(max-width:520px){
  .service-card{padding:27px 24px}
  .service-card h3{font-size:30px}
}


/* Revision 16 — All four services share one desktop row; fall back gracefully on smaller screens. */
@media (min-width: 1200px) {
  .services-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
  .service-card { min-height: 548px; padding: 26px 20px 24px; }
  .service-card-top { margin-bottom: 22px; }
  .service-icon { width: 52px; height: 52px; }
  .service-card h3 { font-size: 27px; line-height: 1.19; margin-bottom: 13px; }
  .service-card .service-label { font-size: 9.5px; line-height: 1.45; letter-spacing: .12em; min-height: 29px; }
  .service-card > p:not(.service-label) { font-size: 13px; line-height: 1.6; margin-bottom: 14px; }
  .service-card .tick-list li { font-size: 12px; line-height: 1.42; margin-bottom: 10px; padding-left: 19px; }
  .service-card .tick-list { margin-bottom: 20px; }
  .service-card .text-cta { font-size: 12px; }
}
