/* ==========================================================================
   DrLead Piscinas / UI Library 1.0
   Premium editorial components — drawn from the approved V3 art direction.
   Namespaced with dl- to avoid contaminating site/client styles.
   Dependencies: only ./tokens.css and ./backgrounds.css.
   ========================================================================== */
@import url("./tokens.css");
@import url("./backgrounds.css");

.dl-root,.dl-root *,.dl-root *::before,.dl-root *::after{box-sizing:border-box}
.dl-root{font-family:var(--dl-font-body);color:var(--dl-navy);background:var(--dl-paper);-webkit-font-smoothing:antialiased;line-height:1.5}
.dl-root button,.dl-root input,.dl-root select,.dl-root textarea{font:inherit}
.dl-root button{cursor:pointer}
.dl-root img,.dl-root svg{max-width:100%}
.dl-root a{color:inherit}
.dl-root [hidden]{display:none!important}
.dl-root :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--dl-cyan);outline-offset:4px}
.dl-root ::selection{background:#00CFF2;color:#030C2E}
.dl-theme--night{--dl-surface:#030C2E;--dl-surface-raised:#0B205B;--dl-text:#FFFFFF;--dl-text-subtle:#B5CEE5;--dl-edge:#416A92;--dl-highlight:#00CFF2;color:#FFF;background:var(--dl-surface)}
.dl-theme--paper{--dl-surface:#F3F3F0;--dl-surface-raised:#FFFFFF;--dl-text:#07165E;--dl-text-subtle:#4E6584;--dl-edge:#B9C6D4;--dl-highlight:#0876FB;color:var(--dl-text);background:var(--dl-surface)}
.dl-root .dl-theme--night,.dl-root .dl-theme--paper{color:var(--dl-text)}
/* Layout: production grid; canvas and gutters. */
.dl-container{width:min(100% - 2*var(--dl-gutter),var(--dl-container));margin-inline:auto}
.dl-section{padding-block:clamp(48px,6.7vw,108px)}
.dl-section--tight{padding-block:clamp(28px,4vw,62px)}
.dl-grid{display:grid;gap:clamp(16px,2.1vw,32px)}
.dl-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dl-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dl-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.dl-grid--12{grid-template-columns:repeat(12,minmax(0,1fr))}
.dl-span-2{grid-column:span 2}.dl-span-3{grid-column:span 3}.dl-span-4{grid-column:span 4}.dl-span-5{grid-column:span 5}.dl-span-6{grid-column:span 6}.dl-span-7{grid-column:span 7}.dl-span-8{grid-column:span 8}.dl-span-9{grid-column:span 9}.dl-span-12{grid-column:span 12}
.dl-stack{display:flex;flex-direction:column;gap:var(--dl-space-4)}
.dl-stack--compact{gap:var(--dl-space-2)}
.dl-inline{display:flex;align-items:center;gap:var(--dl-space-3);flex-wrap:wrap}
.dl-between{display:flex;justify-content:space-between;gap:var(--dl-space-6);align-items:center}
.dl-aside-grid{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,2.2fr);gap:clamp(28px,5vw,94px);align-items:start}
.dl-rule{height:1px;width:100%;background:var(--dl-edge,#B9C6D4)}
.dl-waterline{height:2px;background:linear-gradient(90deg,#00CFF2 0%,#0876FB 52%,#07165E 100%);width:100%}
/* Typographic hierarchy: large, restrained, intentional. */
.dl-kicker{font:750 .7rem/1.4 var(--dl-font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--dl-action-blue);margin:0 0 .7rem}
.dl-theme--night .dl-kicker{color:var(--dl-cyan)}
.dl-title{font-family:var(--dl-font-display);font-weight:390;line-height:.99;letter-spacing:-.067em;margin:0;color:inherit}
.dl-title--hero{font-size:clamp(3.25rem,7.5vw,8.3rem);max-width:12ch}
.dl-title--section{font-size:clamp(2.65rem,5vw,5.9rem);max-width:17ch}
.dl-title--large{font-size:clamp(2.1rem,3.6vw,4.2rem)}
.dl-title--medium{font-size:clamp(1.65rem,2.4vw,2.75rem);letter-spacing:-.046em}
.dl-title em{font-style:normal;color:var(--dl-cyan)}
.dl-theme--paper .dl-title em{color:var(--dl-action-blue)}
.dl-lead{font-size:clamp(1.1rem,1.55vw,1.5rem);line-height:1.5;max-width:62ch;color:var(--dl-text-subtle,#546986);margin:.8rem 0}
.dl-copy{font-size:1rem;line-height:1.65;max-width:71ch;color:var(--dl-text-subtle,#4E6584)}
.dl-small{font-size:.87rem;line-height:1.5;color:var(--dl-text-subtle,#4E6584)}
.dl-meta{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;font-weight:720;color:var(--dl-text-subtle,#58758F)}
.dl-index{font-family:var(--dl-font-display);font-size:clamp(3rem,6vw,6.5rem);line-height:.84;letter-spacing:-.075em;font-weight:320;color:var(--dl-highlight,var(--dl-cyan));display:inline-block}
/* Minimal interactive icon */
.dl-icon{width:24px;height:24px;display:inline-block;vertical-align:-.2em;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dl-icon--sm{width:16px;height:16px}
.dl-icon--md{width:22px;height:22px}
.dl-icon--lg{width:32px;height:32px}
.dl-icon--xl{width:44px;height:44px}
.dl-icon-tile{display:grid;place-items:center;gap:10px;padding:19px 8px;min-width:0;min-height:108px;border:0;border-top:1px solid var(--dl-edge,#B8C6D8);background:transparent;text-align:center}
.dl-icon-tile .dl-icon{width:32px;height:32px;color:var(--dl-action-blue)}
.dl-icon-tile .dl-small{font-size:.72rem;overflow-wrap:anywhere}
.dl-icon-tile:hover{background:#E4F2F8}
.dl-icon-tile[aria-pressed="true"]{background:#D7EDF7;box-shadow:inset 0 2px 0 var(--dl-action-blue)}
/* Buttons: approved editorial 32.24 (night) and 32.21 (paper). */
/* AUTO-GENERATED — approved 32.24 / 32.21. Source: src/buttons.json */
:root{
 --dl-btn-dark-background:linear-gradient(105deg,#07165E 10%,#086FEF 100%);
 --dl-btn-dark-foreground:#FFFFFF;
 --dl-btn-dark-border:transparent;
 --dl-btn-dark-hover:linear-gradient(105deg,#092376 4%,#0755C8 86%,#086FEF 115%);
 --dl-btn-light-background:#EAF6FF;
 --dl-btn-light-foreground:#082650;
 --dl-btn-light-border:#9AB9D3;
 --dl-btn-light-hover:#D9EEFF;
 --dl-btn-radius:0px;
 --dl-btn-family:var(--dl-font-display);
 --dl-btn-font-size:clamp(1rem,1.2vw,1.22rem);
 --dl-btn-weight:510;
 --dl-btn-letter-spacing:-.025em;
 --dl-btn-line-height:1.18;
 --dl-btn-min-height:58px;
 --dl-btn-padding:17px 23px;
 --dl-btn-gap:19px;
 --dl-btn-compact-font-size:.84rem;
 --dl-btn-compact-min-height:44px;
 --dl-btn-compact-padding:11px 16px;
 --dl-btn-transition:background 220ms var(--dl-ease),color 220ms var(--dl-ease),border-color 220ms var(--dl-ease),transform 220ms var(--dl-ease);
}
/* The entire button family shares the approved Editorial Grande shape. */
.dl-btn{
 appearance:none;display:inline-flex;align-items:center;justify-content:space-between;
 gap:var(--dl-btn-gap);min-height:var(--dl-btn-min-height);padding:var(--dl-btn-padding);
 border:1px solid transparent;border-radius:var(--dl-btn-radius);
 font-family:var(--dl-btn-family);font-size:var(--dl-btn-font-size);
 font-weight:var(--dl-btn-weight);line-height:var(--dl-btn-line-height);
 letter-spacing:var(--dl-btn-letter-spacing);text-decoration:none;
 white-space:normal;vertical-align:middle;cursor:pointer;
 transition:var(--dl-btn-transition);background:var(--dl-btn-light-background);
 color:var(--dl-btn-light-foreground);border-color:var(--dl-btn-light-border);
}
.dl-btn:hover:not(:disabled):not([aria-disabled="true"]){transform:translateY(-2px);background:var(--dl-btn-light-hover)}
.dl-btn:active:not(:disabled){transform:translateY(0)}
.dl-btn:focus-visible{outline:3px solid #00CFF2;outline-offset:4px}
.dl-btn:is(:disabled,[aria-disabled="true"]){opacity:0.44;cursor:not-allowed;transform:none;pointer-events:none}
/* Surface is the first selector; role is not an excuse to use the wrong color. */
.dl-theme--night .dl-btn:not(.dl-btn--destructive),
.dl-btn--on-dark{
 background:var(--dl-btn-dark-background);border-color:var(--dl-btn-dark-border);color:var(--dl-btn-dark-foreground);
}
.dl-theme--night .dl-btn:not(.dl-btn--destructive):hover:not(:disabled),
.dl-btn--on-dark:hover:not(:disabled){
 background:var(--dl-btn-dark-hover);color:var(--dl-btn-dark-foreground);
}
.dl-theme--paper .dl-btn:not(.dl-btn--destructive),
.dl-btn--on-light{
 background:var(--dl-btn-light-background);border-color:var(--dl-btn-light-border);color:var(--dl-btn-light-foreground);
}
.dl-theme--paper .dl-btn:not(.dl-btn--destructive):hover:not(:disabled),
.dl-btn--on-light:hover:not(:disabled){
 background:var(--dl-btn-light-hover);color:var(--dl-btn-light-foreground);
}
.dl-btn--small,.dl-btn--icon{
 min-height:var(--dl-btn-compact-min-height);padding:var(--dl-btn-compact-padding);
 font-size:var(--dl-btn-compact-font-size);
}
.dl-btn--large{min-height:68px;padding:21px 28px;font-size:1.22rem}
.dl-btn--icon{width:44px;height:44px;padding:0;display:inline-grid;place-items:center;flex:none}
.dl-btn--loading{cursor:progress}
.dl-btn--loading::after{
 content:"";width:15px;height:15px;border:2px solid currentColor;
 border-right-color:transparent;border-radius:50%;animation:dl-spin .7s linear infinite
}
.dl-btn--destructive{background:var(--dl-danger);color:#fff;border-color:var(--dl-danger)}
.dl-btn--destructive:hover:not(:disabled){background:#87243A;color:#fff;border-color:#87243A}
@keyframes dl-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
 .dl-btn{transition:none}
 .dl-btn:hover:not(:disabled){transform:none}
 .dl-btn--loading::after{animation-duration:1.5s}
}

.dl-text-link{font-size:.9rem;text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid currentColor;padding-bottom:6px}
.dl-text-link .dl-icon{width:18px;height:18px}
.dl-text-link:hover{color:var(--dl-action-blue)}
.dl-theme--night .dl-text-link:hover{color:var(--dl-cyan)}
/* Editorial panels, less "all cards". */
.dl-feature{border-top:1px solid var(--dl-edge,#B9C6D4);padding:24px 0 0;min-width:0}
.dl-feature__number{font-family:var(--dl-font-display);font-size:2.3rem;font-weight:340;color:var(--dl-action-blue);letter-spacing:-.06em}
.dl-feature__title{font:500 clamp(1.4rem,2.2vw,2.35rem)/1.06 var(--dl-font-display);letter-spacing:-.04em;margin:13px 0 11px}
.dl-feature__copy{font-size:.93rem;line-height:1.58;color:var(--dl-text-subtle,#536B87)}
.dl-panel{padding:clamp(22px,2.5vw,42px);background:var(--dl-surface-raised,#FFF);border:1px solid var(--dl-edge,#D0D9E2);min-width:0}
.dl-panel--quiet{background:transparent;border-color:transparent;border-top-color:var(--dl-edge,#BBC7D5);padding:20px 0 0}
.dl-panel--deep{background:var(--dl-abyss);border-color:var(--dl-abyss);color:#FFF}
.dl-panel--signal{border:0;border-left:3px solid var(--dl-cyan);background:#E4F2F6}
.dl-panel--ghost{border:1px solid rgba(190,224,245,.3);background:rgba(2,24,65,.35);color:white;backdrop-filter:blur(8px)}
.dl-panel--deep .dl-copy,.dl-panel--deep .dl-small{color:#C8DEEB}
/* Navigation with mobile toggle, keyboard and explicit focus */
.dl-nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;padding:13px var(--dl-gutter);border-bottom:1px solid var(--dl-edge,rgba(220,231,247,.25));z-index:3}
.dl-nav__logo{max-width:205px;width:205px;display:block;height:auto}
.dl-nav__links{display:flex;align-items:center;gap:clamp(17px,2vw,40px);list-style:none;padding:0;margin:0}
.dl-nav__links a{font-size:.8rem;text-decoration:none;letter-spacing:.02em;font-weight:650;color:inherit}
.dl-nav__links a:hover,.dl-nav__links a[aria-current="page"]{color:var(--dl-cyan)}
.dl-nav__toggle{display:none}
.dl-breadcrumb{display:flex;align-items:center;gap:9px;list-style:none;margin:0;padding:0;color:var(--dl-text-subtle,#5F6B7F);font-size:.78rem}
.dl-breadcrumb li:not(:last-child)::after{content:"/";margin-left:9px;opacity:.6}
/* Indicators: explicit status labels, no fake data */
.dl-status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;font-size:.69rem;letter-spacing:.08em;text-transform:uppercase;font-weight:750;border:1px solid transparent}
.dl-status::before{content:"";height:6px;width:6px;background:currentColor;border-radius:50%}
.dl-status--neutral{background:#E2E8EF;color:#36526C}
.dl-status--info{background:#DDEFFD;color:#0755C8}
.dl-status--success{background:#D8F0E8;color:#116B5E}
.dl-status--warning{background:#FFF0DA;color:#8E5516}
.dl-status--restricted{background:#F5E3E9;color:#A62F49}
.dl-notice{display:flex;gap:14px;border-left:3px solid var(--dl-action-blue);background:#E6F0F7;padding:15px 18px;color:#1E476A;font-size:.9rem;line-height:1.55}
.dl-notice .dl-icon{flex:none}
.dl-notice--warning{background:#F9ECD9;border-left-color:#9B5A13;color:#6B491F}
.dl-notice--restricted{background:#F6E5E9;border-left-color:#A62F49;color:#702B3B}
.dl-theme--night .dl-notice{background:#12336A;color:#D7F4FF}
/* Native forms with visible labels and error text */
.dl-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dl-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.dl-field--wide{grid-column:1/-1}
.dl-label{font-size:.78rem;font-weight:750;letter-spacing:.02em;color:var(--dl-text,#07165E)}
.dl-label small{font-weight:400;color:var(--dl-text-subtle,#6B7C92)}
.dl-input,.dl-select,.dl-textarea{appearance:none;min-height:47px;width:100%;padding:12px 13px;background:#FFF;color:#07165E;border:1px solid #A9B9C8;border-radius:0;font-size:.91rem;line-height:1.4;outline-offset:2px;transition:border-color .16s ease}
.dl-textarea{min-height:110px;resize:vertical}
.dl-input:focus,.dl-select:focus,.dl-textarea:focus{border-color:#0876FB}
.dl-input::placeholder,.dl-textarea::placeholder{color:#74839B}
.dl-input:disabled,.dl-select:disabled,.dl-textarea:disabled{background:#E3E8ED;color:#6A7480;cursor:not-allowed}
.dl-select{padding-right:42px;background-image:url("./assets/icons/chevron-down.svg");background-repeat:no-repeat;background-position:calc(100% - 15px) center;background-size:18px}
.dl-field__hint{font-size:.75rem;line-height:1.5;color:#61758F}
.dl-field__error{font-size:.78rem;color:#A62F49;font-weight:650}
.dl-field[data-invalid="true"] :is(.dl-input,.dl-select,.dl-textarea){border-color:#A62F49;background:#FFF7F8}
.dl-fieldset{border:0;padding:0;margin:0;min-width:0}
.dl-fieldset legend{font-weight:750;color:#07165E;margin-bottom:10px;font-size:.85rem}
.dl-choice{display:flex;gap:11px;align-items:flex-start;font-size:.83rem;line-height:1.45;color:#38506C;padding:6px 0}
.dl-choice input{margin-top:3px;min-width:17px;width:17px;height:17px;accent-color:#0755C8}
.dl-form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}
.dl-form-result{min-height:22px;font-size:.78rem;color:#245C78}
/* Table: horizontal scroll preserved; explicit real-data warning */
.dl-table-scroll{max-width:100%;overflow:auto;border-top:2px solid #07165E}
.dl-table{width:100%;border-collapse:collapse;min-width:620px;background:transparent;font-size:.88rem}
.dl-table caption{text-align:left;padding:15px 0;color:var(--dl-text-subtle,#536D82);font-size:.78rem}
.dl-table th{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:#0755C8;padding:16px 12px 14px;border-bottom:1px solid #ABB9CA;text-align:left;white-space:nowrap}
.dl-table td{padding:17px 12px;border-bottom:1px solid #CDD5DF;color:#34506C;vertical-align:top}
.dl-table tbody tr:hover{background:rgba(17,130,195,.055)}
.dl-table td strong{color:var(--dl-navy)}
/* Progress & metrics */
.dl-stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0}
.dl-step{border-top:3px solid #BCCBD8;padding:12px 8px 8px 0;min-width:0}
.dl-step[data-state="done"]{border-color:#0876FB}
.dl-step[data-state="current"]{border-color:#00CFF2}
.dl-step__index{font:320 2rem/.95 var(--dl-font-display);letter-spacing:-.07em;color:#4E8DBF}
.dl-step__name{font-size:.76rem;line-height:1.35;display:block;font-weight:710;color:#18395B;margin:7px 0}
.dl-step__detail{font-size:.71rem;line-height:1.4;color:#546C84}
.dl-stat{border-top:1px solid var(--dl-edge,#BDC9D7);padding-top:15px}
.dl-stat__label{font-size:.71rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dl-text-subtle,#55708D)}
.dl-stat__value{font:360 clamp(2.4rem,4vw,5rem)/1.03 var(--dl-font-display);letter-spacing:-.06em;color:var(--dl-text,#07165E);margin:17px 0 8px}
.dl-stat__note{font-size:.78rem;color:var(--dl-text-subtle,#55708D)}
.dl-stat--empty .dl-stat__value{opacity:.45}
/* Accessible tabs, native disclosure */
.dl-tabs__list{display:flex;gap:20px;align-items:stretch;border-bottom:1px solid var(--dl-edge,#AEBED2);overflow:auto;scrollbar-width:thin}
.dl-tab{border:0;border-bottom:3px solid transparent;padding:15px 4px;background:transparent;color:var(--dl-text-subtle,#476280);font-weight:730;font-size:.82rem;white-space:nowrap}
.dl-tab[aria-selected="true"]{border-color:var(--dl-cyan);color:var(--dl-text,#07165E)}
.dl-tab:disabled{opacity:.4;cursor:not-allowed}
.dl-tabs__panel{padding-block:25px}
.dl-disclosure{border-top:1px solid var(--dl-edge,#B6C4D5)}
.dl-disclosure:last-child{border-bottom:1px solid var(--dl-edge,#B6C4D5)}
.dl-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;cursor:pointer;color:var(--dl-text,#07165E);font-weight:650;list-style:none}
.dl-disclosure summary::-webkit-details-marker{display:none}
.dl-disclosure summary::after{content:"+";font-family:var(--dl-font-display);font-size:28px;font-weight:330;color:var(--dl-action-blue)}
.dl-disclosure[open] summary::after{content:"−"}
.dl-disclosure__content{padding:0 0 20px;color:var(--dl-text-subtle,#526989);font-size:.9rem;line-height:1.6;max-width:72ch}
/* Dialog / Toast */
.dl-modal{border:1px solid #8EB6D0;padding:0;width:min(90vw,530px);max-height:85vh;background:var(--dl-paper);color:#07165E;box-shadow:0 40px 120px #02122E6F}
.dl-modal::backdrop{background:rgba(2,9,33,.72);backdrop-filter:blur(4px)}
.dl-modal__header{background:var(--dl-abyss);padding:25px 28px;color:white}
.dl-modal__header .dl-kicker{color:var(--dl-cyan)}
.dl-modal__body{padding:25px 28px}
.dl-modal__actions{display:flex;justify-content:flex-end;gap:11px;padding:15px 28px 26px}
.dl-toasts{position:fixed;z-index:999;right:22px;bottom:20px;display:flex;flex-direction:column;gap:10px;width:min(370px,calc(100vw - 44px));pointer-events:none}
.dl-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px 18px;border:1px solid #3C77A2;border-left:4px solid var(--dl-cyan);background:#04143B;color:white;box-shadow:0 18px 50px #03102B45;pointer-events:auto;animation:dl-rise .18s ease-out}
.dl-toast__title{font-weight:760;font-size:.85rem}
.dl-toast__message{font-size:.8rem;color:#C1DCEB;margin:5px 0 0}
.dl-toast__close{background:none;border:none;color:#DCF7FF;font-size:19px;min-width:22px}
.dl-toast[data-kind="warning"]{border-left-color:#EAA64F}
.dl-toast[data-kind="error"]{border-left-color:#DE6C87}
@keyframes dl-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* Disabled, error and empty/loading states must be explicit. */
.dl-empty{border:1px dashed #9FB7C9;padding:32px;display:flex;align-items:center;gap:18px;background:#EAF0F5}
.dl-empty .dl-icon{width:35px;height:35px;color:#387BB7}
.dl-empty strong{display:block;font-weight:720}
.dl-empty p{margin:5px 0 0;font-size:.78rem;color:#546D85}
.dl-skeleton{height:17px;background:linear-gradient(100deg,#DDE8F0 20%,#EFF5F8 40%,#DDE8F0 65%);background-size:220% 100%;animation:dl-shimmer 1.4s ease-in-out infinite}
.dl-skeleton--title{height:39px;width:65%}
.dl-skeleton--line{width:100%}
.dl-skeleton--short{width:42%}
@keyframes dl-shimmer{to{background-position-x:-220%}}
/* Background overlays preserve legibility without altering SVG assets. */
.dl-background{min-height:420px;position:relative;overflow:hidden}
.dl-background::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,12,46,.72),rgba(3,12,46,0) 85%);pointer-events:none}
.dl-background--light::before{background:linear-gradient(90deg,rgba(243,243,240,.85),rgba(243,243,240,0) 90%)}
.dl-background__content{position:relative;z-index:1;padding:clamp(28px,5.5vw,90px)}
.dl-bg-thumbnail{aspect-ratio:16/9;background-size:cover;background-position:center;position:relative;min-height:160px;border:1px solid #C9D7E3}
.dl-bg-thumbnail__label{position:absolute;bottom:0;left:0;right:0;background:#030C2EDB;color:white;padding:11px 14px;font-size:.73rem;font-weight:750;letter-spacing:.04em}
/* Tiny non-blocking feedback. */
.dl-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Responsive, readable, no fake desktop-only showcase. */
@media(max-width:980px){.dl-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.dl-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}.dl-aside-grid{grid-template-columns:1fr}}
@media(max-width:780px){.dl-grid--3,.dl-grid--2{grid-template-columns:1fr}.dl-grid--12{grid-template-columns:repeat(6,minmax(0,1fr))}.dl-grid--12>[class*="dl-span"]{grid-column:1/-1}.dl-form-grid{grid-template-columns:1fr}.dl-nav__toggle{display:inline-flex}.dl-nav__links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--dl-abyss);color:white;padding:26px var(--dl-gutter);flex-direction:column;align-items:flex-start;z-index:20;box-shadow:0 22px 40px #03102755}.dl-nav[data-open="true"] .dl-nav__links{display:flex}.dl-title--hero{font-size:clamp(2.9rem,10vw,5.2rem)}.dl-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.dl-grid--4{grid-template-columns:1fr}.dl-grid--12{grid-template-columns:1fr}.dl-between{align-items:flex-start;flex-direction:column}.dl-inline{gap:10px}.dl-panel{padding:22px}.dl-nav{padding-block:14px;min-height:68px}.dl-nav__logo{width:175px}.dl-title--hero{font-size:clamp(2.6rem,11vw,4.2rem)}.dl-title--section{font-size:clamp(2.3rem,9vw,3.9rem)}.dl-btn{min-height:46px}.dl-stepper{grid-template-columns:1fr 1fr}.dl-stat__value{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.dl-root *, .dl-root *::before,.dl-root *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
