/* STABRO 2026-10-12: unused rules removed for article pages (verified: computed styles identical on 177 pages at 1280px and 59 pages at 390px). Full version: gomibako/cssbak-20261012__cssb-70523a07.css */
/* STABRO CSSまとめ 2026-10-09（元のCSSを同じ順につなげたもの。元を直したら作り直す）
   /ph/style.css
   /ph/design-match.css
   /ph/polish.css
   /ph/shared-schools.css
   /ph/common-layout.css
   /ph/preparation-pages.css
   /ph/visual-refinement.css
   /ph/site-consistency-20260930.css
   /ph/light-fix-20260930.css */

/* ===== /ph/style.css ===== */

:root{--green:#00685d;--deep:#004e46;--ink:#203038;--orange:#ff6800;--mint:#edf8f5;--pale:#f7faf9;--muted:#52656a;--line:#d4e5e2;--shadow:0 12px 32px #003f3610}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.8 "Noto Sans JP Variable","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.5;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}ul{list-style:none;padding:0;margin:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #efb400;outline-offset:4px}.skip{position:fixed;z-index:100;top:-90px;left:12px;background:white;padding:10px}.skip:focus{top:8px}.wrap{width:min(100%,1264px);padding-inline:32px;margin-inline:auto}.section{padding-block:64px}.section.compact{padding-block:32px}.section-heading{text-align:center;margin-bottom:30px}.section-heading h2{font-size:clamp(23px,2.2vw,31px);font-weight:800;line-height:1.65}.section-heading h2>span{background:linear-gradient(transparent 84%,#ffde52 84%,#ffde52 96%,transparent 96%);padding-bottom:5px}.eyebrow{display:block;color:var(--green);font:700 16px/1.6 Arial,sans-serif;letter-spacing:.12em;margin-bottom:12px}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:11px 24px;border-radius:28px;border:1px solid var(--green);color:white;background:var(--green);font-size:16px;font-weight:700;line-height:1.5;transition:transform .18s,background .18s}.btn:hover{background:#004a43;transform:translateY(-2px)}.btn.orange{background:var(--orange);border-color:var(--orange)}.btn.orange:hover{background:#de5700}.btn.line{background:#00ae4a;border-color:#00ae4a}.btn.line:hover{background:#008f3d}.btn.outline{background:white;color:var(--green);border-color:#91caca}.btn.outline:hover{background:var(--mint)}.btn[aria-disabled=true]{background:#dae2df;color:#5c6864;border-color:#dae2df;transform:none}.btn>span[aria-hidden]{font-size:22px;line-height:1}.icon{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.btn .icon{width:21px;height:21px}.micro,.section-footnote{font-size:16px;line-height:1.85;color:var(--muted)}
.site-header{position:sticky;top:0;z-index:40;background:#fffffffa;border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;padding:15px 28px;margin:auto;display:flex;align-items:center;gap:24px;min-height:94px}.brand{display:inline-flex;align-items:center;gap:13px;flex:none}.brand-block{display:flex;flex-direction:column}.brand-word{font:800 34px/1.05 Arial,sans-serif;letter-spacing:.01em}.brand-word .st{color:var(--green)}.brand-word .abro{color:var(--orange)}.brand-sub{font-size:16px;line-height:1.5;font-weight:700;white-space:nowrap;margin-top:6px;color:#3c4c54;letter-spacing:0}.brand-sub .initial{color:#d95200}.brand-divider{margin:0 2px}.header-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:16px;font-weight:700}.header-nav a{padding:12px 0;border-bottom:2px solid transparent}.header-nav a:hover,.header-nav a[aria-current]{color:var(--green);border-color:var(--green)}.header-action{display:flex;gap:8px}.header-action .btn{border-radius:7px;font-size:16px;padding:12px 15px;gap:8px}.header-action .btn>span[aria-hidden]{display:none}.menu-toggle{display:none;background:var(--mint);color:var(--green);width:44px;height:44px;border:0;border-radius:6px}.about-grid .btn{font-size:16px;padding:10px 20px;min-height:43px}.support-grid .icon{width:42px;height:42px;color:var(--green);margin-top:8px}.diagnosis-strip>.wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}.diagnosis-strip .eyebrow{margin-bottom:4px}.diagnosis-strip .btn{padding:16px 32px;flex:none}.photo-banner.orange{--banner-color:#f79020}.school-shortcut>.icon{width:35px;height:35px;color:var(--green)}.school-shortcut .btn{font-size:16px;min-width:125px}.school-shortcut .btn:last-child{min-width:210px}.finder .eyebrow{margin-bottom:6px}.location{display:flex;align-items:center;gap:5px;font-size:16px;color:var(--muted)}.location .icon{width:16px;height:16px}.tag{background:var(--mint);color:var(--green);border-radius:4px;padding:4px 9px;font-size:16px;line-height:1.5}.faq-list details[open] summary:after{content:'−'}.closing-cta{background:#ecf6ea;padding:34px 0}.closing-inner{display:flex;gap:26px;align-items:center;justify-content:space-between}.closing-inner>div{flex:1;text-align:center}.closing-inner h2{font-size:26px;color:var(--green);margin-bottom:8px}.closing-inner p{font-size:16px;color:var(--muted)}.closing-inner .actions{justify-content:center;margin-top:18px}.passport-art{flex:none;width:220px}.closing-note{font-size:19px;font-weight:700;color:var(--deep);line-height:1.9;transform:rotate(-5deg);flex:none}.site-footer{background:var(--deep);color:white;padding:36px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:25px}.footer-symbol{width:50px;height:68px;object-fit:cover;mix-blend-mode:screen}.footer-brand .brand-word .st{color:white}.footer-brand .brand-word{font-size:29px}.footer-brand .brand-sub{color:white;font-size:16px}.footer-brand .brand-sub .initial{color:#ffb264}.footer-nav{display:flex;flex-direction:column;gap:8px;font-size:16px;color:#daeee9}.footer-nav h3{font-size:16px;color:white;margin-bottom:5px}.footer-nav a:hover{text-decoration:underline}.footer-actions{display:flex;flex-direction:column;gap:10px}.footer-actions .btn{padding:10px 12px;font-size:16px;border-radius:6px;gap:6px}.footer-actions .btn>span[aria-hidden]{display:none}.footer-bottom{border-top:1px solid #ffffff30;margin-top:28px;padding-top:17px;display:flex;justify-content:space-between;color:#c2ded9;font-size:16px}.mobile-cta{display:none}
/* Shared inside pages */
.crumb{display:flex;flex-wrap:wrap;gap:12px;padding:25px 0;font-size:16px;color:var(--muted)}.crumb a{text-decoration:underline;text-underline-offset:3px}.page-heading.center{text-align:center}.empty .btn{margin-top:20px}.facts{margin:0}.facts>div{display:grid;grid-template-columns:180px 1fr;gap:22px;padding:15px 0;border-bottom:1px solid var(--line)}.facts dt{font-size:16px;color:var(--muted)}.facts dd{margin:0;font-size:16px;overflow-wrap:anywhere}.aside-card .btn{width:100%;margin-top:20px}.note{padding:17px;background:#fff7e9;color:#694d29;border:1px solid #f2d4a7;border-radius:6px;white-space:pre-line;font-size:16px;line-height:1.85;margin-top:22px;overflow-wrap:anywhere}.note:empty{display:none}.steps-nav .active{color:var(--green);font-weight:700}.steps-nav .active b{background:var(--green);color:white}.amount-box .label{font-size:16px}.amount-box #amount{font:700 37px/1.5 Arial;margin:10px 0}.price-actions .btn{width:100%}.status{font-size:16px;color:var(--green);min-height:26px;margin:12px 0}
@media(max-width:1200px){.header-inner{gap:18px;padding-inline:24px}.header-nav{gap:16px;font-size:16px}.header-action .btn{font-size:16px;padding:12px}.header-action .icon{display:none}.brand-word{font-size:30px}.brand-sub{font-size:16px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}.footer-actions{grid-column:1/-1;flex-direction:row}.support-grid .icon{width:32px;height:32px}.passport-art{width:170px}.closing-note{display:none}}
@media(max-width:960px){.header-inner{min-height:80px}.header-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:white;padding:18px 24px 26px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #003c3315}.header-nav.open{display:flex;flex-direction:column;gap:0;align-items:stretch;font-size:16px}.header-nav a{padding:14px 0}.header-action{margin-left:auto}.menu-toggle{display:grid;place-items:center}.wrap{padding-inline:24px}.support-grid .icon{width:38px;height:38px}.school-shortcut .btn{min-width:0}.diagnosis-strip .btn{padding:15px 24px}.closing-inner h2{font-size:23px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-actions{grid-column:1/-1}.brand-sub{font-size:16px}}
@media(max-width:600px){html{scroll-padding-top:85px}body{font-size:16px}.wrap{padding-inline:20px}.section{padding-block:40px}.section.compact{padding-block:26px}.section-heading{margin-bottom:24px}.section-heading h2{font-size:23px;line-height:1.7}.eyebrow{font-size:16px;margin-bottom:8px}.header-inner{min-height:74px;padding:12px 18px;gap:12px}.brand-word{font-size:29px}.brand-sub{font-size:16px;line-height:1.6;margin-top:4px}.header-action{display:none}.menu-toggle{margin-left:auto}.about-grid .btn{font-size:16px;padding:10px 16px;gap:9px}.support-grid .icon{width:30px;height:30px}.diagnosis-strip>.wrap{flex-direction:column;align-items:stretch;gap:18px}.diagnosis-strip .btn{width:100%;min-height:52px}.school-shortcut>.icon{display:none}.school-shortcut .btn:last-child{grid-column:1/-1}.finder-form .btn{grid-column:1/-1}.closing-inner{display:block}.passport-art{display:none}.closing-inner h2{font-size:23px}.closing-inner p{font-size:16px}.closing-inner .actions{display:grid;grid-template-columns:1fr;gap:12px}.closing-inner .btn{width:100%;min-height:50px}.site-footer{padding-bottom:110px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid .footer-nav:nth-child(4){grid-column:1/-1}.footer-actions{display:none}.footer-brand .brand-word{font-size:31px}.footer-brand .brand-sub{font-size:16px}.footer-symbol{width:49px;height:65px}.footer-nav{font-size:16px}.footer-nav h3{font-size:16px}.footer-bottom{gap:20px;font-size:16px}.mobile-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:#fffffff7;position:fixed;bottom:0;left:0;right:0;z-index:45;border-top:1px solid var(--line);box-shadow:0 -5px 20px #003c3312}.mobile-cta .btn{font-size:16px;padding:12px 9px;gap:7px;border-radius:7px;min-height:48px}.mobile-cta .btn>span[aria-hidden]{display:none}.mobile-cta .icon{width:19px;height:19px}.crumb{padding:20px 0;font-size:16px;gap:8px}.facts>div{grid-template-columns:1fr;gap:5px;padding:13px 0}.facts dt{font-size:16px}.facts dd{font-size:16px}.amount-box #amount{font-size:33px}.price-actions .btn{font-size:16px;padding:14px 12px}.consult-panel .actions>.btn{font-size:16px;padding:12px 16px}.guide-article .btn{font-size:16px}.diagnosis-form .btn{width:100%}.note{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* ===== /ph/design-match.css ===== */
/* Approved TOP, second image, 2026-09-25: 684x2052 CSS canvas. Keep the approved section sequence and proportions. */
body{--u:min(.14619883vw,1.75438596px);max-width:1200px;margin-inline:auto;background:#fff;color:#172635}
html{scroll-padding-top:24px;background:white}

.wrap{width:calc(100% - 60 * var(--u));max-width:none;padding-inline:0}
.site-header{position:relative;top:auto;background:#fff;border:0;isolation:isolate}
.header-inner{min-height:calc(38 * var(--u));padding:calc(3 * var(--u)) calc(16 * var(--u)) calc(3 * var(--u)) calc(63 * var(--u));display:flex;gap:calc(14 * var(--u));max-width:none}
.header-leaf{position:absolute;left:0;top:0;width:calc(57 * var(--u));height:100%;overflow:hidden;z-index:-1}

.brand-word{font-size:max(16px, calc(27 * var(--u)));line-height:1;font-weight:800;letter-spacing:-.04em}
.brand-sub{font-size:max(16px, calc(8 * var(--u)));margin-top:3px;line-height:1.35;letter-spacing:-.04em}
.brand-sub .initial{color:#e95e00}.brand-divider{margin:0}
.header-nav{gap:calc(18 * var(--u));font-size:max(16px, calc(8.5 * var(--u)));margin-left:auto;white-space:nowrap}
.header-nav a{padding:calc(5 * var(--u)) 0}
.header-action{gap:calc(8 * var(--u))}
.header-action .btn{min-height:calc(27 * var(--u));padding:calc(5 * var(--u)) calc(10 * var(--u));font-size:max(16px, calc(8.5 * var(--u)));border-radius:calc(5 * var(--u));gap:5px;white-space:nowrap}
.header-action .icon{display:block;width:calc(15 * var(--u));height:calc(15 * var(--u))}

body[data-page="index"] .section{padding-block:calc(9 * var(--u))}
body[data-page="index"] .section-heading{margin-bottom:calc(8 * var(--u))}
.section-heading h2{position:relative;display:inline-block;color:#111928}
body[data-page="index"] .section-heading h2{font-size:max(16px, calc(18 * var(--u)));font-weight:800;line-height:1.5}
.section-heading h2>span{padding-bottom:3px;background:linear-gradient(transparent 88%,#f8d341 88%,#f8d341 95%,transparent 95%)}

body[data-page="index"] .eyebrow{font-size:max(16px, calc(11 * var(--u)));letter-spacing:0;margin-bottom:calc(9 * var(--u));line-height:1.4}
body[data-page="index"] main .btn{min-height:calc(30 * var(--u));font-size:max(16px, calc(11 * var(--u)));padding:calc(6 * var(--u)) calc(17 * var(--u));gap:calc(12 * var(--u));border-radius:999px}
body[data-page="index"] main .btn>span[aria-hidden]{font-size:max(16px, calc(18 * var(--u)))}

body[data-page="index"] .about-section>.wrap{position:relative;z-index:1;width:calc(100% - 18 * var(--u))}
body[data-page="index"] .about-section .section-heading{margin-bottom:calc(9 * var(--u))}
body[data-page="index"] .about-section .section-heading h2{font-size:max(16px, calc(23 * var(--u)))}

.about-section .about-grid .btn{font-size:max(16px, calc(9.5 * var(--u)));padding:calc(4 * var(--u)) calc(11 * var(--u));min-height:calc(27 * var(--u));gap:calc(9 * var(--u));white-space:nowrap}

.support-grid .icon{width:calc(32 * var(--u));height:calc(39 * var(--u));margin-top:calc(2 * var(--u));stroke-width:1.8}

body[data-page="index"] .diagnosis-strip>.btn{font-size:max(16px, calc(12 * var(--u)));padding:calc(11 * var(--u)) calc(8 * var(--u));min-height:calc(40 * var(--u));gap:calc(10 * var(--u))}

body[data-page="index"] #purpose{padding-top:calc(6 * var(--u));padding-bottom:calc(11 * var(--u))}

.city-heading-wrap>.section-heading{position:relative;z-index:1}

.school-shortcut>.icon{width:calc(40 * var(--u));height:calc(39 * var(--u))}

body[data-page="index"] .school-shortcut .btn{font-size:max(16px, calc(12 * var(--u)));padding:calc(6 * var(--u)) calc(21 * var(--u));min-width:0;min-height:calc(34 * var(--u));gap:calc(8 * var(--u))}
body[data-page="index"] .school-shortcut .btn:last-child{min-width:calc(183 * var(--u));margin-left:calc(2 * var(--u));background:linear-gradient(100deg,#078f86,#004e46)}

.step-top .icon{width:calc(24 * var(--u));height:calc(24 * var(--u))}

body[data-page="index"] .center-action .btn{font-size:max(16px, calc(10 * var(--u)));min-height:calc(27 * var(--u));padding:calc(4 * var(--u)) calc(31 * var(--u))}

.faq-section>.wrap{position:relative;z-index:1}
body[data-page="index"] .faq-section .section-heading{margin-bottom:0}
body[data-page="index"] .faq-section .section-heading h2{font-size:max(16px, calc(16 * var(--u)))}

.closing-cta{padding:0;background:#f7fce9}
.closing-inner{display:grid;grid-template-columns:30.70175% 47.66082% 21.63743%;gap:0;height:calc(110 * var(--u));min-height:calc(110 * var(--u));width:100%;padding:0;align-items:stretch}

.closing-inner>div{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:calc(8 * var(--u)) 0}
.closing-inner h2{font-size:max(16px, calc(17 * var(--u)));line-height:1.4;font-weight:800;margin-bottom:calc(4 * var(--u));white-space:nowrap}
.closing-inner p{font-size:max(16px, calc(10 * var(--u)));line-height:1.5;white-space:nowrap}
.closing-inner .actions{gap:calc(9 * var(--u));margin-top:calc(7 * var(--u));flex-wrap:nowrap}
body[data-page="index"] .closing-inner .btn,.closing-inner .btn{padding:calc(7 * var(--u)) calc(15 * var(--u));min-height:calc(34 * var(--u));font-size:max(16px, calc(11 * var(--u)));gap:calc(8 * var(--u));white-space:nowrap}
.closing-inner .btn .icon{width:calc(19 * var(--u));height:calc(19 * var(--u))}
.site-footer{padding:calc(14 * var(--u)) 0 calc(12 * var(--u));background:linear-gradient(110deg,#006458,#003e37);color:#fff}
.site-footer>.wrap{width:calc(100% - 32 * var(--u))}
.footer-grid{display:grid;grid-template-columns:29% 14% 12% 12% 14% 19%;gap:0;align-items:start}
.footer-symbol{width:calc(48 * var(--u));height:calc(66 * var(--u));object-fit:contain;filter:grayscale(1) contrast(5) brightness(2);mix-blend-mode:screen}
.footer-brand{gap:calc(7 * var(--u));align-items:center}
.footer-brand .brand-word{font-size:max(16px, calc(24 * var(--u)));letter-spacing:-.035em}
.footer-brand .brand-sub{font-size:max(16px, calc(8 * var(--u)));margin-top:calc(5 * var(--u))}
.footer-brand .brand-sub .initial{color:#ffb56c}
.footer-nav{font-size:max(16px, calc(8 * var(--u)));line-height:1.4;gap:calc(1.5 * var(--u));padding-top:calc(3 * var(--u))}
.footer-nav h3{font-size:max(16px, calc(9 * var(--u)));line-height:1.4;margin-bottom:calc(4 * var(--u))}
.footer-actions{display:flex;flex-direction:column;gap:calc(7 * var(--u));grid-column:auto;padding-left:calc(3 * var(--u))}
.footer-actions .btn{min-height:calc(30 * var(--u));padding:calc(6 * var(--u)) calc(8 * var(--u));font-size:max(16px, calc(9 * var(--u)));gap:calc(6 * var(--u));border-radius:calc(4 * var(--u))}
.footer-actions .icon{width:calc(17 * var(--u));height:calc(17 * var(--u))}
.footer-bottom{margin-top:calc(14 * var(--u));padding-top:calc(9 * var(--u));font-size:max(16px, calc(8 * var(--u)));line-height:1.5}
/* Mobile follows the same section order, with readable live text and two columns. */
@media(max-width:760px){
 body{--u:1px;max-width:none;font-size:16px}html{scroll-padding-top:15px}
 .wrap{width:calc(100% - 28px)}
 .header-inner{min-height:65px;display:flex;padding:9px 14px 9px 35px;gap:12px}
 .header-leaf{width:35px}.brand-word{font-size:30px;letter-spacing:-.03em}.brand-sub{font-size:16px}
 .header-nav{display:none;font-size:16px;position:absolute;top:100%;gap:0;padding:12px 20px;left:0;right:0;margin:0;background:white;z-index:10}
 .header-nav.open{display:flex;flex-direction:column;align-items:stretch}.header-nav a{padding:13px 0}
 .header-action{display:none}.menu-toggle{display:grid;place-items:center;margin-left:auto;width:40px;height:40px}
 
 
 body[data-page="index"] .section{padding-block:17px}
 body[data-page="index"] .section-heading{margin-bottom:12px}
 body[data-page="index"] .section-heading h2{font-size:20px;line-height:1.5}
 body[data-page="index"] .eyebrow{font-size:16px;margin-bottom:8px}
 body[data-page="index"] main .btn{font-size:16px;min-height:42px;padding:9px 15px;gap:10px}
 
 body[data-page="index"] .about-section>.wrap{width:calc(100% - 28px)}
 body[data-page="index"] .about-section .section-heading h2{font-size:20px}
 body[data-page="index"] .about-section .section-heading h2 .heading-rays{display:none}
 
 
 .about-section .about-grid .btn{font-size:16px;min-height:38px;padding:8px 12px;gap:7px}
 
 
 
 
 
 .support-grid .icon{width:34px;height:40px;margin-top:4px}
 
 
 
 body[data-page="index"] .diagnosis-strip>.btn{grid-column:1/-1;margin:0 auto;font-size:16px;min-height:43px;padding:10px 25px;gap:20px}
 
 body[data-page="index"] #purpose{padding-top:20px;padding-bottom:16px}
 
 
 
 
 .school-shortcut>.icon{width:31px;height:31px}
 .school-shortcut .btn{flex:1}
 body[data-page="index"] .school-shortcut .btn{font-size:16px;min-height:36px;padding:7px 12px;gap:8px}
 body[data-page="index"] .school-shortcut .btn:last-child{flex-basis:100%;min-width:0;margin:3px 15% 0}
 
 
 .step-top .icon{width:24px;height:24px}
 
 
 
 
 body[data-page="index"] .center-action .btn{font-size:16px;min-height:40px;padding:9px 23px}
 
 body[data-page="index"] .faq-section .section-heading h2{font-size:20px}
 
 .closing-inner{grid-template-columns:24% 76%;height:auto;min-height:180px;position:relative;background:#f7fce9}
 .closing-inner .passport-art{display:block;align-self:center;width:100%;height:auto;aspect-ratio:210/110}
 
 .closing-inner>div{padding:17px 11px 17px 0;align-items:flex-start}
 .closing-inner h2{font-size:18px;line-height:1.5;white-space:normal;text-align:left}.closing-inner p{font-size:16px;white-space:normal;line-height:1.6;text-align:left}
 .closing-inner .actions{gap:8px;margin-top:12px;width:100%;display:flex;flex-direction:column;align-items:stretch}
 body[data-page="index"] .closing-inner .btn,.closing-inner .btn{font-size:16px;padding:9px 12px;min-height:40px;width:100%;gap:9px}.closing-inner .btn .icon{width:19px;height:19px}
 .site-footer{padding:23px 0 100px}.site-footer>.wrap{width:calc(100% - 30px)}
 .footer-grid{grid-template-columns:1fr 1fr;gap:22px 20px}.footer-grid>div:first-child{grid-column:1/-1}
 .footer-brand{gap:10px}.footer-symbol{width:49px;height:68px}.footer-brand .brand-word{font-size:32px}.footer-brand .brand-sub{font-size:16px;margin-top:5px}
 .footer-grid .footer-nav:nth-child(4){grid-column:auto}.footer-nav{font-size:16px;line-height:1.6;gap:5px;padding:0}.footer-nav h3{font-size:16px;line-height:1.5;margin-bottom:3px}
 .footer-actions{display:none}.footer-bottom{margin-top:22px;padding-top:13px;font-size:16px;line-height:1.6;gap:15px}
 .mobile-cta{display:grid}
}
@media(min-width:761px) and (max-width:960px){
 .header-nav{display:flex;position:static;flex-direction:row;padding:0;box-shadow:none;border:0;background:transparent}
 .menu-toggle{display:none}.header-action{margin-left:0}.header-nav a{padding:4px 0}.header-nav{gap:14px}
 .mobile-cta{display:none}
}

/* Final TOP reference: preserve the approved artwork and use live page controls. */
.site-header{z-index:50}
.header-inner{padding-block:calc(2 * var(--u));padding-left:calc(61 * var(--u));gap:calc(12 * var(--u))}
.site-header .brand-word{font-size:max(16px, calc(25 * var(--u)));line-height:1}
.site-header .brand-sub{font-size:max(16px, calc(8 * var(--u)));line-height:1.2;margin-top:0;letter-spacing:0}
.header-nav{gap:calc(17 * var(--u))}
.header-action .btn>span[aria-hidden]{display:none}

.about-grid>div,.support-grid article>div,.diagnosis-text,.footer-grid>div{min-width:0}

.diagnosis-strip>.btn{justify-self:stretch}
body[data-page="index"] main .diagnosis-strip>.btn{width:auto}

.closing-inner{height:auto;min-height:calc(110 * var(--u))}

.closing-inner h2{font-size:max(16px, calc(16.5 * var(--u)))}
.footer-grid>div:first-child{grid-column:auto}
.footer-actions .btn{letter-spacing:0}

@media(min-width:761px){
 .header-nav{display:flex;position:static;flex-direction:row;align-items:center;padding:0;box-shadow:none;border:0;background:transparent}
 .header-action{display:flex;margin-left:0}
 .header-action .icon{display:block}
 .menu-toggle,.mobile-cta{display:none}
 .footer-grid>div:first-child{grid-column:auto}
 .footer-grid .footer-nav:nth-child(4){grid-column:auto}
 .footer-actions{grid-column:auto}
}
@media(max-width:760px){
 .site-header .header-inner{padding:9px 14px 9px 35px;min-height:65px}
 .site-header .brand-word{font-size:29px}
 .site-header .brand-sub{font-size:16px;line-height:1.4;margin-top:3px}
 .header-nav{gap:0}
 .header-nav a{min-height:44px}
 
 
 
 body[data-page="index"] .section-heading h2{max-width:100%;font-size:clamp(18px,5vw,20px);text-wrap:balance;letter-spacing:0}
 body[data-page="index"] .section-heading{padding-inline:8px}
 
 body[data-page="index"] .about-section .about-grid .btn{flex:1;min-height:44px}
 
 
 body[data-page="index"] main .diagnosis-strip>.btn{width:calc(100% - 56px);min-height:46px;margin:0 auto;font-size:16px;justify-self:center}
 
 
 
 
 
 
 .school-shortcut>.icon{display:none}
 
 body[data-page="index"] .school-shortcut .btn{min-height:44px}
 body[data-page="index"] .school-shortcut .btn:last-child{grid-column:1/-1;margin:0;width:100%;min-height:44px}
 
 
 .closing-inner{grid-template-columns:24% 76%;min-height:240px}
 .closing-inner>.passport-art{min-height:110px;align-self:center;height:110px}
 .closing-inner h2{font-size:18px;line-height:1.6}
 .closing-inner .actions{gap:9px}
 body[data-page="index"] .closing-inner .btn,.closing-inner .btn{min-height:44px}
 
 .footer-grid>div:first-child{grid-column:1/-1}
 .footer-nav{font-size:16px;gap:4px}
 .footer-nav a{min-height:30px;display:flex;align-items:center}
 .footer-nav h3{font-size:16px}
 .mobile-cta .btn{min-height:46px;min-width:0}
 .footer-bottom{flex-wrap:wrap}
}
@media(max-width:360px){
 
 .about-section .about-grid .btn{padding-inline:8px;font-size:16px}
 .brand-sub{letter-spacing:-.02em}
 .closing-inner{grid-template-columns:20% 80%}
 .closing-inner h2{font-size:16px}
}

/* ===== /ph/polish.css ===== */
/* V5: individual high-resolution art, live type, consistent optical icon sizes. */
.icon{display:block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.button-arrow{display:flex;align-items:center;margin-left:auto;flex-shrink:0}
.button-arrow .icon{width:16px!important;height:16px!important}
.editorial-photo{display:block;width:100%;height:auto;object-fit:cover}

.frond{display:block;width:100%;height:100%;color:#399273}
.header-leaf{width:90px;transform:rotate(27deg);transform-origin:top left;opacity:.7}
.header-leaf .frond{height:160px;margin-top:-57px;margin-left:-26px}

.city-heading-palm .icon,.city-heading-plane .icon{width:100%;height:100%;color:#078a80;stroke-width:1.35}

body[data-page="index"] .section{padding-block:28px}
body[data-page="index"] .section-heading{margin-bottom:22px}
body[data-page="index"] .section-heading h2{letter-spacing:.035em;line-height:1.5}

.support-grid .icon{width:42px;height:42px;margin-top:8px}

body[data-page="index"] #purpose{padding-top:25px;padding-bottom:28px}

.card-arrow .icon{width:19px;height:19px;stroke-width:2}

.step-top .icon{width:36px;height:36px;stroke-width:1.65}

body[data-page="index"] .center-action .btn{min-height:48px;font-size:16px}

body[data-page="index"] .faq-section .section-heading{margin-bottom:20px}
body[data-page="index"] .faq-section .section-heading h2{font-size:28px}

.closing-inner{grid-template-columns:27% 52% 21%;min-height:215px}
.closing-inner>.passport-art{height:100%;min-height:215px;max-height:260px;object-position:46% 50%;align-self:stretch}
.closing-inner>.closing-copy{padding:25px 10px}
.closing-inner h2{font-size:26px;line-height:1.5;letter-spacing:.015em;white-space:normal;text-align:center}
.closing-inner p{font-size:16px;line-height:1.75;white-space:normal;text-align:center}
.closing-inner .actions{margin-top:17px;gap:14px}
.closing-inner>.closing-note{position:relative;isolation:isolate;overflow:hidden;align-items:flex-start;padding:22px 10px 22px 20px}
.closing-note p{position:relative;z-index:1;font-size:20px;font-weight:700;line-height:1.9;letter-spacing:.04em;text-align:left;transform:rotate(-6deg);color:#005d53}
.closing-note>.icon{width:31px;height:31px;margin-top:14px;color:#008b87;stroke-width:1.6}
.closing-note>.frond{position:absolute;width:130px;height:190px;bottom:-81px;right:-10px;opacity:.35;z-index:0;transform:rotate(-29deg)}
.site-footer{background:#005d53;padding-top:30px}
.footer-symbol{width:82px;height:82px;object-fit:contain;filter:grayscale(1) contrast(7);mix-blend-mode:screen;flex-shrink:0}
.footer-brand{gap:5px}.footer-brand .brand-word{font-size:38px}
.footer-brand .brand-sub{font-size:16px}
.footer-nav{font-size:16px;line-height:1.7;gap:3px}.footer-nav h3{font-size:16px;line-height:1.5;margin-bottom:9px}
.footer-nav a{padding-block:2px}
.footer-bottom{font-size:16px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #eda925;outline-offset:4px}
@media(min-width:761px) and (max-width:1050px){
 
 .support-grid .icon{width:32px;height:32px}
 
 
 
 .step-top .icon{width:31px;height:31px}
 
 .closing-inner h2{font-size:21px}.closing-inner p{font-size:16px}.closing-note p{font-size:17px}
 .footer-symbol{width:60px;height:70px}.footer-brand .brand-word{font-size:29px}.footer-brand .brand-sub{font-size:16px}
 .footer-nav{font-size:16px}.footer-nav h3{font-size:16px}
}
@media(max-width:760px){
 
 
 .header-leaf{width:50px;opacity:.55}.header-leaf .frond{margin-left:-28px}
 body[data-page="index"] .section{padding-block:24px}
 body[data-page="index"] .section-heading{margin-bottom:17px}
 
 
 .support-grid .icon{width:32px;height:32px}
 
 
 
 
 
 
 
 
 .card-arrow .icon{width:16px;height:16px}
 body[data-page="index"] #purpose{padding-block:24px}
 
 
 
 
 
 
 
 
 
 
 
 
 
 .step-top .icon{width:29px;height:29px}
 
 
 
 body[data-page="index"] .center-action .btn{font-size:16px;min-height:46px}
 body[data-page="index"] .faq-section .section-heading h2{font-size:22px}
 
 
 .closing-inner{grid-template-columns:25% 75%;min-height:250px}
 .closing-inner>.passport-art{height:100%;min-height:250px;max-height:none;object-fit:cover;object-position:48% 50%}
 .closing-inner>.closing-copy{padding:22px 14px;align-items:flex-start}
 .closing-inner h2{font-size:19px;line-height:1.7;text-align:left}.closing-inner p{font-size:16px;text-align:left;line-height:1.85}
 .closing-inner .actions{margin-top:14px;gap:10px}
 .closing-inner>.closing-note{display:none}
 .footer-symbol{width:68px;height:78px}.footer-brand .brand-word{font-size:34px}.footer-brand .brand-sub{font-size:16px}
 .footer-nav{font-size:16px;line-height:1.7}.footer-nav h3{font-size:16px}.footer-bottom{font-size:16px}
}
@media(max-width:360px){.closing-inner h2{font-size:17px}}

/* Preserve the latest inner-page layouts while replacing their last raster windows. */

/* V6: match the approved TOP artwork's photo and caption positions. */

/* V7: individual ribbon shapes, lettering and colors from the approved TOP. */

.reference-banner .card-arrow .icon{stroke-width:2.5}
@media(min-width:761px){
 
 
 
 
 
 
 .reference-banner .card-arrow .icon{width:62%;height:62%}
 
 
 
 
 
 
 
}

/* ===== /ph/shared-schools.css ===== */

/* Approved CIA / EV shared school design. TOP remains in base.css. */
:root{--shared-green:#005653;--shared-ink:#10223e;--shared-cyan:#e9f7f9;--shared-orange:#ff510a;--shared-line:#9ed6de}

.shared-icon{width:30px;height:30px;flex:none;vertical-align:middle}

body[data-page="school"] .btn,body[data-page="schools"] .btn,body[data-page="price"] .btn,body:is([data-page="consultation"],[data-page="about"],[data-page="city"],[data-page="philippines"],[data-page="areas"],[data-page="support"],[data-page="purpose"],[data-page="school-choice"]) .btn{font-size:16px;min-height:49px;padding:11px 22px;font-weight:700;border-radius:28px;gap:12px}
body[data-page="school"] .btn.orange,body[data-page="schools"] .btn.orange,body[data-page="price"] .btn.orange,body:is([data-page="consultation"],[data-page="about"],[data-page="city"],[data-page="philippines"],[data-page="areas"],[data-page="support"],[data-page="purpose"],[data-page="school-choice"]) .btn.orange{background:var(--shared-orange)}
body[data-page="school"] .header-actions .btn,body[data-page="schools"] .header-actions .btn,body[data-page="price"] .header-actions .btn,body:is([data-page="consultation"],[data-page="about"],[data-page="city"],[data-page="philippines"],[data-page="areas"],[data-page="support"],[data-page="purpose"],[data-page="school-choice"]) .header-actions .btn{border-radius:7px;font-size:16px;padding:8px 15px;min-height:40px}

body[data-page="school"] .crumb{padding:9px 48px;margin:0;min-height:33px;font-size:16px;background:#fbfaf6}

.shared-location .shared-icon{width:25px;height:25px}

.shared-identity>.btn{width:100%;margin-top:auto;justify-content:center;white-space:normal}
.shared-identity>.btn .shared-icon{width:17px;height:17px}

.photo-info .shared-icon{width:48px;height:48px}

.shared-tabs .shared-icon{width:34px;height:34px}
.shared-wrap{width:calc(100% - 96px);max-width:1104px;margin:auto}

.shared-heading{display:flex;align-items:center;gap:18px;margin-bottom:22px;line-height:1.3}
.section-number{font-size:96px;line-height:.95;letter-spacing:-.065em;font-weight:800;color:#c3eaf0;font-family:Arial,sans-serif;flex-shrink:0}
.shared-heading .eyebrow{font-size:16px;letter-spacing:0;font-weight:800;color:var(--shared-green);line-height:1.5;display:block}
.shared-heading h2{font-size:31px;line-height:1.45;margin:2px 0 0;font-weight:800;color:var(--shared-ink);letter-spacing:-.035em;display:flex;align-items:center;gap:8px}
.shared-heading h2>span{background:linear-gradient(transparent calc(100% - 3px),#f9cf28 0);padding-bottom:4px}
.sunrays{display:inline-block;flex-shrink:0;width:30px;height:38px;background:linear-gradient(115deg,transparent 43%,#ffcc13 44% 57%,transparent 58%) 0 0/12px 15px no-repeat,linear-gradient(150deg,transparent 43%,#ffcc13 44% 57%,transparent 58%) 12px 11px/17px 14px no-repeat,linear-gradient(5deg,transparent 43%,#ffcc13 44% 57%,transparent 58%) 15px 28px/14px 7px no-repeat}

.feature-grid>article>.shared-icon{width:48px;height:48px;color:var(--shared-green);margin-top:11px}

.shared-facts .shared-icon{width:37px;height:37px;color:var(--shared-green)}

.shared-course a .shared-icon{height:14px;width:14px}
.shared-small{font-size:16px;line-height:1.7;color:#526079;margin:10px 0 0}.warm-section>.shared-wrap>.shared-small{text-align:center}

.more-courses .shared-icon{width:14px;height:14px}

.living-card{border:1px solid var(--shared-line);border-radius:3px;overflow:hidden;background:#fff}.living-card>img{display:block;width:100%;height:218px;object-fit:cover}

.living-caption{display:flex;align-items:flex-start;gap:16px;padding:13px 18px}.living-caption .shared-icon{color:var(--shared-green);width:33px;height:33px}.living-caption h3{margin:0;font-size:18px;font-weight:800;line-height:1.4}.living-caption p{font-size:16px;margin:4px 0 0;line-height:1.8;color:#435069}
.living-info .shared-icon{height:65px;width:65px}
.facility-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--shared-cyan);border-radius:4px;padding:12px 8px;margin-top:13px}.facility-strip>span{display:flex;justify-content:center;align-items:center;gap:22px;font-size:16px;font-weight:700;border-right:1px solid var(--shared-line)}.facility-strip>span:last-child{border:0}.facility-strip .shared-icon{height:37px;width:37px;color:var(--shared-green)}

.rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rules-grid>article{display:flex;align-items:center;border:1px solid var(--shared-line);border-radius:5px;gap:16px;padding:16px 20px}.rules-grid .shared-icon{color:var(--shared-green);width:45px;height:45px}.rules-grid h3{font-size:17px;margin:0 0 4px;line-height:1.4}.rules-grid p{font-size:16px;color:#435069;line-height:1.65;margin:0}

.detail-price-result .btn{width:100%;white-space:normal;justify-content:center;font-size:16px!important}.detail-price-result .shared-icon{height:17px;width:17px}[aria-disabled="true"].btn{opacity:.5;cursor:not-allowed}
.access-section{padding:20px 0}.access-section>.shared-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.access-section .shared-heading{margin-bottom:0}.access-section p{font-size:16px;color:var(--shared-green);margin:0 0 0 116px;line-height:1.6}.access-section p .shared-icon{width:16px;height:16px;margin-right:5px}.access-section p span{display:block;font-size:16px;color:#657183}.access-section .btn{white-space:nowrap;font-size:16px!important}.access-section .btn .shared-icon{height:14px;width:14px}

.shared-closing .btn{border-radius:9px!important;white-space:nowrap;font-size:16px!important}

.school-area .shared-icon{width:15px;height:15px}
.card-footer .shared-icon{width:14px;height:14px}
.school-no-photo .shared-icon{width:65px;height:65px}
.price-result-card #amount{color:var(--shared-green)}.journey-steps .active{background:var(--shared-green)!important;color:white!important}.journey-steps .active b{color:#fbd352!important}
.channel-tabs a[aria-current="true"]{background:var(--shared-green)!important;color:#fff!important}

@media(max-width:1050px){.shared-tabs .shared-icon{height:29px;width:29px}.shared-wrap{width:calc(100% - 60px)}.shared-heading h2{font-size:27px}.feature-grid>article>.shared-icon{height:34px;width:34px}.rules-grid>article{gap:10px;padding:14px}.rules-grid .shared-icon{height:34px;width:34px}.rules-grid h3{font-size:16px}.shared-closing .btn{padding:10px 15px!important}.access-section .shared-heading h2{font-size:25px}}
@media(max-width:760px){body[data-page="school"] .crumb{padding:7px 18px;min-height:30px;font-size:16px}.shared-identity>.btn{max-width:none;min-height:49px}.photo-info .shared-icon{height:28px;width:28px}.shared-tabs .shared-icon{width:25px;height:25px}.shared-wrap{width:calc(100% - 36px)}.shared-heading{gap:10px;margin-bottom:20px;align-items:center}.section-number{font-size:64px}.shared-heading .eyebrow{font-size:16px}.shared-heading h2{font-size:20px;line-height:1.5;letter-spacing:-.045em;gap:3px}.shared-heading .sunrays{transform:scale(.65);transform-origin:left center;width:20px}.feature-grid>article>.shared-icon{width:40px;height:40px;margin-top:8px}.shared-facts .shared-icon{height:27px;width:27px}.shared-small{font-size:16px;line-height:1.8}.living-card>img,.living-info{height:194px}.living-caption{padding:12px 14px;gap:12px}.living-caption h3{font-size:17px}.living-caption p{font-size:16px}.facility-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:3px 8px;gap:0}.facility-strip>span{font-size:16px;gap:15px;padding:12px 4px}.facility-strip>span:nth-child(2){border-right:0}.facility-strip>span:nth-child(-n+2){border-bottom:1px solid #c6e6eb}.facility-strip .shared-icon{height:30px;width:30px}.rules-grid{grid-template-columns:1fr;gap:9px}.rules-grid>article{padding:15px;gap:15px}.rules-grid .shared-icon{height:38px;width:38px}.rules-grid h3{font-size:16px}.rules-grid p{font-size:16px}.detail-price-result .btn{font-size:16px!important;padding:12px 10px!important}.access-section>.shared-wrap{flex-direction:column;align-items:stretch;gap:17px}.access-section .shared-heading h2{font-size:20px}.access-section p{margin-left:77px;font-size:16px}.access-section p span{font-size:16px;overflow-wrap:anywhere}.access-section .btn{align-self:flex-start;margin-left:77px;min-height:40px;font-size:16px!important;padding:8px 15px!important}.shared-closing .btn{font-size:16px!important;padding:10px 14px!important;min-height:46px;flex:1;max-width:190px}.shared-closing .btn .icon{width:20px;height:20px}}

/* ===== /ph/common-layout.css ===== */
/* The single site-wide shell. Identical at every route and breakpoint.
   !important intentionally isolates the shell from older page-specific CSS. */
body[data-page]{font-size:16px;line-height:1.8;color:#172635}
body .site-header{position:relative!important;top:auto!important;background:#fff!important;border-bottom:1px solid #dfebe8!important;z-index:50;isolation:isolate}
body .site-header .header-leaf{display:none!important}
body .site-header .header-inner{display:flex!important;align-items:center!important;max-width:1200px!important;min-height:90px!important;padding:14px 32px!important;margin:0 auto!important;gap:22px!important}
body .site-header .brand{display:inline-flex;flex:none;text-decoration:none;gap:0}
body .site-header .brand-word{font:800 38px/1.05 Arial,sans-serif!important;letter-spacing:-.04em!important}
body .site-header .brand-sub{font-size:16px!important;line-height:1.5!important;letter-spacing:-.025em!important;margin-top:3px!important;font-weight:600;white-space:nowrap;color:#3c4c54}
body .site-header .header-nav{display:flex!important;position:static!important;align-items:center!important;flex-direction:row!important;gap:22px!important;margin-left:auto!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;white-space:nowrap}
body .site-header .header-nav>a{font-size:16px!important;line-height:1.6!important;font-weight:700;padding:12px 0!important;min-height:46px;border-bottom:2px solid transparent}
body .site-header .header-nav>a[aria-current],body .site-header .header-nav>a:hover{border-color:#005d53;color:#005d53}
body .site-header .header-action{display:flex!important;gap:8px!important;margin:0!important}
body .site-header .header-action .btn{font-size:16px!important;line-height:1.5!important;min-height:46px!important;padding:11px 15px!important;gap:7px!important;border-radius:7px!important;white-space:nowrap}
body .site-header .header-action .btn.orange,body .site-footer .btn.orange,body .mobile-cta .btn.orange{background:#ff6800!important;border-color:#ff6800!important}
body .site-header .header-action .icon{display:block!important;width:20px!important;height:20px!important}
body .site-header .header-action .button-arrow{display:none!important}
body .site-header .menu-toggle{display:none!important;width:46px!important;height:46px!important;border:1px solid #d4e5e2;border-radius:7px;background:#edf8f5;color:#005d53;flex:none}
.site-breadcrumb{background:#f7faf9;border-bottom:1px solid #e3ece9;color:#52656a}
.breadcrumb-inner{max-width:1200px;margin:0 auto;padding:13px 32px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-height:48px;font-size:16px;line-height:1.6}
.breadcrumb-inner a{text-decoration:underline;text-underline-offset:4px;color:#38655f}
.breadcrumb-inner [aria-current]{color:#334b48}
body .site-footer{background:#005d53!important;color:#fff;padding:38px 0 24px!important}
body .site-footer>.wrap{width:100%!important;max-width:1200px!important;padding-inline:32px!important}
body .site-footer .footer-grid{display:grid!important;grid-template-columns:320px repeat(4,minmax(0,1fr))!important;gap:28px 22px!important;align-items:start}
body .site-footer .footer-grid>div{grid-column:auto!important;min-width:0}
body .site-footer .footer-brand{gap:12px;align-items:center;width:100%;max-width:360px}
body .site-footer .footer-brand>.brand-block{min-width:0}
body .site-footer .footer-symbol{width:76px!important;height:92px!important;object-fit:contain;flex:none}
body .site-footer .brand-word{font:800 48px/1.1 Arial,sans-serif!important;letter-spacing:-.04em}
body .site-footer .brand-sub{font-size:16px!important;line-height:1.6!important;white-space:normal;letter-spacing:-.04em;margin-top:5px;color:#fff}
body .site-footer .footer-nav{font-size:16px!important;line-height:1.8!important}
body .site-footer .footer-nav h3{font-size:16px!important;margin:0 0 10px!important;color:#fff}
body .site-footer .footer-nav a{display:block;font-size:16px!important;line-height:1.65!important;margin:0!important;padding:5px 0!important;color:#e7f4f0}
body .site-footer .footer-nav a:hover{text-decoration:underline;text-underline-offset:4px}
body .site-footer .footer-grid .footer-actions{grid-column:1/-1!important;display:flex!important;justify-content:flex-end;gap:12px}
body .site-footer .footer-actions .btn{font-size:16px!important;min-height:46px!important;padding:10px 24px!important;border-radius:7px!important;min-width:170px}
body .site-footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:16px!important;line-height:1.7!important;margin-top:24px;padding-top:20px;border-top:1px solid #ffffff40}
body .mobile-cta{display:none!important}
/* Controls remain comfortably readable; small captions are raised in source CSS. */
body input:not([type=checkbox]):not([type=radio]),body select,body textarea{font-size:16px!important}

@media(max-width:1100px){
 body .site-header .header-inner{min-height:82px!important;padding:12px 24px!important;gap:16px!important}
 body .site-header .header-nav{display:none!important;position:absolute!important;top:100%!important;left:0;right:0;margin:0!important;padding:12px 24px 24px!important;background:#fff!important;border-bottom:1px solid #d4e5e2!important;box-shadow:0 12px 18px #005d5312!important}
 body .site-header .header-nav.open{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
 body .site-header .header-nav>a{font-size:16px!important;padding:14px 0!important}
 body .site-header .header-action{margin-left:auto!important}
 body .site-header .menu-toggle{display:grid!important;place-items:center;margin-left:0!important}
 body .site-footer .footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 body .site-footer .footer-grid>div:first-child{grid-column:1/-1!important}
 body .site-footer .footer-brand .brand-sub{white-space:normal}
 .breadcrumb-inner{padding-inline:24px}
}
@media(max-width:760px){
 body .site-header .header-inner{padding:12px 18px!important;min-height:80px!important;gap:12px!important}
 body .site-header .brand-word{font-size:32px!important}
 body .site-header .brand-sub{font-size:16px!important;letter-spacing:-.045em!important}
 body .site-header .header-action{display:none!important}
 body .site-header .menu-toggle{margin-left:auto!important}
 .breadcrumb-inner{padding:12px 18px;gap:6px 9px}
 body .site-footer{padding:30px 0 112px!important}
 body .site-footer>.wrap{padding-inline:20px!important}
 body .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 20px!important}
 body .site-footer .footer-brand{max-width:320px}
 body .site-footer .footer-symbol{width:66px!important;height:80px!important}
 body .site-footer .brand-word{font-size:42px!important}
 body .site-footer .footer-nav a{padding:7px 0!important}
 body .site-footer .footer-grid .footer-actions{display:none!important}
 body .site-footer .footer-bottom{display:block}
 
 body .mobile-cta{display:grid!important;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid #d4e5e2;z-index:45}
 body .mobile-cta .btn{font-size:16px!important;line-height:1.5!important;min-height:48px!important;padding:11px 8px!important;gap:7px!important;border-radius:7px!important}
 body .mobile-cta .button-arrow{display:none}
 body .mobile-cta .icon{width:20px;height:20px}
 
 
 
 .shared-small,.micro,.note,figcaption{line-height:1.8}
 
 
 
 
 
}

/* Small copy keeps its full line height and may wrap after enlargement. */
body .site-footer .footer-brand .brand-sub{font-size:16px!important;line-height:1.65!important}
body small{font-size:16px}

/* Keep the checklist-only print layout confined to the packing page. */
@media print{body:not(:has(.packing-table)) main>:not(.preparation-page),body:not(:has(.packing-table)) .preparation-page>:not(#packing){display:block!important}}

/* ===== /ph/preparation-pages.css ===== */
.preparation-page{color:#172635;line-height:1.85;font-size:16px}
.prep-width{width:calc(100% - 96px);max-width:1104px;margin:0 auto}
.prep-hero{background:#fbfaf6;padding:44px 0 38px}
.prep-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.prep-hero h1{font-size:clamp(30px,3.3vw,44px);font-weight:800;line-height:1.45;letter-spacing:-.035em;color:#005653;margin:16px 0 22px;text-decoration:underline;text-decoration-color:#f5d341;text-decoration-thickness:4px;text-underline-offset:9px}
.prep-hero p{color:#52656a;font-size:16px;line-height:2}
.prep-hero figure{position:relative;margin:0}
.prep-hero img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:5px}
.preparation-page figcaption{font-size:16px;color:#52656a;text-align:right;padding-top:5px}
.prep-jump{display:inline-flex;padding:15px 0 5px;border-bottom:1px solid #005653;color:#005653;font-size:16px;font-weight:700;margin-top:10px}
.prep-toc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:22px 0;border-bottom:1px solid #bbd9d6}
.prep-toc a{display:flex;align-items:center;gap:12px;padding:10px 18px;border-right:1px solid #bbd9d6;font-weight:700;color:#005653;font-size:16px}.prep-toc a:last-child{border-right:0}.prep-toc a>span{font-family:Arial,sans-serif;font-size:22px;color:#fa6817}
.prep-section{padding:48px 0;scroll-margin-top:20px}
.prep-section .shared-heading{margin-bottom:28px}.prep-section .section-number{font-size:82px}
.prep-section .shared-heading h2{font-size:29px}
.prep-cyan{background:#eaf7f8}.prep-warm{background:#fbfaf6}
.prep-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.prep-cards article{padding:25px;border:1px solid #acd2d4;background:#fff;border-radius:5px;min-width:0}
.prep-cards .icon{color:#005653;width:34px;height:34px;margin-bottom:14px}
.prep-cards h3{font-size:20px;color:#005653;margin:0 0 12px}.prep-cards p{font-size:16px;color:#52656a;line-height:1.9}
.prep-note{border-left:4px solid #f5d341;background:#f7faf6;padding:22px 26px;margin-top:26px}
.prep-note h3{font-size:18px;color:#005653;margin:0 0 10px}.prep-note p{font-size:16px;color:#52656a;line-height:1.9}
.prep-section .actions{margin-top:28px;gap:14px}.prep-intro{margin:0 0 24px;color:#52656a}
.prep-list{list-style:none;padding:0;margin:0}.prep-list li{position:relative;padding:13px 0 13px 29px;border-bottom:1px solid #d9e6e2;line-height:1.9;font-size:16px}
.prep-list li:before{content:'✓';position:absolute;left:0;top:13px;color:#005d53;font-weight:800}

.prep-day{list-style:none;padding:0;margin:0;border-top:1px solid #bbd9d6}.prep-day li{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:25px 0;border-bottom:1px solid #bbd9d6}.prep-day li>span{color:#005653;font-size:22px;font-weight:800}.prep-day h3{font-size:20px;color:#005653;margin-bottom:7px}.prep-day p{color:#52656a}
.prep-split{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;align-items:start}.prep-split img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:5px}.prep-split h3{font-size:23px;color:#005653;margin:0 0 16px}.prep-split p{color:#52656a}
.prep-related,.prep-guide-entries{padding-top:42px;padding-bottom:46px}.prep-related h2,.prep-guide-entries h2{font-size:26px;color:#005653;margin:0 0 24px}
.prep-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.prep-related-grid>a{position:relative;border:1px solid #acd2d4;border-radius:5px;padding:23px 42px 23px 23px;background:#fff;display:flex;flex-direction:column;gap:8px;min-width:0}
.prep-related-grid strong{font-size:18px;color:#005653}.prep-related-grid span{font-size:16px;color:#52656a;line-height:1.8}.prep-related-grid b{position:absolute;right:18px;top:calc(50% - 15px);color:#005653;font-size:24px}.prep-related-grid>a:hover{background:#edf8f5}
.prep-faq details[open] summary{background:#edf7f7}.prep-faq details[open] summary>i:after{display:none}
@media(max-width:960px){.prep-width{width:calc(100% - 48px)}.prep-hero-grid{gap:28px}.prep-cards{gap:14px}.prep-cards article{padding:20px}.prep-toc a{padding:8px 12px;gap:8px}.prep-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.prep-width{width:calc(100% - 36px)}.prep-hero{padding:28px 0}.prep-hero-grid{grid-template-columns:1fr;gap:25px}.prep-hero h1{font-size:30px;margin:12px 0 22px}.prep-hero p{font-size:16px}.prep-hero img{aspect-ratio:1.65}.prep-toc{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 0;padding:16px 0}.prep-toc a{padding:9px!important;font-size:16px}.prep-toc a:nth-child(2){border:0}.prep-section{padding:32px 0}.prep-section .shared-heading{align-items:flex-start;gap:12px}.prep-section .section-number{font-size:58px}.prep-section .shared-heading h2{font-size:23px;display:block}.prep-section .sunrays{display:none}.prep-cards,.prep-related-grid,.prep-split{grid-template-columns:1fr}.prep-cards article{padding:24px}.prep-note{padding:20px;margin-top:22px}.prep-day li{grid-template-columns:48px 1fr;gap:16px}.prep-day li>span{font-size:18px}.prep-day h3{font-size:19px}.prep-related,.prep-guide-entries{padding-block:30px}.prep-related h2,.prep-guide-entries h2{font-size:23px}.prep-list li{padding-left:27px}.prep-section .actions>.btn{width:100%}}

/* ===== /ph/visual-refinement.css ===== */
/* v16: clean photographic assets, accessible live labels, vector illustration. */

/* v18: pricing provenance and readable small-screen school detail. */

.section-heading h2,.shared-heading h2,.diagnosis-text h2,.purpose-page h1{line-break:strict;word-break:auto-phrase;text-wrap:balance}

@media(max-width:760px){
 
 
 
 
 
 
 
 
 body[data-page="school"] .shared-heading h2{line-break:strict;word-break:auto-phrase;text-wrap:pretty}
 
 
}

/* v26: pricing evidence and width corrections. */

.shared-heading>div,.section-heading>div{min-width:0}
.shared-heading h2>span,.section-heading h2>span{overflow-wrap:anywhere}

/* v27: shared bottom layout, city cards, and narrow banner lettering. */
.closing-cta{overflow:clip}
.closing-inner{min-width:0;max-width:100%;grid-template-columns:minmax(0,27fr) minmax(0,52fr) minmax(0,21fr)}
.closing-inner>*{min-width:0;max-width:100%}
@media(max-width:760px){
 .closing-inner{display:block}
 
 
}

/* v28: keep the final words together on narrow purpose banners. */

.consult-handoff .btn{max-width:100%;white-space:normal;text-align:center}

/* ===== /ph/site-consistency-20260930.css ===== */
/* Shared heading sizes and current-page treatment for the static STABRO site. */
body[data-heading-scale] main h1 {font-size:40px !important;line-height:1.35 !important;overflow-wrap:anywhere;}

body[data-heading-scale] h2 {font-size:30px !important;line-height:1.45 !important;overflow-wrap:anywhere;}
body[data-heading-scale] main h1 > span,body[data-heading-scale] main h1 > em,
body[data-heading-scale] h2 > span,body[data-heading-scale] h2 > em {font-size:inherit !important;}
body[data-heading-scale] .header-action a[aria-current="page"] {outline:3px solid #005653;outline-offset:3px;}

@media(max-width:767px){body[data-heading-scale] main h1,body[data-heading-scale] h2{letter-spacing:-.035em;}body[data-heading-scale] .city-section-nav .shared-wrap{overflow-x:auto;}}

/* Shared reading rhythm and next actions; no pricing or content changes. */
:root{--flow-ink:#075653;--flow-accent:#c65b16;--flow-line:#d6e4df;--flow-paper:#f3f8f5}
body main :is(h1,h2,h3){word-break:normal;overflow-wrap:break-word;text-wrap:balance}
body[data-heading-scale] main h1:not(.sr-only){font-size:clamp(28px,3.6vw,48px)!important;line-height:1.45!important;overflow-wrap:break-word}
body[data-heading-scale] main h2{font-size:clamp(23px,2.4vw,30px)!important;line-height:1.5!important;overflow-wrap:break-word}
body main :is(h1,h2) br{display:none}
body main :is(h1,h2)>span{max-width:100%;white-space:normal}
body .content-guide{box-sizing:border-box;max-width:880px!important;margin:64px auto!important;padding:0 24px!important;line-height:1.9}
body .content-guide :is(p,li){line-height:1.9}
body .content-guide :is(h2,h3){margin-top:2em;margin-bottom:.8em}
body .content-guide a:not(.btn){color:var(--flow-ink);text-decoration:underline;text-underline-offset:4px}

body main [id]{scroll-margin-top:100px}
body main a:focus-visible,body main button:focus-visible,body main select:focus-visible{outline:3px solid #c65b16;outline-offset:4px}

.flow-card-actions{display:grid;gap:10px;margin-top:16px}.flow-card-actions .btn{width:100%;min-height:48px;justify-content:center;white-space:normal;text-align:center}.flow-card-actions .flow-price{color:var(--flow-ink);background:#fff;border:1px solid var(--flow-ink)}
.flow-hint{font-size:14px!important;line-height:1.7!important;margin:12px 0!important;color:#526762}
#consult-link[aria-disabled="true"]{opacity:.55;cursor:not-allowed}#consult-link[aria-disabled="false"]{opacity:1}
@media(max-width:767px){body .content-guide{padding:0 20px!important;margin:40px auto!important}body main :is(h1,h2,h3){letter-spacing:0!important}.flow-card-actions .btn{min-height:48px}}

body .wp-article{box-sizing:border-box;max-width:880px!important;margin:0 auto!important;padding:0 24px!important;font-size:16px!important;line-height:1.9!important;color:#283f3b}
body .wp-article p{margin:0 0 1.5em!important;line-height:1.9!important}body .wp-article :is(ul,ol){padding-left:1.5em!important;line-height:1.9!important}body .wp-article li{margin-bottom:.6em!important}
body .wp-article :is(h2,h3){margin:2em 0 .8em!important;line-height:1.5!important;color:var(--flow-ink)}body .wp-article a:not(.btn){color:var(--flow-ink)!important;text-decoration:underline!important;text-underline-offset:4px}
body .wp-article :is(img,iframe){max-width:100%!important}body .wp-article img{height:auto!important}body .wp-article table{display:block;max-width:100%;overflow-x:auto}body .wp-article .sgft-contact{margin:32px 0!important;padding:24px!important;background:var(--flow-paper)!important;border:1px solid var(--flow-line);border-radius:16px}
@media(max-width:767px){body .wp-article{padding:0 20px!important}body .wp-article .sgft-contact{padding:18px!important}}
/* Existing table-of-contents layouts keep their page-specific structure. */
body main :is(.prep-toc,.cp-nav,.ph-nav,.about-section-nav,.area-nav,.city-section-nav,.shared-tabs) a{min-height:44px;box-sizing:border-box;line-height:1.6;text-align:center;text-underline-offset:4px}
body main :is(.prep-toc,.cp-nav,.ph-nav,.about-section-nav,.area-nav) a{padding:12px 16px;border-radius:10px}
@media(max-width:767px){body main :is(.prep-toc,.cp-nav,.ph-nav,.about-section-nav,.area-nav){gap:8px}body main :is(.prep-toc,.cp-nav,.ph-nav,.about-section-nav,.area-nav) a{font-size:14px!important;padding:10px 12px}}

/* ===== /ph/light-fix-20260930.css ===== */
/* Full-width backgrounds, with existing content widths preserved. */
html body[data-mode="public"]{max-width:none!important;width:100%;margin-inline:0!important;}
body[data-mode="public"] .site-header,body[data-mode="public"] .site-footer{width:100%;max-width:none!important;}
body[data-mode="public"] .header-inner,body[data-mode="public"] .site-footer>.wrap{max-width:1200px!important;margin-inline:auto!important;}

body[data-mode="public"] .closing-inner{max-width:1200px;margin-inline:auto;}

body[data-heading-scale] main h1{font-size:40px!important;line-height:1.35!important;}

body[data-heading-scale] h2{font-size:30px!important;line-height:1.45!important;}

/* Keep TOP and diagnosis content centered inside full-width backgrounds. */
body[data-mode="public"][data-page="index"] .wrap,
body[data-mode="public"][data-page="index"] .page-heading,
body[data-mode="public"][data-page="diagnosis"] .wrap,
body[data-mode="public"][data-page="diagnosis"] .page-heading{
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}

