:root {
  --navy: #0d1b2e;
  --navy-dark: #08121f;
  --navy-mid: #1f3a5f;
  --white: #ffffff;
  --black: #000000;
  --text-dark: #10182a;
  --text-body: #3a3f4c;
  --text-muted: #6b7080;
  --accent: #8a5a2b;
  --accent-light: #a97635;
  --gold: #a97635;
  --border: rgba(16,24,42,0.13);
  --bg-white: #ffffff;
  --bg-light: #f6f3ec;
  --paper: #faf8f3;
  --shadow-sm: 0 1px 2px rgba(16,24,42,0.05);
  --shadow-md: 0 6px 24px rgba(16,24,42,0.08);
  --shadow-lg: 0 16px 48px rgba(16,24,42,0.12);
  --radius-sm: 3px;
  --radius-md: 4px;
  --radius-lg: 6px;
  --transition: 0.25s cubic-bezier(0.4,0,0.2,1);
  --font-display: 'Fraunces', 'Iowan Old Style', Georgia, serif;
  --font: 'Public Sans', -apple-system, sans-serif;
  --font-mono: 'IBM Plex Mono', 'SFMono-Regular', monospace;
  --green: #35664c;
  --red: #93342a;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font);color:var(--text-dark);background:var(--paper);overflow-x:hidden;-webkit-font-smoothing:antialiased}

::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg-light)}
::-webkit-scrollbar-thumb{background:var(--navy-mid);border-radius:0}
::selection{background:var(--accent);color:var(--white)}

/* ===== FOCUS STATES (keyboard accessibility) ===== */
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
  border-radius:1px;
}
.section-navy :focus-visible,.hero-section :focus-visible,.page-hero :focus-visible,
.cta-section :focus-visible,footer :focus-visible,.navy :focus-visible{
  outline-color:var(--white);
}
img{max-width:100%;height:auto}

h1{font-family:var(--font-display);font-optical-sizing:auto;font-size:clamp(2.4rem,5vw,4.1rem);font-weight:600;font-style:normal;line-height:1.08;letter-spacing:-0.01em;color:var(--text-dark)}
h2{font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,2.9rem);font-weight:600;line-height:1.12;letter-spacing:-0.01em;color:var(--text-dark)}
h3{font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.7rem);font-weight:600;line-height:1.25;color:var(--text-dark)}
h4{font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.3rem);font-weight:600;color:var(--text-dark)}
p{font-size:1.0625rem;line-height:1.75;color:var(--text-body);font-weight:400}

.eyebrow{display:inline-block;font-family:var(--font-mono);font-size:0.78rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);margin-bottom:0.9rem;position:relative;padding-bottom:0.7rem}
.eyebrow::after{content:'';position:absolute;bottom:0;left:0;width:36px;height:1px;background:var(--accent)}
.eyebrow-center::after{left:50%;transform:translateX(-50%)}

/* ===== NAVBAR ===== */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 1.75rem;height:96px;border-bottom:1px solid var(--border);box-shadow:none;transition:box-shadow var(--transition),background var(--transition)}
.navbar.scrolled{box-shadow:var(--shadow-sm);background:rgba(250,248,243,0.96);backdrop-filter:blur(10px)}
.nav-logo{display:flex;align-items:center;text-decoration:none;cursor:pointer}
.nav-logo img{height:52px;width:auto;max-width:380px;display:block;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:0.02rem;list-style:none}
.nav-links li{position:relative}
.nav-links a{color:var(--text-dark);text-decoration:none;font-size:0.86rem;font-weight:500;letter-spacing:0.02em;padding:0.5rem 0.6rem;border-radius:0;transition:all var(--transition);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.nav-links a:hover{color:var(--accent)}
.nav-links a.active{color:var(--accent)}
.nav-label-static.active{color:var(--accent)}
.nav-caret{font-size:0.55rem;transition:transform var(--transition)}
.nav-label-static{color:var(--text-dark);font-size:0.86rem;font-weight:500;letter-spacing:0.02em;padding:0.5rem 0.6rem;border-radius:0;display:inline-flex;align-items:center;gap:4px;cursor:default;user-select:none}
.nav-dropdown-wrap:hover .nav-label-static{color:var(--accent)}
.nav-dropdown-wrap:hover .nav-caret{transform:rotate(180deg)}
.nav-dropdown{position:absolute;top:100%;left:0;background:var(--white);border-radius:0;box-shadow:var(--shadow-lg);border:1px solid var(--border);min-width:230px;padding:0.4rem;opacity:0;visibility:hidden;transform:translateY(6px);transition:all var(--transition);z-index:1100}
.nav-dropdown-wrap:hover .nav-dropdown,.nav-dropdown-wrap:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown a{display:block;padding:0.7rem 0.9rem;border-radius:0;font-size:0.9rem;font-weight:500;color:var(--text-dark)}
.nav-dropdown a:hover{background:var(--bg-light);color:var(--accent)}
.nav-cta-btn{background:var(--navy)!important;color:var(--paper)!important;padding:0.6rem 1.15rem!important;border-radius:0!important;font-weight:600!important;font-family:var(--font-mono)!important;font-size:0.74rem!important;letter-spacing:0.08em!important;text-transform:uppercase!important;transition:all var(--transition)!important;margin-left:0.5rem;border:1px solid var(--navy)!important}
.nav-cta-btn:hover{background:transparent!important;color:var(--navy)!important}

.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none}
.hamburger span{width:24px;height:1.5px;background:var(--navy);border-radius:0;transition:var(--transition);display:block}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-menu{display:none;position:fixed;top:96px;left:0;right:0;bottom:0;background:var(--paper);flex-direction:column;align-items:center;justify-content:flex-start;gap:0.35rem;z-index:999;padding:2rem 1.5rem;border-top:1px solid var(--border);overflow-y:auto}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--text-dark);text-decoration:none;font-size:1.1rem;font-weight:500;padding:0.8rem 2rem;border-radius:0;width:100%;text-align:center;transition:var(--transition)}
.mobile-menu a:hover,.mobile-menu a.active{background:var(--navy);color:var(--white)}
.mobile-submenu-group{width:100%}
.mobile-submenu-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%}
.mobile-submenu-toggle .nav-caret{font-size:0.65rem;transition:transform var(--transition)}
.mobile-submenu-toggle.open .nav-caret{transform:rotate(180deg)}
.mobile-submenu{max-height:0;overflow:hidden;transition:max-height 0.3s ease;width:100%;display:flex;flex-direction:column;align-items:center}
.mobile-submenu.open{max-height:200px}
.mobile-submenu a{font-size:0.98rem;font-weight:500;color:var(--text-muted);padding:0.65rem 2rem;background:var(--bg-light);border-radius:0;margin:0.2rem 0;width:85%}
.mobile-submenu a:hover,.mobile-submenu a.active{background:var(--navy);color:var(--white)}

