@import url('https://fonts.googleapis.com/css2?family=Cabin:wght@400;500;600;700&family=Figtree:wght@300;400;500;600&display=swap');
:root{

--gray-50:#F7F7F5;--gray-100:#EDEDEA;--gray-200:#D9D9D4;--gray-300:#B8B8B1;--gray-400:#8F8F87;--gray-500:#6B6B63;--gray-600:#52524B;--gray-700:#3D3D38;--gray-800:#282825;--gray-900:#181816;--gray-950:#0D0D0C;

--accent-50:#EEF4FF;--accent-100:#D9E6FF;--accent-200:#B3CDFF;--accent-300:#84ADFF;--accent-400:#5588F5;--accent-500:#2F66E8;--accent-600:#2251C4;--accent-700:#1B3F9C;--accent-800:#152F73;--accent-900:#0F2050;--accent-950:#091534;

--success-50:#EDFAF0;--success-100:#D3F2DC;--success-200:#A7E4BA;--success-300:#6FD08F;--success-400:#3DB367;--success-500:#219653;--success-600:#1A7A43;--success-700:#146134;--success-800:#0F4A28;--success-900:#0A331C;--success-950:#062112;

--warning-50:#FFF7E6;--warning-100:#FEEBC3;--warning-200:#FCD68A;--warning-300:#F7B94D;--warning-400:#E89A23;--warning-500:#C97D0F;--warning-600:#A5650A;--warning-700:#815008;--warning-800:#5F3B06;--warning-900:#402805;--warning-950:#291A03;

--error-50:#FDEEEE;--error-100:#FADCDC;--error-200:#F5B8B8;--error-300:#EC8C8C;--error-400:#DF5C5C;--error-500:#CC3B3B;--error-600:#AB2E2E;--error-700:#8A2424;--error-800:#691B1B;--error-900:#471212;--error-950:#2E0C0C;
}
:root{
color-scheme:light;
--color-bg:#FCFCFB;--color-bg-subtle:#F7F7F5;--color-bg-raised:#FFFFFF;
--color-fg:#141412;--color-fg-muted:#6B6B63;--color-fg-faint:#B8B8B1;
--color-border:#E4E4E0;--color-border-strong:#B8B8B1;
--color-primary:#141412;--color-primary-fg:#FCFCFB;--color-primary-hover:#282825;
--color-accent:#2F66E8;--color-accent-subtle:#EEF4FF;--color-accent-text:#2251C4;
--color-success:#219653;--color-success-subtle:#EDFAF0;--color-success-text:#146134;
--color-warning:#C97D0F;--color-warning-subtle:#FFF7E6;--color-warning-text:#815008;
--color-error:#CC3B3B;--color-error-subtle:#FDEEEE;--color-error-text:#8A2424;
--color-scrim:rgb(13 13 12 / 0.55);--color-focus-ring:#2F66E8;
}
[data-theme="dark"]{
color-scheme:dark;
--color-bg:#0D0D0C;--color-bg-subtle:#141412;--color-bg-raised:#181816;
--color-fg:#F2F2EF;--color-fg-muted:#8F8F87;--color-fg-faint:#52524B;
--color-border:#282825;--color-border-strong:#3D3D38;
--color-primary:#F2F2EF;--color-primary-fg:#0D0D0C;--color-primary-hover:#D9D9D4;
--color-accent:#5588F5;--color-accent-subtle:#152F73;--color-accent-text:#84ADFF;
--color-success:#3DB367;--color-success-subtle:#0F4A28;--color-success-text:#6FD08F;
--color-warning:#E89A23;--color-warning-subtle:#5F3B06;--color-warning-text:#F7B94D;
--color-error:#DF5C5C;--color-error-subtle:#691B1B;--color-error-text:#EC8C8C;
--color-scrim:rgb(0 0 0 / 0.70);--color-focus-ring:#5588F5;
}

