/* REGICODE Cyprus — critical.css (inlined in <head>) */

@font-face{font-family:"Söhne";src:url("../fonts/sohne-buch.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Söhne";src:url("../fonts/sohne-kraftig.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Söhne";src:url("../fonts/sohne-halbfett.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Söhne";src:url("../fonts/sohne-dreiviertelfett.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Söhne Mono";src:url("../fonts/sohne-mono-buch.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --c-dark:#1D201F;
  --c-bg:#F4F4F6;
  --c-surface:#F2F2F2;
  --c-dark-2:#2A2D2C;
  --c-muted:rgba(29,32,31,.58);
  --c-on-dark:#FAFAFA;
  --c-on-dark-muted:rgba(250,250,250,.62);
  --c-border:rgba(29,32,31,.14);
  --c-border-dark:rgba(250,250,250,.14);

  --f-sans:"Söhne",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"Söhne Mono","JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;

  --fs-label:.72rem;
  --fs-body:1rem;
  --fs-lead:clamp(1.05rem,1.6vw,1.25rem);
  --fs-h3:clamp(1.25rem,2vw,1.5rem);
  --fs-h2:clamp(1.8rem,3.6vw,2.75rem);
  --fs-h1:clamp(2.4rem,5.6vw,4.75rem);
  --fs-display:clamp(3rem,9vw,7.5rem);

  --s-1:.25rem;--s-2:.5rem;--s-3:1rem;--s-4:1.5rem;--s-5:2rem;
  --s-6:3rem;--s-7:4rem;--s-8:6rem;--s-9:8rem;--s-10:10rem;

  --container:1440px;
  --gutter:clamp(1rem,4vw,2.5rem);

  --lh-tight:1.08;
  --lh-heading:1.12;
  --lh-body:1.55;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border-radius:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--f-sans);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--c-dark);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-synthesis:none;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{background:none;border:0;cursor:pointer;font:inherit;color:inherit}
::selection{background:var(--c-dark);color:var(--c-bg)}

.mono{font-family:var(--f-mono);letter-spacing:.02em}
.label{font-family:var(--f-mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted)}
.label--on-dark{color:var(--c-on-dark-muted)}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}

/* ---------- NAV ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(244,244,246,.82);
  backdrop-filter:saturate(1.4) blur(12px);
  -webkit-backdrop-filter:saturate(1.4) blur(12px);
  border-bottom:1px solid var(--c-border);
}
.nav__inner{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:var(--s-3);padding-bottom:var(--s-3);gap:var(--s-5);
}
.nav__brand{display:flex;align-items:center;gap:var(--s-3);min-width:0}
.nav__logo{height:18px;width:auto;flex-shrink:0}
.nav__descriptor{
  font-family:var(--f-mono);font-size:var(--fs-label);
  letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted);
  border-left:1px solid var(--c-border);padding-left:var(--s-3);
  white-space:nowrap;
}
.nav__links{display:none;gap:var(--s-5);list-style:none}
.nav__links a{font-size:.95rem;position:relative;padding:var(--s-2) 0;transition:color .2s}
.nav__links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--c-dark);transition:right .3s cubic-bezier(.2,.8,.2,1);
}
.nav__links a:hover::after{right:0}
.nav__cta{
  display:inline-flex;align-items:center;gap:var(--s-2);
  padding:.7rem 1.2rem;background:var(--c-dark);color:var(--c-on-dark);
  font-weight:500;font-size:.95rem;transition:transform .15s,background .2s;
  white-space:nowrap;
}
.nav__cta:hover{background:var(--c-dark-2)}
.nav__cta:active{transform:translateY(1px)}

@media(min-width:880px){
  .nav__links{display:flex}
}

/* ---------- HERO ---------- */
.hero{padding:var(--s-7) 0 var(--s-8)}
.hero__grid{display:grid;grid-template-columns:1fr;gap:var(--s-6);align-items:end}
.hero__eyebrow{margin-bottom:var(--s-4)}
.hero__h1{
  font-size:var(--fs-h1);font-weight:700;
  line-height:var(--lh-tight);letter-spacing:-.02em;
  margin-bottom:var(--s-4);
}
.hero__h1 em{font-style:italic;font-weight:500;color:var(--c-muted)}
.hero__sub{
  font-size:var(--fs-lead);line-height:1.5;max-width:52ch;
  color:var(--c-dark);margin-bottom:var(--s-5);
}
.hero__ctas{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-bottom:var(--s-4)}
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:1rem 1.4rem;font-weight:500;font-size:1rem;
  transition:transform .15s,background .2s,color .2s,border-color .2s;
  border:1px solid transparent;
}
.btn--primary{background:var(--c-dark);color:var(--c-on-dark)}
.btn--primary:hover{background:var(--c-dark-2)}
.btn--secondary{background:transparent;color:var(--c-dark);border-color:var(--c-dark)}
.btn--secondary:hover{background:var(--c-dark);color:var(--c-on-dark)}
.btn:active{transform:translateY(1px)}
.btn__arrow{display:inline-block;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.btn:hover .btn__arrow{transform:translateX(4px)}

.hero-card{
  background:var(--c-dark);color:var(--c-on-dark);
  padding:var(--s-5) var(--s-5) var(--s-6);
  display:flex;flex-direction:column;gap:var(--s-4);
  border:1px solid var(--c-dark-2);
  position:relative;overflow:hidden;
}
.hero-card__label{
  font-family:var(--f-mono);font-size:var(--fs-label);letter-spacing:.1em;
  text-transform:uppercase;color:var(--c-on-dark-muted);
  padding-bottom:var(--s-3);border-bottom:1px solid var(--c-border-dark);
}
.hero-card__number{
  font-size:var(--fs-display);font-weight:700;line-height:.95;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
}
.hero-card__desc{font-size:1.05rem;color:var(--c-on-dark-muted);max-width:36ch}
.hero-card__stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-2);border-top:1px solid var(--c-border-dark);padding-top:var(--s-4)}
.hero-card__stat-value{font-family:var(--f-mono);font-size:1.2rem;font-weight:500;font-variant-numeric:tabular-nums}
.hero-card__stat-label{font-family:var(--f-mono);font-size:var(--fs-label);color:var(--c-on-dark-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.3rem}

@media(min-width:1024px){
  .hero{padding:var(--s-8) 0 var(--s-9)}
  .hero__grid{grid-template-columns:1.15fr .85fr;gap:var(--s-6)}
}

/* Accessible focus ring */
:focus-visible{outline:2px solid var(--c-dark);outline-offset:3px}
.btn--primary:focus-visible,.nav__cta:focus-visible{outline-color:var(--c-dark);outline-offset:4px}

/* Prevent FOUC for below-fold animated bits */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
}

/* ---------- MOBILE NAV (below 880px) ---------- */
@media(max-width:879.98px){
  .nav__inner{gap:var(--s-3)}
  .nav__brand{gap:var(--s-2);flex:1 1 auto;min-width:0}
  .nav__descriptor{display:none}
  .nav__cta{padding:.55rem 1rem;font-size:.9rem;gap:.35rem}
  .nav__cta .btn__arrow{display:none}
}
@media(max-width:380px){
  .nav__cta{padding:.5rem .8rem;font-size:.82rem}
  .nav__inner{gap:var(--s-2)}
}
