/* ════════════════════════════════════════════════════════════
   RankVisibly redesign (TVF / 80K design system), SITE-WIDE additions.
   The 80K <style> (tokens, .hero/.hero-grid, .section-*, .framework-*,
   .who-*, .pain-*, .faq-*, .cta-band, .btn-*, .fade-in) is inlined BEFORE
   this. Here: nav dropdowns, a real multi-column footer, and clean
   homepage cards, all on the 80K tokens (navy #132248 / pink / off-white,
   Cormorant Garamond + Switzer). Elegant, not bold.
   ════════════════════════════════════════════════════════════ */

/* ── NAV: dropdowns ─────────────────────────────────────────── */
.nav-item{position:relative;display:flex;align-items:center;}
.nav-item > a{display:inline-flex;align-items:center;gap:6px;}
.nav-caret{width:9px;height:9px;stroke:currentColor;stroke-width:2.4;fill:none;opacity:.65;transition:transform .25s;}
.nav-item:hover .nav-caret,.nav-item:focus-within .nav-caret{transform:rotate(180deg);}
.nav-dropdown{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
  min-width:264px;background:rgba(19,34,72,0.99);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,0.10);border-radius:14px;
  padding:10px;box-shadow:0 26px 60px rgba(0,0,0,0.42);
  opacity:0;visibility:hidden;pointer-events:none;transition:all .25s ease;z-index:120;
}
.nav-dropdown::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}
.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.nav-dropdown.dd-wide{min-width:520px;display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.nav-dd-link{display:block;padding:11px 14px;border-radius:9px;text-decoration:none;transition:background .2s;}
.nav-dd-link:hover{background:rgba(200,2,110,0.16);}
.nav-dd-title{font-family:var(--sans);font-size:14px;font-weight:600;color:var(--off-white);}
.nav-dd-sub{display:block;font-size:12px;font-weight:400;color:var(--slate);margin-top:2px;line-height:1.4;}
.nav-dd-head{grid-column:1/-1;padding:8px 14px 4px;font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pink-light);}

/* ── HERO (homepage): form on the right of hero-grid ────────── */
.hero-grid .form-wrapper{margin:0;max-width:none;width:100%;}
/* compact the hero form so it doesn't dominate the hero */
.hero-grid .form-wrapper{padding:24px 24px 26px;}
.hero-grid .form-spots{margin-bottom:14px;}
.hero-grid .form-step-indicator{margin-bottom:16px;}
.hero-grid .step-label{margin-bottom:12px;}
.hero-grid .form-group{margin-bottom:12px;}
.hero-grid .form-group label{margin-bottom:5px;font-size:12.5px;}
.hero-grid .form-group input,.hero-grid .form-group select,.hero-grid .form-group textarea{padding:11px 14px;}
.hero-grid .form-nav{margin-top:4px;}
.home-formhead{margin-bottom:16px;}
.home-formhead h2{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--off-white);line-height:1.1;margin-bottom:8px;}
.home-formhead h2 em{font-style:italic;color:var(--pink-light);}
.home-formhead p{font-size:14.5px;color:rgba(251,250,251,0.72);line-height:1.55;}

/* ── Section frame ──────────────────────────────────────────── */
.sec{padding:104px 0;}
.sec.tight{padding:76px 0;}
.sec--navy{background:var(--navy-deep);position:relative;overflow:hidden;}
.sec--navy .section-title{color:var(--off-white);}
.sec--navy .section-body{color:rgba(251,250,251,0.82);}
.sec-head{max-width:720px;margin-bottom:52px;}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.sec-head.center .section-eyebrow{justify-content:center;}

/* ── Light cards (services / why / industries) ──────────────── */
.rv-grid{display:grid;gap:24px;}
.rv-grid.g3{grid-template-columns:repeat(3,1fr);}
.rv-grid.g4{grid-template-columns:repeat(4,1fr);}
.rv-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px 30px;transition:transform .35s ease,box-shadow .35s ease,border-color .35s;display:flex;flex-direction:column;}
.rv-card:hover{transform:translateY(-5px);box-shadow:0 26px 56px rgba(19,34,72,0.10);border-color:var(--border-strong);}
.rv-card-ico{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;
  background:linear-gradient(140deg,var(--navy) 0%,var(--navy-mid) 100%);
  border:1px solid rgba(200,2,110,0.30);
  box-shadow:0 10px 24px rgba(19,34,72,0.16),inset 0 1px 0 rgba(255,255,255,0.06);
  color:var(--pink-light);transition:border-color .35s,transform .35s;}
