
:root{--ink:#143e57;--blue:#0967aa;--light:#eaf4f9;--line:#d5e5ed;--muted:#567486;--cream:#fcfbf6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;line-height:1.9;background:var(--cream)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e7ad3f;outline-offset:5px}.practice{background:#163d54;color:#fff;text-align:center;font-size:11px;letter-spacing:.08em;padding:7px 16px}.wrap{max-width:1140px;margin:auto;padding:0 35px}header{background:#fcfbf6f5;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px}.brand{display:flex;align-items:center;gap:10px}.brand b{font-size:25px;letter-spacing:.07em}.brand small{display:block;font-size:9px;letter-spacing:.14em;line-height:1}.brand svg{width:42px;height:42px}.links{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:600}.nav-contact{padding:10px 19px;border:1px solid var(--blue);border-radius:5px;color:var(--blue)}.menu{display:none;background:none;border:1px solid var(--line);padding:8px 12px;border-radius:6px}.hero{position:relative;overflow:hidden;padding:64px 0 52px;background:linear-gradient(110deg,#f9fcfd,#e5f3fa)}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:16px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--blue);margin:0 0 20px}.hero h1{font-size:clamp(36px,4.2vw,56px);line-height:1.65;letter-spacing:.07em;margin:0 0 24px;font-weight:700}.hero h1 span{color:var(--blue)}.hero-copy{font-size:14px;line-height:2.1;color:#446c81;margin:0 0 28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:14px 23px;border-radius:5px;font-size:14px;font-weight:600;border:1px solid var(--blue);background:var(--blue);color:white}.button.secondary{background:white;color:var(--blue)}.hero-art{width:100%;display:block}.hero-under{display:flex;align-items:center;gap:18px;margin-top:27px;font-size:11px;flex-wrap:wrap}.hero-under span{border-left:2px solid #86b5cd;padding-left:12px}.art-caption{font-size:10px;text-align:right;color:var(--muted);margin:0}.section{padding:86px 0}.heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section h2{font-size:29px;line-height:1.6;letter-spacing:.06em;margin:0}.heading p{font-size:13px;color:var(--muted);margin:0}.tag{font-size:10px;letter-spacing:.18em;color:var(--blue);font-weight:700;display:block;margin-bottom:10px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.service{border-bottom:1px solid #a8c7d7;padding-bottom:25px}.illustration{background:#edf5f7;aspect-ratio:1.7;border-radius:9px;display:grid;place-items:center;margin-bottom:20px}.illustration svg{width:135px;height:105px}.service h3{font-size:20px;margin:0 0 9px}.service p{font-size:13px;color:var(--muted);margin:0}.number{font-size:11px;color:var(--blue);letter-spacing:.13em}.info-band{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.info-grid h2{font-size:25px}.info-row{border-bottom:1px solid var(--line);padding:18px 0;display:flex;align-items:start;gap:25px;font-size:13px}.info-row b{min-width:65px}.placeholder{color:#677c88;background:#f4f6f5;border:1px dashed #a9bac1;padding:5px 11px;border-radius:4px;font-size:12px}.small{font-size:11px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:35px}.step{border-top:2px solid #85b6d1;padding-top:20px}.step .num{font-family:Georgia,serif;color:var(--blue);font-size:30px}.step h3{font-size:16px;margin:10px 0}.step p{font-size:12px;color:var(--muted);margin:0}.price{display:grid;grid-template-columns:1fr 1.1fr;background:#eaf3f6;border-radius:10px;overflow:hidden;margin-top:48px}.price>div{padding:38px}.price h3{font-size:20px;margin:0 0 12px}.price p{font-size:13px;margin:0 0 13px}.price-note{background:#e0edf2}.about{padding:50px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:60px}.about h2{font-size:26px}.about p{font-size:14px;margin:0;color:var(--muted)}.faq{max-width:840px;margin:0 auto}.faq h2{text-align:center;margin-bottom:32px}.faq details{background:white;border-bottom:1px solid var(--line);padding:20px 22px}.faq summary{cursor:pointer;font-weight:600;font-size:14px}.faq details p{font-size:13px;color:var(--muted)}.contact{background:#dfeef5;padding:60px 0}.contact-head{text-align:center;margin-bottom:28px}.contact-head h2{font-size:27px;margin:0 0 8px}.contact-head p{font-size:13px;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:850px;margin:auto}.contact-card{background:white;padding:30px;text-align:center;border-radius:8px}.contact-card h3{font-size:17px;margin:0 0 13px}.contact-card p{font-size:11px;color:var(--muted);margin:13px 0 0}.contact-card button{width:100%}footer{padding:35px 0;color:var(--muted);font-size:11px}.footer-row{display:flex;justify-content:space-between;gap:15px}.foot-brand{font-size:18px;color:var(--ink);font-weight:700}dialog{width:min(92vw,530px);border:0;border-radius:12px;padding:32px;color:var(--ink);box-shadow:0 20px 80px #17374933}dialog::backdrop{background:#12304577}dialog h2{font-size:22px;margin-top:0}dialog p{font-size:14px}dialog .button{margin-top:12px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:760px){.wrap{padding:0 23px}.nav{min-height:74px}.brand b{font-size:21px}.menu{display:block}.links{display:none;position:absolute;top:74px;left:0;right:0;padding:22px;background:var(--cream);box-shadow:0 9px 15px #12304511;flex-direction:column;gap:20px}.links.open{display:flex}.hero{padding:42px 0 30px}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:37px;line-height:1.6}.hero-copy{font-size:13px}.hero-art{max-height:340px}.art-caption{text-align:center}.hero-under{gap:12px;margin-top:20px}.section{padding:56px 0}.heading{display:block;margin-bottom:27px}.heading p{margin-top:17px}.section h2{font-size:26px}.services{grid-template-columns:1fr;gap:26px}.service{display:grid;grid-template-columns:105px 1fr;gap:18px;align-items:center}.illustration{aspect-ratio:1;margin:0}.illustration svg{width:90px;height:90px}.service h3{font-size:18px}.info-grid,.price,.about,.contact-grid{grid-template-columns:1fr}.info-grid{gap:35px}.steps{grid-template-columns:1fr 1fr;gap:25px}.price>div{padding:26px}.about{gap:20px}.footer-row{flex-direction:column}.contact-card{padding:25px}.hero-grid .button{padding:13px 20px}.info-row{gap:15px}} 
@media(max-width:760px){.section.wrap,.about.wrap{padding-left:23px;padding-right:23px}}@media(max-width:420px){.hero h1{font-size:32px;line-height:1.7}} .hero-phone{margin:0 0 17px}.hero-phone-label{font-size:15px;font-weight:700;letter-spacing:.04em;margin:0 0 11px}.hero-phone-button{gap:12px;min-height:58px;padding:14px 23px;box-shadow:0 4px 12px #0967aa16}.hero-phone-note{font-size:10px;line-height:1.8;color:#567486;margin:10px 0 0;max-width:360px}.hero-service-link{display:inline-flex;gap:24px;font-size:13px;border-bottom:1px solid #a2bece;padding:3px 0;color:#325f79}.hero-under{margin-top:22px}@media(max-width:420px){.hero{padding-top:29px}.hero h1{margin-bottom:17px}.hero-copy{margin-bottom:21px}.hero-phone-button{width:100%}.hero-phone-note{font-size:10px}.hero-phone-label{font-size:14px}}
/* Unified rhythm, colour and restrained motion. All content is visible without JavaScript. */
:root{--ink:#173c51;--blue:#17658d;--light:#edf5f8;--line:#dce7eb;--muted:#5b7583;--cream:#fdfcf8;--ease:cubic-bezier(.22,1,.36,1)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:.025em}
.wrap{max-width:1200px;padding-left:48px;padding-right:48px}.nav{min-height:94px}.links{gap:30px;font-size:12px}header{background:rgba(253,252,248,.97);border-bottom:1px solid #e4edf0}.brand b{font-size:24px}.brand small{font-size:9px;letter-spacing:.18em;margin-top:7px}
.links>a:not(.nav-contact){position:relative;padding:8px 0}.links>a:not(.nav-contact)::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.hero{padding:88px 0 76px;background:linear-gradient(118deg,#f2f8fb,#e7f2f7)}.hero-grid{gap:32px;grid-template-columns:1.07fr 1fr}.eyebrow{font-size:11px;letter-spacing:.22em;margin-bottom:25px}.hero h1{font-size:clamp(36px,3.7vw,51px);line-height:1.72;letter-spacing:.04em;font-weight:650;margin-bottom:27px}.hero-copy{font-size:14px;line-height:2.15;margin-bottom:30px}.hero-art{max-width:490px;margin:auto}.art-caption{font-size:9px;letter-spacing:.03em;margin-top:12px}.hero-phone-label{font-size:13px;margin-bottom:12px}.hero-phone-button{border-radius:6px;padding:16px 23px;min-height:58px;box-shadow:0 6px 16px #17658d13}.hero-phone-note{font-size:10px;max-width:370px;margin-top:12px}.hero-service-link{font-size:12px;margin-top:3px}.hero-under{margin-top:27px;gap:20px;font-size:10px}
.section{padding-top:112px;padding-bottom:112px}.tag{letter-spacing:.22em;font-size:10px;margin-bottom:15px}.section h2{font-size:31px;line-height:1.65;font-weight:650}.heading{margin-bottom:46px}.heading p{line-height:2.05}.services{gap:30px}.service{padding-bottom:30px;border-color:#c7dce5}.illustration{aspect-ratio:1.55;border-radius:10px;background:#edf4f6;margin-bottom:26px;overflow:hidden}.illustration svg{width:126px;height:105px;transition:transform .6s var(--ease)}.service h3{font-size:19px;margin:7px 0 11px;font-weight:650}.service p{font-size:13px;line-height:2}.number{font-size:9px;letter-spacing:.15em}
.info-band{background:#f7fafb;border-color:#e8eff1}.info-grid{gap:100px;align-items:center}.info-grid h2{font-size:30px;line-height:1.8}.info-row{padding:22px 0;font-size:13px}.placeholder{background:#f7f9f9;border-color:#c1cfd5;font-size:11px}.steps{gap:33px;margin-top:47px}.step{border-top:1px solid #9abecf;padding-top:23px}.step .num{font-size:31px}.step h3{font-weight:650;margin:17px 0 12px}.step p{font-size:12px;line-height:2}.price{margin-top:66px;border-radius:10px;background:#edf4f6}.price>div{padding:42px}.price-note{background:#e5eff3}.price h3{font-weight:650}.price p{line-height:2}.about{padding-top:74px;padding-bottom:74px;gap:80px}.about h2{font-size:29px;font-weight:650;line-height:1.8}.about p{font-size:14px;line-height:2.2}.small{line-height:1.95}.faq{max-width:820px}.faq h2{margin-bottom:40px}.faq details{padding:24px 26px;background:transparent}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;font-weight:550;font-size:14px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'＋';font-size:20px;font-weight:400;color:var(--blue);transition:transform .3s var(--ease);flex-shrink:0}.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{padding-right:28px;line-height:2;margin:18px 0 0}.contact{background:#e5f0f5;padding:84px 0}.contact-head{margin-bottom:38px}.contact-head h2{font-size:30px;font-weight:650;letter-spacing:.06em}.contact-card{padding:38px;border-radius:10px}.contact-card h3{font-weight:600;margin-bottom:20px}.contact-card p{line-height:1.9}.contact-grid{gap:26px}.button,.nav-contact,.menu{transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .25s,color .25s,border-color .25s}.button>span,.hero-service-link>span{transition:transform .35s var(--ease)}.button:active{transform:translateY(0) scale(.985)}footer{padding:42px 0}.footer-row{align-items:start;line-height:2}.foot-brand{letter-spacing:.08em}
.reveal-pending{opacity:0;transform:translate3d(0,18px,0)}.reveal-item{transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--reveal-delay,0ms)}.reveal-pending:focus-within{opacity:1;transform:none}.hero-art{transition:transform .8s var(--ease)}
@media(hover:hover) and (pointer:fine){.button:hover{background:#105474;box-shadow:0 8px 20px #173c511c;transform:translateY(-2px)}.button.secondary:hover{background:#f1f7fa;color:#105474}.button:hover>span,.hero-service-link:hover>span{transform:translateX(3px)}.nav-contact:hover{background:var(--blue);color:white}.links>a:hover::after{transform:scaleX(1)}.service:hover .illustration svg{transform:translateY(-3px) scale(1.035)}.hero-grid>div:last-child:hover .hero-art{transform:translateY(-3px)}}
@media(max-width:1000px) and (min-width:761px){.wrap{padding-left:30px;padding-right:30px}.links{gap:16px}.hero h1{font-size:35px}.hero-grid{gap:15px}.hero-under{gap:10px}}
@media(max-width:760px){.wrap{padding-left:24px;padding-right:24px}.nav{min-height:78px}.links{top:78px;gap:17px}.links.open{animation:menu-in .2s ease-out}.brand b{font-size:21px}.brand small{font-size:8px}.hero{padding:43px 0 42px}.hero-grid{grid-template-columns:1fr;gap:20px}.hero h1{font-size:clamp(27px,7.7vw,38px);line-height:1.75;letter-spacing:.035em;margin-bottom:24px}.eyebrow{font-size:10px;margin-bottom:22px}.hero-copy{font-size:12px;line-height:2.1;margin-bottom:26px}.hero-phone-label{font-size:13px}.hero-phone-button{width:100%;font-size:13px;min-height:56px;padding:13px 16px}.hero-phone-note{font-size:9px;line-height:1.9}.hero-service-link{font-size:11px}.hero-under{font-size:9px;gap:11px;margin-top:23px}.hero-art{max-width:350px}.art-caption{font-size:8px;line-height:1.8}.section{padding-top:76px;padding-bottom:76px}.section.wrap,.about.wrap{padding-left:24px;padding-right:24px}.section h2{font-size:25px;line-height:1.8}.heading{margin-bottom:31px}.heading p{font-size:12px;margin-top:19px}.tag{font-size:9px;margin-bottom:13px}.services{gap:28px}.service{grid-template-columns:86px minmax(0,1fr);gap:18px;padding-bottom:28px}.illustration{aspect-ratio:1;margin:0}.illustration svg{width:76px;height:76px}.number{font-size:8px;letter-spacing:.08em}.service h3{font-size:16px;line-height:1.7;margin:6px 0 8px}.service p{font-size:12px}.info-grid{gap:30px}.info-grid h2{font-size:27px}.info-row{font-size:12px;padding:20px 0;gap:18px}.placeholder{font-size:10px}.steps{gap:29px 20px;margin-top:32px}.step{padding-top:18px}.step .num{font-size:27px}.step h3{font-size:14px;margin:13px 0 10px}.step p{font-size:11px}.price{margin-top:43px}.price>div{padding:29px 25px}.price h3{font-size:19px}.price p{font-size:12px}.about{padding-top:58px;padding-bottom:58px;gap:25px}.about h2{font-size:25px}.about p{font-size:13px}.faq h2{margin-bottom:26px}.faq details{padding:21px 3px}.faq summary{font-size:13px;line-height:1.8}.faq details p{font-size:12px}.contact{padding:65px 0}.contact-head h2{font-size:26px}.contact-head p{font-size:12px}.contact-card{padding:29px 24px}.contact-card h3{font-size:16px}.contact-grid{gap:19px}.reveal-pending{transform:translate3d(0,10px,0)}.reveal-item{transition-duration:.5s;transition-delay:0ms}.footer-row{font-size:10px}footer{padding:30px 0}}
@keyframes menu-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-item,.reveal-pending{opacity:1!important;transform:none!important}.button:active{transform:none}.hero-art{transform:none!important}}
@media print{.reveal-item,.reveal-pending{opacity:1!important;transform:none!important}}

.sub-hero{background:#edf5f8;padding:65px 0 70px}.crumb{font-size:11px;color:var(--muted);margin-bottom:34px}.crumb a{text-decoration:underline;text-underline-offset:4px}.sub-hero h1{font-size:clamp(29px,4vw,44px);line-height:1.6;font-weight:650;letter-spacing:.07em;margin:0 0 19px}.sub-hero p{font-size:14px;color:var(--muted);max-width:650px;line-height:2}.jump-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.jump-links a{font-size:12px;padding:9px 15px;background:white;border:1px solid var(--line);border-radius:5px}.service-detail{display:grid;grid-template-columns:1fr 1.8fr;gap:65px;padding:50px 0;border-bottom:1px solid var(--line);align-items:center}.service-detail .illustration{margin:0;aspect-ratio:1.3}.service-detail h2{font-size:25px;margin:7px 0 15px}.service-detail p,.service-detail li{font-size:13px;color:var(--muted);line-height:2}.service-detail ul{padding-left:20px}.table-wrap{overflow:auto}.price-table{border-collapse:collapse;width:100%;margin-top:30px;font-size:13px}.price-table th,.price-table td{text-align:left;padding:21px 18px;border-bottom:1px solid var(--line);vertical-align:top}.price-table th{background:#edf4f7;font-weight:600}.sub-note{border-left:3px solid #91b4c6;background:#f0f6f8;padding:20px 24px;font-size:12px;color:var(--muted);line-height:2;margin:25px 0}.sub-intro{font-size:15px;line-height:2.2;max-width:750px;margin:20px 0 0}.company-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:65px;align-items:center}.photo-placeholder{background:#edf4f7;border:1px dashed #b3cbd6;border-radius:10px;min-height:310px;display:grid;place-items:center;padding:30px;text-align:center;color:var(--muted);font-size:13px}.photo-placeholder svg{display:block;margin:0 auto 20px;width:80px;height:80px}.company-info{margin:0}.company-info>div{display:grid;grid-template-columns:110px 1fr;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px;gap:20px}.company-info dt{font-weight:600}.company-info dd{margin:0;color:var(--muted)}.form-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:65px;align-items:start}.form-sidebar{background:#edf5f8;padding:27px;border-radius:8px}.form-sidebar h2{font-size:20px;margin-bottom:15px}.form-sidebar p{font-size:12px;color:var(--muted);line-height:2}.form-field{margin-bottom:27px}.form-field label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}.required{font-size:10px;color:#246182;background:#e6f1f6;padding:3px 8px;border-radius:4px;margin-left:9px;font-weight:500}.optional{font-size:10px;color:var(--muted);margin-left:9px}.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:15px;line-height:1.8;color:var(--ink);background:white;border:1px solid #b4cbd6;border-radius:6px;padding:13px 15px;width:100%}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:3px solid #b5d6e6;outline-offset:2px}.form-field textarea{min-height:170px;resize:vertical}.form-help{font-size:11px;color:var(--muted);margin-top:8px}.form-check{display:flex;align-items:flex-start;gap:12px;font-size:12px;margin:25px 0;line-height:1.9}.form-check input{width:19px;height:19px;margin-top:3px;flex-shrink:0;accent-color:var(--blue)}.form-result{margin:25px 0;padding:22px;background:#eaf4ed;color:#2a6040;border:1px solid #b3d3be;border-radius:7px;font-size:13px;white-space:pre-wrap}.form-result[hidden]{display:none}button:disabled{cursor:not-allowed;opacity:.6}.sub-footer-nav{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:24px;font-size:12px}.links a[aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:8px}.support-split{display:grid;grid-template-columns:1fr 1fr;gap:35px}.support-split h3{font-size:20px}.support-split p{font-size:13px;color:var(--muted);line-height:2}@media(max-width:760px){.sub-hero{padding:35px 0 43px}.crumb{margin-bottom:25px;font-size:10px}.sub-hero h1{font-size:29px}.sub-hero p{font-size:12px}.service-detail{grid-template-columns:1fr;gap:25px;padding:35px 0}.service-detail .illustration{max-width:220px;aspect-ratio:1.7}.service-detail h2{font-size:22px}.price-table th,.price-table td{padding:16px 10px;font-size:12px}.company-layout,.form-layout,.support-split{grid-template-columns:1fr;gap:30px}.photo-placeholder{min-height:230px}.company-info>div{grid-template-columns:80px 1fr;gap:12px;font-size:12px}.sub-intro{font-size:13px}.form-sidebar{padding:24px}.form-field input,.form-field select,.form-field textarea{font-size:16px}.form-field label{font-size:13px}.sub-note{padding:17px 20px}.form-check{font-size:11px}.jump-links{gap:10px}.jump-links a{font-size:11px}.sub-footer-nav{gap:15px}}
