/* ═══════════════════════════════════════════════════════════
   ARI DESIGN SYSTEM — v4 Tokens
   All pages import this for consistent light/dark theming
   ═══════════════════════════════════════════════════════════ */

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

/* ── Light tokens ──────────────────────────────────────── */
:root {
  --bg:#F8F7F4;  --bg-alt:#FFFFFF;  --bg-deep:#F0EDE8;
  --card:#FFFFFF; --card-hover:rgba(0,0,0,0.06);
  --primary:#2D6A4F;  --primary-light:#40916C;  --primary-muted:#B7E4C7;
  --primary-pale:#D8F3DC;
  --accent:#C9956B;  --accent-light:#FAEDCD;
  --text:#1B1B18;  --text-sec:#5C5C57;  --text-ter:#9A9A95;
  --border:#E5E2DC;  --border-light:#EDEBE6;
  --shadow:rgba(0,0,0,0.06);
  --nav-bg:rgba(248,247,244,0.88);
  --footer-bg:#151A17;  --footer-text:#C8C5BE;
  --input-bg:#F4F2EE;
  --tag-bg:#EDF7F0;  --tag-text:#2D6A4F;
  --overlay:rgba(0,0,0,0.45);  --modal-bg:#FFFFFF;
  --breathe-bg:linear-gradient(135deg,#2D6A4F,#1B4332);
  --danger:#DC3545;  --danger-bg:rgba(220,53,69,0.04);
  --success:#2D6A4F;  --success-bg:#e6f5ec;
}

/* ── Dark tokens ───────────────────────────────────────── */
body[data-theme="dark"] {
  --bg:#0E1210;  --bg-alt:#161B18;  --bg-deep:#0A0D0B;
  --card:#1A201C; --card-hover:rgba(0,0,0,0.3);
  --primary:#52B788;  --primary-light:#74C69D;  --primary-muted:#2D6A4F;
  --primary-pale:#1A3A2A;
  --accent:#D4A373;  --accent-light:#3D2E1F;
  --text:#E8E6E1;  --text-sec:#A3A19B;  --text-ter:#6B6963;
  --border:#2A302C;  --border-light:#222822;
  --shadow:rgba(0,0,0,0.3);
  --nav-bg:rgba(14,18,16,0.92);
  --footer-bg:#080A09;  --footer-text:#7A7872;
  --input-bg:#1A201C;
  --tag-bg:#1A3A2A;  --tag-text:#74C69D;
  --overlay:rgba(0,0,0,0.7);  --modal-bg:#1A201C;
  --breathe-bg:linear-gradient(135deg,#1B4332,#0E1210);
  --danger:#ff8b8b;  --danger-bg:rgba(220,53,69,0.08);
  --success:#74c69d;  --success-bg:rgba(26,58,42,0.4);
}

/* ── Reset & base ──────────────────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  font-family:'Outfit',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text-sec);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
  transition:background 0.4s,color 0.4s;
}
h1,h2,h3,h4{color:var(--text);font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-0.02em}
a{color:var(--primary);text-decoration:none}
::selection{background:var(--primary-pale);color:var(--text)}

/* ── Navigation ────────────────────────────────────────── */
.ari-nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:var(--nav-bg);
  backdrop-filter:blur(24px) saturate(1.4);
  border-bottom:1px solid var(--border);
  padding:12px 0;
  transition:all 0.4s;
}
.ari-nav-inner{
  max-width:1200px;margin:0 auto;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;
}
.ari-nav-logo{
  display:flex;align-items:center;gap:10px;
  cursor:pointer;text-decoration:none;
}
.ari-nav-logo-icon{
  width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  display:flex;align-items:center;justify-content:center;color:#fff;
}
.ari-nav-logo-icon svg{width:20px;height:20px}
.ari-nav-logo-text{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:24px;font-weight:600;color:var(--text);
  letter-spacing:-0.02em;
}

/* Desktop links */
.ari-nav-links{display:flex;align-items:center;gap:24px}
.ari-nav-links a{
  font-size:13px;font-weight:500;color:var(--text-sec);
  text-decoration:none;transition:color 0.2s;
}
.ari-nav-links a:hover,.ari-nav-links a.active{color:var(--primary)}

/* Theme toggle */
.ari-theme-btn{
  width:34px;height:34px;border-radius:100px;
  border:1px solid var(--border);background:var(--bg-alt);
  color:var(--text-sec);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all 0.25s;font-size:0;
}
.ari-theme-btn svg{width:18px;height:18px}
.ari-theme-btn:hover{background:var(--bg-deep);transform:translateY(-1px)}

/* Login button */
.ari-login-btn{
  background:var(--primary);color:#fff;border:none;
  border-radius:100px;padding:9px 20px;
  font-size:13px;font-weight:600;cursor:pointer;
  font-family:'Outfit',sans-serif;transition:all 0.3s;
}
.ari-login-btn:hover{opacity:0.9;transform:translateY(-1px)}

/* Profile dropdown */
.ari-profile-wrap{position:relative}
.ari-profile-btn{
  display:flex;align-items:center;gap:8px;
  background:var(--primary-pale);border:1px solid var(--border);
  border-radius:100px;padding:6px 14px 6px 8px;
  cursor:pointer;transition:all 0.25s;font-family:'Outfit',sans-serif;
}
.ari-profile-avatar{
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;font-weight:700;
}
.ari-profile-label{font-size:13px;font-weight:600;color:var(--text)}
.ari-profile-chevron{font-size:10px;color:var(--text-ter);transition:transform 0.2s}
.ari-profile-menu{
  display:none;position:absolute;top:calc(100% + 8px);right:0;
  background:var(--card);border:1px solid var(--border);
  border-radius:14px;padding:6px;min-width:180px;
  box-shadow:0 12px 40px var(--shadow);z-index:50;
}
.ari-profile-menu.show{display:block;animation:ariSlideDown 0.2s ease}
.ari-profile-menu a,.ari-profile-menu button{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:10px 14px;border-radius:10px;border:none;
  background:transparent;cursor:pointer;
  font-size:13px;font-weight:500;font-family:'Outfit',sans-serif;
  color:var(--text);text-decoration:none;transition:background 0.2s;
}
.ari-profile-menu a:hover,.ari-profile-menu button:hover{background:var(--bg-deep)}

/* Mobile nav */
.ari-nav-mobile{display:flex;align-items:center;gap:6px}
.ari-nav-mobile-toggle{
  background:none;border:none;cursor:pointer;
  color:var(--text);display:flex;align-items:center;padding:4px;
}
.ari-nav-mobile-toggle svg{width:22px;height:22px}
.ari-mobile-menu{
  display:none;background:var(--bg);
  padding:16px 28px 24px;border-top:1px solid var(--border);
}
.ari-mobile-menu.show{display:block}
.ari-mobile-menu a{
  display:block;padding:12px 0;font-size:15px;font-weight:500;
  color:var(--text);text-decoration:none;
  border-bottom:1px solid var(--border-light);
}
.ari-mobile-menu a:hover,.ari-mobile-menu a.active{color:var(--primary)}

@media(max-width:840px){
  .ari-nav-links{display:none!important}
  .ari-nav-mobile{display:flex!important}
}
@media(min-width:841px){
  .ari-nav-mobile{display:none!important}
  .ari-nav-links{display:flex!important}
}

/* ── Footer ────────────────────────────────────────────── */
.ari-footer{
  background:var(--footer-bg);color:var(--footer-text);
  padding:72px 28px 36px;
}
.ari-footer-inner{max-width:1200px;margin:0 auto}
.ari-footer-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:40px;margin-bottom:48px;
}
.ari-footer-brand{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.ari-footer-brand-icon{
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  display:flex;align-items:center;justify-content:center;
  color:#fff;transform:scale(0.85);
}
.ari-footer-brand-icon svg{width:16px;height:16px}
.ari-footer-brand-name{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:20px;font-weight:600;color:#fff;
}
.ari-footer p{font-size:13px;line-height:1.7;max-width:260px}
.ari-footer h4{
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:0.1em;margin-bottom:14px;color:var(--accent);
  font-family:'Outfit',sans-serif;
}
.ari-footer-link{
  display:block;font-size:13px;padding:5px 0;cursor:pointer;
  color:var(--footer-text);text-decoration:none;transition:color 0.2s;
}
.ari-footer-link:hover{color:#fff}
.ari-footer-bottom{
  border-top:1px solid rgba(255,255,255,0.06);
  padding-top:20px;font-size:12px;
}

/* ── Shared Components ─────────────────────────────────── */

/* Tag / Badge */
.ari-tag{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--tag-bg);color:var(--tag-text);
  padding:5px 14px;border-radius:100px;
  font-size:11px;font-weight:600;text-transform:uppercase;
  letter-spacing:0.08em;
}
.ari-tag::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:var(--primary);
}