.rv-card-ico svg{width:27px;height:27px;display:block;}
.rv-card:hover .rv-card-ico,.rv-linkcard:hover .rv-card-ico{border-color:rgba(200,2,110,0.55);transform:translateY(-1px);}
.sec--navy .rv-card-ico{background:linear-gradient(140deg,#0a1228 0%,#1a2f5e 100%);border-color:rgba(220,95,163,0.5);box-shadow:0 0 0 1px rgba(220,95,163,0.08),0 10px 26px rgba(0,0,0,0.32);}
.rv-card-tag{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:12px;}
.rv-card-title{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--navy);line-height:1.12;margin-bottom:12px;}
.rv-card-title em{font-style:italic;color:var(--pink);}
.rv-card-body{font-size:15px;color:#42506b;line-height:1.65;}
.rv-card-list{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:10px;}
.rv-card-list li{position:relative;padding-left:27px;font-size:14.5px;color:#42506b;line-height:1.5;}
.rv-card-list li::before{content:"";position:absolute;left:0;top:2px;width:17px;height:17px;border-radius:50%;background:var(--pink-pale);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8026e' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/10px no-repeat,linear-gradient(#000,#000);
  -webkit-mask-composite:source-over;}
.rv-card-list li::after{content:"";position:absolute;left:3px;top:5px;width:11px;height:11px;background:no-repeat center/11px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8026e' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");}
.rv-linkcard{text-decoration:none;}
.rv-card-more{margin-top:auto;padding-top:18px;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--pink);display:inline-flex;align-items:center;gap:6px;}
.rv-linkcard:hover .rv-card-more .arrow{transform:translateX(4px);transition:transform .25s;}

/* ── Process steps ──────────────────────────────────────────── */
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.proc-step{position:relative;padding-top:22px;border-top:2px solid var(--border-strong);}
.proc-step-n{font-family:var(--serif);font-style:italic;font-size:30px;font-weight:600;color:var(--pink);line-height:1;}
.proc-step-title{font-family:var(--serif);font-size:23px;font-weight:700;color:var(--navy);margin:10px 0 10px;}
.proc-step-body{font-size:14.5px;color:#42506b;line-height:1.6;}

/* ── Testimonials ───────────────────────────────────────────── */
.tq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tq-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px 30px;display:flex;flex-direction:column;gap:20px;}
.tq-stars{display:flex;gap:3px;}
.tq-stars svg{width:17px;height:17px;fill:var(--pink);}
.tq-text{font-family:var(--serif);font-size:22px;font-weight:500;font-style:italic;color:var(--navy);line-height:1.4;}
.tq-by{display:flex;align-items:center;gap:13px;margin-top:auto;}
.tq-av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--pink),#9a0254);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:700;font-size:17px;color:#fff;flex-shrink:0;}
.tq-name{font-family:var(--sans);font-size:15px;font-weight:700;color:var(--navy);}
.tq-role{font-size:12.5px;color:var(--slate);}

/* ── Story (centered) ───────────────────────────────────────── */
.rv-story-c{max-width:820px;margin:0 auto;text-align:center;}
.rv-story-c .section-eyebrow{justify-content:center;}
.rv-story-c .section-body{margin:0 auto;font-size:20px;max-width:700px;}

/* ── Rent-to-own strip ──────────────────────────────────────── */
.rto-strip{background:linear-gradient(120deg,var(--navy) 0%,var(--navy-mid) 100%);border-radius:22px;padding:44px 48px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.rto-strip h2{font-family:var(--serif);font-size:clamp(26px,3vw,34px);font-weight:700;color:var(--off-white);line-height:1.1;}
.rto-strip h2 em{font-style:italic;color:var(--pink-light);}
.rto-strip p{font-size:15px;color:rgba(251,250,251,0.75);margin-top:8px;}

/* ── AI Visibility Playbook (dedicated AI section, navy) ─────── */
.aip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.aip-card{background:var(--navy-mid);border:1px solid rgba(255,255,255,0.09);border-radius:16px;padding:28px 26px;transition:transform .35s,border-color .35s,background .35s;}
.aip-card:hover{transform:translateY(-4px);border-color:rgba(220,95,163,0.42);background:#21356a;}
.aip-k{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--pink-light);margin-bottom:13px;display:flex;align-items:baseline;gap:9px;}
.aip-k .n{font-family:var(--serif);font-style:italic;font-size:21px;font-weight:600;line-height:1;}
.aip-title{font-family:var(--serif);font-size:23px;font-weight:700;color:var(--off-white);line-height:1.12;margin-bottom:11px;}
.aip-body{font-size:14px;color:rgba(251,250,251,0.76);line-height:1.62;}
.aip-stat{display:block;margin-top:13px;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--pink-light);}
.aip-card.note{background:transparent;border-style:dashed;border-color:rgba(255,255,255,0.18);}
.aip-card.note .aip-title{color:rgba(251,250,251,0.9);}
.aip-card.note .aip-body{color:rgba(251,250,251,0.6);}
@media(max-width:900px){.aip-grid{grid-template-columns:1fr;}}

/* ── Case studies ───────────────────────────────────────────── */
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cs-card{display:flex;flex-direction:column;background:linear-gradient(150deg,var(--navy) 0%,var(--navy-mid) 100%);border:1px solid rgba(255,255,255,0.10);border-radius:18px;padding:34px 30px;text-decoration:none;position:relative;overflow:hidden;box-shadow:0 16px 40px rgba(11,22,48,0.16);transition:transform .35s,box-shadow .35s,border-color .35s;}
.cs-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--pink),var(--pink-light));transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.cs-card:hover{transform:translateY(-6px);box-shadow:0 32px 64px rgba(11,22,48,0.30);border-color:rgba(220,95,163,0.45);}
.cs-card:hover::before{transform:scaleX(1);}
.cs-tag{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-light);margin-bottom:18px;}
.cs-from{font-family:var(--sans);font-size:13px;font-weight:500;color:rgba(251,250,251,0.55);margin-bottom:2px;}
.cs-headline{font-family:var(--serif);font-size:28px;font-weight:700;color:var(--off-white);line-height:1.08;margin-bottom:14px;-webkit-text-stroke:0.45px currentColor;text-stroke:0.45px currentColor;}
.cs-headline em{font-style:italic;color:var(--pink-light);}
.cs-body{font-size:14.5px;color:rgba(251,250,251,0.80);line-height:1.62;margin-bottom:18px;}
.cs-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px;}
.cs-chip{font-family:var(--sans);font-size:11.5px;font-weight:600;color:rgba(251,250,251,0.92);background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.16);border-radius:999px;padding:5px 11px;}
.cs-metric{display:flex;align-items:center;gap:11px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.14);margin-top:auto;}
.cs-metric-val{font-family:var(--serif);font-style:italic;font-size:32px;font-weight:600;color:var(--pink-light);line-height:1;flex-shrink:0;}
.cs-metric-lbl{font-size:12.5px;color:rgba(251,250,251,0.62);line-height:1.35;}
.cs-link{margin-top:18px;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--pink-light);display:inline-flex;align-items:center;gap:6px;}
.cs-card:hover .cs-link .arrow{transform:translateX(4px);}
.cs-link .arrow{transition:transform .25s;}
.cs-all{text-align:center;margin-top:40px;}
.cs-all a{font-family:var(--sans);font-size:15px;font-weight:700;color:var(--pink);text-decoration:none;display:inline-flex;align-items:center;gap:7px;}
.cs-all a:hover{text-decoration:underline;}
@media(max-width:900px){.cs-grid{grid-template-columns:1fr;}}

