@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght,SOFT,WONK@0,9..144,300..900,0..100,0..1;1,9..144,300..900,0..100,0..1&family=Plus+Jakarta+Sans:ital,wght@0,400..800;1,400..700&family=JetBrains+Mono:wght@400;500&display=swap");

:root{
  --font-display:"Fraunces","Playfair Display",Georgia,ui-serif,serif;
  --font-sans:"Plus Jakarta Sans","General Sans","Inter",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --display-variation:"SOFT" 20,"WONK" 0,"opsz" 96; 
}

:root{
  --forest-50:#EFF5F1;--forest-100:#D9E8DF;--forest-200:#B4D1C0;--forest-300:#85B39A;
  --forest-400:#598F76;--forest-500:#3B715A;--forest-600:#2C5A47;--forest-700:#234739;
  --forest-800:#1D3A2F;--forest-900:#142A22;--forest-950:#0B1913;

  --lime-50:#FAFEEA;--lime-100:#F4FDC9;--lime-200:#EAFB9A;--lime-300:#DCF861;
  --lime-400:#CBF03A;--lime-500:#B2D91F;--lime-600:#7E9E12;--lime-700:#5E7A10;
  --lime-800:#536A16;--lime-900:#465917;

  --mint-200:#C6EDCF;--mint-300:#A8E5B4;--mint-400:#7ED694;--mint-500:#55BE72;

  --sand-0:#FFFFFF;--sand-50:#FAFAF8;--sand-100:#F4F4F1;--sand-200:#E7E7E2;
  --sand-300:#D3D3CC;--sand-400:#A9A9A0;--sand-500:#737369;--sand-600:#5C5C55;
  --sand-700:#45453F;--sand-800:#2C2C28;--sand-900:#1A1A17;--sand-950:#0E0E0C;

  --success-50:#ECFDF3;--success-100:#D1FADF;--success-500:#12B76A;--success-600:#039855;--success-700:#027A48;
  --warning-50:#FFFAEB;--warning-100:#FEF0C7;--warning-500:#F79009;--warning-600:#DC6803;--warning-700:#B54708;
  --error-50:#FEF3F2;--error-100:#FEE4E2;--error-500:#F04438;--error-600:#D92D20;--error-700:#B42318;
  --info-50:#EFF8FF;--info-100:#D1E9FF;--info-500:#2E90FA;--info-600:#1570EF;--info-700:#175CD3;
}

:root,[data-theme="light"]{
  --color-bg:#FAFAF8;--color-bg-subtle:#F4F4F1;--color-bg-inverse:#1D3A2F;
  --color-surface:#FFFFFF;--color-surface-raised:#FFFFFF;--color-surface-sunken:#F4F4F1;
  --color-surface-tint:#EFF5F1;--color-surface-glass:rgb(255 255 255 / 0.12);
  --color-text:#1A1A17;--color-text-secondary:#5C5C55;--color-text-muted:#737369;
  --color-text-inverse:#FAFAF8;--color-text-brand:#234739;--color-text-emphasis:#2C5A47;
  --color-text-on-accent:#1A1A17;--color-text-disabled:#A9A9A0;
  --color-border:#E7E7E2;--color-border-strong:#D3D3CC;--color-border-brand:#1D3A2F;
  --color-primary:#1D3A2F;--color-primary-hover:#234739;--color-primary-active:#142A22;
  --color-on-primary:#FAFAF8;
  --color-accent:#CBF03A;--color-accent-hover:#DCF861;--color-accent-active:#B2D91F;
  --color-accent-subtle:#F4FDC9;
  --color-focus:#1D3A2F;
  --color-success:#039855;--color-success-bg:#ECFDF3;
  --color-warning:#DC6803;--color-warning-bg:#FFFAEB;
  --color-error:#D92D20;--color-error-bg:#FEF3F2;
  --color-info:#1570EF;--color-info-bg:#EFF8FF;
  --color-scrim:rgb(11 25 19 / 0.48);
  --color-image-scrim:linear-gradient(180deg,rgb(11 25 19 / 0.55) 0%,rgb(11 25 19 / 0.15) 45%,rgb(11 25 19 / 0.70) 100%);
  color-scheme:light;
}

[data-theme="dark"]{
  --color-bg:#0B1913;--color-bg-subtle:#122019;--color-bg-inverse:#EFF5F1;
  --color-surface:#152420;--color-surface-raised:#1C2E28;--color-surface-sunken:#0E1B16;
  --color-surface-tint:#17322A;--color-surface-glass:rgb(255 255 255 / 0.10);
  --color-text:#F1F6F3;--color-text-secondary:#AFC0B6;--color-text-muted:#8A9C91;
  --color-text-inverse:#0B1913;--color-text-brand:#7ED694;--color-text-emphasis:#A8E5B4;
  --color-text-on-accent:#0E1B16;--color-text-disabled:#5A6B63;
  --color-border:#263A32;--color-border-strong:#33493F;--color-border-brand:#7ED694;
  --color-primary:#EFF5F1;--color-primary-hover:#D9E8DF;--color-primary-active:#B4D1C0;
  --color-on-primary:#0B1913;
  --color-accent:#CBF03A;--color-accent-hover:#DCF861;--color-accent-active:#B2D91F;
  --color-accent-subtle:#2A3B12;
  --color-focus:#CBF03A;
  --color-success:#32D583;--color-success-bg:#053A26;
  --color-warning:#FDB022;--color-warning-bg:#4E2408;
  --color-error:#FDA29B;--color-error-bg:#4E1611;
  --color-info:#84CAFF;--color-info-bg:#0B2E52;
  --color-scrim:rgb(0 0 0 / 0.64);
  color-scheme:dark;
}

:root{
  --text-display-1:clamp(3rem,7vw,5.5rem);
  --text-display-2:clamp(2.5rem,5.2vw,4rem);
  --text-h1:clamp(2.25rem,4vw,3.25rem);
  --text-h2:clamp(1.875rem,3vw,2.5rem);
  --text-h3:clamp(1.5rem,2.2vw,1.875rem);
  --text-h4:1.25rem;
  --text-h5:1.0625rem;
  --text-body-lg:1.125rem;
  --text-body:1rem;
  --text-body-sm:0.9375rem;
  --text-caption:0.8125rem;
  --text-eyebrow:0.75rem;
  --text-stat:clamp(2.5rem,4.5vw,3.5rem);

  --leading-none:1; 
  --leading-display:1.05; 
  --leading-tight:1.15; 
  --leading-snug:1.35; 
  --leading-normal:1.5; 
  --leading-relaxed:1.6; 

  --tracking-tighter:-0.03em; 
  --tracking-tight:-0.02em; 
  --tracking-normal:0; 
  --tracking-wide:0.05em; 
  --tracking-wider:0.10em; 

  --weight-light:300; 
  --weight-regular:400; 
  --weight-medium:500; 
  --weight-semibold:600; 
  --weight-bold:700; 
}