/* ===== HERO ===== */
.hero-section{height:100vh;min-height:640px;max-height:960px;background:var(--navy);display:flex;align-items:center;justify-content:center;padding:96px 3rem 2.5rem;position:relative;overflow:hidden}
.hero-section::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 15% 20%,rgba(169,118,53,0.16),transparent 55%),radial-gradient(ellipse at 85% 85%,rgba(31,58,95,0.5),transparent 55%);pointer-events:none}
.hero-bg-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden;opacity:0.05}
.hero-bg-text span{font-family:var(--font-display);font-size:clamp(8rem,20vw,18rem);font-weight:600;font-style:italic;color:var(--white);white-space:nowrap;letter-spacing:-0.02em}
.hero-inner{position:relative;z-index:2;max-width:1280px;width:100%;margin:0 auto;display:grid;grid-template-columns:1.35fr 0.85fr;gap:3.5rem;align-items:center}
.hero-content{max-width:640px}
.hero-title{font-family:var(--font-display);color:var(--white);font-size:clamp(1.95rem,3.6vw,2.95rem);font-weight:500;line-height:1.15;letter-spacing:-0.01em;margin-bottom:1.4rem;min-height:1.15em}
.typewriter-cursor{display:inline-block;width:2px;background:var(--gold);margin-left:2px;animation:blink 0.9s step-end infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.hero-sub{color:rgba(250,248,243,0.72);font-size:1.05rem;font-weight:400;line-height:1.65;max-width:600px;margin-bottom:1.85rem;opacity:0;transform:translateY(16px);transition:opacity 0.7s ease,transform 0.7s ease}
.hero-sub.visible{opacity:1;transform:translateY(0)}
.hero-cta-row{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;transform:translateY(16px);transition:opacity 0.7s ease 0.15s,transform 0.7s ease 0.15s}
.hero-cta-row.visible{opacity:1;transform:translateY(0)}
.hero-side-panel{background:rgba(250,248,243,0.04);border:1px solid rgba(250,248,243,0.16);border-radius:0;padding:2.25rem 2rem;backdrop-filter:blur(6px);opacity:0;transform:translateY(16px);transition:opacity 0.7s ease 0.3s,transform 0.7s ease 0.3s;position:relative}
.hero-side-panel::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
.hero-side-panel.visible{opacity:1;transform:translateY(0)}
.hero-side-list{list-style:none;display:flex;flex-direction:column;gap:1.1rem}
.hero-side-list li{position:relative;padding-left:1.5rem;color:rgba(250,248,243,0.58);font-size:0.95rem;font-weight:500;letter-spacing:0.01em;line-height:1.4}
.hero-side-list li::before{content:'';position:absolute;left:0;top:0.5rem;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.btn-hero-primary{background:var(--paper);color:var(--navy);border:1px solid var(--paper);padding:0.9rem 2.2rem;border-radius:0;font-size:0.95rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all var(--transition);letter-spacing:0.01em;font-family:var(--font)}
.btn-hero-primary:hover{background:transparent;color:var(--paper);transform:translateY(-1px)}
.btn-hero-secondary{background:transparent;color:var(--paper);border:1px solid rgba(250,248,243,0.4);padding:0.9rem 2.2rem;border-radius:0;font-size:0.95rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all var(--transition);font-family:var(--font)}
.btn-hero-secondary:hover{border-color:rgba(250,248,243,0.85);background:rgba(250,248,243,0.06);transform:translateY(-1px)}

/* ===== SECTIONS ===== */
.section{padding:6rem 3rem}
.section-inner{max-width:1140px;margin:0 auto}
.section-alt{background:var(--bg-light)}
.section-white{background:var(--paper)}
.section-navy{background:var(--navy)}
.section-header{margin-bottom:3.5rem}
.section-header-center{text-align:center}
.section-header-center .eyebrow::after{left:50%;transform:translateX(-50%)}
.section-subtitle{color:var(--text-muted);max-width:680px;margin:1rem auto 0;font-size:1.0625rem;line-height:1.75}
.section-title-link{color:inherit;text-decoration:none;background-image:linear-gradient(var(--accent),var(--accent));background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size 0.25s ease,color 0.25s ease}
.section-title-link:hover{color:var(--accent);background-size:100% 1px}
.section-link-more{text-align:center;margin-top:1.75rem}
.section-link-more a{color:var(--accent);font-weight:600;text-decoration:none;font-size:0.95rem;font-family:var(--font-mono);letter-spacing:0.02em}
.section-link-more a:hover{text-decoration:underline}

/* ===== PAGE HERO ===== */
.page-hero{padding:8rem 3rem 5rem;background:var(--navy);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(250,248,243,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(250,248,243,0.025) 1px,transparent 1px);background-size:56px 56px}
.page-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 90% 0%,rgba(169,118,53,0.14),transparent 55%)}
.page-hero .eyebrow{color:rgba(250,248,243,0.85)}
.page-hero .eyebrow::after{background:var(--gold)}
.page-hero h1{color:var(--white);position:relative;font-size:clamp(2.2rem,4.6vw,3.6rem)}
.page-hero p{color:rgba(250,248,243,0.7);max-width:700px;margin:1.25rem 0 0;font-size:1.1rem;line-height:1.75;position:relative}
.page-hero-tabs{display:flex;gap:0.75rem;margin-top:2.25rem;position:relative;flex-wrap:wrap}
.phtab{background:rgba(250,248,243,0.06);border:1px solid rgba(250,248,243,0.25);color:var(--white);padding:0.65rem 1.3rem;border-radius:0;font-weight:600;font-size:0.86rem;cursor:pointer;transition:all var(--transition);text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.phtab:hover,.phtab.active{background:var(--paper);color:var(--navy);border-color:var(--paper)}

/* ===== BUTTONS ===== */
.btn-primary{background:var(--navy);color:var(--white);border:1px solid var(--navy);padding:0.875rem 2rem;border-radius:0;font-size:0.9rem;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all var(--transition);font-family:var(--font);letter-spacing:0.01em}
.btn-primary:hover{background:transparent;color:var(--navy);transform:translateY(-1px)}
.btn-secondary{background:transparent;color:var(--navy);border:1px solid var(--border);padding:0.875rem 2rem;border-radius:0;font-size:0.9rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all var(--transition);font-family:var(--font)}
.btn-secondary:hover{border-color:var(--navy);background:rgba(16,24,42,0.03)}
.btn-secondary-light{background:transparent;color:var(--white);border:1px solid rgba(250,248,243,0.45);padding:0.875rem 2rem;border-radius:0;font-size:0.9rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all var(--transition);font-family:var(--font)}
.btn-secondary-light:hover{border-color:rgba(250,248,243,0.85);background:rgba(250,248,243,0.08);transform:translateY(-1px)}

/* ===== SESSION REPORT WIDGET (home page) ===== */
.report-section{padding:5rem 3rem;background:var(--bg-light)}
.report-card{max-width:1140px;margin:0 auto;background:var(--white);border:1px solid var(--border);border-radius:0;box-shadow:var(--shadow-md);overflow:hidden}
.report-card-head{background:var(--navy);padding:2rem 2.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.report-card-head .rt{font-family:var(--font-display);color:var(--white);font-size:1.3rem;font-weight:600;margin-bottom:0.3rem}
.report-card-head .rs{color:rgba(250,248,243,0.65);font-size:0.88rem;font-family:var(--font-mono)}
.report-body{padding:2.25rem}
.summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.75rem}
.stat-card{background:var(--paper);border:1px solid var(--border);border-radius:0;padding:1rem 1.1rem}
.stat-label{font-family:var(--font-mono);font-size:0.68rem;color:#5a5f6d;margin-bottom:0.4rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.stat-val{font-family:var(--font-mono);font-size:1.35rem;font-weight:600;color:var(--text-dark)}
.stat-val.green{color:var(--green)}
.stat-val.red{color:var(--red)}
.tbl-wrap{border:1px solid var(--border);border-radius:0;overflow-x:auto}
.report-body table{width:100%;border-collapse:collapse;min-width:980px;font-size:0.8rem;font-family:var(--font-mono)}
.report-body thead tr{background:var(--paper)}
.report-body th{padding:0.7rem 0.6rem;text-align:left;font-weight:600;color:var(--text-muted);font-size:0.66rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}
.report-body td{padding:0.7rem 0.6rem;color:var(--text-dark);border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}
.report-body tr:last-child td{border-bottom:none}
.report-body tr:hover td{background:var(--paper)}
.win-badge{display:inline-block;padding:2px 9px;border-radius:2px;font-size:0.66rem;font-weight:600;background:#e8ede9;color:var(--green)}
.loss-badge{display:inline-block;padding:2px 9px;border-radius:2px;font-size:0.66rem;font-weight:600;background:#f2e6e3;color:var(--red)}
.report-body .green{color:var(--green);font-weight:600}
.report-body .red{color:var(--red);font-weight:600}
.platform-pill{display:inline-block;padding:2px 8px;border-radius:2px;font-size:0.66rem;font-weight:600;background:rgba(138,90,43,0.1);color:var(--accent)}
.report-foot-note{padding:1rem 2.25rem 2rem;font-size:0.85rem;color:var(--text-muted);font-style:italic}

/* ===== SERVICES PREVIEW GRID (home) ===== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.service-card{background:var(--white);border:1px solid var(--border);border-radius:0;padding:2.25rem;box-shadow:none;transition:all var(--transition);cursor:pointer;position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform var(--transition)}
.service-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.service-card:hover::before{transform:scaleY(1)}
.service-card h3{color:var(--text-dark);margin-bottom:0.85rem;font-size:1.3rem}
.service-card p{color:var(--text-muted);font-size:0.95rem;line-height:1.7}
.card-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:0.85rem;font-family:var(--font-mono);font-weight:600;margin-top:1.25rem;text-decoration:none;transition:gap var(--transition)}
.card-link:hover{gap:10px}

/* ===== CTA SECTION ===== */
.cta-section{background:var(--navy);padding:6rem 3rem;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:-50%;left:-10%;width:500px;height:500px;border-radius:50%;background:rgba(169,118,53,0.14);filter:blur(90px)}
.cta-section h2{color:var(--white);margin-bottom:1.1rem;position:relative}
.cta-section p{color:rgba(250,248,243,0.72);max-width:580px;margin:0 auto 2.25rem;font-size:1.0625rem;line-height:1.8;position:relative}
.cta-section .hero-cta-row{justify-content:center;position:relative;opacity:1;transform:none}

/* ===== STORY / NARRATIVE SCROLL SECTION ===== */
.story-section{padding:6rem 3rem;background:var(--bg-light)}
.story-inner{max-width:800px;margin:0 auto}
.story-inner p{font-family:var(--font-display);font-size:1.2rem;line-height:1.75;color:var(--text-body);margin-bottom:1.4rem;font-weight:400}
.story-highlight{background:var(--white);border-left:2px solid var(--gold);border-radius:0;padding:1.5rem 2rem;margin:2rem 0;box-shadow:var(--shadow-sm)}
.story-highlight p{font-size:1.05rem;color:var(--text-dark);font-style:italic;margin:0}

/* ===== TEAM SECTION ===== */
.team-section{padding:6rem 3rem;background:var(--paper)}
.team-section-header{text-align:center;margin-bottom:3.5rem}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1140px;margin:0 auto}
.team-card{background:var(--white);border-radius:0;border:1px solid var(--border);box-shadow:none;overflow:hidden;transition:all var(--transition);text-align:center;padding-bottom:0.5rem}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.team-photo-wrap{overflow:hidden;position:relative;background:var(--bg-light);border-radius:50%;margin:1.75rem auto 1rem;width:124px;height:124px;border:1px solid var(--border)}
.team-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform 0.5s ease;filter:grayscale(0.25)}
.team-card:hover .team-photo-wrap img{transform:scale(1.05);filter:grayscale(0)}
.team-info{padding:0 1rem 1.5rem}
.team-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-dark);margin-bottom:0.25rem}
.team-role{font-family:var(--font-mono);font-size:0.7rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);margin-bottom:0.85rem;line-height:1.4}
.team-learn-btn{display:inline-block;padding:0.4rem 1.1rem;border:1px solid var(--navy);color:var(--navy);border-radius:0;font-size:0.76rem;font-weight:600;cursor:pointer;transition:all var(--transition);text-decoration:none;letter-spacing:0.02em;background:none;font-family:var(--font-mono)}
.team-learn-btn:hover{background:var(--navy);color:var(--white)}

