:root{--ink:#243b32;--muted:#56655c;--paper:#fffdf8;--cream:#f3f0e6;--line:#ced6cc;--green:#345e4e;--pale:#edf3ea;--rust:#9e4c30;--focus:#a54c00;color-scheme:light;font-family:"BIZ UDPGothic","Yu Gothic",Meiryo,sans-serif;font-size:18px;line-height:1.9;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:#245d49;text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,.button{display:inline-block;border:1px solid var(--green);border-radius:.35rem;background:var(--green);color:#fff;padding:.65rem 1rem;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.5;min-height:48px}.secondary{background:#fff;color:var(--ink);border-color:#84998a}button:hover,.button:hover{filter:brightness(.95)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-5rem;left:1rem;z-index:10;background:#fff;padding:.75rem}.skip:focus{top:.5rem}.masthead{border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem max(1rem,calc((100vw - 1120px)/2))}.brand{font-size:1.35rem;font-weight:700;text-decoration:none;white-space:nowrap}.masthead nav{display:flex;gap:1.2rem;font-size:.9rem}.stage-banner{margin:0;padding:.55rem 1rem;text-align:center;background:#fff0cf;color:#573e15;font-size:.9rem}.page{max-width:1120px;margin:auto;padding:1.5rem 1.5rem 4rem}.reading{max-width:820px;margin:auto}.breadcrumbs{font-size:.85rem;color:var(--muted);margin:0 0 1.8rem}.breadcrumbs ol{list-style:none;display:flex;gap:.45rem;flex-wrap:wrap;padding:0}.breadcrumbs li+li::before{content:"／";margin-right:.45rem;color:#7a857c}.eyebrow{font-size:.85rem;font-weight:700;letter-spacing:.07em;color:var(--rust);margin:.4rem 0}h1,h2,h3{line-height:1.5;overflow-wrap:anywhere}h1{font-size:clamp(1.8rem,3.8vw,2.8rem);margin:.5rem 0 1.1rem;letter-spacing:.015em}h2{font-size:1.45rem;margin:2.6rem 0 1rem}h3{font-size:1.12rem;margin:1.4rem 0 .65rem}p{margin:.75rem 0 1.2rem;overflow-wrap:anywhere}.lead{font-size:1.09rem;line-height:2}.intro{max-width:880px;margin:1rem 0 2.3rem}.intro h1{max-width:21em}.meta,.note{color:var(--muted);font-size:.88rem}.meta{margin:.5rem 0}.first-step{border-left:5px solid var(--green);background:var(--pale);padding:1.15rem 1.35rem;margin:1.8rem 0 2rem}.first-step h2{font-size:1.1rem;margin:0 0 .5rem}.first-step p{margin:0}.toc{background:var(--cream);border-radius:.35rem;padding:1rem 1.35rem;margin:2rem 0}.toc p{font-weight:700;margin:0}.toc ol{margin:.4rem 0 1rem;padding-left:1.4rem}.toc li{padding:.2rem 0}.scene{margin:1.5rem 0 2rem}.scene img{display:block;width:100%;height:auto;border-radius:.35rem;background:var(--cream)}.scene figcaption{font-size:.8rem;color:var(--muted);line-height:1.7;margin-top:.5rem}.section-content{scroll-margin-top:1rem}.scripts blockquote{margin:1rem 0;background:#f7f3e9;border-left:4px solid #b58d6b;padding:1rem 1.25rem;white-space:pre-wrap}.worksheet{background:#f8faf5;border:1px solid var(--line);border-radius:.45rem;padding:1.4rem;margin:2.8rem 0}.worksheet>h2:first-child{margin-top:0}.table-scroll{overflow-x:auto;margin:1rem 0;padding-bottom:.4rem}.table-scroll.comparison table{min-width:650px}table{border-collapse:collapse;width:100%;font-size:.9rem}caption{text-align:left;font-weight:700;margin-bottom:.6rem}td,th{border:1px solid #aebcaf;padding:.65rem;vertical-align:top;text-align:left;overflow-wrap:anywhere}thead th{background:#e5eee1}tbody th{background:#f0f4eb;width:26%;font-weight:600}td{background:#fff}textarea{border:1px solid #647460;background:#fff;border-radius:.2rem;padding:.4rem;width:100%;min-width:130px;min-height:6rem;resize:vertical;line-height:1.7;color:var(--ink)}.print-value{display:none}.controls{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.sources{font-size:.94rem;border-top:1px solid var(--line);margin-top:2.5rem;padding-top:.5rem}.sources li{padding:.5rem 0}.sources p{margin:.4rem 0}.related ul{padding-left:1.3rem}.related li{padding:.45rem 0}.related small{display:block;color:var(--muted);font-size:.86rem}.change-history{margin-top:2rem;border-top:1px solid var(--line);padding-top:1rem;font-size:.85rem}.change-history summary{cursor:pointer}.search-panel{padding:1.3rem;background:var(--pale);border:1px solid var(--line);border-radius:.4rem;margin:1.8rem 0}.search-panel label{display:block;font-weight:600}.search-panel input,.search-panel select{width:100%;min-height:48px;background:#fff;border:1px solid #647460;border-radius:.25rem;padding:.5rem .6rem;color:var(--ink)}.filter-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.8rem;align-items:end;margin-top:.8rem}.filter-row label{font-size:.88rem}.result-count{margin:.8rem 0 0;font-size:.88rem}.category-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;list-style:none;padding:0}.category-index li{border-bottom:1px solid var(--line);padding:.7rem 0}.category-index a{font-weight:700}.category-index small{display:block;color:var(--muted);font-size:.83rem}.article-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.article-card{border:1px solid var(--line);background:#fff;border-radius:.35rem;padding:1.15rem;display:flex;flex-direction:column}.article-card h3{margin:.4rem 0 .65rem}.article-card p{font-size:.91rem;line-height:1.8;margin:.4rem 0 .8rem}.article-card .card-meta{font-size:.75rem;color:var(--muted)}.article-card .sheet-link{font-size:.85rem;margin-top:auto}.category-group{scroll-margin-top:1rem}.category-group>h2{margin-bottom:.3rem}.category-link{font-size:.88rem}.footer{background:var(--cream);padding:1.7rem 1.5rem;color:var(--muted);font-size:.85rem}.footer>div{max-width:1120px;margin:auto}.footer nav{display:flex;gap:1.2rem;flex-wrap:wrap}.footer p{margin:.6rem 0}.policy-note{border-left:3px solid #afbdab;padding-left:1rem}.worksheet-page h1{font-size:2rem}
@media(max-width:720px){:root{font-size:17px}.page{padding:1rem 1rem 2.5rem}.masthead{padding:.9rem 1rem;align-items:flex-start;flex-direction:column;gap:.35rem}.masthead nav{font-size:.82rem;gap:1rem}.article-grid,.category-index{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr}.filter-row label:first-child{grid-column:1/-1}.filter-row button{grid-column:1/-1}.worksheet{padding:1rem .75rem}.first-step{padding:1rem}.breadcrumbs{margin-bottom:1rem}h1{font-size:1.85rem}h2{font-size:1.35rem}.controls>*{flex:1 1 13rem}thead th,td,tbody th{padding:.5rem}.scene{margin:1.2rem 0 1.5rem}}
/* Home, shared navigation and the inherited mobility planner. */
@media screen {
  .skip{z-index:100}.masthead{display:block;position:sticky;top:0;z-index:20;padding:.85rem max(1rem,calc((100vw - 1120px)/2));background:rgba(255,253,248,.98)}
  .masthead-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.brand{display:inline-flex;gap:.65rem;align-items:center;color:var(--ink);letter-spacing:.025em;font-size:1.3rem;line-height:1.4}.brand-emblem{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid #7c9283;border-radius:50% 50% 7px 7px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.35rem;font-weight:400;color:var(--green)}.brand-suffix{font-size:.8em}.brand small{display:block;font-size:.61rem;font-weight:400;letter-spacing:.025em;margin-top:.12rem}.masthead .desktop-nav{display:flex;gap:1.25rem;align-items:center;font-size:.8rem;font-weight:600}.desktop-nav a{padding:.4rem 0;text-decoration:none;white-space:nowrap}.desktop-nav a:hover{text-decoration:underline}.menu-toggle{display:none}
  .site-menu{border:0;padding:1.25rem 1.5rem 2rem;color:var(--ink);background:var(--paper);width:min(27rem,calc(100% - 1.2rem));height:100%;height:100dvh;max-width:none;max-height:none;margin:0 0 0 auto;overflow-y:auto;overscroll-behavior:contain;box-shadow:-8px 0 40px #16372c26}.site-menu::backdrop{background:#172e26a8}.menu-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem}.menu-top p{font-size:.83rem;font-weight:700;margin:0;flex:1 0 auto}.menu-close{display:flex;align-items:center;gap:.25rem;flex-shrink:0;background:transparent;color:var(--ink);border:1px solid #8b9b8d;padding:.3rem .65rem;font-size:.82rem}.menu-close span{font-size:1.45rem;font-weight:400}.menu-intro{font-size:1.35rem;line-height:1.7;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;margin:1.5rem 0}.site-menu nav{display:grid}.site-menu nav a{position:relative;padding:1rem 1.8rem 1rem 0;min-height:52px;border-bottom:1px solid var(--line);font-weight:600;text-decoration:none;font-size:.98rem}.site-menu nav a::after{content:"→";position:absolute;right:.1rem;color:var(--green)}.site-menu nav a:hover{background:var(--pale)}.menu-footnote{font-size:.8rem;color:var(--muted);margin-top:1.6rem}.page{padding-top:1.8rem}:target{scroll-margin-top:7rem}.section-content,.category-group{scroll-margin-top:7rem}
  .home-hero{display:grid;grid-template-columns:1fr 1.06fr;align-items:center;gap:2.4rem;padding:1.1rem 0 2.5rem}.home-hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.1rem,3.3vw,2.7rem);font-weight:600;line-height:1.65;letter-spacing:.03em;margin:.8rem 0 1.1rem}.hero-copy>p:not(.eyebrow){font-size:.95rem;line-height:2}.hero-copy .hero-description{font-size:1.1rem;margin-bottom:1rem}.hero-actions{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem}.hero-actions .button{padding:.85rem 1.15rem;display:inline-flex;gap:1.1rem}.text-link{font-size:.92rem;font-weight:700;text-decoration:none;border-bottom:1px solid #839a89;padding-bottom:.2rem}.text-link:hover{border-color:var(--green);text-decoration:underline}.text-link span{margin-left:.4rem}.home-figure{margin:0}.home-figure img{display:block;width:100%;height:auto;background:var(--cream)}.home-figure figcaption{font-size:.67rem;color:var(--muted);margin-top:.35rem;text-align:right}.hero-image .home-figure img{border-radius:3.2rem .4rem 3.2rem .4rem}.image-note{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.07em;font-size:.93rem;text-align:center;margin-top:1rem}.small-break{display:none}.home-introduction{display:flex;align-items:baseline;gap:3.5rem;padding:1.7rem 0 2.6rem;border-bottom:1px solid var(--line)}.section-kicker{font-size:.8rem;color:var(--rust);font-weight:700;white-space:nowrap}.home-introduction p{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:2.1;font-size:1.22rem;margin:0}.home-section{padding:3rem 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.8rem}.section-heading h2,.mobility-feature h2,.home-policy h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;font-size:1.9rem;line-height:1.65;letter-spacing:.02em;margin:.5rem 0 0}.section-heading .text-link{flex-shrink:0;margin-bottom:.35rem}.concern-links{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}.concern-links li{border-top:1px solid var(--line)}.concern-links li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.concern-links a{display:flex;flex-direction:column;position:relative;padding:1.15rem 2rem 1.15rem .25rem;text-decoration:none;min-height:6rem}.concern-links a>span:first-child{font-weight:700;font-size:1.02rem}.concern-links small{display:block;color:var(--muted);font-size:.81rem;margin-top:.3rem}.concern-links a:hover{background:var(--pale)}.link-arrow{position:absolute;right:.35rem;top:1.35rem;font-size:1.1rem}.home-search{margin-top:1.6rem;background:var(--pale);padding:1.2rem 1.4rem;border-radius:.5rem}.home-search label{font-size:.9rem;font-weight:700;display:block;margin-bottom:.5rem}.home-search>div{display:flex;gap:.6rem}.home-search input{font:inherit;font-size:.92rem;min-width:0;flex:1;border:1px solid #647460;border-radius:.3rem;background:#fff;padding:.6rem .8rem;min-height:48px}.home-search button{white-space:nowrap}.audience-section{border-top:1px solid var(--line)}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.audience-grid article{background:#f2f1e9;border-radius:.5rem;padding:1.8rem 2rem;display:flex;flex-direction:column}.audience-grid article:nth-child(2){background:#edf1ec}.audience-label{font-size:.8rem;font-weight:700;color:var(--rust);margin:0}.audience-grid h3{font-size:1.25rem;margin:.8rem 0;line-height:1.7}.audience-grid p:not(.audience-label){font-size:.93rem}.audience-grid .text-link{align-self:flex-start;margin-top:auto}
  .mobility-feature{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:3rem;background:var(--green);color:#fff;margin:1rem -1.5rem;padding:2.7rem 2rem;border-radius:.6rem}.mobility-feature .eyebrow{color:#e8d6b9}.mobility-feature p{font-size:.96rem}.mobility-feature .note{font-size:.78rem;color:#edf3ea}.mobility-feature .button{background:var(--paper);color:var(--ink);border-color:var(--paper);margin-top:.4rem}.plan-preview{background:#fcfbf5;color:var(--ink);padding:1.7rem 1.6rem;border-radius:.35rem;box-shadow:7px 9px 0 #274b3e}.sheet-tag{display:inline-block;font-size:.8rem;font-weight:700;color:var(--rust);padding-bottom:.65rem;border-bottom:1px solid var(--line);width:100%}.plan-preview ol{list-style:none;padding:0;margin:.5rem 0 0;counter-reset:plan}.plan-preview li{counter-increment:plan;position:relative;padding:1.1rem 0 1.1rem 2rem;border-bottom:1px dashed var(--line)}.plan-preview li:last-child{border-bottom:0}.plan-preview li::before{content:counter(plan,decimal-leading-zero);position:absolute;left:0;top:1.1rem;font-size:.75rem;color:var(--rust)}.plan-preview li span{display:block;font-size:.8rem;color:var(--muted)}.plan-preview strong{font-size:.95rem;font-weight:600}.sheets-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.sheets-layout .home-figure img{border-radius:.4rem}.featured-sheets{list-style:none;padding:0;margin:0}.featured-sheets li{display:flex;gap:1rem;border-top:1px solid var(--line);padding:1rem 0}.featured-sheets li:last-child{border-bottom:1px solid var(--line)}.sheet-number{font-family:Georgia,serif;font-size:1.4rem;color:var(--rust);padding-top:.2rem}.featured-sheets h3{margin:.3rem 0 .5rem;font-size:1.05rem}.featured-sheets p{font-size:.85rem;margin:.5rem 0}.featured-sheets .text-link{font-size:.8rem}.home-page .category-index{column-gap:2rem}.home-page .category-index li{padding:1rem 0}.home-page .category-index a{font-size:.96rem;text-decoration:none}.home-page .category-index a:hover{text-decoration:underline}.home-page .category-index small{margin-top:.4rem}.home-policy{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.1fr;gap:2.5rem}.home-policy p{font-size:.94rem}.footer{padding:2.3rem 1.5rem;background:#ebece3}.footer-heading{display:flex;gap:2rem;align-items:center;margin-bottom:1.2rem}.footer-heading p{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:.95rem}.footer nav{padding:1rem 0;border-top:1px solid #b9c4b7;border-bottom:1px solid #b9c4b7;margin-bottom:1rem}.footer nav a{min-height:36px;display:inline-flex;align-items:center}.footer>div>p{font-size:.75rem}.sitemap-main,.sitemap-categories{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.7rem 1.3rem}.sitemap-main{padding:1rem;background:var(--pale)}.sitemap-categories{font-size:.87rem;margin:1.8rem 0}.sitemap-categories a{display:inline-block;padding:.35rem 0}.sitemap-group{border-top:1px solid var(--line);padding-bottom:1.8rem}.sitemap-group ul{columns:2;column-gap:2.5rem;padding-left:1.25rem}.sitemap-group li{break-inside:avoid;padding:.5rem 0;font-size:.93rem}
  .planner-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:1.5rem;align-items:start}.trip-form,.plan-output{border:1px solid var(--line);border-radius:.45rem;padding:1.3rem;background:var(--pale)}.plan-output{background:#fff}.trip-form h2,.plan-output h2{font-size:1.3rem;margin:.25rem 0 1rem}.trip-form>p{font-size:.85rem}.trip-form label{display:block;font-size:.9rem;font-weight:600;margin:.85rem 0 .35rem}.trip-form input,.trip-form select{width:100%;min-width:0;min-height:48px;background:#fff;color:var(--ink);border:1px solid #647460;border-radius:.25rem;padding:.6rem;font-size:.94rem}.planner-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.trip-form button{margin-top:1rem;width:100%}.plan-summary{display:flex;flex-wrap:wrap;gap:1.1rem;margin:1.2rem 0}.plan-summary>div{flex:1 1 5rem;border-bottom:1px solid var(--line);padding-bottom:.7rem}.plan-summary dt{font-size:.74rem;font-weight:600}.plan-summary dd{margin:0;font-size:1.65rem;font-variant-numeric:tabular-nums;font-weight:600}.plan-summary dd small{font-size:.75rem;margin-left:.25rem}.trip-list{list-style:none;padding:0}.trip-item{padding:1rem 0;border-top:1px solid var(--line);display:flex;gap:.8rem;align-items:start;justify-content:space-between}.trip-item h4{margin:0;font-size:1rem;overflow-wrap:anywhere}.trip-item p{margin:.35rem 0;font-size:.83rem}.trip-item__remove{font-size:.75rem;background:#fff;color:var(--ink);border-color:#84998a;padding:.5rem;min-width:3rem;flex-shrink:0}.empty-state{background:var(--cream);padding:1.5rem 1rem;text-align:center;font-size:.9rem}.plan-output .controls{margin-bottom:.5rem}.plan-output .controls button{font-size:.85rem}#tool-status{font-size:.82rem;color:var(--green)}button:disabled{cursor:default;opacity:.6}.mobility-page>.policy-note{margin-top:2rem}
}
@media screen and (max-width:1000px){.masthead .desktop-nav{gap:.7rem;font-size:.75rem}.home-hero{gap:1.5rem}.hero-actions{gap:1rem}.home-hero h1{font-size:2.2rem}.hero-copy>p:not(.eyebrow){font-size:.9rem}}
@media screen and (max-width:850px){.masthead{padding:.65rem 1rem}.masthead-inner{flex-wrap:wrap;gap:.65rem}.brand{font-size:1.17rem}.brand-emblem{width:2.1rem;height:2.1rem;font-size:1.2rem}.brand small{font-size:.58rem}.masthead .desktop-nav{width:100%;flex-wrap:wrap;font-size:.84rem;gap:.5rem 1rem}.menu-ready .desktop-nav{display:none}.menu-ready .menu-toggle{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-direction:column;min-width:58px;min-height:54px;padding:.4rem .45rem;border:1px solid #a5b4a4;border-radius:.35rem;background:var(--paper);color:var(--ink);font-size:.62rem;line-height:1.15}.menu-bars{width:22px;height:14px;display:block;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}.menu-bars::before{content:"";position:absolute;left:0;right:0;top:5px;border-top:2px solid currentColor}.home-hero{grid-template-columns:1fr;gap:1.5rem;padding:1rem 0 1.8rem}.home-hero h1{font-size:2.45rem;line-height:1.6}.hero-copy>p:not(.eyebrow){font-size:1rem}.hero-copy .eyebrow{font-size:.8rem}.hero-image{max-width:650px}.hero-image .home-figure img{border-radius:2rem .3rem 2rem .3rem}.hero-actions{margin-top:1.3rem}.home-introduction{gap:1.5rem;padding:1.5rem 0 2rem}.home-introduction p{font-size:1.1rem}.home-section{padding:2.2rem 0}.section-heading{align-items:flex-start;flex-direction:column;gap:.8rem}.section-heading h2,.mobility-feature h2,.home-policy h2{font-size:1.65rem}.audience-grid article{padding:1.3rem}.audience-grid h3{font-size:1.1rem}.mobility-feature{gap:1.8rem;margin:1rem 0;padding:1.7rem 1.3rem;grid-template-columns:1fr}.plan-preview{max-width:600px;width:100%}.sheets-layout{gap:1.5rem}.home-policy{gap:1.3rem}.planner-layout{grid-template-columns:1fr}.planner-field-row{grid-template-columns:1fr 1fr}.sitemap-group ul{columns:1}}
@media screen and (max-width:560px){.page{padding:1rem 1.1rem 2rem}.home-hero h1{font-size:2.25rem;line-height:1.6}.small-break{display:block}.desktop-break{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.hero-actions .button{width:100%;justify-content:space-between}.hero-description{margin-top:.5rem}.home-introduction{display:block}.section-kicker{display:block;margin-bottom:.7rem}.home-introduction p{font-size:1.06rem}.concern-links{grid-template-columns:1fr}.concern-links li:nth-last-child(2){border-bottom:0}.concern-links a{min-height:0;padding:1rem 1.6rem 1rem 0}.concern-links a>span:first-child{font-size:1rem}.concern-links small{font-size:.8rem}.home-search{padding:1.1rem}.home-search>div{flex-direction:column}.home-search input{width:100%}.home-search button{width:100%}.audience-grid,.sheets-layout,.home-policy{grid-template-columns:1fr}.audience-grid{gap:1rem}.audience-grid article{padding:1.5rem}.audience-grid h3{font-size:1.18rem}.section-heading h2,.mobility-feature h2,.home-policy h2{font-size:1.6rem}.section-heading{margin-bottom:1.2rem}.featured-sheets li{gap:.8rem}.mobility-feature .button{width:100%;padding:.8rem;font-size:.92rem}.plan-preview{padding:1.2rem}.plan-preview strong{font-size:.9rem}.footer-heading{display:block}.footer-heading p{margin:.5rem 0 0}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1rem;font-size:.85rem}.footer nav a{min-height:44px}.site-menu{padding:1rem 1.2rem 2rem}.menu-intro{font-size:1.25rem}.site-menu nav a{font-size:.95rem}.planner-field-row{grid-template-columns:1fr}.trip-form,.plan-output{padding:1rem}.plan-summary{gap:.8rem}.plan-summary>div:last-child{flex-basis:100%}}
@media screen and (max-width:360px){.brand-emblem{display:none}.home-hero h1{font-size:2rem}.home-hero .eyebrow{font-size:.75rem}.section-heading h2,.mobility-feature h2,.home-policy h2{font-size:1.45rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{@page{size:A4;margin:16mm}:root{font-size:11pt;line-height:1.6;background:#fff;color:#000}.masthead,.footer,.stage-banner,.no-print,.breadcrumbs,.toc,.controls,.skip{display:none!important}.page,.reading{max-width:none;margin:0;padding:0}.worksheet{padding:0;border:0;background:#fff;margin:1rem 0}.scene img{max-height:70mm;object-fit:contain}h1{font-size:19pt}h2{font-size:15pt}h3{font-size:12pt}h1,h2,h3,caption{break-after:avoid}tr,figure,.first-step,blockquote{break-inside:avoid}.table-scroll{overflow:visible;padding:0}.table-scroll.comparison table{min-width:0;width:100%}table{font-size:9pt;table-layout:fixed}td,th{border-color:#555;padding:3mm}textarea{display:none}.print-value{display:block;white-space:pre-wrap;min-height:12mm;overflow-wrap:anywhere}a{color:#000}.first-step{background:#fff;border-color:#444}.meta,.note{font-size:9pt;color:#333}.article-grid{display:block}.article-card{margin:3mm 0}.sources{font-size:9pt}}
@media screen and (max-width:360px){.home-hero h1{font-size:1.85rem;letter-spacing:.02em}}@media print{.site-menu,.trip-form,.trip-item__remove,.home-search,.menu-toggle{display:none!important}.home-figure img{max-width:100%;max-height:70mm;object-fit:contain}.plan-summary{display:flex;gap:15mm}.plan-summary dd{margin:0;font-size:15pt}.plan-summary dt{font-size:10pt}.trip-list{padding:0;list-style:none}.trip-item{border-top:1px solid #888;padding:3mm 0;break-inside:avoid}.trip-item h4{margin:0}.trip-item p{margin:1.5mm 0}.small-break{display:none}.home-section{margin:8mm 0}.home-page .home-hero h1{font-size:22pt}}/* The couple mark has its own size rules; the legacy 360px emblem rule does not apply. */@media screen {  .masthead .brand-couple{width:288px;min-height:64px;flex:0 0 auto;gap:8px;letter-spacing:0;line-height:1.25}  .masthead .brand-mark{display:block;flex:0 0 96px;width:96px;height:64px;object-fit:contain}  .masthead .brand-wordmark{display:block;font-size:28px;letter-spacing:.015em;font-weight:700;white-space:nowrap}  .masthead .brand-wordmark .brand-suffix{font-size:.75em;letter-spacing:0}  .masthead .brand-wordmark .brand-caption{font-size:10.5px;line-height:1.5;font-weight:400;letter-spacing:.015em;margin-top:5px}  .home-pathways{padding:1.3rem 0 2rem;border-bottom:1px solid var(--line)}  .home-pathways-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 1.1rem}  .home-pathways-heading h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1.4rem;line-height:1.6;font-weight:600;margin:0}  .home-pathways-heading p{font-size:.82rem;color:var(--muted);margin:0}  .home-pathway-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0}  .home-pathway-list>li{display:flex;min-width:0}  .home-pathway{display:flex;flex-direction:column;align-items:center;width:100%;position:relative;padding:1.25rem 1rem 1rem;border:1px solid #d2dcd1;border-radius:1rem;background:#fffdfa;color:var(--ink);text-align:center;text-decoration:none;box-shadow:0 3px 0 #d7dfd133;isolation:isolate}  .home-pathway--family{background:#fcf5f1;border-color:#e3ccc4}  .home-pathway--procedure{background:#f3f7f2}  .home-pathway--life{background:#f3f7f8;border-color:#ccdce0}  .home-pathway:focus-visible{outline-offset:5px}  .home-pathway:hover{text-decoration:none;border-color:var(--green);box-shadow:0 5px 14px #254a3a12}  .home-pathway-icon{display:flex;align-items:center;justify-content:center;width:100%;height:104px;margin:0 0 .7rem;transform-origin:center 80%}  .home-pathway-icon img{display:block;width:100px;height:100px;object-fit:contain;max-width:100%}  .home-pathway--family .home-pathway-icon img{width:144px;height:96px}  .home-pathway h3{font-size:1.04rem;line-height:1.5;margin:0 0 .45rem;letter-spacing:.005em}  .home-pathway p{font-size:.82rem;color:var(--muted);line-height:1.75;margin:0 0 .8rem}  .home-pathway-arrow{display:grid;place-items:center;align-self:flex-end;margin-top:auto;width:1.8rem;height:1.8rem;line-height:1;border:1px solid #aebfb1;border-radius:50%;font-size:1rem;color:var(--green)}}@media screen and (max-width:850px){  .masthead .brand-couple{width:248px;min-height:56px;gap:8px}  .menu-ready .masthead .masthead-inner{flex-wrap:nowrap}  .menu-ready .masthead .brand-couple{max-width:calc(100% - 70px);min-width:0;flex-shrink:1}  .menu-ready .masthead .brand-wordmark{min-width:0}  .masthead .brand-mark{flex-basis:80px;width:80px;height:56px}  .masthead .brand-wordmark{font-size:26px}  .masthead .brand-wordmark .brand-caption{font-size:10px;letter-spacing:0;margin-top:4px}  .home-pathway-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}  .home-pathways-heading{display:block}  .home-pathways-heading p{margin-top:.35rem}}@media screen and (max-width:560px){  .home-pathways{padding:1rem 0 1.6rem}  .home-pathways-heading h2{font-size:1.3rem}  .home-pathway{padding:1rem .65rem .7rem;border-radius:.8rem}  .home-pathway-icon{height:88px;margin-bottom:.55rem}  .home-pathway-icon img{width:84px;height:84px}  .home-pathway--family .home-pathway-icon img{width:126px;height:84px}  .home-pathway h3{font-size:.98rem}  .home-pathway p{font-size:.78rem;line-height:1.7;margin-bottom:.6rem}  .home-pathway-arrow{width:1.6rem;height:1.6rem}}@media screen and (max-width:360px){  .masthead .brand-couple{width:208px;min-height:48px;gap:7px}  .masthead .brand-mark{flex-basis:64px;width:64px;height:48px}  .masthead .brand-wordmark{font-size:23px}  .masthead .brand-wordmark .brand-caption{font-size:10px;line-height:1.4;margin-top:4px}  .home-pathway-list{gap:.55rem}  .home-pathway{padding:.8rem .5rem .6rem}  .home-pathway h3{font-size:.93rem}  .home-pathway p{font-size:.75rem}}/* Entry plays once. Focus and hover move only the artwork, never the clickable target. */@media screen and (prefers-reduced-motion:no-preference){  .home-pathway.is-arriving .home-pathway-icon{animation:menkyo-icon-arrive 900ms cubic-bezier(.22,.7,.24,1) both;animation-delay:var(--arrival-delay,0ms)}  .home-pathway:not(.is-arriving):focus-visible .home-pathway-icon{animation:menkyo-icon-nod 650ms ease-out both}  .home-pathway--life:not(.is-arriving):focus-visible .home-pathway-icon{animation-name:menkyo-icon-ride}  @media(hover:hover){    .home-pathway:not(.is-arriving):hover .home-pathway-icon{animation:menkyo-icon-nod 650ms ease-out both}    .home-pathway--life:not(.is-arriving):hover .home-pathway-icon{animation-name:menkyo-icon-ride}  }}@keyframes menkyo-icon-arrive{0%{opacity:.55;transform:translateY(8px) scale(.96)}55%{opacity:1;transform:translateY(-3px) scale(1.02)}100%{opacity:1;transform:none}}@keyframes menkyo-icon-nod{0%,100%{transform:none}35%{transform:rotate(-3deg) translateY(-3px)}70%{transform:rotate(1deg) translateY(-1px)}}@keyframes menkyo-icon-ride{0%,100%{transform:none}35%{transform:translateX(5px) translateY(-2px) rotate(1deg)}70%{transform:translateX(2px)}}@media(prefers-reduced-motion:reduce){.home-pathway .home-pathway-icon{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}@media print{.home-pathways{break-inside:avoid}.home-pathway-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:4mm}.home-pathway-icon{display:none}.home-pathway h3{font-size:11pt}.home-pathway p{font-size:9pt}.home-pathway-arrow{display:none}}/* The native dialog stays modal until its closing transition finishes. */@media screen {  .site-menu{padding:0;transform:translateX(104%);opacity:.82;transition:transform 280ms cubic-bezier(.22,.72,.22,1),opacity 200ms ease;will-change:transform;scrollbar-gutter:stable}  .site-menu.is-visible{transform:translateX(0);opacity:1}  .site-menu::backdrop{background:#172e26;opacity:0;transition:opacity 200ms ease}  .site-menu.is-visible::backdrop{opacity:.58}  .site-menu .menu-top{position:sticky;top:0;z-index:2;gap:.7rem;margin:0;padding:max(.85rem,env(safe-area-inset-top)) max(1.1rem,env(safe-area-inset-right)) .85rem 1.1rem;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 3px 10px #233c2f05}  .site-menu .menu-top p{font-size:.88rem;letter-spacing:.04em}  .site-menu .menu-close{min-height:48px;min-width:88px;border-color:#b2c0b3;border-radius:999px;background:#fffdf9;padding:.35rem .8rem;gap:.35rem}  .site-menu .menu-close:hover{background:#f1f5ed}  .menu-content{padding:0 max(1.1rem,env(safe-area-inset-right)) max(1.4rem,env(safe-area-inset-bottom)) 1.1rem}  .site-menu .menu-intro{font-size:1.15rem;line-height:1.65;margin:1.1rem 0}  .menu-features{display:grid;gap:.65rem;margin:0 0 1.35rem}  .menu-feature{display:grid;grid-template-columns:72px minmax(0,1fr) 14px;align-items:center;gap:10px;min-height:108px;padding:12px 10px;border:1px solid #ded9c9;border-radius:.8rem;background:#f7f3e8;color:var(--ink);text-decoration:none;box-shadow:0 2px 0 #d8d8ca22}  .menu-feature--family{background:#fcf1ed;border-color:#e6cbc2}  .menu-feature img{display:block;width:72px;height:72px;object-fit:contain}  .menu-feature-copy{display:block;min-width:0}  .menu-feature strong{display:block;font-size:16px;line-height:1.55;font-weight:700;overflow-wrap:anywhere}  .menu-feature small{display:block;font-size:12px;line-height:1.65;color:#546457;margin-top:4px;overflow-wrap:anywhere}  .menu-feature-arrow{color:var(--green);font-size:17px;line-height:1}  .menu-feature:hover{border-color:#8fa58e;text-decoration:none;background:#f1f3e7}  .menu-feature--family:hover{border-color:#c6a79d;background:#f8eae5}  .menu-feature:focus-visible{outline-offset:3px}  .site-menu .menu-content nav a{min-height:52px;padding:.8rem 1.6rem .8rem .1rem;font-size:.92rem}  .site-menu .menu-footnote{font-size:.76rem;line-height:1.8;margin:1.2rem 0 0}  .menu-toggle .menu-bars{width:22px;height:18px;position:relative;border:0;display:block}  .menu-toggle .menu-bars::before{content:none}  .menu-toggle .menu-bars>span{position:absolute;left:0;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform 220ms ease,opacity 160ms ease}  .menu-toggle .menu-bars>span:nth-child(1){top:1px}  .menu-toggle .menu-bars>span:nth-child(2){top:8px}  .menu-toggle .menu-bars>span:nth-child(3){top:15px}  .menu-toggle[aria-expanded="true"] .menu-bars>span:nth-child(1){transform:translateY(7px) rotate(45deg)}  .menu-toggle[aria-expanded="true"] .menu-bars>span:nth-child(2){opacity:0}  .menu-toggle[aria-expanded="true"] .menu-bars>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}@media screen and (max-width:360px){  .menu-content{padding-left:.9rem;padding-right:max(.9rem,env(safe-area-inset-right))}  .site-menu .menu-top{padding-left:.9rem;padding-right:max(.9rem,env(safe-area-inset-right))}  .menu-feature{grid-template-columns:64px minmax(0,1fr) 12px;gap:8px;padding:10px 8px}  .menu-feature img{width:64px;height:64px}  .menu-feature strong{font-size:15.5px}}@media screen and (max-height:500px){.site-menu .menu-intro{margin:.8rem 0}.menu-features{margin-bottom:1rem}}@media(prefers-reduced-motion:reduce){.site-menu,.site-menu::backdrop,.menu-toggle .menu-bars>span{transition:none!important}}