:root{
  --space-0:0;--space-px:1px;--space-0-5:0.125rem;
  --space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;
  --space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
  --space-8:2rem;--space-10:2.5rem;--space-12:3rem;
  --space-16:4rem;--space-20:5rem;--space-24:6rem;
  --space-32:8rem;--space-40:10rem;--space-48:12rem;
  --section-y:clamp(5rem,10vw,10rem); 
  --section-y-sm:clamp(3rem,6vw,6rem); 
}

:root{
  --radius-none:0;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;
  --radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-3xl:40px;
  --radius-full:9999px;
  --border-hairline:1px;--border-thick:1.5px;--border-heavy:2px;
}

:root{
  --shadow-none:none;
  --shadow-xs:0 1px 2px rgb(20 38 31 / 0.06);
  --shadow-sm:0 2px 8px rgb(20 38 31 / 0.08);
  --shadow-md:0 8px 24px rgb(20 38 31 / 0.10);
  --shadow-lg:0 24px 48px -12px rgb(20 38 31 / 0.18);
  --shadow-glass:inset 0 1px 0 rgb(255 255 255 / 0.25),0 8px 32px rgb(0 0 0 / 0.24);
  --shadow-focus:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-focus);
}

:root{
  --duration-instant:80ms; 
  --duration-fast:150ms; 
  --duration-base:220ms; 
  --duration-slow:320ms; 
  --duration-slower:480ms; 
  --ease-out:cubic-bezier(0.16,1,0.3,1); 
  --ease-in:cubic-bezier(0.55,0,1,0.45); 
  --ease-in-out:cubic-bezier(0.65,0,0.35,1); 
  --ease-spring:cubic-bezier(0.34,1.56,0.64,1); 
}

:root{
  --container-sm:40rem;--container-md:52.5rem;--container-lg:70rem;
  --container-xl:80rem;
  --container-full:100%; 
  --gutter:clamp(1.25rem,4vw,2.5rem); 
  --grid-cols:12; 
  --grid-gap:var(--space-6);
  --measure:65ch; 
  --measure-tight:42ch; 
  --bp-sm:480px; 
  --bp-md:768px; 
  --bp-lg:1024px; 
  --bp-xl:1280px; 
  --bp-2xl:1536px; 
}

:root{
  --z-hide:-1; 
  --z-base:0; 
  --z-raised:10; 
  --z-sticky:100; 
  --z-nav:200; 
  --z-dropdown:300; 
  --z-overlay:400; 
  --z-modal:500; 
  --z-popover:600; 
  --z-toast:700; 
  --z-tooltip:800; 
  --z-max:900; 
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-block-start:var(--space-24)}
body{overflow-x:hidden;min-height:100dvh;background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit}
p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}
ul[role="list"],ol[role="list"]{list-style:none;padding:0}
a{color:var(--color-text-brand);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--color-primary-active)}

.text-display-1{font-family:var(--font-display);font-variation-settings:var(--display-variation);font-size:var(--text-display-1);font-weight:var(--weight-regular);line-height:var(--leading-display);letter-spacing:var(--tracking-tighter);max-inline-size:var(--measure-tight);text-wrap:balance}
.text-display-2{font-family:var(--font-display);font-variation-settings:var(--display-variation);font-size:var(--text-display-2);font-weight:var(--weight-regular);line-height:1.06;letter-spacing:var(--tracking-tight);text-wrap:balance}
.text-h1{font-family:var(--font-display);font-size:var(--text-h1);font-weight:var(--weight-regular);line-height:1.10;letter-spacing:var(--tracking-tight);text-wrap:balance}
.text-h2{font-family:var(--font-display);font-size:var(--text-h2);font-weight:var(--weight-regular);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance}
.text-h3{font-family:var(--font-display);font-size:var(--text-h3);font-weight:var(--weight-regular);line-height:1.25;letter-spacing:-0.015em}
.text-h4{font-family:var(--font-sans);font-size:var(--text-h4);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:-0.01em}
.text-h5{font-family:var(--font-sans);font-size:var(--text-h5);font-weight:var(--weight-semibold);line-height:1.45}
.text-body-lg{font-size:var(--text-body-lg);line-height:var(--leading-relaxed)}
.text-body{font-size:var(--text-body);line-height:var(--leading-relaxed)}
.text-body-sm{font-size:var(--text-body-sm);line-height:1.55}
.text-caption{font-size:var(--text-caption);line-height:var(--leading-snug);letter-spacing:0.005em}
.text-eyebrow{font-family:var(--font-sans);font-size:var(--text-eyebrow);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;line-height:var(--leading-tight)}
.text-emphasis{font-style:italic;color:var(--color-text-emphasis);font-variation-settings:"SOFT" 40,"WONK" 1,"opsz" 96}
.section--inverse .text-emphasis{color:var(--mint-400)}
.text-underline-accent{background-image:linear-gradient(var(--color-accent),var(--color-accent));background-repeat:no-repeat;background-position:0 88%;background-size:0% 0.14em;transition:background-size var(--duration-slower) var(--ease-out)}
.is-revealed .text-underline-accent,.text-underline-accent--on{background-size:100% 0.14em}
.prose{max-inline-size:var(--measure);text-wrap:pretty}
.prose>*+*{margin-block-start:var(--space-4)}
.prose>*+h2,.prose>*+h3{margin-block-start:var(--space-12)}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--border-heavy) solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-xs)}
.section--inverse :focus-visible,.on-accent :focus-visible{outline-color:var(--color-accent)}
.on-accent-fill :focus-visible{outline-color:var(--color-primary)}
.btn:focus-visible,.pill:focus-visible{border-radius:var(--radius-full)}
:focus:not(:focus-visible){outline:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
}

