:root {
     --bg:#F6F3EE; --ink:#1A1814; --accent:#D44200; --mid:#9E9589;
     --ease-snap:cubic-bezier(0.25,1,0.5,1);
     --ease-heavy:cubic-bezier(0.16,1,0.3,1);
     --ease-curtain:cubic-bezier(0.85,0,0.15,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
.gt{font-family:'Space Grotesk',sans-serif;}

/* LAYERING */
#body-wrapper { transition: transform 0.9s var(--ease-curtain), opacity 0.9s var(--ease-curtain); }
#body-wrapper.menu-open { transform: scale(0.97); opacity: 0.4; }

/* TOP BAR */
.top-bar {
     position: fixed; top: 0; left: 0; right: 0; z-index: 90;
     height: 64px; width: 100%;
     display: flex; align-items: center; justify-content: center;
     background: var(--bg);
     border-bottom: 1px solid rgba(26,24,20,0.08);
}
.top-bar-brand { font-size: 44px; font-weight: 700; letter-spacing: -0.02em; color: var(--ink); text-decoration: none; }
.pill-nav-right { position: fixed; top: 18px; right: 32px; z-index: 90; }

/* HAMBURGER */
.menu-trigger {
     display: none; /* hidden on desktop, shown on mobile via media query */
     position: fixed; top: 16px; left: 16px; z-index: 150;
     width: 48px; height: 48px;
     align-items: center; justify-content: center;
     background: var(--ink); border: none; cursor: pointer;
     padding: 0; outline: none;
     transition: background-color 0.3s var(--ease-snap), transform 0.35s var(--ease-snap);
}
.menu-trigger:hover { background: var(--accent); transform: rotate(10deg) scale(1.08); }
.menu-trigger:active { transform: scale(0.9) !important; transition-duration: 0.1s !important; }
.menu-trigger .line {
     display: block; width: 20px; height: 2px; background: #F6F3EE;
     position: absolute; border-radius: 2px;
     transition: transform 0.35s var(--ease-snap), opacity 0.25s ease, width 0.35s var(--ease-snap);
}
.menu-trigger .line:nth-child(1) { top: 14px; }
.menu-trigger .line:nth-child(2) { top: 23px; width: 14px; }
.menu-trigger .line:nth-child(3) { top: 32px; }
body.menu-open-active .menu-trigger .line:nth-child(1) { top: 23px; transform: rotate(45deg); width: 20px; }
body.menu-open-active .menu-trigger .line:nth-child(2) { opacity: 0; width: 0; }
body.menu-open-active .menu-trigger .line:nth-child(3) { top: 23px; transform: rotate(-45deg); width: 20px; }

/* MENU OVERLAY */
#menu-overlay-el {
     position: fixed; inset: 0; z-index: 200;
     pointer-events: none; opacity: 0; visibility: hidden;
}
#menu-overlay-el.active { pointer-events: auto; opacity: 1; visibility: visible; }
.menu-curtain-right {
     position: absolute; inset: 0; background: var(--ink);
     transform: translateX(100%);
     transition: transform 0.9s var(--ease-curtain) 0.06s;
}
#menu-overlay-el.active .menu-curtain-right { transform: translateX(0); }
.menu-curtain-left {
     position: absolute; inset: 0; background: var(--ink);
     opacity: 0.85; transform: translateX(-100%);
     transition: transform 0.9s var(--ease-curtain);
}
#menu-overlay-el.active .menu-curtain-left { transform: translateX(0); }

.menu-close-btn {
     position: fixed; top: 16px; right: 16px; z-index: 210;
     width: 56px; height: 36px; min-width: 56px; min-height: 36px;
     display: flex; align-items: center; justify-content: center;
     background: rgba(246,243,238,0.06); border: 1px solid rgba(246,243,238,0.2); cursor: pointer;
     color: #F6F3EE; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
     font-family: 'Space Grotesk', sans-serif;
     transition: border-color 0.3s var(--ease-snap), background-color 0.3s ease, transform 0.2s ease;
}
.menu-close-btn:hover { border-color: #D44200; background: rgba(246,243,238,0.1); }
.menu-close-btn:active { transform: scale(0.95); }

.menu-panel {
     position: absolute; inset: 0;
     display: flex; align-items: center; justify-content: flex-start;
     padding: 100px 80px; overflow-y: auto;
}
.menu-inner { position: relative; width: 100%; max-width: 960px; padding: 40px; }
.menu-inner::before { content: ''; position: absolute; inset: -32px; border: 1px solid rgba(246,243,238,0.05); pointer-events: none; }

.menu-nav-link {
     display: block; font-family: 'Space Grotesk', sans-serif;
     font-size: clamp(48px,9vw,140px); font-weight: 700;
     letter-spacing: -0.04em; line-height: 1.0;
     color: #F6F3EE; padding: 10px 0 10px 0; margin-left: 0;
     transform: translateY(80px); opacity: 0; cursor: pointer;
     transition: transform 0.7s var(--ease-curtain), opacity 0.6s ease, color 0.3s ease;
     position: relative; text-decoration: none;
}
.menu-nav-link::before {
     content: attr(data-text);
     position: absolute; left: 0; top: 10px;
     font-family: 'Space Grotesk', sans-serif;
     font-size: clamp(48px,9vw,140px); font-weight: 700;
     letter-spacing: -0.04em; line-height: 1.0;
     color: var(--accent); z-index: 2;
     transform: translateY(100%); opacity: 0;
     transition: transform 0.6s var(--ease-curtain) 0.08s, opacity 0.5s ease 0.08s;
}
.menu-nav-link:hover { color: var(--accent); }
.menu-nav-link:hover::before { transform: translateY(0); opacity: 1; }
.menu-divider { width: 0; height: 1px; background: rgba(246,243,238,0.08); margin: 8px 0; transition: width 0.6s var(--ease-curtain) 0.3s; }

/* Stagger for 5 links */
#menu-overlay-el.active .menu-nav-link:nth-child(1) { transform: translateY(0); opacity: 1; transition-delay: 0.25s; }
#menu-overlay-el.active .menu-nav-link:nth-child(3) { transform: translateY(0); opacity: 1; transition-delay: 0.38s; }
#menu-overlay-el.active .menu-nav-link:nth-child(5) { transform: translateY(0); opacity: 1; transition-delay: 0.51s; }
#menu-overlay-el.active .menu-nav-link:nth-child(7) { transform: translateY(0); opacity: 1; transition-delay: 0.64s; }
#menu-overlay-el.active .menu-nav-link:nth-child(9) { transform: translateY(0); opacity: 1; transition-delay: 0.77s; }
#menu-overlay-el.active .menu-divider { width: 100%; }

.corner-bracket { position: absolute; width: 40px; height: 40px; pointer-events: none; z-index: 205; }
.corner-bracket::before, .corner-bracket::after { content: ''; position: absolute; background: rgba(246,243,238,0.12); }
.corner-bracket.tl { top: 32px; left: 32px; }
.corner-bracket.tl::before { width: 40px; height: 1px; top: 0; left: 0; }
.corner-bracket.tl::after { width: 1px; height: 40px; top: 0; left: 0; }
.corner-bracket.tr { top: 32px; right: 32px; }
.corner-bracket.tr::before { width: 40px; height: 1px; top: 0; right: 0; }
.corner-bracket.tr::after { width: 1px; height: 40px; top: 0; right: 0; }
.corner-bracket.bl { bottom: 32px; left: 32px; }
.corner-bracket.bl::before { width: 40px; height: 1px; bottom: 0; left: 0; }
.corner-bracket.bl::after { width: 1px; height: 40px; bottom: 0; left: 0; }
.corner-bracket.br { bottom: 32px; right: 32px; }
.corner-bracket.br::before { width: 40px; height: 1px; bottom: 0; right: 0; }
.corner-bracket.br::after { width: 1px; height: 40px; bottom: 0; right: 0; }

/* BUTTONS */
.btn-roll {
     position: relative; display: inline-flex; overflow: hidden; padding: 16px 32px; border: none;
     background: var(--ink); cursor: pointer;
     font-family: 'Space Grotesk', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: -0.01em; color: #F6F3EE;
     transition: background-color 0.3s var(--ease-heavy), color 0.3s var(--ease-heavy);
}
.btn-roll::before { content: ''; position: absolute; inset: 0; background: var(--accent); transform: translateY(100%); transition: transform 0.4s var(--ease-snap); }
.btn-roll:hover::before { transform: translateY(0); }
.btn-roll span { position: relative; z-index: 1; display: block; transition: transform 0.4s var(--ease-snap), opacity 0.3s ease; }
.btn-roll:hover span { transform: translateY(-100%); opacity: 0; }
.btn-roll::after { content: attr(data-text); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1; color: #F6F3EE; transform: translateY(100%); transition: transform 0.4s var(--ease-snap); }
.btn-roll:hover::after { transform: translateY(0); }
.btn-roll:active { transform: scale(0.97); transition: transform 0.1s; }

.inv-block {
     position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px;
     border: 1px solid rgba(26,24,20,0.15); background: var(--bg); cursor: pointer;
     font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase;
     color: var(--ink); transition: color 0.3s var(--ease-heavy), border-color 0.3s var(--ease-heavy); overflow: hidden;
}
.inv-block::before { content: ''; position: absolute; inset: 0; background: var(--ink); transform: translateX(-100%); transition: transform 0.4s var(--ease-snap); }
.inv-block:hover::before { transform: translateX(0); }
.inv-block span, .inv-block svg { position: relative; z-index: 1; }
.inv-block:hover { color: #F6F3EE; border-color: var(--ink); }
.inv-block:active { transform: scale(0.98); transition: transform 0.1s; }

.card-rally {
     position: relative; overflow: hidden; border: 1px solid rgba(26,24,20,0.1); background: white;
     transition: border-color 0.4s var(--ease-heavy), transform 0.4s var(--ease-heavy), box-shadow 0.4s var(--ease-heavy);
}
.card-rally:hover { border-color: var(--ink); box-shadow: 0 20px 60px rgba(26,24,20,0.1); transform: translateY(-4px); }
.card-rally-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--ease-heavy), filter 0.6s ease; }
.card-rally:hover .card-rally-img { transform: scale(1.05); filter: brightness(0.9) contrast(1.1); }

.rally-line { height: 1px; background: rgba(26,24,20,0.08); position: relative; overflow: hidden; }
.rally-line::after { content: ''; position: absolute; inset: 0 -100%; background: var(--accent); height: 100%; transition: left 0.6s var(--ease-snap); }
.rally-line:hover::after { left: 0; }

.pill-nav { display: flex; gap: 6px; padding: 4px; background: rgba(26,24,20,0.04); border-radius: 999px; width: fit-content; }
.pill-item { padding: 8px 16px; border-radius: 999px; font-family: 'Space Grotesk', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #9E9589; background: transparent; border: none; cursor: pointer; text-decoration: none; transition: all 0.3s var(--ease-heavy); }
.pill-item.active { background: #1A1814; color: #F6F3EE; }

.track-span { display: inline-block; transition: letter-spacing 0.4s var(--ease-heavy), transform 0.4s var(--ease-heavy); }
.track-span:hover { letter-spacing: 0.08em; transform: translateX(2px); }

@keyframes marquee-roll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.marquee-roll { animation: marquee-roll 35s linear infinite; }
.marquee-roll:hover { animation-play-state: paused; }

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: rgba(26,24,20,0.15); border-radius: 99px; }

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

.mobile-sheet { position: fixed; inset: 0; z-index: 350; background: var(--bg); transform: translateY(100%); transition: transform 0.7s var(--ease-curtain); }
.mobile-sheet.open { transform: translateY(0); }
@media (max-width: 768px) { .hide-mobile { display: none !important; } }

.menu-footer-text { font-family: 'Space Grotesk', sans-serif; font-size: 9px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(246,243,238,0.2); margin-top: 48px; }

/* Utility helpers from Tailwind-like inline */
.flex{display:flex;} .grid{display:grid;} .gap-2{gap:8px;} .gap-3{gap:12px;} .gap-4{gap:16px;} .gap-6{gap:24px;} .gap-8{gap:32px;} .gap-12{gap:48px;}
.items-center{align-items:center;} .items-end{align-items:flex-end;} .justify-between{justify-content:space-between;} .justify-center{justify-content:center;} .justify-end{justify-content:flex-end;}
.flex-col{flex-direction:column;} .flex-1{flex:1;} .text-center{text-align:center;} .relative{position:relative;} .overflow-hidden{overflow:hidden;} .whitespace-nowrap{white-space:nowrap;} .h-full{height:100%;} .w-full{width:100%;}
.mx-auto{margin-left:auto;margin-right:auto;} .mb-4{margin-bottom:16px;} .mb-6{margin-bottom:24px;} .mb-12{margin-bottom:48px;} .mt-8{margin-top:32px;} .p-6{padding:24px;} .p-8{padding:32px;} .p-10{padding:40px;} .space-y-8 > * + *{margin-top:32px;}
.max-w-\[1600px\]{max-width:1600px;} .px-6{padding-left:24px;padding-right:24px;}
.grid-cols-1{grid-template-columns:1fr;}
@media(min-width:768px){ .md\:grid-cols-2{grid-template-columns:1fr 1fr;} .md\:grid-cols-3{grid-template-columns:1fr 1fr 1fr;} .md\:grid-cols-4{grid-template-columns:1fr 1fr 1fr 1fr;} .md\:grid-cols-\[1fr_300px\]{grid-template-columns:1fr 300px;} .md\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px;} .md\:px-12{padding-left:48px;padding-right:48px;} .md\:flex-row{flex-direction:row;} .md\:p-14{padding:56px;} .md\:p-16{padding:64px;} .lg\:px-20{padding-left:80px;padding-right:80px;} .sm\:grid-cols-2{grid-template-columns:1fr 1fr;} }

/* Struggle topic cards */
.struggle-card { padding: 24px; border: 1px solid rgba(26,24,20,0.1); background: white; transition: border-color 0.4s var(--ease-heavy), transform 0.4s var(--ease-heavy); cursor: pointer; }
.struggle-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.struggle-card h4 { font-family: 'Space Grotesk', sans-serif; font-size: 16px; font-weight: 700; margin-bottom: 12px; color: var(--ink); }
.struggle-card ul { list-style: none; }
.struggle-card li { font-size: 13px; line-height: 1.8; color: var(--mid); padding-left: 16px; position: relative; }
.struggle-card li::before { content: '—'; position: absolute; left: 0; color: var(--accent); }

/* Template list cards */
.template-card { padding: 28px; border: 1px solid rgba(26,24,20,0.1); background: white; transition: border-color 0.4s var(--ease-heavy), box-shadow 0.4s var(--ease-heavy), transform 0.4s var(--ease-heavy); cursor: pointer; display: flex; flex-direction: column; gap: 12px; }
.template-card:hover { border-color: var(--ink); box-shadow: 0 12px 40px rgba(26,24,20,0.08); transform: translateY(-3px); }
.template-card .tpl-tag { font-family: 'Space Grotesk', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--accent); }
.template-card h4 { font-family: 'Space Grotesk', sans-serif; font-size: 18px; font-weight: 700; color: var(--ink); }
.template-card p { font-size: 13px; line-height: 1.6; color: var(--mid); }
.template-card .tpl-price { font-family: 'Space Grotesk', sans-serif; font-size: 16px; font-weight: 700; color: var(--ink); }

/* Pricing card */
.price-card { padding: 40px; border: 1px solid rgba(26,24,20,0.1); background: white; transition: border-color 0.4s var(--ease-heavy), transform 0.4s var(--ease-heavy); display: flex; flex-direction: column; gap: 20px; }
.price-card:hover { border-color: var(--ink); transform: translateY(-4px); }
.price-card.featured { background: var(--ink); border-color: var(--ink); }
.price-card.featured .pc-name, .price-card.featured .pc-price, .price-card.featured .pc-desc { color: #F6F3EE; }
.price-card.featured .pc-feat { color: rgba(246,243,238,0.6); }
.price-card.featured .pc-feat::before { color: var(--accent); }
.price-card .pc-name { font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); }
.price-card .pc-price { font-family: 'Space Grotesk', sans-serif; font-size: 42px; font-weight: 700; color: var(--ink); }
.price-card .pc-price span { font-size: 14px; font-weight: 500; color: var(--mid); }
.price-card .pc-desc { font-size: 13px; line-height: 1.6; color: var(--mid); }
.price-card .pc-feat { font-size: 13px; line-height: 1.8; color: var(--mid); padding-left: 18px; position: relative; }
.price-card .pc-feat::before { content: '✓'; position: absolute; left: 0; color: var(--accent); font-weight: 700; }

/* Roadmap step */
.roadmap-step { padding: 32px; border-left: 3px solid var(--accent); background: white; margin-bottom: 24px; transition: transform 0.3s var(--ease-snap); }
.roadmap-step:hover { transform: translateX(8px); }
.roadmap-step .rs-num { font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent); }
.roadmap-step h4 { font-family: 'Space Grotesk', sans-serif; font-size: 20px; font-weight: 700; margin: 8px 0 12px; color: var(--ink); }
.roadmap-step p { font-size: 14px; line-height: 1.7; color: var(--mid); }
.roadmap-step ul { list-style: none; margin-top: 12px; }
.roadmap-step li { font-size: 13px; line-height: 1.8; color: var(--mid); padding-left: 16px; position: relative; }
.roadmap-step li::before { content: '→'; position: absolute; left: 0; color: var(--accent); }

