@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300;0,400;0,500;1,300&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap');

/* -
   TOKENS
- */
:root {
  --ink:    #1d1d1b;
  --mid:    #6e6e6a;
  --faint:  #b8b6b0;
  --border: #e8e6e1;
  --off:    #f6f5f2;
  --paper:  #eeece8;
  --white:  #ffffff;
  --orange: #E8471A;
  --oh:     #d03d12;
  --ot:     rgba(232,71,26,0.08);
  --otb:    rgba(232,71,26,0.16);
  --sans:   'Figtree', -apple-system, sans-serif;
  --serif:  'Cormorant Garamond', Georgia, serif;
  --ease:   cubic-bezier(0.22, 1, 0.36, 1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--white);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* -
   THE ORANGE DOT -- used everywhere
- */

/* Wordmark dot */
.wm{display:inline-flex;align-items:baseline;user-select:none;}
.wm-t{font-family:var(--sans);font-weight:300;letter-spacing:-0.01em;color:var(--ink);}
.wm-t.inv{color:#fff;}
.wm-dot{
  display:inline-block;border-radius:50%;background:var(--orange);flex-shrink:0;
  position:relative;transition:transform 0.45s var(--ease);
  animation:dot-pulse 4s ease-in-out infinite;
}
@keyframes dot-pulse{0%,100%{opacity:1;}50%{opacity:.45;}}
a:hover .wm-dot,button:hover .wm-dot{transform:scale(1.35);}

/* Section tag dot */
.dot{width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0;display:inline-block;}
.dot-sm{width:5px;height:5px;border-radius:50%;background:var(--orange);flex-shrink:0;display:inline-block;}
.dot-lg{width:9px;height:9px;border-radius:50%;background:var(--orange);flex-shrink:0;display:inline-block;}

/* Pulse dot (live indicator) */
.dot-pulse{
  width:7px;height:7px;border-radius:50%;background:var(--orange);
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(232,71,26,.4)}50%{opacity:.6;box-shadow:0 0 0 6px rgba(232,71,26,0)}}

/* Breathing dot (hero) */
.dot-breathe{
  width:8px;height:8px;border-radius:50%;background:var(--orange);
  animation:breathe 3s ease-in-out infinite;
}
@keyframes breathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.5)}}

/* Orange dot list */
.dot-list{list-style:none;}
.dot-list li{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);}
.dot-list li:last-child{border-bottom:none;}
.dot-list li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0;margin-top:7px;}

.dot-list-w{list-style:none;}
.dot-list-w li{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07);}
.dot-list-w li:last-child{border-bottom:none;}
.dot-list-w li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0;margin-top:7px;}

/* Orange dot nav step */
.step-dot{width:32px;height:32px;border-radius:50%;border:2px solid var(--orange);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.step-dot span{width:8px;height:8px;border-radius:50%;background:var(--orange);}

/* Dot separator in text */
.dot-sep{display:inline-flex;align-items:center;gap:8px;}
.dot-sep::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--orange);display:inline-block;}

/* Orange dot tag/label */
.tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:400;color:var(--mid);}
.tag-w{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:400;color:rgba(255,255,255,.3);}

/* Orange dot bullet for specs */
.spec-list{display:flex;flex-direction:column;gap:0;}
.spec-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);}
.spec-row:last-child{border-bottom:none;}
.spec-row-w{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.spec-row-w:last-child{border-bottom:none;}
.sk{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mid);}
.sk-w{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.3);}
.sv{font-size:14px;color:var(--ink);font-weight:400;display:flex;align-items:center;gap:7px;}
.sv-w{font-size:14px;color:rgba(255,255,255,.7);font-weight:300;display:flex;align-items:center;gap:7px;}
.sv::before,.sv-w::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--orange);display:inline-block;flex-shrink:0;}

/* Orange dot card accent */
.card-dot-accent{position:relative;}
.card-dot-accent::before{
  content:'';position:absolute;top:0;left:0;
  width:100%;height:3px;background:linear-gradient(90deg,var(--orange),transparent);
  border-radius:12px 12px 0 0;
}

