/* Ampersand Design System — generated from tokens.json */
:root, [data-theme="dark"] {
  --amp-carbon: #0E0F11;
  --amp-graphite-800: #1C1E22;
  --amp-graphite-700: #24272C;
  --amp-graphite-600: #2E3138;
  --amp-graphite-500: #3A3E46;
  --amp-slate-400: #8B8E95;
  --amp-slate-600: #5E6168;
  --amp-ash-300: #B9B7B1;
  --amp-ink-700: #3A3D44;
  --amp-off-white: #F2F0EB;
  --amp-linen-200: #E8E5DE;
  --amp-linen-300: #D6D1C7;
  --amp-linen-400: #B5AFA3;
  --amp-white: #FFFFFF;
  --amp-gold: #C9A96E;
  --amp-gold-deep: #7A5F30;
  --amp-bg: var(--amp-carbon);
  --amp-surface: var(--amp-graphite-800);
  --amp-surface-raised: var(--amp-graphite-700);
  --amp-border: var(--amp-graphite-500);
  --amp-hairline: var(--amp-graphite-600);
  --amp-text-primary: var(--amp-off-white);
  --amp-text-secondary: var(--amp-ash-300);
  --amp-text-muted: var(--amp-slate-400);
  --amp-accent: var(--amp-gold);
  --amp-accent-on-light: var(--amp-gold-deep);
  --amp-on-accent: var(--amp-carbon);
  --amp-accent-hover-fill: var(--amp-off-white);
  --amp-placeholder-a: var(--amp-graphite-800);
  --amp-placeholder-b: var(--amp-carbon);
}
[data-theme="light"] {
  --amp-bg: var(--amp-off-white);
  --amp-surface: var(--amp-linen-200);
  --amp-surface-raised: var(--amp-white);
  --amp-border: var(--amp-linen-400);
  --amp-hairline: var(--amp-linen-300);
  --amp-text-primary: var(--amp-carbon);
  --amp-text-secondary: var(--amp-ink-700);
  --amp-text-muted: var(--amp-slate-600);
  --amp-accent: var(--amp-gold-deep);
  --amp-on-accent: var(--amp-off-white);
  --amp-accent-hover-fill: var(--amp-carbon);
  --amp-placeholder-a: var(--amp-linen-200);
  --amp-placeholder-b: var(--amp-off-white);
}
:root {
  --amp-space-1: 4px;
  --amp-space-2: 8px;
  --amp-space-3: 12px;
  --amp-space-4: 16px;
  --amp-space-5: 20px;
  --amp-space-6: 24px;
  --amp-space-7: 32px;
  --amp-space-8: 40px;
  --amp-space-9: 56px;
  --amp-space-10: 72px;
  --amp-space-11: 96px;
  --amp-space-12: 144px;
  --amp-radius-0: 0px;
  --amp-radius-icon: 22.37%;
  --amp-radius-favicon: 3px;
  --amp-container: 1200px;
  --amp-margin: clamp(20px,5vw,64px);
  --amp-gutter: 24px;
  --amp-gutter-mobile: 16px;
  --amp-columns: 12;
  --amp-columns-tablet: 8;
  --amp-columns-mobile: 4;
  --amp-section-gap: clamp(88px,11vw,160px);
  --amp-header-h: 76px;
  --amp-header-h-mobile: 64px;
  --amp-bp-sm: 480px;
  --amp-bp-md: 760px;
  --amp-bp-lg: 1024px;
  --amp-bp-xl: 1280px;
  --amp-control-h: 32px;
  --amp-control-h-lg: 36px;
  --amp-control-h-xl: 44px;
  --amp-square-label: 30px;
  --amp-square-frame: 132px;
  --amp-square-frame-inner: 92px;
  --amp-hairline-w: 1px;
  --amp-rule-w: 1px;
  --amp-focus-w: 1px;
  --amp-focus-offset: 3px;
  --font-display: 'Lexend Zetta','Geist',sans-serif;
  --font-sans: 'Geist',system-ui,sans-serif;
  --font-mono: 'Martian Mono',ui-monospace,monospace;
}
.amp-display { font-family: var(--font-display); font-size: 64px; line-height: 1.1; letter-spacing: -0.06em; font-weight: 500; }
.amp-h1 { font-family: var(--font-sans); font-size: 52px; line-height: 1.05; letter-spacing: -0.035em; font-weight: 400; }
.amp-h2 { font-family: var(--font-sans); font-size: 36px; line-height: 1.15; letter-spacing: -0.025em; font-weight: 400; }
.amp-h3 { font-family: var(--font-sans); font-size: 24px; line-height: 1.25; letter-spacing: -0.015em; font-weight: 500; }
.amp-h4 { font-family: var(--font-sans); font-size: 18px; line-height: 1.35; letter-spacing: -0.01em; font-weight: 500; }
.amp-lead { font-family: var(--font-sans); font-size: 22px; line-height: 1.4; letter-spacing: -0.015em; font-weight: 400; }
.amp-body { font-family: var(--font-sans); font-size: 16px; line-height: 1.6; letter-spacing: 0; font-weight: 400; }
.amp-small { font-family: var(--font-sans); font-size: 13px; line-height: 1.5; letter-spacing: 0; font-weight: 400; }
.amp-label { font-family: var(--font-mono); font-size: 11px; line-height: 1.4; letter-spacing: 0.22em; font-weight: 400; }
.amp-meta { font-family: var(--font-mono); font-size: 10px; line-height: 1.4; letter-spacing: 0.16em; font-weight: 400; }
@font-face { font-family: "Lexend Zetta"; src: url("/fonts/lexend-zetta-latin.woff2") format("woff2"); font-weight: 400 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Geist"; src: url("/fonts/geist-latin.woff2") format("woff2"); font-weight: 300 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Martian Mono"; src: url("/fonts/martian-mono-latin.woff2") format("woff2"); font-weight: 300 500; font-style: normal; font-display: swap; }