/* Case Navigator preview */
.cn-preview { padding: 48px; background: var(--ink); border: 1px solid rgba(26,24,20,0.3); }
.cn-preview .cn-tag { font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.25em; text-transform: uppercase; color: var(--accent); }
.cn-preview h3 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(28px,4vw,48px); font-weight: 700; line-height: 1.1; color: #F6F3EE; margin: 16px 0 24px; }
.cn-preview p { font-size: 14px; line-height: 1.7; color: rgba(246,243,238,0.5); margin-bottom: 32px; }
.cn-steps { display: flex; flex-wrap: wrap; gap: 16px; }
.cn-step { padding: 16px 24px; border: 1px solid rgba(246,243,238,0.1); background: rgba(246,243,238,0.03); font-family: 'Space Grotesk', sans-serif; font-size: 13px; color: rgba(246,243,238,0.6); transition: border-color 0.3s ease, color 0.3s ease; }
.cn-step:hover { border-color: var(--accent); color: #F6F3EE; }

/* STATE SELECTOR */
.state-selector-wrap {
     position: fixed; top: 10px; left: 16px; z-index: 150;
     display: flex; flex-direction: column; gap: 4px;
}
.state-selector-label {
     font-family: 'Space Grotesk', sans-serif; font-size: 9px; font-weight: 600;
     letter-spacing: 0.2em; text-transform: uppercase; color: var(--mid);
     padding-left: 4px;
}
.state-select-box { position: relative; }
.state-select-box::after {
     content: ''; position: absolute; right: 14px; top: 50%; transform: translateY(-25%);
     width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent;
     border-top: 5px solid #F6F3EE; pointer-events: none;
}
#state-select {
     appearance: none; -webkit-appearance: none; -moz-appearance: none;
     background: var(--ink); color: #F6F3EE; border: none; cursor: pointer;
     font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 600;
     letter-spacing: 0.06em; text-transform: uppercase;
     padding: 12px 40px 12px 16px; outline: none; min-width: 180px;
     transition: background-color 0.3s var(--ease-snap), color 0.3s var(--ease-snap);
}
#state-select:hover, #state-select:focus { background: var(--accent); }
#state-select option { background: var(--ink); color: #F6F3EE; text-transform: none; font-family: 'Inter', sans-serif; font-weight: 400; letter-spacing: 0; }
@media (max-width: 768px) {
     .state-selector-wrap { top: 10px; left: 16px; }
     #state-select { min-width: 150px; font-size: 11px; padding: 10px 34px 10px 14px; }
}

