
:root {
  --ink:       #1a1712;
  --parchment: #f5f0e8;
  --cream:     #faf7f2;
  --warm-mid:  #e8e0d0;
  --bronze:    #9c7a3c;
  --bronze-lt: #c4a060;
  --charcoal:  #2d2926;
  --mist:      #c8c0b0;
  --white:     #ffffff;
  --serif: 'Libre Baskerville', Georgia, serif;
  --sans:  'Instrument Sans', sans-serif;
  --serif-it: 'Instrument Serif', serif;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--sans); background: var(--cream); color: var(--ink); overflow-x: hidden; cursor: none; }

.cursor { position:fixed; width:8px; height:8px; background:#ffffff; border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:width .15s,height .15s; mix-blend-mode:difference; }
.cursor-ring { position:fixed; width:32px; height:32px; border:1.5px solid rgba(255,255,255,0.7); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:width .2s,height .2s; opacity:.8; }

body::before { content:''; position:fixed; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E"); pointer-events:none; z-index:1000; opacity:.35; }

nav { position:fixed; top:0; left:0; right:0; z-index:600; padding:22px 60px; display:flex; align-items:center; justify-content:space-between; transition:background .4s,padding .3s; }
nav.scrolled { background:rgba(250,247,242,.96); backdrop-filter:blur(12px); padding:14px 60px; border-bottom:1px solid var(--warm-mid); }
.nav-logo img { height:46px; transition:filter .4s; }
nav:not(.scrolled) .nav-logo img { filter:invert(1); }
nav.scrolled .nav-logo img { filter:none; }
.nav-links { display:flex; gap:32px; list-style:none; align-items:center; }
.nav-links a { font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; color:var(--charcoal); text-decoration:none; font-weight:500; transition:color .2s; position:relative; cursor:none; }
nav:not(.scrolled) .nav-links a { color:rgba(245,240,232,0.85); }
.nav-links a::after { content:''; position:absolute; bottom:-3px; left:0; width:0; height:1px; background:var(--bronze); transition:width .3s; }
.nav-links a:hover { color:var(--bronze); }
.nav-links a:hover::after { width:100%; }
.nav-cta { background:var(--bronze) !important; color:var(--ink) !important; padding:9px 22px !important; border-radius:2px; }
.nav-cta::after { display:none !important; }
.nav-cta:hover { background:var(--bronze-lt) !important; color:var(--ink) !important; }
/* Dropdown */
.nav-dropdown { position:relative; list-style:none; }
.nav-dropdown-menu { display:none; position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%); background:rgba(250,247,242,.98); backdrop-filter:blur(12px); border:1px solid var(--warm-mid); border-radius:4px; min-width:190px; padding:8px 0; z-index:600; box-shadow:0 8px 32px rgba(26,23,18,.14); list-style:none; }
.nav-dropdown-menu li { list-style:none; }
.nav-dropdown-menu a { display:block; padding:10px 20px; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--charcoal) !important; font-weight:500; transition:background .15s,color .15s; white-space:nowrap; }
.nav-dropdown-menu a::after { display:none !important; }
.nav-dropdown-menu a:hover { background:var(--parchment); color:var(--bronze) !important; }
.nav-dropdown.open .nav-dropdown-menu { display:block; }

/* multi-page: .page rules removed */