/* Buttons */
.ari-btn{
  border:none;border-radius:100px;padding:13px 28px;
  font-size:14px;font-weight:600;cursor:pointer;
  font-family:'Outfit',sans-serif;transition:all 0.3s;
  display:inline-flex;align-items:center;gap:8px;
  letter-spacing:0.01em;
  background:var(--primary);color:#fff;
  box-shadow:0 4px 20px var(--shadow);
}
.ari-btn:hover{opacity:0.92;transform:translateY(-1px)}
.ari-btn-outline{
  background:transparent;color:var(--primary);
  border:1.5px solid var(--border);box-shadow:none;
}
.ari-btn-outline:hover{border-color:var(--primary);opacity:1}
.ari-btn-danger{background:var(--danger);color:#fff;box-shadow:0 2px 12px rgba(220,53,69,0.25)}
.ari-btn-full{width:100%;justify-content:center}
.ari-btn svg{width:14px;height:14px}

/* Card */
.ari-card{
  background:var(--card);border-radius:16px;
  border:1px solid var(--border);
  transition:all 0.35s;
}
.ari-card-hover:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 36px var(--shadow);
}

/* Inputs */
.ari-input{
  width:100%;padding:12px 16px;border-radius:10px;
  border:1px solid var(--border);font-size:14px;
  font-family:'Outfit',sans-serif;outline:none;
  background:var(--input-bg);color:var(--text);
  transition:border-color 0.3s;
}
.ari-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(45,106,79,0.12)}
textarea.ari-input{resize:vertical}
select.ari-input{cursor:pointer}

