*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.9 var(--body-font);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--heading-font);font-weight:500;line-height:1.5;letter-spacing:.025em;text-wrap:pretty}h1{font-size:var(--title-size)}h2{font-size:var(--heading-size)}h3{font-size:1.25rem;line-height:1.55}a{color:inherit;text-decoration:none}button,summary{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}img{max-width:100%;display:block}button{cursor:pointer}a:hover .arrow{transform:translate(2px,-2px)}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.section{padding-block:var(--section-space)}.eyebrow{font:600 .82rem/1.8 var(--label-font);letter-spacing:.06em;color:var(--accent);margin-bottom:calc(var(--space)*1.2)}.preview-note{padding:4px 20px;text-align:center;background:var(--brand);color:var(--on-brand);font-size:.72rem;letter-spacing:.03em}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{width:calc(100% - 80px);max-width:1360px;min-height:94px;margin:auto;display:flex;align-items:center;gap:34px}.brand{min-width:0;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:12px;font-size:1.08rem;line-height:1.4;font-weight:600;white-space:normal}.brand-mark{width:43px;height:44px;position:relative;overflow:hidden;flex:none;background:transparent}.brand-mark img{width:100%;height:100%;object-fit:contain}.audience{display:flex;margin-left:auto;gap:24px;font-size:.84rem}.audience a{min-height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}.audience a[aria-current]{border-color:var(--accent);font-weight:700}.menu{position:relative}.menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:14px;font-size:.84rem}.menu summary::-webkit-details-marker{display:none}.menu nav{position:absolute;z-index:30;background:var(--paper);box-shadow:var(--shadow);border:1px solid var(--line);right:0;top:55px;width:240px;padding:12px 24px}.menu nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.menu nav a:last-child{border:0}.skip{position:absolute;z-index:50;left:20px;top:-100px;background:var(--paper);padding:12px}.skip:focus{top:12px}.photo{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--soft)}.photo img{width:100%;height:100%;object-fit:cover}.photo figcaption{position:absolute;bottom:10px;right:12px;font-size:.65rem;line-height:1.5;padding:5px 8px;background:#ffffffed;color:#263d4a}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:48px;border-bottom:1px solid var(--ink);font-size:.91rem;font-weight:600}.text-link:hover{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:58px;padding:16px 26px;background:var(--brand);color:var(--on-brand);border:1px solid var(--brand);border-radius:var(--radius);font-size:.95rem;font-weight:600;transition:box-shadow var(--motion-fast)}.button:hover{box-shadow:var(--shadow)}.arrow{font-family:var(--body-font);font-size:1.6rem;line-height:1;transition:transform var(--motion-fast)}.mobile-only{display:none}
/* Entry: two clear text choices; no long company presentation. */
.entry{background:var(--canvas)}.entry-main{padding-top:clamp(40px,7vh,76px);padding-bottom:40px;min-height:calc(100svh - 280px)}.entry-intro{text-align:center;margin-bottom:calc(var(--space)*2.6)}.entry-intro h1{font-size:var(--entry-title-size)}.entry-options{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1080px;margin:auto}.entry-option{position:relative;padding:calc(var(--space)*2.5) calc(var(--space)*2.8) calc(var(--space)*1.8);border:1px solid var(--line);border-radius:var(--radius);transition:box-shadow var(--motion-fast),transform var(--motion-fast)}.entry-option:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.business-choice{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.reform-choice{background:var(--paper)}.choice-overline{font-size:.82rem}.entry-option h2{font:500 var(--entry-choice-size)/1.7 var(--heading-font);margin:22px 0 10px;white-space:normal}.entry-option p{font-size:.91rem}.choice-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid currentColor;margin-top:34px;padding-top:18px;font-size:.8rem}.entry-footnote{text-align:center;font-size:.78rem;color:var(--muted);margin-top:32px}.entry .site-footer{background:var(--canvas);padding-top:0}.entry .footer-main{display:none}.entry .footer-bottom{border:0}.entry .footer-bottom nav a:first-child{display:none}
/* Corporate: editorial heading, panorama, open rows, regional evidence. */
.business-heading h1{font-size:var(--business-title-size)}.business-hero{padding-top:55px}.business-heading{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:64px;margin-bottom:38px}.business-intro{max-width:420px;justify-self:end;color:var(--muted)}.business-intro .text-link{margin-top:18px;color:var(--ink)}.business-panorama{height:285px}.business-panorama img{object-position:center 58%}.business-caption{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);font-size:.87rem}.business-caption a{font-weight:600}.business-services,.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.section-title>p:last-child{color:var(--muted);font-size:.91rem;margin-top:22px}.service-rows{border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line)}.service-row summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:36px 1fr 30px;gap:18px;align-items:center;padding:25px 0}.service-row summary::-webkit-details-marker{display:none}.row-number{font-size:.83rem;color:var(--accent)}.service-row summary>span{min-width:0}.service-row strong{font-weight:500;font-size:1.35rem}.service-row small{display:block;font-size:.82rem;color:var(--muted);margin-top:5px}.service-row>p{padding:0 35px 24px 54px;color:var(--muted);font-size:.94rem}.plus{font-size:1.2rem}.service-row[open] .plus{transform:rotate(45deg)}.business-record{background:var(--business-surface)}.record-intro{display:flex;justify-content:space-between;gap:40px;align-items:end}.record-intro>p{font-size:.94rem;color:var(--muted)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:45px}.metrics article{border-top:2px solid var(--accent);padding-top:24px}.metrics h3{font-size:1.12rem;font-weight:600}.metric{display:flex;align-items:baseline;gap:14px;margin:8px 0 22px}.metric strong{font:400 4.4rem/1.3 var(--heading-font);letter-spacing:-.03em}.metric span{font-size:.88rem}.breakdown{display:flex;gap:25px;margin:0}.breakdown div{flex:1}.breakdown dt{font-size:.82rem;color:var(--muted)}.breakdown dd{margin:5px 0 0;font-size:1.1rem}.metrics article>p:last-child{font-size:.87rem;color:var(--muted)}.network{margin-top:50px;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:64px}.network h3{font:500 1.5rem/1.8 var(--heading-font)}.network p{font-size:.94rem;color:var(--muted)}
/* Residential: generous photograph and copy on a paper surface; different DOM rhythm. */
.reform-hero{position:relative;max-width:1600px;margin:auto;padding-bottom:55px}.reform-main-photo{height:565px;border-radius:0}.reform-main-photo img{object-position:center 51%;filter:brightness(calc(1 - var(--photo-shade)))}.reform-hero-copy{position:absolute;left:max(48px,calc((100% - 1200px)/2));bottom:0;padding:34px 46px;background:var(--paper);max-width:630px;border-radius:var(--radius)}.reform-hero-copy h1{font-size:var(--reform-title-size)}.reform-hero-copy>p:not(.eyebrow){font-size:.9rem;margin-top:16px;color:var(--muted)}.reform-hero-copy .text-link{margin-top:18px}.reform-hero-copy .eyebrow{margin-bottom:13px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-heading>p{font-size:.94rem;color:var(--muted)}.reform-choices{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:1fr 1fr;gap:30px 38px}.reform-choice-item .photo{height:170px}.reform-choice-item.choice-0{grid-row:span 2}.reform-choice-item.choice-0 .photo{height:426px}.reform-choice-item.choice-0 img{object-position:45% center}.reform-choice-item.choice-2 img{object-position:center 62%}.service-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 0 3px}.service-caption h3{font-size:1.18rem;font-weight:500}.service-caption small{color:var(--muted);font-size:.8rem}.service-details{margin-top:45px;border-top:1px solid var(--line)}.service-details details,.faq-list details{border-bottom:1px solid var(--line)}.service-details summary,.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;list-style:none;cursor:pointer;font-size:.96rem}.service-details summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.service-details details>div{padding:0 0 25px;max-width:750px}.service-details p,.faq-list p{font-size:.94rem;color:var(--muted);margin-bottom:12px}.service-details .text-link{font-size:.88rem}.reform-about{background:var(--reform-surface)}.reform-about-inner{display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:center}.reform-about-inner .photo{height:400px}.reform-about-inner p:not(.eyebrow){margin-top:24px;color:var(--muted);font-size:.95rem}.reform-about-inner .works-note{border-top:1px solid var(--line);padding-top:22px;font-size:.82rem!important}.faq-list{border-top:1px solid var(--line)}.faq-list p{padding:0 20px 15px 0}.reform .company{padding-top:0}
/* Shared essentials */
.company{display:grid;grid-template-columns:1fr 1.1fr;gap:10px 70px}.company h2{font-size:var(--company-heading-size)}.company dl{margin:0}.company dl div{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:17px 0;gap:20px;font-size:.88rem}.company dt{color:var(--muted)}.company dd{margin:0}.company-note{grid-column:2;font-size:.79rem;color:var(--muted);margin-top:12px}.contact{background:var(--brand);color:var(--on-brand)}.contact-inner{display:flex;justify-content:space-between;gap:44px;align-items:center}.contact .eyebrow{color:var(--on-brand);opacity:.8}.contact h2{font-size:var(--contact-heading-size)}.contact-inner>div>p:not(.eyebrow){margin-top:18px;font-size:.91rem}.contact .button{background:var(--paper);color:var(--ink);border-color:var(--paper);min-width:290px}.contact .contact-note{font-size:.72rem!important;max-width:310px}.line-notice{padding-block:32px}.line-notice h2{font:600 .85rem var(--body-font)}.line-notice p{font-size:.8rem;color:var(--muted);margin-top:8px}.site-footer{padding:45px 0 25px;background:var(--paper)}.footer-main{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-bottom:35px}.footer-main>p{font-size:.82rem;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:20px;font-size:.75rem;color:var(--muted)}.footer-bottom nav{display:flex;gap:24px;flex-wrap:wrap}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}.footer-bottom small{font-size:.72rem;align-self:center}.footer-bottom a:hover{text-decoration:underline}dialog{border:1px solid var(--line);border-radius:var(--radius);padding:0;max-width:520px;width:calc(100% - 40px);background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:#10283bab}.dialog-inner{padding:36px}.dialog-inner h2{font-size:1.8rem}.dialog-inner>p:not(.eyebrow){margin:20px 0 28px;font-size:.94rem}.dialog-inner .button{width:100%}body.modal-open{overflow:hidden}.reform.hero-first .reform-main-photo img{animation:photo-settle var(--motion-photo) ease-out both}@keyframes photo-settle{from{transform:scale(1.015) translateY(var(--motion-distance))}to{transform:scale(1) translateY(0)}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header-inner{width:calc(100% - 48px);gap:24px}.brand{font-size:.95rem}.audience{gap:18px;font-size:.78rem}.business-heading{gap:32px;grid-template-columns:1.1fr 1fr}.business-intro{font-size:.88rem}.business-services,.faq{gap:40px}.reform-hero-copy{left:32px}.reform-about-inner{gap:45px}.contact-inner{gap:30px}.contact .button{min-width:250px}.breakdown{gap:10px}.company{gap:12px 35px}.reform-choices{gap:24px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{width:calc(100% - 40px);min-height:0;padding-block:14px 10px;display:grid;grid-template-columns:1fr auto;gap:8px 12px}.brand{font-size:.91rem;gap:8px}.brand-mark{width:32px;height:33px}.brand-mark img{width:100%;height:100%}.audience{grid-row:2;grid-column:1 / 3;margin:0;justify-content:flex-start;gap:24px;font-size:.77rem}.audience a{min-height:40px}.menu{grid-column:2;grid-row:1}.menu summary{font-size:.76rem;gap:7px}.menu nav{top:46px}.entry .header-inner{display:flex;justify-content:center;padding:20px 0}.preview-note{font-size:.66rem;padding:3px 12px}.eyebrow{font-size:.75rem}.mobile-only{display:block}.photo figcaption{font-size:.59rem;right:8px;bottom:8px;padding:4px 6px}.entry-main{padding-top:38px;padding-bottom:25px;min-height:0}.entry-intro{margin-bottom:28px}.entry-intro .eyebrow{font-size:.7rem;margin-bottom:14px}.entry-intro h1{font-size:var(--entry-title-size-mobile);line-height:1.65}.entry-options{grid-template-columns:1fr;gap:18px}.entry-option{padding:calc(var(--space)*1.4) calc(var(--space)*1.5) calc(var(--space)*1.1)}.choice-overline{font-size:.75rem}.entry-option h2{font-size:var(--entry-choice-size-mobile);margin:9px 0 5px}.entry-option p{font-size:.82rem}.choice-bottom{margin-top:18px;padding-top:12px;font-size:.74rem}.entry-footnote{margin-top:22px;font-size:.72rem}.entry .site-footer{padding-bottom:20px}.entry .footer-bottom{justify-content:center;padding-top:0}.entry .footer-bottom nav{display:none}.business-hero{padding-top:32px}.business-heading{display:block;margin-bottom:25px}.business-heading h1{font-size:var(--business-title-size-mobile)}.business-intro{margin-top:20px;max-width:none;font-size:.9rem}.business-intro br{display:none}.business-intro .text-link{margin-top:12px}.business-panorama{height:210px}.business-panorama img{object-position:51% 60%}.business-caption{font-size:.75rem;display:block;padding:12px 0}.business-caption a{display:block;margin-top:5px;min-height:44px;padding-top:10px}.business-services,.faq{grid-template-columns:1fr;gap:28px}.section-title>p:last-child{margin-top:16px}.service-row summary{grid-template-columns:25px 1fr 20px;gap:10px;padding:22px 0}.service-row summary>span{min-width:0}.service-row strong{font-size:1.14rem}.service-row small{font-size:.78rem}.service-row>p{padding-left:35px;padding-right:0}.record-intro{display:block}.record-intro>p{margin-top:20px;font-size:.87rem}.record-intro>p br{display:none}.metrics{grid-template-columns:1fr;gap:32px;margin-top:30px}.metrics article{padding-top:18px}.metric{margin:3px 0 15px}.metric strong{font-size:3.7rem}.breakdown{gap:15px}.breakdown dt{font-size:.75rem}.breakdown dd{font-size:1rem}.network{grid-template-columns:1fr;gap:13px;margin-top:32px;padding-top:25px}.network h3{font-size:1.3rem}.network p{font-size:.88rem}.network br{display:none}.reform-hero{padding-bottom:0}.reform-main-photo{height:300px}.reform-main-photo img{object-position:57% 50%}.reform-hero-copy{position:relative;left:0;bottom:auto;padding:25px 20px 0;max-width:none}.reform-hero-copy h1{font-size:var(--reform-title-size-mobile)}.reform-hero-copy>p:not(.eyebrow){font-size:.85rem;margin-top:14px}.reform-hero-copy .text-link{margin-top:12px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{margin-top:18px;font-size:.87rem}.section-heading h2{font-size:var(--heading-size-mobile)}.reform-choices{display:flex;flex-direction:column;gap:27px}.reform-choice-item .photo,.reform-choice-item.choice-0 .photo{height:210px}.reform-choice-item.choice-0 img{object-position:48% 58%}.reform-choice-item.choice-1 .photo{height:175px}.reform-choice-item.choice-2 .photo{height:175px}.service-caption{padding-top:10px}.service-caption h3{font-size:1.12rem}.service-details{margin-top:32px}.reform-about-inner{display:flex;flex-direction:column;gap:28px;align-items:stretch}.reform-about-inner h2{font-size:var(--heading-size-mobile)}.reform-about-inner .photo{height:230px}.reform-about-inner p:not(.eyebrow){font-size:.9rem;margin-top:18px}.faq-list summary{font-size:.9rem;gap:15px}.company{grid-template-columns:1fr;gap:20px}.company h2{font-size:var(--company-heading-size-mobile)}.company dl div{grid-template-columns:90px 1fr;gap:15px;font-size:.83rem}.company-note{grid-column:auto;margin-top:0;font-size:.76rem}.contact-inner{display:block}.contact h2{font-size:var(--contact-heading-size-mobile)}.contact-inner>div>p:not(.eyebrow){font-size:.85rem}.contact-inner>div+div{margin-top:28px}.contact .button{width:100%;min-width:0}.contact .contact-note{max-width:none}.line-notice{padding-block:24px}.line-notice p{font-size:.77rem}.footer-main{display:block;padding-bottom:24px}.footer-main>p{margin-top:16px;font-size:.76rem}.site-footer{padding-top:30px}.footer-bottom{display:block}.footer-bottom nav{gap:18px;font-size:.71rem}.footer-bottom small{display:block;margin-top:15px}.dialog-inner{padding:25px}.dialog-inner .button{font-size:.85rem;padding-inline:17px}.text-link{font-size:.85rem}}
@media(max-width:360px){.wrap,.header-inner{width:calc(100% - 32px)}.brand{font-size:.8rem}.menu summary{font-size:.7rem}.entry-option{padding-inline:19px}.reform-hero-copy{padding-inline:16px}.breakdown{gap:10px}.breakdown dt{font-size:.69rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Review 2: native photo disclosures avoid duplicate selectors and show open state. */
.reform-choices{align-items:start}.reform-choice-item{min-width:0}.reform-choice-item summary{list-style:none;cursor:pointer}.reform-choice-item summary::-webkit-details-marker{display:none}.service-caption{min-width:0}.service-caption>span:first-child{min-width:0}.service-caption strong{display:block;font-size:1.18rem;font-weight:500;line-height:1.55}.service-caption small{display:block}.toggle-state::before{content:'＋';font-size:1.45rem}.reform-choice-item[open] .toggle-state::before{content:'−'}.service-explanation{padding:20px 0 0;border-top:1px solid var(--line);margin-top:16px;font-size:.9rem;color:var(--muted)}.service-explanation p+p{margin-top:12px}.service-explanation .text-link{margin-top:14px;color:var(--ink)}.faq-list details[open]>summary>span,.menu[open]>summary>span{font-size:0}.faq-list details[open]>summary>span::after,.menu[open]>summary>span::after{content:'−';font-size:1rem}.entry-option{min-width:0}.entry-option h2{overflow-wrap:anywhere}.header-inner>*{min-width:0}.metrics article{min-width:0}.breakdown{flex-wrap:wrap}.company dd{overflow-wrap:anywhere}.footer-main .brand{max-width:100%}
@media(max-width:760px){.header-inner{grid-template-columns:minmax(0,1fr) auto}.reform-choice-item{width:100%}.reform-choice-item.choice-0 .photo{height:210px}.service-caption strong{font-size:1.12rem}.brand{white-space:normal}.service-row summary{grid-template-columns:25px minmax(0,1fr) 20px}.service-caption{gap:14px}.contact h2{font-size:var(--contact-heading-size-mobile)}}
/* Let the number and disclosure symbol grow with text zoom, without overflowing their columns. */
.service-row summary{grid-template-columns:max-content minmax(0,1fr) max-content}

/* Consultation entry: one conditional dock, without attention-grabbing motion. */
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:24px}
.reform-hero-copy .hero-actions .text-link{margin-top:0}
.hero-consultation .button{white-space:normal}
.business-caption{align-items:center}.business-caption a{margin:0;padding:14px 22px;font-size:.9rem}
.consult-dock[hidden]{display:none!important}
.consult-dock{position:fixed;z-index:25;inset:auto 0 0;padding:10px max(24px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);display:flex;justify-content:flex-end;box-shadow:0 -3px 15px #10283b0a}
.consult-dock .button{min-height:48px;padding:11px 22px;font-size:.9rem;max-width:100%;}
html.consultation-shell{height:100%;overflow:hidden}body.has-consultation{height:calc(100dvh - var(--active-dock-height,0px));overflow-y:auto;overscroll-behavior-y:contain;scroll-padding-bottom:16px}
html{scroll-padding-bottom:var(--consult-clearance,90px)}
[data-line],summary,a,button{scroll-margin-bottom:var(--consult-clearance,90px)}
@media(max-width:760px){.reform-main-photo{height:255px}.hero-actions{display:block;margin-top:20px}.hero-actions .button{width:100%;padding:14px 22px}.reform-hero-copy .hero-actions .text-link{margin-top:6px}.business-caption{display:flex;flex-wrap:wrap;gap:12px}.business-caption .hero-consultation{width:100%}.business-caption .button{display:flex;width:100%;padding:14px 22px}.consult-dock{justify-content:center;padding:8px max(20px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.consult-dock .button{width:100%}.reform-hero-copy{padding-top:22px}}
body.has-consultation.modal-open{overflow:hidden}

/* Company / privacy: shared information hierarchy, separate from audience heroes. */
.footer-information{display:flex;gap:12px 28px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:14px;padding-top:10px;font-size:var(--information-label-size);color:var(--muted)}
.footer-information a{display:inline-flex;align-items:center;min-height:44px}.footer-information a:hover{text-decoration:underline}.footer-information [aria-current]{color:var(--ink);font-weight:600}
.company-paths{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px}.company-paths a{max-width:100%}
.info-hero{padding-block:28px 60px}.breadcrumb{display:flex;gap:14px;flex-wrap:wrap;font-size:var(--information-label-size);color:var(--muted);margin-bottom:42px}.breadcrumb a{display:inline-flex;min-height:44px;align-items:center}.breadcrumb span{align-self:center}.breadcrumb a:hover{text-decoration:underline}
.info-hero h1{font-size:var(--information-title-size)}.info-lead{margin-top:22px;color:var(--muted);font-size:var(--information-body-size)}
.info-index{display:flex;flex-wrap:wrap;gap:16px 36px;border-block:1px solid var(--line);padding:12px 0}.info-index a{display:flex;align-items:center;min-height:44px;font-weight:600}.info-index a:hover{color:var(--accent)}
.draft-note{border-left:3px solid var(--accent);padding:12px 18px;background:var(--canvas);font-size:var(--information-label-size);color:var(--muted);margin-top:24px}.draft-note strong{color:var(--ink);font-weight:600}.draft-note p{margin-top:6px}
.info-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding-block:var(--section-space);border-bottom:1px solid var(--line)}.info-section h2{font-size:var(--heading-size)}
.profile-list{margin:0;font-size:var(--information-body-size)}.profile-list>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--line);padding:20px 0}.profile-list>div:first-child{padding-top:0}.profile-list>div:last-child{border:0;padding-bottom:0}.profile-list dt{color:var(--muted);font-size:var(--information-label-size)}.profile-list dd{margin:0;overflow-wrap:anywhere}.profile-list .pending{color:var(--muted)}
.info-copy{font-size:var(--information-body-size)}.info-copy h3{margin-top:30px;margin-bottom:12px}.info-copy p{color:var(--muted)}.info-disclosure{margin-top:24px;border-block:1px solid var(--line)}.info-disclosure summary{cursor:pointer;padding:16px 0}.info-disclosure p{padding-bottom:20px}
.flow-section{padding-block:var(--section-space)}.flow-list{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:64px}.flow-list li{display:flex;gap:24px;border-top:1px solid var(--line);padding:26px 0 34px}.flow-number{color:var(--accent);font:500 1.15rem/1.6 var(--heading-font);flex:none}.flow-list h3{font-size:1.15rem;margin-bottom:12px}.flow-list p{font-size:var(--information-body-size);color:var(--muted)}.flow-note{font-size:var(--information-label-size);color:var(--muted);margin-top:16px}
.info-return{padding-block:42px;border-top:2px solid var(--accent)}.info-return h2{font-size:var(--company-heading-size)}.info-return>div{display:flex;gap:20px 48px;flex-wrap:wrap;margin-top:18px}.info-return>p{font-size:var(--information-label-size);color:var(--muted);margin-top:22px}
.privacy-body{max-width:900px;padding-bottom:var(--section-space)}.privacy-body>.draft-note{margin-top:0}.privacy-preview{margin-top:40px;padding-bottom:32px;border-bottom:1px solid var(--line)}.privacy-preview h2,.privacy-sections h2,.privacy-contact h2{font:600 1.25rem/1.7 var(--body-font)}.privacy-preview p{margin-top:16px;color:var(--muted)}.privacy-sections>section{display:flex;gap:28px;padding:32px 0;border-bottom:1px solid var(--line)}.privacy-sections p{font-size:var(--information-body-size);color:var(--muted);margin-top:14px}.privacy-contact{padding:30px;background:var(--canvas);margin-top:38px}.privacy-contact p{margin-top:10px;color:var(--muted)}.privacy-contact .text-link{margin-top:16px}
@media(max-width:760px){.company-paths{grid-column:auto;margin-top:0}.info-hero{padding-block:16px 36px}.breadcrumb{margin-bottom:24px}.info-hero h1{font-size:var(--information-title-size-mobile)}.info-lead br{display:none}.info-index{gap:8px 24px;font-size:var(--information-label-size)}.info-section{grid-template-columns:1fr;gap:30px}.info-section h2,.flow-section h2{font-size:var(--heading-size-mobile)}.profile-list>div{grid-template-columns:1fr;gap:8px;padding-block:18px}.profile-list dt{font-weight:600}.flow-list{grid-template-columns:1fr;margin-top:28px}.flow-list li{padding-block:22px;gap:18px}.flow-list h3{margin-bottom:8px}.info-return>div{flex-direction:column;align-items:flex-start;gap:12px}.privacy-preview h2,.privacy-sections h2,.privacy-contact h2{font-size:1.12rem}.privacy-sections>section{gap:18px;padding-block:26px}.privacy-contact{padding:22px}.footer-information{gap:6px 20px}.entry .footer-information{justify-content:center}.privacy-body{overflow-wrap:anywhere}}

/* Confirmed corporate identity: open lines and grouped contact facts. */
.company-identity{margin-top:20px;font-size:var(--information-label-size);color:var(--muted)}
.profile-list a,.privacy-identity a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.profile-list a[href^="tel:"],.profile-list a[href^="mailto:"]{display:inline-flex;min-height:44px;align-items:center}
.structure-detail{margin-top:18px}.info-copy>.text-link{margin-top:24px}
.footer-details{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;padding:0 0 28px;font-size:var(--information-label-size);color:var(--muted)}.footer-offices{display:grid;grid-template-columns:1fr 1fr;gap:24px}.footer-offices address{font-style:normal}.footer-offices strong{display:block;color:var(--ink);font-size:var(--information-label-size);margin-bottom:8px}.footer-offices span{display:block;overflow-wrap:anywhere}.footer-contact-label{color:var(--ink);font-weight:600}.footer-contact a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}.footer-phone{font-size:var(--footer-phone-size);color:var(--ink);letter-spacing:.02em}.footer-email{font-size:var(--information-label-size)}.footer-contact a:hover{text-decoration:underline}.footer-details-compact{display:block;text-align:center;padding-top:8px}.footer-details-compact .footer-contact{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 24px}.footer-details-compact .footer-contact-label{display:none}
.contact-alternatives{border-top:1px solid #ffffff50;padding-top:16px;margin-top:24px;font-size:var(--information-label-size);max-width:350px}.contact-alternatives a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-alternatives .contact-phone{font-size:var(--contact-phone-size)}.contact-alternatives>p:first-child{opacity:.85}.contact-inner>div{min-width:0}
.privacy-sections ul{margin:18px 0;padding-left:1.25em;color:var(--muted)}.privacy-sections li+li{margin-top:8px}.privacy-sections>section>div{min-width:0}.privacy-identity{margin:22px 0 0;font-size:var(--information-label-size);border-top:1px solid var(--line)}.privacy-identity>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;border-bottom:1px solid var(--line);padding:12px 0}.privacy-identity dt{color:var(--muted)}.privacy-identity dd{margin:0}.privacy-contact{margin-top:22px}.privacy-contact p:first-child{margin-top:0}.privacy-contact a[href^="mailto:"],.privacy-contact a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.footer-details{grid-template-columns:1fr;gap:24px;padding-bottom:24px}.footer-offices{grid-template-columns:1fr;gap:20px}.footer-contact{border-top:1px solid var(--line);padding-top:20px}.footer-details-compact .footer-contact{display:block;padding-top:12px}.footer-details-compact .footer-contact-label{display:block}.contact-alternatives{max-width:none}.privacy-identity>div{grid-template-columns:1fr;gap:5px}.privacy-contact{padding:20px}.entry .footer-details-compact{padding-bottom:16px}}