/* ===== TEAM MODAL ===== */
.team-modal-overlay{display:none;position:fixed;inset:0;z-index:2000;background:rgba(13,27,46,0.7);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:2rem}
.team-modal-overlay.open{display:flex}
.team-modal{background:var(--white);border-radius:0;padding:2.75rem;max-width:620px;width:100%;max-height:85vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg)}
.team-modal-close{position:absolute;top:1.25rem;right:1.5rem;background:none;border:none;font-size:1.75rem;cursor:pointer;color:var(--text-muted);line-height:1;transition:var(--transition)}
.team-modal-close:hover{color:var(--navy)}
.team-modal-name{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--text-dark);margin-bottom:0.3rem}
.team-modal-title{font-family:var(--font-mono);font-size:0.78rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}
.team-modal-bio{font-size:1rem;line-height:1.85;color:var(--text-body);white-space:pre-line}

/* ===== FOCUS GRID ===== */
.focus-section{padding:6rem 3rem;background:var(--bg-light)}
.focus-inner{max-width:1140px;margin:0 auto}
.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.5rem}
.focus-item{background:transparent;border:none;padding:0;perspective:1200px;height:150px}
.flip-card-btn{all:unset;display:block;width:100%;height:100%;cursor:pointer}
.flip-card-inner{position:relative;width:100%;height:100%;transition:transform 0.6s cubic-bezier(0.4,0,0.2,1);transform-style:preserve-3d}
.flip-card-btn.flipped .flip-card-inner,.focus-item.flipped .flip-card-inner{transform:rotateY(180deg)}
.flip-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:0;border:1px solid var(--border);box-shadow:none;display:flex;flex-direction:column;padding:1.5rem 1.25rem;transition:all var(--transition)}
.flip-face-front{background:var(--white);align-items:center;justify-content:center;text-align:center;gap:1rem}
.flip-face-front .flip-title-row{justify-content:center}
.flip-face-front .flip-hint{position:absolute;left:0;right:0;bottom:1.25rem;text-align:center;align-self:center}
.flip-face-front:hover{box-shadow:var(--shadow-sm);border-color:var(--accent)}
.flip-face-back{background:var(--navy);color:rgba(250,248,243,0.92);transform:rotateY(180deg);justify-content:space-between;overflow-y:auto}
.flip-face-back p{color:rgba(250,248,243,0.82);font-size:0.85rem;line-height:1.55;font-weight:400}
.flip-face-back .flip-link{margin-top:0.6rem;display:inline-flex;align-items:center;gap:6px;color:var(--white);font-weight:600;font-size:0.8rem;text-decoration:none;border-bottom:1px solid rgba(250,248,243,0.4)}
.flip-title-row{display:flex;align-items:center;gap:0.75rem;width:100%}
.focus-num{width:32px;height:32px;flex-shrink:0;border-radius:0;background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:600;font-size:0.85rem}
.flip-face-back .focus-num{background:rgba(250,248,243,0.14)}
.flip-title{font-weight:600;color:var(--text-dark);font-size:0.95rem}
.flip-face-back .flip-title{color:var(--white)}
.flip-hint{font-family:var(--font-mono);font-size:0.66rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;align-self:flex-end}
.flip-face-back .flip-hint{color:rgba(250,248,243,0.5)}