/* Section spacing */
.ari-section{padding:100px 28px}
.ari-section-alt{background:var(--bg-alt)}
.ari-section-deep{background:var(--bg-deep)}
.ari-container{max-width:1060px;margin:0 auto}
.ari-container-sm{max-width:680px;margin:0 auto}
.ari-container-md{max-width:800px;margin:0 auto}

/* Page header with gradient */
.ari-page-header{
  padding:132px 28px 80px;text-align:center;
  position:relative;overflow:hidden;
}
.ari-page-header-dark{
  background:var(--breathe-bg);color:#fff;
}
.ari-page-header-dark h1,.ari-page-header-dark p{color:#fff}
.ari-page-header-dark p{opacity:0.7}
.ari-page-header h1{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(32px,5vw,56px);font-weight:500;
  line-height:1.1;letter-spacing:-0.03em;
  margin-bottom:12px;
}
.ari-page-header p{
  font-size:17px;line-height:1.8;color:var(--text-sec);
  max-width:560px;margin:0 auto;
}

/* Decorative blobs */
.ari-blob{
  position:absolute;border-radius:50%;
  filter:blur(60px);pointer-events:none;
  animation:ariBreathe 9s ease-in-out infinite;
}
.ari-blob-1{
  top:8%;right:6%;width:340px;height:340px;
  background:var(--primary-pale);opacity:0.25;
}
.ari-blob-2{
  bottom:12%;left:4%;width:240px;height:240px;
  background:var(--accent-light);opacity:0.3;
  animation-duration:11s;animation-delay:3s;
}

/* Reveal animation */
.ari-reveal{
  opacity:0;transform:translateY(24px);
  transition:all 0.65s cubic-bezier(0.22,1,0.36,1);
}
.ari-reveal.visible{opacity:1;transform:translateY(0)}

/* Fade-up on load */
.ari-fu{animation:ariFadeUp 0.65s cubic-bezier(0.22,1,0.36,1) both}

/* Legal page layout */
.ari-legal-grid{
  display:grid;grid-template-columns:220px 1fr;gap:48;
}
.ari-legal-toc{
  position:sticky;top:100px;align-self:start;
  max-height:calc(100vh - 120px);overflow-y:auto;
}
.ari-legal-toc-label{
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:0.1em;color:var(--text-ter);margin-bottom:12px;
  padding-left:14px;font-family:'Outfit',sans-serif;
}
.ari-legal-toc-item{
  display:block;font-size:13px;font-weight:400;
  color:var(--text-sec);padding:8px 14px;
  border-left:2px solid var(--border);cursor:pointer;
  transition:all 0.25s;border-radius:0 6px 6px 0;
}
.ari-legal-toc-item:hover,.ari-legal-toc-item.active{
  color:var(--primary);font-weight:600;
  border-left-color:var(--primary);
  background:rgba(45,106,79,0.06);
}
.ari-legal-section{margin-bottom:28px;scroll-margin-top:100px}
.ari-legal-section-header{
  display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;padding:16px 0;
  border-bottom:1px solid var(--border);margin-bottom:16px;
}
.ari-legal-section-num{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:13px;font-weight:700;color:var(--primary);
  width:28px;height:28px;border-radius:8px;
  background:var(--primary-pale);
  display:flex;align-items:center;justify-content:center;
}
.ari-legal-section-title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:22px;font-weight:600;color:var(--text);
  margin-left:10px;flex:1;
}
.ari-legal-section-toggle{color:var(--text-ter);font-size:18px;transition:transform 0.3s}
.ari-legal-section-body{padding-left:38px}
.ari-legal-section-body p{font-size:14px;line-height:1.8;color:var(--text-sec);margin-bottom:12px}
.ari-legal-section-body h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:17px;font-weight:600;color:var(--text);
  margin-top:16px;margin-bottom:8px;
}
.ari-legal-check{
  display:flex;gap:10px;align-items:flex-start;padding:6px 0;
}
.ari-legal-check svg{color:var(--primary);margin-top:2px;flex-shrink:0;width:16px;height:16px}
.ari-legal-check span{font-size:14px;line-height:1.7;color:var(--text-sec)}
.ari-legal-highlight{
  background:rgba(45,106,79,0.08);
  border-left:3px solid var(--primary);
  border-radius:0 10px 10px 0;
  padding:14px 18px;margin-bottom:12px;
}
.ari-legal-highlight p{font-size:14px;line-height:1.7;color:var(--text);font-weight:500;margin:0}
.ari-legal-warning{
  background:var(--danger-bg);
  border-left:3px solid var(--danger);
  border-radius:0 10px 10px 0;
  padding:14px 18px;margin-bottom:12px;
}
.ari-legal-warning p{font-size:14px;line-height:1.7;color:var(--danger);font-weight:500;margin:0}

@media(max-width:840px){
  .ari-legal-grid{grid-template-columns:1fr!important}
  .ari-legal-toc{display:none!important}
}

/* ── Animations ────────────────────────────────────────── */
@keyframes ariBreathe{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.06);opacity:.8}}
@keyframes ariFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ariFadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes ariSlideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes ariModalIn{from{opacity:0;transform:scale(0.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes ariSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* ── Utility ───────────────────────────────────────────── */
.text-center{text-align:center}
.mb-0{margin-bottom:0}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.mb-48{margin-bottom:48px}
.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}

/* Grid helpers */
@media(max-width:768px){.ari-grid-2col{grid-template-columns:1fr!important}}