.container{inline-size:100%;max-inline-size:var(--container-lg);margin-inline:auto;padding-inline:var(--gutter)}
.container--md{max-inline-size:var(--container-md)}
.container--xl{max-inline-size:var(--container-xl)}
.container--full{max-inline-size:none;padding-inline:0}
.grid-12{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gap)}
@media (min-width:768px){.grid-12{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media (min-width:1024px){.grid-12{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-8)}}
.grid-auto{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr))}
.section{padding-block:var(--section-y)}
.section--sm{padding-block:var(--section-y-sm)}
.section--inverse{background-color:var(--color-bg-inverse);color:var(--color-text-inverse)}
.section--subtle{background-color:var(--color-bg-subtle)}
.full-bleed{inline-size:100%;margin-inline:calc(50% - 50vw);overflow-x:hidden}
.band-media--contained{aspect-ratio:21 / 9;max-block-size:24rem;border-radius:var(--radius-3xl);overflow:clip}
.visually-hidden:not(:focus):not(:active){clip-path:inset(50%);block-size:1px;inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}
.skip-link{position:absolute;inset-inline-start:-9999px;z-index:var(--z-max)}
.skip-link:focus{inset-inline-start:var(--space-4);inset-block-start:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-full)}
.scrim{position:relative;isolation:isolate}
.scrim::after{content:"";position:absolute;inset:0;z-index:var(--z-hide);background:var(--color-image-scrim)}
.glass{background:var(--color-surface-glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:var(--border-hairline) solid rgb(255 255 255 / 0.18);border-radius:var(--radius-2xl);box-shadow:var(--shadow-glass);color:#FFFFFF}
@supports not (backdrop-filter:blur(1px)){.glass{background:rgb(11 25 19 / 0.72)}}
.hairline{border:0;border-block-start:var(--border-hairline) solid var(--color-border)}
.tabular{font-variant-numeric:tabular-nums}
.stack>*+*{margin-block-start:var(--flow,var(--space-4))}
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity var(--duration-slower) var(--ease-out),transform var(--duration-slower) var(--ease-out)}
[data-reveal].is-revealed{opacity:1;transform:none}
[data-reveal-stagger]>*{transition-delay:calc(var(--i,0) * 60ms)}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

.lg-col-1-6,.lg-col-7-end,.lg-col-1-7,.lg-col-8-end,.lg-col-1-8,.lg-col-9-end{grid-column:1 / -1}
@media (min-width:1024px){
.lg-col-1-6{grid-column:1 / 6}
.lg-col-7-end{grid-column:7 / -1}
.lg-col-1-7{grid-column:1 / 7}
.lg-col-8-end{grid-column:8 / -1}
.lg-col-1-8{grid-column:1 / 8}
.lg-col-9-end{grid-column:9 / -1}
}

.hero-media-overlap{aspect-ratio:16 / 9;overflow:clip}
@media (min-width:1024px){
.hero-media-overlap{aspect-ratio:4 / 5;position:relative;z-index:var(--z-raised);margin-block-end:calc(var(--space-16) * -1)}
}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);block-size:44px;padding-inline:var(--space-6);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--weight-medium);line-height:1;text-decoration:none;white-space:nowrap;background-color:var(--color-primary);color:var(--color-on-primary);border:var(--border-hairline) solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}
.btn:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}
.btn:active{background-color:var(--color-primary-active);transform:translateY(0) scale(0.985);transition-duration:var(--duration-instant)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:0.45;pointer-events:none;cursor:not-allowed}
.btn__icon-end{display:inline-flex;transition:transform var(--duration-fast) var(--ease-out)}
.btn:hover .btn__icon-end{transform:translateX(2px)}
.btn:active .btn__icon-end{transform:translateX(0)}
.btn__icon-start{display:inline-flex}
.btn--sm{block-size:36px;padding-inline:var(--space-4)}
.btn--lg{block-size:52px;padding-inline:var(--space-8);font-size:var(--text-body);gap:var(--space-3)}
.btn--icon{block-size:44px;inline-size:44px;padding-inline:0}
.btn--fullwidth{inline-size:100%}
.btn--accent{background-color:var(--color-accent);color:var(--color-text-on-accent)}
.btn--accent:hover{background-color:var(--color-accent-hover)}
.btn--accent:active{background-color:var(--color-accent-active)}
.btn--secondary{background-color:var(--color-surface-tint);color:var(--color-text-brand)}
.btn--secondary:hover{background-color:var(--forest-100)}
.btn--secondary:active{background-color:var(--forest-200)}
.btn--outline{background-color:transparent;color:var(--color-text);border-color:var(--color-border-strong)}
.btn--outline:hover{background-color:var(--color-surface-sunken)}
.btn--outline:active{background-color:var(--color-border)}
.btn--ghost{background-color:transparent;color:var(--color-text-secondary)}
.btn--ghost:hover{background-color:var(--color-surface-sunken)}
.btn--ghost:active{background-color:var(--color-border)}
.btn--link{background-color:transparent;color:var(--color-text-brand);block-size:auto;padding-inline:0;border-radius:var(--radius-xs)}
.btn--link:hover{background-color:transparent;transform:none;text-decoration:underline;text-underline-offset:3px}
.btn--link:active{background-color:transparent}
.btn--destructive{background-color:var(--color-error);color:#FFFFFF}
.btn--destructive:hover{background-color:var(--error-700)}
.btn--destructive:active{background-color:var(--error-700)}
.btn--inverse{background-color:var(--color-bg);color:var(--color-text)}
.btn--inverse:hover{background-color:#FFFFFF}
.btn--inverse:active{background-color:var(--sand-200)}
.btn[aria-pressed="true"]{background-color:var(--color-accent-subtle);color:var(--color-text-brand);border-color:var(--color-border-brand)}
.btn__spinner{inline-size:16px;block-size:16px;border-radius:var(--radius-full);border:2px solid currentColor;border-top-color:transparent;animation:btn-spin 640ms linear infinite}
@keyframes btn-spin{to{transform:rotate(360deg)}}

.field{display:block}
.field__label{display:block;margin-block-end:var(--space-2);font-size:var(--text-caption);font-weight:var(--weight-medium);color:var(--color-text-secondary)}
.field__req{color:var(--color-text-muted);font-weight:var(--weight-regular)}
.field__control{position:relative;display:flex;align-items:center}
.input{inline-size:100%;block-size:44px;padding-inline:var(--space-4);background-color:var(--color-surface);color:var(--color-text);font-size:var(--text-body-sm);border:var(--border-hairline) solid var(--color-border-strong);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out)}
.input::placeholder{color:var(--color-text-muted)}
.input:hover:not(:disabled){border-color:var(--color-text-muted)}
.input:focus-visible{border-color:var(--color-border-brand);border-width:var(--border-thick);outline:var(--border-heavy) solid var(--color-focus);outline-offset:2px}
.input[aria-invalid="true"]{border-color:var(--color-error)}
.input:disabled{background-color:var(--color-surface-sunken);color:var(--color-text-disabled);cursor:not-allowed}
.input:read-only{background-color:var(--color-surface-sunken)}
.field--sm .input{block-size:36px;padding-inline:var(--space-3)}
.field--lg .input{block-size:52px;padding-inline:var(--space-5);font-size:var(--text-body)}
.field--lg .field__label{font-size:var(--text-body-sm)}
.field--filled .input{background-color:var(--color-surface-sunken);border-color:transparent}
.field--filled .input:focus-visible{border-color:var(--color-border-brand)}
.field--inverse .input{background:transparent;border-color:rgb(255 255 255 / 0.28);color:var(--color-text-inverse)}
.field--inverse .input::placeholder{color:rgb(255 255 255 / 0.56)}
.field--inverse .field__label{color:rgb(255 255 255 / 0.72)}
.field__icon-start,.field__icon-end{position:absolute;display:flex;color:var(--color-text-muted);pointer-events:none}
.field__icon-start{inset-inline-start:var(--space-4)}
.field__icon-end{inset-inline-end:var(--space-4)}
.input--has-icon-start{padding-inline-start:var(--space-10)}
.input--has-icon-end{padding-inline-end:var(--space-10)}
.field__clear{position:absolute;inset-inline-end:var(--space-2);display:flex;align-items:center;justify-content:center;inline-size:28px;block-size:28px;border:0;background:transparent;color:var(--color-text-muted);border-radius:var(--radius-full);cursor:pointer;pointer-events:auto;animation:field-fade var(--duration-fast) var(--ease-out)}
.field__clear:hover{background:var(--color-surface-sunken);color:var(--color-text)}
@keyframes field-fade{from{opacity:0}to{opacity:1}}
.field__hint{margin-block-start:var(--space-2);font-size:var(--text-caption);color:var(--color-text-muted)}
.field__error{margin-block-start:var(--space-2);display:flex;gap:var(--space-1);align-items:center;font-size:var(--text-caption);color:var(--color-error)}
.field__counter{margin-block-start:var(--space-2);font-size:var(--text-caption);color:var(--color-text-muted);text-align:end;font-variant-numeric:tabular-nums}
.field--attached .field__control{display:flex;align-items:center;border:var(--border-hairline) solid var(--color-border-strong);border-radius:var(--radius-full);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-5);background:var(--color-surface)}
.field--attached .input{border:0;block-size:40px;padding-inline:0}
.field--attached .input:focus-visible{outline:none}
.field--attached .field__control:has(.input:focus-visible){outline:var(--border-heavy) solid var(--color-focus);outline-offset:2px}