:root{
--font-sans:"Figtree",ui-sans-serif,system-ui,sans-serif;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;
--tracking-tight:-0.015em;--tracking-normal:0;

--text-display-size:clamp(40px,6vw,72px);--text-display-lh:1.05;--text-display-ls:-0.02em;
--text-h1-size:36px;--text-h1-lh:1.15;--text-h1-ls:-0.015em;
--text-h2-size:28px;--text-h2-lh:1.2;--text-h2-ls:-0.01em;
--text-h3-size:22px;--text-h3-lh:1.3;--text-h3-ls:-0.005em;
--text-h4-size:18px;--text-h4-lh:1.4;
--text-body-lg-size:18px;--text-body-size:16px;--text-body-lh:1.6;
--text-body-sm-size:14px;--text-body-sm-lh:1.55;
--text-caption-size:12px;--text-caption-lh:1.5;--text-caption-ls:0.01em;

--text-meta-size:13px;--text-meta-lh:1.5;--text-meta-ls:0.01em;
}
.text-display{font-size:var(--text-display-size);line-height:var(--text-display-lh);letter-spacing:var(--text-display-ls);font-weight:var(--weight-semibold)}
.text-h1{font-size:var(--text-h1-size);line-height:var(--text-h1-lh);letter-spacing:var(--text-h1-ls);font-weight:var(--weight-semibold)}
.text-h2{font-size:var(--text-h2-size);line-height:var(--text-h2-lh);letter-spacing:var(--text-h2-ls);font-weight:var(--weight-semibold)}
.text-h3{font-size:var(--text-h3-size);line-height:var(--text-h3-lh);letter-spacing:var(--text-h3-ls);font-weight:var(--weight-semibold)}
.text-h4{font-size:var(--text-h4-size);line-height:var(--text-h4-lh);font-weight:var(--weight-medium)}
.text-body-lg{font-size:var(--text-body-lg-size);line-height:var(--text-body-lh)}
.text-body{font-size:var(--text-body-size);line-height:var(--text-body-lh)}
.text-body-sm{font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-lh)}
.text-caption{font-size:var(--text-caption-size);line-height:var(--text-caption-lh);letter-spacing:var(--text-caption-ls)}
.text-meta{font-size:var(--text-meta-size);line-height:var(--text-meta-lh);letter-spacing:var(--text-meta-ls);color:var(--color-fg-muted);font-variant-numeric:tabular-nums}
.tabular{font-variant-numeric:tabular-nums}

:root{
--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-24:96px;--space-32:128px;
--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1200px;--container-prose:680px;
}
.container{width:100%;max-width:var(--container-xl);margin-inline:auto;padding-inline:var(--space-4)}
@media (min-width:768px){.container{padding-inline:var(--space-6)}}
@media (min-width:1280px){.container{padding-inline:var(--space-8)}}

:root{
--radius-none:0px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:14px;--radius-full:9999px;
--z-base:0;  --z-raised:10;  --z-sticky:100;  --z-dropdown:1000;  --z-overlay:1100;  --z-modal:1200;  --z-popover:1300;  --z-toast:1400;  --z-tooltip:1500; 
--shadow-sm:0 1px 2px rgb(0 0 0 / 0.05);--shadow-md:0 2px 8px rgb(0 0 0 / 0.08);--shadow-lg:0 8px 24px rgb(0 0 0 / 0.12);--shadow-modal:0 16px 48px rgb(0 0 0 / 0.18);
--duration-instant:80ms;  --duration-fast:150ms;  --duration-base:200ms;  --duration-slow:320ms; 
--ease-standard:cubic-bezier(0.2,0,0,1);  --ease-exit:cubic-bezier(0.4,0,1,1);  --ease-spring:cubic-bezier(0.34,1.3,0.64,1); 
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.6;background:var(--color-bg);color:var(--color-fg);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}
::selection{background:var(--color-accent);color:#FFFFFF}
a{color:var(--color-accent-text);text-decoration:none}
a:hover{text-decoration:underline}
:where(a,button,input,select,textarea,[tabindex]):focus{outline:none}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:inherit}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hairline-t{border-top:1px solid var(--color-border)}
.hairline-b{border-bottom:1px solid var(--color-border)}
.hairline-y{border-block:1px solid var(--color-border)}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html{background:var(--color-bg)}
body{margin:0;background:transparent;color:var(--color-fg);font-family:"Figtree",var(--font-sans);font-weight:300;font-size:var(--text-body-size);line-height:var(--text-body-lh);text-wrap:pretty}
h1,h2,h3,h4,.wordmark,.pull-quote blockquote,.big-n{font-family:"Cabin",var(--font-sans)}
a{color:var(--color-accent-text);text-decoration:none}
a:hover{color:var(--color-accent)}
h1,h2,h3,h4,p{margin:0}
.wrap{width:100%;max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-4)}
@media (min-width:768px){.wrap{padding:0 var(--space-6)}}

.bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
main,.site-footer{position:relative}
.site-header{position:sticky;top:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:100}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.wordmark{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);font-size:17px;color:var(--color-fg)}
.wordmark:hover{color:var(--color-fg)}
.site-nav{display:none;align-items:center;gap:var(--space-6)}
.site-nav a{color:var(--color-fg-muted);font-size:var(--text-body-sm-size)}
.site-nav a:hover{color:var(--color-fg)}
.site-nav a.active{color:var(--color-fg);font-weight:var(--weight-medium)}
.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0 9px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}
.nav-toggle span{display:block;height:1.5px;background:var(--color-fg);transition:transform var(--duration-fast) var(--ease-standard)}
@media (min-width:820px){.site-nav{display:flex}.nav-toggle{display:none}}
.mobile-nav{display:none;border-bottom:1px solid var(--color-border);background:var(--color-bg)}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:var(--space-3) var(--space-4);color:var(--color-fg);border-top:1px solid var(--color-border)}
@media (min-width:820px){.mobile-nav{display:none !important}}

.btn{display:inline-block;padding:11px 22px;border-radius:var(--radius-md);font-size:var(--text-body-sm-size);font-weight:var(--weight-medium);line-height:1.2;border:1px solid transparent;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}
.btn:active{transform:scale(0.98)}
.btn-primary{background:var(--color-primary);color:var(--color-primary-fg)}
.btn-primary:hover{background:var(--color-primary-hover);color:var(--color-primary-fg)}
.btn-outline{background:none;border-color:var(--color-border-strong);color:var(--color-fg)}
.btn-outline:hover{background:var(--color-bg-subtle);color:var(--color-fg)}

.hero{padding:var(--space-24) 0 var(--space-16)}
.hero h1{font-size:var(--text-display-size);line-height:var(--text-display-lh);letter-spacing:var(--text-display-ls);font-weight:var(--weight-semibold);max-width:15ch}
.hero .lede{max-width:56ch;margin-top:var(--space-6);font-size:var(--text-body-lg-size);color:var(--color-fg-muted)}
.hero .btn{margin-top:var(--space-8)}
.kicker{font-size:var(--text-meta-size);letter-spacing:var(--text-meta-ls);color:var(--color-fg-muted);margin-bottom:var(--space-4)}

.section{padding:var(--space-16) 0;border-top:1px solid var(--color-border)}
@media (min-width:768px){.section{padding:var(--space-24) 0}}
.section h2{font-size:var(--text-h1-size);line-height:var(--text-h1-lh);letter-spacing:var(--text-h1-ls);font-weight:var(--weight-semibold);max-width:22ch}
.section .prose{max-width:var(--container-prose)}
.prose p+p{margin-top:var(--space-4)}
.section-head{margin-bottom:var(--space-10)}
.section .btn-row{margin-top:var(--space-10)}

