/* Stage colours on fading section bars and source-backed purpose sentences. */
:root{color-scheme:light dark}
:root[data-theme=light]{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark}
body[data-page=ai-tools] .page{width:100%;max-width:1440px;padding:0 clamp(20px,3vw,48px) 30px}
.digital-page{padding:24px 0 0;color:var(--ink)}
.digital-breadcrumb{font-size:12px;color:var(--ink-2);margin:0 0 24px}
.digital-intro h1{font-size:clamp(36px,4vw,58px);letter-spacing:-.04em;line-height:1.1;margin:0 0 18px}
.digital-intro>p:last-child{max-width:none;font-size:15px;line-height:1.7;color:var(--ink-2);margin-bottom:24px}
.digital-controls{display:none}.catalogue-ready .digital-controls{display:block}
.digital-filters{display:flex;flex-wrap:wrap;gap:12px 28px;border-bottom:1px solid var(--line);margin:16px 0 28px}
.digital-filters button{min-height:44px;padding:10px 8px;font:inherit;font-size:14px;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--ink-2);cursor:pointer}
.digital-filters button[aria-pressed=true]{color:var(--ink);border-color:var(--accent-cool);font-weight:700}
.digital-group{margin:0 0 30px}.digital-group>h2{display:flex;align-items:center;gap:0;font-size:25px;line-height:1.3;margin:0 0 16px;letter-spacing:-.025em}
.digital-group>h2::after{content:none}
.digital-group>h2{background:linear-gradient(90deg,var(--orange-100) 0,var(--orange-100) 220px,transparent 100%)}
.digital-group>h2>span{display:inline-block;min-width:265px;padding:10px 16px;color:var(--orange-900)}
.digital-deep>h2{background:linear-gradient(90deg,var(--orange) 0,var(--orange) 265px,transparent 100%)}
.digital-deep>h2>span{color:white}
.digital-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.digital-card{position:relative;isolation:isolate;--tool-card-padding:24px;display:flex;flex-direction:column;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:var(--tool-card-padding)}
.digital-card-heading h3{font-size:clamp(22px,2vw,26px);font-weight:750;line-height:1.22;letter-spacing:-.025em;margin:0;color:var(--petrol-900);overflow-wrap:break-word}
.digital-purpose{font-size:16px;line-height:1.5;font-weight:500;color:var(--orange-900);margin:18px 0 20px}
.digital-deep .digital-purpose{color:var(--orange)}
.digital-card-heading{margin:calc(-1 * var(--tool-card-padding)) calc(-1 * var(--tool-card-padding)) 0;padding:22px var(--tool-card-padding);background:#e7f0f0;border-bottom:1px solid #c9dada;border-radius:5px 5px 0 0}
.digital-guidance{padding-top:16px;border-top:1px solid var(--line);font-size:14px;line-height:1.5;color:var(--ink-2)}
.digital-guidance-label{display:block;font-size:14px;font-weight:600;line-height:1.5;color:var(--ink);margin-bottom:6px}
.digital-guidance p{margin:0 0 8px}.digital-guidance a{display:inline-block}
.digital-also{font-size:14px;line-height:1.5;margin:12px 0 0;color:var(--ink-2)}
.digital-also:empty{margin:0}
.digital-also button{border:0;background:none;font:inherit;color:var(--accent-cool);padding:5px 2px;text-decoration:underline;cursor:pointer}
.digital-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:baseline;margin-top:16px;font-size:14px}
.digital-actions a,.digital-actions summary{min-height:32px;padding:6px 0;line-height:1.5;color:var(--accent-cool)}
.digital-details summary{cursor:pointer;text-decoration:underline;list-style:none}.digital-details summary::-webkit-details-marker{display:none}
.digital-details[open]{flex-basis:100%}
.digital-detail-content h2{font-size:clamp(23px,3vw,34px);line-height:1.25;margin:8px 0 28px;letter-spacing:-.03em}
.digital-detail-section{margin:24px 0}.digital-detail-section h3{font-size:17px;margin:0 0 8px}
.digital-detail-section p{font-size:14px;line-height:1.75;margin:8px 0;color:var(--ink-2)}
.digital-detail-guidance{padding-top:20px;border-top:1px solid var(--line)}
.digital-detail-guidance a{display:inline-block;font-size:14px;margin-bottom:10px}
.digital-open-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.digital-open{display:inline-block;background:var(--petrol-900);color:white!important;padding:12px 20px;border:1px solid #709697;border-radius:5px;font-size:14px;text-decoration:none}
.digital-open:focus-visible{outline:3px solid var(--orange-bright);outline-offset:4px}
.digital-empty{padding:32px;background:var(--panel);border:1px solid var(--line)}
.digital-access{font-size:13px;padding-top:4px}
.digital-modal{color:var(--ink);background:var(--panel);width:min(800px,calc(100vw - 40px));max-width:none;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 100px rgba(0,0,0,.3);overflow:auto;overscroll-behavior:contain}
.digital-modal::backdrop{background:rgba(8,24,27,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@supports (backdrop-filter:blur(12px)){.digital-modal{background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}}
.digital-modal-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;position:sticky;top:0;z-index:1;padding:16px 30px;background:var(--panel);border-bottom:1px solid var(--line);font-size:12px;color:var(--ink-2)}
.digital-modal-toolbar button{font:inherit;min-height:44px;padding:8px 16px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:6px;cursor:pointer}
.digital-modal [data-modal-content]{padding:22px 36px 30px}
.digital-modal-open{overflow:hidden}
.digital-card[hidden],.digital-group[hidden],.digital-empty[hidden]{display:none}
@media(max-width:950px){.digital-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.digital-grid{grid-template-columns:1fr}.digital-group>h2{font-size:22px}.digital-group>h2>span{min-width:190px}.digital-filters{gap:4px 10px}.digital-filters button{font-size:12px}.digital-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:12px}.digital-modal-toolbar{padding:10px 18px}.digital-modal [data-modal-content]{padding:18px 22px}.digital-card{--tool-card-padding:22px}.digital-detail-content h2{font-size:24px}}
@media(prefers-reduced-transparency:reduce){.digital-modal{background:var(--panel);backdrop-filter:none}.digital-modal::backdrop{backdrop-filter:none;background:rgba(8,24,27,.75)}}
@media(forced-colors:active){.digital-group h2>span,.digital-open{border:1px solid ButtonText}.digital-modal{background:Canvas}.digital-modal::backdrop{backdrop-filter:none}}

/* Align title, purpose, application reference and actions without stretching gaps. */
.digital-card{display:grid;grid-template-rows:auto 1fr auto auto;align-content:start}
.digital-purpose,.digital-guidance,.digital-also,.digital-actions{align-self:start}

/* The tool-name link covers the card; secondary controls stay independently usable. */
.digital-card-link{color:inherit;text-decoration:none}
.digital-card-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:6px}
.digital-card:has(.digital-card-link:hover){border-color:var(--accent-cool)}
.digital-card-link:focus-visible{outline:none}
.digital-card-link:focus-visible::after{outline:3px solid var(--accent-cool);outline-offset:3px}
.digital-guidance a,.digital-also button,.digital-actions{position:relative;z-index:2}