/* ===== FLIP CARDS (problem / deliver) ===== */
.flip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:1.5rem 0 2.5rem}
.flip-card-tall{perspective:1200px;height:190px}
.flip-card-tall .flip-face{padding:1.5rem 1.65rem}
.flip-card-tall .flip-face-front p{color:var(--text-muted);font-size:0.8rem;margin-top:0.5rem}
.flip-card-tall .flip-face-back p{font-size:0.9rem;line-height:1.7}

/* ===== WHO WE SERVE ===== */
.serve-section{padding:6rem 3rem;background:var(--paper)}
.serve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1140px;margin:2.5rem auto 0}
.serve-card{background:var(--bg-light);border:1px solid var(--border);border-radius:0;padding:2.25rem;transition:all var(--transition)}
.serve-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.serve-card h4{margin-bottom:0.85rem;font-size:1.2rem}
.serve-card p{font-size:0.95rem;color:var(--text-muted);line-height:1.7}

/* ===== EXPERTISE LANDING TABS ===== */
.exp-landing-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1140px;margin:0 auto}
.exp-tab-card{background:var(--white);border:1px solid var(--border);border-radius:0;padding:2.75rem;box-shadow:none;transition:all var(--transition);cursor:pointer;text-decoration:none;display:block}
.exp-tab-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--accent)}
.exp-tab-icon{width:54px;height:54px;border-radius:0;background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}
.exp-tab-card h3{margin-bottom:0.75rem}
.exp-tab-card p{color:var(--text-muted);font-size:0.975rem;line-height:1.75;margin-bottom:1.25rem}

/* ===== VIDEO EMBED (shared pattern) ===== */
.video-embed-wrap{max-width:760px;margin:0 auto 3rem;border-radius:0;overflow:hidden;box-shadow:var(--shadow-lg);position:relative;border:1px solid var(--border)}
.video-embed-thumb{position:relative;cursor:pointer;background:var(--navy)}
.video-embed-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;opacity:0.85;transition:opacity var(--transition)}
.video-embed-thumb:hover img{opacity:0.65}
.video-embed-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:rgba(250,248,243,0.95);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,0.3);transition:all var(--transition)}
.video-embed-thumb:hover .video-embed-play{transform:translate(-50%,-50%) scale(1.06);background:var(--white)}
.video-embed-expand-btn{position:absolute;bottom:1rem;right:1rem;background:var(--navy);color:var(--white);border:none;border-radius:0;padding:0.5rem 1rem;font-size:0.78rem;font-family:var(--font-mono);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all var(--transition);z-index:10}
.video-embed-expand-btn:hover{background:var(--navy-mid)}
.video-embed-title{padding:1rem 1.25rem;background:var(--white);font-size:0.9rem;font-weight:500;color:var(--text-dark)}
.video-modal-overlay{display:none;position:fixed;inset:0;z-index:3000;background:rgba(8,12,20,0.94);align-items:center;justify-content:center;padding:2rem}
.video-modal-overlay.open{display:flex}
.video-modal{position:relative;width:100%;max-width:1000px}
.video-modal iframe{width:100%;aspect-ratio:16/9;border:none;border-radius:0}
.video-modal-close{position:absolute;top:-2.75rem;right:0;background:none;border:none;cursor:pointer;color:var(--white);font-size:0.95rem;line-height:1;display:flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-weight:600;padding:0.4rem 0.8rem;border:1px solid rgba(250,248,243,0.4);border-radius:0;transition:var(--transition)}
.video-modal-close:hover{background:rgba(250,248,243,0.12)}

/* ===== PROBLEM/DELIVER LISTS ===== */
.prob-stat-box{background:var(--navy);border-radius:0;padding:2.5rem;color:var(--white);margin:2.5rem 0;position:relative;overflow:hidden}
.prob-stat-box::before{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:rgba(169,118,53,0.25);filter:blur(55px)}
.prob-stat-box h3{color:var(--white);position:relative;margin-bottom:1rem}
.prob-stat-box p{color:rgba(250,248,243,0.82);position:relative}
.prob-stat-box .src{font-size:0.8rem;color:rgba(250,248,243,0.5);margin-top:1rem;font-style:italic}
.check-list{list-style:none;margin:1.5rem 0 2.5rem}
.check-list li{padding:0.9rem 0;border-bottom:1px solid var(--border);font-size:1rem;line-height:1.65;color:var(--text-body)}
.check-list li:last-child{border-bottom:none}

/* ===== ALIGNED LABEL/DESCRIPTION LIST (case study raw-data problems) ===== */
.label-list{margin:1.5rem 0 2.5rem;border-top:1px solid var(--border)}
.label-row{display:grid;grid-template-columns:230px 1fr;gap:2rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}
.label-row:last-child{border-bottom:none}
.label-row .ll-label{font-family:var(--font-display);font-weight:600;color:var(--text-dark);font-size:1.05rem;line-height:1.5}
.label-row .ll-desc{font-size:0.975rem;color:var(--text-body);line-height:1.75}

/* ===== ACCORDION (FAQ + Case Study) ===== */
.faq-category{margin-bottom:3rem}
.faq-category:last-child{margin-bottom:0}
.faq-category-title{font-family:var(--font-mono);font-size:0.92rem;font-weight:600;color:var(--navy);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:1.25rem;padding-bottom:0.6rem;border-bottom:1px solid var(--border)}
.acc-item{border:1px solid var(--border);border-radius:0;margin-bottom:0.75rem;overflow:hidden;box-shadow:none;transition:box-shadow var(--transition)}
.acc-item.open{box-shadow:var(--shadow-sm);border-color:var(--accent)}
.acc-header{display:flex;align-items:center;gap:1rem;padding:1.35rem 1.5rem;cursor:pointer;background:var(--white);transition:background var(--transition);user-select:none}
.acc-header:hover{background:var(--bg-light)}
.acc-num{width:32px;height:32px;border-radius:50%;background:var(--navy);color:var(--white);font-family:var(--font-mono);font-weight:600;font-size:0.78rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.acc-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-dark);margin:0}
.acc-arrow{margin-left:auto;color:var(--text-muted);transition:transform var(--transition);flex-shrink:0}
.acc-item.open .acc-arrow{transform:rotate(180deg)}
.acc-body{max-height:0;overflow:hidden;background:var(--white);padding:0 1.75rem 0 4.25rem;transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1),padding 0.4s ease}
.acc-item.open .acc-body{max-height:640px;padding:0 1.75rem 1.75rem 4.25rem}
.acc-body p{color:var(--text-body);font-size:0.975rem;line-height:1.8}

