/* Shared page system: catalog, editorial content and inquiry flow. */
[hidden]{display:none!important}
html{font-size:100%}
.subpage h1{font-size:clamp(2.3rem,4.2vw,4rem);line-height:1.1;letter-spacing:-.045em;max-width:20ch;overflow-wrap:break-word;hyphens:auto}
.subpage h2{font-size:clamp(1.75rem,2.7vw,2.6rem);line-height:1.18;letter-spacing:-.035em;max-width:28ch;margin-bottom:30px;overflow-wrap:break-word;hyphens:auto}
.subpage h3{font-size:1.2rem;line-height:1.35;letter-spacing:-.015em}
.subpage p,.subpage li{font-size:1rem;line-height:1.8}
.subpage .eyebrow{font-size:.8125rem;line-height:1.65;letter-spacing:.1em;margin-bottom:16px}
.subpage .button{white-space:normal;font-size:.9375rem}
.subpage .site-footer p,.subpage .site-footer a{font-size:.875rem}
.subpage .site-footer h3{font-size:.875rem;margin-bottom:16px}
.subpage .footer-image-note{font-size:.75rem}
.subpage .detail-hero{background:#eff3f8;border-bottom:1px solid var(--line);padding:24px 0 70px}
.breadcrumbs{margin-bottom:32px;font-size:.8125rem;color:var(--muted)}
.breadcrumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:0 10px;align-items:center}
.breadcrumbs li{display:flex;align-items:center;gap:10px;font-size:.8125rem;line-height:1.5;max-width:100%}
.breadcrumbs li+li:before{content:'/';color:#6c7786}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.breadcrumbs span{overflow-wrap:anywhere}
.detail-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:64px;align-items:center}
.detail-hero-grid figure{margin:0;position:relative;aspect-ratio:1.2;background:#dae3ed;overflow:hidden;border-radius:4px}
.detail-hero-grid img{width:100%;height:100%;object-fit:cover}
.detail-hero-grid figcaption{position:absolute;bottom:14px;left:14px;right:14px;width:fit-content;background:#142032e8;color:white;padding:6px 10px;font-size:.75rem;border-radius:2px}
.detail-lead{color:var(--muted);max-width:65ch;margin:24px 0 28px;font-size:1.0625rem!important;line-height:1.8}
.editorial-hero .detail-hero-grid{display:block;max-width:940px}
.editorial-hero h1{max-width:24ch}
.concept-note{font-size:.875rem!important;border-left:3px solid var(--blue);padding:9px 15px;background:white;margin:22px 0;color:var(--ink)}
.page-jumps{display:flex;flex-wrap:wrap;gap:4px 28px;padding-block:18px;border-bottom:1px solid var(--line)}
.page-jumps a{font-size:.875rem;display:flex;align-items:center;min-height:44px;font-weight:750;color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.detail-section{padding:76px 0}
.detail-section.tinted{background:var(--paper)}
.detail-section>.container>p{max-width:75ch;margin-bottom:25px;color:var(--muted)}
.detail-section h2:empty{display:none}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.detail-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:4px;padding:26px;transition:background .18s,border-color .18s;min-width:0}
.detail-card:hover{border-color:var(--blue);background:#f3f7fc}
.card-kind{font-size:.75rem;font-weight:750;color:var(--blue);letter-spacing:.05em;margin-bottom:13px}
.detail-card h3{font-size:1.1875rem;overflow-wrap:break-word;hyphens:auto}
.detail-card p{font-size:.9375rem;line-height:1.75;color:var(--muted);margin:15px 0 22px}
.card-action{font-size:.875rem;font-weight:800;border-bottom:1px solid var(--blue);color:var(--blue);margin-top:auto;padding-bottom:3px}
.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.decision-grid article{border-top:2px solid var(--blue);padding:22px 0 0;min-width:0}
.decision-index{font-size:.8125rem;color:var(--blue);font-weight:800;display:block;margin-bottom:16px}
.decision-grid p{color:var(--muted);margin-top:13px}
.choice-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.choice-links>a{display:block;background:#f4f7fb;border:1px solid #d4dfec;padding:25px;border-radius:4px}
.choice-links>a:hover{border-color:var(--blue);background:#eaf0fa}
.choice-links p{color:var(--muted);margin-top:12px}
.reading-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:60px}
.reading-columns p{color:var(--muted);max-width:70ch}
.reading-columns ul{padding-left:21px;margin:20px 0 0;color:var(--muted)}
.reading-columns li{padding:3px 0}
.cost-box{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:38px;background:#fff;border-left:4px solid var(--blue);padding:30px}
.cost-box p,.cost-box ul{margin:15px 0 0;color:var(--muted)}
.cost-box ul{padding-left:20px}
.approval-note{background:#e8eef8;border-left:3px solid var(--blue);padding:16px 22px;margin-top:32px}
.questions{max-width:880px;border-top:1px solid var(--line)}
.questions details{border-bottom:1px solid var(--line)}
.questions summary{font-size:1rem;font-weight:750;cursor:pointer;padding:22px 34px 22px 0;position:relative;list-style:none;line-height:1.6}
.questions summary::-webkit-details-marker{display:none}
.questions summary:after{content:'+';position:absolute;right:4px;top:22px;font-size:1.3rem;color:var(--blue)}
.questions details[open] summary:after{content:'−'}
.questions p{padding:0 35px 25px 0;color:var(--muted)}
.project-check{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;padding:36px;background:#eaf0f9;border:1px solid #d4dfef;border-radius:5px}
.project-check h2{margin-bottom:20px}
.project-check p{color:#46566c;margin:14px 0}
.project-check .check-count{font-size:.875rem;font-weight:750;color:var(--blue)}
.project-check .button{margin-top:10px}
.check-items{display:flex;flex-direction:column;gap:10px}
.check-items label{display:flex;align-items:flex-start;gap:13px;padding:15px;background:white;border:1px solid #c5d1e2;border-radius:3px;font-size:.9375rem;line-height:1.65;cursor:pointer}
.check-items input{width:22px;height:22px;flex:none;margin:2px 0;accent-color:var(--blue)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:80px;align-items:start}
.long-copy{max-width:76ch}
.long-copy p{color:var(--muted);margin-bottom:22px}
.long-copy section{margin-top:48px;scroll-margin-top:110px}
.long-copy h2{font-size:1.7rem;max-width:unset;margin-bottom:20px}
.article-toc{position:sticky;top:115px;border-top:2px solid var(--blue);padding-top:22px}
.article-toc h3{font-size:1rem;margin-bottom:12px}
.article-toc a{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);min-height:44px;font-size:.875rem;line-height:1.6;color:var(--blue)}
.category-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}
.category-overview a{display:block}
.category-overview img{width:100%;aspect-ratio:1.35;object-fit:cover;margin-bottom:19px}
.category-overview p{font-size:.875rem;color:var(--muted);line-height:1.7;margin-top:12px}
.catalog-controls label{font-weight:750;display:block;margin-bottom:10px}
.catalog-controls input{width:100%;min-height:54px;border:1px solid #8a99ab;background:white;border-radius:3px;padding:13px 16px;font-size:1rem;max-width:700px}
.filter-options{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 14px}
.filter-options button,.empty-results button{font-size:.875rem;min-height:44px;min-width:44px;padding:11px 16px;background:white;border:1px solid #9aa9bc;border-radius:3px;font-weight:650;cursor:pointer}
.filter-options button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:white}
.catalog-count{font-size:.875rem!important;color:var(--muted)}
.empty-results{padding:35px;background:white;border:1px solid var(--line);margin-top:25px}
.empty-results p{margin:15px 0}
.empty-results a{display:inline-flex;align-items:center;min-height:44px;margin-left:20px;color:var(--blue);text-decoration:underline}
.editorial-content{max-width:900px}
.editorial-content section{margin:32px 0}
.editorial-content h2{font-size:1.75rem;max-width:none;margin:30px 0 18px}
.editorial-content h3{font-size:1.2rem;margin:24px 0 12px}
.editorial-content p{margin:15px 0;color:var(--muted)}
.editorial-content ul,.editorial-content ol{padding-left:25px;color:var(--muted)}
.editorial-content a{color:var(--blue);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.editorial-content details{border-bottom:1px solid var(--line);padding:16px 0}
.editorial-content summary{min-height:44px;font-weight:750;cursor:pointer}
.editorial-content div+div{margin-top:20px}
.inquiry-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:75px;align-items:start}
.inquiry-person{position:sticky;top:120px}
.inquiry-person h2{font-size:1.5rem;margin-bottom:18px}
.inquiry-person p{margin:10px 0;color:var(--muted)}
.inquiry-person h3{margin:28px 0 10px;font-size:1rem}
.inquiry-person .contact-number{font-size:1.6rem;margin:18px 0 0;min-height:44px;display:flex;align-items:center;color:var(--blue)}
.contact-mail{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
#project-form{padding:35px;background:var(--paper);border:1px solid var(--line);border-radius:5px}
.form-intro h2{font-size:1.75rem;margin-bottom:16px}
.form-intro p{font-size:.9375rem;color:var(--muted)}
.form-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin:26px 0}
.form-steps button{min-height:44px;width:100%;border:1px solid #96a5b8;background:white;font-size:.875rem;font-weight:700;cursor:pointer;border-radius:3px;padding:8px}
.form-steps [aria-current=step] button{background:var(--blue);color:white;border-color:var(--blue)}
.form-steps button:disabled{cursor:default;color:#677386;background:#edf0f4}
#project-form fieldset{padding:0;border:0;margin:0;min-width:0}
#project-form legend{font-size:1.3rem;letter-spacing:-.02em;font-weight:800;padding:0;margin-bottom:24px;max-width:100%}
#project-form label:not(.consent){display:block;font-size:.9375rem;font-weight:700;line-height:1.6;margin:20px 0 8px}
#project-form label span{font-weight:400;color:var(--muted)}
#project-form input:not([type=checkbox]),#project-form textarea,#project-form select{width:100%;border:1px solid #8493a5;background:white;border-radius:3px;min-height:48px;padding:11px 12px;color:var(--ink);font-size:1rem;line-height:1.5;max-width:100%}
#project-form textarea{resize:vertical;min-height:150px}
#project-form small,.field-hint{display:block;font-size:.875rem!important;line-height:1.6;color:var(--muted);margin-top:9px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}
.consent{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.875rem;line-height:1.7;margin-top:25px}
.consent input{width:22px;height:22px;flex:none;margin:2px 0;accent-color:var(--blue)}
.consent a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.form-trap{display:none}
.form-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:30px}
.button-plain{background:white;border-color:#8493a5}
.form-status{font-size:.9375rem!important;margin-top:20px;color:#a52821;white-space:pre-line}
.field-error{font-size:.875rem!important;color:#a52821;line-height:1.6;margin:7px 0 0}
[aria-invalid=true]{border-color:#a52821!important;box-shadow:0 0 0 1px #a52821}
.inquiry-context,.inquiry-summary{padding:17px;background:#e7edf7;border-left:3px solid var(--blue);margin-top:20px;overflow-wrap:anywhere}
.inquiry-context p,.inquiry-summary p{font-size:.875rem!important;margin:5px 0}
.inquiry-context ul{font-size:.875rem;margin:10px 0;padding-left:20px}
.inquiry-context li{font-size:.875rem!important}
.inquiry-success{background:#eaf0f9;border:1px solid #c2d0e6;padding:35px}
.inquiry-success p{margin:18px 0}
.inquiry-success h2{font-size:2rem}
:focus-visible{scroll-margin-block:120px 100px}
@media(max-width:1100px){.detail-hero-grid{gap:35px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{gap:40px;grid-template-columns:minmax(0,1fr) 240px}.inquiry-layout{gap:35px;grid-template-columns:.75fr 1.4fr}.category-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.project-check{gap:30px;padding:28px}}
@media(max-width:900px){.detail-hero-grid{grid-template-columns:1fr}.detail-hero-grid figure{aspect-ratio:1.55;max-height:390px}.subpage .detail-hero{padding-bottom:45px}.subpage h1{font-size:clamp(2.1rem,7vw,3.5rem);max-width:22ch}.breadcrumbs{margin-bottom:23px}.detail-section{padding:50px 0}.decision-grid{grid-template-columns:1fr;gap:25px}.decision-grid article{padding-top:17px}.decision-index{margin-bottom:10px}.reading-columns,.cost-box,.project-check,.article-layout,.inquiry-layout{grid-template-columns:1fr;gap:28px}.cost-box{padding:24px}.article-toc{position:static;grid-row:1}.inquiry-person{position:static}.inquiry-person .contact-number{font-size:1.8rem}.inquiry-layout{display:flex;flex-direction:column-reverse;align-items:stretch}.project-check{padding:22px}.project-check h2{font-size:1.75rem}.form-intro h2{font-size:1.55rem}.page-jumps{gap:4px 20px}.detail-lead{font-size:1rem!important}.subpage .header-inner{padding-inline:22px}}
@media(max-width:600px){.detail-grid,.choice-links{grid-template-columns:1fr}.detail-card{padding:23px}.detail-card p{font-size:1rem}.category-overview{gap:25px 17px}.category-overview h3{font-size:1.0625rem}.category-overview p{font-size:.875rem}.subpage h2{font-size:1.75rem;letter-spacing:-.03em}.detail-section>.container>p{margin-bottom:20px}.form-grid{grid-template-columns:1fr}#project-form{padding:23px 19px}.form-steps{gap:5px}.form-steps button{padding:8px 3px;font-size:.8125rem}.subpage .footer-bottom>div{flex-wrap:wrap;gap:5px 20px}.long-copy section{margin-top:34px}.questions summary{padding-right:27px}.inquiry-context{padding:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.detail-hero h1{hyphens:manual;}
@media(max-width:600px){.footer-bottom>div{flex-wrap:wrap;gap:5px 20px}}
