/* Open Props (subset: only the tokens this site uses) + Lukki theme layer */
:root{
  /* --- Open Props: sizes --- */
  --size-1:.25rem;--size-2:.5rem;--size-3:1rem;--size-4:1.25rem;--size-5:1.5rem;
  --size-6:1.75rem;--size-7:2rem;--size-8:3rem;--size-9:4rem;--size-10:5rem;
  --size-fluid-1:clamp(.5rem,1vw,1rem);
  --size-fluid-2:clamp(1rem,2vw,1.5rem);
  --size-fluid-3:clamp(1.5rem,3vw,2rem);
  --size-fluid-4:clamp(2rem,4vw,3rem);
  --size-content-3:60ch;

  /* --- Open Props: radii --- */
  --radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-round:1e5px;

  /* --- Open Props: borders --- */
  --border-size-1:1px;--border-size-2:2px;--border-size-3:5px;

  /* --- Open Props: type --- */
  --font-weight-4:400;--font-weight-5:500;--font-weight-6:600;--font-weight-7:700;
  --font-size-0:.75rem;--font-size-1:1rem;--font-size-2:1.1rem;--font-size-3:1.25rem;
  --font-size-4:1.5rem;--font-size-5:2rem;--font-size-6:2.5rem;
  --font-size-fluid-1:clamp(1rem,4vw,1.5rem);
  --font-size-fluid-2:clamp(1.5rem,6vw,2.5rem);
  --font-size-fluid-3:clamp(2rem,9vw,3.5rem);
  --font-lineheight-0:.95;--font-lineheight-1:1.25;--font-lineheight-3:1.5;--font-lineheight-4:1.75;
  --font-letterspacing-0:-.05em;--font-letterspacing-2:.050em;--font-letterspacing-3:.075em;

  /* --- Open Props: motion --- */
  --ease-2:cubic-bezier(.25,0,.4,1);
  --ease-3:cubic-bezier(.25,0,.3,1);
  --ease-out-3:cubic-bezier(0,0,.3,1);
  --ease-elastic-3:cubic-bezier(.5,1.25,.75,1.25);

  /* --- Open Props: layers --- */
  --layer-1:1;--layer-2:2;--layer-3:3;--layer-4:4;--layer-5:5;

  /* --- Open Props: shadows --- */
  --shadow-color:0 0% 0%;
  --shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/.5),0 7px 14px -5px hsl(var(--shadow-color)/.45);
  --shadow-4:0 -1px 2px 0 hsl(var(--shadow-color)/.3),0 8px 16px -4px hsl(var(--shadow-color)/.45),
             0 16px 32px -8px hsl(var(--shadow-color)/.4);

  /* --- Lukki brand layer (source: lukki.com stylesheet + img/logo.jpg) --- */
  --lk-gold:#EBD197;          /* brand light gold */
  --lk-gold-deep:#BB9B49;     /* brand deep gold */
  --lk-navy:#102756;          /* brand deep navy */
  --lk-blue:#1E489C;          /* brand blue */
  --lk-ink:#F1F1F2;           /* brand off-white */

  --lk-bg:#08090b;
  --lk-surface:#121319;
  --lk-surface-2:#191b23;
  --lk-line:#2b2e39;
  --lk-line-soft:#21242d;
  --lk-text:var(--lk-ink);
  --lk-muted:#a2a6b4;
  --lk-on-gold:#14151a;

  --lk-shell:min(1220px,100% - 2*var(--lk-gut));
  --lk-gut:16px;
  --lk-font:"Space Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --lk-font-2:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (min-width:768px){:root{--lk-gut:24px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--lk-bg);color:var(--lk-text);
  font-family:var(--lk-font);font-size:var(--font-size-1);
  line-height:var(--font-lineheight-4);-webkit-font-smoothing:antialiased;
  overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column;
}
img,svg{max-width:100%}
img{height:auto;display:block}
h1,h2,h3,h4{line-height:var(--font-lineheight-1);margin:0 0 var(--size-3);font-weight:var(--font-weight-7);letter-spacing:var(--font-letterspacing-0)}
h1{font-size:var(--font-size-fluid-3)}
h2{font-size:clamp(1.55rem,4.2vw,2.2rem)}
h3{font-size:var(--font-size-3)}
h4{font-size:var(--font-size-2)}
p{margin:0 0 var(--size-3)}
ul,ol{margin:0 0 var(--size-3);padding-left:var(--size-5)}
li{margin-bottom:var(--size-2)}
a{color:var(--lk-gold);text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--lk-gold);outline-offset:2px}
table{border-collapse:collapse;width:100%}
.lk-shell{width:var(--lk-shell);margin-inline:auto}
.lk-sec{padding-block:var(--size-fluid-4)}
.lk-sec--tight{padding-block:var(--size-fluid-3)}
.lk-sec--alt{background:var(--lk-surface)}
.lk-lead{color:var(--lk-muted)}
.lk-small{font-size:var(--font-size-0);color:var(--lk-muted);line-height:var(--font-lineheight-3)}
.lk-eyebrow{font-size:var(--font-size-0);letter-spacing:var(--font-letterspacing-3);text-transform:uppercase;color:var(--lk-gold-deep);font-weight:var(--font-weight-7);margin:0 0 var(--size-2)}
.i{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.17em}
.i-lg{width:1.6em;height:1.6em}
.lk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
