/* Signature guidance experience - quiet, editorial and intentionally not dashboard-like. */
.tree-routes { display:grid; grid-template-columns:repeat(3,1fr); margin-top:18px; border-top:1px solid #745a44; border-bottom:1px solid #745a44; }
.tree-routes a { display:flex; min-height:48px; align-items:center; justify-content:center; padding:8px 12px; color:#322318; font:12px/1.3 var(--mono); text-align:center; text-decoration:none; }
.tree-routes a + a { border-left:1px solid #745a44; }
.tree-routes a:hover { background:#f7f1e8; color:#322318; }

.journey-preview { padding:110px 0; background:#174c3f; color:#f7f0e7; }
.journey-preview-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(420px,1fr); gap:clamp(70px,10vw,150px); align-items:center; }
.journey-preview h2 { color:#fffaf3; }
.journey-preview p:not(.eyebrow) { max-width:570px; margin:28px 0 34px; color:#dce5dd; line-height:1.8; }
.journey-preview .button { background:#f7f0e7; color:#103b31; }
.journey-preview ol { margin:0; padding:0; list-style:none; border-top:1px solid #ffffff30; }
.journey-preview li { display:grid; grid-template-columns:52px 1fr; gap:8px 22px; padding:27px 0; border-bottom:1px solid #ffffff30; }
.journey-preview li span { grid-row:1/3; color:#d7c5a8; font:12px var(--mono); }
.journey-preview li strong { color:#fffaf3; font:400 1.45rem var(--serif); }
.journey-preview li small { color:#dce5dd; font:13px/1.7 var(--sans); }
.watch-preview { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.6fr); gap:70px; align-items:end; padding-top:95px; padding-bottom:95px; border-top:1px solid var(--line); }
.watch-preview p:not(.eyebrow) { color:var(--muted); line-height:1.75; }

.journey-page .site-header { position:absolute; top:24px; left:50%; transform:translateX(-50%); margin:0; }
.journey-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.45fr); gap:70px; align-items:end; padding-top:190px; padding-bottom:78px; }
.journey-hero h1 { max-width:850px; font-size:clamp(4rem,7vw,7.7rem); }
.journey-hero .page-intro { max-width:760px; }
.journey-privacy { display:flex; gap:18px; padding:23px 0; border-block:1px solid var(--line); color:var(--muted); font-size:.9rem; line-height:1.65; }
.journey-privacy > span { flex:none; display:grid; width:37px; height:37px; place-items:center; border:1px solid #174c3f; border-radius:50%; color:#174c3f; }
.journey { position:relative; padding-bottom:110px; }
.journey-language { display:flex; align-items:center; justify-content:flex-end; gap:4px; margin-bottom:16px; color:var(--muted); font:11px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.journey-language span { margin-right:12px; }
.journey-language button { min-width:45px; min-height:38px; border:1px solid var(--line); background:transparent; color:inherit; cursor:pointer; }
.journey-language button[aria-pressed="true"] { background:var(--green); color:#fff; border-color:var(--green); }
.journey-progress { height:3px; background:#ded2c4; }
.journey-progress span { display:block; width:33.333%; height:100%; background:var(--green); transition:width .3s ease; }
.journey-form { min-height:650px; padding:clamp(42px,6vw,86px); background:#f4eee5; }
.journey-form fieldset { margin:0; padding:0; border:0; }
.journey-form legend { max-width:780px; margin-bottom:14px; color:var(--ink); font:400 clamp(2.5rem,5vw,5.3rem)/1.03 var(--serif); letter-spacing:-.045em; }
.field-help { max-width:680px; margin-bottom:42px; color:var(--muted); line-height:1.7; }
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid var(--line); background:var(--line); }
.choice-grid-wide { grid-template-columns:repeat(3,minmax(0,1fr)); }
.choice-grid label { position:relative; display:flex; min-height:105px; align-items:center; padding:24px 25px; background:#fffdf9; cursor:pointer; }
.choice-grid label:hover { background:#f9f4ec; }
.choice-grid label:has(input:checked) { z-index:1; outline:2px solid var(--green); outline-offset:-2px; background:#eee3d5; }
.choice-grid input { width:18px; height:18px; margin:0 17px 0 0; accent-color:var(--green); }
.choice-grid span { display:flex; flex-direction:column; gap:6px; color:#322318; line-height:1.45; }
.choice-grid b { font:400 1.28rem var(--serif); }
.choice-grid small { color:var(--muted); font-size:.76rem; }
.country-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.country-grid label { display:grid; gap:12px; color:#322318; font-size:.85rem; }
.country-grid select { width:100%; min-height:56px; padding:12px 42px 12px 14px; border:1px solid #745a44; border-radius:0; background:#fffdf9; color:var(--ink); font:1rem var(--sans); }
.compact-choice-grid { margin-top:28px; }
.journey-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:38px; }
.journey-result { scroll-margin-top:130px; padding:clamp(42px,6vw,78px); border:1px solid var(--line); background:#fffdf9; }
.journey-result > header { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.7fr); gap:60px; align-items:end; padding-bottom:45px; border-bottom:1px solid var(--line); }
.journey-result > header h2 { max-width:690px; }
.journey-result > header > p { color:var(--muted); line-height:1.8; }
.roadmap-grid { display:grid; grid-template-columns:repeat(2,1fr); border-bottom:1px solid var(--line); }
.roadmap-grid section { padding:42px 34px 45px 0; }
.roadmap-grid section + section { padding-left:34px; border-left:1px solid var(--line); }
.roadmap-grid section:nth-child(3) { padding-left:0; border-left:0; border-top:1px solid var(--line); }
.roadmap-grid section:nth-child(4) { border-top:1px solid var(--line); }
.roadmap-grid span { color:#745a44; font:11px var(--mono); }
.roadmap-grid h3 { margin:17px 0 23px; font-size:1.55rem; }
.roadmap-grid ul { display:grid; gap:15px; margin:0; padding-left:19px; color:var(--muted); font-size:.9rem; line-height:1.65; }
.roadmap-reading { display:grid; grid-template-columns:220px 1fr; gap:35px; padding:42px 0; border-bottom:1px solid var(--line); }
.roadmap-reading h3 { font-size:1.55rem; }
.roadmap-reading > div { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.roadmap-reading a { display:flex; justify-content:space-between; gap:20px; padding:20px; background:#fffdf9; color:var(--ink); text-decoration:none; }
.roadmap-reading a:hover { background:#f4eee5; }
.roadmap-source-note { display:grid; grid-template-columns:220px 1fr; gap:35px; padding:32px 0; border-bottom:1px solid var(--line); }
.roadmap-source-note strong { color:var(--ink); font:400 1.3rem var(--serif); }
.roadmap-source-note p { margin:0; color:var(--muted); line-height:1.75; }
.roadmap-disclaimer { max-width:850px; margin-top:34px; color:var(--muted); font-size:.78rem; line-height:1.7; }

.process-explorer { padding:110px 0; background:#174c3f; color:#eee3d7; }
.process-explorer h2,.process-explorer h3 { color:#fffaf3; }
.process-explorer-head { display:grid; grid-template-columns:1fr minmax(280px,.5fr); gap:70px; align-items:end; margin-bottom:58px; }
.process-explorer-head > p { color:#cabbae; line-height:1.8; }
.timeline { display:grid; grid-template-columns:minmax(270px,.65fr) minmax(0,1.35fr); border:1px solid #ffffff26; }
.timeline-rail { display:flex; flex-direction:column; border-right:1px solid #ffffff26; }
.timeline-rail button { display:grid; grid-template-columns:38px 1fr; min-height:62px; align-items:center; padding:10px 22px; border:0; border-bottom:1px solid #ffffff1f; background:transparent; color:#cbbcad; font:14px var(--sans); text-align:left; cursor:pointer; }
.timeline-rail button span { color:#d9c7a3; font:10px var(--mono); }
.timeline-rail button[aria-selected="true"] { background:#f1e8dc; color:#174c3f; }
.timeline-panel { min-height:440px; padding:clamp(40px,6vw,80px); }
.timeline-panel > span,.timeline-panel small { display:block; color:#d9c7a3; font:11px var(--mono); text-transform:uppercase; letter-spacing:.12em; }
.timeline-panel h3 { max-width:600px; margin:22px 0; font-size:clamp(2.5rem,5vw,5rem); }
.timeline-panel p { max-width:680px; color:#d2c4b7; line-height:1.85; }
.timeline-panel small { margin:52px 0 12px; }
.timeline-panel strong { color:#f4eadf; font-size:.88rem; font-weight:400; }
.cross-border-lens { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1fr); gap:clamp(70px,10vw,150px); align-items:center; padding-top:115px; padding-bottom:115px; }
.cross-border-mark { position:relative; display:grid; width:min(100%,470px); aspect-ratio:1; place-items:center; border:1px solid #745a44; border-radius:50%; }
.cross-border-mark::before,.cross-border-mark::after { position:absolute; content:""; border:1px solid #d0c0ad; border-radius:50%; }
.cross-border-mark::before { inset:17%; }.cross-border-mark::after { inset:34%; }
.cross-border-mark span { z-index:2; display:grid; width:70px; height:70px; place-items:center; border-radius:50%; background:var(--green); color:#fff; font:12px var(--mono); }
.cross-border-mark i { position:absolute; width:13px; height:13px; border-radius:50%; background:var(--green); box-shadow:0 0 0 7px #174c3f22; }
.cross-border-mark i:nth-of-type(1) { top:16%; right:24%; }.cross-border-mark i:nth-of-type(2) { bottom:20%; left:18%; }.cross-border-mark i:nth-of-type(3) { right:8%; bottom:39%; }
.cross-border-lens p:not(.eyebrow) { color:var(--muted); line-height:1.8; }

.scenario-library { padding-bottom:100px; }
.scenario-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.scenario-filters button { min-height:44px; padding:9px 17px; border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; }
.scenario-filters button.is-active { background:var(--green); color:#fff; border-color:var(--green); }
.case-tools { margin-bottom:0; }

.law-watch { padding-bottom:110px; }
.law-watch-status { display:grid; grid-template-columns:180px 220px 1fr; gap:25px; align-items:center; margin-bottom:35px; padding:25px; border:1px solid var(--line); color:var(--muted); font-size:.86rem; }
.law-watch-status span { font:11px var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.law-watch-status strong { color:#745a44; font:400 1.2rem var(--serif); }
.watch-item { display:grid; grid-template-columns:180px 1fr; gap:50px; padding:45px 0; border-top:1px solid var(--line); }
.watch-item time { color:var(--muted); font:11px/1.6 var(--mono); }
.watch-item h2 { margin:12px 0 16px; font-size:clamp(1.8rem,3vw,3rem); }
.watch-item p { max-width:790px; color:var(--muted); line-height:1.75; }
.watch-item a { display:inline-flex; min-height:44px; align-items:center; margin-top:12px; color:#745a44; text-underline-offset:5px; }
.watch-method { max-width:780px; margin:60px 0 0 auto; padding:35px; border:1px solid var(--line); }
.watch-method p { margin-top:14px; color:var(--muted); line-height:1.75; }

@media(max-width:1250px) {
  .desktop-nav { gap:16px; }
  .desktop-nav a { font-size:.72rem; }
  .header-contact { display:none; }
}
@media(max-width:900px) {
  .journey-preview-grid,.journey-hero,.journey-result > header,.process-explorer-head,.cross-border-lens { grid-template-columns:1fr; }
  .choice-grid-wide { grid-template-columns:repeat(2,1fr); }
  .country-grid,.roadmap-grid { grid-template-columns:1fr; }
  .roadmap-grid section,.roadmap-grid section + section { padding:30px 0; border-left:0; border-top:1px solid var(--line); }
  .roadmap-reading,.roadmap-source-note { grid-template-columns:1fr; }
  .journey-privacy { max-width:620px; }
  .cross-border-mark { max-width:390px; }
  .law-watch-status { grid-template-columns:1fr 1fr; }
  .law-watch-status p { grid-column:1/-1; }
}
@media(max-width:760px) {
  .tree-routes { grid-template-columns:1fr; }
  .tree-routes a + a { border-left:0; border-top:1px solid #745a44; }
  .journey-preview { padding:75px 0; }
  .journey-preview-grid { gap:50px; }
  .journey-hero { gap:35px; padding-top:145px; padding-bottom:55px; }
  .journey-hero h1 { font-size:clamp(3.3rem,15vw,5.5rem); }
  .journey-form,.journey-result { padding:32px 20px; }
  .choice-grid,.choice-grid-wide { grid-template-columns:1fr; }
  .choice-grid label { min-height:88px; }
  .roadmap-reading > div { grid-template-columns:1fr; }
  .timeline { grid-template-columns:1fr; }
  .timeline-rail { display:grid; grid-template-columns:repeat(7,minmax(115px,1fr)); overflow-x:auto; border-right:0; border-bottom:1px solid #ffffff26; }
  .timeline-rail button { grid-template-columns:1fr; gap:5px; padding:12px; }
  .timeline-panel { min-height:390px; }
  .watch-preview { grid-template-columns:1fr; gap:25px; padding-top:70px; padding-bottom:70px; }
  .watch-item { grid-template-columns:1fr; gap:14px; }
  .law-watch-status { grid-template-columns:1fr; }
  .law-watch-status p { grid-column:auto; }
}
@media print {
  .journey-page .site-header,.journey-page .site-footer,.journey-hero,.journey-language,.journey-progress,.journey-form,.process-explorer,.cross-border-lens,.journey-result .journey-actions,.contact-widget { display:none !important; }
  .journey,.journey-result { width:100%; padding:0; border:0; }
  .journey-result[hidden] { display:none !important; }
  .journey-result > header,.roadmap-grid,.roadmap-reading { display:block; }
  .roadmap-grid section,.roadmap-grid section + section { padding:18px 0; border-left:0; border-top:1px solid #bbb; break-inside:avoid; }
  .roadmap-reading > div { display:block; border:0; }
  .roadmap-reading a { padding:8px 0; }
}
