@font-face{font-family:"Fukuda Sans";src:url("/assets/fonts/fukuda-sans-20261013.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Fukuda Serif";src:url("/assets/fonts/fukuda-serif-20261013.woff2") format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
/* Fukuda — shared components, 2026-10-13. Source text and photography retained. */
:root{--ink:#173e34;--brand:#176d56;--deep:#173e34;--paper:#fff;--wash:#f2f4ed;--lemon:#e9edc5;--muted:#4b6258;--line:#c9d4cb;--control:#607a6c;--error:#9c2727;--wide:1280px;--read:880px;--gutter:40px;--sans:"Fukuda Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--serif:"Fukuda Serif","Yu Mincho","Hiragino Mincho ProN",serif;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:32px;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:20px;line-height:1.95;overflow-wrap:anywhere;}
img{display:block;max-width:100%;height:auto;}
figure{margin:0;}
a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:.25em;}
a:hover{color:var(--deep);text-decoration-thickness:2px;}
button,input,select,textarea{font:inherit;}
button,a,input,select,textarea,summary{touch-action:manipulation;}
button{cursor:pointer;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #102d24;outline-offset:3px;box-shadow:0 0 0 6px #fff;}
h1,h2,h3,p,ul,ol,dl{margin:0;}
h1,h2,h3{line-height:1.55;letter-spacing:.035em;font-weight:600;text-wrap:pretty;}
h1{font-size:clamp(36px,3.4vw,52px);font-family:var(--serif);font-weight:600;}
h2{font-size:36px;font-family:var(--serif);font-weight:600;}
h3{font-size:26px;font-weight:600;}
p+p{margin-top:1.15em;}
ul,ol{padding-left:1.5em;}
li+li{margin-top:.5em;}
small{font-size:16px;}
strong{font-weight:700;}
main :is(h2,h3,[id]){scroll-margin-top:32px;}
.keep{display:inline-block;}
.inner,.container,.wrap,.header-wrap,.header-inner,.footer-inner{width:min(calc(100% - var(--gutter)*2),var(--wide));margin-inline:auto;min-width:0;}
.page{min-height:100vh;}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:12px 20px;}
.skip-link:focus{top:12px;}
.eyebrow{font-size:16px;font-weight:500;letter-spacing:.10em;margin-bottom:18px;}
.btn,.header-contact{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:58px;padding:14px 26px;border:1px solid var(--brand);font-size:18px;line-height:1.5;font-weight:500;text-decoration:none;border-radius:3px;}
.btn.primary,.btn.mail,.header-contact{background:var(--brand);color:white;}
.btn.primary:hover,.btn.mail:hover,.header-contact:hover{background:var(--deep);color:white;}
.btn.secondary,.btn.call{background:white;color:var(--ink);}
.btn.secondary:hover,.btn.call:hover{background:var(--wash);}
.btn:active,.header-contact:active{transform:translateY(1px);}
.line-link{display:inline-flex;align-items:center;min-height:44px;font-size:19px;font-weight:700;}
.line-link:after{content:"↗";margin-left:22px;}
.contact-buttons,.clean-mini-actions,.cross-links,.related-links,.contact-form-wrap .contact-buttons{display:flex;flex-wrap:wrap;gap:12px;}
.cross-links,.related-links{margin:28px 0;}
.cross-links a,.related-links a,.clean-mini-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-bottom:1px solid var(--line);}
/* Header and navigation */
.utility-bar{background:var(--paper);font-size:14px;}
.utility-bar .header-wrap{display:flex;justify-content:space-between;gap:16px;padding-block:8px;border-bottom:1px solid var(--line);}
.utility-bar a{text-decoration:none;}
.header-inner{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px 32px;padding-top:26px;}
.brand{text-decoration:none;color:var(--ink);}
.brand-title{display:block;font-size:27px;line-height:1.5;font-family:var(--serif);font-weight:600;letter-spacing:.03em;}
.brand-sub{display:block;margin-top:3px;letter-spacing:.08em;font-size:14px;}
.header-phone{text-decoration:none;color:var(--ink);font-size:29px;line-height:1.25;font-weight:600;white-space:nowrap;letter-spacing:.015em;}
.header-phone small{display:block;font-size:13px;margin-top:5px;font-weight:400;text-align:center;}
.header-contact{grid-column:3;grid-row:1;}
.nav{grid-row:2;grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-block:6px;}
.nav a{display:flex;align-items:center;justify-content:center;min-height:58px;padding:10px 12px;color:var(--ink);text-decoration:none;font-size:16px;font-weight:500;}
.nav a:hover,.nav a[aria-current=page]{background:var(--wash);}
.mobile-menu,.mobile-bar{display:none;}
.footer{padding:56px 0 32px;border-top:1px solid var(--line);background:white;}
.footer-brand strong{display:block;font-size:26px;font-family:var(--serif);font-weight:600;}
.footer-brand span{display:block;font-size:16px;margin-top:8px;}
.footer-links{display:flex;flex-wrap:wrap;gap:2px 24px;margin-block:24px;}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-size:16px;text-decoration:none;}
.footer-links a:hover{color:var(--deep);text-decoration:underline;}
.copyright{display:block;color:var(--muted);font-size:14px;}
/* Homepage */
.masthead{position:relative;background:var(--wash);display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);align-items:center;max-width:1520px;margin:12px auto 0;width:min(calc(100% - var(--gutter)*2),1520px);}
.masthead-copy{grid-column:1;grid-row:1;padding:56px 44px;}
.masthead-copy h1{font-size:clamp(40px,3.8vw,58px);margin-bottom:24px;line-height:1.65;white-space:normal;letter-spacing:.02em;font-weight:600;}
.masthead-copy>p:not(.eyebrow){font-size:19px;line-height:2;}
.masthead-copy .btn{margin-top:28px;}
.masthead-person{display:block;font-size:16px;margin-top:20px;}
.masthead-image{grid-column:2;grid-row:1;align-self:center;display:flex;align-items:center;background:transparent;}
.masthead-image img{width:100%;height:auto;object-fit:contain;}
.masthead-caption{grid-column:1/-1;padding:14px 32px;text-align:right;background:var(--wash);color:var(--ink);font-size:14px;letter-spacing:.08em;border-top:1px solid var(--line);}
.home-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:36px;margin-bottom:48px;border-block:1px solid var(--line);}
.home-shortcuts a{display:grid;grid-template-columns:1fr auto;padding:26px 30px;text-decoration:none;color:var(--ink);border-right:1px solid var(--line);position:relative;}
.home-shortcuts a:last-child{border-right:0;}
.home-shortcuts small{grid-column:1/-1;font-size:14px;letter-spacing:.08em;}
.home-shortcuts span{font-size:25px;font-weight:500;line-height:1.6;margin-top:8px;}
.home-shortcuts b{align-self:end;font-size:20px;}
.home-shortcuts a:hover{background:var(--wash);}
.home-section{padding:96px 0;}
.home-consult{background:var(--wash);padding:56px 0;}
.home-consult-layout{display:grid;grid-template-columns:1fr 1.45fr;gap:72px;}
.home-consult h2{font-size:32px;}
.home-consult p:not(.eyebrow){font-size:19px;}
.home-consult-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;margin-top:20px;}
.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;}
.services-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;}
.services-three article{border-top:1px solid var(--brand);padding-top:26px;}
.service-no{font-size:15px;font-weight:700;letter-spacing:.08em;}
.services-three h3{font-size:30px;margin:18px 0;font-weight:500;}
.services-three h3 a{text-decoration:none;color:var(--ink);}
.services-three p{font-size:19px;}
.services-three ul{list-style:none;padding:0;margin-top:20px;}
.services-three li{margin:0;border-top:1px solid var(--line);}
.services-three li a{display:block;padding:13px 0;font-size:18px;}
.home-cases{background:var(--wash);}
.case-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.case-link{display:flex;flex-direction:column;padding:32px 36px;background:white;border-top:1px solid var(--brand);color:var(--ink);text-decoration:none;}
.case-label{font-size:15px;}
.case-link h3{margin:16px 0;font-size:26px;font-weight:500;line-height:1.65;}
.case-link p{font-size:19px;margin-bottom:20px;}
.case-read{border-top:1px solid var(--line);padding-top:16px;margin-top:auto;font-size:17px;font-weight:700;display:flex;justify-content:space-between;}
.case-link:hover .case-read{text-decoration:underline;}
.intro-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:80px;align-items:start;max-width:1120px;}
.intro-picture img{width:100%;height:auto;}
.intro-picture p{font-size:14px;margin-top:12px;}
.intro-picture strong{font-size:26px;margin-left:0;font-family:var(--serif);font-weight:600;display:block;margin-top:4px;}
.intro-text h2{margin-bottom:24px;}
.intro-text p{font-size:20px;}
.intro-text .line-link{margin-top:16px;}
.division-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.division-layout img{width:100%;}
.division-layout figcaption{font-size:14px;color:var(--muted);margin-top:8px;}
.division-layout h2{margin-bottom:24px;}
.division-layout p:not(.eyebrow){font-size:20px;}
.division-layout .line-link{margin-top:16px;}
.home-division{border-top:1px solid var(--line);}
.home-professional{background:var(--deep);color:white;}
.pro-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;}
.pro-layout h2{margin-bottom:24px;}
.pro-layout p:not(.eyebrow){font-size:20px;}
.pro-layout a{color:white;}
.pro-layout .line-link{margin-top:18px;}
.pro-routes a{display:grid;grid-template-columns:1fr auto;gap:3px 16px;padding:19px 0;border-bottom:1px solid #819e8f;text-decoration:none;}
.pro-routes a:first-child{border-top:1px solid #819e8f;}
.pro-routes span{font-size:25px;font-weight:500;}
.pro-routes small{grid-row:2;font-size:16px;}
.pro-routes b{grid-row:1/3;grid-column:2;align-self:center;}
.pro-routes a:hover span{text-decoration:underline;}
.basics-layout,.office-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;}
.basics-layout h2{margin-bottom:24px;}
.basics-layout p{font-size:19px;}
.basics-layout .line-link{margin-top:16px;}
.simple-flow{padding:0;list-style:none;margin:24px 0;}
.simple-flow li{display:flex;align-items:baseline;gap:20px;border-bottom:1px solid var(--line);padding:10px 0;font-size:19px;margin:0;}
.simple-flow b{font-size:15px;color:var(--brand);}
.home-questions{background:var(--wash);}
.questions-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:56px;}
.questions-layout .line-link{margin-top:16px;}
.questions-layout nav a{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:14px 0;color:var(--ink);text-decoration:none;font-size:19px;}
.questions-layout nav a:hover{text-decoration:underline;}
.office-layout h2{margin-bottom:20px;}
.office-layout p{font-size:19px;}
.town-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;}
.town-links a{min-height:44px;display:inline-flex;align-items:center;}
.office-address{border-left:1px solid var(--line);padding-left:40px;}
.office-address h3{font-size:23px;margin-bottom:16px;}
.office-tel{display:inline-block;font-size:36px;line-height:1.5;margin:16px 0;text-decoration:none;font-weight:700;}
.home-contact{background:var(--lemon);padding:76px 0;text-align:center;}
.home-contact h2{margin-bottom:18px;}
.home-contact-actions{display:flex;justify-content:center;gap:48px;align-items:center;margin-top:30px;}
.contact-number{color:var(--ink);text-decoration:none;text-align:left;}
.contact-number small{display:block;}
.contact-number strong{font-size:38px;line-height:1.3;}
/* Interior page reading rhythm */
.page-hero{padding:28px 0 56px;background:var(--wash);border-bottom:0;}
.page-hero .container{max-width:1060px;}
.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:28px;}
.breadcrumb a{color:var(--muted);}
.page-hero h1{max-width:1060px;}
.page-hero p{margin-top:24px;max-width:880px;font-size:20px;line-height:1.95;}
.content{padding:60px 0 88px;}
.clean-detail{max-width:var(--read);}
.clean-detail>h2{margin:64px 0 26px;padding-top:26px;border-top:1px solid var(--line);font-size:32px;}
.clean-detail>h2:first-child{margin-top:0;}
.clean-detail>h3{margin:32px 0 14px;}
.clean-detail>ul,.clean-detail>ol{margin:22px 0;}
.clean-detail>p{margin-bottom:20px;}
.clean-detail>p:last-child{margin-bottom:0;}
.lead-copy{font-size:22px;font-weight:400;}
.toc{background:var(--wash);border-left:3px solid var(--brand);padding:20px 24px;margin:28px 0 40px;font-size:19px;}
.toc summary{font-weight:700;cursor:pointer;min-height:36px;}
.toc :is(ul,ol){margin-top:12px;padding-left:1.4em;}
.toc a{display:inline-block;padding:4px 0;}
.toc li{margin:0;}
.topic-list{display:grid;gap:0;margin:24px 0;}
.topic-item{border-bottom:1px solid var(--line);padding:24px 0;}
.topic-item h3{margin-bottom:10px;}
.topic-item p{font-size:19px;}
.topic-item a{font-weight:700;}
.two,.factor-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.practical-block,.factor-card{background:var(--wash);padding:24px;margin-block:24px;}
.practical-block h2,.practical-block h3,.factor-card h3{margin-bottom:16px;}
.factor-card ol{font-size:19px;}
.quiet-cta{margin-top:48px;border-top:3px solid var(--brand);background:var(--wash);padding:28px 32px;}
.quiet-cta h2{font-size:30px;margin-bottom:16px;}
.quiet-cta p{font-size:19px;}
.quiet-cta .contact-buttons{margin-top:22px;}
.clean-cta{margin-top:32px;}
.article-photo{margin:30px 0;max-width:680px;}
.article-photo img{width:100%;height:auto;object-fit:contain;}
.article-photo figcaption{font-size:15px;margin-top:8px;}
.article-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0;}
.article-photo-pair figure{margin:0;}
.supplied-photo-device{max-width:460px;}
.supplied-photo-tools{max-width:560px;}
.device-crop{object-fit:contain;}
.professional-list{margin:24px 0 40px;}
.professional-row{display:grid;grid-template-columns:1fr auto;gap:10px 24px;padding:24px 0;border-bottom:1px solid var(--line);}
.professional-row h3{grid-column:1;}
.professional-row h3 a{color:var(--ink);text-decoration:none;}
.professional-row p{grid-column:1;font-size:19px;}
.professional-row>a{grid-column:2;grid-row:1/3;min-width:44px;min-height:44px;align-self:center;text-align:center;font-size:30px;text-decoration:none;}
.faq-question{padding-left:18px;border-left:3px solid var(--brand);margin-top:40px;margin-bottom:18px;}
.faq-index{margin-bottom:42px;}
.faq-index ul{list-style:none;padding:0;}
.faq-index a{display:block;padding:10px 0;}
.faq-index li+li{border-top:1px solid var(--line);}
/* Tables: shared semantics and single-source responsive pricing */
table{border-collapse:collapse;width:100%;font-size:18px;line-height:1.75;margin:24px 0;}
th,td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);}
th{font-weight:700;background:var(--wash);}
thead th{border-bottom:2px solid var(--control);}
.table-wrap,.price-table-wrap{max-width:100%;overflow-x:auto;margin:28px 0;}
.table-wrap table,.price-table-wrap table{margin:0;}
.price-table{font-size:18px;}
.price-table th:first-child{width:23%;}
.price-table th:nth-child(2){width:52%;}
.price-table th:last-child{width:25%;}
.price-table .amount{font-size:30px;font-weight:700;white-space:nowrap;}
.mobile-cell-label{display:none;}
.price-hero-visual{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:center;}
.price-hero-photo img{width:100%;height:auto;}
.price-hero-note{font-size:16px;}
.price-note{background:var(--wash);padding:22px;margin:24px 0;}
.price-note-text,.price-note p{font-size:18px;}
.scope-table th{width:28%;}
/* Flow */
.flow-intro{padding:40px 0;background:white;}
.flow-intro-grid{max-width:var(--read);display:grid;gap:24px;}
.flow-intro h2{margin-bottom:18px;}
.flow-timeline-section{padding:40px 0;border-top:1px solid var(--line);}
.flow-shell{max-width:var(--read);}
.flow-heading{margin-bottom:28px;}
.flow-heading h2{margin-bottom:16px;}
.flow-heading p{font-size:20px;}
.flow-timeline{list-style:none;padding:0;}
.flow-timeline>li{display:grid;grid-template-columns:56px 1fr;gap:24px;padding:0 0 28px;margin:0;position:relative;}
.flow-timeline>li:not(:last-child):before{content:"";position:absolute;top:48px;bottom:0;left:23px;width:1px;background:var(--line);}
.flow-timeline>li>span{display:flex;align-items:center;justify-content:center;align-self:start;width:48px;height:48px;background:var(--brand);color:white;font-size:20px;font-weight:700;}
.flow-timeline h3{margin-bottom:12px;}
.flow-timeline p{font-size:20px;}
.flow-timeline .flow-question{margin:0 0 28px;padding:20px;background:var(--wash);grid-template-columns:36px 1fr;gap:24px;}
.flow-timeline .flow-question:before{display:none;}
.flow-timeline .flow-question>span{width:36px;height:36px;background:transparent;color:var(--brand);}
.flow-question h3{font-size:23px;}
.flow-duration{background:var(--wash);border-left:3px solid var(--brand);padding:22px 26px;font-size:19px;}
.step-list{margin-block:24px;}
.step-list li{padding:16px 0;border-bottom:1px solid var(--line);}
/* Profile and utility */
.representative-detail{max-width:1060px;}
.rep-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px;}
.rep-left h2{font-size:32px;margin-bottom:28px;}
.rep-left p{font-size:20px;}
.rep-photo{width:280px;max-width:100%;margin:0 0 28px;}
.rep-info-card{background:var(--wash);padding:28px;align-self:start;}
.rep-info-card h2{font-size:28px;margin-bottom:20px;}
.rep-table>div{border-bottom:1px solid var(--line);padding:12px 0;}
.rep-table dt{font-size:16px;font-weight:700;}
.rep-table dd{margin:6px 0 0;font-size:19px;}
.rep-affiliations{margin-top:32px;}
.rep-affiliations ul{list-style:none;padding:0;}
.rep-affiliations a{display:block;padding:10px 0;font-size:18px;}
.rep-affiliations span{display:block;font-size:14px;}
.rep-actions{margin-top:24px;}
.sitemap-shell{max-width:1000px;}
.sitemap-intro{margin-bottom:32px;}
.sitemap-groups{display:grid;grid-template-columns:1fr 1fr;gap:36px;}
.sitemap-group h2{font-size:28px;margin-bottom:16px;padding-top:20px;border-top:2px solid var(--brand);}
.sitemap-group ul{padding-left:1.2em;font-size:19px;}
.sitemap-group a{display:inline-block;padding:5px 0;}
.privacy-meta{font-size:16px;color:var(--muted);margin:20px 0;}
.thanks-card{max-width:720px;margin:auto;padding:32px;border:1px solid var(--line);background:var(--wash);}
.thanks-card h1,.thanks-card h2{font-size:36px;margin-bottom:24px;}
.thanks-mark{font-size:38px;font-weight:700;margin-bottom:20px;}
.thanks-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
/* Contact: clear required/optional fields and recoverable status */
.contact-layout>*{min-width:0;}
.contact-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:72px;max-width:1160px;}
.contact-side-card{border-top:2px solid var(--brand);padding:20px 0;margin-bottom:24px;}
.contact-side-card h2{font-size:22px;margin-bottom:12px;font-family:var(--sans);}
.contact-side-card p{font-size:18px;}
.contact-phone{font-size:30px;white-space:normal;font-weight:700;text-decoration:none;}
.contact-form-wrap h2{margin-bottom:20px;}
.contact-form-lead{font-size:20px;margin-bottom:20px;}
.contact-form-wrap>p{font-size:19px;}
.contact-form{margin-top:32px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-field{margin-bottom:32px;min-width:0;}
.form-field>label,.form-field>legend{display:block;font-size:19px;font-weight:600;margin-bottom:9px;}
fieldset.form-field{padding:0;border:0;min-width:0;}
.required,.optional{font-size:14px;margin-left:10px;padding:3px 7px;font-weight:400;vertical-align:middle;}
.required{background:var(--brand);color:white;}
.optional{background:var(--wash);color:var(--muted);}
.contact-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.contact-form select,.contact-form textarea{display:block;width:100%;min-height:56px;border:1px solid var(--control);border-radius:2px;background:white;color:var(--ink);padding:14px;font-size:18px;line-height:1.6;}
.contact-form textarea{min-height:180px;resize:vertical;}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#586960;opacity:1;}
.form-hint{font-size:16px;color:var(--muted);line-height:1.75;margin-top:8px;}
.radio-group{display:flex;flex-wrap:wrap;gap:4px 24px;}
.radio-group label{display:flex;align-items:center;gap:9px;min-height:44px;font-size:19px;}
.contact-form input[type=checkbox],.contact-form input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--brand);margin:3px 0;}
.consent-row{display:flex;align-items:flex-start;gap:12px;font-size:18px;line-height:1.8;padding:16px 0;}
.consent-row:has(#privacy-consent){border-top:1px solid var(--line);}
.consent-row:has(#measurement-consent){background:var(--wash);padding:16px;margin-block:8px 24px;}
.form-submit{margin-top:28px;}
.form-submit button{min-width:240px;}
.form-submit button:disabled{background:#dbe4df;color:#485b52;border-color:var(--control);cursor:wait;}
.form-status{display:none;}
.form-status.is-visible{display:block;padding:18px 20px;margin:20px 0;border:1px solid var(--control);font-size:19px;background:var(--wash);}
.form-status.is-error{border-color:var(--error);color:var(--error);background:#fff7f4;}
.no-script-note{padding:20px;border:1px solid var(--error);color:var(--error);}
.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
.turnstile-box{margin-top:16px;}
/* Nested label remains one large, correctly associated click target. */
.consent-row>label{display:flex;gap:12px;align-items:flex-start;}
.consent-row>label>span{min-width:0;}
.form-submit small{display:block;margin-top:10px;font-size:16px;}
.related-links>h2{flex-basis:100%;font-size:28px;}
.related-links>ul{margin:0;}
.masthead-image{background:transparent;align-self:center;}
/* Responsive layout */
@media(max-width:1100px){
.brand-title{font-size:23px;}
.header-inner{gap:16px;}
.header-phone{font-size:26px;}
.header-contact{font-size:17px;padding:12px 18px;}
.nav a{padding:8px;font-size:16px;}
.masthead-copy{padding-left:28px;padding-right:28px;}
.masthead-copy h1{font-size:40px;}
.intro-layout{gap:40px;}
.contact-layout{gap:36px;grid-template-columns:280px minmax(0,1fr);}
}
@media(max-width:950px){
:root{--gutter:28px;}
.utility-bar{display:none;}
.header-inner{display:flex;justify-content:space-between;padding:22px 0;position:relative;}
.brand-title{font-size:25px;}
.header-phone,.header-contact,.nav{display:none;}
.mobile-menu{display:block;position:relative;flex-shrink:0;font-size:16px;}
.mobile-menu summary{display:flex;align-items:center;justify-content:center;min-width:76px;min-height:44px;cursor:pointer;border:1px solid var(--control);padding:8px 10px;list-style:none;}
.mobile-menu summary::-webkit-details-marker{display:none;}
.mobile-menu summary:after{content:"＋";margin-left:8px;}
.mobile-menu[open] summary:after{content:"−";}
.mobile-menu nav{position:absolute;right:0;top:54px;z-index:30;display:grid;grid-template-columns:1fr 1fr;width:min(440px,calc(100vw - 48px));max-height:calc(100dvh - 150px);overflow-y:auto;background:white;border:1px solid var(--control);box-shadow:0 12px 32px #123c2826;padding:12px;}
.mobile-menu nav a{display:flex;align-items:center;min-height:44px;padding:9px 10px;font-size:17px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;}
.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:white;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--control);}
.mobile-bar a{display:flex;align-items:center;justify-content:center;min-height:56px;font-size:19px;font-weight:700;text-decoration:none;background:var(--brand);color:white;}
.mobile-bar a:first-child{background:var(--wash);color:var(--ink);}
body{padding-bottom:calc(112px + env(safe-area-inset-bottom));scroll-padding-bottom:90px;}
main :is(input,textarea,select,button,[tabindex],a){scroll-margin-bottom:160px;}
.masthead-copy h1{font-size:44px;}
.masthead-copy{padding:40px;}
.masthead-copy .eyebrow{font-size:16px;}
.masthead-copy>p:not(.eyebrow){font-size:20px;}
.home-consult-layout{gap:32px;}
.home-shortcuts a{padding:18px 16px;}
.home-shortcuts span{font-size:22px;}
.services-three{gap:24px;}
.pro-layout,.basics-layout,.office-layout{gap:36px;}
.questions-layout{gap:32px;}
.contact-layout{grid-template-columns:1fr;max-width:800px;gap:28px;}
.contact-side{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;}
.contact-side-card{margin:0;}
.rep-grid{gap:32px;}
.rep-info-card{padding:22px;}
}
@media(max-width:700px){
:root{--gutter:24px;}
body{font-size:18px;line-height:1.95;}
h1{font-size:32px;line-height:1.6;}
h2{font-size:29px;}
h3{font-size:23px;}
.brand-title{font-size:19px;letter-spacing:0;line-height:1.6;}
.brand-sub{font-size:13px;letter-spacing:.04em;}
.header-inner{gap:14px;padding-block:18px;}
.mobile-menu summary{min-width:76px;padding:7px;font-size:14px;}
.mobile-menu nav{width:min(390px,calc(100vw - 44px));}
.page-hero{padding:20px 0 32px;}
.breadcrumb{font-size:13px;margin-bottom:20px;}
.page-hero p{font-size:18px;margin-top:18px;}
.page-hero h1{font-size:32px;}
.content{padding:32px 0 48px;}
.clean-detail>h2{font-size:28px;margin-top:40px;padding-top:18px;margin-bottom:18px;}
.clean-detail>h3{font-size:23px;margin-top:28px;}
.lead-copy{font-size:20px;}
.toc{padding:18px;margin:24px 0 30px;font-size:18px;}
.quiet-cta{padding:22px;margin-top:36px;}
.quiet-cta h2{font-size:28px;}
.quiet-cta .btn{flex:1;min-width:120px;}
.cross-links,.related-links{gap:8px;font-size:18px;}
.cross-links a,.related-links a{padding:8px 10px;}
.two,.factor-grid{grid-template-columns:1fr;gap:0;}
.factor-card{padding:22px;}
.masthead{display:flex;flex-direction:column;align-items:stretch;width:100%;margin-top:0;}
.masthead-image{order:2;background:var(--wash);}
.masthead-image img{width:100%;height:auto;max-height:none;}
.masthead-copy{order:1;padding:32px 24px;}
.masthead-copy h1{font-size:34px;line-height:1.65;margin-bottom:22px;white-space:normal;letter-spacing:.02em;}
.masthead-copy .eyebrow{font-size:15px;margin-bottom:14px;}
.masthead-copy>p:not(.eyebrow){font-size:18px;line-height:1.95;}
.masthead-copy .btn{margin-top:18px;}
.masthead-person{font-size:15px;margin-top:12px;}
.masthead-caption{order:3;padding:14px 24px;font-size:13px;text-align:left;}
.home-shortcuts{grid-template-columns:1fr 1fr;margin-top:24px;margin-bottom:28px;}
.home-shortcuts a{padding:18px;}
.home-shortcuts a:nth-child(2){border-right:0;}
.home-shortcuts a:nth-child(-n/**/+2){border-bottom:1px solid var(--line);}
.home-shortcuts span{font-size:21px;}
.home-shortcuts small{font-size:14px;}
.home-consult{padding:40px 0;}
.home-consult-layout{grid-template-columns:1fr;gap:18px;}
.home-consult h2{font-size:28px;}
.home-consult h2 br{display:none;}
.home-consult .eyebrow{margin-bottom:8px;}
.home-consult-actions{gap:8px 18px;margin-top:16px;}
.home-section{padding:60px 0;}
.section-title-row{display:block;margin-bottom:26px;}
.section-title-row>.line-link{margin-top:16px;}
.section-title-row h2{font-size:30px;}
.services-three{grid-template-columns:1fr;gap:28px;}
.services-three article{padding-top:18px;}
.services-three h3{margin:10px 0 14px;font-size:28px;}
.services-three ul{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;margin-top:16px;}
.services-three li a{font-size:17px;min-height:48px;display:flex;align-items:center;}
.case-pair{grid-template-columns:1fr;gap:20px;}
.case-link{padding:22px;}
.case-link h3{font-size:24px;}
.case-link h3 br{display:none;}
.case-link p{font-size:18px;}
.intro-layout{grid-template-columns:1fr;gap:28px;}
.intro-picture{max-width:280px;}
.intro-text h2{font-size:29px;}
.intro-text p{font-size:18px;}
.desktop-break{display:none;}
.division-layout{grid-template-columns:1fr;gap:24px;}
.division-layout h2{font-size:29px;margin-bottom:18px;}
.division-layout p:not(.eyebrow){font-size:18px;}
.pro-layout,.basics-layout,.questions-layout,.office-layout{grid-template-columns:1fr;gap:32px;}
.pro-layout h2,.basics-layout h2{font-size:29px;margin-bottom:18px;}
.pro-layout p:not(.eyebrow){font-size:18px;}
.pro-routes span{font-size:23px;}
.pro-routes small{font-size:16px;}
.pro-routes a{padding:16px 0;}
.basics-layout>div+div{border-top:1px solid var(--line);padding-top:32px;}
.questions-layout{gap:18px;}
.questions-layout h2{font-size:30px;}
.questions-layout .line-link{margin-top:8px;}
.questions-layout nav a{font-size:18px;}
.office-layout{gap:28px;}
.office-address{padding:24px 0 0;border-left:0;border-top:1px solid var(--line);}
.office-address h3{font-size:21px;}
.home-contact{padding:48px 0;}
.home-contact h2{font-size:28px;}
.home-contact h2 br{display:none;}
.home-contact-actions{flex-direction:column;gap:22px;margin-top:24px;}
.home-contact-actions .btn{width:100%;max-width:360px;}
.contact-number{text-align:center;}
.contact-number strong{font-size:36px;}
.footer{padding:32px 0 24px;}
.footer-brand strong{font-size:22px;}
.footer-brand span{font-size:15px;}
.footer-links{gap:0 18px;margin-block:18px;}
.footer-links a{font-size:16px;}
.copyright{font-size:13px;}
.article-photo,.article-photo-pair{margin:24px 0;}
.article-photo-pair{gap:14px;}
.professional-row{padding:20px 0;gap:8px 12px;}
.professional-row h3{font-size:24px;}
.professional-row p{font-size:18px;}
.flow-intro{padding:30px 0;}
.flow-intro-grid{gap:20px;}
.flow-timeline-section{padding:32px 0;}
.flow-timeline>li{grid-template-columns:40px 1fr;gap:14px;padding-bottom:26px;}
.flow-timeline>li>span{width:36px;height:36px;font-size:16px;}
.flow-timeline>li:not(:last-child):before{left:17px;top:36px;}
.flow-timeline h3{font-size:23px;margin-bottom:10px;}
.flow-timeline p{font-size:19px;}
.flow-timeline .flow-question{padding:16px;grid-template-columns:24px 1fr;gap:12px;}
.flow-timeline .flow-question>span{width:24px;height:30px;}
.flow-question h3{font-size:20px;}
.flow-duration{padding:18px;font-size:18px;}
.rep-grid{grid-template-columns:1fr;gap:32px;}
.rep-left h2{font-size:28px;}
.rep-left p{font-size:19px;}
.rep-photo{width:240px;margin-bottom:24px;}
.rep-info-card{padding:24px;}
.sitemap-groups{grid-template-columns:1fr;gap:28px;}
.thanks-card{padding:24px;}
.thanks-card h1,.thanks-card h2{font-size:30px;}
.thanks-actions{flex-direction:column;}
.contact-side{grid-template-columns:1fr;gap:12px;}
.contact-side-card{padding:14px 0 0;}
.contact-side-card h2{font-size:20px;margin-bottom:6px;}
.contact-side-card p{font-size:17px;}
.contact-side-card p+p{margin-top:6px;}
.contact-phone{font-size:30px;}
.contact-form-wrap h2{font-size:29px;margin-bottom:16px;}
.contact-form-lead{font-size:18px;}
.contact-form{margin-top:26px;}
.form-row{grid-template-columns:1fr;gap:0;}
.form-field{margin-bottom:24px;}
.form-submit button{width:100%;}
.consent-row{font-size:17px;}
.contact-layout{gap:30px;}
.price-hero-visual{grid-template-columns:1fr;gap:24px;}
.price-hero-photo{max-width:360px;}
.price-table-wrap{overflow:visible;}
.price-table{display:table;width:100%;}
.price-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.price-table tbody{display:block;}
.price-table tr{display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-top:3px solid var(--brand);margin-bottom:20px;padding:18px 20px;}
.price-table td{display:block;padding:0;border:0;width:auto;font-size:18px;}
.price-table td:first-child{font-size:23px;font-weight:700;margin-bottom:12px;}
.price-table td+td{margin-top:12px;}
.price-table td:last-child{padding-top:14px;border-top:1px solid var(--line);}
.mobile-cell-label{display:block;font-size:15px;line-height:1.5;font-weight:400;color:var(--muted);margin-bottom:7px;}
.price-table .amount{font-size:30px;}
.scope-table th{width:30%;}
th,td{padding:12px 10px;font-size:17px;}
table{font-size:17px;}
}
@media(max-width:360px){
:root{--gutter:18px;}
.brand-title{font-size:18px;}
.brand-sub{font-size:13px;}
.mobile-menu summary{min-width:62px;}
.masthead-copy{padding-inline:18px;}
.masthead-copy h1{font-size:30px;}
.page-hero h1{font-size:30px;}
.home-shortcuts a{padding:12px;}
.home-shortcuts span{font-size:20px;}
.contact-phone{font-size:29px;}
.services-three li a{font-size:17px;}
.home-contact h2{font-size:27px;}
.price-table tr{padding:16px;}
.btn{padding-inline:18px;gap:14px;}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto;}
*,*:before,*:after{animation:none!important;transition:none!important;}
}
@media(forced-colors:active){
.btn,.mobile-bar a,.flow-timeline>li>span,.required{border:1px solid ButtonText;}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid Highlight;box-shadow:none;}
}
/* The hero uses its own bounded container; viewport width never becomes inner padding. */
.masthead-image{background:transparent;padding-right:0}
.home-shortcuts a,.services-three li a,.case-link,.btn,.header-contact{transition:background-color .18s,color .18s}
.brand-name{margin-right:.3em}
@media(max-width:1100px) and (min-width:951px){.masthead-copy>p:not(.eyebrow){font-size:18px}.intro-layout{grid-template-columns:280px minmax(0,1fr)}.intro-text h2{font-size:32px}.basics-layout,.office-layout{gap:40px}}
@media(max-width:950px){.masthead{display:flex;flex-direction:column;align-items:stretch}.masthead-copy{order:1}.masthead-image{order:2}.masthead-caption{order:3}.services-three{grid-template-columns:1fr}.services-three article{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.service-no,.services-three h3{grid-column:1}.services-three p{grid-column:1}.services-three ul{grid-column:2;grid-row:1/4;margin-top:0}.intro-layout{grid-template-columns:260px minmax(0,1fr);gap:40px}.intro-text h2{font-size:29px}.intro-text h2 br{display:none}.rep-grid{grid-template-columns:1fr}.basics-layout,.office-layout,.pro-layout{grid-template-columns:1fr;gap:40px}.pro-routes a{padding-block:24px}.mobile-bar a{font-size:18px;min-height:60px}}
@media(max-width:700px){.brand-name{display:block;font-size:25px;line-height:1.25;margin:0 0 4px;letter-spacing:.12em}.brand-sub{margin-top:6px}.brand-title{font-weight:600}.mobile-menu summary{min-height:48px}.masthead-copy>p:not(.eyebrow) br{display:none}.services-three article{display:block}.services-three p,.home-consult p:not(.eyebrow),.basics-layout p,.office-layout p,.quiet-cta p,.topic-item p,.professional-row p,.contact-form-wrap>p{font-size:18px}.services-three ul{margin-top:20px}.intro-layout{grid-template-columns:1fr;gap:32px}.intro-text h2{font-size:29px}.home-shortcuts b{font-size:20px}.btn,.header-contact{font-size:18px}.eyebrow{font-size:15px}.line-link{font-size:18px}.price-table tr{padding:22px}.contact-side-card h2{font-family:var(--sans)}.rep-left h2{font-size:29px}.flow-timeline p,.rep-left p{font-size:18px}.flow-timeline h3{font-size:23px}.article-photo figcaption,.division-layout figcaption{font-size:14px}.home-contact h2 br{display:none}.footer-brand strong{line-height:1.6}}
@media(max-width:360px){.brand-name{font-size:24px}.brand-title{font-size:17px}.mobile-menu summary{min-width:68px;font-size:13px}.services-three ul{grid-template-columns:1fr}.home-shortcuts a{padding:16px 12px}.masthead-copy{padding-inline:18px}.masthead-copy .eyebrow{font-size:14px}.contact-number strong{font-size:32px}}
@media(max-width:700px){.home-consult h2 br{display:initial}}
@media(max-width:440px){.home-shortcuts{grid-template-columns:1fr}.home-shortcuts a{grid-template-columns:28px 1fr 24px;gap:16px;padding:20px 0;border-right:0;border-bottom:1px solid var(--line);align-items:center}.home-shortcuts a:last-child{border-bottom:0}.home-shortcuts small{grid-column:1;align-self:start;padding-top:5px}.home-shortcuts span{grid-column:2;margin:0;font-size:22px}.home-shortcuts b{grid-column:3;align-self:center}.home-shortcuts a:nth-child(2){border-bottom:1px solid var(--line)}}
@media(max-width:340px){.masthead-copy h1{font-size:28px;letter-spacing:.01em}}
@media(max-width:700px){.rep-left h2 .rep-phrase{display:inline-block}.rep-left h2{font-size:28px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}

/* Approved RCJ visual design. Production functionality retained. */
/* RCJ-informed visual study, original Fukuda content and image assets retained. */
:root{--ink:#203749;--brand:#1268aa;--deep:#164d79;--paper:#fff;--wash:#eef6fc;--lemon:#eef6fc;--muted:#506a7d;--line:#cbdfed;--control:#738da1;--error:#a62d29;--wide:1160px;--read:820px;--gutter:40px;--blue:#2476ba;--navy:#15476e;--action:#b64c22;--shadow:0 4px 20px #103f6817}
body{font-size:20px;line-height:1.9;color:var(--ink)}h1,h2,h3{font-family:var(--sans);letter-spacing:.015em;line-height:1.5}h1,h2{font-weight:700}h2{font-size:34px}h3{font-weight:700}a{color:var(--brand)}a:hover{color:#093e6a}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-color:#873c12;box-shadow:0 0 0 6px #fff}
.btn,.header-contact{min-height:58px;border-radius:30px;font-weight:700;font-size:19px;padding:14px 30px;gap:24px;transition:background-color .16s,box-shadow .16s}.btn.primary,.btn.mail,.header-contact{background:linear-gradient(#c45b2a,#a8441b);border:1px solid #9c3d16;box-shadow:0 3px 0 #81300f,0 5px 12px #8340201c;color:white}.btn.primary:hover,.btn.mail:hover,.header-contact:hover{background:#983b17;box-shadow:0 3px 0 #71300f,0 7px 18px #83402028}.btn.secondary,.btn.call{border:1px solid var(--blue);color:var(--brand)}.line-link{font-size:18px;font-weight:600}.line-link:after{content:"›";background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;margin-left:18px;font:24px/1 var(--sans)}.eyebrow{letter-spacing:.04em;font-size:17px;font-weight:600;color:var(--brand)}
/* Identity and primary navigation are one continuous header. */
.utility-bar{background:#eef5fa;font-size:13px;line-height:1.5}.utility-bar .header-wrap{border:0;padding-block:4px;color:#466579}.header-inner{padding-top:16px;gap:16px 30px;grid-template-columns:1fr auto auto}.brand-title{font-family:var(--sans);font-size:25px;font-weight:700;letter-spacing:.015em;color:#153f63}.brand-sub{font-size:13px;letter-spacing:.04em;margin-top:4px;color:#536c7d}.header-phone{font-size:29px;font-weight:700;color:#165888}.header-phone small{font-size:12px;letter-spacing:0}.header-contact{min-height:52px;font-size:17px;padding:12px 23px;border-radius:5px}.nav{padding:0;border:0;gap:0;background:var(--blue);border-radius:5px 5px 10px 10px;position:relative;z-index:4;box-shadow:0 3px 8px #164b7017}.nav a{flex:1;min-height:52px;padding:12px 8px;font-size:16px;font-weight:600;color:white;border-right:1px solid #ffffff45;line-height:1.5}.nav a:first-child{border-radius:5px 0 0 10px}.nav a:last-child{border-right:0;border-radius:0 5px 10px 0}.nav a:hover,.nav a[aria-current=page]{background:#145e9b;color:white}
/* One composed key visual; actual photograph remains a normal, accessible image. */
.masthead{isolation:isolate;display:grid;grid-template-columns:1fr;width:min(100%,1680px);max-width:1680px;margin:-1px auto 0;padding:0;gap:0;background:#eef6fc;overflow:hidden;align-items:initial}
.masthead-image{position:absolute;inset:0;grid-column:1;grid-row:1;width:100%;height:100%;z-index:-2;display:block;align-self:stretch}.masthead-image img{width:100%;height:100%;object-fit:cover;object-position:68% center}
.masthead:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f6fbff 0%,#f6fbffff 26%,#f6fbfff5 36%,#f6fbffd9 46%,#f6fbff65 60%,#fff0 73%)}
.masthead-copy{grid-row:1;grid-column:1;align-self:start;width:min(calc(100% - 80px),1160px);margin:auto;padding:42px 0 45px;min-height:555px;max-width:none;position:relative}
.masthead-copy>.eyebrow{display:table;background:#fff;color:#165d97;border:1px solid #9bc3e1;padding:5px 20px;border-radius:2px;font-size:17px;letter-spacing:.02em;font-weight:700;margin:0 0 19px;box-shadow:3px 3px 0 #3f91ca19}
.masthead-copy h1{font-family:var(--sans);font-size:clamp(40px,3.95vw,57px);line-height:1.48;font-weight:700;letter-spacing:0;max-width:680px;color:#124b78;margin-bottom:22px;text-shadow:0 2px 0 #fff,2px 0 0 #fff,-2px 0 0 #fff}
.masthead-copy>p:not(.eyebrow){font-size:20px;line-height:1.85;max-width:575px;color:#243c4d;font-weight:400}.masthead-copy .btn{margin-top:22px;min-width:288px;justify-content:space-between}.masthead-person{margin-top:18px;color:#1b567f;max-width:570px;font-size:16px;font-weight:500;text-shadow:0 1px 1px #fff}.masthead-caption{grid-column:1;grid-row:2;position:relative;background:linear-gradient(110deg,#155a93 0%,#287dbe 54%,#124c79 100%);color:white;font-size:16px;font-weight:500;text-align:center;letter-spacing:.06em;padding:12px 30px;border:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
/* Purpose panels echo a conventional professional-service landing page. */
.home-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr));border:0;gap:0;margin-block:0 36px;box-shadow:0 5px 15px #143d6412;position:relative}.home-shortcuts a{padding:19px 24px 22px;background:linear-gradient(145deg,#fff,#edf5fb);border-right:1px solid #cfdfeb;border-bottom:4px solid var(--blue);min-height:126px;grid-template-columns:1fr auto;gap:0 10px}.home-shortcuts a:first-child{border-radius:0 0 0 7px}.home-shortcuts a:last-child{border-radius:0 0 7px 0;border-right:0}.home-shortcuts a:hover{background:#e5f1fb}.home-shortcuts small{font:700 15px/1.5 var(--sans);color:#4683af;letter-spacing:.05em}.home-shortcuts span{font-size:22px;line-height:1.55;font-weight:700;margin-top:5px;color:#194f79}.home-shortcuts b{display:flex;align-items:center;justify-content:center;align-self:center;width:29px;height:29px;border-radius:50%;background:var(--blue);color:white;font-size:17px}
/* Existing Japanese labels provide the section identity; no added English copy. */
.home-section{padding:76px 0}.home-consult{background:white;padding:24px 0 48px}.home-consult-layout{grid-template-columns:1fr 1.5fr;gap:60px;align-items:center}.home-consult h2{font-size:29px;color:#1f3545}.home-consult .eyebrow{font-size:17px;margin-bottom:12px}.home-consult p:not(.eyebrow){font-size:20px}.home-consult-actions{margin-top:20px;gap:18px}.home-consult .btn{font-size:18px;min-height:52px;padding:11px 24px}.section-title-row{align-items:end;margin-bottom:36px;padding-bottom:22px;border-bottom:1px solid #afcde3;position:relative}.section-title-row:after{content:"";position:absolute;bottom:-2px;left:0;width:88px;height:4px;background:var(--blue)}.section-title-row .eyebrow{font-size:34px;color:#202f3a;font-weight:700;line-height:1.4;margin-bottom:13px;letter-spacing:.02em}.section-title-row h2{font-size:21px;line-height:1.65;font-weight:400;letter-spacing:0;color:#466172}.section-title-row h2 br{display:none}.section-title-row>.line-link{flex-shrink:0;font-size:17px}.home-services{position:relative;background:#f0f7fc;border:0;padding-top:68px}.home-services:before{content:"";position:absolute;left:0;right:0;top:-1px;height:25px;background:#fff;clip-path:ellipse(58% 100% at 50% 0)}
.services-three{gap:26px}.services-three article{background:#fff;border:1px solid #d3e2ee;border-top:0;padding:0 26px 25px;box-shadow:0 4px 16px #1743671a;border-radius:9px;overflow:hidden;display:flex;flex-direction:column}.service-no{display:block;background:linear-gradient(100deg,#176cad,#2476ba);color:white;padding:11px 26px;margin:0 -26px 22px;font-size:18px;font-weight:700;letter-spacing:.025em;text-align:center}.services-three h3{text-align:center;font-size:27px;font-weight:700;margin:0 0 18px;line-height:1.5}.services-three p{font-size:19px;line-height:1.85;margin-bottom:24px}.services-three ul{margin-top:auto}.services-three li{border-color:#dae7f0}.services-three li a{font-size:18px;padding:12px 26px 12px 0;position:relative;text-decoration:none}.services-three li a:after{content:"›";position:absolute;right:0;top:12px;color:var(--brand);font-weight:700}.services-three li a:hover{text-decoration:underline}
.home-cases{background:white}.case-pair{gap:28px}.case-link{border:1px solid #c9deed;border-top:5px solid var(--blue);border-radius:5px;padding:28px 30px;box-shadow:var(--shadow);background:linear-gradient(#fff,#f7fbfe)}.case-label{font-size:15px;font-weight:600;color:#276e9f}.case-link h3{font-size:26px;font-weight:700;line-height:1.55;margin:16px 0}.case-link p{font-size:19px}.case-read{border-top:1px solid #cbddea;color:var(--brand);font-size:17px}.case-read b{color:var(--blue)}
.home-intro{background:#eef6fc;position:relative}.intro-layout{grid-template-columns:290px minmax(0,1fr);gap:72px;max-width:1060px;align-items:center}.intro-picture{padding:12px;background:white;border-radius:5px;box-shadow:var(--shadow)}.intro-picture p{font-size:14px;padding:3px 8px 8px}.intro-picture strong{font-family:var(--sans);font-size:26px;font-weight:700;color:#164f7a}.intro-text h2{font-size:32px;line-height:1.55;color:#194e77;margin-bottom:25px}.intro-text p{font-size:20px}.intro-text .line-link{margin-top:20px}
.home-division{border:0;background:#fff}.division-layout{grid-template-columns:1fr 1fr;gap:60px}.division-layout figure{position:relative;padding:12px;background:#eff6fc;border-radius:4px}.division-layout figure:before{content:"";position:absolute;left:0;top:0;width:54px;height:54px;border-left:3px solid var(--blue);border-top:3px solid var(--blue)}.division-layout figure:after{content:"";position:absolute;right:0;bottom:0;width:54px;height:54px;border-right:3px solid var(--blue);border-bottom:3px solid var(--blue)}.division-layout figcaption{font-size:14px;padding:4px 3px;margin:6px 0 0}.division-layout .eyebrow{display:inline-block;border-bottom:2px solid var(--blue);padding-bottom:5px;font-size:18px}.division-layout h2{font-size:32px;color:#194e77;line-height:1.6}.division-layout p:not(.eyebrow){font-size:20px}
.home-professional{position:relative;background:linear-gradient(120deg,#144a79,#2375b6);color:white;padding:64px 0;overflow:hidden}.home-professional:before{content:"";position:absolute;right:-60px;top:0;width:30%;height:100%;background:#ffffff07;transform:skewX(-22deg);pointer-events:none}.pro-layout{gap:65px;position:relative;grid-template-columns:1fr 1.15fr}.pro-layout .eyebrow{color:white;font-size:19px;display:table;border:1px solid #fff8;padding:4px 15px}.pro-layout h2{font-size:30px;color:white}.pro-layout p:not(.eyebrow){font-size:20px}.pro-routes a{padding:21px 24px;background:#ffffff0b;border:1px solid #ffffff66;margin-bottom:12px;border-radius:4px}.pro-routes a:first-child{border-color:#ffffff66}.pro-routes a:hover{background:#ffffff1c}.pro-routes span{font-size:25px;font-weight:700;color:white}.pro-routes small{font-size:16px;color:#fff}.pro-routes b{color:white}
.home-basics{background:#f1f7fc}.basics-layout{gap:32px}.basics-layout>div{background:#fff;padding:32px;border:1px solid #cfdfeb;border-top:6px solid var(--blue);border-radius:5px;box-shadow:var(--shadow)}.basics-layout .eyebrow{font-size:29px;font-weight:700;color:#20384b;margin-bottom:18px}.basics-layout h2{font-size:22px;color:#345874;font-weight:500;line-height:1.7;margin-bottom:20px}.basics-layout h2 br{display:none}.simple-flow{margin:20px 0}.simple-flow b{width:30px;height:30px;background:var(--blue);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:white;font-size:15px;flex-shrink:0}.simple-flow li{font-size:19px;align-items:center;gap:15px;padding:12px 0}.home-questions{background:white}.questions-layout{grid-template-columns:1fr 1.7fr;gap:60px}.questions-layout h2{font-size:34px;color:#20384b}.questions-layout nav{border-top:2px solid var(--blue)}.questions-layout nav a{padding:19px 22px;border:1px solid #d4e3ed;border-top:0;font-size:19px;background:linear-gradient(100deg,#fff,#f6faff)}.questions-layout nav a span{color:var(--blue);font-size:21px}.home-office{border-top:1px solid #e0eaf2;background:#f6fafe;padding-block:60px}.office-layout{gap:60px}.office-layout h2{font-size:30px;color:#194e77}.office-layout p{font-size:19px}.office-address{padding:28px 32px;background:white;border:1px solid #cadae7;border-radius:5px;box-shadow:var(--shadow)}.office-address h3{font-size:24px}.office-tel{font-size:33px;color:#165b90}.town-links{gap:8px 14px}.town-links a{padding:5px 13px;border:1px solid #bed6e8;border-radius:4px;background:white;font-size:17px;min-height:44px;text-decoration:none}.town-links a:hover{background:#e4f1fb}
.home-contact{background:linear-gradient(135deg,#eaf4fc,#fff 55%,#eaf4fc);position:relative;padding:62px 0 64px;border-top:4px solid var(--blue)}.home-contact .eyebrow{font-size:20px;letter-spacing:.07em;margin-bottom:14px}.home-contact h2{font-size:33px;line-height:1.6;color:#1c4464}.home-contact>.inner>p:not(.eyebrow){font-size:20px}.home-contact-actions{gap:38px;margin-top:28px}.home-contact .btn{min-width:320px;font-size:21px;min-height:65px}.contact-number strong{font-size:37px;color:#165b90;letter-spacing:.02em}.contact-number small{font-size:15px;color:#456276}.footer{background:#17476c;color:#fff;border:0;padding:44px 0 28px}.footer-brand strong{font-family:var(--sans);font-size:24px;color:white;font-weight:700}.footer-brand span{font-size:15px;color:#fff}.footer-links{padding-block:20px;border-block:1px solid #ffffff38;gap:0 24px;margin-block:24px}.footer-links a{color:white;font-size:16px}.footer-links a:hover{color:white}.copyright{color:#d6e3ed;font-size:13px}
/* Inner pages keep the same brand, with a quieter reading hierarchy. */
.page-hero{background:linear-gradient(125deg,#e8f3fc,#f8fcff 68%,#e0eef9);border-bottom:1px solid #c8ddeb;position:relative;padding:22px 0 42px}.page-hero:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:15px;background:#fff;clip-path:ellipse(57% 100% at 50% 100%);pointer-events:none}.page-hero .container{max-width:1040px}.breadcrumb{font-size:14px;margin-bottom:28px;color:#526d7f}.breadcrumb a{color:#41677f}.page-hero h1{font-size:42px;line-height:1.5;max-width:1000px;color:#174d76}.page-hero p{font-size:20px;max-width:820px;margin-top:22px}.content{padding:44px 0 76px}.clean-detail>h2{font-size:30px;background:#eef6fc;border-top:0;border-left:5px solid var(--blue);padding:15px 22px;margin:48px 0 25px;color:#184f79;border-radius:0 4px 4px 0}.clean-detail>h3{font-size:25px;color:#205b87;padding-bottom:12px;border-bottom:1px solid var(--line)}.lead-copy{font-size:22px}.toc{border:1px solid #c1daec;border-top:4px solid var(--blue);border-left:1px solid #c1daec;background:#f4f9fd;border-radius:4px;padding:22px 26px;font-size:18px}.toc summary{font-size:20px;color:#1c4d72}.topic-list{gap:20px}.topic-item{padding:24px 26px;border:1px solid #caddeb;border-radius:5px;box-shadow:0 3px 12px #1347720b}.topic-item h3{font-size:25px}.topic-item p{font-size:19px}.practical-block,.factor-card{background:#eef6fc;border-radius:5px;border:1px solid #d0e2ef;padding:26px}.quiet-cta{background:linear-gradient(120deg,#e8f3fc,#f7fbff);border:1px solid #bfd8eb;border-top:4px solid var(--blue);border-radius:6px;padding:30px}.quiet-cta h2{font-size:28px;color:#194e77}.quiet-cta p{font-size:19px}.article-photo img,.article-photo-pair img{border-radius:3px}.article-photo figcaption{color:#506b7e}.professional-row{border:1px solid #c7ddea;border-left:4px solid var(--blue);border-radius:4px;padding:25px;margin:18px 0;background:#f8fbfe}.professional-row h3{font-size:25px}.professional-row>a{background:var(--blue);color:#fff;border-radius:50%;font-size:23px;line-height:44px}.faq-question{background:#eaf4fc;border-left:5px solid var(--blue);border-radius:0 4px 4px 0;padding:16px 22px;font-size:27px}.faq-index{border:1px solid #c3daec;border-top:4px solid var(--blue);border-radius:5px;padding:24px 28px;background:#f8fbfe}.faq-index a{font-size:19px;min-height:44px}.cross-links a,.related-links a,.clean-mini-actions a{border:1px solid #c1d8e8;border-radius:4px;background:#f4f9fd}
thead th{background:#1767a5;color:#fff;border-color:#1767a5}th{background:#eaf3fa}th,td{border-color:#cbdce8;padding:16px}tbody tr:nth-child(even){background:#f6fafe}.price-table .amount{font-size:25px;font-weight:700;color:#24475f}.price-note{background:#eaf4fc;border-left:4px solid var(--blue);border-radius:0 4px 4px 0}.price-note-text,.price-note p{font-size:18px}.price-hero-visual{gap:36px}.price-hero-photo img{border:6px solid #eef5fa;border-radius:4px}.price-hero-note{font-size:15px}
.flow-intro h2,.flow-heading h2{font-size:31px;color:#194e77}.flow-timeline>li{grid-template-columns:56px 1fr;gap:25px;padding-bottom:32px}.flow-timeline>li>span{border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px #eaf3fa}.flow-timeline>li:not(:last-child):before{width:2px;background:#bfd6e8}.flow-timeline h3{font-size:26px;color:#205983}.flow-timeline .flow-question{border:1px solid #c5ddeb;border-radius:5px;background:#f1f8fd}.flow-timeline .flow-question>span{box-shadow:none}.flow-duration{background:#eef6fc;border-radius:0 5px 5px 0}.rep-left h2{font-size:31px;color:#194e77}.rep-photo img{border:8px solid #edf5fb;border-radius:4px}.rep-info-card{background:#f4f9fd;border:1px solid #c7dceb;border-top:5px solid var(--blue);border-radius:6px;box-shadow:var(--shadow)}.rep-info-card h2{font-size:28px;color:#194e77}.rep-table dt{color:#2a6690}.sitemap-group h2{font-size:28px;border-color:var(--blue)}.thanks-card{border:1px solid #c2d9e9;border-top:5px solid var(--blue);border-radius:7px;box-shadow:var(--shadow)}
.contact-layout{grid-template-columns:280px minmax(0,1fr);gap:56px;max-width:1100px}.contact-side-card{padding:22px;background:#f1f7fc;border:1px solid #c6ddea;border-top:4px solid var(--blue);border-radius:5px}.contact-side-card h2{font-size:22px;color:#1a4f78}.contact-side-card p{font-size:17px}.contact-phone{font-size:26px;color:#165b90}.contact-form-wrap h2{font-size:30px;color:#194e77;border-bottom:2px solid var(--blue);padding-bottom:15px}.contact-form-lead{font-size:20px}.contact-form-wrap>p{font-size:19px}.form-field>label,.form-field>legend{font-size:19px;font-weight:600;color:#213b4f}.required{background:#a7352e;border-radius:3px}.optional{background:#eaf1f6;border:1px solid #bdd0df;border-radius:3px;color:#445f72}.contact-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.contact-form select,.contact-form textarea{border-color:#839db2;border-radius:4px;background:#fff;box-shadow:inset 0 1px 3px #164b700b}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#637783}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);background:#fafdff}.form-hint{font-size:16px;color:#4b6577}.consent-row{font-size:18px}.consent-row:has(#measurement-consent){border-radius:4px;background:#eef6fc}.form-submit button{min-width:280px}.form-submit button:disabled{background:#d7e1e8;color:#405868;box-shadow:none;border-color:#849cad;cursor:default}.form-status.is-visible{border-radius:4px;border-color:#95b8d1}.form-status.is-error{border-color:var(--error);background:#fff5f3;color:#98251f}

@media(max-width:1100px){:root{--gutter:32px}.header-inner{gap:14px 20px}.brand-title{font-size:23px}.header-phone{font-size:25px}.header-contact{font-size:16px;padding:11px 18px}.nav a{font-size:15px;padding:12px 6px}.masthead-copy{width:calc(100% - 64px);min-height:530px;padding:36px 0 38px}.masthead-copy h1{font-size:44px;max-width:580px}.masthead-copy>p:not(.eyebrow){max-width:490px}.masthead:before{background:linear-gradient(90deg,#f6fbff 0%,#f6fbffff 28%,#f6fbfff2 40%,#f6fbffba 53%,#fff0 78%)}.home-shortcuts a{padding:17px 18px 20px}.home-shortcuts span{font-size:20px}.services-three{gap:22px}.services-three article{padding-inline:22px}.service-no{margin-inline:-22px;padding-inline:22px}.intro-layout{gap:48px}.pro-layout,.division-layout,.office-layout{gap:42px}.questions-layout{gap:40px}.contact-layout{gap:40px}.home-contact .btn{min-width:280px}}
@media(max-width:950px){:root{--gutter:28px}.utility-bar{display:none}.header-inner{padding-block:17px;gap:16px}.brand-title{font-size:24px}.brand-name{display:inline}.brand-sub{font-size:13px}.mobile-menu summary{border:1px solid #b4cfe2;border-radius:5px;background:#f3f9fd;color:#165d96;font-size:16px;min-height:46px;padding:8px 12px}.mobile-menu nav{border-color:#b5d0e4;box-shadow:0 7px 22px #12477326;border-radius:5px}.mobile-menu nav a{font-size:17px}.masthead-copy{width:calc(100% - 56px)}.masthead-copy h1{font-size:41px;max-width:550px}.masthead-copy>.eyebrow{font-size:15px}.masthead-copy>p:not(.eyebrow){max-width:475px;font-size:19px}.masthead-image img{object-position:72% center}.masthead:before{background:linear-gradient(90deg,#f6fbff 0%,#f6fbffff 30%,#f6fbfff0 46%,#f6fbffbd 60%,#fff2 87%)}.home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}.home-shortcuts a{border-bottom-width:3px;min-height:108px}.home-shortcuts a:first-child{border-radius:0}.home-shortcuts a:last-child{border-radius:0}.home-shortcuts span br{display:none}.home-consult-layout{gap:36px;grid-template-columns:1fr 1.4fr}.home-consult h2{font-size:27px}.services-three{display:grid;grid-template-columns:1fr;gap:24px}.services-three article{display:grid;grid-template-columns:1.4fr 1fr;gap:0 32px;padding:0 26px 22px}.service-no{grid-column:1/-1;margin-inline:-26px;margin-bottom:24px;padding-block:10px;text-align:left}.services-three h3{grid-column:1;text-align:left;grid-row:2}.services-three p{grid-column:1;grid-row:3;margin-bottom:0}.services-three ul{grid-column:2;grid-row:2/4;margin:0}.intro-layout{grid-template-columns:230px 1fr;gap:36px}.intro-text h2{font-size:29px}.division-layout{gap:34px}.division-layout h2{font-size:29px}.pro-layout{gap:32px}.pro-layout h2{font-size:27px}.pro-routes a{padding:18px}.pro-routes span{font-size:22px}.basics-layout{gap:26px}.basics-layout>div{padding:26px}.questions-layout{gap:32px;grid-template-columns:1fr 1.5fr}.questions-layout h2{font-size:30px}.office-layout{gap:30px}.office-address{padding:24px}.home-contact h2{font-size:30px}.contact-layout{grid-template-columns:1fr;max-width:780px;gap:32px}.contact-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-side-card{margin:0}.contact-phone{font-size:25px}.mobile-bar{border-top:1px solid #a2bfd4;box-shadow:0 -3px 12px #164b7012}.mobile-bar a{min-height:62px;font-size:18px;font-weight:700}.mobile-bar a:first-child{background:#fff;color:#165b90}.mobile-bar a:last-child{background:linear-gradient(#bd5728,#a4431e);color:#fff}}
@media(max-width:700px){:root{--gutter:22px}body{font-size:18px;line-height:1.9}.header-inner{padding-block:16px;gap:12px}.brand-title{font-size:17px;line-height:1.45;letter-spacing:0}.brand-name{display:block;font-size:27px;margin-bottom:3px;letter-spacing:.02em}.brand-sub{font-size:13px;letter-spacing:0;margin-top:4px}.mobile-menu summary{font-size:14px;min-width:78px;min-height:46px;padding:8px}.masthead{display:grid;grid-template-columns:1fr;overflow:hidden;background:#eef6fc}.masthead:before{display:none}.masthead-copy{display:contents}.masthead-copy>.eyebrow{grid-column:1;grid-row:1;margin:23px 22px 14px;padding:5px 11px;font-size:13px;justify-self:start;background:white;box-shadow:2px 2px 0 #287fcc1c}.masthead-copy h1{grid-column:1;grid-row:2;font-size:34px;line-height:1.48;margin:0 22px 22px;max-width:none;letter-spacing:0;text-shadow:0 1px white}.masthead-image{position:relative;inset:auto;z-index:0;grid-column:1;grid-row:3;height:auto;order:initial}.masthead-image img{height:clamp(186px,51vw,270px);object-fit:cover;object-position:72% center}.masthead-image:after{content:"";position:absolute;left:-1px;right:-1px;bottom:-1px;height:17px;background:#eef6fc;clip-path:ellipse(58% 100% at 50% 100%)}.masthead-copy>p:not(.eyebrow){grid-column:1;grid-row:4;padding:18px 22px 0;margin:0;max-width:none;font-size:18px;line-height:1.85}.masthead-copy>p br{display:none}.masthead-copy .btn{grid-column:1;grid-row:5;min-width:0;margin:21px 22px 0;padding:14px 27px;min-height:58px;font-size:19px}.masthead-person{grid-column:1;grid-row:6;max-width:none;font-size:15px;margin:20px 22px 24px}.masthead-caption{grid-column:1;grid-row:7;margin:0;font-size:13px;padding:12px 18px;letter-spacing:0;line-height:1.7}.home-shortcuts{grid-template-columns:1fr 1fr;margin-bottom:28px;box-shadow:0 4px 12px #153d6415}.home-shortcuts a{min-height:112px;padding:14px 14px 18px;gap:0 8px;display:grid;border-bottom-width:3px}.home-shortcuts small{font-size:13px}.home-shortcuts span{font-size:18px;line-height:1.5;padding-right:0}.home-shortcuts span br{display:initial}.home-shortcuts b{width:23px;height:23px;font-size:14px;align-self:end}.home-consult{padding:16px 0 38px}.home-consult-layout{display:block}.home-consult .eyebrow{font-size:15px;margin-bottom:10px}.home-consult h2{font-size:27px;line-height:1.55;margin-bottom:20px}.home-consult p:not(.eyebrow){font-size:18px}.home-consult-actions{gap:12px;margin-top:18px}.home-consult .btn{font-size:17px;min-height:52px}.line-link{font-size:17px}.home-section{padding:48px 0}.home-services{padding-top:52px}.section-title-row{display:block;padding-bottom:20px;margin-bottom:29px}.section-title-row .eyebrow{font-size:29px;margin-bottom:12px}.section-title-row h2{font-size:19px;line-height:1.8}.section-title-row>.line-link{margin-top:12px;font-size:16px}.section-title-row:after{width:64px}.services-three{display:block}.services-three article{display:flex;padding:0 22px 22px;margin-bottom:25px}.services-three article:last-child{margin-bottom:0}.service-no{margin:0 -22px 21px;padding:10px 22px;text-align:center;font-size:17px}.services-three h3{font-size:26px;text-align:center;margin-bottom:18px}.services-three p{font-size:18px;margin-bottom:20px}.services-three ul{margin-top:0}.services-three li a{font-size:18px;padding-block:12px}.case-pair{display:block}.case-link{padding:24px 22px;margin-bottom:25px;border-top-width:5px}.case-link:last-child{margin-bottom:0}.case-label{font-size:14px}.case-link h3{font-size:24px;line-height:1.6}.case-link h3 br{display:none}.case-link p{font-size:18px}.case-read{font-size:16px}.intro-layout{display:block}.intro-picture{max-width:260px;margin:0 auto 32px;padding:10px}.intro-picture p{font-size:14px}.intro-picture strong{font-size:25px}.intro-text h2{font-size:27px;line-height:1.6;margin-bottom:22px}.intro-text p{font-size:18px}.division-layout{display:block}.division-layout figure{margin-bottom:30px;padding:10px}.division-layout h2{font-size:28px}.division-layout .eyebrow{font-size:16px}.division-layout p:not(.eyebrow){font-size:18px}.division-layout figcaption{font-size:13px}.pro-layout{display:block}.pro-layout .eyebrow{font-size:16px;margin-bottom:18px}.pro-layout h2{font-size:27px;line-height:1.6}.pro-layout p:not(.eyebrow){font-size:18px}.pro-routes{display:block;margin-top:28px}.pro-routes a{padding:18px 20px}.pro-routes span{font-size:23px}.pro-routes small{font-size:16px}.basics-layout{display:block}.basics-layout>div{padding:24px;border-top-width:5px}.basics-layout>div+div{margin-top:26px;padding-top:24px}.basics-layout .eyebrow{font-size:26px;margin-bottom:14px}.basics-layout h2{font-size:20px}.basics-layout p{font-size:18px}.simple-flow li{font-size:18px;gap:13px}.questions-layout{display:block}.questions-layout h2{font-size:29px}.questions-layout nav{margin-top:24px}.questions-layout nav a{padding:17px;font-size:18px}.office-layout{display:block}.office-layout h2{font-size:28px}.office-layout p{font-size:18px}.office-address{margin-top:28px;padding:24px}.office-address h3{font-size:23px}.office-tel{font-size:29px}.town-links a{font-size:17px;padding:4px 12px}.home-contact{padding:43px 0 47px}.home-contact .eyebrow{font-size:17px}.home-contact h2{font-size:28px;line-height:1.6}.home-contact>.inner>p:not(.eyebrow){font-size:18px}.home-contact-actions{flex-direction:column;gap:22px;margin-top:25px}.home-contact .btn{min-width:0;width:100%;font-size:20px;min-height:62px}.contact-number{text-align:center}.contact-number strong{font-size:33px}.contact-number small{font-size:14px}.footer{padding:36px 0 25px}.footer-brand strong{font-size:21px}.footer-brand span{font-size:14px}.footer-links{gap:0 18px;padding-block:16px;margin-block:20px}.footer-links a{font-size:16px}.copyright{font-size:12px}
.page-hero{padding:16px 0 31px}.breadcrumb{font-size:13px;margin-bottom:23px}.page-hero h1{font-size:32px;line-height:1.55;letter-spacing:0}.page-hero p{font-size:18px;margin-top:21px}.content{padding:30px 0 52px}.clean-detail>h2{font-size:26px;padding:14px 18px;margin:40px 0 23px}.clean-detail>h3{font-size:23px}.lead-copy{font-size:20px}.toc{font-size:17px;padding:20px}.toc summary{font-size:19px}.topic-item{padding:22px}.topic-item h3{font-size:24px}.topic-item p{font-size:18px}.practical-block,.factor-card{padding:22px}.quiet-cta{padding:25px 22px}.quiet-cta h2{font-size:26px}.quiet-cta p{font-size:18px}.quiet-cta .btn{font-size:17px;min-height:54px;padding-inline:24px}.faq-question{font-size:25px;padding:15px 18px}.faq-index{padding:20px}.faq-index a{font-size:18px}.professional-row{padding:22px;gap:12px}.professional-row h3{font-size:23px}.professional-row p{font-size:18px}.price-table tr{padding:22px;border:1px solid #bdd4e5;border-top:4px solid var(--blue);background:white;border-radius:5px;margin-bottom:24px;box-shadow:0 3px 12px #164b700b}.price-table td{font-size:18px;padding:0}.price-table td:first-child{font-size:23px;font-weight:700}.price-table td:last-child{border-color:#c7dce9}.price-table .amount{font-size:24px}.mobile-cell-label{font-size:16px;color:#45677e}.price-note-text,.price-note p{font-size:18px}.price-hero-note{font-size:14px}.flow-intro h2,.flow-heading h2{font-size:27px}.flow-timeline>li{grid-template-columns:42px 1fr;gap:17px}.flow-timeline>li>span{width:38px;height:38px;font-size:18px}.flow-timeline>li:not(:last-child):before{left:18px;top:39px}.flow-timeline h3{font-size:24px}.flow-timeline p{font-size:18px}.flow-timeline .flow-question{grid-template-columns:30px 1fr;gap:13px;padding:18px}.flow-question h3{font-size:22px}.flow-duration{font-size:18px;padding:20px}.rep-left h2{font-size:27px}.rep-left p{font-size:18px}.rep-info-card{padding:24px}.rep-info-card h2{font-size:26px}.rep-table dd{font-size:18px}.sitemap-group h2{font-size:26px}.thanks-card{padding:26px}.thanks-card h1,.thanks-card h2{font-size:29px}.contact-side{display:block}.contact-side-card{padding:21px;margin-bottom:20px}.contact-side-card h2{font-size:22px}.contact-side-card p{font-size:17px}.contact-phone{font-size:28px}.contact-form-wrap h2{font-size:28px}.contact-form-lead,.contact-form-wrap>p{font-size:18px}.form-field>label,.form-field>legend{font-size:18px}.form-hint{font-size:16px}.consent-row{font-size:17px}.form-submit button{min-width:0;width:100%;font-size:19px}}
@media(max-width:360px){:root{--gutter:18px}.brand-title{font-size:15px}.brand-name{font-size:25px}.brand-sub{font-size:12px}.mobile-menu summary{font-size:13px;min-width:70px;padding:8px 6px}.masthead-copy>.eyebrow{font-size:12px;margin-inline:18px;padding-inline:9px}.masthead-copy h1{font-size:29px;margin-inline:18px}.masthead-copy>p:not(.eyebrow){padding-inline:18px}.masthead-copy .btn,.masthead-person{margin-inline:18px}.home-shortcuts a{padding:13px 11px 16px;gap:0 5px}.home-shortcuts span{font-size:17px}.home-shortcuts b{width:20px;height:20px;font-size:13px}.page-hero h1{font-size:29px}.home-contact h2{font-size:26px}.contact-number strong{font-size:30px}.intro-text h2,.division-layout h2{font-size:26px}}
/* Finishing: reference-led hero typography, curved edge and centered signposts. */
.btn.primary,.btn.mail,.header-contact{background:linear-gradient(#c14b4b,#ae343a);border-color:#9d2d33;box-shadow:0 3px 0 #81252c,0 5px 13px #8c30351e}.btn.primary:hover,.btn.mail:hover,.header-contact:hover{background:#a72f36;box-shadow:0 3px 0 #74242a,0 6px 16px #8c30352a}
.masthead-copy{padding-top:35px;padding-bottom:42px}.masthead-copy h1{font-family:var(--serif);font-weight:600;font-size:clamp(40px,3.7vw,54px);line-height:1.5;position:relative;display:table;padding:14px 20px 17px 17px;margin-left:-17px;margin-bottom:20px;max-width:710px;letter-spacing:.005em;text-shadow:0 0 5px white,0 0 12px white,1px 1px white}.masthead-copy h1:before,.masthead-copy h1:after{content:"";position:absolute;width:45px;height:34px;pointer-events:none}.masthead-copy h1:before{left:0;top:0;border-left:2px solid #267fcc;border-top:2px solid #267fcc}.masthead-copy h1:after{right:0;bottom:0;border-right:2px solid #267fcc;border-bottom:2px solid #267fcc}
.masthead-caption{background:#fff;color:#2d6792;padding:13px 30px 9px;font-size:15px;clip-path:none}.masthead-caption:before{content:"";position:absolute;left:0;right:0;top:-39px;height:40px;background:#fff;mask:radial-gradient(ellipse 66% 100% at 50% 0,transparent 98%,#000 100%);pointer-events:none}
.section-title-row{display:block;text-align:center;border:0;padding-bottom:22px;margin-bottom:37px}.section-title-row:after{left:50%;transform:translateX(-50%);width:60px;height:3px;bottom:0}.section-title-row .eyebrow{font-size:36px;letter-spacing:.04em}.section-title-row h2{font-size:21px}.section-title-row>.line-link{margin-top:13px;font-size:16px}.home-services:before{display:none}.home-services{padding-top:62px}.home-shortcuts{margin-top:20px;margin-bottom:34px}.home-shortcuts a{min-height:115px;padding-block:16px 19px}.home-professional{clip-path:polygon(0 0,100% 18px,100% 100%,0 calc(100% - 18px));padding-block:78px}.home-contact .contact-number{padding:11px 28px;border:1px solid #8db9dc;border-radius:5px;min-width:320px;background:#fff;text-align:center}.home-contact .contact-number strong{font-size:34px}.home-contact-actions{gap:25px}.home-contact .btn{border-radius:5px;min-height:87px}.mobile-bar a:last-child{background:linear-gradient(#c14b4b,#ae343a)}
@media(max-width:1100px){.masthead-copy h1{font-size:44px;max-width:610px}.home-contact .contact-number,.home-contact .btn{min-width:280px}}
@media(max-width:950px){.masthead-copy h1{font-size:41px;max-width:590px}.masthead-caption{font-size:14px}.section-title-row .eyebrow{font-size:33px}}
@media(max-width:700px){.masthead-copy h1{font-size:33px;line-height:1.5;display:block;padding:11px 0 15px;margin:0 22px 22px;max-width:none}.masthead-copy h1:before{left:-8px;top:0;width:30px;height:25px}.masthead-copy h1:after{right:-8px;bottom:0;width:30px;height:25px}.masthead-image:after{mask:radial-gradient(ellipse 68% 100% at 50% 0,transparent 97%,#000 100%);clip-path:none;height:19px}.masthead-caption{font-size:13px;padding:10px 18px 14px;background:#eef6fc;color:#2d6792}.masthead-caption:before{display:none}.home-shortcuts{margin-top:0;margin-bottom:28px}.home-shortcuts a{min-height:112px;padding-block:14px 18px}.section-title-row{padding-bottom:22px;margin-bottom:28px}.section-title-row .eyebrow{font-size:30px;letter-spacing:.02em}.section-title-row h2{font-size:19px}.section-title-row>.line-link{margin-top:12px}.home-services{padding-top:42px}.home-professional{clip-path:polygon(0 0,100% 9px,100% 100%,0 calc(100% - 9px));padding-block:57px}.home-contact .contact-number,.home-contact .btn{min-width:0;width:100%;min-height:62px;border-radius:5px}.home-contact .contact-number{padding:11px 24px}.home-contact .contact-number strong{font-size:31px}.home-contact-actions{gap:17px}}
@media(max-width:360px){.masthead-copy h1{font-size:28px;margin-inline:18px}.masthead-copy h1:before{left:-6px}.masthead-copy h1:after{right:-6px}.section-title-row .eyebrow{font-size:28px}}
.word-keep{display:inline-block;max-width:100%}.home-contact h2,.office-address h3{text-wrap:balance}
@media(max-width:700px){.home-shortcuts small{grid-column:1/-1;grid-row:1;white-space:nowrap}.home-shortcuts span{grid-column:1;grid-row:2}.home-shortcuts b{grid-column:2;grid-row:2}}
@media(max-width:500px){.home-shortcuts{grid-template-columns:1fr;gap:0}.home-shortcuts a{display:grid;grid-template-columns:24px minmax(0,1fr) 27px;gap:12px;align-items:center;padding:17px 19px;min-height:74px;border-bottom:1px solid #bcd5e7;border-right:0}.home-shortcuts small{grid-column:1;grid-row:1}.home-shortcuts span{grid-column:2;grid-row:1;font-size:19px;margin:0}.home-shortcuts span br{display:none}.home-shortcuts b{grid-column:3;grid-row:1;align-self:center;width:27px;height:27px;font-size:15px}.home-shortcuts a:last-child{border-bottom:4px solid var(--blue)}}
@media(max-width:360px){.home-shortcuts a{grid-template-columns:22px minmax(0,1fr) 25px;gap:10px;padding:16px}.home-shortcuts span{font-size:18px}.home-shortcuts span br{display:initial}.home-shortcuts b{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

@media(max-width:500px){.home-contact h2{font-size:clamp(22px,6.67vw,28px)}}