/* Design audit D01–D05: meaningful line breaks, tablet photo label, shorter company scanning. */
.business-intro-lines span{display:block}
.business-caption .procurement-links{display:flex;flex-wrap:wrap;gap:8px 30px;align-items:center}
.business-caption .procurement-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:4px 0;font-size:var(--information-label-size);font-weight:500;border-bottom:1px solid var(--line)}
.procurement-links a:hover{color:var(--accent);border-color:var(--accent)}
.service-toggle{display:flex;align-items:center;gap:10px;flex:none;white-space:nowrap}.toggle-label{font-size:.76rem;color:var(--muted)}.toggle-label::before{content:'内容を見る'}.reform-choice-item[open] .toggle-label::before{content:'閉じる'}
.entry-option::before{content:'';position:absolute;inset:14px auto auto 14px;width:26px;height:12px;border-top:1px solid var(--ornament);border-left:1px solid var(--ornament);pointer-events:none}
.info-hero{padding-block:20px var(--information-hero-gap)}.breadcrumb{margin-bottom:24px}.info-lead{margin-top:16px}
.profile-section.info-section{display:block;padding-top:38px}.profile-section>h2{font-size:var(--company-heading-size);margin-bottom:28px}
.profile-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--profile-gap)}
.profile-group{min-width:0;border-top:1px solid var(--ornament);padding-top:20px}.profile-group h3{font:600 var(--profile-group-heading-size)/1.6 var(--body-font);margin-bottom:20px}.profile-group .profile-list>div{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:14px 0}.profile-group .profile-list>div:first-child{padding-top:0}.profile-group .profile-list>div:last-child{padding-bottom:0}.profile-group .profile-list dt{font-size:var(--profile-label-size)}.profile-group .profile-list>.profile-wide{grid-template-columns:1fr;gap:6px}.profile-group .profile-list a{max-width:100%}.profile-group .profile-list{font-size:var(--information-body-size)}
@media(min-width:761px) and (max-width:1100px){.reform-hero{padding-bottom:0}.reform-main-photo{height:420px}.reform-hero-copy{position:relative;left:auto;bottom:auto;max-width:none;margin-inline:32px;padding:30px 0 0}.reform-hero-copy::before{content:'';position:absolute;top:0;left:0;width:56px;border-top:1px solid var(--ornament)}}
@media(min-width:761px) and (max-width:1050px){.profile-group-grid{grid-template-columns:1fr;gap:30px}.profile-group{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px}.profile-group h3{margin-bottom:0}.profile-group .profile-list>.profile-wide{grid-template-columns:120px minmax(0,1fr);gap:18px}}
@media(max-width:760px){.business-intro-lines{line-height:1.9}.business-caption .procurement-links{gap:8px 24px;width:100%}.business-caption .procurement-links a{font-size:.8rem;margin:0}.service-caption{align-items:flex-start}.service-toggle{padding-top:2px;gap:8px}.toggle-label{font-size:.75rem}.info-hero{padding-block:14px 28px}.breadcrumb{margin-bottom:18px}.profile-section.info-section{padding-top:30px}.profile-section>h2{font-size:var(--company-heading-size-mobile);margin-bottom:22px}.profile-group-grid{grid-template-columns:1fr;gap:30px}.profile-group h3{margin-bottom:16px}.profile-group .profile-list>div{grid-template-columns:100px minmax(0,1fr);gap:12px}.profile-group .profile-list>.profile-wide{grid-template-columns:1fr;gap:5px}.profile-group .profile-list dt{font-weight:400}}
@media(max-width:360px){.service-caption{flex-wrap:wrap;gap:6px}.service-toggle{margin-left:auto;padding-top:0}.profile-group .profile-list>div{grid-template-columns:90px minmax(0,1fr)}}
/* Keep the mobile introduction on the same left edge as its heading and photo. */
@media(max-width:760px){.business-intro{justify-self:stretch;width:100%}}
/* Keep policy heading terms together without preventing 200% text wrapping. */
.policy-title-part{display:inline-block;max-width:100%}