/* ── HERO ── */
.hero { position:relative; height:100vh; min-height:680px; display:flex; align-items:flex-end; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background-image:url('images/Dark_Lobby.jpg'); background-size:cover; background-position:center 30%; transform:scale(1.06); animation:heroZoom 18s ease-in-out infinite alternate; }
@keyframes heroZoom { from{transform:scale(1.06)} to{transform:scale(1.0)} }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(26,23,18,.92) 0%, rgba(26,23,18,.45) 45%, rgba(26,23,18,.1) 100%); }
.hero-content { position:relative; z-index:2; padding:0 80px 80px; max-width:860px; }
.hero-eyebrow { display:inline-flex; align-items:center; gap:12px; font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--bronze-lt); margin-bottom:22px; font-weight:500; }
.hero-eyebrow::before { content:''; display:block; width:32px; height:1px; background:var(--bronze-lt); }
.hero h1 { font-family:var(--serif); font-size:clamp(3rem,5.5vw,5.8rem); font-weight:700; color:var(--parchment); line-height:1.08; letter-spacing:-.02em; margin-bottom:26px; }
.hero h1 em { font-style:italic; color:var(--bronze-lt); }
.hero-sub { font-size:1rem; color:rgba(245,240,232,.68); max-width:500px; line-height:1.78; margin-bottom:40px; font-weight:300; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.btn-primary { background:var(--bronze); color:var(--ink); padding:14px 36px; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; text-decoration:none; border-radius:2px; transition:background .25s,transform .2s; display:inline-block; cursor:none; border:none; }
.btn-primary:hover { background:var(--bronze-lt); transform:translateY(-2px); }
.btn-ghost { color:rgba(245,240,232,.7); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; font-weight:500; display:flex; align-items:center; gap:10px; transition:color .2s; cursor:none; }
.btn-ghost:hover { color:var(--parchment); }
.btn-outline { border:1px solid var(--bronze); color:var(--bronze); padding:13px 32px; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; text-decoration:none; border-radius:2px; transition:all .25s; display:inline-block; cursor:none; }
.btn-outline:hover { background:var(--bronze); color:var(--ink); }
.hero-stats { position:absolute; right:80px; bottom:80px; z-index:2; display:flex; flex-direction:column; gap:18px; text-align:right; }
.hero-stat-item .number { font-family:var(--serif); font-size:2.6rem; font-weight:700; color:var(--bronze-lt); line-height:1; }
.hero-stat-item .label { font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(245,240,232,.5); margin-top:4px; }

/* ── MARQUEE ── */
.marquee-wrap { background:var(--ink); padding:15px 0; overflow:hidden; white-space:nowrap; }
.marquee-track { display:inline-flex; animation:marquee 30s linear infinite; }
.marquee-track span { font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze-lt); padding:0 32px; font-weight:500; }
.marquee-track .dot { color:rgba(156,122,60,.35); padding:0; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

.section-label { font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--bronze); font-weight:600; display:flex; align-items:center; gap:12px; margin-bottom:20px; }
.section-label::before { content:''; display:block; width:24px; height:1px; background:var(--bronze); }