/* ── Industries: "and many more" chip cloud ─────────────────── */
.ind-more{margin-top:46px;text-align:center;}
.ind-more-label{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-bottom:22px;}
.ind-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:11px;max-width:920px;margin:0 auto;}
.ind-chip{font-family:var(--sans);font-size:14.5px;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 19px;transition:all .25s;}
.ind-chip:hover{border-color:var(--pink);color:var(--pink);transform:translateY(-2px);box-shadow:0 8px 18px rgba(19,34,72,0.08);}
.ind-more-foot{margin-top:32px;font-size:16.5px;color:#42506b;line-height:1.6;}
.ind-more-foot a{color:var(--pink);font-weight:700;text-decoration:none;white-space:nowrap;}
.ind-more-foot a:hover{text-decoration:underline;}
.sec--navy .ind-chip{background:var(--navy-mid);border-color:rgba(255,255,255,0.12);color:rgba(251,250,251,0.88);}
.sec--navy .ind-chip:hover{border-color:var(--pink-light);color:var(--pink-light);}
.sec--navy .ind-more-label{color:var(--slate-2,#9098a8);}
.sec--navy .ind-more-foot{color:rgba(251,250,251,0.8);}
.sec--navy .ind-more-foot a{color:var(--pink-light);}

/* ── NAVY-SECTION variants (flip cards/text dark on .sec--navy) ── */
.sec--navy .section-eyebrow .eyebrow-text{color:var(--pink-light);}
.sec--navy .rv-card{background:var(--navy-mid);border-color:rgba(255,255,255,0.09);}
.sec--navy .rv-card:hover{box-shadow:0 26px 56px rgba(0,0,0,0.35);border-color:rgba(200,2,110,0.4);background:var(--navy-soft,#1f2c52);}
.sec--navy .rv-card-title{color:var(--off-white);}
.sec--navy .rv-card-title em{color:var(--pink-light);}
.sec--navy .rv-card-body,.sec--navy .rv-card-list li{color:rgba(251,250,251,0.76);}
.sec--navy .rv-card-tag{color:var(--pink-light);}
.sec--navy .rv-card-ico{background:rgba(200,2,110,0.16);}
.sec--navy .rv-card-ico svg{stroke:var(--pink-light);}
.sec--navy .rv-card-list li::after{filter:brightness(1.6);}
.sec--navy .rv-card-more{color:var(--pink-light);}
.sec--navy .proc-step{border-top-color:rgba(255,255,255,0.2);}
.sec--navy .proc-step-title{color:var(--off-white);}
.sec--navy .proc-step-body{color:rgba(251,250,251,0.72);}
.sec--navy .tq-card{background:var(--navy-mid);border-color:rgba(255,255,255,0.09);}
.sec--navy .tq-text{color:var(--off-white);}
.sec--navy .tq-name{color:#fff;}
.sec--navy .tq-role{color:var(--slate-2,#9098a8);}
.sec--navy .rv-story-c .section-body{color:rgba(251,250,251,0.85);}
/* subtle pink glow anchors for navy sections */
.sec--navy > .hero-glow-tr,.sec--navy > .hero-glow-bl{opacity:.6;}

/* ── FOOTER (real multi-column) ─────────────────────────────── */
.site-footer{background:var(--navy-deep);padding:76px 0 34px;}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:44px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,0.10);}
.footer-brand-col .footer-logo-img{height:40px;width:auto;margin-bottom:18px;}
.footer-tag{font-size:14.5px;color:rgba(251,250,251,0.66);line-height:1.65;max-width:290px;margin-bottom:22px;}
.footer-contact a{display:flex;align-items:center;gap:9px;font-size:14px;color:rgba(251,250,251,0.82);text-decoration:none;margin-bottom:10px;transition:color .2s;}
.footer-contact a:hover{color:var(--pink-light);}
.footer-contact svg{width:15px;height:15px;stroke:var(--pink-light);fill:none;stroke-width:2;flex-shrink:0;}
.footer-col h4{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-light);margin-bottom:18px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
.footer-col a{font-size:14px;color:rgba(251,250,251,0.72);text-decoration:none;transition:color .2s;}
.footer-col a:hover{color:#fff;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding-top:26px;}
.footer-copy{font-size:13px;color:rgba(251,250,251,0.5);}
.footer-legal{display:flex;gap:22px;}
.footer-legal a{font-size:13px;color:rgba(251,250,251,0.6);text-decoration:none;}
.footer-legal a:hover{color:var(--pink-light);}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:1024px){
  .rv-grid.g4{grid-template-columns:repeat(2,1fr);}
  .proc-grid{grid-template-columns:repeat(2,1fr);}
  .tq-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr 1fr;}
  .footer-brand-col{grid-column:1/-1;}
}
@media(max-width:768px){
  /* prevent iOS focus auto-zoom: lead-form inputs must be >=16px on phones */
  .form-group input,.form-group select,.form-group textarea{font-size:16px;}
  .sec{padding:68px 0;}
  .rv-grid.g3,.rv-grid.g4{grid-template-columns:1fr;}
  .proc-grid{grid-template-columns:1fr;}
  .rto-strip{padding:34px 28px;}
  .nav-item{flex-direction:column;align-items:flex-start;width:100%;}
  .nav-dropdown{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;min-width:0;width:100%;background:transparent;border:none;box-shadow:none;padding:4px 0 4px 14px;display:block;}
  .nav-dropdown.dd-wide{grid-template-columns:1fr;display:block;}
  .nav-caret,.nav-dd-sub{display:none;}
}
@media(max-width:560px){
  .footer-top{grid-template-columns:1fr 1fr;}
}