/* Stock-photo crops are content-configurable; accepted layout and motion remain unchanged. */
.photo{--photo-active-position:var(--photo-position-pc,center)}
@media(max-width:760px){.photo{--photo-active-position:var(--photo-position-mobile,center)}}

/* Image disclosure belongs to each photo section, outside the image. */
.photo-note{font:400 .75rem/1.7 var(--body-font);color:var(--muted);margin-top:14px}.reform-hero>.photo-note{position:absolute;bottom:0;left:50%;transform:translateX(-50%);margin-top:0}.reform-hero-copy{bottom:36px}
@media(max-width:760px){.photo-note{font-size:.7rem}.reform-hero>.photo-note{position:static;transform:none;margin-top:14px}.reform-hero-copy{bottom:auto}}

/* Independent audience sites: shared brand, route-owned navigation. */
.site-context{font-size:var(--information-label-size);color:var(--muted);white-space:nowrap}.desktop-site-nav{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-left:auto;font-size:var(--information-label-size)}.desktop-site-nav a{min-height:44px;display:flex;align-items:center;border-bottom:1px solid transparent}.desktop-site-nav a:hover{border-color:var(--accent)}.site-business .menu,.site-reform .menu{display:none}.header-inner{gap:20px}.footer-bottom nav{flex-wrap:wrap}.image-gallery h2{margin-bottom:30px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.gallery-grid .photo{height:280px}.gallery-grid h3{margin-top:16px}.site-business .info-hero{border-bottom:1px solid var(--line)}.entry .entry-footnote{display:none}
@media(max-width:1200px){.desktop-site-nav{display:none}.site-business .menu,.site-reform .menu{display:block;margin-left:auto}.site-context{margin-left:auto}.header-inner{flex-wrap:wrap}}
@media(max-width:760px){.site-context{grid-column:1;grid-row:2;margin-left:0;font-size:.7rem}.menu{margin-left:0}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-grid .photo{height:230px}.entry .site-footer{padding-bottom:20px}.info-hero{overflow-wrap:anywhere}}

/* Internal routes use one introduction; reused home sections do not repeat it. */
.information-page .business-services,.information-page .faq{display:block}.information-page .business-services .service-rows,.information-page .faq-list{max-width:900px;margin-inline:auto}.information-page .business-services,.information-page .reform-services,.information-page .image-gallery,.information-page .faq{padding-top:calc(var(--space)*2)}

/* Shared six-step flow: image, number and concise explanation stay together. */
.flow-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:40px}
.flow-list li{display:block;min-width:0;border-top:0;padding:0}
.flow-photo{margin:0 0 20px;aspect-ratio:8/5;overflow:hidden;background:var(--surface)}
.flow-photo img{display:block;width:100%;height:100%;object-fit:cover}
.flow-copy{display:flex;align-items:flex-start;gap:16px;border-top:1px solid var(--line);padding-top:16px}
.flow-copy>div{min-width:0}
.flow-list h3{margin:0 0 10px;font-size:1.1rem;line-height:1.5}
.flow-list p{line-height:1.8;margin:0}
.flow-section>.photo-note{margin-top:24px}
@media(max-width:1024px){.flow-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
@media(max-width:760px){.flow-list{grid-template-columns:1fr;gap:36px}.flow-list li{padding:0}.flow-photo{margin-bottom:16px}.flow-copy{gap:14px;padding-top:14px}.flow-list h3{font-size:1.12rem;margin-bottom:8px}}

/* Personal-site residential imagery and plain-language diagrams. Business untouched. */
.site-reform .reform-water-guide{background:var(--reform-surface);padding:20px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}
.site-reform .reform-water-guide>div{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;width:100%;max-width:400px}
.site-reform .reform-water-guide span{font:500 .98rem/1.6 var(--body-font);padding:10px 0;border-bottom:1px solid var(--ornament);color:var(--brand)}
.site-reform .choice-2 .photo img,.site-reform .gallery-grid>div:last-child .photo img{transform:scale(1.4);transform-origin:left bottom}
.site-reform .reform-start-guide{list-style:none;margin:0;padding:0;border-top:1px solid var(--ornament)}
.site-reform .reform-start-guide li{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.site-reform .reform-start-guide li>span{font:400 1.15rem/1.7 var(--heading-font);color:var(--ornament)}
.site-reform .reform-start-guide strong{font-weight:500}
.site-reform .reform-start-guide p{margin-top:6px!important;font-size:.86rem!important}
.site-reform .reform-flow-step .flow-copy{border-top:1px solid var(--ornament);padding-top:22px;min-height:145px}
.site-reform .reform-flow-step .flow-number{font-size:1.9rem;line-height:1.2;color:var(--ornament)}
.site-reform .reform-flow-step p{font-size:var(--information-body-size);color:var(--muted)}
.site-reform .gallery-description{font-size:.84rem;color:var(--muted);margin-top:8px}
@media(max-width:760px){.site-reform .reform-about-inner{gap:32px}.site-reform .reform-start-guide li{padding:18px 0}.site-reform .reform-flow-step .flow-copy{min-height:0;padding-block:22px}.site-reform .flow-list:has(.reform-flow-step){gap:0}.site-reform .reform-flow-step:last-child{border-bottom:1px solid var(--line)}.site-reform .reform-flow-step .flow-number{font-size:1.7rem}}
.site-reform .contact-inner>div{min-width:0}
.site-reform .contact-inner>div:first-child{flex:1}
.site-reform.information-page .flow-section{padding-top:var(--information-hero-gap)}
