/* layout for the public site kit — composes the design-system primitives */
.site{min-height:100%}
.wrap{max-width:var(--max-content);margin:0 auto;padding:0 var(--gutter-page-wide)}
@media (max-width:720px){.wrap{padding:0 var(--gutter-page)}}

.hdr{position:sticky;top:0;z-index:80;background:var(--surface-page);border-bottom:var(--rule-hairline)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);height:var(--header-height)}
.hdr__logo{font:var(--weight-medium) var(--size-15)/1 var(--font-sans);letter-spacing:var(--tracking-logo);color:var(--text-primary);background:none;border:0;cursor:pointer;padding:0;transition:opacity 900ms var(--ease-ui)}
.hdr__nav{display:flex;align-items:center;gap:var(--space-8)}
.hdr__link{font:var(--type-body-sm);color:var(--text-tertiary);background:none;border:0;padding:var(--space-2) 0;cursor:pointer;border-bottom:1px solid transparent;transition:color var(--dur-state) var(--ease-state),border-color var(--dur-state) var(--ease-state)}
.hdr__link:hover{color:var(--text-primary)}
.hdr__link[aria-current="page"]{color:var(--text-primary);border-bottom-color:var(--text-primary)}
@media (max-width:720px){.hdr__nav{display:none}}
.hdr__burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:calc(-1 * var(--space-4));padding:0;border:0;background:none;color:var(--text-primary);cursor:pointer}
@media (max-width:720px){.hdr__burger{display:inline-flex}}
.navsheet{position:fixed;inset:var(--header-height) 0 0;z-index:79;background:var(--surface-page);display:flex;flex-direction:column;justify-content:space-between;padding-block:var(--space-9) var(--space-9);overflow-y:auto;animation:navsheet-in 220ms var(--ease-ui) both}
@keyframes navsheet-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.navsheet__links{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}
.navsheet__link{min-height:56px;display:flex;align-items:center;width:100%;padding:var(--space-4) 0;border:0;border-bottom:var(--rule-hairline);background:none;text-align:left;cursor:pointer;font:var(--weight-light) clamp(26px,7.5vw,38px)/1.1 var(--font-display);letter-spacing:var(--tracking-title);color:var(--text-primary)}
.navsheet__link[aria-current="page"]{color:var(--text-tertiary)}
.navsheet__foot{font:var(--type-data-sm);color:var(--text-tertiary);padding-top:var(--space-8)}
@media (prefers-reduced-motion:reduce){.navsheet{animation-duration:1ms}}

.hero{min-height:calc(100dvh - var(--header-height));display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:var(--space-11) var(--space-9)}
.hero__stack{margin-block:auto;display:flex;flex-direction:column;align-items:center;padding-bottom:var(--space-10)}
.hero__word{display:block;font:var(--type-display);letter-spacing:var(--tracking-display);color:var(--text-primary);animation:hero-focus var(--dur-hero) var(--ease-focus) var(--dur-hero-hold) both}
@keyframes hero-focus{from{filter:blur(var(--blur-hero-start))}to{filter:blur(0)}}
.hero__cta--intro{animation:cue-focus 1300ms cubic-bezier(.22,.61,.24,1) calc(var(--dur-hero) * .38) both}
.hero__cta--intro .clarte-btn{position:relative;background:none;border-color:transparent;font-size:var(--size-17)}
.hero__cta--intro .clarte-btn:hover{background:none;color:var(--text-primary)}
.hero__cta--intro .clarte-icon-svg{transition:transform 140ms cubic-bezier(.2,.6,.3,1)}
.hero__cta--intro .clarte-btn:hover .clarte-icon-svg{transform:translate(3px,-3px)}
.hero__expand{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3) var(--space-6);margin-top:var(--space-9);font:var(--type-data-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary)}
.hero__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-5);margin-top:var(--space-11)}
.hero__more{flex:none;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border:0;background:none;cursor:pointer;color:var(--text-tertiary);font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;animation:cue-focus 1300ms cubic-bezier(.22,.61,.24,1) calc(var(--dur-hero) * .38) both}
.hero__more .clarte-icon-svg{transition:transform var(--dur-ui) var(--ease-ui)}
.hero__more:hover{color:var(--text-primary)}
.hero__more:hover .clarte-icon-svg{transform:translateY(3px)}
.hero__more:focus-visible{outline:var(--stroke-hairline) solid var(--focus-ring);outline-offset:3px}
@keyframes cue-focus{from{filter:blur(9px)}to{filter:blur(0)}}
@media (prefers-reduced-motion:reduce){.hero__more{animation-duration:1ms;animation-delay:0ms}.hero__expand,.hero__cta--intro{animation-duration:1ms;animation-delay:0ms}}

