:root{--blue:#2f9fe0;--deep:#0b3d5c;--ink:#072a40;--mist:#e8f4fb;--foam:#f5fafd;--muted:#526775;--line:#c9dde9;--container:min(1080px, calc(100% - 3rem));color:#122433;background:var(--foam);font-synthesis:none;font-family:Zen Kaku Gothic New,Hiragino Sans,sans-serif;line-height:1.85}*{box-sizing:border-box}body{margin:0}a{color:var(--deep);text-underline-offset:.25em}a:hover{color:#146d9e}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{touch-action:manipulation}:focus-visible{outline-offset:4px;outline:3px solid #a76c00}p{margin:0 0 1.2em}h1,h2,h3{overflow-wrap:anywhere;margin:0 0 1em;line-height:1.45}h1{letter-spacing:.05em;font-size:clamp(1.85rem,4vw,3.5rem)}h2{font-size:clamp(1.4rem,2.5vw,2rem)}.site-container{width:var(--container);margin-inline:auto}.skip-link{z-index:200;background:#fff;padding:.5rem;position:absolute;top:-6rem;left:1rem}.skip-link:focus{top:.5rem}.site-header{z-index:50;border-bottom:1px solid var(--line);background:#f5fafdf5;position:sticky;top:0}.site-header__inner{align-items:center;gap:1.5rem;width:min(1320px,100% - 3rem);min-height:90px;margin:auto;display:flex}.site-header__brand{color:var(--ink);flex-direction:column;flex-shrink:0;line-height:1.3;text-decoration:none;display:flex}.brand-tag{letter-spacing:.12em;margin-bottom:.4rem;font-size:.68rem}.site-header__name{font-family:"M PLUS Rounded 1c",sans-serif;font-size:1.8rem;font-weight:800}.desktop-nav{margin-left:auto}.desktop-nav ul{gap:1.2rem;padding:0;list-style:none;display:flex}.desktop-nav a{font-size:.87rem;font-weight:700;text-decoration:none}.header-cta{background:var(--deep);color:#fff;white-space:nowrap;padding:.7rem 1rem;font-size:.9rem;font-weight:700;text-decoration:none}.header-cta:hover{color:#fff;background:#146d9e}.cta-free{color:var(--ink);background:#ffe14a;margin-right:.5em;padding:.12rem .35rem;font-size:.85em;line-height:1.4;display:inline-block}.mobile-nav{display:none}.breadcrumb{color:var(--muted);flex-wrap:wrap;gap:.7rem;padding-block:1.1rem;font-size:.75rem;display:flex}.page-hero{background:var(--mist);border-bottom:1px solid var(--line);padding:4rem 0}.eyebrow{letter-spacing:.2em;color:#146d9e;margin-bottom:1.6rem;font-size:.75rem;font-weight:900}.hero-lead{max-width:42rem;font-size:1.1rem}.home-hero{background:radial-gradient(ellipse at 90% 40%, #c1e4f6, transparent 48%), var(--mist);padding:6rem 0 3rem;position:relative;overflow:hidden}.home-hero h1{z-index:1;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.5;position:relative}.home-hero .hero-lead{max-width:35rem}.hero-actions{flex-wrap:wrap;gap:1rem;margin:2rem 0 3.2rem;display:flex}.btn{cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;min-height:54px;padding:.8rem 1.6rem;font-weight:700;line-height:1.6;text-decoration:none;display:inline-flex}.btn--primary{background:var(--deep);color:#fff}.btn--primary:hover{color:#fff;background:#146d9e}.btn--outline{color:var(--deep);border-color:var(--line);background:#fff}.btn--line{color:#174e2e;background:#e3f6ea;border-color:#9bceb1}.btn:disabled{opacity:.5;cursor:not-allowed}.hero-service-list{z-index:1;border:1px solid var(--line);background:#ffffffe0;grid-template-columns:repeat(4,1fr);display:grid;position:relative}.hero-service-list a{border-right:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.3rem;font-size:.9rem;font-weight:700;text-decoration:none;display:flex}.hero-service-list a:last-child{border-right:0}.hero-service-list span{margin-left:.5rem}.hero-decoration{color:#4085a6;text-align:center;letter-spacing:.2em;border:1px solid #9ccbe2;border-radius:50%;place-items:center;width:225px;height:225px;font-size:1.4rem;font-weight:700;display:grid;position:absolute;top:20%;right:8%;box-shadow:0 0 0 28px #d4edf766,0 0 0 65px #d4edf744}.page-body{padding-block:2rem 4rem}.content-section{border-bottom:1px solid var(--line);grid-template-columns:65px minmax(0,1fr);gap:2rem;padding:3rem 0;display:grid}.content-section>div{max-width:850px}.section-number{color:#80b4d0;font-size:1.8rem;font-weight:900;line-height:1.5}.check-list{background:var(--mist);border-left:3px solid var(--blue);padding:1.4rem 1.8rem;list-style:none}.check-list li{padding:.25rem 0}.check-list li:before{content:"✓";color:#16638f;margin-right:.7rem}.link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1.5rem;display:grid}.link-grid a{border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;font-weight:700;text-decoration:none;display:flex}.consultation{background:var(--mist);text-align:center;padding:4.5rem 0}.consultation h2{font-size:clamp(1.8rem,3vw,2.8rem)}.text-link{margin:1.5rem auto 0;display:block}.site-footer{background:var(--deep);color:#fff;padding:3.8rem 0 1.5rem}.footer-grid{grid-template-columns:2fr 1fr 1.3fr;gap:2rem;display:grid}.site-footer a{color:#fff}.site-footer .btn--line{color:#174e2e}.footer-brand{font-size:1.6rem;font-weight:900}.footer-address{overflow-wrap:anywhere;max-width:23rem;font-size:.8rem}.site-footer nav{flex-direction:column;gap:.5rem;font-size:.9rem;display:flex}.copyright{text-align:center;border-top:1px solid #42708a;margin:2.8rem 0 0;padding-top:1.5rem;font-size:.75rem}.company-table{max-width:850px;margin:2rem auto}.company-table>div{border-bottom:1px solid var(--line);grid-template-columns:8rem 1fr;padding:1rem;display:grid}.company-table dt{font-weight:700}.company-table dd{overflow-wrap:anywhere;margin:0}.contact-form{border:1px solid var(--line);background:#fff;max-width:760px;margin:2rem auto;padding:clamp(1.3rem,4vw,3rem)}.contact-form>label{margin-bottom:1.5rem;font-weight:700;display:block}.contact-form>label>span:not(.consent span){color:#8c3434;margin-left:.5rem;font-size:.75rem}input:not([type=checkbox]),textarea,select{background:#f9fcfd;border:1px solid #a5bdcc;border-radius:2px;width:100%;min-width:0;max-width:100%;margin-top:.45rem;padding:.8rem;display:block}textarea{resize:vertical}.contact-form .consent{align-items:flex-start;gap:.7rem;font-size:.9rem;display:flex}.consent input{margin-top:.5rem}.form-note{color:var(--muted);font-size:.9rem}.form-status{color:#8c3434;min-height:1.85em;margin-block:1.2rem}.contact-form button{width:100%;margin-bottom:1.5rem}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.thanks-panel{border:1px solid var(--line);background:#fff;max-width:800px;margin:2rem auto;padding:2rem}@media (width<=1100px){.desktop-nav{display:none}.header-cta{margin-left:auto}.mobile-nav{display:block;position:relative}.mobile-nav summary{background:var(--mist);cursor:pointer;border:1px solid var(--line);padding:.7rem;font-size:.8rem;list-style:none}.mobile-nav nav{background:#fff;width:min(85vw,360px);max-height:75vh;padding:1rem;position:absolute;top:calc(100% + 1rem);right:0;overflow:auto;box-shadow:0 8px 30px #072a4030}.mobile-nav nav a{border-bottom:1px solid var(--line);padding:.65rem;text-decoration:none;display:block}.hero-decoration{opacity:.6;right:6%}.home-hero .hero-lead{max-width:65%}}@media (width<=700px){:root{--container:calc(100% - 2.5rem)}.site-header__inner{gap:.5rem;width:calc(100% - 1.5rem);min-height:78px}.site-header__name{font-size:1.2rem}.brand-tag{letter-spacing:0;font-size:.55rem}.header-cta{padding:.6rem .55rem;font-size:.68rem}.header-cta .cta-free{margin-right:.25em}.mobile-nav summary{padding:.65rem .4rem;font-size:.65rem}.page-hero{padding:2.8rem 0}.home-hero{padding:3.4rem 0 2rem}.home-hero .hero-lead{max-width:100%;font-size:1rem}.hero-decoration{display:none}.hero-actions{grid-template-columns:1fr;margin-bottom:2rem;display:grid}.hero-service-list{grid-template-columns:1fr 1fr}.hero-service-list a{border-bottom:1px solid var(--line);padding:.9rem;font-size:.8rem}.hero-service-list a:nth-child(2n){border-right:0}.hero-service-list a:nth-last-child(-n+2){border-bottom:0}.content-section{grid-template-columns:1fr;gap:.3rem;padding:2rem 0}.section-number{margin:0;font-size:1rem}.link-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:2rem}.company-table>div{grid-template-columns:1fr;gap:.3rem;padding:.8rem 0}.consultation{padding:3rem 0}.page-body{padding-bottom:2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.h1-label{letter-spacing:.08em;margin-bottom:1rem;font-size:.85rem;font-weight:700;display:block}@media (width<=700px){.home-hero h1{font-size:clamp(1.55rem,8vw,2.2rem)}.h1-label{font-size:.75rem}}
