/* Gallery refinements, scoped to the search ShadowRoot. */
.intro-photo figcaption span:not(:first-child){display:none!important}
:host{--ink:#183f36;--muted:#596b62;--line:#cbd2c8;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;background:#f6f5f0;color:var(--ink);line-height:1.7}
.main-shell{max-width:1300px;padding:44px 46px 145px}.eyebrow{font-size:10px;letter-spacing:.17em;line-height:1.7;color:#987640}
.intro{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(32px,5vw,76px);align-items:center;border-bottom:0;padding:24px 0 0;margin-bottom:64px}.intro-copy{padding:18px 0}.intro .eyebrow{font-size:10px}.intro-label{margin:40px 0 12px;font-size:13px;letter-spacing:.13em;color:var(--muted)}.intro h1{font:500 clamp(34px,3.7vw,52px)/1.55 var(--serif);letter-spacing:.025em;margin:0 0 30px}.intro h1 span{display:block;white-space:nowrap}.intro-note{font-size:14px;line-height:2.1;color:#485f54;letter-spacing:0}.intro-note-secondary{margin-top:18px;font-size:13px;color:var(--muted)}
.intro-photo{align-self:center;min-height:0;overflow:visible;background:transparent}.intro-photo::after{display:none}.intro-photo img{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:center}.intro-photo figcaption{position:static;background:none;color:#5b6a60;font-size:9px;font-weight:400;letter-spacing:.08em;padding:12px 0 0;flex-wrap:wrap;gap:4px 12px}.intro-photo figcaption span:last-child{font-size:9px;letter-spacing:.03em}
.quick-links{gap:8px 18px;margin-top:28px}.quick-links>span{font-size:9px}.quick-links button{min-height:44px;font-size:12px;padding:8px 0}.quick-links button span{width:auto}
.search-panel{padding:32px 34px 36px;background:#fffef9;scroll-margin-top:32px}.panel-heading{align-items:center;gap:20px;border:0;padding:0;margin:0}.panel-heading h2{font:500 clamp(20px,2vw,27px)/1.6 var(--serif);letter-spacing:.03em;margin:8px 0 0}.panel-heading h2::before{display:none}.text-button,.clear-compare{font-size:12px;min-height:44px;white-space:nowrap;padding:10px 0;text-underline-offset:5px}.panel-note{font-size:12px;line-height:1.9;color:var(--muted);padding-bottom:22px;margin:12px 0 24px;border-bottom:1px solid #dce1d7}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px}.field{font-size:12px;font-weight:600;letter-spacing:.035em}.field input,.field select{font-size:14px;padding:0 12px}.field input::placeholder{color:#738075}.field select:disabled{background:#eeefe9;color:#697568;opacity:1}
.result-head{margin:56px 0 12px;padding-top:24px}.result-head h2{font:500 29px/1.6 var(--serif);margin:5px 0 0}.result-head h2 span{font-size:14px;font-weight:500;margin-left:16px}.sort-field{font-size:12px}.sort-field select{min-height:44px;font-size:13px}.scope-note{max-width:850px;font-size:12px;line-height:1.9;margin:0 0 26px}.results{gap:20px}.school-card{padding:28px;background:#fffef9;transition:border-color .2s,box-shadow .2s}.school-card:hover{transform:none;box-shadow:0 8px 26px #25483208}.card-tags{margin-bottom:21px}.kind-tag{font-size:10px;padding:3px 7px;letter-spacing:.035em}.brand{font-size:10px;letter-spacing:.1em;margin-bottom:7px}.school-card h3{font:600 23px/1.6 var(--serif)}.area{font-size:12px;margin-top:10px}.school-card .school-details{grid-template-columns:65px minmax(0,1fr);gap:10px 12px;margin:22px 0 18px;padding-top:20px;font-size:12px;line-height:1.85}.format-tag{font-size:11px;padding:1px 7px}.small-note{font-size:11px;line-height:1.9;padding:12px 14px;margin-bottom:20px}.card-footer{flex-wrap:wrap;gap:12px;padding-top:8px}.source-link{font-size:12px;padding:8px 0}.source-links .secondary-source{font-size:11px}.compare-toggle{min-height:44px;font-size:12px;padding:8px 12px}
.reading-guide{margin-top:72px;border-top:1px solid var(--line);padding-top:32px}.guide-heading h2{font:500 28px/1.7 var(--serif);margin:10px 0}.guide-heading>p:last-child{font-size:13px;color:var(--muted);max-width:650px;line-height:1.95}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:30px}.guide-grid article{border-top:1px solid #adb9a8;padding:22px 0 0}.guide-number{font-size:11px;letter-spacing:.1em;color:#987640}.guide-grid h3{font:500 20px/1.7 var(--serif);margin:10px 0}.guide-grid p{font-size:12px;line-height:2;color:var(--muted);margin:0}.method-note{margin-top:60px;padding-top:26px}.method-note h2{font:500 20px/1.7 var(--serif)}.method-note p:not(.eyebrow){font-size:12px;max-width:850px}
.compare-bar{background:#183f36;box-shadow:0 -8px 30px #163e3618}.compare-inner{max-width:1300px;padding:16px 46px;gap:20px}.compare-inner strong{font-size:13px;font-weight:600}.compare-inner span{font-size:11px}.compare-actions{gap:24px}.primary-button,.secondary-button{min-height:44px;font-size:13px;padding:10px 22px}.primary-button{background:#dfcb99}.primary-button span{display:inline;color:inherit;margin-left:12px}dialog{max-width:min(1100px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:1px solid #bac7b7;border-radius:3px;background:#f6f5f0}dialog::backdrop{background:#102d2ac2}.dialog-inner{padding:30px}.dialog-head h2{font:500 28px/1.6 var(--serif)}.close-button{width:44px;height:44px;border:1px solid #b9c6b5;border-radius:2px;background:transparent}.dialog-hint{font-size:12px;margin:12px 0 20px}.compare-scroll{border-radius:0;background:#fffef9;overscroll-behavior-x:contain}.compare-scroll:focus-visible{outline:3px solid #a7813f;outline-offset:4px}.comparison{min-width:650px}.comparison th,.comparison td{font-size:12px;padding:17px 16px}.comparison th{width:105px;background:#edf1e7;position:sticky;left:0;z-index:1}.comparison td{width:auto}.comparison .school-name{font:600 17px/1.6 var(--serif)}
@media(max-width:1000px){.main-shell{padding:32px 26px 145px}.intro{gap:30px}.intro h1{font-size:clamp(28px,3.7vw,42px);margin-bottom:20px}.intro-label{margin-top:26px}.intro-note{font-size:13px}.intro-note-secondary{font-size:12px}.school-card{padding:23px}.school-card h3{font-size:21px}.guide-grid{gap:22px}}
@media(max-width:700px){.main-shell{padding:24px 20px 155px}.intro{grid-template-columns:1fr;gap:28px;padding-top:12px;margin-bottom:38px}.intro-copy{padding:12px 0 0}.intro-label{margin:24px 0 10px;font-size:12px}.intro h1{font-size:clamp(27px,7.3vw,42px);line-height:1.55;margin-bottom:22px}.intro-note{font-size:13px;line-height:2}.intro-note-secondary{font-size:12px;margin-top:16px}.intro-photo{min-height:0;max-height:none}.intro-photo img{min-height:0;max-height:470px;aspect-ratio:4/5;object-fit:cover;object-position:center 54%}.intro-photo figcaption{font-size:8px}.quick-links{margin-top:22px;gap:6px 16px}.quick-links button{font-size:11px}.search-panel{padding:24px 20px}.panel-heading{align-items:flex-start;gap:12px}.panel-heading h2{font-size:21px}.text-button{font-size:11px}.panel-note{font-size:11px;margin-bottom:20px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.field-keyword,.field:nth-child(2),.field:nth-child(3){grid-column:1/-1}.field input,.field select{font-size:14px;min-height:48px;padding:0 9px}.field{font-size:11px}.result-head{margin-top:38px;align-items:flex-end}.result-head h2{font-size:25px}.result-head h2 span{font-size:12px;margin-left:8px}.sort-field{font-size:0;gap:0}.sort-field select{min-width:106px;font-size:12px}.results{grid-template-columns:1fr;gap:16px}.scope-note{font-size:11px}.school-card{padding:24px 21px}.school-card h3{font-size:23px}.guide-grid{grid-template-columns:1fr;gap:26px}.reading-guide{margin-top:48px}.guide-heading h2{font-size:25px}.method-note{margin-top:42px}.compare-inner{display:block;padding:12px 20px}.compare-actions{justify-content:space-between;gap:20px;margin-top:8px}.compare-actions .primary-button{flex:1}.compare-inner strong{font-size:12px}.dialog-inner{padding:22px 16px}.dialog-head h2{font-size:25px}.comparison{min-width:610px}.comparison th{width:86px}.comparison th,.comparison td{padding:14px 12px}.dialog-hint{font-size:11px}}
.comparison{width:max(100%,650px);min-width:0}.guide-heading h2{text-wrap:balance}
@media(max-width:700px){.comparison{width:max(100%,610px);min-width:0}}
@media(prefers-reduced-motion:reduce){.school-card{transition:none}}

/* 0.3.12: quiet museum-like composition and readable type throughout. */
:host{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:500;color:#173b34;background:#f6f5f0;-webkit-font-smoothing:antialiased}
.main-shell{padding-top:18px}
.intro{align-items:start;border-top:0;border-bottom:1px solid #b9c7bc;padding:0 0 42px;margin-bottom:44px;gap:clamp(36px,5.4vw,82px)}
.intro-copy{padding:32px 0 0}
.intro .eyebrow{font-size:11px;font-weight:700;color:#33584a}
.intro-index{color:#8d6b31}
.intro-label{margin:33px 0 10px;font-size:14px;font-weight:600;color:#365b4d}
.intro h1{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-weight:600;font-size:clamp(38px,3.8vw,54px);line-height:1.45;letter-spacing:.025em;margin:0 0 30px;color:#133a32}
.intro-note{max-width:40em;font-size:16px;line-height:1.9;font-weight:500;letter-spacing:0;color:#2b4a40}
.intro-note-secondary{font-size:15px;color:#39574a}
.intro-photo{align-self:start;border:1px solid #cbd1c8}
.intro-photo img{aspect-ratio:4/5;object-position:center 47%}
.intro-photo figcaption{font-size:10px;font-weight:600;letter-spacing:.08em;color:#38564a;padding-top:11px}
.eyebrow,.quick-links>span,.guide-number{font-weight:700;color:#6e552b}
.quick-links button{font-size:13px;font-weight:700;color:#1b4438}
.panel-heading h2,.result-head h2,.guide-heading h2,.method-note h2,.dialog-head h2{font-weight:600;color:#173b34}
.panel-note,.scope-note,.guide-heading>p:last-child,.guide-grid p,.method-note p:not(.eyebrow),.dialog-hint{font-size:14px;line-height:1.85;font-weight:500;color:#38564b}
.field,.sort-field{font-size:13px;font-weight:700;color:#254a3d}
.field input,.field select,.sort-field select{font-weight:500;color:#173b34}
.field input::placeholder{color:#63796e;opacity:1}
.school-card h3,.guide-grid h3,.comparison .school-name{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:700;color:#173b34}
.school-card h3{font-size:20px;line-height:1.5}
.brand,.area,.school-card .school-details,.small-note,.source-link,.source-links .secondary-source,.kind-tag,.format-tag,.compare-toggle,.guide-grid p,.comparison th,.comparison td{font-size:13px;line-height:1.75;font-weight:500;color:#365448}
.brand,.source-link,.compare-toggle{font-weight:700}
.school-card .school-details dt{color:#526a5e;font-weight:700}
.school-card .school-details dd{color:#234537}
.guide-grid h3{font-size:19px}
.method-note p:not(.eyebrow){max-width:900px}
@media(max-width:1000px){.main-shell{padding-top:16px}.intro-copy{padding-top:18px}.intro h1{font-size:clamp(34px,4vw,46px)}.intro-note{font-size:14px}}
@media(max-width:700px){.main-shell{padding-top:12px}.intro{padding-bottom:30px;margin-bottom:32px;gap:23px}.intro-copy{padding-top:10px}.intro-label{margin-top:23px}.intro h1{font-size:clamp(30px,7.4vw,43px);margin-bottom:22px}.intro-note,.intro-note-secondary{font-size:14px;line-height:1.85}.intro-photo,.intro-photo img{max-height:none}.intro-photo img{height:auto;aspect-ratio:4/5}.panel-note,.scope-note,.guide-heading>p:last-child,.guide-grid p,.method-note p:not(.eyebrow){font-size:13px}.school-card h3{font-size:19px}}

/* 0.3.13: one continuous ivory surface, articulated by gallery rules. */
:host{--ink:#173b34;--muted:#365448;--line:#b9c8bd;background:#faf5eb;color:var(--ink)}
.main-shell{padding-top:14px;padding-bottom:120px}
.intro{border-bottom-color:var(--line);padding-bottom:48px;margin-bottom:52px}
.intro-copy{padding-top:38px}
.intro-index,.eyebrow,.quick-links>span,.guide-number{color:#315647}
.intro-label{color:#315647}
.intro-photo{border-color:var(--line);background:#faf5eb}
.intro-photo figcaption{background:#faf5eb}
.search-panel,.school-card,.compare-scroll,.field input,.field select,.sort-field select,.small-note,.kind-tag,.format-tag{background:#faf5eb}
.search-panel{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0 38px;box-shadow:none}
.panel-note{border-bottom-color:#cbd5ca}
.field input,.field select,.sort-field select{border-color:#aebfb1;border-radius:0}
.school-card{border:0;border-top:1px solid var(--line);border-radius:0;padding:26px 0 30px;box-shadow:none}
.school-card:hover{transform:none;box-shadow:none;border-color:#315647}
.results{column-gap:42px;row-gap:0}
.kind-tag,.format-tag{border-color:#b9c8bd;color:#254a3d}
.small-note{border-left:1px solid var(--line);padding:9px 13px}
.compare-toggle,.secondary-button{background:#faf5eb;border-color:#9fb3a3;color:#21463a}
.reading-guide,.method-note,.result-head{border-top-color:var(--line)}
.guide-grid article{border-top-color:var(--line)}
dialog{background:#faf5eb;border-color:var(--line)}
.comparison th{background:#faf5eb}
.comparison td{background:#faf5eb}
@media(max-width:700px){.main-shell{padding-top:10px}.intro{padding-bottom:32px;margin-bottom:36px}.intro-copy{padding-top:12px}.search-panel{padding:25px 0}.results{row-gap:0}.school-card{padding:23px 0 27px}}

/* 0.3.14: factual teaching detail, school-specific notes and visit prompts. */
.teaching-profile{border-top:1px solid #cbd5ca;padding-top:17px;margin:20px 0 0}
.teaching-profile .detail-label,.visit-check strong,.small-note strong{display:block;margin:0 0 7px;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.045em;color:#21473a}
.teaching-profile .detail-label span{font-weight:500;letter-spacing:0;color:#526a5e;margin-left:8px}
.teaching-profile>p:not(.detail-label),.visit-check{margin:0;font-size:14px;line-height:1.85;color:#2f5142}
.teaching-profile>a{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;color:#21473a;text-decoration:underline;text-underline-offset:4px}
.small-note{margin:18px 0 0;color:#2f5142;font-size:13px;line-height:1.8}
.visit-check{border-top:1px solid #d4ddd2;margin:18px 0 20px;padding-top:15px;font-size:13px}
@media(max-width:700px){.teaching-profile>p:not(.detail-label){font-size:13px}.visit-check{font-size:12px}}

/* 0.3.45: concise catalogue, classroom reading and family decisions. */
.main-shell [hidden]{display:none!important}
.regional-guide{margin:48px 0}
.section-intro h2,.regional-guide h2{font:600 clamp(25px,2.8vw,36px)/1.55 var(--serif);letter-spacing:.01em;margin:10px 0 16px;color:var(--ink)}
.section-intro>p:not(.eyebrow),.regional-guide>p{font-size:15px;line-height:1.9;max-width:48em}
.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:30px}
.collection-grid article{border-top:1px solid var(--line);padding-top:20px;min-width:0}
.collection-grid h3{font-size:19px;line-height:1.7;margin:12px 0;font-weight:700}
.collection-grid article>p:not(.eyebrow){font-size:14px;line-height:1.9}
.collection-grid button{border:0;background:transparent;text-align:left;cursor:pointer;color:var(--ink);font:700 13px/1.7 inherit;padding:12px 0;border-bottom:1px solid var(--line)}
.collection-grid ul{list-style:none;margin:22px 0 0;padding:0}
.region-reading{margin-top:20px;font-size:13px;line-height:1.8}
.region-reading summary{cursor:pointer;font-weight:700;padding:8px 0}
.collection-grid li{margin-top:18px}
.collection-grid li a{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px}
.collection-grid li p{font-size:12px;line-height:1.8;margin:8px 0 0}
.school-card.concise-card{display:flex;flex-direction:column;padding:28px;background:transparent}
.concise-card h3 a{color:inherit;text-decoration:none}
.concise-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.concise-card .card-summary{font-size:15px;line-height:1.9;margin:20px 0 4px}
.concise-card .school-details{margin-top:20px;grid-template-columns:82px minmax(0,1fr)}
.concise-card .school-details dd:last-child{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.concise-card .card-footer{margin-top:auto;padding-top:24px;border-top:1px solid var(--line);justify-content:space-between}
.results-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 0;font-size:13px;line-height:1.8}
.results-pagination>div{display:flex;align-items:center;gap:20px}
.results-pagination button{border:1px solid var(--line);background:transparent;color:var(--ink);min-height:44px;padding:8px 20px;cursor:pointer;font:600 13px/1.7 inherit}
.results-pagination button:disabled{opacity:.4;cursor:default}
.show-school>*:not(#school-view){display:none!important}
.detail-breadcrumb{display:flex;justify-content:space-between;gap:20px;font-size:13px;border-bottom:1px solid var(--line);padding:20px 0 22px}
.detail-breadcrumb a{color:inherit;text-underline-offset:4px}
.detail-title{padding:54px 0 40px;max-width:920px}
.detail-title .brand{margin:30px 0 10px}
.detail-title h1{font:600 clamp(30px,4vw,52px)/1.5 var(--serif);letter-spacing:.015em;margin:0 0 22px;text-wrap:balance;overflow-wrap:anywhere}
.detail-lead{font-size:18px;line-height:1.9;max-width:44em}
.detail-meta{font-size:14px;line-height:1.8;margin:22px 0}
.detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:28px}
.detail-nav{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;gap:24px 38px}
.detail-nav a{font-size:14px;color:inherit;text-decoration:none;font-weight:700}
.detail-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.detail-section{padding:48px 0;border-bottom:1px solid var(--line);scroll-margin-top:28px}
.lesson-flow{margin-top:32px;max-width:980px}
.lesson-step{display:grid;grid-template-columns:50px minmax(0,1fr);gap:25px;padding:24px 0;border-top:1px solid var(--line)}
.lesson-step h3,.campus-note h3,.fit-grid h3,.worksheet h3{font-size:18px;font-weight:700;line-height:1.7;margin:0 0 12px}
.lesson-step p,.campus-note p,.fit-grid p{font-size:16px;line-height:1.95;margin:0 0 12px}
.lesson-step .source-scope{font-size:12px;line-height:1.9}
.campus-note{padding:26px 28px;border:1px solid var(--line);margin-top:28px;max-width:980px}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}
.fit-grid article{border-top:1px solid var(--line);padding-top:22px}
.family-facts{display:grid;grid-template-columns:210px minmax(0,1fr);margin:30px 0 0;max-width:1040px}
.family-facts dt,.family-facts dd{margin:0;border-top:1px solid var(--line);padding:22px 0;font-size:15px;line-height:1.9}
.family-facts dt{font-weight:700;padding-right:28px}
.family-facts dd{overflow-wrap:anywhere}
.detail-sources ul,.comparison ul{list-style:none;padding:0;margin:24px 0}
.detail-sources li{margin:18px 0;font-size:14px;line-height:1.9}
.detail-sources li span,.comparison li span{display:block;font-size:12px;margin-top:4px}
.detail-sources>p{font-size:13px;line-height:1.9;margin:24px 0}
.detail-sources .secondary-button{display:inline-flex;text-decoration:none;align-items:center;line-height:1.7}
.comparison small{display:block;font-size:11px;line-height:1.7;margin-top:8px}
.comparison li{font-size:12px;line-height:1.8;margin:0 0 12px}
.comparison th{width:150px}
.comparison td{min-width:235px;width:auto}
.comparison{table-layout:auto;width:max(100%,760px)}
.worksheet-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:30px 0}
.worksheet-heading h3{margin:0}
.trial-questions{padding:24px 0;border-top:1px solid var(--line)}
.trial-questions ol{padding-left:24px;margin:14px 0}
.trial-questions li{font-size:15px;line-height:1.9;margin:10px 0;padding-left:6px}
.worksheet-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;margin-top:20px}
.worksheet-fields label{display:block;min-width:0}
.worksheet-fields label>span{display:block;font-size:14px;font-weight:700;margin-bottom:12px}
.worksheet-fields textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:0;background:transparent;padding:14px;color:var(--ink);font:500 16px/1.8 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif;resize:vertical}
.worksheet-fields textarea::placeholder{color:var(--muted);font-size:13px;opacity:1}
.worksheet-fields textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.print-entry{display:none}
@media(max-width:900px){.collection-grid{gap:24px}.family-facts{grid-template-columns:170px minmax(0,1fr)}.fit-grid{gap:28px}}
@media(max-width:700px){.collection-grid,.fit-grid,.worksheet-fields{grid-template-columns:1fr}.regional-guide{margin-bottom:38px}.collection-grid article{padding-top:18px}.collection-grid ul{margin-top:18px}.concise-card .card-summary{font-size:15px}.detail-title{padding:34px 0}.detail-title h1{font-size:30px}.detail-lead{font-size:16px}.detail-nav{gap:16px 22px}.detail-nav a{font-size:13px}.detail-section{padding:34px 0}.lesson-step{grid-template-columns:30px minmax(0,1fr);gap:16px}.lesson-step p,.campus-note p,.fit-grid p{font-size:15px}.campus-note{padding:22px 18px}.family-facts{display:block}.family-facts dt{padding:18px 0 4px}.family-facts dd{border-top:0;padding:0 0 18px;font-size:14px}.worksheet-heading{display:block}.worksheet-heading button{margin-top:16px}.results-pagination{font-size:12px}.results-pagination>div{gap:12px}.results-pagination button{padding:8px 14px}.detail-breadcrumb{font-size:12px;flex-wrap:wrap}.comparison{width:max(100%,690px)}.comparison th{width:100px}.comparison td{min-width:225px}}
@media print{
 :host{background:white;color:#172f29}
 .main-shell{padding:0;max-width:none}
 .main-shell>*:not(#school-view):not(#general-worksheet){display:none!important}
 #school-view>*:not(.worksheet){display:none!important}
 .worksheet:not(.print-target){display:none!important}
 .compare-bar,dialog,.worksheet button{display:none!important}
 .worksheet{border:0;padding:0;display:block!important}
 .worksheet:not(.print-target){display:none!important}
 .worksheet .section-intro>p:not(.eyebrow){display:none}
 .worksheet .section-intro h2{font-size:23px;margin:6px 0 12px}
 .worksheet-heading{margin:10px 0}
 .trial-questions{padding:12px 0}
 .trial-questions li{font-size:12px;line-height:1.7;margin:6px 0}
 .worksheet-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .worksheet-fields textarea{display:none}
 .print-entry{display:block;min-height:100px;border:1px solid #a5b2ab;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}
 .worksheet-fields label{break-inside:avoid}
 .worksheet-fields label>span{font-size:12px}
}

/* Scoped planning tools; existing photo and page palette are preserved. */
.planning-tools{margin:64px 0;border-top:1px solid var(--line,#c9d0c8);padding-top:36px}.main-shell.show-school > #learning-tools.planning-tools{display:block!important}.planning-disclosure{border-top:1px solid var(--line,#c9d0c8);padding:0}.planning-disclosure>summary{cursor:pointer;font-size:16px;font-weight:700;line-height:1.7;padding:22px 0;color:inherit}.planning-disclosure>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}.planning-disclosure[open]>summary{padding-bottom:14px}.planning-disclosure>div{padding:10px 0 28px}@media print{.main-shell.show-school > #learning-tools.planning-tools,.planning-tools{display:none!important}}

/* Four-step journey: existing tools in the order families use them. */
.journey-nav{margin:0 0 48px;border-block:1px solid var(--line);padding:24px 0;color:var(--ink)}
.journey-caption{margin:0 0 18px;font-size:14px;font-weight:600}
.journey-nav ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.journey-nav a{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none;min-height:100px;padding:10px 0}
.journey-nav strong{font-size:15px;line-height:1.6}.journey-nav a>span:last-child{font-size:12px;line-height:1.8;color:var(--muted)}
.journey-number{font-size:12px;letter-spacing:.14em}.journey-nav a:hover strong{text-decoration:underline;text-underline-offset:5px}
.journey-nav a:focus-visible,.journey-next a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.journey-stage{margin-top:44px;scroll-margin-top:110px}.journey-stage:focus,#search:focus{outline:0}
.journey-heading{margin-bottom:24px}.journey-heading h3{font:500 clamp(24px,2.7vw,34px)/1.65 var(--serif);margin:10px 0 14px;color:var(--ink)}
.journey-heading>p:last-child{font-size:14px;line-height:2;max-width:760px;color:var(--ink)}
.journey-next{display:flex;justify-content:flex-end;margin:28px 0 44px}.journey-next a{display:inline-flex;align-items:center;gap:24px;min-height:44px;color:var(--ink);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:6px}
.journey-stage+.journey-stage{border-top:1px solid var(--line);padding-top:36px}
#journey-trial-candidates{padding:20px 0;border-block:1px solid var(--line);font-size:14px;line-height:2;margin:24px 0}#journey-trial-candidates ul{padding-left:20px;margin:12px 0}#journey-trial-candidates li{padding:6px 0}#journey-trial-candidates a{display:inline-block;min-height:44px;padding:8px 0}
#journey-trial .reading-guide{margin:32px 0}#journey-trial .guide-heading h3{font:500 clamp(20px,2vw,27px)/1.6 var(--serif);margin:8px 0 16px}
.show-school #general-worksheet,.show-school #journey-trial .reading-guide{display:none}
@media(max-width:700px){.journey-nav{margin-bottom:32px;padding:20px 0}.journey-nav ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.journey-nav strong{font-size:14px}.journey-nav a{min-height:110px}.journey-stage{scroll-margin-top:90px;margin-top:32px}.journey-heading>p:last-child{font-size:13px}.journey-next{justify-content:flex-start;margin:24px 0 32px}.journey-next a{font-size:13px;gap:16px}.dialog-footer{flex-wrap:wrap;gap:12px}}
@media print{.journey-nav,.journey-next{display:none!important}}
@media print{
 :host(.kmj-printing) .main-shell > #learning-tools.planning-tools:has(.print-target){display:block!important;padding:0!important;margin:0!important;border:0!important}
 :host(.kmj-printing) #learning-tools > *{display:none!important}
 :host(.kmj-printing) #learning-tools > #journey-trial.journey-stage:has(.print-target){display:block!important;padding:0!important;margin:0!important;border:0!important}
 :host(.kmj-printing) #journey-trial > *{display:none!important}
 :host(.kmj-printing) #journey-trial > #general-worksheet:has(.print-target){display:block!important}
 :host(.kmj-reflection-printing) #learning-tools.planning-tools > #journey-trial.journey-stage{display:block!important;padding:0!important;margin:0!important;border:0!important}
 :host(.kmj-reflection-printing) #journey-trial > *:not(#reflection-tools){display:none!important}
 :host(.kmj-reflection-printing) #journey-trial > #reflection-tools.reflection-tools{display:block!important;padding:0!important;margin:0!important;border:0!important}
}
