/* ═══════════════════════════════════════════
   ARCTI DESIGN SYSTEM — shared.css
   Deep Forest Green · Antique Gold · Ivory
   Cormorant Garamond + Outfit
═══════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,700&family=Outfit:wght@300;400;500;600;700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

:root{
  --ink:#184af0f7;
  --f1:#184af0f7;
  --f2:#184af0f7;
  --sage:#184af0f7;
  --sage-l:#184af0f7;
  --mint:#C8E8D8;
  --gold:#C8953A;
  --gold-l:#E4B55A;
  --gold-d:#A6792A;
  --ivory:#F8F4EE;
  --ivory2:#EEE8DC;
  --white:#FFFFFF;
  --tx:#7793edf7;
  --tx-m:#184af0f7;
  --tx-l:#294ae7;
  --bdr:rgba(18,43,28,0.10);
}

body{font-family:'Outfit',sans-serif;
  background:var(--ivory);
  color:var(--tx);overflow-x:hidden;
  cursor:none}

/* CURSOR */
#cr{width:9px;
  height:9px;
  background:var(--gold);
  border-radius:50%;position:fixed;
  pointer-events:none;
  z-index:9999;
  transform:translate(-50%,-50%)}
#crr{width:36px;
  height:36px;
  border:1.5px solid var(--sage);
  border-radius:50%;position:fixed;pointer-events:none;
  z-index:9998;
  transform:translate(-50%,-50%);
  transition:left .1s ease,top .1s ease}