/* STATE CONTENT BLOCKS */
.state-block { background: white; border: 1px solid rgba(26,24,20,0.1); transition: border-color 0.4s var(--ease-heavy), transform 0.4s var(--ease-heavy); }
.state-block:hover { border-color: var(--ink); transform: translateY(-2px); }
.state-block-head { display: flex; align-items: baseline; gap: 12px; padding: 24px 24px 0; }
.state-block-num { font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.15em; color: var(--accent); }
.state-block-head h4 { font-family: 'Space Grotesk', sans-serif; font-size: 18px; font-weight: 700; color: var(--ink); }
.state-block-body { padding: 12px 24px 24px; }
.state-block-body p { font-size: 13px; line-height: 1.7; color: var(--mid); margin-bottom: 10px; }
.state-block-body ul { list-style: none; margin-top: 8px; }
.state-block-body li { font-size: 13px; line-height: 1.7; color: var(--mid); padding-left: 16px; position: relative; margin-bottom: 6px; }
.state-block-body li::before { content: '—'; position: absolute; left: 0; color: var(--accent); }
.state-block-body strong { color: var(--ink); font-weight: 600; }
.state-block-body a { color: var(--accent); text-decoration: none; border-bottom: 1px solid rgba(212,66,0,0.3); transition: border-color 0.3s ease; }
.state-block-body a:hover { border-color: var(--accent); }
.state-resource-list { list-style: none; }
.state-resource-list li { font-size: 13px; line-height: 1.6; color: var(--mid); padding-left: 16px; position: relative; margin-bottom: 8px; }
.state-resource-list li::before { content: '→'; position: absolute; left: 0; color: var(--accent); }
.state-coming { padding: 64px 24px; text-align: center; border: 1px dashed rgba(26,24,20,0.15); background: white; }
'.state-disclaimer { margin-top: 24px; padding: 20px; border: 1px solid rgba(26,24,20,0.08); background: rgba(26,24,20,0.02); }
.state-disclaimer p { font-size: 12px; line-height: 1.6; color: var(--mid); }