.card{display:flex;flex-direction:column;block-size:100%;padding:var(--space-6);background-color:var(--color-surface);border:var(--border-hairline) solid var(--color-border);border-radius:var(--radius-xl);transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}
.card--pad-none{padding:0}
.card--pad-sm{padding:var(--space-5)}
.card--pad-lg{padding:var(--space-8)}
.card--tinted{background-color:var(--color-surface-tint);border-color:transparent}
.card--media{padding:0;border-radius:var(--radius-2xl);overflow:clip}
.card--media .card__body{padding:var(--space-6)}
.card--media img{aspect-ratio:4 / 3;object-fit:cover;inline-size:100%;transition:transform var(--duration-slow) var(--ease-out)}
.card--stat{border-radius:var(--radius-2xl);padding:var(--space-8);gap:var(--space-3)}
.card--stat[data-accent="true"]{background-color:var(--color-accent);border-color:transparent;color:var(--color-text-on-accent)}
.card--glass{background:var(--color-surface-glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:var(--border-hairline) solid rgb(255 255 255 / 0.18);border-radius:var(--radius-2xl);box-shadow:var(--shadow-glass);color:#FFFFFF}
.card__eyebrow{margin-block-end:var(--space-4)}
.card__stat-value{font-family:var(--font-display);font-size:var(--text-stat);font-weight:var(--weight-semibold);line-height:var(--leading-none);letter-spacing:var(--tracking-tighter);font-variant-numeric:tabular-nums}
.card__footer{margin-block-start:auto;padding-block-start:var(--space-6)}
.card--media .card__footer{padding:0 var(--space-6) var(--space-6)}
.card:has(a[href]){position:relative}
.card:has(a[href]):hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.card:has(a[href]):hover img{transform:scale(1.03)}
.card:has(a[href]):active{transform:translateY(-1px);transition-duration:var(--duration-instant)}
.card__link{color:inherit;text-decoration:none}
.card__link::after{content:"";position:absolute;inset:0}
.card:has(.card__link:focus-visible){outline:var(--border-heavy) solid var(--color-focus);outline-offset:2px}
.card[data-disabled="true"]{opacity:0.5;pointer-events:none}

.badge{display:inline-flex;align-items:center;gap:var(--space-1);block-size:24px;padding-inline:var(--space-3);font-size:var(--text-eyebrow);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;border-radius:var(--radius-full);white-space:nowrap;background:var(--color-surface-sunken);color:var(--color-text-secondary)}
.badge--sm{block-size:20px;padding-inline:var(--space-2);font-size:11px}
.badge--lg{block-size:32px;padding-inline:var(--space-4);font-size:var(--text-caption);font-weight:var(--weight-medium);letter-spacing:0.02em}
.badge--cased{text-transform:none;letter-spacing:0}
.badge--solid-dark{background:var(--color-primary);color:var(--color-on-primary)}
.badge--accent{background:var(--color-accent);color:var(--color-text-on-accent)}
.badge--outline{background:transparent;border:var(--border-hairline) solid var(--color-border-strong);color:var(--color-text)}
.badge--tint{background:var(--color-surface-tint);color:var(--color-text-brand)}
.badge--success{background:var(--color-success-bg);color:var(--color-success)}
.badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}
.badge--error{background:var(--color-error-bg);color:var(--color-error)}
.badge--info{background:var(--color-info-bg);color:var(--color-info)}
.badge__dot{inline-size:6px;block-size:6px;border-radius:var(--radius-full);background:currentColor}
.badge__dismiss{display:inline-flex;align-items:center;justify-content:center;inline-size:16px;block-size:16px;margin-inline-start:var(--space-1);border:0;background:transparent;color:currentColor;border-radius:var(--radius-full);cursor:pointer;opacity:0.64}
.badge__dismiss:hover{opacity:1}

.modal{padding:0;border:0;background:transparent;margin:auto;max-inline-size:min(32rem,calc(100vw - var(--space-8)));z-index:var(--z-modal)}
.modal::backdrop{background:var(--color-scrim);backdrop-filter:blur(2px);animation:modal-fade var(--duration-base) var(--ease-out)}
.modal__panel{background:var(--color-surface-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-8);display:grid;gap:var(--space-6);animation:modal-in var(--duration-slow) var(--ease-out)}
.modal--size-sm .modal__panel{padding:var(--space-6)}
.modal--size-lg .modal__panel{padding:var(--space-10)}
.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6)}
.modal__body{color:var(--color-text-secondary)}
.modal__footer{display:flex;gap:var(--space-3);justify-content:flex-end}
.modal--wide{max-inline-size:min(56rem,calc(100vw - var(--space-8)))}
.modal--alert{max-inline-size:min(26rem,calc(100vw - var(--space-8)))}
.modal--drawer{inline-size:min(28rem,100vw);max-inline-size:none;block-size:100dvh;max-block-size:100dvh;margin-inline-start:auto;margin-block:0}
.modal--drawer .modal__panel{block-size:100%;border-radius:0;align-content:start;animation:drawer-in var(--duration-slow) var(--ease-out)}
.modal--sheet{inline-size:100%;max-inline-size:100vw;max-block-size:88dvh;margin-block-end:0;margin-block-start:auto}
.modal--sheet .modal__panel{border-end-start-radius:0;border-end-end-radius:0}
@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(0.98)}to{opacity:1;transform:none}}
@keyframes drawer-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes modal-fade{from{opacity:0}to{opacity:1}}
@media (max-width:767px){.modal{max-inline-size:100vw;inset-block-end:0;margin-block-end:0}.modal__panel{border-end-start-radius:0;border-end-end-radius:0}}
@media (prefers-reduced-motion:reduce){.modal__panel,.modal::backdrop{animation:none}}