/* Ampersand Software component stylesheet. Loaded after tokens.css. Values that live in tokens.json are not repeated here. */
:root{
  /* Family names the components use, read from the token families */
  --amp-font-display:var(--font-display);
  --amp-font-sans:var(--font-sans);
  --amp-font-mono:var(--font-mono);

  /* Type variables: the type styles in tokens.json have no variable of these names */
  --amp-fs-display:64px;
  --amp-lh-display:1.1;
  --amp-ls-display:-0.06em;
  --amp-fw-display:500;
  --amp-fs-h1:52px;
  --amp-lh-h1:1.05;
  --amp-ls-h1:-0.035em;
  --amp-fw-h1:400;
  --amp-fs-h2:36px;
  --amp-lh-h2:1.15;
  --amp-ls-h2:-0.025em;
  --amp-fw-h2:400;
  --amp-fs-h3:24px;
  --amp-lh-h3:1.25;
  --amp-ls-h3:-0.015em;
  --amp-fw-h3:500;
  --amp-fs-h4:18px;
  --amp-lh-h4:1.35;
  --amp-ls-h4:-0.01em;
  --amp-fw-h4:500;
  --amp-fs-lead:22px;
  --amp-lh-lead:1.4;
  --amp-ls-lead:-0.015em;
  --amp-fs-body:16px;
  --amp-lh-body:1.6;
  --amp-ls-body:0;
  --amp-fs-small:13px;
  --amp-lh-small:1.5;
  --amp-ls-small:0;
  --amp-fs-label:11px;
  --amp-lh-label:1.4;
  --amp-ls-label:0.22em;
  --amp-fw-label:400;
  --amp-fs-meta:10px;
  --amp-lh-meta:1.4;
  --amp-ls-meta:0.16em;
  --amp-fs-display-mobile:34px;
  --amp-fs-h1-mobile:36px;
  --amp-fs-h2-mobile:28px;
  --amp-fs-h3-mobile:21px;
  --amp-fs-h4-mobile:17px;
  --amp-fs-lead-mobile:19px;
  --amp-fs-body-mobile:16px;
  --amp-fs-small-mobile:13px;
  --amp-fs-label-mobile:11px;
  --amp-ls-lockup:0.5em;
  --amp-ls-endorsement:0.18em;

  /* Motion: tokens.json has no motion family */
  --amp-ease:cubic-bezier(.2,.6,.2,1);
  --amp-dur-fast:160ms;
  --amp-dur-theme:250ms;

  /* Hero sheen: allowed on the hero pixel graphic only. A gradient is not a color token. */
  --amp-sheen-dark:linear-gradient(120deg,#C9A96E 0%,#C9A96E 38%,#E6D2A6 50%,#C9A96E 62%,#C9A96E 100%);
  --amp-sheen-light:linear-gradient(120deg,#7A5F30 0%,#7A5F30 38%,#A68545 50%,#7A5F30 62%,#7A5F30 100%);
}
:root,[data-theme="dark"]{--amp-sheen:var(--amp-sheen-dark);color-scheme:dark}
[data-theme="light"]{--amp-sheen:var(--amp-sheen-light);color-scheme:light}

/* Base element styles and type utility classes. */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{margin:0;background:var(--amp-bg);color:var(--amp-text-primary);font-family:var(--amp-font-sans);font-size:var(--amp-fs-body);line-height:var(--amp-lh-body)}
a{color:var(--amp-accent);text-decoration:none;transition:color var(--amp-dur-fast) var(--amp-ease)}
a:hover{color:var(--amp-text-primary)}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:var(--amp-focus-w) solid var(--amp-accent);outline-offset:var(--amp-focus-offset)}
::selection{background:var(--amp-accent);color:var(--amp-on-accent)}
.amp-display{margin:0;text-wrap:balance}
.amp-h1{margin:0;text-wrap:balance}
.amp-h2{margin:0;text-wrap:balance}
.amp-h3{margin:0}
.amp-h4{margin:0}
.amp-lead{margin:0;text-wrap:pretty}
.amp-body{margin:0;text-wrap:pretty}
.amp-small{margin:0}
.amp-label{text-transform:uppercase}
.amp-meta{text-transform:uppercase;color:var(--amp-text-muted)}
.amp-secondary{color:var(--amp-text-secondary)}
.amp-muted{color:var(--amp-text-muted)}
@media (max-width:759px){
  .amp-display{font-size:var(--amp-fs-display-mobile)}
  .amp-h1{font-size:var(--amp-fs-h1-mobile)}
  .amp-h2{font-size:var(--amp-fs-h2-mobile)}
  .amp-h3{font-size:var(--amp-fs-h3-mobile)}
  .amp-h4{font-size:var(--amp-fs-h4-mobile)}
  .amp-lead{font-size:var(--amp-fs-lead-mobile)}
}
.amp-pixel{display:block;flex:none;shape-rendering:crispEdges}

/* Component classes. Every control is square-cornered, 1px hairline, flat fill. */
.amp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--amp-control-h-lg);padding:0 16px;box-sizing:border-box;border:1px solid transparent;border-radius:0;background:transparent;font-family:var(--amp-font-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color var(--amp-dur-fast) var(--amp-ease),border-color var(--amp-dur-fast) var(--amp-ease),color var(--amp-dur-fast) var(--amp-ease)}
.amp-btn--lg{height:var(--amp-control-h-xl);padding:0 22px}
.amp-btn--primary{background:var(--amp-accent);border-color:var(--amp-accent);color:var(--amp-on-accent)}
.amp-btn--primary:hover{background:var(--amp-accent-hover-fill);border-color:var(--amp-accent-hover-fill);color:var(--amp-bg)}
.amp-btn--secondary{background:var(--amp-surface);border-color:var(--amp-hairline);color:var(--amp-text-primary)}
.amp-btn--secondary:hover{border-color:var(--amp-accent)}
.amp-btn:disabled,.amp-btn[aria-disabled="true"]{opacity:.4;cursor:not-allowed;pointer-events:none}
.amp-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--amp-font-mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--amp-accent)}
.amp-link:hover{color:var(--amp-text-primary)}
.amp-link--quiet{color:var(--amp-text-primary)}
.amp-link--quiet:hover{color:var(--amp-accent)}
.amp-link--inline{font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:none;color:inherit;text-decoration:underline;text-decoration-color:var(--amp-accent);text-decoration-thickness:1px;text-underline-offset:0.18em}
.amp-link--inline:hover{color:var(--amp-accent)}
.amp-chip{display:inline-flex;align-items:center;gap:8px;height:var(--amp-control-h);padding:0 12px;box-sizing:border-box;background:var(--amp-surface);border:1px solid var(--amp-hairline);color:var(--amp-text-primary);font-family:var(--amp-font-mono);font-size:11px;letter-spacing:0.08em;white-space:nowrap;cursor:pointer;transition:border-color var(--amp-dur-fast) var(--amp-ease),color var(--amp-dur-fast) var(--amp-ease)}
.amp-chip:hover{border-color:var(--amp-accent)}
.amp-chip--ghost{background:transparent;color:var(--amp-text-muted)}
.amp-chip--ghost:hover{border-color:var(--amp-hairline);color:var(--amp-text-primary)}
.amp-chip[aria-pressed="true"]{border-color:var(--amp-accent);color:var(--amp-text-primary)}
.amp-chip__dot{width:8px;height:8px;flex:none;background:var(--amp-hairline)}
.amp-chip[aria-pressed="true"] .amp-chip__dot{background:var(--amp-accent)}
.amp-seg{display:inline-flex;border:1px solid var(--amp-hairline)}
.amp-seg__opt{height:var(--amp-control-h);padding:0 14px;border:0;background:transparent;color:var(--amp-text-primary);font-family:var(--amp-font-mono);font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;cursor:pointer}
.amp-seg__opt+.amp-seg__opt{border-left:1px solid var(--amp-hairline)}
.amp-seg__opt[aria-checked="true"]{background:var(--amp-accent);color:var(--amp-on-accent)}
.amp-swatch{display:inline-flex;align-items:center;gap:10px;height:var(--amp-control-h-lg);padding:0 12px 0 6px;box-sizing:border-box;background:var(--amp-surface);border:1px solid var(--amp-hairline);color:var(--amp-text-muted);font-family:var(--amp-font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer}
.amp-swatch:hover{color:var(--amp-text-primary)}
.amp-swatch[aria-pressed="true"]{border-color:var(--amp-accent);color:var(--amp-text-primary)}
.amp-swatch__chip{width:22px;height:22px;box-sizing:border-box;flex:none;border:1px solid var(--amp-hairline)}
.amp-swatch__num{color:var(--amp-text-muted)}
.amp-field{display:flex;flex-direction:column;gap:8px}
.amp-field__label{font-family:var(--amp-font-mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--amp-text-muted)}
.amp-field__hint{font-size:12px;color:var(--amp-text-muted)}
.amp-input,.amp-textarea{width:100%;box-sizing:border-box;background:var(--amp-bg);border:1px solid var(--amp-hairline);border-radius:0;color:var(--amp-text-primary);font-family:var(--amp-font-sans);font-size:14px;outline:none;transition:border-color var(--amp-dur-fast) var(--amp-ease)}
.amp-input{height:var(--amp-control-h-lg);padding:0 12px}
.amp-textarea{min-height:120px;padding:12px;line-height:1.55;resize:vertical}
.amp-input::placeholder,.amp-textarea::placeholder{color:var(--amp-text-muted)}
.amp-input:hover,.amp-textarea:hover{border-color:var(--amp-border)}
.amp-input:focus,.amp-textarea:focus{border-color:var(--amp-accent)}
.amp-input[aria-invalid="true"],.amp-textarea[aria-invalid="true"]{border-color:var(--amp-text-primary)}
.amp-input--mono{font-family:var(--amp-font-mono);font-size:12px}
.amp-square{width:var(--amp-square-label);height:var(--amp-square-label);box-sizing:border-box;flex:none;display:grid;place-items:center;border:1px solid var(--amp-accent);font-family:var(--amp-font-mono);font-size:11px;color:var(--amp-accent)}
.amp-section-label{display:flex;align-items:center;gap:16px}
.amp-section-label__text{font-family:var(--amp-font-mono);font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:var(--amp-text-primary)}
.amp-section-label__rule{flex:1;height:1px;background:var(--amp-hairline)}
.amp-icon-btn{width:34px;height:34px;box-sizing:border-box;padding:0;display:grid;place-items:center;background:transparent;border:1px solid var(--amp-hairline);color:var(--amp-text-primary);cursor:pointer;transition:border-color var(--amp-dur-fast) var(--amp-ease)}
.amp-icon-btn:hover{border-color:var(--amp-accent)}
.amp-endorse{font-family:var(--amp-font-mono);font-size:9.5px;letter-spacing:var(--amp-ls-endorsement);text-transform:uppercase;color:var(--amp-text-muted);white-space:nowrap}

/* Site layout. .amp-site sets a size container so header/footer respond to their own width. */
.amp-site{container-type:inline-size;container-name:amp-site;background:var(--amp-bg);color:var(--amp-text-primary);font-family:var(--amp-font-sans);transition:background-color var(--amp-dur-theme),color var(--amp-dur-theme)}
.amp-container{max-width:var(--amp-container);margin:0 auto;padding-left:var(--amp-margin);padding-right:var(--amp-margin);box-sizing:content-box}
@container amp-site (min-width:0px){.amp-container{padding-left:clamp(20px,5cqi,64px);padding-right:clamp(20px,5cqi,64px)}}
.amp-header{border-bottom:1px solid var(--amp-hairline)}
.amp-header__bar{max-width:var(--amp-container);margin:0 auto;padding:0 clamp(20px,5cqi,64px);height:var(--amp-header-h);display:flex;align-items:center;gap:36px}
.amp-header__logo{display:flex;align-items:center;margin-right:auto;color:inherit}
.amp-header__nav{display:flex;align-items:center;gap:36px}
.amp-header__actions{display:flex;align-items:center;gap:10px}
.amp-header__menu{max-width:var(--amp-container);margin:0 auto;padding:4px clamp(20px,5cqi,64px) 12px;display:flex;flex-direction:column;border-top:1px solid var(--amp-hairline)}
.amp-header__menu-link{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--amp-hairline);font-family:var(--amp-font-mono);font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--amp-text-primary)}
.amp-header__menu-link:last-child{border-bottom:0}
.amp-footer{border-top:1px solid var(--amp-hairline)}
.amp-footer__inner{max-width:var(--amp-container);margin:0 auto;padding:40px clamp(20px,5cqi,64px) 48px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.amp-footer__links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;font-family:var(--amp-font-mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--amp-text-muted)}
.amp-footer__links a{color:var(--amp-text-muted)}
.amp-footer__links a:hover{color:var(--amp-accent)}
.amp-only-narrow,.amp-only-narrow-grid{display:none}
.amp-only-wide{display:contents}
.amp-only-wide-flex{display:flex}
@container amp-site (max-width:759px){
  .amp-header__bar{height:var(--amp-header-h-mobile);gap:16px}
  .amp-only-wide,.amp-only-wide-flex{display:none}
  .amp-only-narrow{display:contents}
  .amp-header__menu.amp-only-narrow{display:flex}
  .amp-only-narrow-grid{display:inline-flex}
  .amp-hero-field{display:none}
}
@container amp-site (min-width:480px) and (max-width:759px){.amp-hero-field{display:block}}

