:root, [data-theme="light"] {
  color-scheme: light;
  --color-bg-canvas:#F7F4EE; --color-bg-surface:#FFFFFF; --color-bg-surface-alt:#EFEAE1;
  --color-bg-inverse:#141414; --color-bg-overlay:rgb(20 20 20 / .56);
  --color-fg-primary:#141414; --color-fg-secondary:#4A4338; --color-fg-muted:#857B6C;
  --color-fg-inverse:#F7F4EE;
  --color-border-subtle:#E2DCD0; --color-border-default:#CCC4B5; --color-border-strong:#141414;
  --color-primary:#F0562B; --color-primary-hover:#D14219; --color-primary-active:#A83314;
  --color-primary-subtle:#FFF1EC; --color-on-primary:#FFFFFF;
  --color-secondary:#4F7E4A; --color-secondary-hover:#3E653B; --color-secondary-subtle:#F0F5EF;
  --color-on-secondary:#FFFFFF;
  --color-accent:#FFD447;
  --color-success:#1F9450; --color-success-subtle:#EAF7EE;
  --color-warning:#E08400; --color-warning-subtle:#FFF6E5;
  --color-error:#C93030; --color-error-subtle:#FDECEC;
  --color-info:#2F73B7; --color-info-subtle:#EAF3FB;
  --color-focus-ring:#F0562B; --color-selection:#FFE27A;
}
[data-theme="dark"] {
  color-scheme: dark;
  --color-bg-canvas:#111010; --color-bg-surface:#1C1915; --color-bg-surface-alt:#241F19;
  --color-bg-inverse:#F7F4EE; --color-bg-overlay:rgb(0 0 0 / .72);
  --color-fg-primary:#F5F1EA; --color-fg-secondary:#CCC4B5; --color-fg-muted:#857B6C;
  --color-fg-inverse:#141414;
  --color-border-subtle:#302B24; --color-border-default:#4A4338; --color-border-strong:#F5F1EA;
  --color-primary:#FA6E47; --color-primary-hover:#FF9273; --color-primary-active:#FFB9A3;
  --color-primary-subtle:#341108; --color-on-primary:#141414;
  --color-secondary:#93B78D; --color-secondary-hover:#BBD3B6; --color-secondary-subtle:#1C2E1B;
  --color-on-secondary:#0F1A0F;
  --color-accent:#FFE27A;
  --color-success:#66C68A; --color-success-subtle:#0C3520;
  --color-warning:#FFB84D; --color-warning-subtle:#472900;
  --color-error:#E97373; --color-error-subtle:#461010;
  --color-info:#74ADDF; --color-info-subtle:#122B44;
  --color-focus-ring:#FA6E47; --color-selection:#58200E;
}
:root {
  --font-display:"Newsreader", Georgia, "Times New Roman", serif;
  --font-sans:"Archivo", "Helvetica Neue", Arial, system-ui, sans-serif;
  --weight-regular:400; 
  --weight-medium:500; 
  --weight-semibold:600; 
  --text-display-xl:clamp(3rem, 1rem + 8vw, 8.5rem); 
  --text-display-lg:clamp(2.5rem, 1rem + 5.5vw, 6rem); 
  --text-display-md:clamp(2rem, 1rem + 3.5vw, 4rem); 
  --text-h1:clamp(1.875rem, 1rem + 2.5vw, 3rem); 
  --text-h2:clamp(1.5rem, 1rem + 1.75vw, 2.25rem); 
  --text-h3:clamp(1.25rem, 1rem + 1vw, 1.625rem); 
  --text-h4:1.25rem; 
  --text-lead:clamp(1.125rem, 1rem + .5vw, 1.375rem); 
  --text-body:1rem; 
  --text-body-sm:.875rem; 
  --text-caption:.75rem; 
  --text-label:.9375rem; 
}
html { font-family:var(--font-sans); font-size:100%; -webkit-font-smoothing:antialiased; }
body { font-size:var(--text-body); line-height:1.55; color:var(--color-fg-primary); background:var(--color-bg-canvas); }
.text-display-xl { font-family:var(--font-display); font-size:var(--text-display-xl); font-weight:400; line-height:.95; letter-spacing:-.02em; text-wrap:balance; }
.text-display-lg { font-family:var(--font-display); font-size:var(--text-display-lg); font-weight:400; line-height:.98; letter-spacing:-.015em; text-wrap:balance; }
.text-display-md { font-family:var(--font-display); font-size:var(--text-display-md); font-weight:400; line-height:1.02; letter-spacing:-.01em; text-wrap:balance; }
.text-h1 { font-family:var(--font-display); font-size:var(--text-h1); font-weight:500; line-height:1.08; letter-spacing:-.01em; text-wrap:balance; }
.text-h2 { font-family:var(--font-display); font-size:var(--text-h2); font-weight:500; line-height:1.12; letter-spacing:-.008em; text-wrap:balance; }
.text-h3 { font-family:var(--font-display); font-size:var(--text-h3); font-weight:500; line-height:1.2; letter-spacing:-.005em; }
.text-h4 { font-family:var(--font-sans); font-size:var(--text-h4); font-weight:500; line-height:1.3; letter-spacing:-.005em; }
.text-lead { font-size:var(--text-lead); line-height:1.45; }
.text-body { font-size:var(--text-body); line-height:1.55; }
.text-body-sm { font-size:var(--text-body-sm); line-height:1.5; }
.text-caption { font-size:var(--text-caption); line-height:1.4; letter-spacing:.01em; }
.text-label { font-family:var(--font-display); font-size:var(--text-label); font-variant-caps:all-small-caps; font-weight:500; line-height:1; letter-spacing:.14em; }
.text-display-italic { font-style:italic; font-weight:400; }
:root {
  --space-0:0; --space-px:1px;
  --space-1:.25rem; --space-2:.5rem; --space-3:.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-section:clamp(4rem, 10vw, 10rem);
  --space-gutter:clamp(1rem, 4vw, 3rem);
}
:root {
  --radius-none:0; --radius-xs:4px; --radius-sm:8px; --radius-md:12px;
  --radius-lg:20px; --radius-xl:28px; --radius-2xl:40px; --radius-pill:9999px;
}
:root {
  --z-base:0; 
  --z-raised:10; 
  --z-dropdown:100; 
  --z-sticky:200; 
  --z-overlay:300; 
  --z-modal:400; 
  --z-toast:500; 
  --z-cursor:900; 
  --shadow-sm:0 1px 2px rgb(20 20 20 / .06);
  --shadow-md:0 6px 20px -4px rgb(20 20 20 / .10);
  --shadow-lg:0 24px 48px -12px rgb(20 20 20 / .16);
  --shadow-focus:0 0 0 3px var(--color-focus-ring);
}
[data-theme="dark"] {
  --shadow-sm:0 1px 2px rgb(0 0 0 / .4);
  --shadow-md:0 6px 20px -4px rgb(0 0 0 / .6);
  --shadow-lg:0 24px 48px -12px rgb(0 0 0 / .7);
}
:root {
  --dur-instant:80ms; 
  --dur-fast:160ms; 
  --dur-base:240ms; 
  --dur-slow:420ms; 
  --dur-marquee:40s; 
  --ease-out:cubic-bezier(.16,1,.3,1); 
  --ease-in:cubic-bezier(.7,0,.84,0); 
  --ease-in-out:cubic-bezier(.65,0,.35,1); 
  --ease-spring:cubic-bezier(.34,1.56,.64,1); 
  --motion-scale:1; 
}
@media (prefers-reduced-motion: reduce) { :root { --motion-scale:0;  } }
[data-motion="reduced"] { --motion-scale:0;  }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}
[data-motion="reduced"] *, [data-motion="reduced"] *::before, [data-motion="reduced"] *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
*, *::before, *::after { box-sizing:border-box; }
* { margin:0; }
html { scroll-behavior:smooth; scroll-padding-top:var(--header-height, 72px); }
img, picture, video, canvas, svg { display:block; max-width:100%; height:auto; }
button, input, select, textarea { font:inherit; color:inherit; }
::selection { background:var(--color-selection); color:var(--color-fg-primary); }
a { color:var(--color-fg-primary); text-decoration-color:var(--color-border-default); text-underline-offset:4px; }
a:hover { color:var(--color-primary); text-decoration-color:currentColor; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:focus { outline:none; }
:focus-visible { outline:2px solid var(--color-focus-ring); outline-offset:3px; border-radius:inherit; }
[data-inverse] :focus-visible { outline-color:var(--color-accent); }
.container { width:100%; margin-inline:auto; padding-inline:var(--space-gutter); }
.container-narrow { max-width:720px; }
.container-default { max-width:1200px; }
.container-wide { max-width:1440px; }
.container-bleed { max-width:none; padding-inline:0; }
.grid-12 { display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:var(--space-4); }
@media (min-width:768px) { .grid-12 { gap:var(--space-6); } }
@media (min-width:1280px) { .grid-12 { gap:var(--space-8); } }
.flow > * + * { margin-block-start:var(--flow-space, var(--space-4)); }
.stack-2 { display:flex; flex-direction:column; gap:var(--space-2); }
.stack-3 { display:flex; flex-direction:column; gap:var(--space-3); }
.stack-4 { display:flex; flex-direction:column; gap:var(--space-4); }
.stack-6 { display:flex; flex-direction:column; gap:var(--space-6); }
.stack-8 { display:flex; flex-direction:column; gap:var(--space-8); }
.cluster-2 { display:flex; flex-wrap:wrap; gap:var(--space-2); align-items:center; }
.cluster-3 { display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:center; }
.cluster-4 { display:flex; flex-wrap:wrap; gap:var(--space-4); align-items:center; }
.max-w-prose { max-width:65ch; }
.aspect-portrait { aspect-ratio:4/5; }
.aspect-square { aspect-ratio:1; }
.aspect-video { aspect-ratio:16/9; }
.truncate { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.no-scrollbar { scrollbar-width:none; }
.no-scrollbar::-webkit-scrollbar { display:none; }
.c-button { display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2); height:44px; padding-inline:20px; border-radius:var(--radius-pill); font-family:var(--font-sans); font-weight:var(--weight-medium); font-size:.9375rem; line-height:1; white-space:nowrap; border:1px solid transparent; cursor:pointer; user-select:none; text-decoration:none; transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.c-button[data-size="sm"] { height:32px; padding-inline:14px; font-size:.875rem; }
.c-button[data-size="lg"] { height:56px; padding-inline:28px; font-size:1rem; }
.c-button[data-variant="primary"] { background:var(--color-primary); color:var(--color-on-primary); }
.c-button[data-variant="primary"]:hover { background:var(--color-primary-hover); }
.c-button[data-variant="primary"]:active { background:var(--color-primary-active); }
.c-button[data-variant="secondary"] { background:var(--color-secondary); color:var(--color-on-secondary); }
.c-button[data-variant="secondary"]:hover { background:var(--color-secondary-hover); }
.c-button[data-variant="outline"] { border-color:var(--color-border-strong); color:var(--color-fg-primary); background:transparent; }
.c-button[data-variant="outline"]:hover { background:var(--color-fg-primary); color:var(--color-fg-inverse); }
.c-button[data-variant="ghost"] { background:transparent; color:var(--color-fg-primary); }
.c-button[data-variant="ghost"]:hover { background:var(--color-bg-surface-alt); }
.c-button[data-variant="inverse"] { background:var(--color-bg-inverse); color:var(--color-fg-inverse); }
.c-button[data-variant="inverse"]:hover { opacity:.88; }
.c-button[data-variant="link"] { background:transparent; color:var(--color-fg-primary); text-decoration:underline; text-underline-offset:4px; padding-inline:0; height:auto; }
.c-button[data-variant="link"]:hover { text-decoration-thickness:2px; color:var(--color-fg-primary); }
.c-button[data-variant="destructive"] { background:var(--color-error); color:#FFF; }
.c-button[data-variant="destructive"]:hover { filter:brightness(.9); }
.c-button:active { transform:scale(.98); }
.c-button:disabled, .c-button[aria-disabled="true"] { opacity:.45; pointer-events:none; }
.c-button[data-icon-only] { width:44px; padding-inline:0; }
.c-button[data-icon-only][data-size="sm"] { width:32px; }
.c-button[data-icon-only][data-size="lg"] { width:56px; }
.c-field { display:flex; flex-direction:column; gap:var(--space-2); }
.c-field__label { font-family:var(--font-display); font-variant-caps:all-small-caps; letter-spacing:.14em; font-weight:500; font-size:var(--text-label); line-height:1; color:var(--color-fg-secondary); }
.c-field__input { width:100%; height:44px; padding-inline:var(--space-4); border-radius:var(--radius-md); border:1px solid var(--color-border-default); background:var(--color-bg-surface); color:var(--color-fg-primary); transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out); }
.c-field__input::placeholder { color:var(--color-fg-muted); }
.c-field__input:hover { border-color:var(--color-border-strong); }
.c-field__input:focus-visible { outline:none; border-color:var(--color-primary); box-shadow:var(--shadow-focus); }
.c-field textarea.c-field__input { height:auto; min-height:120px; padding-block:var(--space-3); resize:vertical; }
.c-field[data-size="sm"] .c-field__input { height:36px; }
.c-field[data-size="lg"] .c-field__input { height:56px; }
.c-field[data-variant="filled"] .c-field__input { border-color:transparent; background:var(--color-bg-surface-alt); }
.c-field[data-variant="underline"] .c-field__input { border:0; border-bottom:1px solid var(--color-border-default); border-radius:0; background:transparent; padding-inline:0; }
.c-field[data-variant="underline"] .c-field__input:focus-visible { box-shadow:none; border-bottom-color:var(--color-primary); }
.c-field[data-status="error"] .c-field__input { border-color:var(--color-error); }
.c-field[data-status="success"] .c-field__input { border-color:var(--color-success); }
.c-field__message { font-size:var(--text-body-sm); color:var(--color-fg-muted); }
.c-field[data-status="error"] .c-field__message { color:var(--color-error); }
.c-field__input:disabled { background:var(--color-bg-surface-alt); color:var(--color-fg-muted); cursor:not-allowed; }
.c-card { background:var(--color-bg-surface); border:1px solid var(--color-border-subtle); border-radius:var(--radius-lg); padding:var(--space-6); }
.c-card[data-variant="elevated"] { border:0; box-shadow:var(--shadow-md); }
.c-card[data-variant="flat"] { border:0; background:var(--color-bg-surface-alt); }
.c-card[data-variant="media"] { border:0; border-radius:var(--radius-xl); padding:0; overflow:hidden; }
.c-card[data-variant="media"] .c-card__body { padding:var(--space-5); }
.c-card[data-variant="product"] { border:0; background:var(--color-bg-surface-alt); border-radius:var(--radius-2xl); padding:var(--space-8); }
.c-card[data-variant="review"] { border-radius:var(--radius-lg); }
.c-card[data-variant="selectable"] { border:1px solid var(--color-border-default); border-radius:var(--radius-md); padding:var(--space-4); cursor:pointer; }
.c-card[data-variant="selectable"][data-selected] { border:2px solid var(--color-primary); background:var(--color-primary-subtle); }
.c-card[data-interactive] { transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); text-decoration:none; color:inherit; display:block; }
.c-card[data-interactive]:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.c-card[data-variant="elevated"][data-interactive]:hover { box-shadow:var(--shadow-lg); }
.c-badge { display:inline-flex; align-items:center; gap:6px; height:24px; padding-inline:10px; border-radius:var(--radius-pill); font-size:var(--text-body-sm); font-weight:var(--weight-medium); background:var(--color-bg-surface-alt); color:var(--color-fg-secondary); }
.c-badge[data-size="sm"] { height:20px; padding-inline:8px; font-size:var(--text-caption); }
.c-badge[data-shape="rounded"] { border-radius:var(--radius-xs); }
.c-badge[data-variant="primary"] { background:var(--color-primary-subtle); color:var(--color-primary); }
.c-badge[data-variant="secondary"] { background:var(--color-secondary-subtle); color:var(--color-secondary); }
.c-badge[data-variant="success"] { background:var(--color-success-subtle); color:var(--color-success); }
.c-badge[data-variant="warning"] { background:var(--color-warning-subtle); color:var(--color-warning); }
.c-badge[data-variant="error"] { background:var(--color-error-subtle); color:var(--color-error); }
.c-badge[data-variant="info"] { background:var(--color-info-subtle); color:var(--color-info); }
.c-badge[data-variant="outline"] { background:transparent; color:var(--color-fg-primary); border:1px solid var(--color-border-default); }
.c-badge[data-variant="solid"] { background:var(--color-bg-inverse); color:var(--color-fg-inverse); }
.c-badge[data-variant="swatch"] { width:28px; height:28px; padding:0; border-radius:50%; background:var(--swatch); border:0; cursor:pointer; }
.c-badge[data-variant="swatch"][aria-checked="true"] { box-shadow:0 0 0 2px var(--color-bg-canvas), 0 0 0 4px var(--color-border-strong); }
.c-badge[data-dot]::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.c-accordion__item { border-bottom:1px solid var(--color-border-subtle); }
.c-accordion__heading { margin:0; }
.c-accordion__trigger { display:flex; width:100%; align-items:center; justify-content:space-between; gap:var(--space-4); padding-block:var(--space-5); background:none; border:0; text-align:left; cursor:pointer; font-family:var(--font-display); font-size:var(--text-h3); font-weight:500; line-height:1.2; color:var(--color-fg-secondary); transition:color var(--dur-fast) var(--ease-out); }
.c-accordion__trigger:hover, .c-accordion__trigger[aria-expanded="true"] { color:var(--color-fg-primary); }
.c-accordion__icon { flex:none; width:20px; height:20px; transition:transform var(--dur-fast) var(--ease-out); }
.c-accordion__trigger[aria-expanded="true"] .c-accordion__icon { transform:rotate(45deg); }
.c-accordion__panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows var(--dur-base) var(--ease-out); }
.c-accordion__panel > div { overflow:hidden; }
.c-accordion__panel[data-open] { grid-template-rows:1fr; }
.c-accordion__panel p { padding-block-end:var(--space-5); color:var(--color-fg-secondary); max-width:65ch; }
.c-toggle { display:inline-flex; align-items:center; gap:var(--space-3); cursor:pointer; }
.c-toggle__track { position:relative; width:44px; height:24px; flex:none; border-radius:var(--radius-pill); background:var(--color-border-default); border:0; padding:0; cursor:pointer; transition:background var(--dur-instant) var(--ease-out); }
.c-toggle__track[aria-checked="true"] { background:var(--color-primary); }
.c-toggle__track::after { content:""; position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:var(--color-bg-surface); box-shadow:var(--shadow-sm); transition:transform var(--dur-fast) var(--ease-out); }
.c-toggle__track[aria-checked="true"]::after { transform:translateX(20px); }
.c-toggle[data-size="sm"] .c-toggle__track { width:36px; height:20px; }
.c-toggle[data-size="sm"] .c-toggle__track::after { width:16px; height:16px; }
.c-toggle[data-size="sm"] .c-toggle__track[aria-checked="true"]::after { transform:translateX(16px); }
.c-modal { position:fixed; inset:0; z-index:var(--z-overlay); display:grid; place-items:center; }
.c-modal__scrim { position:absolute; inset:0; background:var(--color-bg-overlay); }
.c-modal__panel { position:relative; z-index:var(--z-modal); background:var(--color-bg-surface); border-radius:var(--radius-xl); padding:var(--space-8); width:min(640px, calc(100vw - 2*var(--space-gutter))); max-height:90dvh; overflow:auto; box-shadow:var(--shadow-lg); }
.c-modal[data-size="sm"] .c-modal__panel { width:min(480px, calc(100vw - 2*var(--space-gutter))); }
.c-modal[data-size="lg"] .c-modal__panel { width:min(880px, calc(100vw - 2*var(--space-gutter))); }
.c-modal[data-variant="sheet-right"] { place-items:stretch end; }
.c-modal[data-variant="sheet-right"] .c-modal__panel { width:420px; max-width:90vw; height:100dvh; max-height:none; border-radius:0; }
.c-modal__header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); margin-block-end:var(--space-4); }
html,body{overflow-x:clip}
@font-face{font-family:'Switzer';src:url('uploads/Switzer-Light.otf') format('opentype');font-weight:300;font-display:swap}
@font-face{font-family:'Switzer';src:url('uploads/Switzer-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Switzer';src:url('uploads/Switzer-Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:'Switzer';src:url('uploads/Switzer-Semibold.otf') format('opentype');font-weight:600;font-display:swap}
@font-face{font-family:'Switzer';src:url('uploads/Switzer-Bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--font-display:'Switzer',sans-serif;--font-sans:Palatino,'Palatino Linotype','Book Antiqua',Georgia,serif}
.text-display-xl,.text-display-lg,.text-display-md,h1,h2,h3,.wordmark{letter-spacing:-.03em}
.text-display-italic{font-style:normal;font-weight:600}
.text-display-xl,.text-display-lg,.text-display-md{font-weight:600;color:#3C3C3C}
.text-label{font-family:Palatino,'Palatino Linotype','Book Antiqua',Georgia,serif}
.text-h3{font-family:var(--font-display);font-weight:600;color:#3C3C3C}
.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in srgb, var(--color-bg-canvas) 88%, transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-subtle)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:72px}
.wordmark{font-family:var(--font-display);font-variant-caps:all-small-caps;font-weight:600;letter-spacing:.08em;font-size:1.625rem;line-height:1;text-decoration:none;color:var(--color-fg-primary)}
.wordmark:hover{color:var(--color-fg-primary)}
.site-nav{display:flex;gap:var(--space-8)}
.site-nav a{font-size:var(--text-body-sm);font-weight:500;color:var(--color-fg-secondary);text-decoration:none;background:linear-gradient(currentColor,currentColor) no-repeat left 100%/0 1px;transition:color var(--dur-fast) var(--ease-out),background-size var(--dur-base) var(--ease-out)}
.site-nav a:hover{color:var(--color-fg-primary);background-size:100% 1px}
.site-nav a[aria-current="page"]{color:var(--color-fg-primary)}
.nav-toggle{display:none;background:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);height:32px;padding-inline:14px;font-size:var(--text-body-sm);font-weight:500;cursor:pointer}
.section{padding-block:var(--space-section)}
.section-alt{background:var(--color-bg-surface-alt);background-image:repeating-linear-gradient(45deg, rgb(20 20 20 / .025) 0px, rgb(20 20 20 / .025) 1px, transparent 1px, transparent 9px),repeating-linear-gradient(-45deg, rgb(20 20 20 / .025) 0px, rgb(20 20 20 / .025) 1px, transparent 1px, transparent 9px)}
.muted{color:var(--color-fg-muted)}
.secondary{color:var(--color-fg-secondary)}
.lede{max-width:58ch}
.prose{max-width:65ch}
.prose p+p{margin-top:var(--space-5)}
.hero{padding-block:100px var(--space-section);overflow:hidden}
.hero-inner{position:relative;padding-right:min(36vw,520px)}
.hero h1{max-width:15ch;position:relative;z-index:var(--z-raised);font-size:80px}
.hero .lede{margin-top:var(--space-10)}
.hero-actions{margin-top:var(--space-16)}
.hero-media{position:absolute;right:0;top:4%;width:min(29vw,420px);aspect-ratio:4/5;background:#CCC4B5}
.hero-media-2{position:absolute;right:min(16vw,240px);bottom:-8%;width:min(14vw,200px);aspect-ratio:1;background:#857B6C}
.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);margin-top:var(--space-16)}
.rule-grid[data-cols="2"]{grid-template-columns:repeat(2,1fr);gap:var(--space-12) var(--space-8)}
.rule-item{border-top:1px solid var(--color-border-default);padding-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}
.offset{margin-left:8.333%}
.article-row{border-top:1px solid var(--color-border-default);display:block;text-decoration:none;color:inherit;padding-block:var(--space-8)}
.article-row:hover{color:inherit}
.article-row:last-of-type{border-bottom:1px solid var(--color-border-default)}
.article-row-inner{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-8)}
.article-row h2{transition:color var(--dur-fast) var(--ease-out)}
.article-row:hover h2{color:var(--color-primary)}
.article-row .arrow{font-family:var(--font-display);font-size:1.5rem;flex:none}
.article-row .meta{margin-top:var(--space-3)}
.article-head{padding-block:var(--space-section) var(--space-12)}
.article-head h1{max-width:20ch;margin-top:var(--space-6)}
.article-head .standfirst{margin-top:var(--space-8);font-family:var(--font-display);max-width:44ch}
.article-body{padding-block:var(--space-4) var(--space-section)}
.article-body .prose h2{margin-top:var(--space-12)}
.article-body .prose h2+p{margin-top:var(--space-4)}
.article-note{margin-top:var(--space-12);padding-top:var(--space-5);border-top:1px solid var(--color-border-subtle);font-size:var(--text-body-sm);color:var(--color-fg-muted);max-width:65ch}
.subject-list{list-style:none;padding:0;margin-top:var(--space-8)}
.subject-list li{border-top:1px solid var(--color-border-default);padding-block:var(--space-5);font-family:var(--font-display);font-size:var(--text-h3);font-weight:500;letter-spacing:-.005em}
.subject-list li:last-child{border-bottom:1px solid var(--color-border-default)}
.logo-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-4);margin-top:var(--space-10)}
.logo-tile{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);min-height:104px;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-5);text-decoration:none;color:var(--color-fg-secondary);font-family:var(--font-display);font-variant-caps:all-small-caps;letter-spacing:.08em;font-size:1.125rem;line-height:1.3;background:var(--color-bg-surface);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.logo-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);color:var(--color-fg-primary)}
.office-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-12);margin-top:var(--space-16)}
.office{border-top:1px solid var(--color-border-default);padding-top:var(--space-6)}
.office address{font-style:normal;margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);color:var(--color-fg-muted)}
.contact-form{display:grid;gap:var(--space-6);max-width:540px;margin-top:var(--space-12)}
select.c-field__input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23857B6C' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center}
.media-block{background:#A99F8F;aspect-ratio:16/9;margin-top:var(--space-16)}
.overlap-section{position:relative}
.overlap-media{float:right;width:min(42%,560px);height:380px;margin:0 0 var(--space-8) var(--space-8);background:#A99F8F}
.overlap-section::after{content:"";display:table;clear:both}
.overlap-section h2{max-width:14ch}
.overlap-section .lede{margin-top:var(--space-10)}
.cta-band{text-align:left}
.cta-band .c-button{margin-top:var(--space-10)}
.site-footer{background:var(--color-bg-inverse);color:var(--color-fg-inverse);padding-block:var(--space-16)}
.site-footer a{color:inherit}
.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--space-6)}
.footer-inner .wordmark,.site-footer .wordmark{color:#FFFFFF;font-size:1.875rem}
.footer-logo{display:none}
.footer-inner .text-caption{opacity:.55}
.reveal{opacity:0;transform:translateY(16px)}
.reveal.in{opacity:1;transform:none;transition:opacity 480ms var(--ease-out),transform 480ms var(--ease-out)}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
[data-motion="reduced"] .reveal{opacity:1;transform:none;transition:none}
@media (max-width:900px){
.rule-grid,.rule-grid[data-cols="2"]{grid-template-columns:1fr;gap:var(--space-8)}
.office-grid{grid-template-columns:1fr;gap:var(--space-10)}
.offset{margin-left:0}
.overlap-media{float:none;width:100%;height:auto;aspect-ratio:16/10;margin:0 0 var(--space-8)}
.overlap-section h2{padding-top:0}
}
@media (max-width:800px){
.site-nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;gap:var(--space-6);padding:var(--space-8) var(--space-gutter) var(--space-10);background:var(--color-bg-canvas);border-bottom:1px solid var(--color-border-subtle)}
.site-nav.open{display:flex}
.site-nav a{font-size:var(--text-h3);font-family:var(--font-display)}
.nav-toggle{display:inline-flex;align-items:center}
.hero-media{position:static;width:100%;max-width:420px;aspect-ratio:4/3;margin-top:var(--space-12)}
.hero-inner{padding-right:0}
.hero-media-2{display:none}
.article-row-inner .arrow{display:none}
.split-2{grid-template-columns:1fr;gap:var(--space-8)}
.flex-row-stretch,.flex-top{flex-wrap:wrap}
.pr-30{padding-right:0}
}
.ph-cap{font-size:var(--text-caption);color:rgb(20 20 20 / .45)}
.cookie-popup{position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:var(--z-sticky);max-width:360px;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);opacity:0;transform:translateY(16px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
.cookie-popup.show{opacity:1;transform:none}
.cookie-popup p{font-size:var(--text-body-sm);color:var(--color-fg-secondary);margin-top:var(--space-3)}
.cookie-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}
@media (max-width:600px){.cookie-popup{left:var(--space-4);right:var(--space-4);max-width:none}}
.hero-media,.hero-media-2,.overlap-media,.media-block{display:flex;align-items:flex-end;padding:12px}
.section:has(.overlap-section){overflow:hidden}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--space-16)}
.footer-brand{display:flex;flex-direction:column;gap:var(--space-6)}
.footer-brand p{opacity:.7;max-width:32ch}
.footer-col{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}
.footer-col .text-label{opacity:.6}
.footer-col a{color:inherit;text-decoration-color:rgb(247 244 238 / .3)}
.footer-base{margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid rgb(247 244 238 / .15);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4)}
.footer-base .text-caption{opacity:.5}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr;gap:var(--space-10)}}
.hero-inner:has(.hero-split){padding-right:0}
.events-hero{padding-bottom:0}
.events-band{height:min(52vh,480px);background:#CCC4B5;margin-top:calc(-1 * var(--space-8))}
.events-hero h1{position:relative;z-index:var(--z-raised);max-width:none}
.events-intro{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--space-8);padding-block:var(--space-16) var(--space-section);align-items:start}
.events-intro p{margin:0}
@media (max-width:900px){.events-intro{grid-template-columns:1fr;gap:var(--space-6)}}
.strategy-row{display:grid;grid-template-columns:64px minmax(200px,.6fr) 1.4fr;gap:var(--space-8);align-items:start;border-top:1px solid var(--color-border-subtle);padding-block:var(--space-10)}
.strategy-row:last-child{border-bottom:1px solid var(--color-border-subtle)}
.strategy-row h2{margin:0}
.strategy-row p{margin:0;max-width:65ch}
@media (max-width:900px){.strategy-row{grid-template-columns:48px 1fr;grid-template-rows:auto auto}.strategy-row p{grid-column:2}}
.hero-split h1{max-width:none}
.enquiries-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:start}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
@media (max-width:900px){.enquiries-split,.form-pair{grid-template-columns:1fr}}
.hero-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:start}
.hero-split h1{margin-top:1rem}
.hero-split .prose,.hero-split .office-grid{margin-top:1rem}
@media (max-width:900px){.hero-split{grid-template-columns:1fr;gap:var(--space-10)}}
.logo-tile img{max-width:80%;max-height:64px;object-fit:contain}
.error-page{min-height:calc(100vh - 72px);display:flex;align-items:center}
.error-page .text-display-lg{font-size:80px}
.mt-0{margin-top:0!important}
.mt-4{margin-top:1rem!important}
.mt-5{margin-top:var(--space-5)!important}
.mt-8{margin-top:var(--space-8)!important}
.mt-10{margin-top:var(--space-10)!important}
.mt-12{margin-top:var(--space-12)!important}
.mt-16{margin-top:var(--space-16)!important}
.measure-16{max-width:16ch!important}
.measure-20{max-width:20ch!important}
.measure-48{max-width:48ch!important}
.fw-medium{font-weight:500}
.fw-semibold{font-weight:600}
.heading-ink{font-weight:600;color:#3C3C3C}
.ink{color:#141414}
.fs-16{font-size:16px}
.pr-30{padding-right:30px}
.py-60{padding-block:60px}
.pos-rel{position:relative}
.font-display{font-family:var(--font-display)}
.label-serif{font-family:var(--font-sans);margin-bottom:0}
.serif-16{font-family:var(--font-sans);font-size:16px}
.serif-18{font-family:var(--font-sans);font-weight:500;font-size:18px}
.standfirst-serif{font-family:var(--font-sans);font-weight:500;font-size:20px;color:#141414}
h1.hero-title{margin-top:1rem;max-width:none;font-family:var(--font-display);font-weight:600;color:#3C3C3C;font-size:80px}
.hero-lead{max-width:44ch;margin-top:var(--space-10);position:relative;z-index:var(--z-raised)}
.split-2{margin-top:var(--space-10);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);max-width:none}
.flex-row-stretch{display:flex;flex-direction:row;align-items:stretch}
.flex-top{display:flex;align-items:flex-start}
@media (max-width:1024px){
.hero h1,h1.hero-title,.error-page .text-display-lg{font-size:clamp(40px,7.8vw,80px)}
}