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

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --lavender: #e8e3f0;
  --lavender-mid: #d4cceb;
  --lavender-deep: #b8acd8;
  --cream: #f5f0e8;
  --cream-warm: #ede6d6;
  --dark: #1a1a1a;
    --dark-section: #2a2438;
  --text: #2d2d2d;
  --text-light: #6b6b6b;
  --white: #ffffff;
  --accent: #9b8cbf;
  --orange: #FD6D2F;
  --serif: 'Cormorant Garamond', serif;
  --sans: 'Jost', sans-serif;
}

html { scroll-behavior: smooth; }
body { font-family: var(--sans); color: var(--text); background: var(--lavender); overflow-x: hidden; cursor: none; }

/* CURSOR */
.cursor { width:8px;height:8px;background:var(--dark);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999; }
.cursor-ring { width:32px;height:32px;border:1px solid var(--dark);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transition:transform 0.35s ease,width 0.3s,height 0.3s;opacity:0.4; }
/* White cursor on dark sections */
#products .cursor, section[style*="#2a2438"] .cursor { background:white; }

/* NAV */
nav { position:fixed;top:0;left:0;right:0;z-index:100;padding:22px 48px;display:flex;align-items:center;gap:48px;background:rgba(232,227,240,0.85);backdrop-filter:blur(12px);transition:background 0.3s; }
nav.scrolled { background:rgba(232,227,240,0.97);box-shadow:0 1px 0 rgba(0,0,0,0.06); }
.nav-logo { font-size:18px;letter-spacing:0.05em;font-weight:300;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text); }
.nav-links { display:flex;gap:32px;list-style:none;margin-left:auto; }
.nav-links a { font-size:13px;letter-spacing:0.07em;color:var(--text);text-decoration:none;position:relative;transition:color 0.2s; }
.nav-links a::after { content:'';position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--dark);transform:scaleX(0);transition:transform 0.3s;transform-origin:left; }
.nav-links a:hover::after, .nav-links a.active::after { transform:scaleX(1); }
.nav-links a.active { font-weight:500; }

/* BUTTONS */
.btn { display:inline-flex;align-items:center;gap:10px;background:var(--dark);color:var(--white);padding:14px 28px;border-radius:50px;font-family:var(--sans);font-size:13px;letter-spacing:0.06em;text-decoration:none;border:none;cursor:none;transition:transform 0.25s,box-shadow 0.25s; }
.btn:hover { transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.2); }
.btn-outline { background:transparent;color:var(--dark);border:1px solid var(--dark); }
.btn-outline:hover { background:var(--dark);color:var(--white); }
.btn-lavender { background:var(--lavender);color:var(--dark); }
.btn-lavender:hover { background:var(--lavender-mid); box-shadow:0 8px 24px rgba(0,0,0,0.1); }

/* SECTION COMMONS */
section { padding:120px 48px; }
.section-label { font-size:11px;letter-spacing:0.2em;color:var(--text-light);margin-bottom:20px;display:block; }
.section-title { font-family:var(--serif);font-size:clamp(40px,6vw,72px);font-weight:300;line-height:1.1; }

/* PAGE HERO (inner pages) */
.page-hero { padding:160px 48px 80px;background:var(--lavender);position:relative;overflow:hidden; }
.page-hero-orb { position:absolute;border-radius:50%;pointer-events:none;width:500px;height:500px;background:radial-gradient(circle,rgba(184,172,216,0.3) 0%,transparent 70%);top:-150px;right:-100px;animation:floatOrb 8s ease-in-out infinite; }
@keyframes floatOrb { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-20px,15px)} }
.page-hero-label { font-size:11px;letter-spacing:0.2em;color:var(--text-light);margin-bottom:20px;display:block;opacity:0;animation:fadeUp 0.7s 0.2s forwards; }
.page-hero-title { font-family:var(--serif);font-size:clamp(56px,8vw,110px);font-weight:300;line-height:0.95;letter-spacing:-0.02em;opacity:0;animation:fadeUp 0.8s 0.4s forwards; }
.page-hero-title em { font-style:italic;color:var(--accent); }
.page-hero-sub { font-size:15px;color:var(--text-light);line-height:1.8;max-width:560px;margin-top:32px;opacity:0;animation:fadeUp 0.8s 0.6s forwards; }