/* ===== PROCESS / WORKFLOW TIMELINE ===== */
.process-section{padding:6rem 3rem;background:var(--paper)}
.process-inner{max-width:880px;margin:0 auto}
.timeline{position:relative;padding-left:3.5rem}
.timeline::before{content:'';position:absolute;left:19px;top:8px;bottom:8px;width:1px;background:var(--border)}
.tl-item{position:relative;padding-bottom:3rem}
.tl-item:last-child{padding-bottom:0}
.tl-dot{position:absolute;left:-3.5rem;top:0;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--white);font-family:var(--font-mono);font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px var(--paper)}
.tl-card{background:var(--bg-light);border:1px solid var(--border);border-radius:0;padding:1.75rem 2rem}
.tl-card h3{margin-bottom:0.65rem;font-size:1.25rem}
.tl-card p{font-size:0.95rem;color:var(--text-body);line-height:1.75}
.tl-sublist{list-style:none;margin-top:1rem}
.tl-sublist li{padding:0.55rem 0;padding-left:1.6rem;position:relative;font-size:0.95rem;color:var(--text-body);border-bottom:1px dashed var(--border);line-height:1.7}
.tl-sublist li:last-child{border-bottom:none}
.tl-sublist li::before{content:'';position:absolute;left:0;top:1rem;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.tl-sublist.lettered{counter-reset:letteritem}
.tl-sublist.lettered li::before{content:counter(letteritem,lower-alpha) ')';counter-increment:letteritem;width:auto;height:auto;background:none;border-radius:0;color:var(--accent);font-family:var(--font-mono);font-weight:600;font-size:0.85rem;top:0.5rem}
.tl-note{margin-top:0.85rem;font-size:0.85rem;color:var(--text-muted);font-style:italic}

/* ===== PRICING CARDS ===== */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:1300px;margin:0 auto}
.price-card{background:var(--white);border:1px solid var(--border);border-radius:0;padding:2.25rem 1.85rem;box-shadow:none;transition:all var(--transition);position:relative;display:flex;flex-direction:column}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.price-card.popular{border-color:var(--navy);box-shadow:var(--shadow-md);transform:none}
.price-card.popular:hover{transform:translateY(-4px)}
.popular-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--navy);color:var(--white);font-family:var(--font-mono);font-size:0.66rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:0.35rem 0.9rem;border-radius:0;border:1px solid var(--gold)}
.price-tier{font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--text-dark);margin-bottom:0.3rem}
.price-scope{font-family:var(--font-mono);font-size:0.78rem;font-weight:600;color:var(--accent);margin-bottom:0.6rem;letter-spacing:0.01em}
.price-detail{font-size:0.8rem;color:var(--text-muted);margin-bottom:0.5rem;line-height:1.55}
.price-example{font-size:0.78rem;color:var(--text-muted);font-style:italic;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.price-features{list-style:none;flex:1;margin-bottom:1.5rem}
.price-features li{display:flex;align-items:flex-start;gap:0.6rem;padding:0.5rem 0;font-size:0.875rem;color:var(--text-body);line-height:1.5}
.price-features li::before{content:'\2013';flex-shrink:0;color:var(--accent);font-weight:700;font-size:0.95rem;margin-top:0.1rem}
.addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:900px;margin:2.5rem auto 0}
.addon-card{background:var(--navy);border-radius:0;padding:1.85rem;color:var(--white)}
.addon-card h4{color:var(--white);margin-bottom:0.6rem;font-size:1.1rem}
.addon-card p{color:rgba(250,248,243,0.75);font-size:0.9rem;line-height:1.65}

/* ===== PRICING CALCULATOR ===== */
.calc-card{max-width:900px;margin:0 auto 4rem;background:var(--white);border:1px solid var(--border);border-radius:0;box-shadow:var(--shadow-md);padding:2.5rem}
.calc-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}
.calc-field label{display:block;font-family:var(--font-mono);font-size:0.74rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.5rem}
.calc-field input{width:100%;padding:0.75rem 1rem;border:1px solid var(--border);border-radius:0;font-family:var(--font-mono);font-size:1.1rem;font-weight:600;color:var(--text-dark)}
.calc-field input:focus{outline:none;border-color:var(--accent)}
.calc-result{background:var(--bg-light);border-radius:0;padding:1.75rem 2rem;text-align:center}
.calc-total{font-family:var(--font-display);font-size:2.4rem;font-weight:600;color:var(--navy)}
.calc-total.custom{font-size:1.5rem}
.calc-total.custom a{color:var(--accent)}
.calc-breakdown{margin-top:0.9rem;font-family:var(--font-mono);font-size:0.85rem;color:var(--text-muted);line-height:1.7}
.calc-breakdown div{margin-bottom:0.15rem}

/* ===== W-2G vs SESSION REPORT TOGGLE CARD ===== */
.compare-card{max-width:900px;margin:2.5rem auto 0;background:var(--white);border:1px solid var(--border);border-radius:0;box-shadow:var(--shadow-md);overflow:hidden}
.compare-toggle{display:flex;background:var(--bg-light);padding:0.4rem;gap:0.4rem}
.compare-toggle-btn{flex:1;background:none;border:none;padding:0.85rem 1rem;border-radius:0;font-family:var(--font);font-weight:600;font-size:0.92rem;cursor:pointer;color:var(--text-muted);transition:all var(--transition)}
.compare-toggle-btn.active{background:var(--navy);color:var(--white)}
.compare-body{perspective:1400px;padding:2.5rem;min-height:340px;position:relative}
.compare-face{transition:opacity 0.35s ease,transform 0.35s ease}
.compare-face[hidden]{display:none}
.compare-label{font-family:var(--font-mono);font-size:0.76rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);margin-bottom:0.75rem}
.compare-amount{font-family:var(--font-display);font-size:2.7rem;font-weight:600;color:var(--text-dark);margin-bottom:0.5rem}
.compare-amount.w2g{color:var(--red)}
.compare-amount.session{color:var(--green)}
.compare-desc{color:var(--text-body);font-size:1rem;line-height:1.75;margin-bottom:1.25rem}
.compare-note{font-size:0.82rem;color:var(--text-muted);font-style:italic;padding-top:1rem;border-top:1px solid var(--border)}

/* ===== WHY WAGERBOOKS GRID ===== */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.75rem;max-width:1180px;margin:2.5rem auto 0}
.why-card{background:var(--white);border:1px solid var(--border);border-radius:0;padding:2rem 2.1rem;box-shadow:none;transition:all var(--transition)}

