/*
 * InClub Landing — Vol04 "Fun" stylesheet.
 *
 * Extracted verbatim from the React component
 *   app/src/components/landing/LandingPage.js (STYLES constant)
 * so the static HTML pages render pixel-identical to the previous SPA.
 *
 * Scoping under .ic-page is preserved even though there's no react-native-web
 * reset on these pages — keeps future copy/paste between the two trees safe.
 */

@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Fraunces:ital,wght@0,500;0,800;1,400&family=Hanken+Grotesk:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@500&display=swap');

html { height: auto; overflow-y: auto; overflow-x: hidden; scrollbar-gutter: stable; }
body { margin: 0; height: auto; overflow: visible; background: #FFFFFF; color: #0A0A0A; }

.ic-page {
  --ic-ink:#0A0A0A;
  --ic-ink-soft:#5A5A5A;
  --ic-ink-mid:#767676;
  --ic-paper:#FFFFFF;
  --ic-mist:#F5F5F5;
  --ic-smoke:#EEEEEE;
  --ic-hairline:rgba(10,10,10,.08);
  --ic-hairline-2:rgba(10,10,10,.14);
  color-scheme: only light;
  background:#FFFFFF;
  color:#0A0A0A;
  font-family:"Hanken Grotesk", system-ui, sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  overflow-x:hidden;
}
.ic-page *, .ic-modal-overlay * { box-sizing: border-box; margin:0; padding:0; }
.ic-page img { max-width:100%; display:block; }
.ic-page a { color:inherit; text-decoration:none; }
.ic-page button { font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
.ic-page h1, .ic-page h2, .ic-page h3, .ic-page h4 { font-weight:inherit; }

@media (prefers-color-scheme: dark){
  .ic-page, .ic-page p, .ic-page h1, .ic-page h2, .ic-page h3, .ic-page span, .ic-page div { forced-color-adjust: none; }
}

.ic-page.view-brands  .ic-members-only,
.ic-page.view-members .ic-brands-only { display: none !important; }

.ic-sheet { max-width: 1280px; margin: 0 auto; padding: 0 28px; }

.ic-lbl { font-family:"Bricolage Grotesque",sans-serif; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ic-ink); }

@keyframes ic-pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.35; transform:scale(.65); } }