.hero-tall{min-height:72vh;display:flex;align-items:flex-end;border-bottom:1px solid var(--color-border)}
.hero-tall .wrap{padding-top:var(--space-24);padding-bottom:var(--space-16)}
.hero-tall .kicker{margin-bottom:var(--space-8)}
.hero-tall h1{font-size:clamp(44px,7.5vw,88px);line-height:1.02;letter-spacing:var(--text-display-ls);font-weight:var(--weight-semibold);max-width:14ch}
.hero-foot{display:grid;gap:var(--space-8);margin-top:var(--space-12)}
@media (min-width:900px){.hero-foot{grid-template-columns:minmax(0,58ch) 1fr;align-items:end}}
.hero-foot .lede{font-size:var(--text-body-lg-size);color:var(--color-fg-muted)}
@media (min-width:900px){.hero-foot .cta{justify-self:end}}

.split{display:grid;gap:var(--space-8)}
@media (min-width:900px){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-16)}}
.split-label{align-self:start}
@media (min-width:900px){.split-label{position:sticky;top:96px}}
.split-label h2{font-size:var(--text-h1-size);line-height:var(--text-h1-lh);letter-spacing:var(--text-h1-ls);font-weight:var(--weight-semibold)}

.ledger{margin-top:var(--space-16)}
.ledger-row{display:grid;gap:var(--space-3) var(--space-4);padding:var(--space-6) 0;border-top:1px solid var(--color-border)}
@media (min-width:768px){.ledger-row{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-8)}}
.ledger-row h3{font-size:var(--text-h4-size);font-weight:var(--weight-medium)}
.ledger-row p{font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-lh);color:var(--color-fg-muted)}

.index-row{display:grid;gap:var(--space-3) var(--space-4);padding:var(--space-8) 0;border-top:1px solid var(--color-border);transition:background var(--duration-fast) var(--ease-standard)}
@media (min-width:768px){.index-row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-8)}}
.index-row:hover{background:var(--color-bg-subtle)}
.index-row h3{font-size:var(--text-h2-size);line-height:var(--text-h2-lh);letter-spacing:var(--text-h2-ls);font-weight:var(--weight-semibold)}
.index-row .prose{color:var(--color-fg-muted)}

.pull-quote{padding:var(--space-24) 0;border-top:1px solid var(--color-border)}
.pull-quote blockquote{margin:0;font-size:clamp(26px,3.6vw,42px);line-height:1.25;letter-spacing:var(--tracking-tight);font-weight:var(--weight-medium);max-width:26ch}
@media (min-width:900px){.pull-quote blockquote{margin-left:auto;margin-right:var(--space-16)}}

.band{border-top:1px solid var(--color-border);background:var(--color-bg);color:var(--color-fg)}
.band .wrap{padding-top:var(--space-24);padding-bottom:var(--space-24)}
.band h2{font-size:clamp(32px,4.5vw,56px);line-height:1.08;letter-spacing:var(--text-display-ls);font-weight:var(--weight-semibold);max-width:16ch}
.band .lede{max-width:56ch;margin-top:var(--space-6);color:var(--color-fg-muted)}
.band .btn{margin-top:var(--space-10)}

.principle{display:block;padding:var(--space-16) 0;border-top:1px solid var(--color-border)}
.principle:first-of-type{border-top:none;padding-top:0}
@media (min-width:900px){.principle>div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-16)}.principle:nth-of-type(even)>div{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.principle:nth-of-type(even) h3{grid-column:2;grid-row:1;justify-self:end;text-align:right}.principle:nth-of-type(even) .prose{grid-column:1;grid-row:1}}
.principle h3{font-size:var(--text-h2-size);line-height:var(--text-h2-lh);letter-spacing:var(--text-h2-ls);font-weight:var(--weight-semibold);margin-bottom:var(--space-4);max-width:16ch}
.principle .prose{max-width:60ch}
.principle .prose p{color:var(--color-fg-muted)}

