@font-face{font-family:"Poiret One";src:url(../fonts/poiret-one-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Josefin Sans";src:url(../fonts/josefin-sans-latin-300-normal.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Josefin Sans";src:url(../fonts/josefin-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Josefin Sans";src:url(../fonts/josefin-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
:root{
  --bk:#070908;--lac:#0e1412;--jade:#0b7a63;--jd:#086650;--jade2:#064a3e;--gold:#d1a94e;--pg:#ebd79b;--iv:#efe6cf;
  --f-d:"Poiret One","Josefin Sans",sans-serif;--f-b:"Josefin Sans",system-ui,sans-serif;
  --cols:12;--m:calc(100vw / 12);--hr:8;--pad:clamp(18px,2.2vw,32px);
}
*{box-sizing:border-box;margin:0}
html{background:var(--bk);-webkit-text-size-adjust:100%}
body{font-family:var(--f-b);font-weight:300;font-size:1.0625rem;line-height:1.6;color:var(--iv);background:var(--bk);overflow-x:hidden;letter-spacing:.01em}
img{display:block;max-width:100%}
a{color:inherit}
.skip{position:absolute;left:8px;top:-60px;background:var(--gold);color:var(--bk);padding:10px 14px;z-index:99}.skip:focus{top:8px}
:focus-visible{outline:2px solid var(--pg);outline-offset:3px}
#kal{position:fixed;left:0;top:0;width:100%;height:100lvh;z-index:0;display:block;background:var(--bk)}
.no-gl #kal{display:none}
.no-gl body{background:radial-gradient(circle at 50% 30%,#064a3e,#070908 70%)}
main,footer{position:relative;z-index:1}

/* header */
.top{position:fixed;z-index:30;left:0;right:0;top:0;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);background:rgba(7,9,8,.9);border-bottom:1.5px solid var(--gold)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:rgba(209,169,78,.5)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--f-d);font-size:1.7rem;line-height:1;letter-spacing:.06em;color:var(--pg)}
.logo svg{width:24px;height:24px;flex:none}
.top nav{display:flex;gap:clamp(14px,2.4vw,34px);align-items:center}
.top nav a{text-decoration:none;font-weight:600;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;padding:8px 0;border-bottom:1px solid transparent}
.top nav a:hover{border-color:var(--gold)}
.top nav a.cta{color:var(--bk);background:var(--gold);padding:10px 18px;border:0}

/* the grid: every block sits in cells of the shader's lattice */
.g{display:grid;grid-template-columns:repeat(var(--cols),var(--m));grid-auto-rows:var(--m);grid-auto-flow:row dense;width:calc(var(--cols) * var(--m))}
.sp{height:calc(var(--m) * var(--s,2))}
.b{position:relative;grid-column:var(--c);grid-row:var(--gr,span var(--r));background:rgba(7,9,8,.94);overflow:hidden;box-shadow:inset 0 0 0 1.5px var(--gold)}
.b::before{content:"";position:absolute;inset:7px;border:1px solid rgba(209,169,78,.5);pointer-events:none;z-index:2}
.b .in{position:relative;padding:calc(var(--pad) + 8px) calc(var(--pad) + 8px);height:100%;display:flex;flex-direction:column;justify-content:center}
.b.top-al .in{justify-content:flex-start}
.b.jd{background:rgba(8,102,80,.97)}
.b.gd{background:var(--gold);color:var(--bk);box-shadow:inset 0 0 0 1.5px var(--pg)}
.b.gd::before{border-color:rgba(7,9,8,.45)}
.b.img::before{inset:7px;border-color:rgba(235,215,155,.7)}
.b.img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.b.img figcaption{position:absolute;left:0;bottom:0;z-index:3;background:var(--bk);color:var(--pg);padding:10px 18px 10px 20px;font-weight:600;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;border-top:1.5px solid var(--gold);border-right:1.5px solid var(--gold)}

.eyebrow{font-weight:600;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px;margin-bottom:16px}
.eyebrow::before{content:"";width:9px;height:9px;border:1.5px solid var(--gold);transform:rotate(45deg);flex:none}
.gd .eyebrow{color:var(--bk)}.gd .eyebrow::before{border-color:var(--bk)}
h1,h2,h3{font-family:var(--f-d);font-weight:400;line-height:.98;letter-spacing:.015em;color:var(--pg)}
h1{font-size:clamp(3rem,6vw,6.6rem)}
h1 em,h2 em{font-style:normal;color:var(--gold)}
h2{font-size:clamp(2.1rem,3.9vw,4.1rem)}
h3{font-size:clamp(1.6rem,2.2vw,2.2rem)}
.gd h2,.gd h3{color:var(--bk)}
.b p+p{margin-top:12px}
.b h3{margin:6px 0 10px}
.lead{font-size:clamp(1.05rem,1.25vw,1.25rem);max-width:34rem}
.num{font-family:var(--f-d);font-size:clamp(2.8rem,4.4vw,4.6rem);line-height:1;color:var(--gold)}
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;padding:15px 24px;background:var(--gold);color:var(--bk);border:0;font-family:var(--f-b);cursor:pointer;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}
.btn.ghost{background:transparent;color:var(--pg);box-shadow:none;position:relative}
.btn.ghost{background:linear-gradient(var(--bk),var(--bk)) padding-box;outline:0;box-shadow:inset 0 0 0 1.5px var(--gold)}
.row{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}

.hero .g{min-height:calc(var(--hr) * var(--m));align-content:end}
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.hero h1 .w span{display:inline-block}
.hero .num{font-size:clamp(2.4rem,3.4vw,3.6rem)}

form{display:grid;gap:14px}
label{font-weight:600;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:grid;gap:6px}
input,select,textarea{font:inherit;font-weight:400;letter-spacing:.01em;text-transform:none;font-size:1rem;padding:12px 14px;border:1px solid rgba(209,169,78,.6);background:rgba(239,230,207,.06);color:var(--iv);width:100%;border-radius:0}
select option{color:#111}
textarea{min-height:90px;resize:vertical}
.demo{display:none;font-weight:600;color:var(--bk);background:var(--pg);padding:12px 16px}.demo.show{display:block}
.mat{list-style:none;padding:0;display:grid;gap:8px;margin-top:14px}
.mat li{display:grid;grid-template-columns:6.5rem 1fr;gap:12px;border-top:1px solid rgba(209,169,78,.4);padding-top:8px;font-size:.98rem}
.mat b{font-weight:600;letter-spacing:.2em;font-size:.7rem;text-transform:uppercase;color:var(--gold);padding-top:3px}

footer{background:var(--bk);border-top:1.5px solid var(--gold);padding:48px var(--pad) 40px}
footer .in{max-width:1200px;margin:0 auto;display:grid;gap:22px}
footer .r{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
footer p{font-size:.9rem;max-width:46rem}

@media (max-width:899px){
  .b{grid-column:var(--cm,1 / -1);grid-row:var(--grm,span var(--rm,var(--r)))}
  .top nav a:not(.cta){display:none}
}
@media (max-width:640px){
  :root{--pad:14px}
  body{font-size:1rem}
  .top{height:56px}
  .logo{font-size:1.35rem}
  .b .in{padding:22px}
  .mat li{grid-template-columns:5.2rem 1fr}
  h1{font-size:clamp(2.6rem,14vw,4rem)}
  .sp{height:calc(var(--m) * var(--sm,1))}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
form.b{display:block}