/* NAV */
.ic-nav { position: sticky; top:0; z-index:50; background:rgba(255,255,255,.88); backdrop-filter:saturate(140%) blur(14px); -webkit-backdrop-filter:saturate(140%) blur(14px); border-bottom:1px solid transparent; transition:border-color .2s, box-shadow .2s, background .2s; }
.ic-nav.scrolled { border-color: var(--ic-hairline); box-shadow: 0 2px 18px rgba(10,10,10,.04); }
.ic-nav-in { display:flex; align-items:center; justify-content:space-between; padding:18px 28px; max-width:1280px; margin:0 auto; gap:18px; }
.ic-crest { display:inline-flex; align-items:baseline; font-family:"Fraunces",serif; font-size:28px; letter-spacing:-.02em; line-height:1; color:var(--ic-ink); }
.ic-crest .in   { font-style:italic; font-weight:400; }
.ic-crest .club { font-weight:800; }
.ic-nav-tabs { display:flex; gap:0; background:rgba(10,10,10,.1); padding:4px; border-radius:999px; }
.ic-nav-tabs a, .ic-nav-tabs button { padding:9px 20px; border-radius:999px; font-family:"Bricolage Grotesque",sans-serif; font-size:13px; font-weight:700; color:#3F3F3F; transition:all .2s; letter-spacing:.01em; text-decoration:none; }
.ic-nav-tabs a.on, .ic-nav-tabs button.on { background: var(--ic-ink); color: var(--ic-paper); }
.ic-nav-tabs a:not(.on):hover, .ic-nav-tabs button:not(.on):hover { color: var(--ic-ink); }
.ic-nav-right { display:flex; align-items:center; gap:12px; }
.ic-nav-login { display:inline-flex; align-items:center; padding:8px 16px; border-radius:999px; border:1px solid var(--ic-hairline-2); background:transparent; color:var(--ic-ink); font-family:"Bricolage Grotesque",sans-serif; font-size:13px; font-weight:700; letter-spacing:.01em; text-decoration:none; transition: background .2s, transform .2s, border-color .2s; }
.ic-nav-login:hover { background: var(--ic-mist); transform: translateY(-1px); }
.ic-page.view-members .ic-nav .ic-nav-login { border-color: rgba(255,255,255,.2); color:#FFFFFF; }
.ic-page.view-members .ic-nav .ic-nav-login:hover { background: rgba(255,255,255,.08); }

@media (max-width:720px){
  .ic-crest { font-size:22px; }
  .ic-nav-in { padding:14px 18px; gap:10px; }
  .ic-nav-right { gap:8px; }
  .ic-nav-tabs { padding:3px; }
  .ic-nav-tabs a, .ic-nav-tabs button { padding:7px 12px; font-size:11px; letter-spacing:0; }
  .ic-nav-login { padding:6px 12px; font-size:11px; }
}

/* Reveal animation */
@keyframes ic-reveal { from { opacity:0; transform: translateY(20px); } to { opacity:1; transform: none; } }
.ic-page [data-reveal] { opacity:0; transform: translateY(20px); animation: ic-reveal .85s cubic-bezier(.2,.7,.2,1) .1s forwards; }
.ic-page [data-reveal][data-delay="1"] { animation-delay: .18s; }
.ic-page [data-reveal][data-delay="2"] { animation-delay: .26s; }
.ic-page [data-reveal][data-delay="3"] { animation-delay: .34s; }

/* HERO */
.ic-hero { padding:72px 0 120px; position:relative; overflow:hidden; }
.ic-hero-grid {
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  grid-template-areas: "heading visual" "body visual";
  gap:48px;
  align-items:center;
}
.ic-hero-headline { grid-area: heading; align-self: end; }
.ic-hero-body     { grid-area: body;    align-self: start; }
.ic-hero-visual   { grid-area: visual; }
@media (max-width:960px){
  .ic-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "heading" "visual" "body";
    gap:32px;
  }
  .ic-hero-headline, .ic-hero-body { align-self: auto; }
}
.ic-eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--ic-ink); font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; margin-bottom:28px; }
.ic-eyebrow .pulse { width:8px; height:8px; border-radius:50%; background:var(--ic-ink); animation: ic-pulse 1.8s infinite; }
.ic-h1 { font-size: clamp(36px,4.8vw,64px); line-height:1; font-family:"Bricolage Grotesque",sans-serif; font-weight:800; letter-spacing:-.025em; color:var(--ic-ink); }
.ic-h1 em { font-family:"Instrument Serif",serif; font-style:italic; font-weight:400; font-size:1.05em; }
.ic-hero-lead { font-size:17px; max-width:460px; margin-top:28px; color:var(--ic-ink-soft); font-weight:500; line-height:1.55; }
.ic-hero-lead strong { color:var(--ic-ink); font-weight:700; }
.ic-hero-cta { display:flex; gap:12px; margin-top:40px; flex-wrap:wrap; }
.ic-hero-available { margin-top:18px; font-family:"Bricolage Grotesque",sans-serif; font-size:12px; color:var(--ic-ink-mid); letter-spacing:.1em; font-weight:600; text-transform:uppercase; }
.ic-hero-pills { margin-top:28px; display:flex; gap:8px; flex-wrap:wrap; }
.ic-hero-pills .pill { padding:9px 16px; background:transparent; border:1px solid var(--ic-hairline-2); border-radius:999px; font-family:"Bricolage Grotesque",sans-serif; font-size:12px; font-weight:600; color:var(--ic-ink); letter-spacing:.02em; transition: transform .2s, background .2s; }
.ic-hero-pills .pill:hover { transform: translateY(-2px); background: var(--ic-mist); }
.ic-hero-visual { position:relative; display:flex; justify-content:center; align-items:center; }
.ic-hero-visual img { max-width:100%; max-height:720px; margin:0 auto; }

/* Buttons */
.ic-btn { display:inline-flex; align-items:center; gap:10px; padding:14px 24px; border-radius:999px; font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:14px; letter-spacing:.01em; transition: transform .2s, box-shadow .2s, background .2s, color .2s; cursor:pointer; text-decoration:none; }
.ic-btn.primary { background:var(--ic-ink); color:var(--ic-paper); }
.ic-btn.primary:hover { transform: translateY(-2px); box-shadow: 0 18px 30px -14px rgba(10,10,10,.45); }
.ic-btn.ghost { background:transparent; color:var(--ic-ink); border:1px solid var(--ic-hairline-2); }
.ic-btn.ghost:hover { background: var(--ic-mist); transform: translateY(-1px); }
.ic-btn.invert { background:var(--ic-paper); color:var(--ic-ink); }
.ic-btn.invert:hover { transform: translateY(-2px); box-shadow: 0 14px 26px -10px rgba(255,255,255,.25); }
.ic-btn .arr { transition: transform .2s; }
.ic-btn:hover .arr { transform: translateX(3px); }