/* ===== WHY WAGERBOOKS: horizontal scroll gallery (desktop) ===== */
.why-wagerbooks-section{padding-bottom:0}
.why-track{gap:1.75rem;padding:0 4vw}
.why-card-h{flex:0 0 380px;background:var(--white);border:1px solid var(--border);border-radius:0;padding:2.5rem 2.25rem;box-shadow:var(--shadow-md)}
.why-card-h .why-lead{font-family:var(--font-display);font-weight:600;color:var(--text-dark);display:block;margin-bottom:0.85rem;font-size:1.2rem}
.why-card-h p{font-size:0.98rem;color:var(--text-muted);line-height:1.8;margin:0}
@media(max-width:1023px){
  .why-wagerbooks-section{padding-bottom:3.5rem}
  .why-track{padding:0 1.5rem 1rem}
  .why-card-h{flex:0 0 82vw}
  .hscroll-stage{gap:1.25rem}
}
.why-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.why-card .why-lead{font-family:var(--font-display);font-weight:600;color:var(--text-dark);display:block;margin-bottom:0.6rem;font-size:1.08rem}
.why-card p{font-size:0.95rem;color:var(--text-muted);line-height:1.75;margin:0}

/* ===== PLAIN (NO-FLIP) CARD GRID ===== */
.plain-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:1.5rem 0 2.5rem}
.plain-card{background:var(--white);border:1px solid var(--border);border-radius:0;padding:1.65rem 1.85rem;box-shadow:none;transition:all var(--transition)}
.plain-card:hover{box-shadow:var(--shadow-sm);border-color:var(--accent)}
.plain-card .flip-title{font-weight:600;color:var(--text-dark);display:block;margin-bottom:0.5rem;font-size:1rem}
.plain-card p{font-size:0.95rem;color:var(--text-muted);line-height:1.7;margin:0}

/* ===== COMPARISON TABLES ===== */
.compare-table-wrap{overflow-x:auto;margin:1.75rem 0 2.5rem;border-radius:0;box-shadow:none;border:1px solid var(--border)}
.compare-table{width:100%;border-collapse:collapse;background:var(--white);min-width:480px}
.compare-table th,.compare-table td{padding:0.9rem 1.25rem;text-align:left;font-size:0.92rem;border-bottom:1px solid var(--border)}
.compare-table thead th{background:var(--navy);color:var(--white);font-family:var(--font-mono);font-weight:600;font-size:0.78rem;letter-spacing:0.04em;text-transform:uppercase}
.compare-table tbody tr:last-child td{border-bottom:none}
.compare-table tbody tr:nth-child(even){background:var(--bg-light)}
.compare-table td.num{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}
.compare-table td.pos{color:var(--green)}
.compare-table td.neg{color:var(--red)}
.compare-table td.label-col{font-weight:600;color:var(--text-dark)}

/* ===== VIDEO / AI NOTE ===== */
.video-ai-note{max-width:760px;margin:0.75rem auto 3rem;text-align:center;font-size:0.85rem;color:var(--text-muted);font-style:italic;line-height:1.65}

/* ===== MARQUEE ===== */
.marquee{background:var(--navy-dark);overflow:hidden;padding:1rem 0;white-space:nowrap;position:relative}
.marquee-white{background:var(--paper);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.marquee-white .marquee-track span{color:var(--navy)}
.marquee-track{display:inline-flex;animation:marquee-scroll 32s linear infinite}
.marquee-track span{font-family:var(--font-mono);color:rgba(250,248,243,0.6);font-size:0.82rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:0 1.25rem;display:inline-block}
@keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== SECURITY / COMMUNICATION SECTIONS ===== */
.icon-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1140px;margin:2.5rem auto 0}
.icon-feature-card{background:var(--white);border:1px solid var(--border);border-radius:0;padding:2.25rem;box-shadow:none;transition:all var(--transition)}
.icon-feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.icon-feature-icon{width:50px;height:50px;border-radius:0;background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.4rem;font-weight:600;margin-bottom:1.25rem}
.icon-feature-card h4{margin-bottom:0.65rem}
.icon-feature-card p{font-size:0.95rem;color:var(--text-muted);line-height:1.7}

/* ===== PROGRESS BAR (motion-ui-progress-bar) ===== */
.progress-stat-card{max-width:820px;margin:0 auto 3.5rem;background:var(--white);border:1px solid var(--border);border-radius:0;box-shadow:none;padding:2rem 2.25rem}
.progress-stat-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:0.9rem;gap:1rem;flex-wrap:wrap}
.progress-stat-head span:first-child{font-weight:600;color:var(--text-dark);font-size:0.98rem}
.progress-stat-value{font-family:var(--font-mono);font-weight:700;color:var(--accent);font-size:1.4rem;font-variant-numeric:tabular-nums}
.progress-bar-track{width:100%;height:8px;border-radius:0;background:var(--bg-light);overflow:hidden;border:1px solid var(--border)}
.progress-bar-fill{height:100%;width:0%;border-radius:0;background:linear-gradient(90deg,var(--navy-mid),var(--gold));transition:width 1.4s cubic-bezier(0.16,1,0.3,1)}
.progress-stat-note{margin-top:1rem;font-size:0.9rem;color:var(--text-muted);line-height:1.7}
.progress-stat-note a{color:var(--accent);font-weight:600;text-decoration:none}
.progress-stat-note a:hover{text-decoration:underline}

/* ===== CASE STUDY ===== */
.cs-cover{background:var(--navy);padding:3.5rem;border-radius:0;margin-bottom:2.5rem;position:relative;overflow:hidden}
.cs-cover::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(250,248,243,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(250,248,243,0.025) 1px,transparent 1px);background-size:44px 44px}
.cs-cover::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 85% 100%,rgba(169,118,53,0.16),transparent 55%)}
.cs-kicker{font-family:var(--font-mono);font-size:0.8rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:rgba(250,248,243,0.7);margin-bottom:0.75rem;position:relative}
.cs-cover h2{color:var(--white);font-size:clamp(1.7rem,3.2vw,2.5rem);margin-bottom:0.85rem;position:relative}
.cs-cover p{color:rgba(250,248,243,0.78);font-size:1.05rem;position:relative;max-width:760px}
.cs-section{margin-bottom:0}
.cs-section h3{margin-bottom:0.85rem}
.cs-section p{margin-bottom:1.1rem}