/* -
   NAV
- */
nav{
  position:fixed;inset:0 0 auto 0;z-index:999;height:56px;
  background:rgba(255,255,255,0.92);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.06);
  transition:background .3s;
}
nav.dark-nav{background:rgba(22,22,20,.92);border-bottom-color:rgba(255,255,255,.05);}
.nav-i{max-width:1100px;margin:0 auto;padding:0 44px;height:100%;display:flex;align-items:center;justify-content:space-between;}
.nav-wm{font-size:17px;}
.nav-wm .wm-dot{width:7px;height:7px;top:-3px;margin:0 1.5px;}
.nav-links{display:flex;align-items:center;gap:36px;list-style:none;}
.nav-links a{font-size:13px;font-weight:400;color:var(--mid);transition:color .15s;letter-spacing:.01em;}
.nav-links a:hover,.nav-links a.active{color:var(--ink);}
nav.dark-nav .nav-links a{color:rgba(255,255,255,.38);}
nav.dark-nav .nav-links a:hover,nav.dark-nav .nav-links a.active{color:#fff;}
.nav-cta{
  background:var(--orange)!important;color:#fff!important;
  padding:8px 18px!important;border-radius:980px;
  font-size:13px!important;font-weight:500!important;
  transition:background .15s!important;display:flex!important;align-items:center!important;gap:7px!important;
}
.nav-cta .dot-sm{background:#fff!important;}
.nav-cta:hover{background:var(--oh)!important;}

/* -
   LAYOUT
- */
.c{max-width:1100px;margin:0 auto;padding:0 44px;}
.fw{max-width:1100px;margin:0 auto;padding:0 44px;}
hr{border:none;border-top:1px solid var(--border);}
hr.dark-hr{border-top-color:rgba(255,255,255,.07);}
.sec{padding:100px 0;}
.sec-sm{padding:72px 0;}
.dark-sec{background:var(--ink);padding:100px 0;}
.dark-sec-sm{background:var(--ink);padding:72px 0;}

/* -
   TYPOGRAPHY
- */
.h1{font-family:var(--serif);font-size:clamp(52px,6vw,90px);font-weight:400;line-height:1.02;letter-spacing:-0.025em;color:var(--ink);}
.h1 em,.h2 em,.h3 em{font-style:italic;color:var(--orange);}
.h1-w{color:#fff;}
.h2{font-family:var(--serif);font-size:clamp(36px,4vw,58px);font-weight:400;line-height:1.06;letter-spacing:-0.025em;color:var(--ink);}
.h2-w{color:#fff;}
.h3{font-family:var(--serif);font-size:clamp(26px,2.8vw,38px);font-weight:400;line-height:1.1;letter-spacing:-0.02em;color:var(--ink);}
.h3-w{color:#fff;}
.lead{font-size:18px;line-height:1.72;color:var(--mid);font-weight:300;}
.lead-w{font-size:18px;line-height:1.72;color:rgba(255,255,255,.48);font-weight:300;}
.body{font-size:15px;line-height:1.8;color:var(--mid);font-weight:300;}
.body p+p{margin-top:18px;}
.body-w{font-size:15px;line-height:1.8;color:rgba(255,255,255,.42);font-weight:300;}

/* -
   GRID
- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.split-c{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.thirds{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;}
.quarters{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.quarter{background:var(--white);padding:40px 32px;}

/* -
   CARDS
- */
.card{background:var(--off);border:1px solid var(--border);border-radius:16px;padding:40px;}
.card-dark{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:40px;}
.grid-box{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.grid-box-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.grid-box-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.gb-cell{background:var(--white);padding:40px 36px;transition:background .2s;}
.gb-cell:hover{background:var(--off);}
.gb-cell-dark{background:rgba(255,255,255,.03);padding:40px 36px;transition:background .2s;}
.gb-cell-dark:hover{background:rgba(255,255,255,.06);}

/* -
   BUTTONS
- */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:14px;font-weight:500;padding:13px 26px;border-radius:980px;border:none;cursor:pointer;transition:background .15s,transform .15s;letter-spacing:.01em;}
.btn:active{transform:scale(.98);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:#111;}
.btn-orange{background:var(--orange);color:#fff;}
.btn-orange:hover{background:var(--oh);}
.btn-ghost{background:transparent;color:var(--orange);padding:13px 0;}
.btn-ghost:hover{gap:12px;}
.btn-ghost-w{background:transparent;color:rgba(255,255,255,.5);padding:13px 0;}
.btn-ghost-w:hover{color:#fff;gap:12px;}
/* dot inside button */
.btn .dot-sm{background:rgba(255,255,255,.5);}
.btn-orange .dot-sm{background:rgba(255,255,255,.6);}
.btns{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}

/* -
   NUMBERS / STATS
- */
.num{font-family:var(--serif);font-size:clamp(40px,5vw,64px);font-weight:400;letter-spacing:-0.03em;line-height:1;color:var(--ink);}
.num span{color:var(--orange);}
.num-w{font-family:var(--serif);font-size:clamp(40px,5vw,64px);font-weight:400;letter-spacing:-0.03em;line-height:1;color:#fff;}
.num-sm{font-family:var(--serif);font-size:clamp(28px,3vw,40px);font-weight:400;letter-spacing:-0.025em;line-height:1;color:var(--ink);}
.num-sm span{color:var(--orange);}

/* -
   FORMS (dark bg)
- */
.fs{display:flex;flex-direction:column;gap:13px;}
.fr-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.fd{display:flex;flex-direction:column;gap:5px;}
.fd label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.28);font-weight:400;}
.fd input,.fd select,.fd textarea{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:#fff;font-family:var(--sans);font-size:14px;font-weight:300;padding:12px 15px;border-radius:10px;outline:none;transition:border-color .2s,background .2s;width:100%;-webkit-appearance:none;}
.fd input::placeholder,.fd textarea::placeholder{color:rgba(255,255,255,.16);}
.fd input:focus,.fd select:focus,.fd textarea:focus{border-color:rgba(232,71,26,.5);background:rgba(232,71,26,.04);}
.fd select option{background:#1a1a18;color:#fff;}
.fd textarea{resize:vertical;min-height:88px;}
/* light form */
.lfd{display:flex;flex-direction:column;gap:5px;}
.lfd label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);font-weight:400;}
.lfd input,.lfd select,.lfd textarea{background:var(--white);border:1px solid var(--border);color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:300;padding:12px 15px;border-radius:10px;outline:none;transition:border-color .2s;width:100%;-webkit-appearance:none;}
.lfd input::placeholder,.lfd textarea::placeholder{color:var(--faint);}
.lfd input:focus,.lfd select:focus,.lfd textarea:focus{border-color:var(--orange);}
.lfd select option{background:#fff;}
.lfd textarea{resize:vertical;min-height:88px;}
.sub-btn{width:100%;border:none;cursor:pointer;font-family:var(--sans);font-size:15px;font-weight:500;padding:14px;border-radius:980px;transition:background .15s;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;}
.sub-o{background:var(--orange);color:#fff;}
.sub-o:hover{background:var(--oh);}
.sub-dark{background:var(--ink);color:#fff;}
.sub-dark:hover{background:#111;}
.sub-btn .dot-sm{background:rgba(255,255,255,.6);}
.gdpr{display:flex;align-items:flex-start;gap:10px;}
.gdpr input[type="checkbox"]{width:14px;height:14px;flex-shrink:0;margin-top:3px;accent-color:var(--orange);}
.gdpr label{font-size:11px;color:rgba(255,255,255,.22);font-weight:300;line-height:1.5;}
.gdpr-l label{color:var(--faint);}
.f-note{text-align:center;font-size:11px;color:rgba(255,255,255,.16);margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;}
.f-note-l{text-align:center;font-size:11px;color:var(--faint);margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;}
/* success */
.suc{display:none;text-align:center;padding:52px 24px;}
.suc-c{width:44px;height:44px;border-radius:50%;background:var(--orange);margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;}
.suc-d h3{font-family:var(--serif);font-size:24px;font-weight:400;color:#fff;margin-bottom:8px;}
.suc-d p{color:rgba(255,255,255,.4);font-weight:300;font-size:14px;}
.suc-l h3{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--ink);margin-bottom:8px;}
.suc-l p{color:var(--mid);font-weight:300;font-size:14px;}

/* -
   CF-FORM (contact & producer forms)
- */
.cf-form{display:flex;flex-direction:column;gap:13px;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.cf-field{display:flex;flex-direction:column;gap:5px;}
.cf-field label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.28);font-weight:400;}
.cf-field input,.cf-field select,.cf-field textarea{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);
  color:#fff;font-family:var(--sans);font-size:14px;font-weight:300;
  padding:12px 15px;border-radius:10px;outline:none;
  transition:border-color .2s,background .2s;width:100%;-webkit-appearance:none;
}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:rgba(255,255,255,.18);}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{
  border-color:rgba(232,71,26,.5);background:rgba(232,71,26,.04);
}
.cf-field select option{background:#1a1a18;color:#fff;}
.cf-field textarea{resize:vertical;min-height:88px;}
/* light variant (index.html contact form on light bg) */
.cf-form.light .cf-field label{color:var(--mid);}
.cf-form.light .cf-field input,
.cf-form.light .cf-field select,
.cf-form.light .cf-field textarea{
  background:var(--white);border:1px solid var(--border);color:var(--ink);
}
.cf-form.light .cf-field input::placeholder,
.cf-form.light .cf-field textarea::placeholder{color:var(--faint);}
.cf-form.light .cf-field input:focus,
.cf-form.light .cf-field select:focus,
.cf-form.light .cf-field textarea:focus{border-color:var(--orange);background:var(--white);}
.cf-form.light .cf-field select option{background:#fff;color:var(--ink);}
/* gdpr */
.cf-gdpr{display:flex;align-items:flex-start;gap:10px;}
.cf-gdpr input[type="checkbox"]{width:14px;height:14px;flex-shrink:0;margin-top:3px;accent-color:var(--orange);}
.cf-gdpr label{font-size:11px;color:rgba(255,255,255,.22);font-weight:300;line-height:1.5;}
.cf-gdpr label a{color:rgba(255,255,255,.4);text-decoration:underline;}
.cf-gdpr label a:hover{color:#fff;}
.cf-form.light .cf-gdpr label{color:var(--mid);}
.cf-form.light .cf-gdpr label a{color:var(--orange);}
/* submit button */
.cf-submit{
  width:100%;border:none;cursor:pointer;font-family:var(--sans);
  font-size:15px;font-weight:500;padding:14px;border-radius:980px;
  background:var(--orange);color:#fff;
  transition:background .15s;margin-top:4px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.cf-submit:hover{background:var(--oh);}
.cf-submit:disabled{opacity:.5;cursor:not-allowed;}
/* note below form */
.cf-note{text-align:center;font-size:11px;color:rgba(255,255,255,.16);margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;}
.cf-form.light .cf-note{color:var(--faint);}
@media(max-width:600px){.cf-row{grid-template-columns:1fr;}}

/* -
   FOOTER
- */
footer{background:var(--ink);padding:80px 0 40px;}
.ft-top{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:48px;margin-bottom:64px;}
.ft-logo{font-size:19px;margin-bottom:14px;display:block;}
.ft-logo .wm-dot{width:7px;height:7px;top:-3px;margin:0 1.5px;}
.ft-tagline{font-size:13px;font-weight:300;color:rgba(255,255,255,.28);line-height:1.65;max-width:220px;}
.ft-col-h{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:16px;}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.ft-links a{font-size:13px;font-weight:300;color:rgba(255,255,255,.36);transition:color .15s;display:flex;align-items:center;gap:7px;}
.ft-links a:hover{color:rgba(255,255,255,.8);}
.ft-links a .dot-sm{opacity:0;transition:opacity .15s;}
.ft-links a:hover .dot-sm{opacity:1;}
.ft-bot{border-top:1px solid rgba(255,255,255,.07);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
.ft-copy{font-size:11px;color:rgba(255,255,255,.16);letter-spacing:.05em;display:flex;align-items:center;gap:8px;}
.ft-legal{display:flex;gap:22px;}
.ft-legal a{font-size:11px;color:rgba(255,255,255,.16);transition:color .15s;}
.ft-legal a:hover{color:rgba(255,255,255,.5);}

/* -
   REVEAL
- */
.r{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease);}
.r.in{opacity:1;transform:none;}
.r.d1{transition-delay:.07s;}.r.d2{transition-delay:.14s;}.r.d3{transition-delay:.21s;}
.r.d4{transition-delay:.28s;}.r.d5{transition-delay:.35s;}

/* -
   RESPONSIVE
- */
@media(max-width:960px){
  .c,.fw{padding:0 24px;}
  .nav-i{padding:0 24px;}
  .split,.split-c{grid-template-columns:1fr;gap:40px;}
  .thirds{grid-template-columns:1fr;gap:28px;}
  .quarters,.grid-box-4{grid-template-columns:1fr 1fr;}
  .ft-top{grid-template-columns:1fr 1fr;}
  .sec,.dark-sec{padding:72px 0;}
  .nav-links{display:none;}
  .fr-grid{grid-template-columns:1fr;}
  .nav-links.open{
    display:flex;flex-direction:column;
    position:fixed;top:56px;left:0;right:0;bottom:0;
    background:rgba(26,25,23,0.98);backdrop-filter:blur(16px);
    padding:40px 24px;gap:14px;z-index:999;
  }
  .nav-links.open li{opacity:1;}
  .nav-links.open a{
    font-size:17px;
    color:#ffffff;
    padding:18px 22px;
    display:block;
    background:rgba(0,0,0,0.75);
    border:1px solid rgba(255,255,255,0.15);
    border-radius:12px;
    transition:all 0.2s;
    font-weight:400;
    box-shadow:0 2px 8px rgba(0,0,0,0.3);
  }
  .nav-links.open a:hover,
  .nav-links.open a:active{
    background:rgba(0,0,0,0.9);
    border-color:var(--orange);
    color:#fff;
    transform:translateX(4px);
    box-shadow:0 4px 12px rgba(232,71,26,0.25);
  }
  .nav-links.open .nav-cta{
    margin-top:20px;
    background:var(--orange);
    border:1px solid var(--orange);
    border-radius:12px;
    padding:18px 22px;
    color:#fff;
    font-size:17px;
    font-weight:500;
    box-shadow:0 4px 12px rgba(232,71,26,0.4);
  }
  .nav-links.open .nav-cta:hover,
  .nav-links.open .nav-cta:active{
    background:#d63d15;
    border-color:#d63d15;
    transform:translateX(4px);
    box-shadow:0 6px 16px rgba(232,71,26,0.5);
  }
  .hamburger{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    width:36px;height:36px;cursor:pointer;background:none;border:none;padding:4px;
    margin-left:auto;
  }
  .hamburger span{
    display:block;height:2px;border-radius:2px;
    background:var(--ink);transition:all .25s;
  }
  nav.dark-nav .hamburger span{background:rgba(255,255,255,0.8);}
  .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .hamburger.open span:nth-child(2){opacity:0;}
  .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}
@media(min-width:961px){
  .hamburger{display:none;}
}
@media(max-width:600px){
  .quarters,.grid-box-4,.grid-box-3,.grid-box{grid-template-columns:1fr;}
  .ft-top{grid-template-columns:1fr;gap:32px;}
  .h1{font-size:clamp(44px,12vw,70px);}
}

/* Skip-Navigation Link (Accessibility) */
.skip-link {
  position: absolute;
  top: -100%;
  left: 0;
  padding: 0.75rem 1.5rem;
  background: #000;
  color: #fff;
  z-index: 9999;
  font-size: 0.875rem;
  text-decoration: none;
  font-weight: 500;
}
.skip-link:focus {
  top: 0;
}

/* Index.html Utility Classes (ausgelagerte Inline-Styles) */
.container-hero {
  max-width: 1080px;
  margin: 0 auto;
}

.lead-narrow {
  max-width: 460px;
  margin-bottom: 44px;
}

.split-spaced {
  margin-bottom: 56px;
  align-items: end;
}

.split-spaced-lg {
  margin-bottom: 60px;
  align-items: end;
}

.flex-col-gap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}

.flex-col-padded {
  padding-top: 8px;
}

.dark-hr {
  background: var(--ink);
}

.btn-self-start {
  align-self: flex-start;
}

/* Cookie Consent Banner */
#cookie-consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(26, 26, 26, 0.98);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 20px;
  z-index: 10000;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

#cookie-consent-banner.show {
  display: block;
  opacity: 1;
}

.cookie-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.cookie-text {
  flex: 1;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
}

.cookie-text strong {
  color: #fff;
  font-weight: 500;
}

.cookie-text a {
  color: var(--orange);
  text-decoration: none;
}

.cookie-text a:hover {
  text-decoration: underline;
}

.cookie-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

.cookie-btn {
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  transition: all 0.2s;
  font-family: var(--sans);
}

.cookie-btn-accept {
  background: var(--orange);
  color: #fff;
}

.cookie-btn-accept:hover {
  background: #d63d15;
  transform: translateY(-1px);
}

.cookie-btn-reject {
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.cookie-btn-reject:hover {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}

@media (max-width: 768px) {
  .cookie-content {
    flex-direction: column;
    align-items: stretch;
  }
  
  .cookie-actions {
    flex-direction: column;
  }
  
  .cookie-btn {
    width: 100%;
  }
}

/* Project Registry Links */
.proj-name a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}

.proj-name a:hover {
  color: var(--orange);
}

.proj-name a[target="_blank"]::after {
  content: '';
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 6px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23E8471A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'%3E%3C/path%3E%3Cpolyline points='15 3 21 3 21 9'%3E%3C/polyline%3E%3Cline x1='10' y1='14' x2='21' y2='3'%3E%3C/line%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  opacity: 0.5;
  transition: opacity 0.2s;
}

.proj-name a:hover::after {
  opacity: 1;
}