.stages{display:grid;gap:0;margin-top:var(--space-10)}
@media (min-width:640px){.stages{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.stages{grid-template-columns:repeat(3,1fr)}}
.stage{border-top:1px solid var(--color-border);padding:var(--space-6) var(--space-6) var(--space-8) 0}
.stage h3{font-size:var(--text-h4-size);font-weight:var(--weight-medium);margin:0 0 var(--space-2)}
.stage p{font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-lh);color:var(--color-fg-muted)}

.toc{margin:var(--space-10) 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-3)}
.toc a{display:inline-block;padding:10px 18px;border:1px solid var(--color-border-strong);border-radius:var(--radius-full);font-size:var(--text-body-sm-size);font-weight:var(--weight-medium);color:var(--color-fg);transition:background var(--duration-fast) var(--ease-standard)}
.toc a:hover{background:var(--color-bg-subtle);color:var(--color-fg)}

.threads{margin:var(--space-8) 0 0;padding:0;list-style:none;max-width:var(--container-prose)}
.threads li{padding:var(--space-4) 0;border-top:1px solid var(--color-border)}

.case{padding:var(--space-16) 0;border-top:1px solid var(--color-border);display:grid;gap:var(--space-6)}
.case:first-of-type{border-top:none;padding-top:0}
@media (min-width:900px){.case{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-16)}}
.case aside{align-self:start}
@media (min-width:900px){.case aside{position:sticky;top:96px}}
.case aside h3{font-size:var(--text-h2-size);line-height:var(--text-h2-lh);letter-spacing:var(--text-h2-ls);font-weight:var(--weight-semibold);max-width:16ch}
.case .meta{margin:var(--space-4) 0 0;padding:0;list-style:none;font-size:var(--text-meta-size);letter-spacing:var(--text-meta-ls);color:var(--color-fg-muted)}
.case .meta li{padding:var(--space-2) 0;border-top:1px solid var(--color-border)}
.case .meta li:first-child{border-top:none}
.case-body{display:grid;gap:var(--space-8) var(--space-10)}
@media (min-width:640px){.case-body{grid-template-columns:1fr 1fr}}
.case-body h4{font-size:var(--text-body-sm-size);font-weight:var(--weight-medium);color:var(--color-fg-muted);margin-bottom:var(--space-2)}

.role{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-raised);padding:var(--space-8) var(--space-6);margin-top:var(--space-6)}
@media (min-width:768px){.role{padding:var(--space-10) var(--space-8)}}
.role>h3{font-size:var(--text-h2-size);letter-spacing:var(--text-h2-ls);font-weight:var(--weight-semibold)}
.role .meta{font-size:var(--text-meta-size);letter-spacing:var(--text-meta-ls);color:var(--color-fg-muted);margin-top:var(--space-2)}
.role h4{font-size:var(--text-body-sm-size);font-weight:var(--weight-medium);color:var(--color-fg-muted);margin:var(--space-8) 0 var(--space-2)}
.role p,.role li{max-width:64ch}
.role ul{margin:var(--space-3) 0 0;padding-left:var(--space-5)}
.role li+li{margin-top:var(--space-2)}