/* ===== CONTACT PAGE ===== */
.contact-section{padding:7rem 3rem 5rem}
.contact-inner{max-width:700px;margin:0 auto}
.contact-info-card{background:var(--navy);border-radius:0;padding:2.75rem;color:var(--white)}
.contact-info-card h3{color:var(--white);font-size:1.55rem;font-weight:600;margin-bottom:1.75rem}
.contact-item{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.75rem}
.contact-item:last-of-type{margin-bottom:0}
.contact-item-icon{width:44px;height:44px;border-radius:0;background:rgba(250,248,243,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem}
.contact-item-text h5{font-family:var(--font-mono);color:rgba(250,248,243,0.55);font-size:0.75rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.3rem}
.contact-item-text p,.contact-item-text a{color:var(--white);font-size:1rem;line-height:1.6;text-decoration:none;font-weight:400}
.contact-item-text a:hover{text-decoration:underline}
.contact-disclaimer{margin-top:2rem;padding:1.1rem 1.4rem;background:rgba(250,248,243,0.06);border-radius:0;border:1px solid rgba(250,248,243,0.12)}
.contact-disclaimer p{color:rgba(250,248,243,0.58);font-size:0.85rem;margin:0;font-style:italic;line-height:1.6}

/* ===== LEGAL PAGES ===== */
.legal-section{padding:8rem 3rem 6rem}
.legal-inner{max-width:840px;margin:0 auto}
.legal-inner h2{margin-bottom:0.5rem}
.legal-updated{font-family:var(--font-mono);color:var(--text-muted);font-size:0.85rem;margin-bottom:2.5rem}
.legal-inner h3{margin:2.25rem 0 0.85rem;font-size:1.3rem}
.legal-inner p{margin-bottom:1.1rem;font-size:1rem;line-height:1.8}
.legal-disclaimer-box{margin-top:2.5rem;padding:1.5rem 1.75rem;background:var(--bg-light);border-left:2px solid var(--gold);border-radius:0}
.legal-disclaimer-box p{margin-bottom:0;font-size:0.95rem}

/* ===== FOOTER ===== */
footer{background:var(--navy);padding:5rem 3rem 0;color:var(--white)}
.footer-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1.3fr 0.9fr 0.9fr 0.9fr 1fr;gap:2.25rem;padding-bottom:3rem}
.footer-brand a{display:inline-block;text-decoration:none;line-height:0;margin-bottom:1.25rem}
.footer-brand img{height:50px;width:auto;max-width:340px;display:block;object-fit:contain}
.footer-brand p{color:rgba(250,248,243,0.6);font-size:0.9rem;line-height:1.75;max-width:360px}
.footer-col h5{font-family:var(--font-mono);color:rgba(250,248,243,0.48);font-size:0.75rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:1.25rem}
.footer-col a{display:block;color:rgba(250,248,243,0.8);text-decoration:none;font-size:0.9rem;font-weight:400;margin-bottom:0.7rem;transition:color var(--transition);width:max-content;max-width:100%;position:relative}
.footer-col a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--gold);transition:width 0.25s ease}
.footer-col a:hover::after{width:100%}
.footer-col a:hover{color:var(--white)}
.footer-col p{color:rgba(250,248,243,0.48);font-size:0.85rem;line-height:1.65;margin-top:0.75rem}
.footer-bottom{max-width:1180px;margin:0 auto;border-top:1px solid rgba(250,248,243,0.1);padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-family:var(--font-mono);color:rgba(250,248,243,0.62);font-size:0.8rem;margin:0}
.footer-disclaimer-strip{background:var(--navy-dark);padding:1.25rem 3rem;border-top:1px solid rgba(250,248,243,0.08)}
.footer-disclaimer-strip p{max-width:1180px;margin:0 auto;color:rgba(250,248,243,0.62);font-size:0.78rem;line-height:1.65;text-align:center}

/* ===== SCROLL REVEAL ===== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}.reveal-delay-2{transition-delay:0.2s}
.reveal-delay-3{transition-delay:0.3s}.reveal-delay-4{transition-delay:0.4s}

/* ===== NAV SHRINK (motion-ui-navigation) ===== */
.navbar{transition:height 0.35s cubic-bezier(0.4,0,0.2,1),box-shadow var(--transition),background var(--transition)}
.navbar.nav-shrink{height:72px}
.navbar.nav-shrink .nav-logo img{height:42px}
@media(max-width:768px){
  .navbar.nav-shrink{height:60px}
  .mobile-menu{top:60px}
}

/* ===== FOOTER REVEAL (motion-ui-footer-reveal) ===== */
.footer-reveal-init{opacity:0;transform:translateY(48px);transition:opacity 0.9s cubic-bezier(0.16,1,0.3,1),transform 0.9s cubic-bezier(0.16,1,0.3,1)}
.footer-reveal-init.visible{opacity:1;transform:translateY(0)}

/* ===== MASKED WORD REVEAL (motion-ui-scroll-word-reveal + motion-ui-mask-wipe) ===== */
.section-header h2,.page-hero h1{overflow:visible}
.wr-mask{display:inline-block;overflow:hidden;vertical-align:top}
.wr-word{display:inline-block;transform:translateY(105%);transition:transform 0.7s cubic-bezier(0.16,1,0.3,1)}
.wr-visible .wr-word{transform:translateY(0)}

/* ===== SCROLL ZOOM REVEAL (motion-ui-scroll-zoom-reveal) ===== */
.zoom-reveal-init{opacity:0;transform:scale(0.94);transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1),transform 0.8s cubic-bezier(0.16,1,0.3,1)}
.zoom-reveal-init.visible{opacity:1;transform:scale(1)}

/* ===== HORIZONTAL SCROLL GALLERY (build-horizontal-scroll-gallery) ===== */
[data-hscroll]{position:relative}
[data-hscroll-track]{display:flex;will-change:transform;transition:transform 0.05s linear}
.hscroll-stage{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
@media(max-width:1023px){
  [data-hscroll]{height:auto!important}
  .hscroll-stage{position:static;height:auto;overflow-x:auto;-webkit-overflow-scrolling:touch}
  [data-hscroll-track]{transform:none!important}
}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;gap:2rem;text-align:left}
  .hero-section{height:auto;min-height:auto;max-height:none;padding:110px 2rem 3rem}
  .services-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .focus-grid{grid-template-columns:repeat(2,1fr)}
  .serve-grid{grid-template-columns:1fr}
  .exp-landing-grid{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr 1fr}
  .addon-grid{grid-template-columns:1fr}
  .price-card.popular{transform:none}
  .price-card.popular:hover{transform:translateY(-4px)}
  .footer-inner{grid-template-columns:1fr 1fr 1fr;gap:2.5rem}
  .summary-row{grid-template-columns:1fr 1fr}
  .flip-grid{grid-template-columns:1fr}
  .plain-card-grid{grid-template-columns:1fr}
  .icon-feature-grid{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .calc-inputs{grid-template-columns:1fr}
}
@media(max-width:768px){
  .label-row{grid-template-columns:1fr;gap:0.5rem}
  .navbar{padding:0 1.25rem;height:72px}
  .nav-logo img{height:42px;max-width:280px}
  .nav-links{display:none}
  .hamburger{display:flex}
  .mobile-menu{top:72px}
  .section{padding:3.5rem 1.5rem}
  .hero-section{padding:90px 1.5rem 3rem;height:auto;min-height:auto;max-height:none}
  .hero-inner{grid-template-columns:1fr;gap:2rem}
  .hero-side-panel{padding:1.75rem 1.5rem}
  .services-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .focus-grid{grid-template-columns:1fr 1fr}
  .pricing-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;gap:2.5rem;padding-bottom:2.5rem}
  .why-grid{grid-template-columns:1fr}
  .compare-table{min-width:420px}
  .footer-bottom{flex-direction:column;text-align:center}
  .footer-disclaimer-strip{padding:1.25rem 1.5rem}
  .page-hero{padding:6.5rem 1.5rem 3.5rem}
  .contact-section,.legal-section{padding:6.5rem 1.5rem 3.5rem}
  .report-section{padding:3.5rem 1.5rem}
  .report-body{padding:1.5rem}
  .summary-row{grid-template-columns:1fr 1fr;gap:0.75rem}
  .timeline{padding-left:2.75rem}
  .timeline::before{left:14px}
  .tl-dot{left:-2.75rem;width:32px;height:32px;font-size:0.9rem}
  .acc-body{padding-left:1.5rem}
  .process-section{padding:3.5rem 1.5rem}
  .icon-feature-grid{grid-template-columns:1fr}
  .compare-toggle{flex-direction:column}
}
@media(max-width:480px){
  .team-grid{grid-template-columns:1fr 1fr}
  .focus-grid{grid-template-columns:1fr}
  .summary-row{grid-template-columns:1fr 1fr}
  .stat-val{font-size:1.15rem}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}