@keyframes fadeUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }

/* CARDS / LISTS */
.req-list { list-style:none; }
.req-list li { font-size:13px;color:var(--text-light);line-height:1.9;padding-left:18px;position:relative; }
.req-list li::before { content:'—';position:absolute;left:0;color:var(--accent); }

.info-box { background:rgba(255,255,255,0.65);border-radius:16px;padding:24px;margin-bottom:16px; }
.info-box-title { font-size:11px;letter-spacing:0.14em;font-weight:500;margin-bottom:14px;display:block; }
.info-box ul { list-style:none; }
.info-box ul li { font-size:13px;color:var(--text-light);line-height:1.9;padding-left:18px;position:relative; }
.info-box ul li::before { content:'—';position:absolute;left:0;color:var(--accent); }

.price-card { border:1px solid var(--lavender-deep);border-radius:20px;padding:40px 32px;position:relative;transition:border-color 0.3s,transform 0.3s,box-shadow 0.3s;background:var(--cream); }
.price-card:hover { border-color:var(--accent);transform:translateY(-6px);box-shadow:0 24px 60px rgba(155,140,191,0.15); }
.price-card.featured { background:#2a2438;color:var(--white);border-color:#2a2438; }
.price-badge { position:absolute;top:20px;right:20px;background:var(--accent);color:var(--white);font-size:10px;letter-spacing:0.12em;padding:4px 12px;border-radius:50px; }
.price-name { font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:8px; }
.price-subtitle { font-size:11px;letter-spacing:0.1em;color:var(--text-light);margin-bottom:24px; }
.price-card.featured .price-subtitle { color:rgba(255,255,255,0.5); }
.price-amount { font-family:var(--serif);font-size:52px;font-weight:300;line-height:1;margin-bottom:4px; }
.price-card.featured .price-amount { color:var(--white); }
.price-cur { font-size:22px;vertical-align:top;margin-top:10px;display:inline-block; }
.price-per { font-size:12px;color:var(--text-light);margin-bottom:8px; }
.price-card.featured .price-per { color:rgba(255,255,255,0.5); }
.price-future { font-size:11px;font-style:italic;color:var(--accent);margin-bottom:20px; }
.price-card.featured .price-future { color:rgba(184,172,216,0.8); }
.price-desc { font-size:13px;color:var(--text-light);line-height:1.7;margin-bottom:20px; }
.price-card.featured .price-desc { color:rgba(255,255,255,0.6); }
.price-includes { list-style:none;margin-bottom:28px; }
.price-includes li { font-size:13px;color:var(--text-light);padding:7px 0;border-bottom:1px solid rgba(0,0,0,0.06);display:flex;align-items:center;gap:10px; }
.price-card.featured .price-includes li { border-color:rgba(255,255,255,0.1);color:rgba(255,255,255,0.6); }
.price-includes li::before { content:'✦';font-size:8px;color:var(--accent);flex-shrink:0; }

.not-for { background:rgba(155,140,191,0.1);border-radius:16px;padding:28px 36px;margin-top:28px; }
.not-for h4 { font-size:11px;letter-spacing:0.15em;font-weight:500;margin-bottom:14px; }
.not-for ul { list-style:none; }
.not-for ul li { font-size:13px;color:var(--text-light);line-height:1.9;padding-left:18px;position:relative; }
.not-for ul li::before { content:'—';position:absolute;left:0; }

/* MODAL */
.modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);z-index:1000;display:none;align-items:center;justify-content:center; }
.modal-overlay.open { display:flex; }
.modal-box { background:var(--white);border-radius:24px;padding:48px;max-width:540px;width:90%;position:relative;max-height:90vh;overflow-y:auto; }
.modal-close { position:absolute;top:20px;right:24px;background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-light); }
.modal-box h3 { font-family:var(--serif);font-size:32px;font-weight:300;margin-bottom:8px; }
.modal-sub { font-size:13px;color:var(--text-light);margin-bottom:32px;line-height:1.7; }
.fg { margin-bottom:18px;text-align:left; }
.fg label { display:block;font-size:11px;letter-spacing:0.12em;font-weight:500;margin-bottom:7px; }
.fg input,.fg textarea,.fg select { width:100%;padding:13px 16px;border:1px solid var(--lavender-deep);border-radius:12px;font-family:var(--sans);font-size:13px;color:var(--text);background:var(--cream);outline:none;transition:border-color 0.2s;resize:none; }
.fg input:focus,.fg textarea:focus,.fg select:focus { border-color:var(--accent); }
.fg textarea { height:90px; }
.form-btn { width:100%;padding:15px;border-radius:50px;background:var(--dark);color:var(--white);font-family:var(--sans);font-size:13px;letter-spacing:0.08em;border:none;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s;margin-top:8px; }
.form-btn:hover { transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.2); }
.form-success { text-align:center;padding:40px 0;display:none; }
.form-success .check { font-size:48px;margin-bottom:16px; }
.form-success h4 { font-family:var(--serif);font-size:28px;font-weight:300;margin-bottom:12px; }
.form-success p { font-size:13px;color:var(--text-light);line-height:1.7; }