/* SITE-WIDE DISCLAIMER BAR */
.site-disclaimer-bar {
     position: fixed; bottom: 0; left: 0; right: 0; z-index: 85;
     background: var(--ink); border-top: 1px solid rgba(212,66,0,0.2);
     padding: 8px 16px; text-align: center;
}
.site-disclaimer-bar p {
     font-family: 'Space Grotesk', sans-serif; font-size: 10px; font-weight: 500;
     letter-spacing: 0.06em; color: rgba(246,243,238,0.5); line-height: 1.4;
     margin: 0;
}
.site-disclaimer-bar p strong { color: var(--accent); font-weight: 600; }
@media (max-width: 768px) {
     .site-disclaimer-bar p { font-size: 9px; letter-spacing: 0.03em; }
}

/* CALCULATOR WIDGET */
.calc-widget { background: var(--ink); padding: 32px; border: 1px solid rgba(26,24,20,0.3); }
.calc-widget .calc-tag { font-family: 'Space Grotesk', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.25em; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; }
.calc-widget h3 { font-family: 'Space Grotesk', sans-serif; font-size: 24px; font-weight: 700; color: #F6F3EE; margin-bottom: 24px; }
.calc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.calc-row.full { grid-template-columns: 1fr; }
.calc-field label { font-family: 'Space Grotesk', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(246,243,238,0.5); display: block; margin-bottom: 6px; }
.calc-field input, .calc-field select { width: 100%; padding: 12px; border: 1px solid rgba(246,243,238,0.1); background: rgba(246,243,238,0.06); color: #FFF; font-family: 'Inter', sans-serif; font-size: 14px; outline: none; transition: border-color 0.3s ease; }
.calc-field input:focus, .calc-field select:focus { border-color: var(--accent); background: rgba(246,243,238,0.1); }
.calc-field select { appearance: none; cursor: pointer; }
.calc-result { margin-top: 24px; padding: 24px; border: 1px solid rgba(212,66,0,0.3); background: rgba(212,66,0,0.05); text-align: center; }
.calc-result .calc-amount { font-family: 'Space Grotesk', sans-serif; font-size: 36px; font-weight: 700; color: var(--accent); }
.calc-result .calc-label { font-family: 'Space Grotesk', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(246,243,238,0.5); margin-top: 4px; }
.calc-result .calc-detail { font-size: 13px; color: rgba(246,243,238,0.6); margin-top: 12px; line-height: 1.6; }
.calc-disclaimer { font-size: 11px; color: rgba(246,243,238,0.3); margin-top: 16px; line-height: 1.5; }
.calc-coming { padding: 48px 24px; text-align: center; }
.calc-coming h3 { color: #F6F3EE; margin-bottom: 12px; }
.calc-coming p { font-size: 14px; color: rgba(246,243,238,0.5); line-height: 1.7; max-width: 400px; margin: 0 auto; }
@media (max-width: 768px) { .calc-row { grid-template-columns: 1fr; } }

/* ===== COMPREHENSIVE MOBILE RESPONSIVE FIXES ===== */
@media (max-width: 768px) {
    /* Prevent horizontal scroll */
    body { overflow-x: hidden; }
    html { overflow-x: hidden; }

    /* Top bar brand — smaller on mobile */
    .top-bar { height: 56px; }
    .top-bar-brand { font-size: 28px; }

    /* State selector — move below top bar, full width on very small screens */
    .state-selector-wrap {
        top: 60px;
        left: 12px;
        right: 12px;
        z-index: 140;
    }
    #state-select {
        min-width: 0;
        width: 100%;
        font-size: 12px;
        padding: 10px 36px 10px 14px;
    }
    .state-selector-label { font-size: 8px; }

    /* Add padding to account for state selector + top bar */
    .panel-view > div:first-child { padding-top: 110px !important; }

    /* Mobile menu trigger button — visible on mobile */
    .menu-trigger {
        display: flex !important;
        top: auto;
        bottom: 20px;
        right: 20px;
        left: auto;
        z-index: 300;
        width: 52px;
        height: 52px;
    }

    /* Hero text — reduce minimum size, allow wrapping */
    h1.gt[style*="clamp(44px"],
    #hero-h1 {
        font-size: clamp(32px, 9vw, 56px) !important;
        line-height: 0.95 !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }

    /* Section headings — smaller on mobile */
    h2.gt[style*="clamp(32px"],
    h2.gt[style*="clamp(28px"] {
        font-size: clamp(26px, 7vw, 40px) !important;
    }

    /* h3 in cn-preview */
    .cn-preview h3 { font-size: clamp(24px, 7vw, 36px) !important; }

    /* Container padding — reduce on mobile */
    .px-6 { padding-left: 16px; padding-right: 16px; }
    .max-w-\[1600px\] { padding-left: 0; padding-right: 0; }

    /* Grid layouts — force single column on mobile */
    .grid {
        grid-template-columns: 1fr !important;
    }

    /* Cards with fixed heights — allow auto height on mobile */
    .card-rally[style*="height:520px"] { height: auto !important; min-height: 280px; }
    .card-rally[style*="height:400px"] { height: auto !important; min-height: 220px; }
    .card-rally[style*="height:240px"] { height: auto !important; min-height: 180px; }
    .card-rally[style*="height:280px"] { height: auto !important; min-height: 200px; }

    /* Card images — maintain aspect ratio on mobile */
    .card-rally-img { min-height: 200px; }

    /* State blocks — reduce padding on mobile */
    .state-block-head { padding: 16px 16px 0; flex-wrap: wrap; }
    .state-block-head h4 { font-size: 16px; }
    .state-block-body { padding: 10px 16px 20px; }
    .state-block-body p,
    .state-block-body li,
    .state-resource-list li {
        font-size: 13px;
        line-height: 1.65;
    }

    /* Crisis hotline card — single column, larger text */
    .grid.grid-cols-1.md\:grid-cols-3 { gap: 16px; }

    /* Calc widget */
    .calc-widget { padding: 20px; }
    .calc-widget h3 { font-size: 20px; }
    .calc-result .calc-amount { font-size: 28px; }

    /* CN preview */
    .cn-preview { padding: 24px; }
    .cn-steps { gap: 10px; }
    .cn-step { padding: 12px 16px; font-size: 12px; }

    /* Mission statement block */
    .panel-view div[style*="padding:64px;background:#1A1814"] { padding: 32px 20px !important; }

    /* Price cards */
    .price-card { padding: 24px; }
    .price-card .pc-price { font-size: 36px; }

    /* Template cards */
    .template-card { padding: 20px; }

    /* Forms — prevent iOS zoom */
    input[type="text"],
    input[type="email"],
    textarea,
    select {
        font-size: 16px !important;
    }

    /* Buttons — ensure minimum touch target size */
    .btn-roll { padding: 14px 24px; font-size: 13px; min-height: 44px; }
    .inv-block { padding: 12px 20px; min-height: 44px; }
    .pill-item { padding: 10px 16px; }

    /* Mobile sheet menu links — larger touch targets */
    .mobile-sheet a.gt { font-size: 32px; padding: 16px 16px 16px 24px; min-height: 56px; }

    /* Struggle cards */
    .struggle-card { padding: 16px; }
    .struggle-card h4 { font-size: 15px; }
    .struggle-card li { font-size: 12px; line-height: 1.7; }

    /* Featured row — stack properly */
    .grid.grid-cols-1.md\:grid-cols-\[1fr_280px\] { gap: 16px; }
    .grid.grid-cols-1.md\:grid-cols-\[1fr_300px\] { gap: 20px; }

    /* Marquee — ensure no overflow */
    .marquee-roll { white-space: nowrap; }

    /* Body wrapper padding-bottom for disclaimer bar + mobile menu button */
    #body-wrapper { padding-bottom: 60px; }

    /* Section spacing — reduce top/bottom padding */
    .panel-view > div > div[style*="padding-top:80px"] { padding-top: 48px !important; padding-bottom: 32px !important; }
    .panel-view > div > div[style*="padding-top:40px"] { padding-top: 32px !important; padding-bottom: 48px !important; }
    .panel-view > div > div[style*="padding-bottom:80px"] { padding-bottom: 48px !important; }
    .panel-view > div > div[style*="padding-bottom:100px"] { padding-bottom: 80px !important; }

    /* Roadmap steps */
    .roadmap-step { padding: 20px; }
    .roadmap-step:hover { transform: none; }

    /* Card hover effects — disable on mobile for performance */
    .card-rally:hover { transform: none; }
    .struggle-card:hover { transform: none; }
    .price-card:hover { transform: none; }

    /* Disclaimer bar — ensure it doesn't overlap */
    .site-disclaimer-bar { padding: 6px 12px; }
    .site-disclaimer-bar p { font-size: 9px; line-height: 1.3; }

    /* Menu panel — reduce padding on mobile */
    .menu-panel { padding: 80px 24px; }
    .menu-inner { padding: 20px; }
    .menu-nav-link { font-size: clamp(36px, 11vw, 64px); }
    .menu-nav-link::before { font-size: clamp(36px, 11vw, 64px); }

    /* flex items-end justify-between — allow wrapping */
    .flex.items-end.justify-between { flex-wrap: wrap; gap: 16px; }
    .flex.items-center.justify-between { flex-wrap: wrap; gap: 12px; }

    /* Form side cards — stack */
    .flex.flex-col.gap-4 { gap: 16px; }
}

/* Very small screens (≤380px) */
@media (max-width: 380px) {
    h1.gt[style*="clamp(44px"],
    #hero-h1 {
        font-size: clamp(26px, 8vw, 36px) !important;
    }
    .top-bar-brand { font-size: 24px; }
    #state-select { font-size: 11px; padding: 8px 32px 8px 12px; }
    .state-selector-label { font-size: 7px; }
    .px-6 { padding-left: 12px; padding-right: 12px; }
    .btn-roll { padding: 12px 20px; font-size: 12px; }
}

/* Hide mobile menu trigger on desktop */
@media (min-width: 769px) {
    .menu-trigger { display: none !important; }
}