/* ── PROBLEM ── */
.problem-section { padding:110px 80px; background:var(--cream); display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.problem-text h2 { font-family:var(--serif); font-size:clamp(2rem,3.2vw,3rem); font-weight:700; line-height:1.18; margin-bottom:24px; }
.problem-text h2 em { font-style:italic; color:var(--bronze); }
.problem-text p { font-size:.95rem; line-height:1.8; color:var(--charcoal); margin-bottom:16px; font-weight:300; }
.problem-list { list-style:none; }
.problem-list li { display:flex; gap:20px; align-items:flex-start; padding:20px 0; border-bottom:1px solid var(--warm-mid); }
.problem-list li:last-child { border:none; }
.prob-num { font-family:var(--serif); font-size:1.8rem; color:var(--bronze); opacity:.4; font-weight:700; min-width:40px; line-height:1; }
.prob-content h4 { font-size:.85rem; font-weight:600; letter-spacing:.04em; margin-bottom:6px; }
.prob-content p { font-size:.82rem; line-height:1.65; color:var(--charcoal); font-weight:300; }

/* ── PROOF ── */
.proof-strip { background:#ffffff; padding:70px 80px; }
.proof-quote { font-family:var(--serif-it); font-style:italic; font-size:clamp(1.1rem,2vw,1.5rem); color:var(--charcoal); line-height:1.55; max-width:680px; margin:0 auto 50px; text-align:center; }
.proof-quote span { color:var(--bronze); }
.proof-logos { display:flex; align-items:center; justify-content:center; gap:60px; flex-wrap:wrap; }
.proof-logos img { opacity:.9; filter:none; transition:opacity .2s; object-fit:contain; }
.proof-logos img:hover { opacity:1; }
.logo-skellig { height:64px; }
.logo-westcork { height:102px; }
.logo-lakeside-new { height:69px; }

/* ── ROI BAR ── */
.roi-bar { background:var(--charcoal); padding:48px 80px; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; }
.roi-bar-item { padding:32px 40px; border-right:1px solid rgba(255,255,255,.08); text-align:center; }
.roi-bar-item:last-child { border:none; }
.roi-n { font-family:var(--serif); font-size:2.2rem; font-weight:700; color:var(--bronze-lt); }
.roi-l { font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(245,240,232,.4); margin-top:6px; }

/* ── JOURNEY INTRO ── */
.journey-intro { padding:110px 80px 60px; text-align:center; }
.journey-intro h2 { font-family:var(--serif); font-size:clamp(2.2rem,3.5vw,3.4rem); font-weight:700; line-height:1.18; margin-bottom:20px; }
.journey-intro h2 em { font-style:italic; color:var(--bronze); }
.journey-intro p { max-width:560px; margin:0 auto; font-size:.95rem; line-height:1.8; color:var(--charcoal); font-weight:300; }

/* ── QR PANEL ── */
.qr-panel { background:var(--ink); padding:80px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; margin:60px 0; }
.qr-left h2 { font-family:var(--serif); font-size:clamp(1.8rem,2.8vw,2.6rem); font-weight:700; color:var(--parchment); line-height:1.2; margin-bottom:20px; }
.qr-left h2 em { font-style:italic; color:var(--bronze-lt); }
.qr-left p { font-size:.92rem; line-height:1.78; color:rgba(245,240,232,.65); margin-bottom:20px; font-weight:300; }
.qr-stat-row { display:flex; gap:40px; margin-top:28px; }
.qr-stat .n { font-family:var(--serif); font-size:2.4rem; font-weight:700; color:var(--bronze-lt); }
.qr-stat .l { font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(245,240,232,.45); margin-top:4px; }
.qr-right { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.qr-use-card { background:rgba(245,240,232,.06); border:1px solid rgba(245,240,232,.15); padding:22px; border-radius:4px; }
.qr-use-card h4 { font-size:.8rem; font-weight:600; letter-spacing:.04em; margin-bottom:8px; color:var(--bronze-lt); }
.qr-use-card p { font-size:.78rem; line-height:1.6; color:rgba(245,240,232,.6); font-weight:300; }

/* ── JOURNEY PANELS ── */
.journey-panel { display:grid; grid-template-columns:1fr 1fr; min-height:540px; }
.journey-panel-img { position:relative; overflow:hidden; }
.journey-panel-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 8s ease; }
.journey-panel:hover .journey-panel-img img { transform:scale(1.04); }
.phase-label { position:absolute; top:28px; left:28px; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; background:var(--bronze); color:var(--ink); padding:6px 14px; font-weight:600; }
.journey-panel-content { padding:80px; display:flex; flex-direction:column; justify-content:center; background:var(--ink); }
.journey-panel-content.light { background:var(--parchment); }
.journey-phase { font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--bronze-lt); margin-bottom:14px; font-weight:600; }
.journey-panel-content.light .journey-phase { color:var(--bronze); }
.journey-tagline { font-family:var(--serif); font-size:clamp(1.4rem,2.2vw,2rem); font-weight:700; color:var(--parchment); line-height:1.25; margin-bottom:20px; }
.journey-panel-content.light .journey-tagline { color:var(--ink); }
.journey-desc-text { font-size:.88rem; line-height:1.78; color:rgba(245,240,232,.65); margin-bottom:24px; font-weight:300; }
.journey-panel-content.light .journey-desc-text { color:rgba(26,23,18,.65); }
.feature-pills { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.pill { font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; padding:6px 14px; border-radius:2px; font-weight:500; }
.pill-dark { background:rgba(156,122,60,.18); color:var(--bronze-lt); border:1px solid rgba(156,122,60,.25); }
.pill-light { background:rgba(26,23,18,.07); color:var(--charcoal); border:1px solid rgba(26,23,18,.12); }
.journey-metrics { display:flex; gap:32px; }
.metric .n { font-family:var(--serif); font-size:1.6rem; font-weight:700; color:var(--bronze-lt); }
.journey-panel-content.light .metric .n { color:var(--bronze); }
.metric .l { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(245,240,232,.4); margin-top:3px; }
.journey-panel-content.light .metric .l { color:rgba(26,23,18,.45); }

/* ── CASE STUDIES ── */
.case-studies { padding:110px 80px; background:var(--parchment); }
.case-studies h2 { font-family:var(--serif); font-size:clamp(2rem,3vw,2.8rem); font-weight:700; line-height:1.2; margin-bottom:16px; max-width:600px; }
.case-studies h2 em { font-style:italic; color:var(--bronze); }
.case-studies > p { font-size:.92rem; line-height:1.75; color:var(--charcoal); max-width:560px; margin-bottom:60px; font-weight:300; }
.case-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.case-card { background:var(--white); border:1px solid var(--warm-mid); padding:40px; border-radius:2px; transition:transform .3s,box-shadow .3s; }
.case-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(26,23,18,.08); }
.case-hotel { font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--bronze); font-weight:600; margin-bottom:20px; }
.case-stats { display:flex; gap:28px; margin-bottom:20px; }
.case-stat .n { font-family:var(--serif); font-size:2rem; font-weight:700; color:var(--ink); }
.case-stat .l { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:var(--mist); margin-top:3px; }
.case-card p { font-size:.85rem; line-height:1.72; color:var(--charcoal); font-weight:300; margin-bottom:14px; }
.case-source { font-size:.72rem; color:var(--mist); font-style:italic; }

