html,body{margin:0;padding:0;background:var(--ct-bg);color:var(--ct-text)}
/* ICHILL CT — Theme Engine CSS v2.0 */
:root{--ct-primary:#ef4444;--ct-secondary:#000;--ct-accent:#f59e0b;--ct-bg:#0a0a0a;--ct-bg-card:#1a1a1a;--ct-bg-card-hover:#252525;--ct-text:#fff;--ct-text-muted:#a1a1aa;--ct-border:#27272a;--ct-gradient:linear-gradient(135deg,#ef4444,#dc2626 50%,#991b1b);--ct-font-heading:'Oswald',sans-serif;--ct-font-body:'Inter',sans-serif;--ct-font-size-hero:clamp(2.5rem,6vw,5rem);--ct-font-size-h1:clamp(2rem,4vw,3.5rem);--ct-font-size-h2:clamp(1.5rem,3vw,2.5rem);--ct-font-size-h3:clamp(1.25rem,2vw,1.75rem);--ct-font-size-body:1rem;--ct-font-size-small:.875rem;--ct-font-weight-heading:700;--ct-line-height-heading:1.1;--ct-line-height-body:1.6;--ct-letter-spacing-heading:-.02em;--ct-letter-spacing-wide:.05em;--ct-space-xs:.25rem;--ct-space-sm:.5rem;--ct-space-md:1rem;--ct-space-lg:1.5rem;--ct-space-xl:2rem;--ct-space-2xl:3rem;--ct-space-3xl:4rem;--ct-space-4xl:6rem;--ct-space-section:clamp(4rem,8vw,8rem);--ct-container-max:1200px;--ct-container-padding:clamp(1rem,3vw,2rem);--ct-grid-gap:clamp(1rem,2vw,2rem);--ct-radius-sm:4px;--ct-radius-md:8px;--ct-radius-lg:12px;--ct-radius-xl:16px;--ct-radius-2xl:24px;--ct-radius-full:9999px;--ct-shadow-sm:0 1px 2px rgba(0,0,0,.05);--ct-shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--ct-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--ct-shadow-xl:0 20px 25px -5px rgba(0,0,0,.1);--ct-shadow-glow:0 0 20px rgba(239,68,68,.3);--ct-btn-padding:.75rem 2rem;--ct-btn-radius:var(--ct-radius-md);--ct-btn-font-weight:600;--ct-btn-text-transform:uppercase;--ct-btn-letter-spacing:.05em;--ct-transition-fast:150ms ease;--ct-transition-base:250ms ease;--ct-transition-slow:400ms ease;--ct-z-agent:500}
.ct-engine,.ct-engine *{box-sizing:border-box;margin:0;padding:0}
.ct-engine{font-family:var(--ct-font-body);color:var(--ct-text);background:var(--ct-bg);line-height:var(--ct-line-height-body);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;padding:0}
.ct-engine img{max-width:100%;height:auto;display:block}
.ct-engine a{color:var(--ct-primary);text-decoration:none;transition:color var(--ct-transition-fast)}
.ct-engine a:hover{color:var(--ct-accent)}
.ct-container{max-width:var(--ct-container-max);margin:0 auto;padding:0 var(--ct-container-padding)}
.ct-section{padding:var(--ct-space-section) 0;position:relative;overflow:hidden}
.ct-section-alt{background:var(--ct-bg-card)}
.ct-hero-title{font-family:var(--ct-font-heading);font-size:var(--ct-font-size-hero);font-weight:var(--ct-font-weight-heading);line-height:var(--ct-line-height-heading);letter-spacing:var(--ct-letter-spacing-heading);text-transform:uppercase;color:var(--ct-text)}
.ct-h1{font-family:var(--ct-font-heading);font-size:var(--ct-font-size-h1);font-weight:var(--ct-font-weight-heading);line-height:var(--ct-line-height-heading);letter-spacing:var(--ct-letter-spacing-heading)}
.ct-h2{font-family:var(--ct-font-heading);font-size:var(--ct-font-size-h2);font-weight:var(--ct-font-weight-heading);line-height:1.2}
.ct-h3{font-family:var(--ct-font-heading);font-size:var(--ct-font-size-h3);font-weight:600;line-height:1.3}
.ct-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:var(--ct-text-muted);max-width:600px}
.ct-badge{display:inline-block;padding:var(--ct-space-xs) var(--ct-space-md);border-radius:var(--ct-radius-full);font-size:var(--ct-font-size-small);font-weight:600;text-transform:uppercase;letter-spacing:var(--ct-letter-spacing-wide)}
.ct-badge-primary{background:var(--ct-primary);color:#fff}
.ct-badge-outline{border:1px solid var(--ct-primary);color:var(--ct-primary)}
.ct-btn{display:inline-flex;align-items:center;gap:var(--ct-space-sm);padding:var(--ct-btn-padding);border-radius:var(--ct-btn-radius);font-family:var(--ct-font-body);font-size:var(--ct-font-size-body);font-weight:var(--ct-btn-font-weight);text-transform:var(--ct-btn-text-transform);letter-spacing:var(--ct-btn-letter-spacing);border:2px solid transparent;cursor:pointer;transition:all var(--ct-transition-base);text-decoration:none;white-space:nowrap}
.ct-btn-primary{background:var(--ct-primary);color:#fff;border-color:var(--ct-primary)}
.ct-btn-primary:hover{background:transparent;color:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:var(--ct-shadow-glow)}
.ct-btn-outline{background:transparent;color:var(--ct-text);border-color:var(--ct-border)}
.ct-btn-outline:hover{border-color:var(--ct-primary);color:var(--ct-primary);transform:translateY(-2px)}
.ct-btn-accent{background:var(--ct-accent);color:#000;border-color:var(--ct-accent)}
.ct-btn-accent:hover{background:transparent;color:var(--ct-accent);transform:translateY(-2px)}
.ct-btn-lg{padding:1rem 2.5rem;font-size:1.125rem}
.ct-btn-group{display:flex;gap:var(--ct-space-md);flex-wrap:wrap}
.ct-card{background:var(--ct-bg-card);border:1px solid var(--ct-border);border-radius:var(--ct-radius-lg);padding:var(--ct-space-xl);transition:all var(--ct-transition-base);position:relative;overflow:hidden}
.ct-card:hover{background:var(--ct-bg-card-hover);transform:translateY(-4px);box-shadow:var(--ct-shadow-lg)}
.ct-card-icon{width:48px;height:48px;border-radius:var(--ct-radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:var(--ct-space-md);background:rgba(239,68,68,.1);color:var(--ct-primary)}
.ct-card-title{font-family:var(--ct-font-heading);font-size:1.25rem;font-weight:600;margin-bottom:var(--ct-space-sm)}
.ct-card-text{color:var(--ct-text-muted);font-size:var(--ct-font-size-body)}
.ct-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ct-grid-gap)}
.ct-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ct-grid-gap)}
.ct-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ct-grid-gap)}
@media(max-width:768px){.ct-grid-2,.ct-grid-3,.ct-grid-4{grid-template-columns:1fr}}
@media(min-width:769px) and (max-width:1024px){.ct-grid-3,.ct-grid-4{grid-template-columns:repeat(2,1fr)}}
.ct-hero{position:relative;min-height:80vh;display:flex;align-items:center;overflow:hidden}
.ct-hero-content{position:relative;z-index:2;max-width:700px}
.ct-hero-visual{position:absolute;inset:0;z-index:1}
.ct-hero-visual img{width:100%;height:100%;object-fit:cover}
.ct-hero-overlay{position:absolute;inset:0;z-index:1}
.ct-hero .ct-badge{margin-bottom:var(--ct-space-lg)}
.ct-hero .ct-subtitle{margin-bottom:var(--ct-space-xl)}
.ct-hero .ct-btn-group{margin-top:var(--ct-space-xl)}
.ct-hero--cinematic .ct-hero-overlay{background:linear-gradient(135deg,rgba(0,0,0,.8),rgba(0,0,0,.4) 50%,rgba(0,0,0,.7))}
.ct-hero--cinematic .ct-hero-content{padding:var(--ct-space-4xl) var(--ct-container-padding)}
.ct-hero--cinematic::after{content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(to top,var(--ct-bg),transparent);z-index:2}
.ct-hero--split{min-height:90vh}
.ct-hero--split .ct-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:90vh}
.ct-hero--split .ct-hero-content{display:flex;flex-direction:column;justify-content:center;padding:var(--ct-space-4xl);background:var(--ct-bg)}
.ct-hero--split .ct-hero-visual{position:relative;min-height:50vh}
.ct-hero--split .ct-hero-overlay{display:none}
@media(max-width:768px){.ct-hero--split .ct-hero-inner{grid-template-columns:1fr}}
.ct-hero--centered{text-align:center;min-height:70vh}
.ct-hero--centered .ct-hero-content{margin:0 auto;padding:var(--ct-space-4xl) var(--ct-container-padding)}
.ct-hero--centered .ct-hero-overlay{background:linear-gradient(to bottom,rgba(0,0,0,.6),rgba(0,0,0,.3))}
.ct-hero--centered .ct-subtitle{margin-left:auto;margin-right:auto}
.ct-hero--centered .ct-btn-group{justify-content:center}
.ct-hero--editorial{min-height:100vh}
.ct-hero--editorial .ct-hero-content{padding:var(--ct-space-4xl);max-width:800px}
.ct-hero--editorial .ct-hero-overlay{background:linear-gradient(to right,rgba(0,0,0,.85),rgba(0,0,0,.4) 60%,transparent)}
.ct-hero--editorial .ct-hero-title{font-size:clamp(3rem,7vw,6rem);letter-spacing:.02em}
.ct-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ct-grid-gap);text-align:center}
.ct-stat-number{font-family:var(--ct-font-heading);font-size:clamp(2rem,5vw,4rem);font-weight:700;color:var(--ct-primary);line-height:1}
.ct-stat-label{font-size:var(--ct-font-size-small);color:var(--ct-text-muted);text-transform:uppercase;letter-spacing:var(--ct-letter-spacing-wide);margin-top:var(--ct-space-xs)}
@media(max-width:768px){.ct-stats-grid{grid-template-columns:repeat(2,1fr)}}
.ct-schedule-table{width:100%;border-collapse:collapse}
.ct-schedule-table th,.ct-schedule-table td{padding:var(--ct-space-md) var(--ct-space-lg);text-align:left;border-bottom:1px solid var(--ct-border);color:var(--ct-text)}
.ct-schedule-table th{font-family:var(--ct-font-heading);font-weight:600;text-transform:uppercase;letter-spacing:var(--ct-letter-spacing-wide);font-size:var(--ct-font-size-small);color:var(--ct-text)}
.ct-schedule-table tr:hover td{background:var(--ct-bg-card-hover)}
.ct-schedule-tag{display:inline-block;padding:2px 8px;border-radius:var(--ct-radius-sm);font-size:.75rem;font-weight:600}
.ct-pricing-card{background:var(--ct-bg-card);border:1px solid var(--ct-border);border-radius:var(--ct-radius-xl);padding:var(--ct-space-2xl);text-align:center;transition:all var(--ct-transition-base);position:relative}
.ct-pricing-card:hover{transform:translateY(-8px);box-shadow:var(--ct-shadow-xl)}
.ct-pricing-card--highlighted{border-color:var(--ct-primary);box-shadow:var(--ct-shadow-glow)}
.ct-pricing-card--highlighted::before{content:'Popular';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--ct-primary);color:#fff;padding:4px 16px;border-radius:var(--ct-radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}
.ct-pricing-price{font-family:var(--ct-font-heading);font-size:3rem;font-weight:700;color:var(--ct-primary);line-height:1;margin:var(--ct-space-lg) 0}
.ct-pricing-price span{font-size:1rem;color:var(--ct-text-muted);font-weight:400}
.ct-pricing-features{list-style:none;padding:0;margin:var(--ct-space-xl) 0;text-align:left}
.ct-pricing-features li{padding:var(--ct-space-sm) 0;border-bottom:1px solid var(--ct-border);display:flex;align-items:center;gap:var(--ct-space-sm)}
.ct-pricing-features li::before{content:'\2713';color:var(--ct-primary);font-weight:700}
.ct-testimonial{background:var(--ct-bg-card);border:1px solid var(--ct-border);border-radius:var(--ct-radius-lg);padding:var(--ct-space-xl)}
.ct-testimonial-text{font-style:italic;color:var(--ct-text);margin-bottom:var(--ct-space-lg);line-height:1.7;position:relative;padding-left:var(--ct-space-xl)}
.ct-testimonial-text::before{content:'\201C';position:absolute;left:0;top:-8px;font-size:3rem;color:var(--ct-primary);font-family:Georgia,serif;line-height:1}
.ct-testimonial-author{display:flex;align-items:center;gap:var(--ct-space-md)}
.ct-testimonial-avatar{width:48px;height:48px;border-radius:var(--ct-radius-full);object-fit:cover;border:2px solid var(--ct-primary)}
.ct-testimonial-name{font-weight:600}
.ct-testimonial-role{font-size:var(--ct-font-size-small);color:var(--ct-text-muted)}
.ct-testimonial-stars{color:var(--ct-accent);font-size:.875rem}
.ct-teacher-card{text-align:center}
.ct-teacher-photo{width:160px;height:160px;border-radius:var(--ct-radius-full);object-fit:cover;border:3px solid var(--ct-primary);margin:0 auto var(--ct-space-lg)}
.ct-teacher-name{font-family:var(--ct-font-heading);font-size:1.25rem;font-weight:600}
.ct-teacher-specialty{color:var(--ct-primary);font-size:var(--ct-font-size-small);text-transform:uppercase;letter-spacing:var(--ct-letter-spacing-wide)}
.ct-cta{text-align:center;padding:var(--ct-space-4xl) 0;position:relative}
.ct-cta .ct-h2{margin-bottom:var(--ct-space-lg)}
.ct-cta .ct-subtitle{margin:0 auto var(--ct-space-xl)}
.ct-footer{padding:var(--ct-space-3xl) 0 var(--ct-space-xl);border-top:1px solid var(--ct-border)}
.ct-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--ct-grid-gap);margin-bottom:var(--ct-space-3xl)}
.ct-footer-brand p{color:var(--ct-text-muted);margin-top:var(--ct-space-md)}
.ct-footer h4{font-family:var(--ct-font-heading);font-size:1rem;text-transform:uppercase;letter-spacing:var(--ct-letter-spacing-wide);margin-bottom:var(--ct-space-lg);color:var(--ct-text)}
.ct-footer ul{list-style:none;padding:0}
.ct-footer ul li{margin-bottom:var(--ct-space-sm)}
.ct-footer ul a{color:var(--ct-text-muted);transition:color var(--ct-transition-fast)}
.ct-footer ul a:hover{color:var(--ct-primary)}
.ct-footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--ct-space-xl);border-top:1px solid var(--ct-border);font-size:var(--ct-font-size-small);color:var(--ct-text-muted)}
.ct-footer-social{display:flex;gap:var(--ct-space-md)}
.ct-footer-social a{width:36px;height:36px;border-radius:var(--ct-radius-full);border:1px solid var(--ct-border);display:flex;align-items:center;justify-content:center;color:var(--ct-text-muted);transition:all var(--ct-transition-fast)}
.ct-footer-social a:hover{border-color:var(--ct-primary);color:var(--ct-primary);background:rgba(239,68,68,.1)}
@media(max-width:768px){.ct-footer-grid{grid-template-columns:1fr 1fr}.ct-footer-bottom{flex-direction:column;gap:var(--ct-space-md)}}
.ct-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.ct-reveal.revealed{opacity:1;transform:translateY(0)}
.ct-reveal-left{opacity:0;transform:translateX(-30px);transition:opacity .6s ease,transform .6s ease}.ct-reveal-left.revealed{opacity:1;transform:translateX(0)}
.ct-reveal-right{opacity:0;transform:translateX(30px);transition:opacity .6s ease,transform .6s ease}.ct-reveal-right.revealed{opacity:1;transform:translateX(0)}
@media(prefers-reduced-motion:reduce){.ct-reveal,.ct-reveal-left,.ct-reveal-right{opacity:1;transform:none;transition:none}}
.ct-agent-fab{position:fixed;bottom:24px;right:24px;z-index:var(--ct-z-agent);width:60px;height:60px;border-radius:var(--ct-radius-full);background:var(--ct-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:var(--ct-shadow-xl);transition:all var(--ct-transition-base)}
.ct-agent-fab:hover{transform:scale(1.1);box-shadow:var(--ct-shadow-glow)}
.ct-agent-panel{position:fixed;bottom:100px;right:24px;z-index:var(--ct-z-agent);width:380px;max-height:500px;background:var(--ct-bg-card);border:1px solid var(--ct-border);border-radius:var(--ct-radius-xl);box-shadow:var(--ct-shadow-xl);display:none;flex-direction:column;overflow:hidden}
.ct-agent-panel.open{display:flex}
.ct-agent-header{padding:var(--ct-space-lg);background:var(--ct-gradient);color:#fff}
.ct-agent-messages{flex:1;overflow-y:auto;padding:var(--ct-space-md);max-height:320px}
.ct-agent-input{display:flex;padding:var(--ct-space-md);border-top:1px solid var(--ct-border);gap:var(--ct-space-sm)}
.ct-agent-input input{flex:1;padding:var(--ct-space-sm) var(--ct-space-md);border:1px solid var(--ct-border);border-radius:var(--ct-radius-md);background:var(--ct-bg);color:var(--ct-text);font-size:var(--ct-font-size-body)}
.ct-agent-input button{padding:var(--ct-space-sm) var(--ct-space-md);background:var(--ct-primary);color:#fff;border:none;border-radius:var(--ct-radius-md);cursor:pointer;font-weight:600}
.ct-agent-msg{margin-bottom:var(--ct-space-md);padding:var(--ct-space-sm) var(--ct-space-md);border-radius:var(--ct-radius-lg);max-width:85%;font-size:var(--ct-font-size-small)}
.ct-agent-msg.bot{background:var(--ct-bg);border:1px solid var(--ct-border);border-bottom-left-radius:4px}
.ct-agent-msg.user{background:var(--ct-primary);color:#fff;margin-left:auto;border-bottom-right-radius:4px}
@media(max-width:480px){.ct-agent-panel{width:calc(100vw - 32px);right:16px;bottom:90px}}
/* FAQ */
.ct-faq-item{border:1px solid var(--ct-border);border-radius:var(--ct-radius-md);margin-bottom:var(--ct-space-sm);overflow:hidden}
.ct-faq-q{padding:var(--ct-space-md) var(--ct-space-lg);cursor:pointer;font-weight:600;display:flex;justify-content:space-between;align-items:center;background:var(--ct-bg-card);transition:background var(--ct-transition-fast)}
.ct-faq-q:hover{background:var(--ct-bg-card-hover)}
.ct-faq-q::after{content:'+';font-size:1.5rem;color:var(--ct-primary);transition:transform var(--ct-transition-base)}
.ct-faq-item.open .ct-faq-q::after{transform:rotate(45deg)}
.ct-faq-a{max-height:0;overflow:hidden;transition:max-height var(--ct-transition-slow);padding:0 var(--ct-space-lg)}
.ct-faq-item.open .ct-faq-a{max-height:500px;padding:0 var(--ct-space-lg) var(--ct-space-lg)}
/* Video */
.ct-video-card{border-radius:var(--ct-radius-lg);overflow:hidden;background:var(--ct-bg-card);border:1px solid var(--ct-border)}
.ct-video-card video,.ct-video-card iframe{width:100%;aspect-ratio:16/9;border:none}
.ct-video-card .ct-card-title{padding:var(--ct-space-md)}
/* Product card (Store) */
.ct-product-card{background:var(--ct-bg-card);border:1px solid var(--ct-border);border-radius:var(--ct-radius-lg);overflow:hidden;transition:all var(--ct-transition-base)}
.ct-product-card:hover{transform:translateY(-4px);box-shadow:var(--ct-shadow-lg)}
.ct-product-card img{width:100%;aspect-ratio:1;object-fit:cover}
.ct-product-card .ct-card-body{padding:var(--ct-space-lg)}
.ct-product-price{font-family:var(--ct-font-heading);font-size:1.5rem;font-weight:700;color:var(--ct-primary)}
.ct-product-original-price{text-decoration:line-through;color:var(--ct-text-muted);font-size:var(--ct-font-size-small)}
/* ═══════════════════════════════════════════════════════════════
   THEME VARIANTS — [data-theme="..."]
   ═══════════════════════════════════════════════════════════════ */
[data-theme="fight"]{--ct-primary:#ef4444;--ct-secondary:#000;--ct-accent:#f59e0b;--ct-bg:#0a0a0a;--ct-bg-card:#1a1a1a;--ct-bg-card-hover:#252525;--ct-text:#fff;--ct-text-muted:#a1a1aa;--ct-border:#27272a;--ct-gradient:linear-gradient(135deg,#ef4444,#dc2626 50%,#991b1b);--ct-font-heading:'Oswald',sans-serif;--ct-font-body:'Inter',sans-serif}
[data-theme="fight"] .ct-card{border-color:transparent;background:linear-gradient(145deg,#1a1a1a,#111)}
[data-theme="fight"] .ct-card:hover{border-color:var(--ct-primary);box-shadow:0 0 30px rgba(239,68,68,.15)}
[data-theme="fight"] .ct-btn-primary{background:linear-gradient(135deg,#ef4444,#dc2626)}
[data-theme="fight"] .ct-btn-primary:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;box-shadow:0 0 25px rgba(239,68,68,.4)}
[data-theme="fight"] .ct-hero-title{text-shadow:2px 2px 4px rgba(0,0,0,.5)}
[data-theme="fight"] .ct-section::before{content:'';position:absolute;top:0;left:-5%;width:110%;height:100%;background:linear-gradient(170deg,transparent 40%,rgba(239,68,68,.03) 40.5%,rgba(239,68,68,.03) 41%,transparent 41.5%);pointer-events:none}
[data-theme="fight"] .ct-stat-number{text-shadow:0 0 20px rgba(239,68,68,.3)}
[data-theme="fight"] .ct-agent-fab{background:linear-gradient(135deg,#ef4444,#dc2626)}
[data-theme="fight"] .ct-agent-header{background:linear-gradient(135deg,#ef4444,#991b1b)}
[data-theme="tatami"]{--ct-primary:#1e3a5f;--ct-secondary:#d4a574;--ct-accent:#c9a96e;--ct-bg:#faf8f5;--ct-bg-card:#fff;--ct-bg-card-hover:#f5f0eb;--ct-text:#1a1a1a;--ct-text-muted:#6b7280;--ct-border:#e5e1dc;--ct-gradient:linear-gradient(135deg,#1e3a5f,#2d5a87 50%,#1e3a5f);--ct-font-heading:'Playfair Display',serif;--ct-font-body:'Source Sans Pro',sans-serif;--ct-btn-text-transform:none}
[data-theme="tatami"] .ct-card{border-radius:var(--ct-radius-xl);box-shadow:var(--ct-shadow-sm)}
[data-theme="tatami"] .ct-card:hover{box-shadow:var(--ct-shadow-lg);transform:translateY(-2px)}
[data-theme="tatami"] .ct-btn-primary{background:#1e3a5f;border-color:#1e3a5f}
[data-theme="tatami"] .ct-btn-primary:hover{background:#162d4a}
[data-theme="tatami"] .ct-hero-title{text-shadow:none}
[data-theme="tatami"] .ct-section{padding:clamp(5rem,10vw,10rem) 0}
[data-theme="tatami"] .ct-testimonial-text::before{color:#c9a96e}
[data-theme="tatami"] .ct-footer{background:#1e3a5f;color:#fff}
[data-theme="tatami"] .ct-footer a{color:#e5e7eb}
[data-theme="tatami"] .ct-footer h4{color:#fff}
[data-theme="tatami"] .ct-agent-fab{background:#1e3a5f}
[data-theme="tatami"] .ct-agent-header{background:linear-gradient(135deg,#1e3a5f,#2d5a87)}
[data-theme="store"]{--ct-primary:#7c3aed;--ct-secondary:#a855f7;--ct-accent:#22c55e;--ct-bg:#fff;--ct-bg-card:#f8fafc;--ct-bg-card-hover:#f1f5f9;--ct-text:#0f172a;--ct-text-muted:#64748b;--ct-border:#e2e8f0;--ct-gradient:linear-gradient(135deg,#7c3aed,#6d28d9 50%,#5b21b6);--ct-font-heading:'Poppins',sans-serif;--ct-font-body:'Inter',sans-serif}
[data-theme="store"] .ct-card{border:1px solid #e2e8f0}
[data-theme="store"] .ct-card:hover{border-color:#7c3aed;box-shadow:0 8px 25px rgba(124,58,237,.1)}
[data-theme="store"] .ct-btn-primary{background:#7c3aed;border-color:#7c3aed}
[data-theme="store"] .ct-btn-primary:hover{background:#6d28d9}
[data-theme="store"] .ct-agent-fab{background:#7c3aed}
[data-theme="store"] .ct-agent-header{background:linear-gradient(135deg,#7c3aed,#5b21b6)}
[data-theme="institution"]{--ct-primary:#059669;--ct-secondary:#10b981;--ct-accent:#f59e0b;--ct-bg:#fff;--ct-bg-card:#f0fdf4;--ct-bg-card-hover:#dcfce7;--ct-text:#064e3b;--ct-text-muted:#6b7280;--ct-border:#d1fae5;--ct-gradient:linear-gradient(135deg,#059669,#047857 50%,#065f46);--ct-font-heading:'DM Sans',sans-serif;--ct-font-body:'Inter',sans-serif}
[data-theme="institution"] .ct-card{border:1px solid #d1fae5}
[data-theme="institution"] .ct-card:hover{border-color:#059669;box-shadow:0 8px 25px rgba(5,150,105,.1)}
[data-theme="institution"] .ct-btn-primary{background:#059669;border-color:#059669}
[data-theme="institution"] .ct-btn-primary:hover{background:#047857}
[data-theme="institution"] .ct-agent-fab{background:#059669}
[data-theme="institution"] .ct-agent-header{background:linear-gradient(135deg,#059669,#065f46)}
[data-theme="enterprise"]{--ct-primary:#18181b;--ct-secondary:#c9a96e;--ct-accent:#c9a96e;--ct-bg:#09090b;--ct-bg-card:#18181b;--ct-bg-card-hover:#27272a;--ct-text:#fafafa;--ct-text-muted:#a1a1aa;--ct-border:#27272a;--ct-gradient:linear-gradient(135deg,#18181b,#27272a 50%,#18181b);--ct-font-heading:'Cormorant Garamond',serif;--ct-font-body:'Inter',sans-serif;--ct-btn-text-transform:uppercase;--ct-letter-spacing-wide:.08em}
[data-theme="enterprise"] .ct-card{border:1px solid #27272a;background:rgba(24,24,27,.8);backdrop-filter:blur(10px)}
[data-theme="enterprise"] .ct-card:hover{border-color:#c9a96e;box-shadow:0 0 30px rgba(201,169,110,.1)}
[data-theme="enterprise"] .ct-btn-primary{background:#c9a96e;border-color:#c9a96e;color:#18181b}
[data-theme="enterprise"] .ct-btn-primary:hover{background:transparent;color:#c9a96e}
[data-theme="enterprise"] .ct-hero-title{letter-spacing:.03em}
[data-theme="enterprise"] .ct-pricing-price{color:#c9a96e}
[data-theme="enterprise"] .ct-agent-fab{background:#c9a96e;color:#18181b}
[data-theme="enterprise"] .ct-agent-header{background:linear-gradient(135deg,#18181b,#27272a)}
/* NAV */
.ct-nav{position:sticky;top:0;z-index:200;padding:var(--ct-space-md) 0;transition:all var(--ct-transition-base)}
.ct-nav-inner{display:flex;align-items:center;justify-content:space-between}
.ct-nav-logo{font-family:var(--ct-font-heading);font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:var(--ct-letter-spacing-wide)}
.ct-nav-links{display:flex;gap:var(--ct-space-xl);list-style:none}
.ct-nav-links a{color:var(--ct-text-muted);font-size:var(--ct-font-size-small);font-weight:500;text-transform:uppercase;letter-spacing:var(--ct-letter-spacing-wide);transition:color var(--ct-transition-fast)}
.ct-nav-links a:hover{color:var(--ct-primary)}
.ct-nav-cta{margin-left:var(--ct-space-xl)}
@media(max-width:768px){.ct-nav-links{display:none}.ct-hero--editorial .ct-hero-title{font-size:clamp(2rem,8vw,3.5rem)}}

/* SCROLL REVEAL ANIMATIONS */
.ct-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.ct-reveal.revealed{opacity:1;transform:translateY(0)}
.ct-reveal-left{opacity:0;transform:translateX(-30px);transition:opacity .6s ease,transform .6s ease}
.ct-reveal-left.revealed{opacity:1;transform:translateX(0)}
.ct-reveal-right{opacity:0;transform:translateX(30px);transition:opacity .6s ease,transform .6s ease}
.ct-reveal-right.revealed{opacity:1;transform:translateX(0)}
.ct-reveal-scale{opacity:0;transform:scale(.95);transition:opacity .6s ease,transform .6s ease}
.ct-reveal-scale.revealed{opacity:1;transform:scale(1)}
@media(prefers-reduced-motion:reduce){.ct-reveal,.ct-reveal-left,.ct-reveal-right,.ct-reveal-scale{opacity:1;transform:none;transition:none}}
/* TESTIMONIAL BASE */
.ct-testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--ct-grid-gap)}
.ct-testimonial{background:var(--ct-bg-card);border:1px solid var(--ct-border);border-radius:var(--ct-radius-xl);padding:var(--ct-space-2xl);position:relative}
.ct-testimonial-text{font-size:1.1rem;line-height:1.7;color:var(--ct-text);font-style:italic;margin-bottom:var(--ct-space-lg);position:relative;padding-left:var(--ct-space-xl)}
.ct-testimonial-text::before{content:"C";position:absolute;left:0;top:-.25rem;font-size:3rem;color:var(--ct-primary);font-family:Georgia,serif;line-height:1}
.ct-testimonial-author{display:flex;align-items:center;gap:var(--ct-space-md)}
.ct-testimonial-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--ct-border)}
.ct-testimonial-name{font-weight:600;font-size:.95rem}
.ct-testimonial-role{font-size:var(--ct-font-size-small);color:var(--ct-text-muted)}
.ct-testimonial-stars{color:#f59e0b;font-size:.9rem;margin-top:var(--ct-space-xs)}
/* FAQ ACCORDION */
.ct-faq-list{max-width:800px;margin:0 auto}
.ct-faq-item{border:1px solid var(--ct-border);border-radius:var(--ct-radius-md);margin-bottom:var(--ct-space-md);overflow:hidden;transition:border-color var(--ct-transition-fast)}
.ct-faq-item.open{border-color:var(--ct-primary)}
.ct-faq-q{width:100%;background:var(--ct-bg-card);border:none;padding:var(--ct-space-lg) var(--ct-space-xl);text-align:left;font-family:var(--ct-font-heading);font-size:1.05rem;font-weight:600;color:var(--ct-text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background var(--ct-transition-fast)}
.ct-faq-q:hover{background:var(--ct-bg-card-hover)}
.ct-faq-q::after{content:"+";font-size:1.5rem;color:var(--ct-primary);transition:transform var(--ct-transition-fast)}
.ct-faq-item.open .ct-faq-q::after{transform:rotate(45deg)}
.ct-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 var(--ct-space-xl)}
.ct-faq-item.open .ct-faq-a{max-height:300px;padding:0 var(--ct-space-xl) var(--ct-space-lg)}
.ct-faq-a p{color:var(--ct-text-muted);line-height:1.7}
/* CTA SECTION */
.ct-cta{text-align:center}
.ct-cta .ct-h2{margin-bottom:var(--ct-space-lg)}
.ct-cta .ct-subtitle{margin:0 auto var(--ct-space-2xl)}
/* FOOTER BASE */
.ct-footer{background:var(--ct-bg-card);border-top:1px solid var(--ct-border);padding:var(--ct-space-3xl) 0 var(--ct-space-xl)}
.ct-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--ct-grid-gap);margin-bottom:var(--ct-space-2xl)}
.ct-footer-brand p{color:var(--ct-text-muted);margin-top:var(--ct-space-md);font-size:var(--ct-font-size-small);line-height:1.6}
.ct-footer h4{font-family:var(--ct-font-heading);font-size:1rem;text-transform:uppercase;letter-spacing:var(--ct-letter-spacing-wide);margin-bottom:var(--ct-space-md);color:var(--ct-text)}
.ct-footer ul{list-style:none;padding:0}
.ct-footer ul li{margin-bottom:var(--ct-space-sm)}
.ct-footer ul a{color:var(--ct-text-muted);font-size:var(--ct-font-size-small);transition:color var(--ct-transition-fast)}
.ct-footer ul a:hover{color:var(--ct-primary)}
.ct-footer-bottom{border-top:1px solid var(--ct-border);padding-top:var(--ct-space-lg);text-align:center;font-size:var(--ct-font-size-small);color:var(--ct-text-muted)}
@media(max-width:768px){.ct-footer-grid{grid-template-columns:1fr 1fr}.ct-testimonials-grid{grid-template-columns:1fr}}
/* SECTION VARIANTS */
.ct-section[data-variant="split"] .ct-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--ct-space-3xl);align-items:center}
.ct-section[data-variant="split"] .ct-section-text{max-width:500px}
.ct-section[data-variant="split"] .ct-section-visual{position:relative;min-height:300px}
.ct-section[data-variant="split"] .ct-section-visual img{border-radius:var(--ct-radius-xl);width:100%;height:100%;object-fit:cover}
@media(max-width:768px){.ct-section[data-variant="split"] .ct-container{grid-template-columns:1fr}}
.ct-section[data-variant="centered"] .ct-container{text-align:center;max-width:800px}
.ct-section[data-variant="centered"] .ct-subtitle{margin:0 auto}
.ct-section[data-variant="centered"] .ct-grid-2,.ct-section[data-variant="centered"] .ct-grid-3,.ct-section[data-variant="centered"] .ct-grid-4{margin-top:var(--ct-space-2xl)}
.ct-section[data-variant="editorial"] .ct-container{max-width:900px}
.ct-section[data-variant="editorial"] .ct-h2{margin-bottom:var(--ct-space-xl)}
/* STAGGER DELAYS */
.ct-stagger > *:nth-child(1){transition-delay:0ms}
.ct-stagger > *:nth-child(2){transition-delay:100ms}
.ct-stagger > *:nth-child(3){transition-delay:200ms}
.ct-stagger > *:nth-child(4){transition-delay:300ms}
.ct-stagger > *:nth-child(5){transition-delay:400ms}
.ct-stagger > *:nth-child(6){transition-delay:500ms}