/* ===== READ-PROGRESS BAR (legal pages) ===== */
.read-progress{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--gold);z-index:1200;transition:width 0.08s linear}

/* ===== COMPARISON TABLE ROW HIGHLIGHT ===== */
.compare-table tbody tr{transition:background var(--transition)}
.compare-table tbody tr:hover{background:rgba(138,90,43,0.07)}
.compare-table tbody tr:hover td.pos{color:var(--green);font-weight:700}
.compare-table tbody tr:hover td.neg{color:var(--red);font-weight:700}

/* ===== SORTABLE TABLE HEADERS (sample report) ===== */
.report-body th.sortable{cursor:pointer;user-select:none;position:relative;padding-right:1.4rem}
.report-body th.sortable:hover{color:var(--accent)}
.report-body th.sortable::after{content:'\2195';position:absolute;right:0.4rem;opacity:0.35;font-size:0.75rem}
.report-body th.sortable.sort-asc::after{content:'\2191';opacity:1;color:var(--accent)}
.report-body th.sortable.sort-desc::after{content:'\2193';opacity:1;color:var(--accent)}

/* ===== SAMPLE REPORT FILTER CHIPS ===== */
.report-filters{display:flex;gap:0.6rem;flex-wrap:wrap;padding:0 2.25rem 1.25rem}
.report-filter-chip{background:var(--paper);border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);font-size:0.76rem;font-weight:600;letter-spacing:0.03em;padding:0.45rem 0.95rem;border-radius:100px;cursor:pointer;transition:all var(--transition)}
.report-filter-chip:hover{border-color:var(--accent);color:var(--accent)}
.report-filter-chip.active{background:var(--navy);border-color:var(--navy);color:var(--white)}
.report-body tr.row-hidden{display:none}
.report-empty-row td{text-align:center;color:var(--text-muted);font-style:italic;padding:1.5rem!important}

/* ===== PRICING TIER MATCH (calculator → recommended card) ===== */
.price-card{transition:all var(--transition),border-color 0.3s ease,box-shadow 0.3s ease}
.price-card.tier-match{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--shadow-md)}
.tier-match-ribbon{display:none;align-items:center;gap:6px;font-family:var(--font-mono);font-size:0.68rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold);margin-bottom:0.6rem}
.price-card.tier-match .tier-match-ribbon{display:flex}
.calc-recommend-link{display:none;margin-top:1rem;font-family:var(--font-mono);font-size:0.85rem;font-weight:600;color:var(--accent);text-decoration:none;align-items:center;justify-content:center;gap:6px}
.calc-recommend-link.visible{display:flex}
.calc-recommend-link:hover{text-decoration:underline}
.calc-copy-btn{margin-top:0.9rem;background:none;border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);font-size:0.76rem;font-weight:600;padding:0.5rem 1rem;border-radius:0;cursor:pointer;transition:all var(--transition);display:inline-flex;align-items:center;gap:6px}
.calc-copy-btn:hover{border-color:var(--accent);color:var(--accent)}

/* ===== TOAST NOTIFICATIONS ===== */
.toast-stack{position:fixed;bottom:6.5rem;left:50%;transform:translateX(-50%);z-index:2500;display:flex;flex-direction:column;gap:0.6rem;align-items:center;pointer-events:none}
.toast{background:var(--navy);color:var(--white);font-family:var(--font-mono);font-size:0.85rem;font-weight:600;padding:0.75rem 1.25rem;border-radius:0;border:1px solid var(--gold);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(12px);transition:opacity 0.3s ease,transform 0.3s ease}
.toast.show{opacity:1;transform:translateY(0)}

/* ===== FAQ SEARCH ===== */
.faq-search-wrap{margin-bottom:2.5rem;position:relative}
.faq-search-wrap input{width:100%;padding:0.9rem 1.1rem;border:1px solid var(--border);border-radius:0;font-family:var(--font);font-size:1rem;color:var(--text-dark);background:var(--white)}
.faq-search-wrap input:focus{outline:none;border-color:var(--accent)}
.faq-search-count{font-family:var(--font-mono);font-size:0.78rem;color:var(--text-muted);margin-top:0.6rem}
.faq-no-results{display:none;text-align:center;padding:3rem 1rem;color:var(--text-muted);font-style:italic}
.faq-no-results.visible{display:block}

/* ===== INTERACTIVE CHECKLIST (process page) ===== */
.check-off-list{list-style:none;margin-top:1rem}
.check-off-list li{display:flex;align-items:center;gap:0.75rem;padding:0.6rem 0;border-bottom:1px dashed var(--border);cursor:pointer}
.check-off-list li:last-child{border-bottom:none}
.check-off-box{width:20px;height:20px;flex-shrink:0;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}
.check-off-box svg{width:12px;height:12px;opacity:0;transition:opacity var(--transition);stroke:var(--white)}
.check-off-list li.checked .check-off-box{background:var(--green);border-color:var(--green)}
.check-off-list li.checked .check-off-box svg{opacity:1}
.check-off-list li.checked span.check-off-label{color:var(--text-muted);text-decoration:line-through;text-decoration-color:var(--border)}
.check-off-complete{display:none;margin-top:1rem;padding:0.9rem 1.1rem;background:rgba(53,102,76,0.08);border-left:2px solid var(--green);font-size:0.9rem;color:var(--green);font-weight:600}
.check-off-complete.visible{display:block}
.check-off-list.lettered li::before{content:none}
.check-off-list li{padding-left:0}

/* ===== STICKY "GET A QUOTE" BAR ===== */
.sticky-quote-bar{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,140%);z-index:1150;background:var(--navy);border:1px solid rgba(250,248,243,0.15);box-shadow:var(--shadow-lg);padding:0.9rem 1rem 0.9rem 1.5rem;display:flex;align-items:center;gap:1.25rem;transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);max-width:calc(100vw - 2rem)}
.sticky-quote-bar.visible{transform:translate(-50%,0)}
.sticky-quote-text{color:rgba(250,248,243,0.85);font-size:0.88rem;font-weight:500;white-space:nowrap}
.sticky-quote-actions{display:flex;align-items:center;gap:0.6rem}
.sticky-quote-cta{background:var(--white);color:var(--navy);border:1px solid var(--white);padding:0.55rem 1.15rem;font-size:0.82rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:all var(--transition)}
.sticky-quote-cta:hover{background:transparent;color:var(--white)}
.sticky-quote-close{background:none;border:none;color:rgba(250,248,243,0.5);cursor:pointer;font-size:1.1rem;line-height:1;padding:0.3rem}
.sticky-quote-close:hover{color:var(--white)}
@media(max-width:640px){
  .sticky-quote-bar{left:1rem;right:1rem;transform:translateY(140%);width:auto;max-width:none;flex-wrap:wrap}
  .sticky-quote-bar.visible{transform:translateY(0)}
  .sticky-quote-text{white-space:normal}
}
