/* Shared public presentation; application and filing screens are unchanged. */
.public-header{color:#17263f}
.public-header .public-nav a:hover{color:#245fc6}
.public-header .public-nav .nav-consult{background:#eaf1ff;color:#2456a0;box-shadow:inset 0 0 0 1px #c6d8f6}
.public-header .public-nav .nav-consult:hover{background:#dce9ff;color:#194782;box-shadow:inset 0 0 0 1px #afc9f0}

.home{--ink:#17263f;--accent:#245fc6;--muted:#667185;--line:#e2e7f0;color:var(--ink)}
.home .landing-hero{background:#f6f8fc;border-bottom:1px solid var(--line)}
.home .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:68px;padding-top:72px;padding-bottom:72px}
.home h1{font-size:clamp(40px,4.6vw,62px);font-weight:750;line-height:1.25;letter-spacing:-2.7px}
.home h1>span{color:var(--accent)}
.home .hero-copy .eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:2px}
.home .hero-caption{color:#57647a;font-size:14px;margin-bottom:22px}
.home .hero-description{color:var(--muted);font-size:17px;line-height:1.95;margin-top:26px;margin-bottom:0}
.home .hero-location{display:inline-flex;align-items:center;background:#e9eef8;color:#536785;border-radius:50px;padding:8px 13px;font-size:11px;margin-top:25px}
.home .topic-panel{padding:28px;background:white;border:1px solid #e0e7f1;border-radius:20px;box-shadow:0 18px 45px #18356809}
.home .topic-panel:before{display:none}
.home .panel-kicker{color:var(--accent);font-weight:650;font-size:12px;margin-bottom:7px}
.home .topic-panel h2{font-size:28px;letter-spacing:-1.2px;line-height:1.4;margin-bottom:22px}
.home .topic-panel h2 br{display:none}
.home .topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.home .topic-list a{display:grid;grid-template-columns:minmax(0,1fr) 20px;grid-template-rows:16px auto;align-items:start;align-content:start;gap:8px 8px;min-height:108px;padding:16px;border:1px solid #e4e9f2;border-radius:12px;background:#fafbfe;transition:background .16s,border-color .16s}
.home .topic-list a:hover{background:#edf3ff;border-color:#b5c9ed;color:var(--ink)}
.home .topic-number{grid-column:1;grid-row:1;align-self:start;margin:0;font-size:10px;color:#6682ac;font-weight:700;line-height:16px}
.home .topic-copy{grid-column:1 / -1;grid-row:2;display:grid;grid-template-rows:auto auto;align-content:start;min-width:0}
.home .topic-list strong{font-size:17px;letter-spacing:-.6px;line-height:24px;color:var(--ink);align-self:start;margin:0}
.home .topic-list small{font-size:11px;color:#738098;line-height:1.7;margin-top:4px}
.home .topic-arrow{grid-column:2;grid-row:1;margin:0;align-self:start;justify-self:end;color:#4d6e9f;font-size:19px;line-height:16px}
.home .topic-list .topic-filing{grid-column:1 / -1;grid-template-columns:20px minmax(0,1fr) 20px;grid-template-rows:auto;align-items:start;min-height:88px;margin:0;padding:17px 18px;background:#215bc0;border:1px solid #215bc0;border-radius:12px;gap:14px;color:#fff}
.home .topic-list .topic-filing:hover{background:#194ba4;border-color:#194ba4;color:#fff}
.home .topic-filing .topic-number{grid-column:1;grid-row:1;color:#b9d0f9;align-self:start;line-height:27px}
.home .topic-filing .topic-copy{grid-column:2;grid-row:1;grid-template-rows:auto auto}
.home .topic-filing .topic-arrow{grid-column:3;grid-row:1;line-height:27px}
.home .topic-list .topic-filing strong{font-size:18px;color:#fff}
.home .topic-list .topic-filing small,.home .topic-filing .topic-arrow{color:#d2e2fd}
.home .panel-note{margin:17px 0 0;padding-top:15px;border-color:#edf0f6;color:#7a8699;font-size:11px}
.home .experience-strip{padding-top:33px;padding-bottom:33px}
.home .experience-strip>div>strong{color:#1c3c70;font-size:36px;font-weight:600}
.home .experience-strip>p,.home .experience-strip div p{color:var(--muted)}
.home .approach-section{padding-top:85px;padding-bottom:85px;gap:80px;align-items:center}
.home h2{color:var(--ink);font-weight:700}
.home .plain-action{color:var(--accent);border-color:#b8ccef;font-weight:650}
.home .tool-grid{gap:16px}
.home .tool-grid>a{border:1px solid var(--line);border-radius:14px;background:#f8faff;padding:23px 21px;transition:background .16s,border-color .16s}
.home .tool-grid>a:hover{border-color:#adc5ee;background:#eef4ff}
.home .tool-grid span{color:var(--accent);font-weight:600}
.home .tool-grid h3{font-size:18px;line-height:1.55;margin-top:14px;color:var(--ink)}
.home .tool-grid p{font-size:13px;margin-top:9px}
.home .contact-grid{gap:20px}
.home .contact-card{padding:28px;border:1px solid var(--line);border-radius:16px;background:#fafbfe;min-height:290px}
.home .contact-card .contact-label{color:var(--accent)}
.home .contact-card .address{white-space:normal;font-size:15px}
.home .contact-card>.button{margin-top:auto!important}
.home .mobile-consult a:last-child{background:#e9effb;color:#264e93}

.bookkeeping-page{--ink:#17263f;--accent:#245fc6;--muted:#677387;--line:#e2e8f1;--wash:#f6f8fc}
.bookkeeping-page .service-breadcrumb{padding-top:17px;padding-bottom:12px}
.bookkeeping-page .service-nav{padding-bottom:15px}
.bookkeeping-page .service-hero{background:var(--wash);border-bottom:0}
.bookkeeping-page .service-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:55px;padding-top:62px;padding-bottom:62px}
.bookkeeping-page h1{font-size:clamp(35px,4.1vw,54px);font-weight:750;line-height:1.3;letter-spacing:-2px}
.bookkeeping-page .service-lead{font-size:17px;line-height:1.95;max-width:450px;margin-top:25px}
.bookkeeping-page .hero-fact{font-size:12px;color:#8390a4;margin-top:22px}
.bookkeeping-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px;margin-top:30px}
.bookkeeping-actions .consult-action{gap:27px;background:var(--accent);border-radius:9px;padding:13px 22px;min-height:50px}
.bookkeeping-actions .consult-action:hover{background:#194ba4}
.fee-action{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:650;border-bottom:1px solid #b3c6e8;color:#345988}
.bookkeeping-page .actual-report{margin:0;border:1px solid #dce5f2;border-radius:17px;box-shadow:0 20px 48px #1b427515;background:white;min-width:0;scroll-margin-top:25px}
.bookkeeping-page .actual-report-heading{padding:20px 23px;background:white;border-bottom:1px solid #e7ecf4;gap:14px}
.bookkeeping-page .actual-report-heading span{display:inline-block;font-size:11px;font-weight:650;color:#2b60b6;padding:4px 9px;background:#edf3ff;border-radius:30px;margin-bottom:9px}
.bookkeeping-page .actual-report-heading h2{font-size:21px;font-weight:700;letter-spacing:-.7px;line-height:1.4}
.bookkeeping-page .actual-report-heading>a{font-size:12px;color:#617593}
.bookkeeping-page .report-screen{position:relative;display:block;aspect-ratio:960 / 570;overflow:hidden;background:#fff}
.bookkeeping-page .report-screen img{position:absolute;width:131.770833%;height:auto;max-width:none;left:-15.625%;top:-19.298246%;display:block}
.bookkeeping-jumps{display:flex;justify-content:center;align-items:center;gap:50px;padding-top:20px;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}
.bookkeeping-jumps a{min-height:32px;display:inline-flex;align-items:center;color:#66758c}
.bookkeeping-jumps a:hover{color:var(--accent)}
.bookkeeping-page .service-section{padding-top:76px;padding-bottom:76px}
.bookkeeping-page .section-heading{grid-template-columns:1fr 1fr;gap:65px;align-items:end;margin-bottom:34px}
.bookkeeping-page .section-heading h2{font-size:33px;font-weight:700;letter-spacing:-1.3px;line-height:1.45}
.bookkeeping-page .section-heading>p{font-size:15px;line-height:1.9;max-width:500px}
.bookkeeping-page .eyebrow{font-size:12px;letter-spacing:.7px;margin-bottom:14px}
.bookkeeping-page .report-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0}
.bookkeeping-page .report-benefits>article{display:block;padding:28px 26px;border:1px solid var(--line);border-radius:14px;background:#f8faff}
.bookkeeping-page .report-benefit-title>span{font-size:12px;font-weight:650;color:var(--accent)}
.bookkeeping-page .report-benefit-title h3{font-size:22px;margin-top:17px;font-weight:700;line-height:1.5;letter-spacing:-.8px}
.bookkeeping-page .report-benefits article>div>p{font-size:14px;line-height:1.85;margin-top:13px}
.bookkeeping-page .section-note{font-size:12px;line-height:1.9;color:#8b96a7;max-width:950px}
.bookkeeping-page .scope-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bookkeeping-page .scope-list>div{display:block;padding:28px;border:1px solid var(--line);border-radius:14px}
.bookkeeping-page .scope-list dt{font-size:20px;font-weight:700;margin-bottom:12px;letter-spacing:-.6px}
.bookkeeping-page .scope-list dd{font-size:14px;line-height:1.9}
.bookkeeping-page .scope-list dd small{font-size:12px;color:#98a1b0;margin-top:9px;line-height:1.8}
.bookkeeping-page .deliverable-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0}
.bookkeeping-page .deliverable-list>li{display:block;border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--wash)}
.bookkeeping-page .delivery-time{display:inline-block;padding:4px 9px;background:#e8effc;border-radius:5px;font-size:11px;margin-bottom:16px;color:#3966aa}
.bookkeeping-page .deliverable-list h3{font-size:19px;font-weight:650;line-height:1.55}
.bookkeeping-page .deliverable-list p{font-size:14px;line-height:1.85;margin-top:13px}
.bookkeeping-page .document-group{padding:28px;border:1px solid var(--line);border-radius:14px}
.bookkeeping-page .two-columns{gap:20px}
.bookkeeping-page .document-group h3{font-size:20px;font-weight:700}
.bookkeeping-page .document-group li{font-size:14px}
.bookkeeping-page .flow-list{gap:20px}
.bookkeeping-page .flow-list li{padding:23px 0 0;border-top:3px solid #c4d6f2}
.bookkeeping-page .flow-list span{font-size:21px;font-weight:700;color:#8ca9d5;line-height:1;margin-bottom:20px}
.bookkeeping-page .flow-list h3{font-size:18px;font-weight:700}
.bookkeeping-page .flow-list p{font-size:13px;line-height:1.9}
.bookkeeping-page .service-details{border:1px solid var(--line);border-radius:10px;padding:20px 24px;margin-top:12px}
.bookkeeping-page .service-details summary{font-size:15px;font-weight:600}
.bookkeeping-page .service-details>p{font-size:14px;line-height:1.9}
.bookkeeping-page .consult-end{background:#edf3fd;padding:55px 0}
.bookkeeping-page .consult-end h2{font-size:31px;font-weight:700}
.bookkeeping-page .consult-end .consult-action{background:var(--accent);border-radius:9px}
@media(max-width:1050px){.home .hero-grid{gap:34px}.home .topic-panel{padding:24px}.home .topic-list a{padding:14px 12px}.home .topic-list strong{font-size:16px}.home .approach-section{gap:45px}.bookkeeping-page .service-hero-grid{gap:32px}.bookkeeping-page .actual-report-heading{padding:20px}.bookkeeping-page .actual-report-heading h2{font-size:19px}.bookkeeping-page .section-heading{gap:40px}.bookkeeping-jumps{gap:35px}}
@media(max-width:700px){
 .home .hero-grid{grid-template-columns:1fr;gap:34px;padding-top:38px;padding-bottom:38px}.home h1{font-size:clamp(37px,10.2vw,50px);letter-spacing:-1.8px}.home .hero-caption{font-size:12px;margin-bottom:19px}.home .hero-description{font-size:15px;margin-top:22px}.home .hero-location{font-size:10px;margin-top:22px;padding:7px 11px}.home .topic-panel{padding:23px 20px;border-radius:17px}.home .topic-panel h2{font-size:25px;margin-bottom:18px}.home .topic-list{gap:9px}.home .topic-list a{min-height:112px;padding:14px 12px}.home .topic-list strong{font-size:15px}.home .topic-list small{font-size:11px}.home .topic-list .topic-filing{padding:16px 14px;gap:11px;min-height:83px}.home .topic-list .topic-filing strong{font-size:17px}.home .topic-list .topic-filing small{font-size:11px}.home .experience-strip>div>strong{font-size:29px}.home .approach-section{gap:24px;padding-top:52px;padding-bottom:52px}.home .tool-grid{gap:12px}.home .tool-grid>a{padding:20px 16px}.home .tool-grid h3{font-size:16px}.home .tool-grid p{font-size:12px}.home .contact-grid{gap:16px}.home .contact-card{min-height:260px;padding:24px}.home .contact-card .address{font-size:14px}
 .bookkeeping-page .service-hero-grid{grid-template-columns:1fr;gap:34px;padding-top:36px;padding-bottom:38px}.bookkeeping-page h1{font-size:36px;line-height:1.3;letter-spacing:-1.6px}.bookkeeping-page .service-lead{font-size:15px;margin-top:21px;max-width:none}.bookkeeping-actions{margin-top:25px;gap:18px}.bookkeeping-actions .consult-action{font-size:14px;padding:12px 19px;gap:18px}.fee-action{font-size:13px}.bookkeeping-page .hero-fact{font-size:10px;margin-top:19px}.bookkeeping-page .actual-report{border-radius:14px}.bookkeeping-page .actual-report-heading{padding:20px}.bookkeeping-page .actual-report-heading h2{font-size:20px}.bookkeeping-page .actual-report-heading>a{font-size:12px}.bookkeeping-page .report-screen{aspect-ratio:460 / 550}.bookkeeping-page .report-screen img{width:275%;left:-32.608696%;top:-20%}.bookkeeping-jumps{gap:0;justify-content:space-between;padding-top:15px;padding-bottom:15px;font-size:11px}.bookkeeping-page .service-section{padding-top:49px;padding-bottom:49px}.bookkeeping-page .section-heading{grid-template-columns:1fr;gap:17px;margin-bottom:27px}.bookkeeping-page .section-heading h2{font-size:27px}.bookkeeping-page .section-heading>p{font-size:14px}.bookkeeping-page .report-benefits,.bookkeeping-page .scope-list,.bookkeeping-page .deliverable-list{grid-template-columns:1fr;gap:13px}.bookkeeping-page .report-benefits>article{padding:25px}.bookkeeping-page .report-benefit-title h3{font-size:21px;margin-top:13px}.bookkeeping-page .report-benefits article>div>p{font-size:14px;margin-top:10px}.bookkeeping-page .scope-list>div{padding:25px}.bookkeeping-page .scope-list dt{font-size:19px;margin-bottom:10px}.bookkeeping-page .deliverable-list>li{padding:25px}.bookkeeping-page .delivery-time{margin-bottom:14px}.bookkeeping-page .document-group{padding:24px}.bookkeeping-page .two-columns{gap:14px}.bookkeeping-page .flow-list{grid-template-columns:1fr 1fr;gap:28px 20px}.bookkeeping-page .service-details{padding:18px 20px}.bookkeeping-page .service-details summary{font-size:14px}.bookkeeping-page .service-details>p{font-size:13px}.bookkeeping-page .consult-end{padding:38px 0}.bookkeeping-page .consult-end h2{font-size:27px}.bookkeeping-page .section-note{font-size:11px}
}
.fee-calculator{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border:1px solid #dbe4f2;border-radius:20px;overflow:hidden;margin-bottom:25px;background:white;box-shadow:0 14px 40px #1b427509}
#fee-calculator [hidden]{display:none!important}
.fee-inputs{padding:34px;margin:0;min-width:0}
.fee-step{font-size:12px;font-weight:650;letter-spacing:.3px;color:#426393}
.business-choice{border:0;padding:0;margin:26px 0}
.business-choice legend,.revenue-label{font-size:15px;font-weight:650;color:#263b59;margin-bottom:11px}
.business-segments{display:grid;grid-template-columns:1fr 1fr;background:#f0f3f9;padding:4px;border-radius:10px;gap:4px}
.business-segments label{position:relative;cursor:pointer}
.business-segments input{position:absolute;opacity:0;width:1px;height:1px}
.business-segments span{display:flex;justify-content:center;align-items:center;min-height:45px;border:1px solid transparent;border-radius:7px;font-size:14px;font-weight:600;color:#7a8596}
.business-segments input:checked+span{background:white;color:#245fc6;border-color:#d5e0f3;box-shadow:0 2px 6px #243a6010}
.business-segments input:focus-visible+span{outline:3px solid #91b2ec;outline-offset:1px}
.revenue-label{display:flex;align-items:center;justify-content:space-between;gap:10px}
.revenue-label>span{font-size:11px;color:#8c97a8;font-weight:400}
.revenue-field{display:flex;align-items:center;border:1px solid #b8c9e4;background:#fff;border-radius:10px;padding-right:16px;gap:7px;min-height:61px}
.revenue-field:focus-within{outline:3px solid #d7e5fc;border-color:#3e77d4}
.revenue-field:has([aria-invalid=true]){border-color:#b74242}
.revenue-field input{display:block;width:100%;min-width:0;border:0;outline:none;box-shadow:none;background:transparent;font-family:inherit;font-size:24px;font-weight:650;line-height:1.4;color:#1a365e;padding:14px 0 14px 16px;border-radius:10px}
.revenue-field input::placeholder{color:#a1acbb;font-size:16px;font-weight:400}
.revenue-field>span{font-size:15px;color:#6f7b90;flex-shrink:0}
.revenue-help{color:#245fc6;font-size:13px;min-height:24px;line-height:1.75;margin:9px 0 0}
.revenue-error{color:#b23333;font-size:13px;margin:3px 0 0;line-height:1.7}
.revenue-presets{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.revenue-presets button{border:1px solid #e0e6f0;background:#f8faff;border-radius:7px;padding:7px 13px;min-height:37px;font-weight:500;line-height:1.5;font-family:inherit;font-size:12px;cursor:pointer;color:#607694}
.revenue-presets button:hover{background:#eaf1ff;border-color:#b9cdee;color:#245fc6}
.industry-choice{display:flex;gap:10px;align-items:flex-start;margin-top:27px;padding-top:23px;border-top:1px solid #edf0f6;font-size:13px;line-height:1.7;cursor:pointer;color:#536681}
.industry-choice input{margin:3px 0 0;width:18px;height:18px;accent-color:#245fc6;flex-shrink:0}
.industry-choice small{display:block;margin-top:6px;font-size:11px;line-height:1.85;color:#8a96a8}
.fee-results{background:#f1f6ff;padding:34px;min-width:0}
.fee-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.vat-label{font-size:11px;color:#778ba8}
.fee-context{font-size:14px;color:#5a7298;margin:22px 0 18px;line-height:1.8;min-height:25px;overflow-wrap:anywhere}
.fee-result-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fee-result-card{background:white;border:1px solid #d9e5f7;border-radius:12px;padding:23px 20px;min-width:0}
.fee-result-card>span{display:block;font-size:11px;color:#8b9ab1;line-height:1.7}
.fee-result-card h3{font-size:17px!important;font-weight:650;letter-spacing:-.5px;margin-top:4px;line-height:1.6}
.fee-result-card p{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;margin:20px 0 14px;line-height:1.3;color:#1f5fc4;min-height:41px}
.fee-result-card strong{font-size:clamp(24px,2.5vw,35px);font-weight:750;letter-spacing:-1.3px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%}
.fee-result-card p>span{font-size:13px;color:#6f87ae}
.fee-result-card small{font-size:11px;color:#91a0b4;line-height:1.7}
.closing-fee{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #d8e4f6;margin-top:23px;padding-top:20px}
.closing-fee strong{display:block;font-size:13px;font-weight:600;color:#536c92}
.closing-fee small{display:block;font-size:11px;color:#8b9db7;line-height:1.7;margin-top:5px}
.closing-fee>span{font-size:18px;font-weight:650;color:#3c5f92;white-space:nowrap}
.fee-formula{font-size:12px;color:#7289ad;line-height:1.9;margin-top:18px}
.fee-formula summary{cursor:pointer;width:fit-content;padding:5px 0}
.fee-formula p{font-size:12px;margin-top:7px;line-height:1.9}
.fee-result-note{font-size:11px;line-height:1.85;color:#889bb7;margin:18px 0}
.fee-consult{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:49px;background:#245fc6;color:white;font-size:14px;font-weight:600;border-radius:9px;padding:13px 18px;line-height:1.6}
.fee-consult:hover{background:#194ba4;color:white}
.fee-terms ul{padding:0 0 0 19px;color:#738197;font-size:13px;line-height:2.1;margin:18px 0 0}
.fee-noscript{padding:20px;border:1px solid #e3e9f3;border-radius:10px;font-size:14px}
@media(max-width:1050px){.fee-inputs,.fee-results{padding:26px}.fee-result-card{padding:20px 16px}.fee-result-cards{gap:11px}.fee-result-card strong{font-size:27px}.revenue-field input{font-size:21px}}
@media(max-width:700px){.fee-calculator{grid-template-columns:1fr;border-radius:15px}.fee-inputs,.fee-results{padding:25px 22px}.business-choice{margin:24px 0}.business-segments span{min-height:45px}.revenue-field input{font-size:25px}.fee-result-card{padding:20px 14px}.fee-result-card strong{font-size:25px;letter-spacing:-1.1px}.fee-result-card h3{font-size:16px!important}.fee-result-card p{gap:3px;margin-top:17px;margin-bottom:9px;min-height:34px}.fee-result-card p>span{font-size:11px}.fee-result-card small{font-size:10px}.fee-step{font-size:11px}.fee-context{font-size:13px}.vat-label{font-size:10px}.closing-fee>span{font-size:17px}.closing-fee small{font-size:10px}.fee-result-heading{gap:10px}.industry-choice{margin-top:24px;padding-top:20px}.fee-consult{font-size:13px}.fee-terms ul{font-size:12px}}
@media(max-width:360px){.fee-inputs,.fee-results{padding:23px 17px}.fee-result-cards{gap:9px}.fee-result-card{padding:18px 11px}.fee-result-card strong{font-size:23px}.fee-result-card small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.home .topic-list a,.home .tool-grid>a{transition:none}}

/* Keep supporting fee information readable on both screen sizes. */
.fee-result-card>span,.fee-result-card small,.vat-label,.fee-result-note,.industry-choice small,.revenue-label>span{color:#667a98}
.closing-fee small,.fee-formula{color:#627b9e}
.service-page .public-header .public-nav .nav-consult{background:#eaf1ff;color:#2456a0;box-shadow:inset 0 0 0 1px #c6d8f6}
.service-page .public-header .public-nav .nav-consult:hover{background:#dce9ff;color:#194782;box-shadow:inset 0 0 0 1px #afc9f0}

/* One public palette and aligned service introductions. */
.home,.service-page{--ink:#17263f;--accent:#245fc6;--muted:#61718a;--line:#e2e8f1;--wash:#f6f8fc}
.home .contact-card .button{background:#245fc6!important;border-color:#245fc6!important;color:#fff!important}
.home .contact-card .button:hover{background:#194ba4!important;border-color:#194ba4!important}
.home a:focus-visible,.service-page a:focus-visible,.service-page summary:focus-visible{outline-color:#245fc6}
.home .section-head{display:block}
.home .section-head>p{max-width:none;margin-top:13px}
.home .mobile-consult{border-color:#e2e8f1;box-shadow:0 -3px 15px #173a6e08}
.service-page .service-breadcrumb{padding-top:17px;padding-bottom:12px}
.service-page .service-breadcrumb span{color:#75849b}
.service-page .service-nav{padding-bottom:15px}
.service-page .service-hero{background:#f6f8fc;border-bottom:0}
.service-page .service-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:55px;align-items:center;padding-top:62px;padding-bottom:62px;min-height:604px}
.service-hero-copy{min-width:0}
.service-page .service-hero-copy>.eyebrow{font-size:12px;line-height:20px;min-height:20px;letter-spacing:.7px;margin:0 0 18px}
.service-page h1{font-size:clamp(35px,3.8vw,50px);font-weight:750;line-height:1.3;min-height:2.6em;letter-spacing:-2px}
.service-page .service-lead{font-size:17px;line-height:1.9;min-height:3.8em;max-width:none;margin-top:24px}
.service-hero-actions{display:flex;align-items:center;gap:22px;margin-top:26px;min-height:50px}
.service-page .service-hero-actions .consult-action{width:auto;flex:none;gap:22px;background:#245fc6;border-radius:9px;padding:13px 22px;min-height:50px;font-size:16px}
.service-page .service-hero-actions .consult-action:hover{background:#194ba4}
.service-page .hero-fact{font-size:12px;color:#697d9a;line-height:22px;margin-top:20px}
.service-page .actual-report,.service-page .sample-paper{height:480px;min-width:0;margin:0;align-self:center;border:1px solid #dce5f2;border-radius:17px;box-shadow:0 20px 48px #1b427515;background:#fff}
.service-page .actual-report{display:flex;flex-direction:column;overflow:hidden}
.service-page .actual-report-heading{flex-shrink:0}
.service-page .report-screen{flex:1;aspect-ratio:auto}
.service-page .sample-paper{display:flex;flex-direction:column;padding:27px 30px}
.service-page .paper-list li{padding-top:12px;padding-bottom:12px;border-color:#e7edf6}
.service-page .paper-list .paper-no{color:#6682ac}
.service-page .paper-foot{margin-top:auto;padding-top:14px;border-color:#e2e8f1}
.service-page .section-heading{grid-template-columns:1fr;gap:15px;align-items:start;margin-bottom:32px}
.service-page .section-heading h2{font-size:33px;line-height:1.45;font-weight:700}
.service-page .section-heading>p{font-size:15px;line-height:1.9;max-width:none;padding-top:0}
.service-page .document-group li:before{background:#6c91cc}
.service-page .flow-list li{border-color:#c4d6f2}
.service-page .consult-end{background:#edf3fd}
.service-page .consult-end .consult-action{background:#245fc6;border-radius:9px}
.service-page .consult-end .consult-action:hover{background:#194ba4}
.service-page .consult-end .consult-action.secondary{background:#fff;color:#245fc6;box-shadow:inset 0 0 0 1px #b9cdee}
.service-page .consult-end .consult-action.secondary:hover{background:#e6efff}
.service-page .service-footer>a{border-color:#b8ccef}
.fee-tax-note{font-size:12px;line-height:1.8;color:#607798;margin-top:14px;text-align:right}
@media(min-width:951px) and (max-width:1100px){
 .service-page .service-hero-grid{gap:32px}
 .service-page .service-hero-actions{gap:17px}
 .service-page .service-hero-actions .consult-action{font-size:14px;padding:13px 18px;gap:17px}
 .service-page .fee-action{font-size:13px}
}
@media(max-width:950px){
 .service-page .service-hero-grid{grid-template-columns:1fr;gap:34px;min-height:0;padding-top:36px;padding-bottom:38px}
 .service-page h1{font-size:36px;letter-spacing:-1.6px;min-height:0}
 .service-page .service-lead{font-size:15px;min-height:0;margin-top:21px}
 .service-page .service-hero-actions{margin-top:25px;gap:18px;flex-wrap:wrap}
 .service-page .service-hero-actions .consult-action{font-size:14px;padding:12px 19px;gap:18px}
 .service-page .fee-action{font-size:13px}
 .service-page .hero-fact{font-size:11px;margin-top:19px}
 .service-page .sample-paper{height:auto;min-height:420px;width:100%;padding:24px}
 .service-page .paper-foot{margin-top:17px}
 .service-page .actual-report{height:auto;width:100%}
 .service-page .report-screen{flex:none;aspect-ratio:960 / 570}
}
@media(max-width:700px){
 .service-page .section-heading{gap:14px;margin-bottom:27px}
 .service-page .section-heading h2{font-size:27px}
 .service-page .section-heading>p{font-size:14px}
 .service-page .report-screen{aspect-ratio:460 / 550}
 .fee-tax-note{font-size:11px;margin-top:12px}
}

/* Mobile service rows keep numbers, headings and arrows on one baseline. */
@media (max-width: 700px){
 .home .topic-list{grid-template-columns:minmax(0,1fr);gap:10px}
 .home .topic-panel .topic-list>a{grid-column:1;grid-template-columns:18px minmax(0,1fr) 18px;grid-template-rows:auto;align-items:start;align-content:center;column-gap:10px;row-gap:0;min-width:0;min-height:88px;padding:16px 14px;margin:0}
 .home .topic-list .topic-number{grid-column:1;grid-row:1;align-self:start;margin:0;line-height:24px;font-size:11px}
 .home .topic-list .topic-copy{grid-column:2;grid-row:1;grid-template-rows:auto auto;gap:6px;align-self:start;min-width:0}
 .home .topic-panel .topic-list strong{display:block;font-size:clamp(14px,4.2vw,16px);line-height:24px;letter-spacing:-.5px;font-weight:700;margin:0;word-break:keep-all;overflow-wrap:break-word}
 .home .topic-panel .topic-list small{display:block;font-size:12px;line-height:20px;letter-spacing:-.2px;margin:0;word-break:keep-all;overflow-wrap:break-word}
 .home .topic-list .topic-arrow{grid-column:3;grid-row:1;align-self:start;justify-self:end;line-height:24px;margin:0;font-size:20px}
}

/* The location preview is one link; tapping any part opens Naver Maps. */
.home .visit-map{display:block;width:100%;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;margin-top:3px;color:var(--ink);transition:border-color .16s,box-shadow .16s}
.home .visit-map img{display:block;width:100%;height:auto;object-fit:contain;background:#e8e8e8}
.home .visit-map-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;font-size:12px;line-height:1.7;font-weight:650}
.home .visit-map-caption>span:last-child{color:var(--accent)}
.home .visit-map:hover{border-color:#9db6e4;box-shadow:0 4px 16px #245fc610}
.home .visit-map:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:380px){.home .visit-map-caption{font-size:11px;padding:10px;gap:8px}}

/* Balance the office details with a compact, proportional map. */
.home .visit .contact-grid{grid-template-columns:minmax(0,1fr)}
.home .visit .contact-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);grid-template-rows:1fr 1fr;column-gap:32px;min-height:0}
.home .visit .contact-card>h3{grid-column:1;grid-row:1;align-self:end;margin:0}
.home .visit .contact-card>.address{grid-column:1;grid-row:2;align-self:start;margin:12px 0 0;font-size:14px;max-width:420px}
.home .visit .visit-map{grid-column:2;grid-row:1 / 3;margin-top:0;align-self:center}
@media(min-width:701px) and (max-width:950px){
 .home .visit .contact-card{grid-template-columns:minmax(0,1fr) minmax(0,320px);column-gap:28px}
}
@media(max-width:700px){
 .home .visit .contact-card{display:flex;padding:20px 16px}
 .home .visit .contact-card>h3{align-self:flex-start}
 .home .visit .contact-card>.address{align-self:flex-start;margin:12px 0 0}
 .home .visit .visit-map{width:100%;max-width:280px;align-self:center;margin-top:18px}
}
