/* Local proposal: readable text, recognisable situations and connected steps. */
.arrival-candidate .site-introduction{background:#f7fafc;border-bottom:1px solid #d4e2e9;padding-block:12px}
.arrival-candidate .site-introduction p{font-size:.9375rem;line-height:1.45;margin:0}
.arrival-candidate .site-introduction .site-introduction__purpose{margin-top:4px}
.arrival-candidate .site-introduction .site-introduction__limits{font-size:.875rem;line-height:1.45;color:#4b6170;margin-top:5px}
.arrival-candidate .home-intro--with-purpose-banner .arrival-grid{align-items:center}
.arrival-candidate .arrival-start{margin:20px 0 0}
.arrival-candidate .arrival-start a{font-weight:500}
.arrival-candidate{--reading-size:1rem;font-size:1rem;line-height:1.5}
.arrival-candidate p,.arrival-candidate .prose,.arrival-candidate .lede{font-size:1rem;line-height:1.5}
.arrival-candidate .container{max-width:1180px;padding-inline:32px}
.arrival-candidate .masthead{padding-block:0}
.arrival-candidate .brand{font-size:2rem}
.arrival-candidate .desktop-nav{margin-top:8px;gap:0 24px}
.arrival-candidate .desktop-nav a,.arrival-candidate .language-link{font-size:1rem}
.arrival-candidate .home-intro{background:#fff;padding-block:26px}
.arrival-candidate .arrival-audience{font-size:.875rem;color:#4b6170;margin:0 0 18px}
.arrival-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:start}
.arrival-candidate .arrival-label{font-size:.875rem;font-weight:500;color:#0b587e;margin:0 0 12px}
.arrival-example{background:#edf6fa;border-left:3px solid #0b587e;padding:22px 24px}
.arrival-example h2{font:500 1rem/1.4 Roboto,Arial,sans-serif;margin:0 0 18px}
.arrival-example blockquote{padding:0;border:0;background:none;margin:0 0 12px}
.arrival-candidate .arrival-example blockquote p{font:400 1.5rem/1.35 Georgia,serif;margin:0}
.arrival-candidate .arrival-example .example-note{font-size:.8125rem;color:#526772;margin:0 0 20px}
.arrival-example>p{margin-bottom:14px}
.arrival-example>a{font-size:1rem;font-weight:500}
.arrival-candidate .home-intro h1{font:500 2rem/1.2 Roboto,Arial,sans-serif;max-width:27ch;margin:0 0 20px}
.arrival-candidate .home-intro h1 .hero-question{display:block;font:inherit;color:inherit;letter-spacing:inherit}
.arrival-candidate .arrival-scope{max-width:57ch;margin-bottom:16px}
.arrival-candidate .arrival-purpose{font-weight:500;color:#0b587e;margin-bottom:0}
.arrival-steps{list-style:none;padding:18px 22px;margin:0;background:#edf6fa;border:1px solid #c4dbe5}
.arrival-steps li{display:flex;gap:14px;position:relative;margin:0;padding:0 0 18px}
.arrival-steps li:last-child{padding-bottom:0}
.arrival-steps li:not(:last-child):before{content:"";position:absolute;left:14px;top:28px;bottom:0;border-left:1px solid #85adc2}
.step-dot{flex:none;position:relative;background:#0b587e;color:#fff;width:29px;height:29px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem}
.arrival-steps h2{font:500 1.125rem/1.35 Roboto,Arial,sans-serif;margin:1px 0 5px}
.arrival-steps p{margin:0;color:#334e5d}
.arrival-sources{display:flex;gap:24px;align-items:center;border-top:1px solid #c4dbe5;margin-top:24px;padding-top:16px}
.arrival-sources p{margin:0;max-width:77ch;color:#4b6170}
.arrival-sources a{flex-shrink:0;font-size:1rem}
.situations{padding-block:24px 12px}
.arrival-candidate .situations>h2{font:500 1.5rem/1.3 Roboto,Arial,sans-serif;margin:0 0 18px}
.situation-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.situation-card{padding:16px 18px;border:1px solid #c4dbe5;background:#f4f9fc;text-decoration:none;color:#123346}
.situation-card:hover{background:#e4f1f7;border-color:#0b587e}
.arrival-candidate .situation-card h3{font:500 1.125rem/1.35 Roboto,Arial,sans-serif;color:#0b587e;margin:0 0 7px;min-height:0}
.situation-card p{margin:0}
.all-routes{margin-block:12px 28px;border-bottom:1px solid #c4dbe5;padding-bottom:12px}
.all-routes>summary{cursor:pointer;font-size:1rem;font-weight:500;padding:10px 0;color:#0b587e}
.all-routes .starting-points{margin-top:12px;padding-block:20px}
.all-routes .container{padding-inline:20px}
.all-routes .starting-points h2{font-size:1.375rem}
.all-routes .start-group h3{font-size:1.125rem}
.home-commitments{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;margin-block:20px 30px}
.arrival-candidate .home-context,.arrival-candidate .home-evidence{display:block;width:auto;padding:20px;margin:0;background:#f4f9fc;border:0}
.arrival-candidate .home-context h2,.arrival-candidate .home-evidence h2{font:500 1.375rem/1.3 Roboto,Arial,sans-serif;margin:0 0 14px}
.arrival-candidate .home-context p,.arrival-candidate .home-evidence p{font-size:1rem;line-height:1.5;margin:0 0 12px}
.arrival-candidate .home-evidence{background:#faf4e9}
.arrival-candidate .home-evidence__inner{display:block;padding:0}
.arrival-candidate .home-responsibility{padding-block:26px}
.arrival-candidate .home-responsibility h2{font:400 1.5rem/1.3 Georgia,serif;max-width:70ch;margin:0 0 14px}
.arrival-candidate .home-responsibility p{max-width:80ch;margin-bottom:16px}
.arrival-candidate .home-action{font-size:1rem;padding:12px 14px}
.arrival-candidate .page-head h1{font:500 2rem/1.2 Roboto,Arial,sans-serif}
.arrival-candidate .prose h2{font-size:1.375rem}
.arrival-candidate .desktop-contents a,.arrival-candidate .topic-contents a{font-size:1rem;line-height:1.4}
.arrival-candidate .candidate-reading summary h2{font:500 1.125rem/1.4 Roboto,Arial,sans-serif;margin:0}
.arrival-candidate .candidate-reading summary{padding-block:18px}
.arrival-candidate .candidate-reading .disclosure-body{padding:0 18px 18px}
.arrival-candidate .candidate-reading .disclosure-body p:last-child{margin-bottom:0}
/* Bounded homepage refinement. Destination-page typography is unchanged. */
.home-balance .masthead-inner{row-gap:0;padding-block:10px}
.home-balance .brand{align-self:center}
.home-balance .desktop-nav{margin-top:0}
.home-balance .site-introduction p{line-height:1.4}
.home-balance .site-introduction .site-introduction__purpose{margin-top:0}
.home-balance .site-introduction .site-introduction__limits{font-size:.8125rem;line-height:1.4;margin-top:10px}
.home-balance .home-intro{padding-block:28px 24px}
.home-balance .home-intro .arrival-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:40px;align-items:start}
.home-balance .arrival-label{font-size:1.25rem;line-height:1.35;margin-bottom:12px}
.home-balance .home-intro h1{font-size:2.25rem;line-height:1.2;max-width:none;margin-bottom:16px}
.home-balance .arrival-start{margin-top:18px}
.home-balance .arrival-ideas{border-left:2px solid #c4dbe5;padding-left:24px}
.home-balance .arrival-ideas h2{font:500 1rem/1.4 Roboto,Arial,sans-serif;margin:0 0 8px}
.home-balance .arrival-ideas ul{list-style:none;margin:0;padding:0}
.home-balance .arrival-ideas li{margin:0;padding:0}
.home-balance .arrival-ideas li+li{border-top:1px solid #d4e2e9}
.home-balance .arrival-ideas a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:10px;font-size:1rem;line-height:1.45;text-decoration:none}
.home-balance .arrival-ideas a:hover{text-decoration:underline}
.home-balance .arrival-ideas a span{flex:none}
.home-balance .arrival-practice{margin-block:20px 26px}
.home-balance .arrival-example{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:20px 24px}
.home-balance .arrival-example h2{margin-bottom:12px}
.home-balance .arrival-example blockquote p{font-size:1.375rem;line-height:1.35}
.home-balance .arrival-example .example-note{margin:0}
.home-balance .arrival-example__response>p{margin:0 0 14px}
.home-balance .arrival-example__response>a{font-size:1rem;font-weight:500}
.home-balance .example-carousel__top{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:12px}
.home-balance .example-carousel__top h2{font:500 1.5rem/1.3 Roboto,Arial,sans-serif;margin:0}
.home-balance .example-carousel__controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.home-balance .example-carousel button{font:inherit;color:#0b587e;background:white;border:1px solid #85adc2;cursor:pointer;min-height:44px}
.home-balance .example-carousel button:hover{background:#edf6fa}
.home-balance .example-carousel button:focus-visible{outline:3px solid #0b587e;outline-offset:3px}
.home-balance .example-carousel__controls button{width:44px;font-size:1.25rem}
.home-balance .example-carousel__count{font-size:.875rem;line-height:1.3;width:22ch;text-align:center}
.home-balance .example-carousel__select{display:none;width:100%;min-height:44px;font:400 1rem/1.4 Roboto,Arial,sans-serif;color:#0b587e;background:#fff;border:1px solid #85adc2;padding:8px 10px;margin-bottom:14px}
.home-balance .example-carousel__select:focus-visible{outline:3px solid #0b587e;outline-offset:3px}
.home-balance .example-carousel__choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.home-balance .example-carousel__choices button{padding:7px 12px;font-size:.9375rem;line-height:1.3}
.home-balance .example-carousel__choices button[aria-pressed="true"]{background:#0b587e;color:white;border-color:#0b587e}
.home-balance .example-carousel [hidden]{display:none}
.home-balance .example-carousel__viewport{touch-action:pan-y pinch-zoom}
.home-balance .example-carousel__slide{scroll-margin-top:24px}
.home-balance .example-carousel__slide+.example-carousel__slide{margin-top:14px}
.home-balance .example-carousel__slide[hidden]+.example-carousel__slide{margin-top:0}
.home-balance .example-carousel .arrival-example{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px}
.home-balance .example-carousel .arrival-example h3{font:500 1.125rem/1.35 Roboto,Arial,sans-serif;margin:0 0 14px}
.home-balance .example-carousel .example-carousel__lead{font:400 1.375rem/1.35 Georgia,serif;margin:0}
@media(max-width:760px){
 .arrival-candidate .container{padding-inline:22px}
 .arrival-candidate .brand{font-size:1.4rem}.arrival-candidate .home-intro{padding-block:20px}
 .arrival-grid,.situation-grid,.home-commitments{grid-template-columns:1fr;gap:16px}
 .arrival-candidate .home-intro h1,.arrival-candidate .page-head h1{font-size:1.75rem}
 .arrival-sources{display:block}.arrival-sources p{margin-bottom:12px}
 .arrival-candidate .home-context,.arrival-candidate .home-evidence{padding:18px}
 .all-routes .container{padding-inline:14px}
 .home-balance .home-intro .arrival-grid{grid-template-columns:1fr;gap:22px}
 .home-balance .arrival-label{font-size:1.125rem}
 .home-balance .home-intro h1{font-size:2rem}
 .home-balance .arrival-ideas{padding:14px 0 0;border-left:0;border-top:1px solid #c4dbe5}
 .home-balance .arrival-example{grid-template-columns:1fr;gap:16px;padding:18px}
 .home-balance .example-carousel__top{align-items:flex-start;flex-direction:column;gap:12px}
 .home-balance .example-carousel__top h2{font-size:1.375rem}
 .home-balance .example-carousel__controls{width:100%;justify-content:space-between}
 .home-balance .example-carousel__count{max-width:none}
 .home-balance .example-carousel__choices{display:none}
 .home-balance .example-carousel__select:not([hidden]){display:block}
 .home-balance .example-carousel .arrival-example{grid-template-columns:1fr;gap:18px}
}
@media print{.all-routes:not([open])>*{display:block}.all-routes>summary{display:block}.arrival-steps,.situation-card{break-inside:avoid}}
@media print{.home-balance .example-carousel__controls,.home-balance .example-carousel__choices,.home-balance .example-carousel__select{display:none!important}.home-balance .example-carousel__slide[hidden]{display:block!important}.home-balance .example-carousel__slide{break-inside:avoid;margin-top:16px!important}}