.tabs__list{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none}
.tabs__list::-webkit-scrollbar{display:none}
.pill{display:inline-flex;align-items:center;gap:var(--space-2);block-size:40px;padding-inline:var(--space-5);font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);background:transparent;border:var(--border-hairline) solid var(--color-border-strong);border-radius:var(--radius-full);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}
.pill:hover{border-color:var(--color-text-muted);background:var(--color-surface-sunken)}
.pill[aria-selected="true"]{background:var(--color-accent);color:var(--color-text-on-accent);border-color:transparent}
.pill[aria-disabled="true"]{opacity:0.45;pointer-events:none}
.tabs--underline .tabs__list{gap:var(--space-6);border-block-end:var(--border-hairline) solid var(--color-border)}
.tabs--underline .pill{border:0;border-radius:0;padding-inline:0;background:transparent;border-block-end:var(--border-heavy) solid transparent;margin-block-end:-1px}
.tabs--underline .pill:hover{background:transparent;color:var(--color-text)}
.tabs--underline .pill[aria-selected="true"]{background:transparent;color:var(--color-text);border-block-end-color:var(--color-border-brand)}
.tabs--segmented .tabs__list{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-sunken);border-radius:var(--radius-full)}
.tabs--segmented .pill{border:0;block-size:32px}
.tabs--segmented .pill[aria-selected="true"]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}
.tabs__panel{margin-block-start:var(--space-8)}
.tabs--vertical .tabs__list{flex-direction:column;overflow-x:visible}

.site-head{position:sticky;top:0;z-index:var(--z-nav);background:var(--color-bg);border-block-end:var(--border-hairline) solid var(--color-border)}
.site-head[data-stuck="true"]{box-shadow:var(--shadow-lg)}
.head-inner{display:flex;align-items:center;gap:var(--space-8);block-size:72px}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:21px;letter-spacing:var(--tracking-tighter);color:var(--color-text);text-decoration:none;white-space:nowrap}
.brand-mark{inline-size:auto;block-size:22px;flex:none;display:block}
.site-foot .brand-mark{--brand-mark-ink:var(--color-text-inverse)}
.nav-toggle{margin-inline-start:auto;inline-size:44px;block-size:44px;display:grid;place-content:center;gap:5px;background:transparent;border:var(--border-hairline) solid var(--color-border-strong);border-radius:var(--radius-full);cursor:pointer}
.nav-toggle i{display:block;inline-size:16px;block-size:1.5px;background:var(--color-text);transition:transform var(--duration-base) var(--ease-out)}
.nav-toggle[aria-expanded="true"] i:first-child{transform:translateY(3px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] i:last-child{transform:translateY(-3px) rotate(-45deg)}
.nav{position:fixed;inset:0 0 0 18%;background:var(--color-bg-inverse);padding:100px var(--space-8);display:flex;flex-direction:column;gap:var(--space-2);transform:translateX(100%);transition:transform var(--duration-slow) var(--ease-out);z-index:var(--z-nav)}
.nav[data-open="true"]{transform:none}
.nav a{font-family:var(--font-display);font-size:28px;color:var(--color-text-inverse);text-decoration:none;padding:var(--space-2) 0}
.nav a[aria-current="page"]{color:var(--mint-400)}

.head-cta{display:none}

.hero-media-overlap{aspect-ratio:16 / 9;grid-template-rows:minmax(0,1fr);border-radius:var(--radius-3xl);overflow:clip;margin:0}
.hero-media-overlap video,.hero-media-overlap img{inline-size:100%;block-size:100%;min-block-size:0;object-fit:cover;transform:scale(1.06);transition:transform 1.4s var(--ease-out)}
.hero-media-overlap.is-revealed video,.hero-media-overlap.is-revealed img{transform:none}

.ph{background:var(--forest-100);display:grid;grid-template-rows:minmax(0,1fr);place-items:center;border-radius:var(--radius-2xl);overflow:clip;margin:0}
.ph>img{grid-area:1 / 1;inline-size:100%;block-size:100%;min-block-size:0;object-fit:cover}
.ph::after{content:attr(data-ph);grid-area:1 / 1;font-size:11px;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--forest-400);padding:0 var(--space-3);text-align:center}
.ph:has(img)::after{content:none}
.ph--band{aspect-ratio:21 / 9;inline-size:100%}
.ph--tall{aspect-ratio:16 / 9;inline-size:min(100%,64rem)}
.ph--square{aspect-ratio:1 / 1;inline-size:min(100%,30rem)}
.ph--wide{aspect-ratio:3 / 2;inline-size:min(100%,60rem)}
.ph--portrait{aspect-ratio:4 / 5;inline-size:100%}
@media (min-width:1024px){.ph--portrait{inline-size:min(100%,27.2rem)}}

.numbered{display:grid;gap:var(--space-8);margin-block-start:var(--space-12);padding:0;list-style:none}
.numbered .n{display:block;font-family:var(--font-display);font-size:40px;line-height:1;color:var(--color-text-muted);letter-spacing:var(--tracking-tight)}
.section--inverse .numbered .n{color:var(--mint-400)}
.numbered h3{margin-block-end:var(--space-2)}
.numbered p{color:var(--color-text-secondary);margin:0}
.section--inverse .numbered p{color:rgb(255 255 255 / .74)}
.numbered hr{margin:var(--space-4) 0}
.section--inverse .numbered hr{border-color:rgb(255 255 255 / .2)}

.rows{display:grid;gap:var(--space-6);margin-block-start:var(--space-12)}
.row-item{display:grid;gap:var(--space-3);padding-block:var(--space-6);border-block-start:var(--border-hairline) solid var(--color-border)}
.row-item:last-child{border-block-end:var(--border-hairline) solid var(--color-border)}
.row-item .p-no{font-family:var(--font-display);font-style:italic;font-size:var(--text-body-lg);color:var(--color-text-emphasis)}
.row-item p{color:var(--color-text-secondary);margin:0}