.section{padding-block:var(--space-12)}
.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;padding-bottom:var(--space-5);border-bottom:var(--rule-hairline);margin-bottom:var(--space-9)}
.section__title{font:var(--type-h2);color:var(--text-primary);min-width:0}
h1.section__title{letter-spacing:var(--tracking-title)}
.section__head--page{display:block}
.section__head--page .section__note{display:block;margin-top:var(--space-4);white-space:normal}
.section__note{font:var(--type-data-sm);color:var(--text-tertiary);flex:none;white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-9)}
.kpis--legend{margin-top:var(--space-10);padding-top:var(--space-7);border-top:var(--rule-hairline)}
.kpis--legend .clarte-kpi__value{font-size:var(--size-34)}
@media (max-width:720px){.kpis{grid-template-columns:repeat(2,1fr);gap:var(--space-8)}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-11)}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:var(--space-9)}}
.prose{font:var(--type-body);color:var(--text-secondary);max-width:var(--max-prose);text-wrap:pretty;display:flex;flex-direction:column;gap:var(--space-6)}
.prose li{line-height:var(--leading-body)}
.factlist{display:flex;flex-direction:column;gap:var(--space-7)}
.factlist li{display:flex;gap:var(--space-5);align-items:flex-start}
.factlist h3{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-3)}

.ftr{border-top:var(--rule-hairline);padding:var(--space-10) 0 var(--space-9)}
.ftr__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-9)}
@media (max-width:720px){.ftr__cols{grid-template-columns:repeat(2,1fr)}}
.ftr__col{display:flex;flex-direction:column;gap:var(--space-4)}
.ftr__h{font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary);padding-bottom:var(--space-4);border-bottom:var(--rule-hairline)}
.ftr__l{font:var(--type-body-sm);color:var(--text-secondary);text-decoration:none;transition:color var(--dur-state) var(--ease-state)}
.ftr__l:hover{color:var(--text-primary)}
.ftr__l--muted{color:var(--text-tertiary);cursor:default}
.ftr__l--muted:hover{color:var(--text-tertiary)}
.ftr__base{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-top:var(--space-10);font:var(--type-data-sm);color:var(--text-tertiary)}
.ftr__end{display:flex;align-items:center;gap:var(--space-7)}

.filters{border:var(--rule-hairline);background:var(--surface-card);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-6)}
.filters__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
.filters__grid--3{grid-template-columns:repeat(3,1fr)}
.filters__grid--2{grid-template-columns:repeat(2,1fr);column-gap:var(--space-8);row-gap:var(--space-7);align-items:start}
.filters__severity{align-self:stretch}
.filters__severity .clarte-field{height:100%}
.filters__severity [role=radiogroup]{flex:1;align-items:center}
@media (max-width:900px){.filters__grid,.filters__grid--3{grid-template-columns:repeat(2,1fr)}.filters__grid--2{grid-template-columns:1fr}}
.filters__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}
.chips{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.chip{display:inline-flex;align-items:center;gap:var(--space-3);border:var(--rule-hairline);padding:4px 6px 4px 8px;font:var(--type-data-sm);color:var(--text-secondary);background:var(--surface-card)}
.chip button{background:none;border:0;cursor:pointer;color:var(--text-tertiary);font:200 15px/1 var(--font-sans);padding:0 2px}
.chip button:hover{color:var(--text-primary)}

.results__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;margin:var(--space-9) 0 var(--space-6)}
.results__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
@media (max-width:900px){.results__grid{grid-template-columns:1fr}}
.results__empty{border:var(--rule-dashed);padding:var(--space-11) var(--space-8);text-align:center;color:var(--text-tertiary);font:var(--type-body-sm)}
.results__foot{display:flex;justify-content:center;padding:var(--space-10) 0 var(--space-12)}