/* Members hero (dark) */
.ic-page.view-members .ic-nav { background: rgba(10,10,10,.92); border-bottom-color: rgba(255,255,255,.06); }
.ic-page.view-members .ic-nav.scrolled { box-shadow: 0 2px 18px rgba(0,0,0,.4); }
.ic-page.view-members .ic-nav .ic-crest { color: #FFFFFF; }
.ic-page.view-members .ic-nav-tabs { background: rgba(255,255,255,.15); }
.ic-page.view-members .ic-nav-tabs a, .ic-page.view-members .ic-nav-tabs button { color: #FFFFFF; opacity:.85; }
.ic-page.view-members .ic-nav-tabs a.on, .ic-page.view-members .ic-nav-tabs button.on { background: #FFFFFF; color: #0A0A0A; opacity:1; }
.ic-page.view-members .ic-nav-tabs a:not(.on):hover, .ic-page.view-members .ic-nav-tabs button:not(.on):hover { opacity:1; }

.ic-hero.members-only { background:#0A0A0A; color:#FFFFFF; }
.ic-hero.members-only .ic-h1 { color:#FFFFFF; }
.ic-hero.members-only .ic-hero-lead { color: rgba(255,255,255,.7); }
.ic-hero.members-only .ic-hero-lead strong { color:#FFFFFF; }
.ic-hero.members-only .ic-hero-available { color: rgba(255,255,255,.5); }
.ic-hero.members-only .ic-hero-pills .pill { background:transparent; border-color: rgba(255,255,255,.18); color: rgba(255,255,255,.9); }
.ic-hero.members-only .ic-hero-pills .pill:hover { background: rgba(255,255,255,.08); transform: translateY(-2px); }
.ic-hero.members-only .ic-btn.primary { background:#FFFFFF; color:#0A0A0A; }
.ic-hero.members-only .ic-btn.primary:hover { box-shadow: 0 18px 30px -14px rgba(255,255,255,.25); }
.ic-hero.members-only .ic-btn.ghost { border-color: rgba(255,255,255,.18); color:#FFFFFF; }
.ic-hero.members-only .ic-btn.ghost:hover { background: rgba(255,255,255,.06); }

/* Dark block */
.ic-dark-block { padding:120px 0; background:var(--ic-ink); color:var(--ic-paper); position:relative; overflow:hidden; }
.ic-dark-block::before { content:""; position:absolute; top:-200px; right:-100px; width:500px; height:500px; border-radius:50%; background: radial-gradient(circle, rgba(255,255,255,.04), transparent 60%); pointer-events:none; }
.ic-dark-block-grid {
  display:grid;
  grid-template-columns: 0.85fr 1.15fr;
  grid-template-areas: "heading visual" "body visual";
  gap:60px;
  align-items:center;
  position:relative;
  z-index:1;
}
.ic-dark-block-grid > .ic-block-headline { grid-area: heading; align-self: end; }
.ic-dark-block-grid > .ic-block-body     { grid-area: body;    align-self: start; }
.ic-dark-block-grid > .img-wrap          { grid-area: visual; }
@media (max-width:920px){
  .ic-dark-block-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "heading" "visual" "body";
    gap:36px;
  }
  .ic-dark-block-grid > .ic-block-headline,
  .ic-dark-block-grid > .ic-block-body { align-self: auto; }
}
.ic-dark-block h2 { font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size: clamp(28px,3.5vw,48px); letter-spacing:-.025em; line-height:1.05; color:var(--ic-paper); }
.ic-dark-block h2 em { font-family:"Instrument Serif",serif; font-style:italic; font-weight:400; font-size:1.05em; }
.ic-dark-block p { margin-top:20px; font-size:15px; color: rgba(255,255,255,.7); max-width:420px; line-height:1.6; font-weight:500; }
.ic-dark-block .img-wrap { display:flex; justify-content:center; }
.ic-dark-block .img-wrap img { max-width:480px; max-height:520px; width:100%; height:auto; border-radius:24px; }

/* Section head */
.ic-section-head { text-align:center; max-width:780px; margin: 0 auto 64px; }
.ic-section-head h2 { font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size: clamp(28px,3.5vw,48px); letter-spacing:-.025em; line-height:1.05; color:var(--ic-ink); }
.ic-section-head h2 em { font-family:"Instrument Serif",serif; font-style:italic; font-weight:400; font-size:1.05em; }
.ic-section-head p { margin-top:18px; font-size:15px; color: var(--ic-ink-soft); line-height:1.6; font-weight:500; max-width:540px; margin-left:auto; margin-right:auto; }

/* Compare section (members) */
.ic-compare-section { padding:72px 0; background: var(--ic-paper); position:relative; overflow:hidden; }
.ic-compare-section .ic-section-head { margin-bottom:40px; }
.ic-compare-list { max-width:680px; margin:0 auto; display:flex; flex-direction:column; gap:0; }
.ic-compare-line { display:grid; grid-template-columns: 1fr auto 1fr; gap:20px; align-items:baseline; font-family:"Bricolage Grotesque",sans-serif; font-size: clamp(16px,1.7vw,22px); line-height:1.3; letter-spacing:-.01em; padding:14px 0; border-bottom:1px solid var(--ic-hairline); }
.ic-compare-line:last-child { border-bottom:none; }
.ic-compare-line .strike { text-align:right; text-decoration: line-through; text-decoration-thickness:1.5px; color: var(--ic-ink-mid); font-weight:500; }
.ic-compare-line .arrow { color: var(--ic-ink-mid); font-weight:400; font-size:.85em; padding-top:2px; opacity:.4; }
.ic-compare-line .real { color: var(--ic-ink); font-weight:700; text-align:left; }
.ic-compare-line .real em { font-family:"Instrument Serif",serif; font-style:italic; font-weight:400; font-size:1.1em; }
@media (max-width:760px){
  .ic-compare-list { max-width:none; }
  .ic-compare-line { grid-template-columns:1fr; gap:2px; text-align:center; padding:14px 0; font-size: clamp(16px,4.4vw,20px); }
  .ic-compare-line .strike { text-align:center; }
  .ic-compare-line .arrow { display:none; }
  .ic-compare-line .real { text-align:center; }
}

/* Float-emoji */
@keyframes ic-float-1 { 0%,100% { transform: translateY(0) translateX(0) rotate(-3deg); } 50% { transform: translateY(-14px) translateX(4px) rotate(2deg); } }
@keyframes ic-float-2 { 0%,100% { transform: translateY(0) translateX(0) rotate(2deg); } 50% { transform: translateY(-10px) translateX(-6px) rotate(-3deg); } }
@keyframes ic-float-3 { 0%,100% { transform: translateY(0) translateX(0) rotate(0deg); } 50% { transform: translateY(-18px) translateX(8px) rotate(4deg); } }
.ic-float-emoji { position:absolute; font-size:38px; filter: drop-shadow(0 6px 14px rgba(10,10,10,.15)); z-index:2; pointer-events:none; user-select:none; line-height:1; }
.ic-float-emoji.f1 { animation: ic-float-1 6s ease-in-out infinite; }
.ic-float-emoji.f2 { animation: ic-float-2 7s ease-in-out infinite; animation-delay: -1.2s; }
.ic-float-emoji.f3 { animation: ic-float-3 8s ease-in-out infinite; animation-delay: -2.3s; }

/* Block (image + text) */
.ic-block { padding:120px 0; position:relative; background: var(--ic-paper); }
.ic-block.alt { background: var(--ic-mist); }
.ic-block-grid {
  display:grid;
  grid-template-columns: 0.85fr 1.15fr;
  grid-template-areas: "heading visual" "body visual";
  gap:60px;
  align-items:center;
}
.ic-block-headline { grid-area: heading; align-self: end; }
.ic-block-body     { grid-area: body;    align-self: start; }
.ic-block-grid > .ic-block-visual { grid-area: visual; }
.ic-block.reverse .ic-block-grid { grid-template-areas: "visual heading" "visual body"; }
@media (max-width:920px){
  .ic-block-grid,
  .ic-block.reverse .ic-block-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "heading" "visual" "body";
    gap:36px;
  }
  .ic-block-headline, .ic-block-body { align-self: auto; }
}
.ic-block h2 { font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size: clamp(26px,3.2vw,44px); letter-spacing:-.025em; line-height:1.1; color: var(--ic-ink); }
.ic-block h2 em { font-family:"Instrument Serif",serif; font-style:italic; font-weight:400; font-size:1.05em; }
.ic-block p { margin-top:20px; font-size:15px; color: var(--ic-ink-soft); max-width:420px; line-height:1.6; font-weight:500; }
.ic-block p strong { color: var(--ic-ink); font-weight:700; }
.ic-block p.kicker { margin-top:18px; font-weight:700; color: var(--ic-ink); font-size:17px; }
.ic-block-visual { display:flex; justify-content:center; align-items:center; position:relative; }
.ic-block-visual img { max-width:480px; max-height:520px; width:100%; height:auto; border-radius:24px; }

/* Feature grid */
.ic-feature-grid-section { padding:140px 0; background: var(--ic-paper); position:relative; }
.ic-feature-grid-section.alt { background: var(--ic-mist); }
.ic-feature-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap:18px; max-width:1080px; margin:0 auto; }
@media (max-width:720px){ .ic-feature-grid { grid-template-columns:1fr; } }
.ic-feature-card { background: var(--ic-paper); border:1px solid var(--ic-hairline); border-radius:24px; padding:36px; transition: transform .25s, box-shadow .25s, border-color .25s; }
.ic-feature-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -16px rgba(10,10,10,.12); border-color: var(--ic-hairline-2); }
.ic-feature-card .ic { font-size:44px; line-height:1; margin-bottom:18px; display:inline-block; filter: drop-shadow(0 4px 10px rgba(10,10,10,.1)); }
.ic-feature-card h3 { font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:20px; letter-spacing:-.015em; line-height:1.15; color: var(--ic-ink); margin-bottom:10px; }
.ic-feature-card h3 em { font-family:"Instrument Serif",serif; font-style:italic; font-weight:400; font-size:1.06em; }
.ic-feature-card p { font-size:15px; color: var(--ic-ink-soft); line-height:1.55; font-weight:500; }

/* Steps */
.ic-steps-section { padding:140px 0; background: var(--ic-mist); position:relative; }
.ic-steps-section.light { background: var(--ic-paper); }
.ic-steps-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:32px; max-width:1080px; margin:0 auto; }
@media (max-width:820px){ .ic-steps-grid { grid-template-columns:1fr; gap:18px; } }
.ic-step { position:relative; padding-top:8px; }
.ic-step .num { font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:80px; color: rgba(10,10,10,.08); line-height:1; margin-bottom:14px; letter-spacing:-.03em; }
.ic-step h3 { font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:20px; letter-spacing:-.015em; line-height:1.15; color: var(--ic-ink); margin-bottom:10px; }
.ic-step h3 em { font-family:"Instrument Serif",serif; font-style:italic; font-weight:400; font-size:1.06em; }
.ic-step p { font-size:15px; color: var(--ic-ink-soft); line-height:1.55; font-weight:500; }

/* Attribute cards (brands "built for brands who care") */
.ic-attribute-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:14px; max-width:980px; margin: 48px auto 0; }
@media (max-width:760px){ .ic-attribute-grid { grid-template-columns:1fr; } }
.ic-attribute-card { background: var(--ic-paper); border:1px solid var(--ic-hairline); border-radius:20px; padding:32px; transition: transform .2s, box-shadow .2s; }
.ic-attribute-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -16px rgba(10,10,10,.12); }
.ic-attribute-card h4 { font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:20px; letter-spacing:-.015em; color: var(--ic-ink); margin-bottom:8px; }
.ic-attribute-card p { font-size:14px; color: var(--ic-ink-soft); line-height:1.5; font-weight:500; }

/* Pricing */
.ic-pricing-section { padding:140px 0; background: var(--ic-paper); position:relative; overflow:hidden; }
.ic-pricing-card { background: var(--ic-paper); border:1px solid var(--ic-hairline); border-radius:32px; padding:48px; max-width:680px; margin:0 auto; text-align:center; transition: box-shadow .25s, border-color .25s; }
.ic-pricing-card:hover { box-shadow: 0 24px 60px -24px rgba(10,10,10,.12); border-color: var(--ic-hairline-2); }
.ic-pricing-card .currency { font-family:"Bricolage Grotesque",sans-serif; font-weight:700; font-size:24px; color: var(--ic-ink-soft); vertical-align:top; letter-spacing:.02em; }
.ic-pricing-card .amount { font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size:80px; letter-spacing:-.035em; line-height:1; color: var(--ic-ink); display:inline-block; margin:0 6px; }
.ic-pricing-card .per { font-family:"Bricolage Grotesque",sans-serif; font-weight:500; font-size:18px; color: var(--ic-ink-soft); vertical-align:bottom; margin-left:6px; }
.ic-pricing-card .members-line { margin-top:18px; font-family:"Bricolage Grotesque",sans-serif; font-weight:500; font-size:17px; color: var(--ic-ink-soft); }
.ic-pricing-card .members-line strong { color: var(--ic-ink); font-weight:800; }
.ic-slider-wrap { margin:40px 0 32px; }
.ic-slider-wrap input[type="range"] { width:100%; -webkit-appearance:none; appearance:none; background:transparent; cursor:pointer; }
.ic-slider-wrap input[type="range"]::-webkit-slider-runnable-track { height:3px; background: var(--ic-smoke); border-radius:99px; }
.ic-slider-wrap input[type="range"]::-moz-range-track { height:3px; background: var(--ic-smoke); border-radius:99px; }
.ic-slider-wrap input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:28px; height:28px; border-radius:50%; background: var(--ic-ink); border:4px solid var(--ic-paper); box-shadow: 0 4px 14px rgba(10,10,10,.18); margin-top:-13px; cursor: grab; transition: transform .15s; }
.ic-slider-wrap input[type="range"]::-webkit-slider-thumb:active { cursor:grabbing; transform: scale(1.1); }
.ic-slider-wrap input[type="range"]::-moz-range-thumb { width:28px; height:28px; border-radius:50%; background: var(--ic-ink); border:4px solid var(--ic-paper); box-shadow: 0 4px 14px rgba(10,10,10,.18); cursor: grab; }
.ic-slider-labels { display:flex; justify-content:space-between; margin-top:14px; font-family:"Bricolage Grotesque",sans-serif; font-size:11px; font-weight:700; letter-spacing:.06em; color: var(--ic-ink-mid); }
.ic-pricing-card .meta { margin-top:24px; font-size:13px; color: var(--ic-ink-mid); font-weight:500; }
@media (max-width:640px){
  .ic-pricing-card { padding:32px 16px; }
  .ic-pricing-card .amount { font-size:64px; }
  .ic-pricing-card .currency { font-size:18px; }
  .ic-pricing-card .per { font-size:14px; }
  .ic-slider-labels { font-size:9px; letter-spacing:.02em; gap:2px; }
}