.tab-panel[hidden]{display:none}
.svc-list{margin:var(--space-6) 0 0;padding:0;list-style:none;max-inline-size:65ch}
.svc-list li{position:relative;padding:var(--space-3) 0 var(--space-3) var(--space-6);border-block-start:var(--border-hairline) solid var(--color-border);font-size:var(--text-body-sm);color:var(--color-text-secondary)}
.svc-list li::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:22px;inline-size:12px;block-size:1px;background:var(--lime-500)}
.svc-sub{font-family:var(--font-sans);font-size:12px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text);margin:var(--space-8) 0 var(--space-3)}

.disclaimer{margin-block-start:var(--space-6);padding-block-start:var(--space-4);border-block-start:var(--border-hairline) solid var(--color-border);font-size:var(--text-caption);color:var(--color-text-muted)}

.form-grid{display:grid;gap:var(--space-5);max-inline-size:520px;margin-block-start:var(--space-8)}
.form-ok{display:none;padding:var(--space-4) var(--space-5);background:var(--color-surface-tint);border-radius:var(--radius-lg);font-size:var(--text-body-sm);color:var(--color-text-brand)}
.form-ok[data-on="true"]{display:block}
.contact-meta{margin-block-start:var(--space-10);padding-block-start:var(--space-6);border-block-start:var(--border-hairline) solid var(--color-border);display:grid;gap:var(--space-2);font-size:var(--text-body-sm);color:var(--color-text-secondary)}
.contact-meta strong{font-family:var(--font-display);font-size:20px;font-weight:var(--weight-regular);color:var(--color-text)}

.site-foot{background:var(--color-bg-inverse);color:rgb(255 255 255 / .72);padding:var(--space-20) 0 var(--space-8);font-size:var(--text-body-sm)}
.foot-grid{display:grid;gap:var(--space-10)}
.site-foot .brand{color:var(--color-text-inverse)}
.foot-col__h{display:block;font-size:var(--text-caption);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:rgb(255 255 255 / .4);margin-block-end:var(--space-4)}
.foot-nav{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}
.foot-nav a{color:rgb(255 255 255 / .78);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}
.foot-nav a:hover{color:var(--mint-400)}
.foot-col--contact p{margin:0;color:rgb(255 255 255 / .72)}
.foot-mail{display:inline-block;margin-block-start:var(--space-3);color:var(--mint-400);text-decoration:none;border-block-end:var(--border-hairline) solid transparent;transition:border-color var(--duration-fast) var(--ease-out)}
.foot-mail:hover{border-color:var(--mint-400)}
.foot-bottom{grid-column:1 / -1;margin-block-start:var(--space-4);padding-block-start:var(--space-6);border-block-start:var(--border-hairline) solid rgb(255 255 255 / .14);display:grid;gap:var(--space-2);font-size:var(--text-caption);color:rgb(255 255 255 / .56)}

.cookie{position:fixed;z-index:var(--z-modal);inset:auto var(--space-4) var(--space-4) var(--space-4);max-inline-size:min(32rem,calc(100vw - var(--space-8)));padding:var(--space-6);background:var(--color-surface-raised);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);transform:translateY(140%);transition:transform var(--duration-slow) var(--ease-out)}
.cookie[data-up="true"]{transform:none}
.cookie h2{margin-block-end:var(--space-3)}
.cookie p{color:var(--color-text-secondary);font-size:var(--text-body-sm)}
.cookie-detail{max-block-size:0;overflow:hidden;transition:max-block-size var(--duration-slow) var(--ease-out)}
.cookie-detail[data-open="true"]{max-block-size:620px}
.cookie-group{padding-block:var(--space-5);border-block-start:var(--border-hairline) solid var(--color-border);display:grid;gap:var(--space-2)}
.cookie-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.cookie-group h3{font-family:var(--font-sans);font-size:12px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase}
.cookie-group p{font-size:var(--text-caption);margin:0}
.cookie-actions{display:grid;gap:var(--space-3);margin-block-start:var(--space-6)}
.cookie-link{padding:var(--space-2) 0;background:transparent;border:0;font:inherit;font-size:var(--text-caption);color:var(--color-text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.switch{position:relative;inline-size:46px;block-size:26px;flex:none}
.switch input{position:absolute;inset:0;inline-size:100%;block-size:100%;margin:0;opacity:0;cursor:pointer}
.switch i{position:absolute;inset:0;background:var(--sand-300);border-radius:var(--radius-full);transition:background var(--duration-base) var(--ease-out);pointer-events:none}
.switch i::after{content:"";position:absolute;inset-block-start:3px;inset-inline-start:3px;inline-size:20px;block-size:20px;background:#fff;border-radius:50%;transition:transform var(--duration-base) var(--ease-spring)}
.switch input:checked+i{background:var(--color-accent)}
.switch input:checked+i::after{transform:translateX(20px)}

.err-code{font-family:var(--font-display);font-size:clamp(5rem,26vw,9.5rem);font-weight:var(--weight-light);line-height:.9;letter-spacing:-0.04em;color:var(--forest-800);font-variant-numeric:tabular-nums}
.err-links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-block-start:var(--space-8)}

.legal h2{margin:var(--space-12) 0 var(--space-4)}
.legal p,.legal li{color:var(--color-text-secondary)}
.legal ul{padding-inline-start:var(--space-5)}
.legal li{margin-block-end:var(--space-2)}

@media (min-width:640px){
.cookie{inset:auto var(--space-6) var(--space-6) var(--space-6);padding:var(--space-8)}
.cookie-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3)}
.cookie-link{margin-inline-end:auto}
.numbered{grid-template-columns:1fr 1fr}
.foot-grid{grid-template-columns:1.6fr 1fr 1fr 1.3fr}
}

@media (min-width:1024px){
:root{--gutter:3rem}
.nav{position:static;inset:auto;flex-direction:row;gap:var(--space-6);padding:0;margin-inline-start:var(--space-4);background:transparent;transform:none}
.nav a{font-family:var(--font-sans);font-size:var(--text-body-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);text-decoration:none;padding-block-end:2px;border-block-end:var(--border-heavy) solid transparent;transition:color var(--duration-fast) var(--ease-out)}
.nav a:hover{color:var(--color-text)}
.nav a[aria-current="page"]{color:var(--color-text);border-block-end-color:var(--color-border-brand)}
.nav-toggle{display:none}
.head-cta{display:inline-flex;margin-inline-start:auto}
.hero-media-overlap{aspect-ratio:4 / 5;max-block-size:38rem;inline-size:100%;position:relative;z-index:var(--z-raised);margin-block-end:calc(var(--space-16) * -1)}
.numbered{grid-template-columns:repeat(4,1fr)}
.numbered--3{grid-template-columns:repeat(3,1fr)}
.row-item{grid-template-columns:.3fr 1fr;gap:var(--space-10);padding-block:var(--space-8)}
.row-item .p-no{grid-row:span 2}
}

