@font-face {
  font-family: "Rigmer Sans";
  src: url("/fonts/roboto-regular-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Rigmer Sans";
  src: url("/fonts/roboto-black-latin.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --ink: #101010;
  --paper: #f5f3ee;
  --muted: #c7c2b9;
  --quiet: #a39e95;
  --yellow: #ffbe0b;
  --alert: #ff9d8a;
  --backdrop: #000;
  --line: rgba(245,243,238,.42);
  --gutter: clamp(28px, 4.25vw, 100px);
  --ease: cubic-bezier(.22, 1, .36, 1);
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
/* The backdrop matches the hero image's black so the image has no visible edges. */
html { background: var(--backdrop); }
body {
  margin: 0;
  font-family: "Rigmer Sans", Arial, Helvetica, sans-serif;
  color: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid var(--yellow); outline-offset: 8px; }
::selection { background: var(--yellow); color: var(--ink); }
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 20;
  padding: 14px 20px;
  color: var(--ink);
  background: var(--yellow);
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }
/* Desktop is a single screen: every vertical measure also scales with the
   viewport height so the signup form and footer never fall below the fold. */
.page {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100vh;
  min-height: 100svh;
  padding: max(clamp(20px, 4.4vh, 42px), env(safe-area-inset-top)) var(--gutter) max(clamp(14px, 3.2vh, 34px), env(safe-area-inset-bottom));
  background: var(--backdrop);
}
.site-header, .site-footer, .hero-copy, .notify, .launch-action { position: relative; z-index: 2; }
.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}
.brand { display: inline-flex; padding-block: 10px; }
.brand svg { display: block; width: clamp(200px, 18.7vw, 340px); height: auto; }
/* Footer actions: three matching icon links, the social profiles and then the
   WhatsApp customer-service chat. No labels and no boxes. */
/* The negative margin lines the last glyph up with the end of the footer rule;
   its tap area extends into the page gutter. */
.footer-actions { display: flex; align-items: center; gap: 2px; margin-right: -12px; }
.social-links { display: flex; align-items: center; gap: 2px; }
.social-links a, .whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: var(--muted);
  transition: color .2s;
}
.glyph { display: block; flex: none; width: 20px; height: 20px; fill: currentColor; }
.whatsapp:focus-visible, .social-links a:focus-visible { outline-offset: 3px; }
.hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-block: clamp(14px, 4vh, 86px);
}
.hero:focus { outline: none; }
.eyebrow {
  margin: 0 0 clamp(12px, 2.5vh, 25px);
  color: var(--muted);
  font-size: clamp(13px, min(1.32vw, 2.3vh), 21px);
  line-height: 1.5;
  letter-spacing: .22em;
  text-transform: uppercase;
}
h1 {
  margin: 0;
  max-width: 48vw;
  font-size: clamp(56px, min(8.2vw, 12.2vh), 168px);
  font-weight: 900;
  line-height: .87;
  letter-spacing: -.055em;
}
.headline-lead, .headline-work, .headline-ahead { display: block; }
.product-range {
  margin: clamp(14px, 2.5vh, 25px) 0 0;
  color: var(--muted);
  font-size: clamp(15px, min(1.18vw, 2.2vh), 20px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .035em;
}
.product-pair { white-space: nowrap; }
.separator { padding-inline: .1em; }
.scene {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  background: var(--backdrop);
}
.scene picture, .scene img { display: block; width: 100%; height: 100%; }
/* The bucket edge sits at the far right of the frame, so cropping always keeps that side. */
.scene img { object-fit: cover; object-position: right center; }
/* The image is black wherever copy sits; it is shown as supplied, with no overlay. */
.scene-shade { display: none; }
.notify {
  --field: clamp(52px, 6vh, 64px);
  width: min(100%, clamp(440px, 31vw, 580px));
  margin: clamp(18px, 3.8vh, 40px) 0 0;
}
.notify-lead {
  margin: 0 0 clamp(10px, 1.7vh, 14px);
  color: var(--muted);
  font-size: clamp(15px, 1.02vw, 19px);
  line-height: 1.5;
  letter-spacing: .02em;
  text-wrap: balance;
}
.notify-lead strong { color: var(--paper); font-weight: 900; }
.notify-row { display: flex; }
.notify-row input {
  flex: 1;
  min-width: 0;
  height: var(--field);
  padding: 0 18px;
  border: 1px solid var(--line);
  border-right: 0;
  border-radius: 2px 0 0 2px;
  background: rgba(16,16,16,.66);
  color: var(--paper);
  font: inherit;
  font-size: clamp(16px, 1vw, 18px);
  letter-spacing: .01em;
  transition: border-color .2s, background-color .2s;
  appearance: none;
}
.notify-row input::placeholder { color: var(--quiet); opacity: 1; }
.notify-row input:focus-visible {
  outline: 2px solid var(--yellow);
  outline-offset: -2px;
  border-color: var(--yellow);
  background: rgba(16,16,16,.86);
}
.notify-row input:-webkit-autofill {
  -webkit-text-fill-color: var(--paper);
  box-shadow: 0 0 0 100px #181818 inset;
  caret-color: var(--paper);
}
.notify-row button {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: var(--field);
  padding: 0 clamp(20px, 1.5vw, 28px);
  border: 0;
  border-radius: 0 2px 2px 0;
  background: var(--yellow);
  color: var(--ink);
  font: inherit;
  font-size: clamp(16px, 1vw, 18px);
  font-weight: 900;
  letter-spacing: -.005em;
  cursor: pointer;
  transition: background-color .25s;
}
.notify-row button:focus-visible { outline: 2px solid var(--paper); outline-offset: 3px; }
.notify-row button:disabled { opacity: .72; cursor: progress; }
.notify-row .arrow { width: 22px; height: 22px; }
.notify-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.notify-note {
  margin: 11px 0 0;
  color: var(--quiet);
  font-size: clamp(12px, .78vw, 14px);
  line-height: 1.5;
  letter-spacing: .04em;
}
.notify-message { margin: 10px 0 0; font-size: 14px; line-height: 1.5; letter-spacing: .01em; }
.notify-message:empty { display: none; }
.notify-message:focus { outline: none; }
.notify-message[data-state="error"] { color: var(--alert); }
.notify.is-done .notify-lead, .notify.is-done .notify-row, .notify.is-done .notify-note { display: none; }
.notify-message[data-state="success"] {
  margin: 0;
  padding: 4px 0 4px 16px;
  border-left: 2px solid var(--yellow);
  color: var(--paper);
  font-size: 17px;
}
.launch-action { margin-top: 33px; }
.launch-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 38px;
  min-width: 266px;
  min-height: 58px;
  padding: 17px 22px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: var(--yellow);
  color: var(--ink);
  font-size: 17px;
  font-weight: 900;
  letter-spacing: -.005em;
  transition: background-color .25s, transform .35s var(--ease), box-shadow .35s;
}
.arrow { width: 24px; height: 24px; flex: none; transition: transform .35s var(--ease); }
.launch-button:focus-visible { outline-offset: 5px; outline-color: var(--paper); }
.launch-button:active { transform: translateY(1px); }
.site-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding-top: clamp(6px, 1.6vh, 16px);
  border-top: 1px solid rgba(245,243,238,.34);
  font-size: clamp(12px, .74vw, 14px);
  line-height: 1.3;
}
/* Symbol: at least 32px wide with 0.15x clear space, per the brand rules. */
.domain { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; letter-spacing: .34em; }
.domain .symbol { display: block; flex: none; width: clamp(36px, 2.5vw, 48px); height: auto; }
@media (hover: hover) {
  .launch-button:hover { background: #ffce40; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,.18); }
  .launch-button:hover .arrow { transform: translate(2px,-2px); }
  .notify-row button:hover:not(:disabled) { background: #ffce40; }
  .notify-row button:hover:not(:disabled) .arrow { transform: translateX(3px); }
  .notify-row input:hover { border-color: rgba(245,243,238,.7); }
  .social-links a:hover, .domain:hover, .whatsapp:hover { color: var(--yellow); }
}
@media (min-width: 900px) and (max-aspect-ratio: 4/3) {
  h1 { font-size: clamp(56px, min(8vw, 12.2vh), 118px); }
}
/* Short desktop windows: tighten the fixed-height pieces so the page still fits. */
@media (min-width: 900px) and (max-height: 700px) {
  .notify { --field: 48px; }
  .notify-lead { font-size: 14px; }
  .notify-note { margin-top: 8px; }
  .domain { min-height: 36px; }
  .social-links a, .whatsapp { width: 36px; height: 36px; }
  .footer-actions { margin-right: -8px; }
  .brand { padding-block: 6px; }
}
/* Phones and tablets are a single screen too: copy at the top, signup at the
   bottom, and the hero image scaled to fill whatever height is left between. */
@media (max-width: 899px) {
  :root { --gutter: clamp(24px, 6.6vw, 52px); }
  .page { padding-top: max(18px, env(safe-area-inset-top)); padding-bottom: max(16px, env(safe-area-inset-bottom)); }
  .site-header { gap: 14px; }
  .brand svg { width: clamp(132px, 28vw, 225px); }
  .hero { justify-content: flex-start; padding-block: clamp(16px, 3.6svh, 44px) clamp(14px, 2.4svh, 24px); }
  .hero-copy { order: 1; }
  .scene { order: 2; }
  .notify, .launch-action { order: 3; }
  .eyebrow { font-size: clamp(11px, 2vw, 15px); letter-spacing: .2em; margin-bottom: clamp(12px, 2.4svh, 21px); }
  h1 { max-width: none; font-size: clamp(49px, 10.55vw, 91px); line-height: .97; letter-spacing: -.06em; }
  .headline-lead { display: block; }
  .headline-work, .headline-ahead { display: inline; }
  .headline-ahead { margin-left: .08em; }
  .product-range { margin-top: clamp(12px, 2.2svh, 20px); font-size: clamp(13px, 2.62vw, 17px); line-height: 1.6; letter-spacing: .025em; }
  .product-pair { white-space: normal; }
  .notify { --field: 52px; width: min(100%, 520px); margin-top: 0; }
  .notify-lead { font-size: 15px; margin-bottom: 12px; }
  .notify-note { font-size: 12px; margin-top: 8px; }
  .notify-row input, .notify-row button { font-size: 16px; }
  /* The box is only the free space between copy and form. The same 16:9 frame
     is drawn from the top of the page down to that space, anchored so the
     tooth tip and its reflection (76%-84% of the frame) end just above the form
     and the bucket edge runs up the right side, clear of the headline. */
  .page { overflow: hidden; overflow: clip; }
  .scene {
    position: relative;
    inset: auto;
    align-self: stretch;
    flex: 1 1 0;
    min-height: 150px;
    margin: 0 calc(-1 * var(--gutter));
    overflow: visible;
    background: none;
  }
  .scene picture {
    /* Sized from the viewport height; the width floor keeps it visible on landscape phones. */
    --hero-h: max(calc((100vh - 150px) / .84), 62vw);
    position: absolute;
    inset: auto;
    right: -10vw;
    bottom: calc(10px - var(--hero-h) * .16);
    width: auto;
    height: var(--hero-h);
    aspect-ratio: 1672 / 941;
  }
  @supports (height: 100svh) {
    .scene picture { --hero-h: max(calc((100svh - 150px) / .84), 62vw); }
  }
  .launch-action { width: 100%; margin-top: 28px; }
  .launch-button { width: 100%; min-height: 58px; padding-inline: 22px; font-size: 16px; }
  .site-footer { padding-top: 10px; font-size: 10px; gap: 15px; }
  .domain { gap: 12px; letter-spacing: .22em; }
  .domain .symbol { width: 32px; }
}
/* Four footer icons: tighter targets on phones, and below 360px the symbol stands alone. */
@media (max-width: 419px) {
  .social-links a, .whatsapp { width: 40px; }
  .footer-actions { margin-right: -10px; }
}
@media (max-width: 359px) {
  .domain span { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  h1 { font-size: 10.7vw; }
  .notify-row button { padding-inline: 16px; }
  .notify-row .arrow { display: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-copy { animation: reveal .9s var(--ease) both; }
  .notify, .launch-action { animation: reveal .9s .12s var(--ease) both; }
  @keyframes reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  .page { min-height: auto; background: white; color: black; padding: 30px; }
  .scene, .notify, .launch-action, .skip-link, .footer-actions { display: none; }
  .hero { padding-block: 50px; }
  .brand svg path, .domain .symbol path { fill: black; }
  .eyebrow, .product-range { color: black; }
  .site-footer { border-color: black; }
}

.privacy-document{background:#f5f3ee;color:#171717;padding:clamp(32px,6vw,88px) clamp(24px,5vw,88px);line-height:1.7;font-size:16px}
.privacy-intro,.privacy-layout{max-width:1240px;margin-inline:auto}
.privacy-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:900;margin:0 0 20px;text-transform:uppercase}
.privacy-intro h1{font-size:clamp(44px,6vw,80px);line-height:1.05;letter-spacing:-.05em;margin:0 0 24px;max-width:none;color:inherit}
.privacy-lead{font-size:clamp(19px,2vw,25px);line-height:1.5;max-width:720px;margin:0 0 20px}
.privacy-date{font-size:13px;color:#64645d;margin:0 0 32px}
.privacy-summary{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:26px 0;border-block:1px solid #d7d5ce;margin-bottom:60px}
.privacy-summary p{margin:0;max-width:520px}.privacy-summary strong{display:block;margin-bottom:6px}
.privacy-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;align-items:start}
.privacy-rail{position:sticky;top:24px}.privacy-contents summary{font-size:13px;cursor:pointer;font-weight:700}.privacy-contents nav{display:grid;gap:9px;padding-top:16px;font-size:13px}.privacy-contents a{color:#66665e;text-decoration:none;min-height:28px;display:flex;align-items:center}
.privacy-contents a:hover{color:#171717}.privacy-body section{scroll-margin-top:30px;border-bottom:1px solid #d7d5ce;padding-bottom:38px;margin-bottom:38px}.privacy-body section:last-child{border:0;margin-bottom:0}
.privacy-number{color:#76766d;font-size:12px;letter-spacing:.08em;margin:0 0 10px}.privacy-body h2{font-size:clamp(24px,2.4vw,31px);line-height:1.25;letter-spacing:-.035em;margin:0 0 22px;color:inherit}.privacy-body p{margin:0 0 17px}.privacy-body ul{padding-left:22px;margin:0 0 22px}.privacy-body li{padding-left:5px;margin-bottom:12px}.privacy-body a,.privacy-choice-link{color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.privacy-body code{font-size:13px;overflow-wrap:anywhere}
.privacy-data-list{margin:0 0 24px}.privacy-data-list>div{display:grid;grid-template-columns:160px 1fr;gap:22px;border-top:1px solid #d7d5ce;padding:18px 0}.privacy-data-list dt{font-weight:700;line-height:1.5}.privacy-data-list dd{margin:0}.privacy-choice-link{border:0;background:none;padding:10px 0;font:inherit;cursor:pointer}.privacy-document a:focus-visible,.privacy-document button:focus-visible{outline:2px solid #9a6500;outline-offset:4px}
@media(min-width:980px){.privacy-contents::details-content{content-visibility:visible;display:block}.privacy-contents:not([open])>nav{display:grid}.privacy-contents summary{list-style:none;pointer-events:none}.privacy-contents summary::-webkit-details-marker{display:none}}
@media(max-width:979px){.privacy-layout{grid-template-columns:1fr;gap:32px}.privacy-rail{position:static}.privacy-contents{border-bottom:1px solid #d7d5ce;padding-bottom:20px}.privacy-contents nav{grid-template-columns:1fr 1fr}.privacy-summary{margin-bottom:30px;gap:20px}.privacy-data-list>div{grid-template-columns:1fr;gap:8px}}
@media(max-width:520px){.privacy-document{font-size:15px;padding:36px 24px}.privacy-summary{grid-template-columns:1fr}.privacy-contents nav{font-size:12px}.privacy-body section{padding-bottom:28px;margin-bottom:28px}}


.footer-legal{display:flex;align-items:center;justify-content:center;gap:20px}.footer-legal a,.footer-legal button{font:inherit;color:inherit;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.footer-legal button{border:0;background:none;padding:0;cursor:pointer}.footer-legal button:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}.notify-note a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.policy-page{background:#f5f3ee;color:#171717}.policy-header{background:#000;color:#f5f3ee;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px var(--gutter)}.policy-header .brand svg{width:180px}.policy-back{font-size:13px;min-height:44px;display:flex;align-items:center;gap:16px}.policy-footer{background:#000;color:#f5f3ee;padding:24px var(--gutter)}
.privacy-dialog{max-width:480px;width:calc(100% - 36px);border:1px solid #d7d5ce;border-radius:18px;background:#f5f3ee;color:#171717;padding:32px;box-shadow:0 24px 90px #0003;font:16px/1.6 "Rigmer Sans",Arial,sans-serif}.privacy-dialog::backdrop{background:#0008}.privacy-dialog h2{font-size:30px;line-height:1.15;letter-spacing:-.035em;margin:0 0 20px}.privacy-dialog>p{margin-bottom:18px}.privacy-dialog a{font-size:13px;text-decoration:underline;text-underline-offset:3px}.privacy-dialog-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;background:none;color:#171717;font:26px Arial;cursor:pointer}.privacy-dialog-actions{display:flex;gap:12px;margin:24px 0 20px}.privacy-dialog-actions button{min-height:48px;flex:1;font:14px "Rigmer Sans",Arial,sans-serif;border:1px solid #aaa79d;background:none;border-radius:6px;padding:10px;cursor:pointer;color:#171717}.privacy-dialog-actions button:hover:not(:disabled){background:#e8e5dd}.privacy-dialog-actions button:disabled{opacity:.5;cursor:default}.privacy-dialog button:focus-visible{outline:2px solid #9a6500;outline-offset:3px}.privacy-dialog [data-cookie-status]{font-size:13px;color:#626259}
@media(max-width:899px){.site-footer{flex-wrap:wrap;column-gap:12px;row-gap:0}.site-footer>.footer-legal{order:3;width:100%;justify-content:flex-start;font-size:12px;gap:22px}.policy-footer>.footer-legal{order:0}.policy-header{padding-block:14px}.policy-header .brand svg{width:135px}.policy-footer{font-size:12px}.privacy-dialog{padding:30px 24px}.privacy-dialog-actions{gap:8px}}
@media print{.privacy-rail,.policy-header,.policy-footer,.privacy-dialog{display:none}.privacy-layout{display:block}.privacy-document{padding:0;background:white;color:black;font-size:11pt}.privacy-summary{margin-bottom:25px}.privacy-body section{break-inside:avoid}}