/* ── HEADER ── */
.hdr{position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:500;
  height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 5%;
  background:rgba(134, 160, 247, 0.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(200,149,58,.2)}
.logo-a{display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none}
.logo-mk{width:40px;height:40px;border-radius:9px;
  background:linear-gradient(135deg,var(--sage),var(--f2));display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cormorant Garamond',serif;
  font-size:1.15rem;font-weight:700;
  color:var(--gold-l);border:1px solid rgba(200,149,58,.3);
  box-shadow:0 4px 14px rgba(122, 158, 248, 0.95)}
.logo-wds{display:flex;
  flex-direction:column;
  gap:1px}
.logo-nm{font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;
  font-weight:700;
  color:#fff;
  letter-spacing:.12em;line-height:1}
.logo-tg{font-size:.56rem;
  color:var(--gold);
  letter-spacing:.2em;text-transform:uppercase}
.nav-ul{display:flex;
  align-items:center;
  gap:.2rem;
  list-style:none}
.nav-ul a{display:block;
  padding:0 .85rem;height:70px;
  line-height:70px;font-size:.7rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  text-decoration:none;
  position:relative;
  transition:color .2s;white-space:nowrap}
.nav-ul a::after{content:'';
  position:absolute;bottom:0;
  left:.85rem;right:.85rem;
  height:2px;background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s}
.nav-ul a:hover,.nav-ul a.cur{color:#fff}
.nav-ul a:hover::after,.nav-ul a.cur::after{transform:scaleX(1)}
.nav-btn{background:linear-gradient(135deg,var(--gold),var(--gold-l))!important;
  color:var(--ink)!important;border-radius:7px;
  padding:0 1.3rem!important;
  height:38px!important;
  line-height:38px!important;
  font-weight:700!important;
  margin-left:.5rem}
.nav-btn::after{display:none!important}
.hbg{display:none;
  flex-direction:column;
  gap:5px;cursor:pointer;
  padding:8px}
.hbg span{display:block;
  width:22px;
  height:2px;
  background:#fff;
  border-radius:2px;
  transition:all .3s}

/* MOBILE MENU */
.mob-menu{position:fixed;inset:0;z-index:490;
  background:var(--ink);
  transform:translateY(-100%);
  transition:transform .4s cubic-bezier(.77,0,.18,1);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1.8rem}
.mob-menu.open{transform:none}
.mob-menu a{font-family:'Cormorant Garamond',serif;font-size:2.2rem;
  font-weight:700;color:#fff;
  text-decoration:none;
  letter-spacing:.05em;transition:color .2s}
.mob-menu a:hover{color:var(--gold-l)}

/* ── TICKER ── */
.ticker{background:var(--sage);overflow:hidden;padding:.8rem 0}
.tk-tr{display:flex;width:max-content;animation:tk 40s linear infinite}
.tk-it{display:flex;align-items:center;gap:1rem;padding:0 2.5rem;white-space:nowrap;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:rgba(255,255,255,.85)}
.tk-dot{width:4px;height:4px;border-radius:50%;background:var(--gold-l);flex-shrink:0}
@keyframes tk{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── BUTTONS ── */
.btn-g{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--gold),var(--gold-l));color:var(--ink);padding:.85rem 2rem;border-radius:8px;text-decoration:none;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:all .25s;box-shadow:0 6px 22px rgba(200,149,58,.4);border:none;cursor:pointer}
.btn-g:hover{transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(200,149,58,.55)}
.btn-o{display:inline-flex;
  align-items:center;
  gap:8px;
  background:transparent;
  color:var(--f1);
  padding:.85rem 2rem;
  border-radius:8px;
  text-decoration:none;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:2px solid var(--f1);
  transition:all .25s}
.btn-o:hover{background:var(--f1);
  color:#fff}
.btn-w{display:inline-flex;
  align-items:center;gap:8px;
  background:transparent;
  color:#fff;
  padding:.85rem 2rem;
  border-radius:8px;
  text-decoration:none;
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1.5px solid rgba(255,255,255,.3);
  transition:all .25s}
.btn-w:hover{border-color:#fff;background:rgba(255,255,255,.09)}

/* ── SECTION HELPERS ── */
.sec{padding:6rem 5%}
.slbl{display:inline-flex;
  align-items:center;
  gap:10px;color:var(--sage);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:.75rem}
.slbl::before{content:'';
  width:28px;height:2px;
  background:var(--sage);
  border-radius:2px}
.sh{font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:700;
  line-height:1.15;
  color:var(--f1)}
.sh em{font-style:italic;
  color:var(--sage)}
.ssub{font-size:1rem;
  line-height:1.9;
  color:var(--tx-m);
  font-weight:300;
  max-width:620px}

/* PAGE HERO (inner pages) */
.ph{min-height:300px;padding:130px 5% 58px;background:#f1f3fcf7;
  position:relative;overflow:hidden;
  display:flex;
  align-items:flex-end}
.ph::before{content:'';
  position:absolute;inset:0;
  background-image:radial-gradient(circle at 15% 60%,rgba(24,122,80,.28) 0%,transparent 55%),radial-gradient(circle at 85% 20%,rgba(200,149,58,.12) 0%,transparent 45%)}
.ph-ct{position:relative;
  z-index:1}
.ph-ey{display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:.75rem}
.ph-ey::before{content:'';width:26px;height:2px;background:var(--gold);border-radius:2px}
.ph h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;color:#fff;line-height:1.1}
.ph h1 em{font-style:italic;color:var(--gold-l)}
.ph-deco{position:absolute;right:4%;top:50%;transform:translateY(-50%);font-family:'Cormorant Garamond',serif;font-size:18rem;font-weight:700;color:rgba(255,255,255,.025);letter-spacing:-.05em;user-select:none;pointer-events:none}

/* SCROLL REVEAL */
.rv{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}
.rv.in{opacity:1;transform:none}

/* ── FOOTER ── */
.ftr{background:var(--ink);padding:4rem 5% 0;border-top:1px solid rgba(200,149,58,.15)}
.ftr-g{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.06)}
.ftr-logo-row{display:flex;align-items:center;gap:12px;margin-bottom:1.2rem}
.ftr-tag{font-size:.85rem;color:rgba(255,255,255,.44);line-height:1.8;font-weight:300;max-width:270px;margin-bottom:1.5rem}
.ftr-soc{display:flex;gap:10px}
.fsoc{width:35px;height:35px;border-radius:8px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;
  justify-content:center;text-decoration:none;font-size:.8rem;
  color:rgba(255,255,255,.5);transition:all .2s}
.fsoc:hover{background:var(--sage);border-color:var(--sage);color:#fff}
.ftr-col h5{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;padding-bottom:.55rem;border-bottom:1px solid rgba(200,149,58,.2)}
.ftr-lnks{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.ftr-lnks li a{font-size:.83rem;color:rgba(255,255,255,.44);text-decoration:none;transition:color .2s;font-weight:300}
.ftr-lnks li a:hover{color:var(--gold-l)}
.fci{display:flex;gap:10px;margin-bottom:.85rem;align-items:flex-start}
.fci-ic{color:var(--gold);font-size:.88rem;flex-shrink:0;margin-top:3px}
.fci-tx{font-size:.83rem;color:rgba(255,255,255,.44);font-weight:300;line-height:1.55}
.ftr-bot{padding:1.4rem 0;display:flex;justify-content:space-between;align-items:center;font-size:.73rem;color:rgba(255,255,255,.27);flex-wrap:wrap;gap:.75rem}
.ftr-bot a{color:rgba(255,255,255,.27);text-decoration:none;transition:color .2s}
.ftr-bot a:hover{color:var(--gold)}

@media(max-width:900px){.ftr-g{grid-template-columns:1fr 1fr}.nav-ul{display:none}.hbg{display:flex}}
@media(max-width:580px){.ftr-g{grid-template-columns:1fr}.sec{padding:4rem 5%}.ph{padding:110px 5% 44px}}