[data-reveal-group]>*{opacity:0;transform:translateY(14px);transition:opacity var(--duration-slower,480ms) var(--ease-out),transform var(--duration-slower,480ms) var(--ease-out);transition-delay:calc(var(--i,0) * 70ms)}
[data-reveal-group].is-revealed>*{opacity:1;transform:none}
[data-reveal-media]{clip-path:inset(0 0 12% 0);transition:clip-path 900ms var(--ease-out)}
[data-reveal-media].is-revealed{clip-path:inset(0 0 0 0)}
[data-reveal-media] img{transform:scale(1.06) translateY(var(--shift,0));transition:transform 1.2s var(--ease-out),filter 1.2s var(--ease-out);filter:saturate(.82)}
[data-reveal-media].is-revealed img{transform:scale(1.015) translateY(var(--shift,0));filter:saturate(1)}
.ph>img{will-change:transform}

.is-swapped{animation:swap-in var(--duration-slow) var(--ease-out) both}
@keyframes swap-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.brand{transition:opacity var(--duration-fast) var(--ease-out)}
.brand:hover{opacity:.72}
.pill{transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}
.pill:hover{transform:translateY(-1px)}
.pill:active{transform:scale(.98)}
.card{transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card:hover img{transform:scale(1.04) translateY(var(--shift,0))}
.numbered li .n{transition:color var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}
.numbered li:hover .n{color:var(--color-accent);transform:translateY(-2px)}
.numbered li hr{transition:border-color var(--duration-base) var(--ease-out)}
.numbered li:hover hr{border-color:var(--color-accent)}
.svc-list li{transition:background-color var(--duration-fast) var(--ease-out),padding-inline-start var(--duration-base) var(--ease-out)}
.svc-list li:hover{background:var(--color-surface-tint);padding-inline-start:calc(var(--space-6) + var(--space-2))}
.row-item{transition:transform var(--duration-base) var(--ease-out)}
.row-item:hover{transform:translateX(4px)}
.foot-nav a{display:inline-block;transition:color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}
.foot-nav a:hover{transform:translateX(3px)}
.foot-brand{grid-column:1 / -1}
@media (min-width:768px){.foot-brand{grid-column:auto}}
.contact-meta span{transition:color var(--duration-fast) var(--ease-out)}
.contact-meta span:hover{color:var(--color-text)}
.input{transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}
.err-code{animation:code-in 1.1s var(--ease-out) both}
@keyframes code-in{from{opacity:0;letter-spacing:.06em}to{opacity:1;letter-spacing:-0.04em}}

@media (prefers-reduced-motion:reduce){
[data-reveal-group]>*,[data-reveal-media],[data-reveal-media] img{opacity:1;transform:none;clip-path:none;filter:none;transition:none}
.is-swapped,.err-code{animation:none;transition:none}
}

.btn svg,.btn i[data-lucide]{inline-size:18px;block-size:18px;display:block}
.btn--lg svg,.btn--lg i[data-lucide]{inline-size:20px;block-size:20px}
.btn--sm svg,.btn--sm i[data-lucide]{inline-size:16px;block-size:16px}

:root{--container-wide:90rem}
.container{max-inline-size:var(--container-wide)}
.container--md{max-inline-size:var(--container-md)}
.container--xl{max-inline-size:var(--container-xl)}
.stack>h2.text-h2{max-inline-size:24ch}

@media (min-width:768px){
.rows{margin-block-start:var(--space-16)}
.numbered{gap:var(--space-10)}
}

@media (min-width:1440px){
.numbered{gap:var(--space-12)}
}
.band-media{margin:0;overflow:clip;aspect-ratio:21 / 9}
.band-video{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.pillar-row{display:grid;gap:var(--space-6);align-items:start}
.pillar-row .card{display:flex;flex-direction:column;block-size:auto}
.pillar-row .card--stat{gap:var(--space-4)}
.pillar-row .card--stat .card__stat-value{color:var(--color-text-brand)}
.pillar-row .card--stat[data-accent="true"] .card__stat-value{color:var(--color-text-on-accent)}
.pillar-row .card--media img{margin:0;aspect-ratio:3 / 2;inline-size:100%;block-size:auto;object-fit:cover}
@media (min-width:640px){.pillar-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.pillar-row{grid-template-columns:repeat(4,minmax(0,1fr))}}

.study-index{display:grid;gap:1px;background:var(--color-border);border-block:var(--border-hairline) solid var(--color-border)}
.study-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-2);background:var(--color-bg);text-decoration:none;color:var(--color-text);transition:background-color var(--duration-fast) var(--ease-out),padding-inline-start var(--duration-base) var(--ease-out)}
.study-link:hover{background:var(--color-surface-tint);padding-inline-start:var(--space-4)}
.study-link__n{font-family:var(--font-display);font-size:var(--text-body-lg);color:var(--color-text-muted)}
.study-link svg{inline-size:18px;block-size:18px;color:var(--color-text-brand)}

.study{padding-block-start:var(--space-20);scroll-margin-block-start:6rem}
.study+.study{border-block-start:var(--border-hairline) solid var(--color-border)}
.study-lead{display:grid;gap:var(--space-5);padding-block-end:var(--space-10)}
.study-no{font-family:var(--font-display);font-size:var(--text-stat);font-weight:var(--weight-light);line-height:1;letter-spacing:var(--tracking-tighter);color:var(--color-border-strong);font-variant-numeric:tabular-nums}
.study-strip{margin:0;inline-size:100%;aspect-ratio:16 / 9;max-block-size:26rem;overflow:clip;border-radius:var(--radius-2xl)}
.study-strip img{inline-size:100%;block-size:100%;object-fit:cover}
.study-grid{display:grid;gap:var(--space-10);padding-block:var(--space-12) var(--space-20)}

