/* Selected Lucide SVGs, built locally. Licence: /assets/lucide-LICENSE.txt */
.icon{display:inline-block;width:20px;height:20px;max-width:none;flex:none;vertical-align:-.2em;pointer-events:none}
.site-header .nav-icon{display:none}
.nav-toggle .icon-x,.nav-toggle[aria-expanded=true] .icon-menu{display:none}
.nav-toggle[aria-expanded=true] .icon-x{display:block}
.theme-toggle .icon-sun,:root[data-theme=dark] .theme-toggle .icon-moon{display:none}
:root[data-theme=dark] .theme-toggle .icon-sun{display:block}
.round-link .icon{width:28px;height:28px}
.path-sign{width:24px;height:24px;transform:rotate(-90deg)}
.path-option[open] .path-sign{transform:none}
.path-option summary:is(:hover,:focus-visible) .path-sign{transform:rotate(-90deg)}
.path-option[open] summary:is(:hover,:focus-visible) .path-sign{transform:none}
.faq summary .icon{color:var(--accent)}
.faq[open] summary .icon{transform:rotate(180deg)}
/* The readable message remains the live region; these empty masks are decorative. */
.form-status:not(:empty),.registration-result:not(:empty),.enquiry-gate,.registration-gate{position:relative;padding-left:30px}
:is(.form-status,.registration-result):not(:empty)::before,:is(.enquiry-gate,.registration-gate)::before{content:"";position:absolute;left:0;top:.25em;width:20px;height:20px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22icon%20icon-info%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2016v-4%22%20%2F%3E%20%3Cpath%20d%3D%22M12%208h.01%22%20%2F%3E%3C%2Fsvg%3E") center / contain no-repeat}
.enquiry-gate::before{left:8px;top:1.1em}
.enquiry-gate{padding-left:38px}
:is(.form-status,.registration-result)[data-tone=error]::before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22icon%20icon-circle-alert%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cline%20x1%3D%2212%22%20x2%3D%2212%22%20y1%3D%228%22%20y2%3D%2212%22%20%2F%3E%20%3Cline%20x1%3D%2212%22%20x2%3D%2212.01%22%20y1%3D%2216%22%20y2%3D%2216%22%20%2F%3E%3C%2Fsvg%3E")}
:is(.form-status,.registration-result)[data-tone=success]::before{mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22icon%20icon-circle-check%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cpath%20d%3D%22m16%209-5.5%205.5L8%2012%22%20%2F%3E%3C%2Fsvg%3E")}
@media(min-width:1281px){.site-header{flex-wrap:nowrap}.site-header nav{flex:none}.header-cta{flex:none}}
@media(max-width:1280px){
 .site-header .nav-icon{display:inline-block;color:var(--accent)}
 .header-shell:has(nav.is-open){max-height:100dvh;overflow-y:auto}
}
@media(max-width:800px){
 .site-header{min-height:84px;grid-template-columns:minmax(0,1fr) 44px 44px;gap:9px;padding-block:13px}
 .nav-toggle{grid-column:2;padding:0;width:44px;height:44px}.menu-label{display:none}.theme-toggle{grid-column:3}
 .header-cta{display:none;grid-column:1/-1;grid-row:3;justify-self:start;margin-bottom:8px;gap:16px}
 .site-header:has(nav.is-open) .header-cta,:root:not([data-theme]) .header-cta{display:flex}
 .site-header nav{grid-template-columns:1fr 1fr;gap:4px 20px}
}
@media(max-width:680px){.site-header nav{grid-template-columns:1fr;padding-block:12px;gap:0}.site-header nav a{min-height:46px}.header-cta{font-size:14px;padding-inline:14px}}
@media(prefers-reduced-motion:no-preference){
 :root[data-motion=full] :is(.button,.text-link,.header-cta)>.icon{transition:transform 200ms var(--ease-out)}
 :root[data-motion=full] :is(.button,.text-link,.header-cta):is(:hover,:focus-visible)>.icon-arrow-right{transform:translateX(3px)}
 :root[data-motion=full] :is(.button,.text-link,.header-cta):is(:hover,:focus-visible)>.icon-arrow-up-right{transform:translate(2px,-2px)}
 :root[data-motion=full] :is(.button,.text-link):is(:hover,:focus-visible)>.icon-arrow-down{transform:translateY(3px)}
}