/* ── REP STAT BAR ── */
.rep-stat-bar { background:var(--ink); padding:100px 80px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.rep-stat-bar h2 { font-family:var(--serif); font-size:clamp(1.8rem,2.8vw,2.6rem); font-weight:700; color:var(--parchment); line-height:1.25; margin-bottom:20px; }
.rep-stat-bar h2 em { font-style:italic; color:var(--bronze-lt); }
.rep-stat-bar p { font-size:.9rem; line-height:1.78; color:rgba(245,240,232,.55); font-weight:300; }
.rep-equation { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.rep-eq-item { text-align:center; }
.rep-eq-item .n { font-family:var(--serif); font-size:2rem; font-weight:700; color:var(--bronze-lt); }
.rep-eq-item .l { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(245,240,232,.35); margin-top:4px; }
.rep-eq-arrow { font-size:1.4rem; color:rgba(156,122,60,.4); }

/* ── FEATURES BENTO ── */
.features-section { padding:110px 80px; background:var(--cream); }
.features-header { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:60px; }
.features-header h2 { font-family:var(--serif); font-size:clamp(2rem,3vw,2.8rem); font-weight:700; line-height:1.18; }
.features-header h2 em { font-style:italic; color:var(--bronze); }
.features-header p { font-size:.9rem; line-height:1.78; color:var(--charcoal); font-weight:300; }
.features-bento { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
.bento-card { background:var(--parchment); border:1px solid var(--warm-mid); padding:36px; border-radius:4px; transition:transform .3s,box-shadow .3s; overflow:hidden; }
.bento-card:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(26,23,18,.07); }
.span-4 { grid-column:span 4; }
.span-6 { grid-column:span 6; }
.span-8 { grid-column:span 8; }
.bento-icon { width:40px; height:40px; margin-bottom:16px; fill:var(--bronze); }
.bento-icon svg { width:100%; height:100%; }
.bento-stat { font-family:var(--serif); font-size:2rem; font-weight:700; color:var(--bronze); margin-bottom:6px; }
.bento-card h3 { font-size:.9rem; font-weight:600; margin-bottom:10px; }
.bento-card p { font-size:.82rem; line-height:1.65; color:var(--charcoal); font-weight:300; }
.bento-img { width:100%; margin-top:16px; border-radius:3px; object-fit:cover; }

/* ── FINAL CTA ── */
.final-cta { background:var(--ink); padding:110px 80px; text-align:center; }
.final-cta h2 { font-family:var(--serif); font-size:clamp(2.2rem,3.8vw,3.6rem); font-weight:700; color:var(--parchment); line-height:1.18; margin-bottom:20px; }
.final-cta h2 em { font-style:italic; color:var(--bronze-lt); }
.final-cta p { font-size:.95rem; line-height:1.78; color:rgba(245,240,232,.55); max-width:540px; margin:0 auto 48px; font-weight:300; }
.cta-actions { display:flex; align-items:center; justify-content:center; gap:24px; }
.ei-badge { display:flex; align-items:center; gap:16px; justify-content:center; margin-top:48px; }
.ei-badge img { height:40px; opacity:1; filter:none; background:#ffffff; padding:6px 12px; border-radius:4px; }
.ei-badge span { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(245,240,232,.6); font-weight:500; }
.members-section { display:flex; align-items:center; justify-content:center; gap:48px; flex-wrap:wrap; padding:40px 24px; margin-top:80px; }
.members-item { display:flex; flex-direction:column; align-items:center; gap:12px; }
.members-label { font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(245,240,232,.5); font-weight:500; }
.members-divider { width:1px; height:80px; background:rgba(156,122,60,.2); }
.logo-frame { background:#ffffff; border-radius:6px; width:220px; height:70px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.logo-frame img { width:180px; height:50px; object-fit:contain; background:none; padding:0; border-radius:0; }
.members-item img { width:180px; height:50px; background:#ffffff; padding:10px 20px; border-radius:6px; object-fit:contain; box-sizing:content-box; }

/* ── FEATURE HERO ── */
.feature-hero { background:var(--ink); padding:160px 80px 100px; }
.feature-hero-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.feature-hero h1 { font-family:var(--serif); font-size:clamp(2.4rem,4vw,3.8rem); font-weight:700; color:var(--parchment); line-height:1.1; margin-bottom:24px; }
.feature-hero h1 em { font-style:italic; color:var(--bronze-lt); }
.feature-hero .lead { font-size:.95rem; line-height:1.78; color:rgba(245,240,232,.6); max-width:460px; margin-bottom:36px; font-weight:300; }
.feature-hero-stats { display:flex; gap:36px; margin-top:44px; }
.fh-stat .n { font-family:var(--serif); font-size:1.8rem; font-weight:700; color:var(--bronze-lt); }
.fh-stat .l { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(245,240,232,.35); margin-top:3px; }
.feature-hero-img img { width:100%; border-radius:4px; object-fit:cover; box-shadow:0 32px 80px rgba(0,0,0,.4); }

/* ── FEATURE CONTENT ── */
.feature-content { padding:100px 80px; background:var(--cream); }
.feature-content.dark { background:var(--ink); }
.feature-content.parchment-bg { background:var(--parchment); }
.fc-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.fc-grid.flip .fc-text { order:2; }
.fc-grid.flip .fc-img { order:1; }
.fc-text h2 { font-family:var(--serif); font-size:clamp(1.8rem,2.8vw,2.5rem); font-weight:700; line-height:1.2; margin-bottom:18px; color:var(--ink); }
.feature-content.dark .fc-text h2 { color:var(--parchment); }
.fc-text h2 em { font-style:italic; color:var(--bronze); }
.feature-content.dark .fc-text h2 em { color:var(--bronze-lt); }
.fc-text p { font-size:.9rem; line-height:1.78; color:var(--charcoal); margin-bottom:16px; font-weight:300; }
.feature-content.dark .fc-text p { color:rgba(245,240,232,.6); }
.fc-list { list-style:none; margin:20px 0 32px; }
.fc-list li { font-size:.85rem; line-height:1.7; color:var(--charcoal); padding:8px 0; border-bottom:1px solid var(--warm-mid); display:flex; align-items:flex-start; gap:12px; font-weight:300; }
.fc-list li::before { content:'-'; color:var(--bronze); font-weight:600; flex-shrink:0; }
.feature-content.dark .fc-list li { color:rgba(245,240,232,.55); border-bottom-color:rgba(255,255,255,.08); }
.feature-content.dark .fc-list li::before { color:var(--bronze-lt); }
.fc-img img { width:100%; border-radius:4px; object-fit:cover; box-shadow:0 16px 48px rgba(26,23,18,.12); }
.feature-content.dark .fc-img img { box-shadow:0 16px 48px rgba(0,0,0,.35); }

/* ── HOW IT WORKS ── */
.how-it-works { padding:100px 80px; background:var(--parchment); text-align:center; }
.hiw-header { max-width:620px; margin:0 auto 70px; }
.hiw-header h2 { font-family:var(--serif); font-size:clamp(1.8rem,2.8vw,2.5rem); font-weight:700; line-height:1.2; margin-bottom:16px; }
.hiw-header h2 em { font-style:italic; color:var(--bronze); }
.hiw-header p { font-size:.9rem; line-height:1.78; color:var(--charcoal); font-weight:300; }
.hiw-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
.hiw-step { padding:36px 28px; background:var(--white); border:1px solid var(--warm-mid); border-radius:4px; text-align:left; }
.hiw-num { font-family:var(--serif); font-size:2.2rem; font-weight:700; color:var(--bronze); opacity:.5; margin-bottom:16px; }
.hiw-step h3 { font-size:.88rem; font-weight:600; margin-bottom:10px; }
.hiw-step p { font-size:.82rem; line-height:1.65; color:var(--charcoal); font-weight:300; }

/* ── VIDEO EMBED ── */
.video-section { padding:80px; background:var(--ink); }
.video-inner { max-width:900px; margin:0 auto; }
.video-inner h2 { font-family:var(--serif); font-size:clamp(1.6rem,2.5vw,2.2rem); font-weight:700; color:var(--parchment); text-align:center; margin-bottom:10px; }
.video-inner h2 em { font-style:italic; color:var(--bronze-lt); }
.video-inner .section-label { justify-content:center; color:var(--bronze-lt); margin-bottom:16px; }
.video-inner .section-label::before { background:var(--bronze-lt); }
.video-sub { font-size:.88rem; color:rgba(245,240,232,.5); text-align:center; margin-bottom:40px; font-weight:300; line-height:1.7; }
.video-wrapper { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:6px; box-shadow:0 32px 80px rgba(0,0,0,.5); cursor:pointer; }
.video-wrapper iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }
.video-facade { position:absolute; top:0; left:0; width:100%; height:100%; background-size:cover; background-position:center; }
.video-facade::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,.25); }
.video-play-btn { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:72px; height:72px; background:rgba(255,0,0,.9); border-radius:50%; display:flex; align-items:center; justify-content:center; z-index:2; transition:transform .2s,background .2s; }
.video-play-btn::after { content:''; width:0; height:0; border-style:solid; border-width:14px 0 14px 26px; border-color:transparent transparent transparent #ffffff; margin-left:6px; }
.video-wrapper:hover .video-play-btn { transform:translate(-50%,-50%) scale(1.1); background:rgba(255,0,0,1); }

/* ── DEMO PAGE ── */
.demo-page { padding:140px 80px 100px; min-height:100vh; background:var(--cream); }
.demo-inner { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:start; }
.demo-left h1 { font-family:var(--serif); font-size:clamp(2rem,3.2vw,3rem); font-weight:700; line-height:1.18; margin-bottom:20px; }
.demo-left h1 em { font-style:italic; color:var(--bronze); }
.demo-left .lead { font-size:.95rem; line-height:1.78; color:var(--charcoal); margin-bottom:40px; font-weight:300; }
.demo-promise { display:flex; flex-direction:column; gap:20px; }
.demo-promise-item { display:flex; gap:18px; align-items:flex-start; }
.dp-icon { width:36px; height:36px; background:var(--bronze); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; fill:var(--ink); }
.dp-icon svg { width:18px; height:18px; }
.demo-promise-item p { font-size:.88rem; line-height:1.68; color:var(--charcoal); font-weight:300; }
.demo-form { background:var(--parchment); border:1px solid var(--warm-mid); padding:52px; border-radius:4px; }
.demo-form h2 { font-family:var(--serif); font-size:1.7rem; font-weight:700; margin-bottom:10px; }
.demo-form > p { font-size:.85rem; color:var(--charcoal); margin-bottom:32px; font-weight:300; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-row.full { grid-template-columns:1fr; }
.form-input { width:100%; padding:13px 16px; border:1px solid var(--warm-mid); background:var(--white); font-family:var(--sans); font-size:.85rem; color:var(--ink); outline:none; border-radius:2px; transition:border .2s; }
.form-input:focus { border-color:var(--bronze); }
.form-submit { width:100%; background:var(--bronze); color:var(--ink); padding:15px; font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; border:none; border-radius:2px; cursor:none; margin-top:8px; transition:background .25s; font-family:var(--sans); }
.form-submit:hover { background:var(--bronze-lt); }
.form-note { font-size:.72rem; color:var(--mist); text-align:center; margin-top:12px; }


/* ── VALUE PROMO SECTION (homepage) ── */
.value-promo {
  background: var(--ink);
  padding: 100px 80px;
  text-align: center;
}
.value-promo-inner { max-width: 720px; margin: 0 auto; }
.value-promo h2 {
  font-family: var(--serif);
  font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 700;
  color: var(--parchment);
  line-height: 1.18;
  margin-bottom: 20px;
}
.value-promo h2 em { font-style: italic; color: var(--bronze-lt); }
.value-promo p {
  font-size: .95rem;
  line-height: 1.8;
  color: rgba(245,240,232,.62);
  margin-bottom: 44px;
  font-weight: 300;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}
.value-promo-stats {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin-bottom: 44px;
  flex-wrap: wrap;
}
.vp-stat .n {
  font-family: var(--serif);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--bronze-lt);
  line-height: 1;
}
.vp-stat .l {
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(245,240,232,.4);
  margin-top: 6px;
}
@media (max-width: 768px) {
  .value-promo { padding: 60px 20px; }
  .value-promo-stats { gap: 28px; }
  .vp-stat .n { font-size: 1.8rem; }
}


/* ── AWARDS SECTION ── */
.awards-section { background: var(--ink); padding: 80px 24px 100px; border-top: 1px solid rgba(156,122,60,.15); }
.awards-inner { max-width: 900px; margin: 0 auto; }
.awards-eyebrow { font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--bronze-lt); font-weight:600; display:flex; align-items:center; gap:12px; margin-bottom:20px; justify-content:center; }
.awards-eyebrow span { display:block; width:24px; height:1px; background:var(--bronze-lt); }
.awards-title { font-family:var(--serif); font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:700; color:var(--parchment); text-align:center; margin-bottom:52px; line-height:1.2; }
.awards-title em { font-style:italic; color:var(--bronze-lt); }
.awards-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.award-card { display:flex; flex-direction:column; gap:0; border-radius:8px; overflow:hidden; border:1px solid rgba(156,122,60,.18); background:rgba(156,122,60,.04); transition:transform .2s, border-color .2s; }
.award-card:hover { transform:translateY(-3px); border-color:rgba(156,122,60,.35); }
.award-photo { aspect-ratio:4/3; overflow:hidden; }
.award-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform .4s; }
.award-card:hover .award-photo img { transform:scale(1.03); }
.award-caption { padding:20px 24px; }
.award-caption-title { font-family:var(--serif); font-size:1rem; font-weight:700; color:var(--parchment); margin-bottom:4px; }
.award-caption-year { font-size:.75rem; letter-spacing:.08em; color:var(--bronze-lt); font-weight:500; }
@media(max-width:640px){ .awards-grid { grid-template-columns:1fr; } .awards-section { padding:60px 20px 80px; } }

/* ── FOOTER ── */
footer { background:var(--parchment); padding:20px 80px; border-top:1px solid var(--warm-mid); display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.footer-logo img { height:36px; filter:invert(1); }
.footer-links { display:flex; gap:20px; flex-wrap:wrap; }
.footer-links a { font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:var(--charcoal); opacity:.5; text-decoration:none; font-weight:500; transition:color .2s,opacity .2s; cursor:none; }
.footer-links a:hover { color:var(--bronze); opacity:1; }
.footer-copy { font-size:.65rem; color:var(--charcoal); opacity:.35; }

/* ── SCROLL REVEALS ── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.up { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.12s; }
.reveal-delay-2 { transition-delay:.24s; }
.reveal-delay-3 { transition-delay:.36s; }
.reveal-delay-4 { transition-delay:.48s; }

/* ── MOBILE ── */


/* ── HIDE CUSTOM CURSOR ON TOUCH / MOBILE ── */
@media (hover: none), (pointer: coarse) {
  .cursor, .cursor-ring { display: none !important; }
  body, a, button, input, .btn-primary, .btn-outline, .btn-ghost,
  .nav-links a, .footer-links a, .form-submit, .nav-hamburger { cursor: auto; }
}

/* ── Sign In nav link ── */
.nav-signin {
  font-size: .75rem !important;
  letter-spacing: .1em !important;
  opacity: .7;
  transition: opacity .2s !important;
}
.nav-signin:hover { opacity: 1 !important; }
.nav-signin::after { display: none !important; }
nav:not(.scrolled) .nav-signin { color: rgba(245,240,232,.75) !important; }
nav.scrolled .nav-signin { color: var(--charcoal) !important; }
nav.on-light-page .nav-signin { color: var(--charcoal) !important; }
@media (max-width: 768px) {
  .nav-signin { opacity: 1 !important; }
}
/* ── HAMBURGER / MOBILE NAV ── */
.nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  z-index: 700;
  border-radius: 2px;
  position: relative;
}
.nav-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--parchment);
  border-radius: 2px;
  transition: transform .3s ease, opacity .2s ease, background .3s;
}
nav.scrolled .nav-hamburger span,
nav.on-light-page .nav-hamburger span { background: var(--ink); }
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ROI Calculator nav link — subtle, desktop only */
.nav-value-link {
  font-size: .75rem !important;
  letter-spacing: .08em !important;
  color: var(--bronze-lt) !important;
  border: 1px solid rgba(156,122,60,.35) !important;
  padding: 6px 14px !important;
  border-radius: 2px;
  transition: background .2s, color .2s !important;
}
nav:not(.scrolled) .nav-value-link { color: var(--bronze-lt) !important; }
.nav-value-link:hover { background: rgba(156,122,60,.12) !important; color: var(--bronze-lt) !important; }
.nav-value-link::after { display: none !important; }

