/* Guide-only town landscape and task reading desks. Existing content stays semantic HTML. */
body[data-guide-experience] { --guide-rule: #bed6df; }
body[data-guide-experience] [hidden] { display:none !important; }
body[data-guide-experience] .container { max-width:1360px; }
body[data-guide-experience] .guide-hero {
  display:block; padding:clamp(1rem,3vw,2rem) 0 1.25rem; text-align:center;
}
body[data-guide-experience] .guide-kicker { display:none; }
body[data-guide-experience] .guide-hero h1 {
  max-width:30em; margin:0 auto 1rem;
  font-size:clamp(1.8rem,3.1vw,2.65rem); line-height:1.5; text-wrap:balance;
}
body[data-guide-experience] .guide-title-break { display:block; }
body[data-guide-experience] .guide-description {
  max-width:58em; margin:0 auto; font-size:1.05rem; line-height:1.9;
}
body[data-guide-experience] .guide-landscape {
  position:relative; isolation:isolate; padding:1.8rem max(1.25rem,calc((100% - 1280px) / 2)) 2rem;
  min-height:24rem; display:flex; align-items:center; background:#f4f8ef; overflow:hidden;
}
body[data-guide-experience] .guide-landscape-picture {
  position:absolute; inset:0; z-index:-1; pointer-events:none;
}
body[data-guide-experience] .guide-landscape-picture img {
  width:100%; height:100%; object-fit:cover; object-position:center bottom;
}
body[data-guide-experience] .guide-landscape .guide-visual {
  width:100%; margin:0; padding:0; border:0; background:none; border-radius:0; box-shadow:none;
}
body[data-guide-experience] .guide-landscape .guide-visual h2 {
  width:fit-content; margin:0 auto 1.5rem; padding:.3rem .85rem; max-width:35em;
  text-align:center; font-size:1.4rem; border-radius:7px; background:rgba(255,254,250,.97);
}
body[data-guide-experience] .guide-landscape .guide-visual-arrow {
  z-index:1; width:1.6rem; height:1.85rem; color:#174d68; background:#fffefa; border-radius:6px;
}
body[data-guide-experience] .guide-map-layout { position:relative; min-width:0; padding:.3rem 0; }
body[data-guide-experience] .guide-landscape .guide-visual-nodes { gap:2rem; }
body[data-guide-experience] .guide-landscape .guide-visual-node,
body[data-guide-experience] .guide-landscape .guide-visual-result,
body[data-guide-experience] .guide-policy-origin {
  display:block; padding:0; border:1px solid #accacf; border-radius:15px;
  background:rgba(255,254,250,.97); min-width:0; box-shadow:0 2px 0 rgba(18,62,91,.06);
}
body[data-guide-experience] .guide-landscape .guide-visual-node:nth-child(2) { background:#eff7eb; }
body[data-guide-experience] .guide-landscape .guide-visual-node:nth-child(3) { background:#fff8df; }
body[data-guide-experience] .guide-landscape .guide-visual-node > a,
body[data-guide-experience] .guide-landscape .guide-visual-result > a,
body[data-guide-experience] .guide-policy-origin > a {
  display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1rem; min-height:100%;
  padding:1rem 1.15rem; color:var(--guide-navy); text-decoration:none; border-radius:14px;
}
body[data-guide-experience] .guide-landscape .guide-visual-copy,
body[data-guide-experience] .guide-policy-origin > a > div { flex:1 1 7.5rem; }
body[data-guide-experience] .guide-landscape .guide-visual-art {
  flex:0 0 auto; width:3.5rem; height:3.5rem; margin:0;
}
body[data-guide-experience] .guide-landscape .guide-visual-copy strong,
body[data-guide-experience] .guide-policy-origin strong {
  display:block; font-family:var(--font-display); font-size:1.12rem; line-height:1.5; font-weight:700;
}
body[data-guide-experience] .guide-landscape .guide-visual-copy p,
body[data-guide-experience] .guide-policy-origin p {
  margin:.35rem 0 0; font-size:.94rem; line-height:1.75; color:var(--guide-navy);
}
body[data-guide-experience] .guide-landscape .guide-visual-node a:hover,
body[data-guide-experience] .guide-landscape .guide-visual-result a:hover,
body[data-guide-experience] .guide-policy-origin a:hover { outline:2px solid #347d97; outline-offset:2px; }
body[data-guide-experience] .guide-landscape .guide-visual-context,
body[data-guide-experience] .guide-landscape .guide-visual-note {
  width:fit-content; max-width:58rem; margin:1.35rem auto 0; padding:.7rem 1rem;
  border:0; border-radius:7px; color:var(--guide-navy); background:rgba(255,254,250,.98);
  font-size:.9rem; line-height:1.85; text-align:left;
}
body[data-guide-experience] .guide-landscape .guide-visual-note a { margin:0; padding:.15rem 0; }
body[data-guide-experience] .guide-landscape .guide-visual-result { max-width:34rem; margin:0 auto; }
body[data-guide-experience] .guide-policy-map .guide-map-layout {
  display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; align-items:center;
}
body[data-guide-experience] .guide-landscape .guide-policy-map .guide-visual-nodes {
  display:grid; grid-template-columns:minmax(0,1fr); gap:1rem;
}
body[data-guide-experience] .guide-policy-map .guide-visual-result { width:100%; margin:0; }
body[data-guide-experience] .guide-policy-paths {
  display:none; position:absolute; inset:0; width:100%; height:100%; color:#245c78;
  overflow:visible; pointer-events:none; z-index:-1;
}
body[data-guide-experience] .guide-policy-path-lines > path { fill:none; stroke:currentColor; stroke-width:2.2; }
@container guide-overview (min-width: 57rem) {
  body[data-guide-experience] .guide-policy-map .guide-map-layout {
    grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) minmax(0,.95fr); gap:clamp(3rem,7vw,7rem);
    min-height:20rem;
  }
  body[data-guide-experience] .guide-policy-paths { display:block; }
}
body[data-guide-experience] .guide-experience-container { padding-top:2.7rem; }
body[data-guide-experience] .guide-workbench-heading { margin:0 0 1.4rem; text-align:center; }
body[data-guide-experience] .guide-workbench-heading > h2 {
  margin:0 0 .65rem; padding:0; border:0; font-family:var(--font-display);
  font-size:clamp(1.45rem,2.3vw,1.95rem); line-height:1.55;
}
body[data-guide-experience] .guide-workbench-heading p { margin:0 auto; max-width:48em; font-size:1rem; }
body[data-guide-experience] .policy-workbench { container:policy-desk / inline-size; margin-bottom:3rem; }
body[data-guide-experience] .policy-workbench-grid {
  display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; align-items:start;
}
body[data-guide-experience] .policy-filter-column {
  border:1px solid #c9ddc6; border-radius:8px; padding:1.1rem; background:#f2f8ed; min-width:0;
}
body[data-guide-experience] .policy-filter-column fieldset { padding:0; margin:0; border:0; min-width:0; }
body[data-guide-experience] .policy-filter-column legend {
  display:flex; align-items:center; gap:.6rem; float:left; width:100%; margin:0 0 1rem; padding:0;
  font-size:1.05rem; line-height:1.6; font-weight:700;
}
body[data-guide-experience] .policy-filter-column label {
  clear:both; display:flex; gap:.6rem; align-items:center; margin:0 0 .5rem; padding:.6rem .7rem;
  min-height:44px; border:1px solid #cbdde5; border-radius:6px; background:#fff; cursor:pointer; font-size:.91rem;
}
body[data-guide-experience] .policy-filter-column label:has(input:checked) { background:#def0fb; border-color:#84b5cb; font-weight:700; }
body[data-guide-experience] .policy-filter-column input { width:1.1rem; height:1.1rem; flex:0 0 auto; accent-color:#16567c; }
body[data-guide-experience] .policy-filter-column > p { border-top:1px solid #c9ddc6; margin:1rem 0 0; padding-top:1rem; font-size:.85rem; }
body[data-guide-experience] .policy-purpose-art { display:block; width:2.1rem; height:2.1rem; object-fit:contain; flex:0 0 auto; }
body[data-guide-experience] .policy-comparison,body[data-guide-experience] .policy-details {
  min-width:0; border:1px solid var(--guide-rule); border-radius:8px; background:#fff;
}
body[data-guide-experience] .policy-comparison > h3 { margin:0; padding:1.2rem 1.1rem .35rem; font-size:1.1rem; font-family:var(--font-display); }
body[data-guide-experience] .policy-status { margin:0; padding:0 1.1rem .7rem; font-size:.83rem; }
body[data-guide-experience] .policy-status:empty { padding-bottom:.7rem; }
body[data-guide-experience] .policy-table-scroll { max-width:100%; overflow:auto; border-radius:0 0 8px 8px; }
body[data-guide-experience] .policy-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:.9rem; }
body[data-guide-experience] .policy-table th,body[data-guide-experience] .policy-table td {
  padding:.7rem .8rem; border-top:1px solid #d2e4ec; border-right:1px solid #e1edf1;
  text-align:left; vertical-align:top; line-height:1.8; overflow-wrap:anywhere; background:transparent;
}
body[data-guide-experience] .policy-table thead th { background:#edf6fa; font-weight:600; }
body[data-guide-experience] .policy-table th:first-child { width:25%; }
body[data-guide-experience] .policy-table th:nth-child(2) { width:43%; }
body[data-guide-experience] .policy-purpose-name { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; font-weight:600; }
body[data-guide-experience] .policy-purpose-name span { flex:1 1 4em; }
body[data-guide-experience] .policy-table a {
  display:flex; align-items:center; justify-content:space-between; gap:.35rem; padding:.4rem .3rem; margin:-.1rem 0 .25rem;
  min-height:44px; color:var(--guide-navy); border-radius:4px; line-height:1.6; text-decoration:underline; text-underline-offset:.18em;
}
body[data-guide-experience] .policy-table a:last-child { margin-bottom:0; }
body[data-guide-experience] .policy-table a[aria-current] { background:#dff1fc; font-weight:600; text-decoration:none; }
body[data-guide-experience] .policy-method-detail { padding:1.2rem; scroll-margin-top:6rem; }
body[data-guide-experience] .policy-method-detail + .policy-method-detail { border-top:1px solid var(--guide-rule); }
body[data-guide-experience] .policy-detail-heading { display:flex; align-items:center; gap:.65rem; margin-bottom:1rem; }
body[data-guide-experience] .policy-detail-art { width:2.7rem; height:2.7rem; object-fit:contain; flex:0 0 auto; }
body[data-guide-experience] .policy-detail-heading h3 { margin:0; font-size:1.25rem; font-family:var(--font-display); line-height:1.6; }
body[data-guide-experience] .policy-method-detail p,body[data-guide-experience] .policy-method-detail li { font-size:.92rem; line-height:1.9; }
body[data-guide-experience] .policy-method-detail h4 { font-size:1rem; margin:1.2rem 0 .5rem; }
body[data-guide-experience] .policy-method-limits { padding:.7rem 0; margin:1rem 0; border-top:1px solid var(--guide-rule); border-bottom:1px solid var(--guide-rule); }
body[data-guide-experience] .policy-method-limits summary { padding:.3rem 0; font-size:.94rem; font-weight:600; cursor:pointer; }
body[data-guide-experience] .policy-method-limits ul { padding-left:1.25rem; margin:.7rem 0 0; }
body[data-guide-experience] .policy-method-limits li + li { margin-top:.65rem; }
body[data-guide-experience] .policy-method-detail .btn { width:100%; white-space:normal; padding:.65rem .8rem; font-size:.9rem; }
body[data-guide-experience] .policy-mini-model { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; margin:1rem 0; }
body[data-guide-experience] .policy-mini-model span { padding:.65rem; border:1px solid #a8c6d2; border-radius:7px; background:#e9f4fa; font-size:.82rem; flex:1 1 5rem; text-align:center; }
body[data-guide-experience] .policy-mini-model span:last-child { background:#eef6e6; }
body[data-guide-experience] .policy-mini-model i { font-style:normal; }
body[data-guide-experience] .guide-text-link { display:block; padding:.65rem 0; text-align:center; font-size:.9rem; text-decoration:underline; text-underline-offset:.18em; }
body[data-guide-experience] .guide-policy-caution { display:flex; align-items:flex-start; flex-wrap:wrap; gap:.65rem 1rem; margin:1.25rem 0 0; padding:1rem 1.25rem; background:#fff6d0; border:1px solid #efdc91; border-radius:8px; }
body[data-guide-experience] .guide-caution-art { width:2.4rem; height:2.4rem; object-fit:contain; flex:0 0 auto; }
body[data-guide-experience] .guide-policy-caution > div { flex:1 1 12rem; min-width:0; }
body[data-guide-experience] .guide-policy-caution strong { font-weight:600; }
body[data-guide-experience] .guide-policy-caution p { margin:.3rem 0 0; font-size:.9rem; }
body[data-guide-experience] .guide-policy-caution a { margin-left:.5em; text-decoration:underline; text-underline-offset:.18em; }
@container policy-desk (min-width: 45rem) {
  body[data-guide-experience] .policy-workbench[data-enhanced] .policy-workbench-grid { grid-template-columns:12rem minmax(0,1fr); }
  body[data-guide-experience] .policy-workbench[data-enhanced] .policy-details { grid-column:1 / -1; }
}
@container policy-desk (min-width: 74rem) {
  body[data-guide-experience] .policy-workbench[data-enhanced] .policy-workbench-grid { grid-template-columns:minmax(0,.74fr) minmax(0,1.8fr) minmax(0,1.1fr); gap:1rem; }
  body[data-guide-experience] .policy-workbench[data-enhanced] .policy-details { grid-column:auto; }
}
@container policy-desk (max-width: 28rem) {
  body[data-guide-experience] .policy-table,body[data-guide-experience] .policy-table tbody,
  body[data-guide-experience] .policy-table tr,body[data-guide-experience] .policy-table th,
  body[data-guide-experience] .policy-table td { display:block; width:100%; }
  body[data-guide-experience] .policy-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  body[data-guide-experience] .policy-table tbody tr { padding:.8rem; border-top:1px solid var(--guide-rule); }
  body[data-guide-experience] .policy-table tbody th,body[data-guide-experience] .policy-table td { padding:.3rem 0; border:0; }
  body[data-guide-experience] .policy-table tbody th { font-size:1rem; }
  body[data-guide-experience] .policy-table td:last-child { color:#395e71; font-size:.87rem; }
}
body[data-guide-experience] .guide-introduction { max-width:64rem; margin:0 auto 2.5rem; }
body[data-guide-experience] .guide-introduction .guide-answer { margin:0 0 1.2rem; }
body[data-guide-experience] .guide-introduction .guide-intro { max-width:54em; margin:auto; }
body[data-guide-experience] .guide-reading-workbench { container:guide-desk / inline-size; margin:0 0 3rem; }
body[data-guide-experience] .guide-reading-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; margin:0 0 1rem; }
body[data-guide-experience] .guide-read-all { border:1px solid #94b9c7; background:#fff; border-radius:6px; color:var(--guide-navy); min-height:44px; padding:.55rem 1rem; font:inherit; font-size:.9rem; cursor:pointer; }
body[data-guide-experience] .guide-read-all[aria-pressed="true"] { background:#e4f2fa; }
body[data-guide-experience] .guide-reading-status { margin:0; font-size:.85rem; }
body[data-guide-experience] .guide-reading-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1.2rem; align-items:start; }
body[data-guide-experience] .guide-reading-nav {
  min-width:0; border:1px solid #c9ddc6; border-radius:8px; background:#f2f8ed; padding:1rem;
}
body[data-guide-experience] .guide-reading-nav h3 { font-size:1rem; font-weight:700; margin:0 0 .8rem; }
body[data-guide-experience] .guide-reading-nav a {
  display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-height:44px; padding:.65rem .7rem;
  margin-top:.35rem; border:1px solid #d2e1e5; border-radius:5px; color:var(--guide-navy); background:#fff; font-size:.92rem; line-height:1.65; text-decoration:none;
}
body[data-guide-experience] .guide-reading-nav a[aria-current] { background:#dff1fc; border-color:#91bdcf; font-weight:600; }
body[data-guide-experience] .guide-reading-panels { min-width:0; border:1px solid var(--guide-rule); border-radius:8px; background:#fff; padding:clamp(1.1rem,2.2vw,2rem); }
body[data-guide-experience] .guide-reading-panels .guide-section { margin:0; }
body[data-guide-experience] .guide-reading-panels .guide-section + .guide-section { padding-top:2rem; margin-top:2rem; border-top:1px solid var(--guide-rule); }
body[data-guide-experience] .guide-reading-workbench[data-reading-mode="section"] .guide-section { padding:0; margin:0; border:0; }
body[data-guide-experience] .guide-reading-panels .guide-section > h2 {
  margin:0 0 1.15rem; padding:0 0 1rem; border:0; border-bottom:2px solid #c2ddcf; font-size:1.35rem; font-family:var(--font-display); line-height:1.65;
}
body[data-guide-experience] .guide-reading-panels .guide-section p { font-size:1rem; line-height:1.95; }
body[data-guide-experience] .guide-reading-panels .guide-list { margin:1.15rem 0; font-size:.98rem; }
body[data-guide-experience] .guide-reading-panels .guide-steps { margin:1.1rem 0; }
body[data-guide-experience] .guide-reading-panels .guide-table { min-width:26rem; font-size:.93rem; }
body[data-guide-experience] .guide-reading-panels .guide-table th,
body[data-guide-experience] .guide-reading-panels .guide-table td { padding:.8rem; }
body[data-guide-experience] .guide-reading-pagination { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.8rem; padding:1.5rem 0 0; margin-top:1.5rem; border-top:1px solid var(--guide-rule); }
body[data-guide-experience] .guide-reading-pagination a { display:block; min-height:44px; padding:.55rem .8rem; border:1px solid #adccd8; border-radius:5px; background:#eef7fb; font-size:.9rem; }
body[data-guide-experience] .guide-reading-tools { min-width:0; display:grid; gap:1.4rem; }
body[data-guide-experience] .guide-writing-card { padding:1.2rem; background:#fff7d8; border:1px solid #ecdda1; border-radius:8px; }
body[data-guide-experience] .guide-writing-art { display:block; width:5rem; height:5rem; object-fit:contain; margin:0 auto .75rem; }
body[data-guide-experience] .guide-writing-card h3 { margin:0 0 .6rem; font-size:1.1rem; line-height:1.65; font-family:var(--font-display); }
body[data-guide-experience] .guide-writing-card > strong { font-size:.95rem; font-weight:600; }
body[data-guide-experience] .guide-writing-card p { margin:.75rem 0; font-size:.92rem; line-height:1.9; }
body[data-guide-experience] .guide-writing-card .btn { width:100%; white-space:normal; font-size:.92rem; padding:.65rem .8rem; }
body[data-guide-experience] .guide-reading-related h3 { margin:0 0 .6rem; font-size:1rem; }
body[data-guide-experience] .guide-reading-related a { display:block; padding:.65rem 0; border-top:1px solid var(--guide-rule); font-size:.9rem; }
body[data-guide-experience] .guide-evidence-layout { padding-top:1.5rem; border-top:1px solid var(--guide-rule); }
body[data-guide-experience] .guide-evidence-layout .guide-toc > a[href="#guide-overview"] { display:none; }
body[data-guide-experience] .guide-evidence-layout .guide-worksheet-entry { display:none; }
body[data-guide-experience] .guide-evidence-layout .guide-main { max-width:none; }
body[data-guide-experience] #policy-workbench,
body[data-guide-experience] #guide-workbench,
body[data-guide-experience] [id^="policy-purpose-"] { scroll-margin-top:6rem; }
@container guide-desk (min-width: 45rem) {
  body[data-guide-experience] .guide-reading-grid { grid-template-columns:13rem minmax(0,1fr); }
  body[data-guide-experience] .guide-reading-tools { grid-column:1 / -1; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
}
@container guide-desk (min-width: 76rem) {
  body[data-guide-experience] .guide-reading-grid { grid-template-columns:minmax(0,.8fr) minmax(0,2.35fr) minmax(0,.9fr); }
  body[data-guide-experience] .guide-reading-tools { grid-column:auto; grid-template-columns:minmax(0,1fr); }
}
@media (max-width:600px) {
  body[data-guide-experience] .guide-hero { padding:1.25rem 0; text-align:left; }
  body[data-guide-experience] .guide-hero h1 { font-size:1.65rem; }
  body[data-guide-experience] .guide-description { font-size:.96rem; }
  body[data-guide-experience] .guide-landscape { padding:1.25rem 1.1rem; }
  body[data-guide-experience] .guide-landscape-picture { background:#fffefa; }
  body[data-guide-experience] .guide-landscape-picture img { position:absolute; bottom:0; height:clamp(8rem,40vw,16rem); }
  body[data-guide-experience] .guide-landscape .guide-visual h2 { font-size:1.15rem; text-align:left; }
  body[data-guide-experience] .guide-landscape .guide-visual-note { font-size:.86rem; }
  body[data-guide-experience] .guide-experience-container { padding-top:2rem; }
  body[data-guide-experience] .guide-workbench-heading { text-align:left; }
  body[data-guide-experience] .guide-introduction .guide-answer { padding:1.1rem; }
}
@media print {
  body[data-guide-experience] .guide-landscape-picture,
  body[data-guide-experience] .guide-policy-paths,
  body[data-guide-experience] .guide-reading-nav,
  body[data-guide-experience] .guide-reading-toolbar,
  body[data-guide-experience] .guide-reading-pagination,
  body[data-guide-experience] .guide-reading-tools,
  body[data-guide-experience] .policy-filter-column,
  body[data-guide-experience] .policy-status,
  body[data-guide-experience] .guide-policy-origin img,
  body[data-guide-experience] .policy-purpose-art,
  body[data-guide-experience] .policy-detail-art,
  body[data-guide-experience] .guide-caution-art { display:none !important; }
  body[data-guide-experience] .guide-landscape { display:block; min-height:0; padding:.5rem 0; overflow:visible; background:#fff; }
  body[data-guide-experience] .guide-landscape .guide-visual-node,
  body[data-guide-experience] .guide-landscape .guide-visual-result { background:#fff; box-shadow:none; }
  body[data-guide-experience] .guide-reading-grid,
  body[data-guide-experience] .policy-workbench-grid,
  body[data-guide-experience] .guide-policy-map .guide-map-layout { display:block !important; }
  body[data-guide-experience] [data-guide-panel][hidden],
  body[data-guide-experience] [data-policy-detail][hidden] { display:block !important; }
  body[data-guide-experience] [data-policy-row][hidden] { display:table-row !important; }
  body[data-guide-experience] .policy-table { display:table; }
  body[data-guide-experience] .policy-table thead { display:table-header-group; position:static; width:auto; height:auto; clip-path:none; overflow:visible; }
  body[data-guide-experience] .policy-table tbody { display:table-row-group; }
  body[data-guide-experience] .policy-table tr { display:table-row; }
  body[data-guide-experience] .policy-table th,
  body[data-guide-experience] .policy-table td { display:table-cell; width:auto; padding:.4rem; }
  body[data-guide-experience] .guide-reading-panels { padding:0; border:0; }
  body[data-guide-experience] .guide-reading-panels .guide-table { min-width:0; }
  body[data-guide-experience] .policy-method-detail { break-inside:avoid; padding:.8rem 0; }
  body[data-guide-experience] .policy-method-detail .btn { display:none; }
  body[data-guide-experience] .guide-reading-panels .guide-section { margin:1.5rem 0; }
  body[data-guide-experience] .guide-reading-panels .guide-section > h2 { break-after:avoid; }
}
/* This stylesheet is loaded only by guides. Keep pointer targets steady during
   in-page selection and history restoration, including WebKit focus scrolling. */
html { scroll-behavior:auto; }