.contact-grid{display:grid;gap:var(--space-16);margin-top:var(--space-10)}
@media (min-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.contact-form{display:grid;gap:var(--space-5)}
.field label{display:block;font-size:var(--text-body-sm-size);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}
.field input,.field textarea{width:100%;padding:10px 12px;font:inherit;font-size:var(--text-body-sm-size);color:var(--color-fg);background:var(--color-bg-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}
.field textarea{min-height:140px;resize:vertical}
.field-row{display:grid;gap:var(--space-5)}
@media (min-width:560px){.field-row{grid-template-columns:1fr 1fr}}
.audience{border-top:1px solid var(--color-border);padding:var(--space-5) 0}
.audience h3{font-size:var(--text-h4-size);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}
.audience p{font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-lh);color:var(--color-fg-muted)}
.office{margin-top:var(--space-16);border-top:1px solid var(--color-border);padding-top:var(--space-10)}
.office h2{font-size:var(--text-h3-size);letter-spacing:var(--text-h3-ls)}
.office address{font-style:normal;margin-top:var(--space-4);color:var(--color-fg-muted)}
.office address a{display:block;margin-top:var(--space-1)}
.disclaimer{margin-top:var(--space-16);font-size:var(--text-caption-size);line-height:var(--text-caption-lh);letter-spacing:var(--text-caption-ls);color:var(--color-fg-muted);max-width:72ch}

.photo{display:block;width:100%;height:clamp(240px,45vh,460px);object-fit:cover;filter:grayscale(1) contrast(1.05);border-radius:var(--radius-lg)}
.photo-wrap{margin-top:var(--space-16)}
.photo-section{padding:var(--space-16) 0 0}
.site-footer{border-top:1px solid var(--color-border);padding:var(--space-10) 0;margin-top:var(--space-24)}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:baseline;justify-content:space-between}
.site-footer .wordmark{font-size:15px}
.site-footer p{font-size:var(--text-caption-size);color:var(--color-fg-muted)}

[data-theme="light"]{color-scheme:light;
--color-bg:#FCFCFB;--color-bg-subtle:#F7F7F5;--color-bg-raised:#FFFFFF;
--color-fg:#141412;--color-fg-muted:#6B6B63;--color-fg-faint:#B8B8B1;
--color-border:#E4E4E0;--color-border-strong:#B8B8B1;
--color-primary:#141412;--color-primary-fg:#FCFCFB;--color-primary-hover:#282825;
--color-accent:#2F66E8;--color-accent-subtle:#EEF4FF;--color-accent-text:#2251C4;
--color-focus-ring:#2F66E8;
}

.policy h2{font-size:var(--text-h3-size);letter-spacing:var(--text-h3-ls);margin:var(--space-12) 0 var(--space-4);max-width:none}
.policy h2:first-child{margin-top:0}
.policy h3{font-size:var(--text-h4-size);font-weight:var(--weight-medium);margin:var(--space-6) 0 var(--space-2)}
.policy p{color:var(--color-fg-muted)}
.site-footer a{color:var(--color-fg-muted)}
.site-footer a:hover{color:var(--color-fg)}

.cookie-panel{position:fixed;left:var(--space-4);right:var(--space-4);bottom:var(--space-4);max-width:420px;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-6);z-index:1100;opacity:0;transform:translateY(12px);transition:opacity var(--duration-slow) var(--ease-standard),transform var(--duration-slow) var(--ease-standard)}
.cookie-panel.show{opacity:1;transform:none}
.cookie-panel h3{font-size:var(--text-h4-size);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}
.cookie-panel>p{font-size:var(--text-body-sm-size);line-height:var(--text-body-sm-lh);color:var(--color-fg-muted)}
.cookie-rows{margin-top:var(--space-5);border-top:1px solid var(--color-border)}
.cookie-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}
.cookie-row strong{display:block;font-size:var(--text-body-sm-size);font-weight:var(--weight-medium)}
.cookie-row small{display:block;font-size:var(--text-caption-size);line-height:var(--text-caption-lh);color:var(--color-fg-muted)}
.switch{flex:none;width:40px;height:22px;border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-bg-subtle);position:relative;cursor:pointer;padding:0;transition:background var(--duration-fast) var(--ease-standard)}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--color-fg-muted);transition:transform var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}
.switch.on{background:var(--color-primary);border-color:var(--color-primary)}
.switch.on::after{transform:translateX(18px);background:var(--color-primary-fg)}
.switch.locked{cursor:default;opacity:0.6}
.cookie-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}

.sec-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg-muted);margin-bottom:var(--space-4)}
.sec-icon svg{width:18px;height:18px;stroke-width:1.5}
.principle:nth-of-type(even) h3 .sec-icon{margin-left:auto}
.audience .sec-icon{width:30px;height:30px;margin-bottom:var(--space-2)}
.audience .sec-icon svg{width:15px;height:15px}
