/* Shared Rail Seva system. Scoped classes leave news cards and API pages isolated. */
.journey-banner,.journey-main,.journey-home{--journey-ink:#123b36;--journey-muted:#536c67;--journey-line:#d5e3dc;--journey-accent:#14695a;--journey-paper:#f6f8f2;}
.journey-banner{position:relative;overflow:hidden;background:#eaf0e6;border-bottom:1px solid var(--journey-line);padding:64px 0 74px;color:var(--journey-ink);}
.journey-banner::before{content:"";position:absolute;width:450px;height:450px;border:1px solid rgba(20,105,90,.1);border-radius:50%;right:-100px;top:-220px;pointer-events:none;}
.journey-banner-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;align-items:center;}
.has-banner-image .journey-banner-layout{grid-template-columns:1.15fr 1fr;}
.journey-kicker{display:block;font-size:.7rem;letter-spacing:.16em;font-weight:800;color:var(--journey-accent);margin-bottom:18px;}
.journey-banner h1{font-family:var(--font-body);font-size:clamp(2rem,4.3vw,3.8rem);font-weight:750;letter-spacing:-.055em;line-height:1.08;max-width:780px;margin:0 0 22px;}
.journey-banner-copy>p{font-size:1.04rem;line-height:1.8;max-width:590px;margin:0;color:var(--journey-muted);}
.journey-banner-art{position:relative;min-width:0;}
.journey-banner-art img{width:100%;height:270px;object-fit:contain;display:block;border-radius:22px;}
.journey-main{padding-top:42px;padding-bottom:72px;color:var(--journey-ink);}
.journey-main h2,.journey-home h2{font-family:var(--font-body);font-weight:750;letter-spacing:-.04em;font-size:clamp(1.5rem,2.5vw,2.05rem);line-height:1.2;}
.journey-main p{line-height:1.75;}
.journey-back{display:inline-flex;color:var(--journey-accent);font-weight:650;font-size:.82rem;margin-bottom:24px;text-decoration:underline;text-underline-offset:4px;}
.journey-workspace{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:30px;align-items:start;}
.journey-form-card,.journey-directory{border:1px solid var(--journey-line);border-radius:24px;padding:32px;background:#fff;box-shadow:0 12px 38px rgba(18,59,54,.035);min-width:0;}
.journey-tool-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eaf3ed;color:var(--journey-accent);font-size:1.25rem;margin-bottom:20px;}
.journey-muted,.journey-form-card>p,.journey-section-head p,.journey-more>p{color:var(--journey-muted);font-size:.88rem;}
.journey-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin:28px 0;}
.journey-fields:has(>.journey-field:only-child){grid-template-columns:1fr;}
.journey-field label{display:block;font-weight:700;font-size:.77rem;margin-bottom:9px;}
.journey-field input,.journey-field select,.journey-directory-search input{width:100%;min-height:52px;border:1px solid #ccdcd4;border-radius:12px;background:#fbfcf8;color:var(--journey-ink);padding:13px 15px;font:inherit;font-size:.9rem;}
.journey-field input:focus,.journey-field select:focus,.journey-directory-search input:focus{outline:3px solid #cce4d9;outline-offset:1px;border-color:var(--journey-accent);}
.journey-submit{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--journey-accent);color:#fff;border:1px solid var(--journey-accent);padding:14px 22px;border-radius:12px;font-size:.85rem;font-weight:750;min-height:50px;text-decoration:none;transition:background .18s,transform .18s;}
.journey-submit:hover{background:#0d5145;color:#fff;transform:translateY(-1px);}
.journey-submit:disabled{opacity:.6;cursor:wait;transform:none;}
.journey-help{padding:30px;background:#eaf0e6;border:1px solid var(--journey-line);border-radius:22px;}
.journey-help h2{font-size:1.25rem;}
.journey-help>p{font-size:.85rem;color:var(--journey-muted);}
.journey-help ol{list-style:none;padding:0;margin:28px 0 0;counter-reset:journey-step;}
.journey-help li{position:relative;padding:0 0 18px 38px;counter-increment:journey-step;}
.journey-help li::before{content:counter(journey-step,decimal-leading-zero);position:absolute;left:0;top:2px;font-size:.7rem;font-weight:800;color:var(--journey-accent);}
.journey-help li strong{font-size:.8rem;display:block;margin-bottom:5px;}
.journey-help li p{font-size:.77rem;color:var(--journey-muted);margin:0;}
.journey-help li:last-child{padding-bottom:0;}
.journey-results{margin-top:30px;padding-top:26px;border-top:1px solid var(--journey-line);min-width:0;}
.journey-results h3{font:700 1rem var(--font-body);margin:0 0 16px;}
.journey-result-message{padding:20px;border:1px dashed #c5d7cc;border-radius:14px;background:#f8faf5;color:var(--journey-muted);font-size:.85rem;margin:0;}
.journey-result-message.is-error{border-color:#d99e91;background:#fff4ee;color:#8f2a21;}
.journey-result-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 20px;}
.journey-result-facts>div{padding:14px;background:#f5f8f2;border-radius:10px;overflow-wrap:anywhere;}
.journey-result-facts dt{font-size:.69rem;color:var(--journey-muted);margin-bottom:5px;}
.journey-result-facts dd{font-size:.84rem;font-weight:650;margin:0;}
.journey-result-section{margin-top:22px;min-width:0;}
.journey-result-section h4{font:700 .93rem var(--font-body);margin-bottom:13px;}
.journey-table-scroll{overflow:auto;border:1px solid var(--journey-line);border-radius:12px;max-height:650px;}
.journey-result-table{border-collapse:collapse;min-width:100%;font-size:.77rem;}
.journey-result-table th{position:sticky;top:0;background:#e9f1e9;color:var(--journey-ink);padding:13px 15px;text-align:left;white-space:nowrap;}
.journey-result-table td{padding:13px 15px;border-top:1px solid var(--journey-line);min-width:110px;max-width:320px;overflow-wrap:anywhere;vertical-align:top;}
.journey-result-table tr:nth-child(even){background:#f9fbf6;}
.journey-result-table details summary{cursor:pointer;text-decoration:underline;}
.journey-section-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px;}
.journey-section-head h2{margin-bottom:10px;}
.journey-section-head p{margin:0;}
.journey-count{flex-shrink:0;padding:9px 14px;border:1px solid var(--journey-line);border-radius:30px;font-size:.7rem;letter-spacing:.03em;font-weight:700;}
.journey-directory-search{display:flex;align-items:center;gap:12px;margin:0 0 26px;max-width:560px;}
.journey-directory-search>i{font-size:1.2rem;color:var(--journey-accent);}
.journey-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.journey-service{display:flex;align-items:center;gap:17px;position:relative;border:1px solid var(--journey-line);border-radius:17px;padding:24px 20px;background:#fff;color:var(--journey-ink);text-decoration:none;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s;}
.journey-service:hover{border-color:#82b19b;box-shadow:0 8px 24px rgba(18,59,54,.06);transform:translateY(-2px);color:var(--journey-ink);}
.journey-service-icon{width:45px;height:45px;border-radius:13px;background:#edf4e9;display:grid;place-items:center;flex-shrink:0;font-size:1.2rem;color:var(--journey-accent);}
.journey-service-copy{min-width:0;flex:1;}
.journey-service strong{display:block;font-size:.9rem;letter-spacing:-.02em;}
.journey-service small{display:block;color:var(--journey-muted);line-height:1.65;margin-top:6px;font-size:.74rem;}
.journey-service-arrow{align-self:start;font-size:1.1rem;color:var(--journey-accent);}
.journey-service[hidden]{display:none;}
.journey-service-grid.is-compact{grid-template-columns:repeat(3,minmax(0,1fr));}
.is-compact .journey-service{padding:20px 17px;gap:12px;}
.is-compact .journey-service small{font-size:.7rem;}
.is-compact .journey-service-icon{width:37px;height:37px;font-size:1rem;}
.journey-more,.journey-faq,.journey-editorial{margin-top:54px;}
.journey-faq{max-width:900px;}
.journey-faq h2{margin-bottom:22px;}
.journey-faq details{padding:19px 0;border-top:1px solid var(--journey-line);}
.journey-faq summary{cursor:pointer;font-weight:650;font-size:.9rem;}
.journey-faq details p{font-size:.85rem;color:var(--journey-muted);margin:15px 0 0;}
.journey-notice{display:flex;gap:15px;background:#f0f3e9;border:1px solid var(--journey-line);padding:23px 26px;border-radius:17px;margin-top:40px;}
.journey-notice>i{font-size:1.2rem;color:var(--journey-accent);}
.journey-notice strong{font-size:.82rem;}
.journey-notice p{font-size:.76rem;color:var(--journey-muted);margin:6px 0 0;max-width:950px;}
.journey-home{padding:75px 0;background:#f1f5ec;border-block:1px solid #dde6d8;color:var(--journey-ink);}
.journey-home-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:50px;margin-bottom:34px;}
.journey-home h2{font-size:clamp(2rem,3.3vw,3rem);max-width:620px;line-height:1.1;}
.journey-home-intro p{font-size:.9rem;line-height:1.8;max-width:560px;color:var(--journey-muted);margin:20px 0 24px;}
.journey-home-intro>img{width:100%;height:240px;object-fit:contain;}
.journey-home-board-title{font:700 .78rem var(--font-body);letter-spacing:.04em;margin:0 0 18px;}
.journey-home .journey-service-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
.journey-home .journey-service{display:block;padding:21px 17px;}
.journey-home .journey-service-icon{margin-bottom:18px;}
.journey-home .journey-service strong{font-size:.8rem;}
.journey-home .journey-service small{font-size:.69rem;}
.journey-home .journey-service-arrow{position:absolute;top:22px;right:17px;}
html.dark-mode :is(.journey-banner,.journey-main,.journey-home){--journey-ink:#e5efe5;--journey-muted:#abbeb3;--journey-line:#334c41;--journey-accent:#a3dbba;--journey-paper:#13251e;}
html.dark-mode .journey-banner,html.dark-mode .journey-home{background:#102a22;border-color:#334c41;}
html.dark-mode :is(.journey-form-card,.journey-directory,.journey-service){background:#152d25;}
html.dark-mode :is(.journey-help,.journey-notice,.journey-result-facts>div,.journey-result-message){background:#1a3428;}
html.dark-mode :is(.journey-field input,.journey-field select,.journey-directory-search input){background:#10251d;color:var(--journey-ink);border-color:#496254;color-scheme:dark;}
html.dark-mode :is(.journey-service-icon,.journey-tool-icon,.journey-result-table th){background:#263f31;}
html.dark-mode .journey-result-table tr:nth-child(even){background:#1b3429;}
html.dark-mode .journey-submit{background:#abd9b9;border-color:#abd9b9;color:#103829;}
html.dark-mode .journey-result-message.is-error{background:#422a26;color:#ffd3c9;}
@media(max-width:1100px){.journey-home .journey-service-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:767px){.journey-banner{padding:42px 0;}.has-banner-image .journey-banner-layout,.journey-home-intro{grid-template-columns:1fr;gap:18px;}.journey-banner-art img{height:190px;}.journey-workspace{grid-template-columns:1fr;}.journey-main{padding-top:26px;}.journey-form-card,.journey-directory{padding:23px 19px;border-radius:18px;}.journey-service-grid,.journey-service-grid.is-compact{grid-template-columns:1fr;}.journey-fields{gap:18px;}.journey-home{padding:45px 0;}.journey-home .journey-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.journey-home-intro>img{height:190px;}.journey-section-head{flex-direction:column;gap:12px;}.journey-help{padding:24px;}.journey-service{padding:20px 17px;}.journey-notice{padding:20px;}}
@media(max-width:420px){.journey-fields{grid-template-columns:1fr;}.journey-home .journey-service-grid{gap:10px;}.journey-home .journey-service{padding:17px 13px;}.journey-home .journey-service small{font-size:.67rem;}}