.chapters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}
.chapter-link{display:inline-flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:var(--border-hairline) solid var(--color-border-strong);border-radius:var(--radius-full);font-size:var(--text-caption);color:var(--color-text-secondary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}
.chapter-link:hover{color:var(--color-text);border-color:var(--color-text-muted)}
.chapter-link__n{font-family:var(--font-display);color:var(--color-text-muted)}
.chapter-link.is-current{background:var(--color-bg-inverse);border-color:transparent;color:#fff}
.chapter-link.is-current .chapter-link__n{color:var(--mint-400)}

.study-standfirst{color:var(--color-text-secondary);padding-block-end:var(--space-10)}
.chapter{padding-block:var(--space-10);border-block-start:var(--border-hairline) solid var(--color-border);scroll-margin-block-start:7rem}
.chapter__h{display:flex;align-items:baseline;gap:var(--space-4);font-family:var(--font-display);font-size:var(--text-h3);font-weight:var(--weight-regular);letter-spacing:-0.015em;margin:0 0 var(--space-5)}
.chapter__n{font-size:var(--text-body-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}
.chapter:last-of-type{border-block-end:var(--border-hairline) solid var(--color-border)}
.study-sections .disclaimer{margin-block-start:var(--space-8)}
.chapter .svc-list li{padding-inline:0;font-size:var(--text-body)}
.chapter .svc-list li::before{content:none}
.chapter .svc-list li:hover{background:transparent;padding-inline-start:0}

@media (min-width:768px){
.study-lead{grid-template-columns:auto 1fr;gap:var(--space-8);align-items:start}
}
@media (min-width:1024px){
.study-grid{grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:var(--space-16)}
.study-rail{position:sticky;inset-block-start:7rem;align-self:start}
.chapters{flex-direction:column;gap:0;border-inline-start:var(--border-hairline) solid var(--color-border)}
.chapter-link{border:0;border-radius:0;padding:var(--space-3) var(--space-5);margin-inline-start:-1px;border-inline-start:2px solid transparent;inline-size:100%;font-size:var(--text-body-sm)}
.chapter-link:hover{background:transparent;color:var(--color-text)}
.chapter-link.is-current{background:transparent;color:var(--color-text);border-inline-start-color:var(--color-accent)}
.chapter-link.is-current .chapter-link__n{color:var(--color-text-brand)}
.study-standfirst{font-size:var(--text-h5);line-height:var(--leading-relaxed);color:var(--color-text)}
.study-strip{max-block-size:30rem}
}

.band-img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.band-media{aspect-ratio:32 / 9}
.ph--band .hero-video{inline-size:100%;block-size:100%;object-fit:cover;display:block}

.creed{font-family:var(--font-display);font-size:clamp(1.5rem,1.1rem + 1.5vw,2.125rem);font-weight:var(--weight-light);line-height:var(--leading-snug);letter-spacing:-0.015em;color:var(--color-text);max-inline-size:32ch;text-wrap:pretty}
.creed-em{font-style:italic;color:var(--color-text-brand)}
.creed-follow{color:var(--color-text-secondary);margin-block-start:var(--space-8);padding-block-start:var(--space-8);border-block-start:var(--border-hairline) solid var(--color-border)}
.creed-a{color:var(--color-text-muted);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--color-border-strong)}
.creed-b{font-family:var(--font-display);font-style:italic;font-size:1.08em;color:var(--color-text);box-shadow:inset 0 -0.42em 0 var(--color-accent-subtle);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.creed-key{font-family:var(--font-display);font-style:italic;color:var(--color-text-brand)}
@media (min-width:1024px){.creed{max-inline-size:34ch}}
.legal-list{margin:var(--space-4) 0 0;padding:0;list-style:none;display:grid;gap:var(--space-4)}
.legal-list li{padding-inline-start:var(--space-5);position:relative;color:var(--color-text-secondary);max-inline-size:70ch;text-wrap:pretty}
.legal-list li::before{content:"";position:absolute;inset-block-start:0.65em;inset-inline-start:0;inline-size:10px;block-size:1px;background:var(--color-border-strong)}
.legal-list strong{color:var(--color-text);font-weight:var(--weight-medium)}
.legal h3.text-h5{margin-block-start:var(--space-8)}
.legal-updated{margin-block-start:var(--space-10);padding-block-start:var(--space-5);border-block-start:var(--border-hairline) solid var(--color-border);font-size:var(--text-body-sm);color:var(--color-text-muted)}
.legal .prose + .prose,.legal .prose + .legal-list,.legal .legal-list + .prose{margin-block-start:var(--space-4)}

.tabs__list{padding-block-end:var(--space-5);border-block-end:var(--border-hairline) solid var(--color-border)}
.tabs__panel{padding-block-start:var(--space-10)}
.tabs__panel>.badge{margin-block-end:var(--space-2)}
.tabs__panel>h2.text-h3{max-inline-size:28ch}
.tabs__panel>p.prose:first-of-type{font-family:var(--font-display);font-size:clamp(1.25rem,1.05rem + 0.7vw,1.625rem);font-weight:var(--weight-light);line-height:var(--leading-snug);letter-spacing:-0.012em;color:var(--color-text);max-inline-size:30ch;padding-block-end:var(--space-8);border-block-end:var(--border-hairline) solid var(--color-border)}
.svc-detail{display:grid;gap:var(--space-4);align-content:start}
.svc-detail>p.prose{max-inline-size:68ch}
.svc-detail>.svc-sub{margin-block:var(--space-6) 0}
.svc-detail>.svc-list{margin-block-start:var(--space-2)}
.svc-sub{display:flex;align-items:baseline;gap:var(--space-4)}
.svc-sub::after{content:"";flex:1;block-size:1px;background:var(--color-border)}
.svc-list li::before{background:var(--color-accent)}
@media (min-width:1024px){
.tabs__panel{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);column-gap:var(--space-16);align-items:start}
.tabs__panel>.badge{grid-column:1;justify-self:start}
.tabs__panel>h2.text-h3{grid-column:1;margin-block-start:var(--space-4)}
.tabs__panel>p.prose:first-of-type{grid-column:1;border-block-end:0;padding-block-end:0;margin-block-start:var(--space-5)}
.tabs__panel>.svc-detail{grid-column:2;grid-row:1 / -1}
.tabs__panel>.badge{grid-row:1}
.tabs__panel>h2.text-h3{grid-row:2}
.tabs__panel>p.prose:first-of-type{grid-row:3}
}
.mt-4{margin-block-start:var(--space-4)}
.mt-6{margin-block-start:var(--space-6)}
.mt-8{margin-block-start:var(--space-8)}
.mt-12{margin-block-start:var(--space-12)}
.mt-16{margin-block-start:var(--space-16)}
.pt-0{padding-block-start:0}
.pt-16{padding-block-start:var(--space-16)}
.pb-0{padding-block-end:0}
.items-center{align-items:center}
.items-start{align-items:start}
.items-end{align-items:end}
.text-left{text-align:left}
.text-secondary{color:var(--color-text-secondary)}
.text-inverse-soft{color:rgb(255 255 255 / .78)}
.flow-4{--flow:var(--space-4)}
.flow-6{--flow:var(--space-6)}
.radius-3xl{border-radius:var(--radius-3xl)}
.measure-20{max-inline-size:20ch}
.measure-22{max-inline-size:22ch}
.measure-24{max-inline-size:24ch}
.measure-26{max-inline-size:26ch}
.measure-30{max-inline-size:30ch}
.measure-32{max-inline-size:32ch}
.textarea-tall{min-height:150px;padding-block:var(--space-3)}
