/* ============================================================
   DORNISH — DESIGN TOKENS
   A living-ingredient palette: cream fields, root-vegetable
   accents, deep greenhouse green. No corporate blue.
   ============================================================ */

:root{
  /* ---- surface ---- */
  --cream:        #F8F2E4;
  --cream-deep:   #F0E4C9;
  --cream-line:   #E4D6B4;
  --paper:        #FCF9F1;

  /* ---- ink ---- */
  --ink:          #211D16;
  --ink-soft:     #4B4436;
  --ink-faint:    #8C8371;

  /* ---- brand ---- */
  --green:        #2C4F31;
  --green-deep:   #1B331F;
  --green-bright: #6E9B5B;
  --carrot:       #D9722A;
  --carrot-deep:  #B8591C;
  --onion:        #6C4E73;
  --gold:         #D2A24A;
  --earth:        #4A3524;

  /* ---- dark section ---- */
  --night:        #14120E;
  --night-2:      #1E1B14;
  --night-line:   #35301F;

  /* ---- glass ---- */
  --glass-bg:     rgba(252, 249, 241, 0.55);
  --glass-brd:    rgba(255, 255, 255, 0.45);
  --glass-bg-dark:rgba(30, 27, 20, 0.55);
  --glass-brd-dark:rgba(255, 255, 255, 0.08);

  /* ---- type ---- */
  --f-display: 'Outfit', sans-serif;
  --f-body:    'Manrope', sans-serif;

  /* ---- scale ---- */
  --radius-s:  14px;
  --radius-m:  22px;
  --radius-l:  36px;
  --ease-out:  cubic-bezier(.16,1,.3,1);
  --ease-soft: cubic-bezier(.25,.8,.25,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }

html{
  background:var(--cream);
  scroll-behavior:auto;
}

html.no-scroll, body.no-scroll{ overflow:hidden; height:100%; }

body{
  font-family:var(--f-body);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-height:1.5;
}

img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; border:none; background:none; cursor:pointer; color:inherit; }
ul{ list-style:none; }

::selection{ background:var(--carrot); color:var(--paper); }

h1,h2,h3,h4{
  font-family:var(--f-display);
  font-weight:700;
  letter-spacing:-0.02em;
  color:var(--ink);
  line-height:1.04;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-family:var(--f-body);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--green);
}
.eyebrow::before{
  content:'';
  width:22px; height:1px;
  background:var(--carrot);
}

.container{
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding:0 clamp(20px, 5vw, 64px);
}

/* focus visibility */
a:focus-visible, button:focus-visible{
  outline:2px solid var(--carrot);
  outline-offset:3px;
  border-radius:6px;
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

::-webkit-scrollbar{ width:9px; }
::-webkit-scrollbar-track{ background:var(--cream); }
::-webkit-scrollbar-thumb{ background:var(--cream-line); border-radius:10px; }

/* noise / grain overlay used across sections */
.grain{
  position:absolute; inset:0;
  pointer-events:none;
  opacity:.05;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