@media (max-width: 768px) {
  .nav-hamburger { display: flex; }

  .nav-links {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(26,23,18,.98);
    backdrop-filter: blur(16px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    z-index: 550;
    padding: 80px 40px 40px;
  }

  .nav-links.mobile-open {
    display: flex;
  }

  .nav-links li {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid rgba(245,240,232,.06);
  }

  .nav-links li:last-child { border: none; }

  .nav-links a {
    display: block;
    padding: 18px 0 !important;
    font-size: .85rem !important;
    letter-spacing: .14em !important;
    color: rgba(245,240,232,.85) !important;
    border: none !important;
    background: none !important;
  }

  .nav-links a:hover { color: var(--bronze-lt) !important; }

  .nav-cta {
    margin-top: 16px !important;
    background: var(--bronze) !important;
    color: var(--ink) !important;
    padding: 14px 40px !important;
    border-radius: 2px !important;
    display: inline-block !important;
    width: auto !important;
  }

  .nav-value-link {
    border: 1px solid rgba(156,122,60,.4) !important;
    color: var(--bronze-lt) !important;
    margin: 4px 0;
    padding: 14px 0 !important;
  }

  /* Dropdown in mobile: show inline */
  .nav-dropdown-menu {
    display: none;
    position: static !important;
    transform: none !important;
    background: rgba(245,240,232,.05) !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    padding: 0 !important;
    min-width: 0 !important;
  }

  .nav-dropdown.open .nav-dropdown-menu { display: block; }

  .nav-dropdown-menu a {
    padding: 12px 20px !important;
    font-size: .75rem !important;
    color: rgba(245,240,232,.6) !important;
  }

  .nav-dropdown-menu a:hover { color: var(--bronze-lt) !important; background: none !important; }

  .nav-dropdown-toggle { cursor: pointer; }
}
@media (max-width: 768px) {
  nav { padding:14px 20px; }
  nav.scrolled { padding:10px 20px; }
  .nav-links { gap:12px; }
  .nav-links a { font-size:.62rem; letter-spacing:.06em; }
  .hero { min-height:100svh; }
  .hero-content { padding:0 20px 80px; max-width:100%; }
  .hero h1 { font-size:clamp(2rem,7vw,3rem); }
  .hero-sub { font-size:.88rem; }
  .hero-actions { flex-wrap:wrap; gap:16px; }
  .hero-stats { right:20px; bottom:20px; gap:10px; }
  .hero-stat-item .number { font-size:1.6rem; }
  .hero-stat-item .label { font-size:.55rem; }
  .problem-section { padding:48px 20px; grid-template-columns:1fr; gap:32px; }
  .proof-strip { padding:40px 20px; }
  .proof-logos { gap:20px; flex-wrap:wrap; justify-content:center; }
  .roi-bar { padding:24px 20px; grid-template-columns:1fr 1fr; gap:1px; }
  .roi-bar-item { padding:20px 16px; }
  .roi-n { font-size:1.6rem; }
  .journey-intro { padding:48px 20px 32px; }
  .qr-panel { padding:40px 20px; grid-template-columns:1fr; gap:32px; margin:32px 0; }
  .qr-right { grid-template-columns:1fr 1fr; gap:12px; }
  .journey-panel { grid-template-columns:1fr; }
  .journey-panel-img { min-height:220px; order:1; }
  .journey-panel-content { padding:32px 20px; order:2; }
  .journey-panel .journey-panel-content.light { order:2; }
  .case-studies { padding:48px 20px; }
  .case-grid { grid-template-columns:1fr; gap:16px; }
  .rep-stat-bar { padding:48px 20px; grid-template-columns:1fr; gap:32px; }
  .features-section { padding:48px 20px; }
  .features-header { grid-template-columns:1fr; gap:16px; }
  .features-bento { grid-template-columns:1fr; }
  .span-4,.span-6,.span-8 { grid-column:span 1; }
  .bento-card[style*="flex"] { flex-direction:column; }
  .bento-card[style*="flex"] img { width:100% !important; height:160px !important; }
  .final-cta { padding:48px 20px; }
  .cta-actions { flex-direction:column; align-items:center; gap:16px; }
  .feature-hero { padding:90px 20px 48px; }
  .feature-hero-inner { grid-template-columns:1fr; gap:32px; }
  .feature-hero-img { display:none; }
  .feature-hero-stats { flex-wrap:wrap; gap:16px; }
  .feature-content { padding:48px 20px; }
  .fc-grid { grid-template-columns:1fr; gap:28px; }
  .fc-grid.flip .fc-text { order:1; }
  .fc-grid.flip .fc-img { order:2; }
  .how-it-works { padding:48px 20px; }
  .hiw-steps { grid-template-columns:1fr 1fr; gap:12px; }
  .video-section { padding:40px 20px; }
  .demo-page { padding:90px 20px 48px; }
  .demo-inner { grid-template-columns:1fr; gap:32px; }
  .demo-form { padding:24px 16px; }
  .form-row { grid-template-columns:1fr; }
  footer { padding:16px 20px; flex-direction:column; align-items:flex-start; gap:12px; }
  .footer-links { gap:12px; }
  .nav-dropdown-menu { position:fixed; top:60px; left:10px; right:10px; transform:none; }
}
@media (max-width: 480px) {
  .hero h1 { font-size:1.9rem; }
  .roi-bar { grid-template-columns:1fr; }
  .hiw-steps { grid-template-columns:1fr; }
  .nav-links { gap:8px; }
  .nav-dropdown-menu { top:54px; }
}


/* Nav forced dark when on light-bg page */
nav.on-light-page:not(.scrolled) .nav-links a { color:var(--charcoal); }
nav.on-light-page:not(.scrolled) .nav-logo img { filter:none; }
nav.on-light-page:not(.scrolled) .nav-cta { background:var(--ink) !important; color:var(--parchment) !important; }


/* Value page sliders - gold thumb, no blue */
.val-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  outline: none;
  cursor: pointer;
}
.val-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #9c7a3c;
  border: 3px solid #1a1712;
  box-shadow: 0 0 0 1px #9c7a3c;
  cursor: pointer;
  transition: transform .15s;
}
.val-slider::-webkit-slider-thumb:hover { transform: scale(1.15); }
.val-slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #9c7a3c;
  border: 3px solid #1a1712;
  cursor: pointer;
}