/* Site additions (static build) */
html{scroll-behavior:smooth;scroll-padding-top:24px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{min-height:100vh}
.amp-site{min-height:100vh;display:flex;flex-direction:column}
.amp-site>main.amp-container{flex:1 0 auto;margin:0;max-width:none;padding-left:max(clamp(20px,5cqi,64px),calc((100cqi - var(--amp-container))/2));padding-right:max(clamp(20px,5cqi,64px),calc((100cqi - var(--amp-container))/2))}
.lockup{display:flex;align-items:center}
.lockup__rule{display:block;flex:0 0 auto;width:1px;background:var(--amp-accent)}
.lockup__word{display:block;font-family:var(--amp-font-mono);font-weight:400;letter-spacing:var(--amp-ls-lockup);margin-right:-.5em;line-height:1;white-space:nowrap;color:var(--amp-text-primary)}
.wm-amp{fill:var(--amp-accent)} .wm-letters{fill:var(--amp-text-primary)}
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,6cqi,96px);padding:clamp(64px,10cqi,144px) 0}
.hero__copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:40px}
.hero__title{font-size:clamp(36px,6cqi,72px);max-width:12em}
.hero__links{display:flex;flex-wrap:wrap;gap:14px 32px}
.amp-hero-field{flex:1 1 340px;max-width:480px;min-width:0}
.section{display:flex;flex-direction:column;gap:40px;padding-bottom:clamp(88px,11cqi,160px)}
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:48px 24px}
.product{display:flex;flex-flow:wrap;align-items:center;gap:32px}
.product__frame{width:132px;height:132px;box-sizing:border-box;flex:0 0 auto;border:1px solid var(--amp-accent);display:grid;place-items:center}
.product__tile{width:92px;height:92px;border-radius:21.7%;background:var(--amp-surface);display:grid;place-items:center;font-family:var(--amp-font-mono);font-size:20px;font-weight:400;letter-spacing:.04em;color:var(--amp-text-primary)}
.product__body{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.product__body p{margin:0;font-size:15px;line-height:1.5}
.product__body h3 a{color:var(--amp-text-primary)} .product__body h3 a:hover{color:var(--amp-accent)}
.company{display:flex;flex-direction:column;gap:24px;max-width:860px}
.company .amp-lead{font-size:clamp(22px,2.6cqi,32px);line-height:1.3}
.company .amp-body{max-width:600px}
.contact{border-top:1px solid var(--amp-hairline);border-bottom:1px solid var(--amp-hairline)}
.contact__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 40px;padding:24px 0}
.contact__row+.contact__row{border-top:1px solid var(--amp-hairline)}
.contact__row:first-child{padding:32px 0}
.contact__row .amp-meta{width:120px;flex:none}
.contact__email{font-size:clamp(24px,3.6cqi,44px);letter-spacing:-.02em;line-height:1.1;color:var(--amp-text-primary);overflow-wrap:anywhere}
address{font-style:normal}
.menu-btn{height:34px;padding:0 14px;background:transparent;font-size:10px;letter-spacing:.2em}
.amp-header__menu[hidden]{display:none!important}
.prose{max-width:720px;padding:clamp(48px,8cqi,112px) 0 clamp(88px,11cqi,160px);display:flex;flex-direction:column;gap:20px}
.prose h1{margin-bottom:8px}
.prose h2{margin-top:24px}
.prose p,.prose li{color:var(--amp-text-secondary)}
.prose ul{margin:0;padding-left:20px}
.prose a{color:var(--amp-text-primary);text-decoration:underline;text-decoration-color:var(--amp-accent);text-underline-offset:.18em}
.sheen-hi{stop-color:#E6D2A6}[data-theme="light"] .sheen-hi{stop-color:#A68545}