/* Final CTA */
.ic-final-cta { padding:160px 0; background: var(--ic-ink); color: var(--ic-paper); position:relative; overflow:hidden; text-align:center; }
.ic-final-cta::before { content:""; position:absolute; top:-100px; left:50%; transform: translateX(-50%); width:700px; height:700px; border-radius:50%; background: radial-gradient(circle, rgba(255,255,255,.06), transparent 60%); pointer-events:none; }
.ic-final-cta-in { position:relative; z-index:1; max-width:820px; margin:0 auto; padding:0 28px; }
.ic-final-cta .crest-grey { font-family:"Fraunces",serif; font-size:28px; color: rgba(255,255,255,.35); letter-spacing:-.02em; margin-bottom:48px; display:inline-block; }
.ic-final-cta .crest-grey .in { font-style:italic; font-weight:400; }
.ic-final-cta .crest-grey .club { font-weight:800; }
.ic-final-cta h2 { font-family:"Bricolage Grotesque",sans-serif; font-weight:800; font-size: clamp(32px,4.4vw,60px); letter-spacing:-.025em; line-height:1.05; color: var(--ic-paper); }
.ic-final-cta h2 em { font-family:"Instrument Serif",serif; font-style:italic; font-weight:400; font-size:1.05em; }
.ic-final-cta p { margin:24px auto 32px; font-size:16px; color: rgba(255,255,255,.7); max-width:500px; line-height:1.6; font-weight:500; }
.ic-final-cta .ic-btn { padding:16px 30px; font-size:15px; }
.ic-final-cta .available { margin-top:18px; font-family:"Bricolage Grotesque",sans-serif; font-size:12px; color: rgba(255,255,255,.45); letter-spacing:.1em; font-weight:600; }
.ic-final-cta .freebase { margin-top:14px; font-family:"Bricolage Grotesque",sans-serif; font-size:12px; color: rgba(255,255,255,.45); letter-spacing:.06em; font-weight:600; }
.ic-final-cta-pills { margin-top:48px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.ic-final-cta-pills span { border:1px solid rgba(255,255,255,.16); padding:9px 18px; border-radius:999px; font-family:"Bricolage Grotesque",sans-serif; font-size:12px; color: rgba(255,255,255,.7); font-weight:600; letter-spacing:.04em; }

/* Footer */
.ic-footer { padding:60px 0 80px; background: var(--ic-paper); border-top:1px solid var(--ic-hairline); }
.ic-footer-in { display:flex; justify-content:space-between; align-items:flex-start; gap:32px; flex-wrap:wrap; max-width:1280px; margin:0 auto; padding:0 28px; }
.ic-footer-brand { display:flex; flex-direction:column; gap:10px; }
.ic-footer-brand .ic-crest { font-size:24px; }
.ic-footer-brand .tag { font-family:"Bricolage Grotesque",sans-serif; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color: var(--ic-ink-soft); }
.ic-footer-links { display:flex; gap:32px; flex-wrap:wrap; align-items:center; }
.ic-footer-links a, .ic-footer-links button { font-family:"Bricolage Grotesque",sans-serif; font-size:13px; color: var(--ic-ink-soft); font-weight:600; transition: color .2s; background:none; border:none; padding:0; cursor:pointer; text-decoration:none; }
.ic-footer-links a:hover, .ic-footer-links button:hover { color: var(--ic-ink); }
.ic-footer-bottom { margin-top:48px; padding-top:24px; border-top:1px solid var(--ic-hairline); display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-family:"Bricolage Grotesque",sans-serif; font-size:11px; font-weight:600; letter-spacing:.08em; color: var(--ic-ink-mid); max-width:1280px; margin-left:auto; margin-right:auto; padding-left:28px; padding-right:28px; }

@media (prefers-color-scheme: dark){
  .ic-footer { background: var(--ic-paper); }
}

@media (prefers-reduced-motion: reduce){
  .ic-page [data-reveal] { opacity:1; transform:none; animation: none; }
  .ic-float-emoji { animation: none; }
}

/* Mobile polish */
@media (max-width: 760px){
  .ic-sheet { padding: 0 20px; }
  .ic-hero { padding: 48px 0 64px; }
  .ic-block, .ic-compare-section, .ic-feature-grid-section, .ic-pricing-section, .ic-steps-section, .ic-dark-block { padding: 72px 0; }
  .ic-final-cta { padding: 96px 0; }
  .ic-block-grid, .ic-dark-block-grid { gap: 36px; }
  .ic-section-head { margin-bottom: 36px; }
  .ic-h1 { font-size: clamp(34px,9vw,52px); letter-spacing: -.025em; line-height:1.05; }
  .ic-block h2, .ic-dark-block h2, .ic-section-head h2, .ic-final-cta h2 { font-size: clamp(26px,7vw,36px); line-height:1.1; }
  .ic-hero-lead { font-size:15px; max-width:none; margin-top:20px; }
  .ic-block p, .ic-dark-block p { max-width:none; font-size:15px; margin-top:16px; }
  .ic-hero-visual img { max-height:480px; }
  .ic-block-visual img { max-height:520px; }
  .ic-dark-block .img-wrap img { max-height:460px; }
  .ic-feature-card { padding:26px 22px; }
  .ic-feature-card .ic { font-size:36px; }
  .ic-feature-card h3 { font-size:18px; }
  .ic-feature-card p { font-size:14px; }
  .ic-btn { padding:13px 22px; font-size:13px; }
  .ic-hero-cta { margin-top:24px; justify-content:center; }
  .ic-hero-pills { margin-top:20px; gap:6px; justify-content:center; }
  .ic-hero-pills .pill { padding:7px 12px; font-size:11px; }
  .ic-hero-available { font-size:11px; margin-top:14px; text-align:center; }
  .ic-final-cta-in { padding: 0 20px; }
  .ic-final-cta .crest-grey { font-size:20px; margin-bottom:32px; }
  .ic-final-cta p { font-size:14px; margin: 20px auto 28px; }
  .ic-final-cta-pills { margin-top:32px; }
  .ic-final-cta-pills span { padding:7px 14px; font-size:11px; }
  .ic-footer { padding: 48px 0 56px; }
  .ic-footer-links { gap:18px; }
  .ic-footer-links a, .ic-footer-links button { font-size:12px; }
  .ic-pricing-card { padding:32px 20px; }
  .ic-pricing-card .amount { font-size:64px; }
}

/* Tighter section rhythm */
.ic-hero + .ic-compare-section { padding-top:80px; padding-bottom:80px; }
.ic-hero + .ic-block { padding-top:140px; }
.ic-block + .ic-block,
.ic-block + .ic-feature-grid-section,
.ic-compare-section + .ic-block,
.ic-block + .ic-compare-section,
.ic-feature-grid-section + .ic-block { padding-top:100px; }
@media (max-width:760px){
  .ic-hero + .ic-compare-section { padding-top:48px; padding-bottom:48px; }
  .ic-hero + .ic-block { padding-top:72px; }
  .ic-block + .ic-block,
  .ic-block + .ic-feature-grid-section,
  .ic-compare-section + .ic-block,
  .ic-block + .ic-compare-section,
  .ic-feature-grid-section + .ic-block { padding-top:64px; }
}

/* Modal (Request Access + Store picker) */
.ic-modal-overlay { position:fixed; inset:0; background: rgba(0,0,0,.55); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); display:flex; align-items:center; justify-content:center; z-index:100; padding:20px; animation: ic-fade-in .2s ease; }
.ic-modal-overlay[hidden] { display:none; }
@keyframes ic-fade-in { from { opacity:0 } to { opacity:1 } }
.ic-modal { background:#fff; border-radius:24px; max-width:480px; width:100%; max-height:90vh; overflow-y:auto; box-shadow: 0 25px 60px rgba(0,0,0,.2); position:relative; animation: ic-slide-up .25s ease; font-family:"Hanken Grotesk", system-ui, sans-serif; color:#0A0A0A; }
@keyframes ic-slide-up { from { transform: translateY(12px); opacity:0 } to { transform: translateY(0); opacity:1 } }
.ic-modal-close { position:absolute; top:16px; right:16px; background:#f5f5f5; border:none; width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; color:#666; transition: background .2s; font-size: 18px; line-height: 1; }
.ic-modal-close:hover { background:#eee; }
.ic-modal-body { padding:40px 32px 32px; }
.ic-modal-eyebrow { font-family:"Bricolage Grotesque", sans-serif; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#767676; margin:0 0 12px; }
.ic-modal-title { font-family:"Bricolage Grotesque", sans-serif; font-weight:800; font-size:28px; letter-spacing:-.025em; line-height:1.05; margin:0 0 8px; color:#0A0A0A; }
.ic-modal-title em { font-family:"Instrument Serif", serif; font-style:italic; font-weight:400; font-size:1.05em; }
.ic-modal-sub { color:#5A5A5A; font-size:15px; line-height:1.55; margin:0 0 24px; font-weight:500; }
.ic-form { display:flex; flex-direction:column; gap:12px; }
.ic-input, .ic-select { width:100%; padding:13px 16px; border-radius:12px; border:1px solid #ddd; background:#fff; font-size:15px; color:#0A0A0A; font-family:inherit; transition: border-color .2s; }
.ic-input:focus, .ic-select:focus { outline:none; border-color:#0A0A0A; }
.ic-input::placeholder { color:#9A9A9A; opacity:1; }
.ic-check-row { display:flex; align-items:center; gap:10px; cursor:pointer; padding:4px 0; user-select:none; }
.ic-check-box { width:18px; height:18px; border-radius:4px; border:1px solid #ccc; background:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition: all .2s; color: #fff; font-size: 12px; line-height: 1; }
.ic-check-row input:checked ~ .ic-check-box { background:#0A0A0A; border-color:#0A0A0A; }
.ic-check-row input { display:none; }
.ic-check-label { font-size:14px; color:#5A5A5A; }
.ic-size-row { display:flex; flex-wrap:wrap; gap:6px; }
.ic-size-pill { padding:7px 14px; border-radius:999px; border:1px solid #eee; background:#fff; font-size:12px; color:#666; cursor:pointer; font-family:"Bricolage Grotesque", sans-serif; font-weight:600; transition: all .15s; }
.ic-size-pill.active { background:#0A0A0A; border-color:#0A0A0A; color:#fff; }
.ic-error { color:#c43a31; font-size:13px; text-align:center; margin: 4px 0 0; }
.ic-submit { width:100%; background:#0A0A0A; color:#fff; border:none; padding:15px; border-radius:999px; font-size:14px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:"Bricolage Grotesque", sans-serif; margin-top:8px; transition: opacity .2s; }
.ic-submit:hover { opacity:.9; }
.ic-submit:disabled { opacity:.5; cursor:not-allowed; }
.ic-success { text-align:center; padding:24px 0; }
.ic-success-icon { width:56px; height:56px; border-radius:50%; background:#0A0A0A; color:#fff; display:inline-flex; align-items:center; justify-content:center; margin-bottom:16px; font-size: 24px; line-height: 1; }
.ic-legal-link { color:#0A0A0A; text-decoration: underline; }
@keyframes ic-spin-kf { to { transform: rotate(360deg); } }
.ic-spin { animation: ic-spin-kf 0.9s linear infinite; display: inline-block; }

@media (max-width:640px){
  .ic-modal-body { padding:32px 22px 24px; }
  .ic-modal-title { font-size:24px; }
}

/* Legal page chrome (shared with /privacy, /terms-*, /support, /child-safety) */
.ic-legal-page { background: #f8f8f6; min-height: calc(100vh - 60px); padding: 48px 24px 72px; }
.ic-legal-card { background: #fff; border: 1px solid #eee; border-radius: 20px; padding: 48px 40px; max-width: 800px; width: 100%; margin: 0 auto; }
.ic-legal-back { color: #666; text-decoration: none; font-size: 13px; display: inline-block; margin-bottom: 24px; transition: color 0.2s; }
.ic-legal-back:hover { color: #1a1a1a; }
.ic-legal-title { font-family: Georgia, serif; font-size: clamp(28px, 4vw, 40px); font-weight: 400; letter-spacing: -0.5px; margin: 0 0 8px; color: #1a1a1a; }
.ic-legal-subtitle { color: #555; font-size: 16px; line-height: 1.6; margin: 0 0 4px; }
.ic-legal-date { color: #999; font-size: 13px; margin: 0 0 36px; }
.ic-legal-content { color: #555; font-size: 15px; line-height: 1.75; }
.ic-legal-content h2 { font-family: Georgia, serif; font-size: 22px; font-weight: 400; color: #1a1a1a; margin: 36px 0 12px; letter-spacing: -0.3px; }
.ic-legal-content h3 { font-size: 15px; font-weight: 600; color: #1a1a1a; margin: 20px 0 8px; }
.ic-legal-content p { margin: 0 0 16px; }
.ic-legal-content strong { color: #1a1a1a; font-weight: 600; }
.ic-legal-content ul { padding-left: 20px; margin: 0 0 20px; }
.ic-legal-content li { margin-bottom: 6px; }
.ic-legal-content a { color: #1a1a1a; text-decoration: underline; }
.ic-legal-notice { background: #fff8ea; border-left: 3px solid #1a1a1a; padding: 14px 18px; border-radius: 4px; margin: 0 0 20px; color: #1a1a1a; font-weight: 500; }

@media (max-width: 640px) {
  .ic-legal-page { padding: 32px 16px 56px; }
  .ic-legal-card { padding: 32px 24px; border-radius: 16px; }
}

/* Support page extras */
.ic-support-chat { background: #f8f8f6; border: 1px solid #eee; border-radius: 14px; padding: 24px; margin: 0 0 32px; }
.ic-support-chat h3 { font-family: Georgia, serif; font-size: 20px; font-weight: 400; color: #1a1a1a; margin: 0 0 8px; }
.ic-support-chat p { color: #666; font-size: 14px; margin: 0 0 14px; }
.ic-support-chat-btn { background: #1a1a1a; color: #fff; border: none; padding: 10px 20px; border-radius: 999px; font-size: 13px; font-weight: 500; cursor: pointer; font-family: inherit; transition: opacity 0.2s; }
.ic-support-chat-btn:hover { opacity: 0.9; }
.ic-faq h2 { font-family: Georgia, serif; font-size: 22px; font-weight: 400; color: #1a1a1a; margin: 32px 0 16px; letter-spacing: -0.3px; }
.ic-faq-item { border-bottom: 1px solid #eee; padding: 16px 0; }
.ic-faq-item:last-child { border-bottom: none; }
.ic-faq-q { font-weight: 600; color: #1a1a1a; margin: 0 0 6px; font-size: 15px; }
.ic-faq-a { color: #666; font-size: 14px; line-height: 1.7; margin: 0; }