.digital-purpose h4{font-size:14px;font-weight:600;line-height:1.5;color:var(--ink);margin:0 0 6px}
.digital-purpose p{font:inherit;color:inherit;margin:0}
.digital-purpose .digital-purpose-item + .digital-purpose-item{margin-top:12px}

/* Equal widths throughout; heights follow the content of each row only. */
@supports(grid-template-rows:subgrid){
 .digital-card{grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
}
.digital-actions{row-gap:8px}
.digital-card-combined .digital-details{flex-basis:100%}
.digital-card-open-pair{display:flex;flex-wrap:nowrap;gap:16px;align-items:baseline}
.digital-card-open-pair a{white-space:nowrap}
@media(max-width:360px){.digital-card-open-pair{gap:12px;font-size:13px}}

/* Approved combination: A clean outline cards with B solid teal actions. */
.digital-card{border-top:4px solid #32939D;border-radius:7px;background:#fff}
.digital-card-heading{margin:0;padding:4px 0 0;background:none;border:0;border-radius:0}
.digital-card-heading h3{color:#0F3A40}
.digital-purpose{margin:22px 0;color:#854009}
.digital-deep .digital-purpose{color:#854009}
.digital-purpose h4,.digital-guidance-label{font-size:12px;font-weight:750;letter-spacing:.065em;text-transform:uppercase;color:#1F6F78;margin-bottom:9px}
.digital-guidance{align-self:stretch;padding:14px 16px;background:#EDF5F5;border:0;border-radius:5px;color:#526264}
.digital-guidance a{color:#1F6F78;text-decoration:underline;text-underline-offset:3px}
.digital-also{margin:8px 0 0;color:#526264}
.digital-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px;align-items:stretch}
.digital-details summary{color:#1F6F78;text-underline-offset:3px}
.digital-card-open-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
.digital-actions>a,.digital-card-open-pair>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 6px;background:#1F6F78;border:1px solid #1F6F78;border-radius:5px;color:#fff;font-size:14px;font-weight:700;line-height:1.35;text-align:center;text-decoration:none;white-space:normal}
.digital-actions>a:hover,.digital-card-open-pair>a:hover{background:#0F3A40;border-color:#0F3A40;color:#fff}
.digital-actions>a:focus-visible,.digital-card-open-pair>a:focus-visible{outline:3px solid #A85108;outline-offset:3px}
/* Preserve keyboard rings; pointer-restored focus is not a selected control. */
body[data-tool-input="pointer"] :is(.digital-page,.digital-modal) :is(a,button,summary):focus{outline:none}
body[data-tool-input="pointer"] .digital-card-link:focus::after{outline:none}
@media(max-width:600px){.digital-card{--tool-card-padding:20px}.digital-card-heading h3{font-size:24px}.digital-card-open-pair>a{font-size:13px}}

/* Approved Digital Tools title band, account notes and contact styling. */
body[data-page=ai-tools] .digital-title-band{display:flex;align-items:center;gap:24px;margin-bottom:20px}
body[data-page=ai-tools] .digital-title-band h1{flex:0 0 auto;margin:0}
body[data-page=ai-tools] .digital-title-band .hub-title{margin:0;color:var(--petrol-900);font-size:22px;font-weight:500;line-height:1.4;letter-spacing:-.025em}
.access-info{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;vertical-align:super;width:10px;height:18px;margin-right:2px;color:var(--accent-cool);font-family:Arial,sans-serif;font-size:16px;font-weight:600;line-height:1;text-decoration:none;border:0;background:none;border-radius:0}
.access-info::before{content:"";position:absolute;inset:-8px}
.access-info:hover{color:var(--petrol-900)}
.access-info:focus-visible{outline:2px solid var(--accent-cool);outline-offset:3px}
.simple-access{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;border-top:1px solid var(--line);margin-top:42px;padding:28px 0 10px;color:var(--ink)}
.simple-access>div{scroll-margin-top:82px}
.simple-access h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;line-height:1.4;margin:0 0 10px;color:var(--petrol-900)}
.support-note{flex:0 0 12px;font-family:Arial,sans-serif;font-size:16px;line-height:1}
.support-copy{margin-left:20px;max-width:690px}
.simple-access p{font-size:15px;line-height:1.75;margin:0;color:var(--ink-2)}
.access-intro>span,.eve-intro{display:block}
.simple-access a{color:var(--accent-cool);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.simple-access .registration-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 12px;margin:12px 0 6px}
.registration-action,.contact-email,.account-name{white-space:nowrap}
.registration-placeholder{color:var(--accent-cool);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.registration-line small{font-size:11px;white-space:nowrap;color:var(--ink-2)}
@media(max-width:800px){body[data-page=ai-tools] .digital-title-band{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:20px}body[data-page=ai-tools] .digital-title-band .hub-title{font-size:21px;line-height:1.45}.simple-access{grid-template-columns:1fr;gap:28px;margin-top:30px;padding-top:24px}.simple-access p{font-size:14px}.simple-access>div{scroll-margin-top:168px}.support-copy{max-width:620px}}

.simple-access a.contact-email,.digital-detail-section a.contact-email{color:inherit;font-weight:inherit;text-decoration:none}

/* Inline mobile footnotes keep the final name word and marker together. */
@media(max-width:600px){.digital-card-heading .access-info{display:inline;padding:0 2px}}