/* FOOTER */
footer { background:#1e1a2e;color:var(--white);padding:60px 48px 40px; }
.footer-inner { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px; }
.footer-brand { font-family:var(--serif);font-size:36px;font-weight:300; }
.footer-brand span { font-style:italic;color:var(--lavender-deep); }
.footer-links { display:flex;flex-direction:column;gap:10px;text-align:right; }
.footer-links a { color:rgba(255,255,255,0.5);text-decoration:none;font-size:13px;transition:color 0.2s; }
.footer-links a:hover { color:var(--white); }
.footer-bottom { display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,0.08);padding-top:24px; }
.footer-bottom p { font-size:12px;color:rgba(255,255,255,0.3); }

/* REVEAL */
.reveal { opacity:0;transform:translateY(40px);transition:opacity 0.8s ease,transform 0.8s ease; }
.reveal.visible { opacity:1;transform:none; }

/* RESPONSIVE */
@media(max-width:900px) {
  nav { padding:18px 24px; }
  .nav-links { display:none; }
  section { padding:80px 24px; }
  .page-hero { padding:120px 24px 60px; }
}

/* Light cursor on dark sections */
#products ~ .cursor, .dark-section .cursor { background: var(--white); }

/* ORANGE ACCENT — more usage */
.section-label { color: var(--orange) !important; }
.testi-stars { color: var(--orange) !important; }
.format-num { color: var(--orange) !important; }
.price-future { color: var(--orange) !important; }
.price-card.featured .price-future { color: rgba(253,109,47,0.8) !important; }
.about-accent-line { background: linear-gradient(var(--orange), transparent) !important; }
.strategy-quote { border-left-color: var(--orange) !important; }
.req-list li::before { color: var(--orange) !important; }
.info-box ul li::before { color: var(--orange) !important; }
.strategy-list li::before { color: var(--orange) !important; }
.strategy-block .stag { color: var(--orange) !important; }
.build-card h4 { color: var(--orange); }
.partner-note h4 { color: var(--orange); }

/* FOOTER SOCIAL */
.footer-social { display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap; }
.social-link { color:rgba(255,255,255,0.6);text-decoration:none;font-size:13px;letter-spacing:0.06em;transition:color 0.2s;display:flex;align-items:center;gap:8px; }
.social-link:hover { color:var(--orange); }