.form{display:flex;flex-direction:column;gap:var(--space-7);max-width:720px}
.method__layout{}
@media (max-width:900px){.method__layout{grid-template-columns:1fr!important;gap:var(--space-8)!important}.method__nav{position:static!important;top:auto!important}}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
@media (max-width:720px){.form__row{grid-template-columns:1fr}}
.input,.textarea{width:100%;border:var(--stroke-hairline) solid var(--border-hairline);background:var(--surface-card);padding:12px var(--space-5);font:var(--type-body);color:var(--text-primary);outline:none;border-radius:var(--radius-square);transition:border-color var(--dur-state) var(--ease-state)}
.input:focus,.textarea:focus{border-color:var(--border-strong)}
.textarea{min-height:132px;resize:vertical;line-height:1.6}
.note{font:var(--type-body-sm);color:var(--text-tertiary)}
.filters__toggle{display:none}
@media (max-width:720px){
.filters{padding:var(--space-6)}
.filters__toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);width:100%;min-height:48px;padding:0;border:0;border-top:var(--rule-hairline);padding-top:var(--space-6);background:none;cursor:pointer;font:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-primary)}
.filters__toggle-label{display:inline-flex;align-items:center;gap:var(--space-4)}
.filters__toggle-chev{display:inline-flex;color:var(--text-tertiary);transition:transform var(--dur-ui) var(--ease-ui)}
.filters__toggle-chev[data-open]{transform:rotate(180deg)}
.filters__foot{gap:var(--space-5)}
.filters__foot>div:last-child{width:100%}
.results__head{align-items:flex-start;flex-direction:column;gap:var(--space-6)}
.chip{min-height:40px;padding:6px 8px 6px 10px}
.chip button{min-width:32px;min-height:32px;font-size:19px}
.ftr__base{flex-direction:column;align-items:flex-start;gap:var(--space-6);text-align:left}
.ftr__end{width:100%;justify-content:space-between}
.ftr__l{min-height:40px;display:flex;align-items:center}
.figure__head{padding-top:var(--space-9)}
.section{padding-block:var(--space-10)}
.hero__cta{gap:var(--space-4);width:100%}
.hero__cta .clarte-btn{flex:1 1 auto}
.form{gap:var(--space-6)}
}
@media (max-width:420px){.kpis{grid-template-columns:1fr;gap:var(--space-7)}.ftr__cols{grid-template-columns:1fr;gap:var(--space-8)}}

.figure__head{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-11) 0 var(--space-9);border-bottom:var(--rule-hairline)}
.figure__name{font:var(--weight-hairline) clamp(52px,8vw,104px)/1.02 var(--font-display);letter-spacing:var(--tracking-display)}
.figure__meta{display:flex;flex-wrap:wrap;gap:var(--space-6);font:var(--type-data-sm);color:var(--text-tertiary)}
.method__list{display:flex;flex-direction:column;gap:var(--space-4);padding:0;margin:0;list-style:none}
.method__list li{display:flex;align-items:baseline;gap:var(--space-5);font:var(--type-body);color:var(--text-secondary)}
.method__bullet{flex:none;width:5px;height:5px;border:var(--stroke-hairline) solid var(--text-tertiary);transform:translateY(-2px)}
.method__note{border-left:2px solid var(--border-strong);padding-left:var(--space-7);color:var(--text-primary)}
.toc__link{display:flex;align-items:center;gap:var(--space-4);font:var(--type-data-sm);text-decoration:none;transition:color var(--dur-state) var(--ease-state)}
.toc__link:hover{color:var(--text-primary)}
