.guide-skip { position: absolute; inset-inline-start: 16px; top: -80px; z-index: 100; background: var(--forest); color: white; padding: 12px 20px; }
.guide-skip:focus { top: 12px; }
.guide-nav { display: flex; flex-wrap: wrap; gap: 12px 26px; padding-block: 20px; font-weight: 700; font-size: 14px; }
.guide-nav a { border-bottom: 1px solid var(--line); padding-block: 5px; }
.guide-hero { padding-block: 64px 44px; max-width: 930px; }
.guide-hero h1 { max-width: 900px; font-size: clamp(36px, 5vw, 64px); }
.guide-intro { max-width: 760px; font-size: 21px; color: #536362; }
.guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.guide-card { display: block; padding: 30px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.guide-card h2 { font-size: 26px; line-height: 1.2; }
.guide-card h3 { font-size: 23px; line-height: 1.2; }
.guide-card p { color: #536362; }
.guide-card[hidden] { display: none; }
.guide-layout { display: grid; grid-template-columns: minmax(0,760px) minmax(180px,1fr); gap: 64px; align-items: start; }
.guide-body { max-width: 760px; font-size: 18px; line-height: 1.8; }
.guide-body section { margin-bottom: 36px; }
.guide-body h2 { font-size: 29px; line-height: 1.25; margin-bottom: 14px; }
.guide-body h3 { font-size: 21px; line-height: 1.35; }
.guide-side { padding: 24px; background: var(--cream); border-radius: 10px; }
.guide-side a { display: block; padding-block: 16px; border-bottom: 1px solid var(--line); font-weight: 600; }
.guide-date,.guide-disclosure { font-size: 14px; color: #536362; }
.guide-note { margin-block: 36px; padding: 28px; background: var(--cream); border-inline-start: 4px solid var(--teal); border-radius: 0 8px 8px 0; }
.guide-note h2 { font-size: 28px; }
.guide-sources a { text-decoration: underline; overflow-wrap: anywhere; font-size: 15px; }
.guide-next { border-top: 1px solid var(--line); padding-block: 36px 64px; margin-top: 48px; }
.guide-next h2 { font-size: 26px; }
.guide-search { margin-bottom: 28px; max-width: 580px; }
.guide-search label { display: block; font-weight: 700; margin-bottom: 8px; }
.guide-search input { width: 100%; padding: 14px; border: 1px solid var(--muted); border-radius: 4px; }
.act-timeline { list-style: none; padding: 0; }
.act-timeline li { position: relative; border-inline-start: 3px solid var(--teal); padding: 0 0 26px 28px; }
.act-timeline li::before { content: ''; width: 13px; height: 13px; border: 3px solid var(--teal); border-radius: 50%; background: var(--mint); position: absolute; inset-inline-start: -8px; top: 5px; }
.act-timeline time { display: inline-block; font-size: 15px; color: var(--teal); font-weight: 700; margin-bottom: 10px; }
.act-timeline p { margin-top: 10px; }
.guide-table { overflow-x: auto; }
.guide-table table { width: 100%; border-collapse: collapse; background: white; }
.guide-table caption { text-align: start; padding: 0 0 18px; }
.guide-table th,.guide-table td { padding: 22px; border-bottom: 1px solid var(--line); text-align: start; vertical-align: top; }
.guide-table thead { background: var(--forest); color: white; }
.guide-table td:nth-child(2) { min-width: 210px; font-weight: 700; }
.guide-entry { padding-block: 50px 70px; }
.guide-entry > h2 { font-size: clamp(29px,4vw,42px); }
.guide-entry > p { max-width: 760px; }
.guide-entry .guide-grid { grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 28px; }
.guide-entry .guide-card { padding: 22px; }
.guide-entry .guide-card h3 { font-size: 21px; }
#sample-quiz { padding: 28px; border: 1px solid var(--line); border-radius: 10px; background: white; }
#sample-quiz fieldset { border: 0; padding: 0; margin: 0 0 20px; }
#sample-quiz legend { font-weight: 700; margin-bottom: 12px; }
.quiz-option { display: flex; align-items: baseline; gap: 12px; padding: 12px 0; cursor: pointer; }
.quiz-option input { flex: 0 0 auto; }
.guides-page details { margin-block: 22px; }
.guides-page summary { cursor: pointer; font-weight: 700; }
.guides-page :focus-visible,.guide-entry a:focus-visible { outline: 3px solid var(--teal); outline-offset: 5px; }
@media(max-width:1000px) { .guide-entry .guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .guide-layout { gap: 28px; } }
@media(max-width:700px) { .guide-layout,.guide-grid,.guide-entry .guide-grid { grid-template-columns: 1fr; } .guide-hero { padding-top: 34px; } .guide-card { padding: 24px; } .guide-body { font-size: 17px; } .guide-intro { font-size: 18px; } .guide-table th,.guide-table td { padding: 14px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
@media(max-width:700px) {
  .guide-table { overflow: visible; }
  .guide-table table,.guide-table caption,.guide-table tbody,.guide-table tr,.guide-table th,.guide-table td { display: block; width: 100%; }
  .guide-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .guide-table tr { padding-block: 14px; border-bottom: 1px solid var(--line); }
  .guide-table th,.guide-table td { border: 0; padding: 6px 16px; }
  .guide-table td:nth-child(2) { min-width: 0; color: var(--teal); }
}

/* Trust: dossier, framework cards and a practical route, in the existing brand. */
.trust-section { padding-block: 100px; scroll-margin-top: 28px; }
.trust-intro-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; }
.trust-intro h2 { font-size: clamp(36px,4.2vw,54px); line-height: 1.08; }
.trust-intro > p:not(.section-kicker) { color: #536362; font-size: 18px; line-height: 1.75; margin-block: 26px; }
.trust-dossier { padding: 30px; border: 1px solid #d8e1d8; border-radius: 16px; background: white; box-shadow: 0 20px 60px #123d3b12; }
.trust-dossier-top { display:flex; align-items:center; gap:12px; color: #536362; font-size:12px; margin-bottom:26px; }
.trust-file-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:9px; background:var(--forest); color:var(--mint); font-size:28px; }
.trust-dossier h2 { font-size:25px; line-height:1.2; }
.trust-dossier > p { color:#536362; font-size:14px; }
.trust-owner { display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between; padding-block:16px; border-block:1px solid var(--line); font-size:12px; }
.trust-dossier ol { list-style:none; padding:0; margin-block:12px; }
.trust-dossier li { display:grid; grid-template-columns:105px 1fr; align-items:center; gap:15px; padding-block:17px; border-bottom:1px solid #ebeee6; }
.trust-dossier li strong { display:block; font-size:13px; }
.trust-dossier li small { display:block; color:#536362; font-size:11px; margin-top:3px; }
.trust-state { border-radius:5px; padding:6px 8px; text-align:center; font-size:10px; font-weight:700; background:#e4f1e8; color:#234d3b; }
.trust-state.pending { background:#fff0d6; color:#775113; }
.trust-state.working { background:#e9eef3; color:#365565; }
.trust-dossier .trust-dossier-note { font-size:11px; margin-bottom:0; }
.trust-norm-heading { max-width:780px; margin-block:80px 30px; }
.trust-norm-heading h3,.trust-route > h3 { font-size:clamp(28px,3vw,38px); line-height:1.15; }
.trust-norm-heading > p:last-child { color:#536362; font-size:17px; }
.trust-norm-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.trust-norm { display:flex; flex-direction:column; padding:25px; background:white; border:1px solid var(--line); border-radius:12px; }
.trust-norm-number { align-self:flex-start; display:inline-block; padding:12px; margin-bottom:28px; background:var(--forest); color:var(--mint); border-radius:8px; font-size:12px; font-weight:700; }
.trust-norm-number.tone-1 { background:#e3eee8; color:var(--forest); }
.trust-norm-number.tone-2 { background:#eee9f4; color:#5b4679; }
.trust-norm-number.tone-3 { background:#e8edf4; color:#35516c; }
.trust-norm .section-kicker { font-size:10px; letter-spacing:.07em; min-height:30px; margin-bottom:8px; }
.trust-norm h4 { font:700 25px/1.2 Manrope,sans-serif; margin:0 0 16px; letter-spacing:-.03em; }
.trust-norm > p:not(.section-kicker) { font-size:14px; color:#536362; line-height:1.7; margin:0 0 24px; }
.trust-practical { margin-top:auto; padding-top:18px; border-top:1px solid var(--line); font-size:12px; }
.trust-practical p { color:#536362; margin-bottom:0; line-height:1.7; }
.trust-partner { display:grid; grid-template-columns:1.15fr 1fr; gap:56px; padding:44px; margin-top:32px; border-radius:14px; background:var(--forest); color:white; }
.trust-partner .section-kicker { color:var(--mint); }
.trust-partner h3 { font-size:32px; line-height:1.16; }
.trust-partner p:not(.section-kicker) { color:#d3e0d9; line-height:1.75; font-size:15px; }
.trust-partner-detail { align-self:center; }
.trust-partner .button { font-size:14px; margin-top:10px; }
.trust-route { padding-block:55px 20px; }
.trust-route ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; list-style:none; padding:0; margin-top:30px; }
.trust-route li { padding-top:20px; border-top:2px solid #c9d9cc; }
.trust-route li > span { display:inline-block; font-weight:700; color:var(--teal); font-size:13px; margin-bottom:18px; }
.trust-route h4 { font:700 18px/1.25 Manrope,sans-serif; margin:0; }
.trust-route p { font-size:14px; color:#536362; line-height:1.7; }
.trust-scope-note,.trust-sources { max-width:960px; font-size:12px; color:#536362; line-height:1.8; }
.trust-sources a { text-decoration:underline; text-underline-offset:3px; }
.trust-section a:focus-visible { outline:3px solid var(--teal); outline-offset:5px; }
.trust-partner a:focus-visible { outline-color:var(--mint); }
@media(max-width:1050px) { .trust-norm-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .trust-intro-grid { gap:30px; } }
@media(max-width:700px) { .trust-section { padding-block:60px; } .trust-intro-grid,.trust-partner { grid-template-columns:1fr; gap:28px; } .trust-dossier { padding:22px; } .trust-norm-grid { grid-template-columns:1fr; } .trust-partner { padding:28px; } .trust-route ol { grid-template-columns:1fr 1fr; gap:20px; } .trust-norm-heading { margin-top:50px; } .trust-norm .section-kicker { min-height:0; } }
@media(max-width:400px) { .trust-route ol { grid-template-columns:1fr; } .trust-dossier li { grid-template-columns:88px 1fr; gap:10px; } }

/* Dedicated trust page; Audit Planner styling is scoped to its partner feature. */
.trust-page .trust-section { width:100%; padding-block:50px 20px; }
.trust-page .trust-intro h1 { font-size:clamp(38px,4.5vw,58px); line-height:1.08; }
.trust-page .trust-norm-heading h2,.trust-page .trust-route > h2 { font-size:clamp(28px,3vw,38px); line-height:1.15; }
.trust-page .trust-norm h3 { font-size:25px; margin-bottom:16px; line-height:1.2; }
.trust-page .trust-route li h3 { font-size:18px; line-height:1.25; }
.site-header nav a[aria-current="page"] { color:var(--teal); text-decoration:underline; text-underline-offset:6px; }
.trust-teaser { display:flex; align-items:center; gap:40px; justify-content:space-between; padding-block:65px; }
.trust-teaser > div { max-width:720px; }
.trust-teaser h2 { font-size:clamp(28px,3.4vw,40px); }
.trust-teaser p:not(.section-kicker) { color:#536362; line-height:1.75; }
.trust-teaser .button { flex-shrink:0; }
.auditplanner-feature { --ap-lime:#caf45f; --ap-ink:#141827; font-family:Inter,"Segoe UI",Arial,sans-serif; display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:42px; padding:48px; margin-block:58px 20px; border-radius:18px; background:radial-gradient(circle at 76% 16%,rgba(124,114,255,.23),transparent 35%),linear-gradient(135deg,#151929 0%,#0f1321 54%,#222945 100%); color:white; }
.ap-wordmark { display:inline-flex; align-items:center; gap:12px; font:600 23px/1.2 "Space Grotesk",Inter,sans-serif; letter-spacing:-.04em; margin-bottom:32px; }
.ap-mark { display:grid; place-items:center; width:40px; height:40px; border-radius:10px; background:#252b40; color:var(--ap-lime); font:700 29px/1 Inter,sans-serif; }
.ap-copy .section-kicker { color:var(--ap-lime); font-size:11px; letter-spacing:.12em; }
.ap-copy h2 { font-family:"Space Grotesk",Inter,sans-serif; font-size:clamp(30px,3.2vw,42px); line-height:1.12; color:white; }
.ap-copy > p:not(.section-kicker) { font-size:15px; line-height:1.8; color:#c6cbd6; }
.ap-copy .button { background:var(--ap-lime); color:var(--ap-ink); border-radius:10px; margin-top:15px; font-size:14px; box-shadow:0 8px 25px #caf45f18; }
.auditplanner-feature a:focus-visible { outline:3px solid var(--ap-lime); outline-offset:6px; }
.ap-visual { margin:0; background:#fff; color:var(--ap-ink); border-radius:18px; box-shadow:0 24px 65px #0003; transform:rotate(1deg); overflow:hidden; }
.ap-visual figcaption { padding:20px 24px; background:#f8fafb; border-bottom:1px solid #e5e9ec; font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.ap-progress { display:grid; grid-template-columns:88px 1fr; gap:20px; align-items:center; padding:28px 24px 16px; }
.ap-ring { width:88px; height:88px; border-radius:50%; background:conic-gradient(var(--ap-lime) 50%,#e9edef 0); display:grid; place-items:center; }
.ap-ring strong { width:65px; height:65px; display:grid; place-items:center; background:white; border-radius:50%; font-size:23px; }
.ap-eyebrow { font-size:10px; color:#596774; }
.ap-progress h3 { margin-block:7px 14px; font:500 21px/1.2 "Space Grotesk",Inter,sans-serif; letter-spacing:-.035em; }
.ap-progress-line { height:6px; background:#e9edef; border-radius:5px; overflow:hidden; }
.ap-progress-line i { display:block; height:100%; width:50%; background:var(--ap-lime); }
.ap-visual ol { list-style:none; padding:6px 24px 20px; margin:0; }
.ap-visual li { display:grid; grid-template-columns:92px 1fr; gap:12px; align-items:center; border:1px solid #e5e9ec; border-radius:9px; padding:13px 10px; margin-top:9px; }
.ap-visual li strong { display:block; font-size:11px; font-weight:600; }
.ap-visual li small { display:block; color:#596774; font-size:10px; margin-top:4px; }
.ap-visual .trust-state { font-size:9px; }
.ap-next { display:flex; justify-content:space-between; gap:14px; padding:18px 24px; background:#f8fafb; border-top:1px solid #e5e9ec; font-size:10px; }
.ap-next > span { color:#596774; }
.ap-caption { color:#596774; font-size:10px; line-height:1.7; padding:0 24px 16px; }
@media(max-width:1000px) { .auditplanner-feature { grid-template-columns:1fr; padding:36px; } .ap-visual { max-width:600px; transform:none; } .trust-teaser { align-items:flex-start; flex-direction:column; gap:12px; } }
@media(max-width:600px) { .auditplanner-feature { padding:24px 18px; margin-inline:-8px; gap:28px; } .ap-progress { grid-template-columns:65px 1fr; gap:12px; padding:22px 16px 12px; } .ap-ring { width:65px;height:65px; } .ap-ring strong { width:47px;height:47px;font-size:19px; } .ap-progress h3 { font-size:19px; } .ap-visual ol { padding:4px 12px 16px; } .ap-visual li { grid-template-columns:80px 1fr; gap:8px; } .ap-next { padding:16px;flex-direction:column;gap:5px; } .ap-copy .button { padding-inline:15px; } }
@media(prefers-reduced-motion:reduce) { .ap-visual { transform:none; } }
