/* CodeHub IT — unified brand system */
:root {
    --ch-bg: #07110f;
    --ch-bg-soft: #0a1714;
    --ch-surface: #0d1d19;
    --ch-surface-2: #122720;
    --ch-gold: #9ef01a;
    --ch-gold-2: #d8ff73;
    --ch-blue: #63e6be;
    --ch-text: #f1f5ed;
    --ch-muted: #a8b9b2;
    --ch-dim: #71847c;
    --ch-border: rgba(207, 237, 224, .12);
    --ch-radius: 22px;
    --ch-shadow: 0 30px 90px rgba(0, 0, 0, .36);
}

html { background: var(--ch-bg); }

body.ch-site {
    background: var(--ch-bg) !important;
    color: var(--ch-text) !important;
    font-family: "Manrope", sans-serif !important;
    font-size: 16px;
    letter-spacing: -.012em;
}

body.ch-site::before {
    background:
        radial-gradient(circle at 8% 5%, rgba(158, 240, 26, .09), transparent 24rem),
        radial-gradient(circle at 92% 18%, rgba(99, 230, 190, .08), transparent 28rem),
        linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
    background-size: auto, auto, 64px 64px, 64px 64px;
}

.ch-site h1, .ch-site h2, .ch-site h3, .ch-site h4,
.ch-site .heading1, .ch-site .heading2, .ch-site .heading3, .ch-site .heading4,
.ch-site .ch-brand-text {
    font-family: "Sora", sans-serif !important;
    letter-spacing: -.045em !important;
}

.ch-container, .ch-nav-container { max-width: 1280px; }
.ch-section { padding: 112px 0; }

.ch-nav {
    background: rgba(7, 17, 15, .72) !important;
    border-color: var(--ch-border) !important;
    padding: 17px 0 !important;
}
.ch-nav.scrolled, .premium-navbar.scrolled { background: rgba(7,17,15,.94) !important; }
.ch-brand-mark {
    background: var(--ch-gold) !important;
    border-radius: 11px 3px 11px 3px !important;
    box-shadow: 0 0 0 1px rgba(158,240,26,.35), 0 10px 25px rgba(158,240,26,.12);
    display: grid !important;
    font-family: "Sora", sans-serif;
    grid-template-columns: 1fr 1fr;
    height: 40px;
    padding: 0 7px;
    transform: rotate(-2deg);
    width: 44px;
}
.ch-brand-mark i {
    align-self: center;
    color: #07110f;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
}
.ch-brand-mark i:last-child { opacity: .55; }
.ch-brand-text { font-size: 17px; font-weight: 600; }
.ch-desktop-nav .navbar-nav { background: transparent; border: 0; gap: 6px; }
.ch-desktop-nav .nav-link { color: #b7c6c0 !important; font-size: 13px; letter-spacing: 0; }
.ch-desktop-nav .nav-link:hover { background: rgba(158,240,26,.08) !important; color: var(--ch-gold-2) !important; }
.ch-nav-button, .ch-btn-primary, .ch-filter-bar button {
    background: var(--ch-gold) !important;
    border: 1px solid var(--ch-gold) !important;
    color: #07110f !important;
}
.ch-nav-button { gap: 10px; padding: 0 19px; }
.ch-login-link:hover { color: var(--ch-gold); }

.ch-hero { min-height: 920px; padding: 190px 0 120px; position: relative; }
.ch-hero::after {
    border: 1px solid rgba(158,240,26,.12);
    border-radius: 50%;
    content: "";
    height: 660px;
    position: absolute;
    right: -330px;
    top: 110px;
    width: 660px;
}
.ch-hero-grid { gap: 72px; grid-template-columns: minmax(0,1.08fr) minmax(420px,.92fr); position: relative; z-index: 1; }
.ch-eyebrow, .ch-kicker, .eyebrow {
    color: var(--ch-gold) !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
}
.ch-hero h1 {
    font-size: clamp(54px, 7.2vw, 104px);
    font-weight: 600;
    letter-spacing: -.075em !important;
    line-height: .92;
    margin: 28px 0 30px;
}
.ch-hero h1 em { color: var(--ch-gold); font-family: inherit; font-style: normal; }
.ch-lead { font-size: clamp(17px,1.7vw,20px); max-width: 650px; }
.ch-btn { border-radius: 999px; font-size: 14px; gap: 12px; min-height: 54px; padding: 0 25px; }
.ch-btn-secondary { background: transparent; border-color: rgba(241,245,237,.2); }
.ch-btn-secondary:hover { background: rgba(255,255,255,.05); border-color: var(--ch-gold); }
.ch-hero-proof { border-color: var(--ch-border); margin-top: 48px; }
.ch-hero-proof strong { font-family: "Sora", sans-serif; font-size: 16px; letter-spacing: -.03em; }

.ch-dashboard {
    background: linear-gradient(145deg, rgba(18,39,32,.96), rgba(8,20,17,.96));
    border-color: rgba(158,240,26,.2);
    border-radius: 30px 10px 30px 10px;
    box-shadow: 0 40px 120px rgba(0,0,0,.55), 0 0 80px rgba(158,240,26,.05);
    transform: perspective(1200px) rotateY(-3deg) rotateX(1deg);
}
.ch-dashboard::before { background: radial-gradient(circle, rgba(158,240,26,.18), transparent 62%); }
.ch-preview-chart i { background: linear-gradient(180deg, var(--ch-gold-2), #54c990); }

.ch-trust-row { border-color: var(--ch-border); }
.ch-trust-row span { color: #71847c; font-size: 11px; letter-spacing: .12em; }
.ch-section-head h2, .ch-cta-panel h2 {
    font-size: clamp(38px,4.8vw,64px);
    font-weight: 600;
    letter-spacing: -.06em !important;
}
.ch-section-head p, .ch-cta-panel p { color: var(--ch-muted); }

.ch-product-card, .ch-category-grid a, .ch-feature-grid article,
.ch-included-grid div, .ch-quote-grid article, .ch-cta-panel {
    background: linear-gradient(160deg, rgba(18,39,32,.82), rgba(8,20,17,.8));
    border-color: var(--ch-border);
}
.ch-product-card { border-radius: 22px 7px 22px 7px; padding: 12px 12px 20px; }
.ch-product-visual { border-radius: 16px 4px 16px 4px; height: 190px; }
.ch-product-meta, .ch-product-card > p, .ch-product-card > ul, .ch-card-actions { margin-left: 8px; margin-right: 8px; }
.ch-product-meta strong { font-family: "Sora", sans-serif; font-weight: 600; letter-spacing: -.035em; }
.ch-product-card:hover, .ch-category-grid a:hover, .ch-feature-grid article:hover,
.ch-included-grid div:hover, .ch-quote-grid article:hover {
    border-color: rgba(158,240,26,.42);
    box-shadow: 0 24px 70px rgba(0,0,0,.3);
}
.ch-category-grid a { border-radius: 20px 6px 20px 6px; min-height: 210px; padding: 28px; }
.ch-feature-grid article { border-radius: 20px 6px 20px 6px; }
.ch-categories { background: rgba(255,255,255,.012); border-bottom: 1px solid var(--ch-border); border-top: 1px solid var(--ch-border); }
.ch-included-grid div { border-radius: 18px 5px 18px 5px; }
.ch-quote-grid article { border-radius: 20px 6px 20px 6px; }
.ch-cta-panel {
    background:
        radial-gradient(circle at 15% 0%, rgba(158,240,26,.18), transparent 38%),
        radial-gradient(circle at 90% 10%, rgba(99,230,190,.12), transparent 40%),
        #0d1d19;
    border-radius: 34px 8px 34px 8px;
}

.ch-page-hero, .about-hero, .content-hero {
    background: transparent !important;
    color: var(--ch-text);
    min-height: auto;
    overflow: hidden;
    padding: 180px 0 100px;
    position: relative;
}
.ch-page-hero::before, .about-hero::before, .content-hero::before {
    background: radial-gradient(circle, rgba(158,240,26,.1), transparent 68%);
    content: "";
    height: 520px;
    left: -220px;
    position: absolute;
    top: 10px;
    width: 520px;
}
.ch-page-hero h1, .about-hero .heading1, .content-hero .heading1 {
    color: var(--ch-text) !important;
    font-size: clamp(48px,6vw,82px);
    font-weight: 600;
    letter-spacing: -.065em !important;
    line-height: .98;
}
.ch-page-hero p, .content-subtitle, .about-hero .lead-copy { color: var(--ch-muted) !important; }

.about-section, .content-section, .content-related { background: var(--ch-bg-soft) !important; color: var(--ch-text); }
.about-section:nth-of-type(even), .content-related { background: var(--ch-bg) !important; }
.about-copy, .about-hero-panel, .content-hero-panel, .content-side, .contact-form-card,
.principle-card, .related-card, .about-stat {
    background: var(--ch-surface) !important;
    border: 1px solid var(--ch-border) !important;
    border-radius: 22px 6px 22px 6px !important;
    box-shadow: none !important;
    color: var(--ch-text) !important;
}
.about-copy p, .content-side li, .content-hero-panel span, .contact-form-card small { color: var(--ch-muted) !important; }
.about-copy h2, .about-copy h3, .content-side h2, .related-card strong,
.principle-card h3, .about-stat strong { color: var(--ch-text) !important; }
.contact-form-card label { color: var(--ch-text); }
.contact-form-card .form-control {
    background: #081410;
    border-color: var(--ch-border);
    color: var(--ch-text);
}
.contact-form-card .form-control::placeholder { color: #60736b; }
.contact-form-card .form-control:focus { border-color: var(--ch-gold); box-shadow: 0 0 0 3px rgba(158,240,26,.1); }
.contact-submit { background: var(--ch-gold); border-radius: 999px; color: #07110f; }
.contact-submit:hover { background: var(--ch-gold-2); }
.related-card:hover { border-color: rgba(158,240,26,.45) !important; transform: translateY(-5px); }

.ch-auth-card, .ch-download-card, .ch-success-card, .ch-detail-panel {
    background: var(--ch-surface) !important;
    border-color: var(--ch-border) !important;
    box-shadow: var(--ch-shadow) !important;
}
.ch-auth-page, .ch-downloads-page, .ch-payment-page { background: var(--ch-bg) !important; }

.ch-footer { background: #040b09; padding-top: 88px; }
.ch-footer-newsletter { background: var(--ch-surface); border-radius: 18px 5px 18px 5px; }
.ch-footer-grid h3 { color: var(--ch-gold); font-size: 11px; letter-spacing: .14em; }
.ch-footer-grid a { font-size: 14px; }

::selection { background: var(--ch-gold); color: #07110f; }
:focus-visible { outline: 2px solid var(--ch-gold); outline-offset: 4px; }

@media (max-width: 1199.98px) {
    .ch-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ch-hero-grid { gap: 42px; grid-template-columns: minmax(0,1fr) minmax(360px,.85fr); }
}
@media (max-width: 991.98px) {
    .ch-section { padding: 84px 0; }
    .ch-hero { min-height: auto; padding: 150px 0 90px; }
    .ch-hero-grid { grid-template-columns: 1fr; }
    .ch-dashboard { max-width: 680px; transform: none; }
    .ch-mobile-actions { display: flex; }
}
@media (max-width: 767.98px) {
    .ch-container { padding-left: 20px; padding-right: 20px; }
    .ch-hero h1 { font-size: clamp(48px,15vw,70px); }
    .ch-product-grid, .ch-category-grid, .ch-feature-grid, .ch-included-grid, .ch-quote-grid { grid-template-columns: 1fr; }
    .ch-hero-proof { grid-template-columns: 1fr; }
    .ch-section-head-row, .ch-footer-top, .ch-footer-bottom { align-items: flex-start; flex-direction: column; }
    .ch-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ch-dashboard-body { grid-template-columns: 1fr; }
    .ch-dashboard-side { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 479.98px) {
    .ch-mobile-cta { display: none; }
    .ch-dashboard-side { grid-template-columns: 1fr; }
    .ch-footer-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Studio */
.studio-hero { overflow: hidden; padding: 190px 0 0; position: relative; }
.studio-hero::after { border: 1px solid rgba(158,240,26,.1); border-radius: 50%; content: ""; height: 700px; position: absolute; right: -350px; top: 40px; width: 700px; }
.studio-hero-grid { align-items: end; display: grid; gap: 80px; grid-template-columns: 1.15fr .85fr; position: relative; z-index: 1; }
.studio-hero-copy h1 { font-size: clamp(62px,8.5vw,118px); font-weight: 600; line-height: .88; margin: 28px 0 34px; }
.studio-hero-copy h1 em { color: var(--ch-gold); font-style: normal; }
.studio-hero-copy > p { color: var(--ch-muted); font-size: 19px; line-height: 1.75; max-width: 700px; }
.studio-manifesto { background: var(--ch-surface); border: 1px solid rgba(158,240,26,.18); border-radius: 30px 8px 30px 8px; min-height: 430px; padding: 38px; }
.studio-manifesto > span { color: var(--ch-gold); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.studio-manifesto p { font-family: "Sora",sans-serif; font-size: clamp(26px,3vw,38px); letter-spacing: -.05em; line-height: 1.18; margin: 70px 0 0; }
.studio-signal { align-items: end; display: flex; gap: 9px; height: 80px; margin-top: 50px; }
.studio-signal i { background: var(--ch-gold); border-radius: 999px; display: block; height: 35%; width: 8px; }
.studio-signal i:nth-child(2) { height: 70%; }.studio-signal i:nth-child(3) { height: 45%; }.studio-signal i:nth-child(4) { height: 95%; }.studio-signal i:nth-child(5) { height: 62%; }.studio-signal i:nth-child(6) { height: 78%; }
.studio-stats { border-bottom: 1px solid var(--ch-border); border-top: 1px solid var(--ch-border); display: grid; grid-template-columns: repeat(4,1fr); margin-top: 110px; position: relative; z-index: 1; }
.studio-stats div { border-right: 1px solid var(--ch-border); padding: 32px 28px; }.studio-stats div:last-child { border: 0; }
.studio-stats strong { display: block; font-family: "Sora",sans-serif; font-size: 30px; }.studio-stats span { color: var(--ch-dim); display: block; font-size: 12px; margin-top: 8px; }
.studio-story, .studio-principles, .studio-cta-section { padding: 120px 0; }
.studio-story-grid { display: grid; gap: 90px; grid-template-columns: .95fr 1.05fr; }
.studio-story h2 { font-size: clamp(40px,5vw,64px); font-weight: 600; line-height: 1.05; margin-top: 18px; }
.studio-prose { border-left: 1px solid var(--ch-border); padding-left: 50px; }
.studio-prose p { color: var(--ch-muted); font-size: 18px; line-height: 1.85; }
.studio-principles { background: var(--ch-bg-soft); border-bottom: 1px solid var(--ch-border); border-top: 1px solid var(--ch-border); }
.studio-principle-grid { display: grid; gap: 14px; grid-template-columns: repeat(4,1fr); }
.studio-principle-grid article { background: var(--ch-surface); border: 1px solid var(--ch-border); border-radius: 22px 6px 22px 6px; min-height: 320px; padding: 28px; }
.studio-principle-grid article > span { color: var(--ch-gold); font-size: 12px; font-weight: 800; }
.studio-principle-grid h3 { font-size: 23px; font-weight: 600; line-height: 1.2; margin: 90px 0 14px; }
.studio-principle-grid p { color: var(--ch-muted); line-height: 1.7; margin: 0; }
.studio-cta { background: radial-gradient(circle at 20% 0,rgba(158,240,26,.16),transparent 38%),var(--ch-surface); border: 1px solid var(--ch-border); border-radius: 36px 8px; padding: clamp(40px,7vw,88px); text-align: center; }
.studio-cta h2 { font-size: clamp(44px,6vw,78px); margin: 20px auto 34px; }.studio-cta .ch-btn { margin: auto; }

/* Contact */
.contact-hero { padding-bottom: 70px; }
.contact-availability small { color: var(--ch-dim); display: block; margin-top: 38px; }
.contact-layout { align-items: start; display: grid; gap: 70px; grid-template-columns: .75fr 1.25fr; }
.contact-context { padding-top: 16px; position: sticky; top: 130px; }
.contact-context > h2 { font-size: clamp(34px,4vw,52px); font-weight: 600; line-height: 1.08; margin: 20px 0 45px; }
.contact-step { border-top: 1px solid var(--ch-border); display: grid; gap: 18px; grid-template-columns: 34px 1fr; padding: 22px 0; }
.contact-step b { color: var(--ch-gold); font-size: 11px; }.contact-step strong,.contact-step span { display: block; }
.contact-step strong { font-family: "Sora",sans-serif; font-size: 16px; }.contact-step span { color: var(--ch-muted); font-size: 13px; line-height: 1.6; margin-top: 6px; }
.contact-direct { border-top: 1px solid var(--ch-border); margin-top: 10px; padding-top: 28px; }.contact-direct small,.contact-direct a { display: block; }
.contact-direct small { color: var(--ch-dim); }.contact-direct a { color: var(--ch-gold); font-weight: 700; margin-top: 7px; }
.contact-form-card { padding: clamp(28px,5vw,54px) !important; }
.contact-form-head { border-bottom: 1px solid var(--ch-border); margin-bottom: 38px; padding-bottom: 30px; }
.contact-form-head > span { color: var(--ch-gold); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.contact-form-head h2 { font-size: clamp(32px,4vw,46px); margin: 12px 0 8px; }.contact-form-head p { color: var(--ch-muted); margin: 0; }
.contact-form-card label span { color: var(--ch-gold); }.contact-form-card .form-control { min-height: 58px; }.contact-form-card textarea.form-control { min-height: 170px; }
.contact-submit { align-items: center; display: inline-flex; gap: 16px; min-height: 54px; padding: 0 25px; }

/* Product showcase and checkout */
.product-showcase-hero { padding: 145px 0 100px; }
.product-breadcrumb { color: var(--ch-dim); display: flex; font-size: 12px; gap: 10px; margin-bottom: 45px; }.product-breadcrumb a:hover { color: var(--ch-gold); }
.product-showcase-grid { align-items: center; display: grid; gap: 70px; grid-template-columns: .92fr 1.08fr; }
.product-label-row { align-items: center; display: flex; gap: 14px; }.product-label-row b { background: rgba(158,240,26,.1); border: 1px solid rgba(158,240,26,.22); border-radius: 999px; color: var(--ch-gold); font-size: 10px; padding: 7px 10px; text-transform: uppercase; }
.product-showcase-copy h1 { font-size: clamp(54px,7vw,92px); font-weight: 600; line-height: .94; margin: 24px 0; }
.product-showcase-copy > p { color: var(--ch-muted); font-size: 19px; line-height: 1.75; max-width: 650px; }
.product-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ch-btn-demo { background: var(--ch-text); color: var(--ch-bg); }.ch-btn-demo:hover { color: var(--ch-bg); }
.demo-play { align-items: center; background: var(--ch-gold); border-radius: 50%; display: inline-flex; font-size: 9px; height: 26px; justify-content: center; width: 26px; }
.product-assurance { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 28px; }.product-assurance span { color: var(--ch-dim); font-size: 11px; }
.product-stage { background: #0b1915; border: 1px solid rgba(158,240,26,.18); border-radius: 30px 8px; box-shadow: var(--ch-shadow); overflow: hidden; }
.product-stage-bar { align-items: center; border-bottom: 1px solid var(--ch-border); display: flex; gap: 7px; padding: 16px 18px; }.product-stage-bar i { background: #41544c; border-radius: 50%; height: 8px; width: 8px; }.product-stage-bar span { color: var(--ch-dim); font-size: 11px; margin-left: auto; }
.product-stage-canvas { align-items: center; aspect-ratio: 16/10; display: flex; justify-content: center; overflow: hidden; position: relative; }
.product-stage-canvas > img { height: 100%; object-fit: cover; width: 100%; }.product-stage-canvas > span { background: rgba(7,17,15,.75); border: 1px solid rgba(255,255,255,.2); border-radius: 20px 6px; font-family: "Sora",sans-serif; font-size: 44px; font-weight: 700; padding: 18px; z-index: 1; }
.product-mock-ui { bottom: -20px; display: grid; gap: 10px; grid-template-columns: 1fr 1fr; left: 50px; position: absolute; right: 50px; }.product-mock-ui i { background: rgba(255,255,255,.16); border-radius: 12px; display: block; height: 70px; }
.product-stage-link { align-items: center; border-top: 1px solid var(--ch-border); color: var(--ch-gold); display: flex; font-size: 13px; font-weight: 700; justify-content: space-between; padding: 18px 22px; }
.product-overview,.product-includes,.product-screens,.product-payment { border-top: 1px solid var(--ch-border); padding: 110px 0; }
.product-overview { background: var(--ch-bg-soft); }.product-overview-grid { align-items: start; display: grid; gap: 80px; grid-template-columns: 1fr 360px; }
.product-narrative h2 { font-size: clamp(40px,5vw,64px); font-weight: 600; line-height: 1.05; margin: 18px 0 28px; }.product-description p { color: var(--ch-muted); font-size: 18px; line-height: 1.85; }
.product-package-summary { background: var(--ch-surface); border: 1px solid var(--ch-border); border-radius: 24px 7px; padding: 28px; position: sticky; top: 120px; }.product-package-summary > span { color: var(--ch-dim); font-size: 11px; text-transform: uppercase; }.product-package-summary > strong { display: block; font-family: "Sora",sans-serif; font-size: 34px; margin: 8px 0; }.product-package-summary p { color: var(--ch-muted); font-size: 13px; }.product-package-summary a { border-top: 1px solid var(--ch-border); color: var(--ch-gold); display: flex; font-weight: 700; justify-content: space-between; margin-top: 24px; padding-top: 18px; }
.product-feature-grid { display: grid; gap: 12px; grid-template-columns: repeat(3,1fr); }.product-feature-grid article { background: var(--ch-surface); border: 1px solid var(--ch-border); border-radius: 20px 6px; min-height: 180px; padding: 24px; }.product-feature-grid article > span { color: var(--ch-gold); font-size: 11px; }.product-feature-grid h3 { font-size: 20px; margin-top: 65px; }
.product-delivery-grid { border-top: 1px solid var(--ch-border); display: grid; gap: 80px; grid-template-columns: 1fr 1fr; margin-top: 60px; padding-top: 60px; }.product-delivery-grid ul { display: grid; gap: 13px; list-style: none; margin: 25px 0 0; padding: 0; }.product-delivery-grid li { color: var(--ch-muted); padding-left: 22px; position: relative; }.product-delivery-grid li::before { color: var(--ch-gold); content: "✓"; left: 0; position: absolute; }
.product-text-link { color: var(--ch-gold); display: inline-block; font-size: 13px; font-weight: 700; margin-top: 24px; }
.product-screens { background: var(--ch-bg-soft); }.product-screens .ch-screenshot-grid img { border: 1px solid var(--ch-border); border-radius: 18px 5px; }
.product-payment { scroll-margin-top: 75px; }.payment-heading { margin-bottom: 40px; max-width: 750px; }.payment-heading h2 { font-size: clamp(42px,5vw,64px); margin: 14px 0; }.payment-heading p { color: var(--ch-muted); }
.payment-choice-grid { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }.payment-choice { background: var(--ch-surface); border: 1px solid var(--ch-border); border-radius: 28px 8px; display: flex; flex-direction: column; padding: clamp(26px,4vw,42px); }.payment-online { border-color: rgba(158,240,26,.28); }
.payment-choice-top { align-items: center; display: flex; gap: 16px; }.payment-icon { align-items: center; background: rgba(158,240,26,.12); border: 1px solid rgba(158,240,26,.25); border-radius: 14px 4px; color: var(--ch-gold); display: flex; font-size: 20px; height: 50px; justify-content: center; width: 50px; }.payment-choice-top small { color: var(--ch-gold); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.payment-choice h3 { font-size: 27px; margin: 3px 0 0; }.payment-choice > p { color: var(--ch-muted); line-height: 1.7; margin: 28px 0; }.payment-choice > ul { color: var(--ch-muted); display: grid; gap: 10px; list-style: none; margin: 0 0 30px; padding: 0; }.payment-choice > ul li::before { color: var(--ch-gold); content: "✓"; margin-right: 10px; }.payment-button { margin-top: auto; width: 100%; }
.manual-accounts { display: grid; gap: 8px; margin-bottom: 30px; }.manual-accounts div { align-items: center; background: rgba(255,255,255,.025); border: 1px solid var(--ch-border); border-radius: 10px; display: flex; justify-content: space-between; padding: 12px 14px; }.manual-accounts b { color: var(--ch-text); font-size: 13px; }.manual-accounts span { color: var(--ch-dim); font-size: 11px; text-align: right; }
.manual-payment-form { background: var(--ch-surface); border: 1px solid var(--ch-border); border-radius: 28px 8px; display: none; margin-top: 22px; padding: clamp(26px,5vw,54px); scroll-margin-top: 100px; }.manual-payment-form.is-open { display: grid; gap: 60px; grid-template-columns: .65fr 1.35fr; }
.manual-form-intro h3 { font-size: 32px; margin: 16px 0; }.manual-form-intro p { color: var(--ch-muted); line-height: 1.7; }
.manual-form-grid { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }.manual-field-wide { grid-column: 1/-1; }.manual-field label { color: var(--ch-text); display: block; font-size: 12px; font-weight: 700; margin-bottom: 8px; }.manual-field label span { color: var(--ch-gold); }.manual-field input,.manual-field select,.manual-field textarea { background: #081410; border: 1px solid var(--ch-border); border-radius: 10px; color: var(--ch-text); min-height: 52px; padding: 12px 14px; width: 100%; }.manual-field textarea { min-height: 100px; }.manual-field input:focus,.manual-field select:focus,.manual-field textarea:focus { border-color: var(--ch-gold); outline: none; }.manual-field .errorlist { color: #ff8e8e; font-size: 11px; list-style: none; margin: 6px 0 0; padding: 0; }
.manual-form-submit { align-items: center; border-top: 1px solid var(--ch-border); display: flex; justify-content: space-between; margin-top: 24px; padding-top: 24px; }.manual-form-submit p { color: var(--ch-dim); font-size: 11px; margin: 0; max-width: 260px; }
.payment-alert { border: 1px solid rgba(158,240,26,.25); border-radius: 12px; color: var(--ch-text); margin-bottom: 24px; padding: 14px 18px; }.payment-alert-success { background: rgba(158,240,26,.08); }.payment-alert-error { background: rgba(255,90,90,.08); border-color: rgba(255,90,90,.25); }
.product-related { border-top: 1px solid var(--ch-border); }

@media (max-width: 991.98px) {
    .studio-hero-grid,.studio-story-grid,.contact-layout,.product-showcase-grid,.product-overview-grid { grid-template-columns: 1fr; }
    .studio-principle-grid { grid-template-columns: repeat(2,1fr); }.studio-prose { border-left: 0; border-top: 1px solid var(--ch-border); padding-left: 0; padding-top: 40px; }
    .contact-context,.product-package-summary { position: static; }.manual-payment-form.is-open { grid-template-columns: 1fr; }
    .product-showcase-hero { padding-top: 130px; }
}
@media (max-width: 767.98px) {
    .studio-stats { grid-template-columns: 1fr 1fr; }.studio-stats div:nth-child(2) { border-right: 0; }.studio-stats div:nth-child(-n+2) { border-bottom: 1px solid var(--ch-border); }
    .studio-principle-grid,.product-feature-grid,.product-delivery-grid,.payment-choice-grid,.manual-form-grid { grid-template-columns: 1fr; }
    .studio-story,.studio-principles,.studio-cta-section,.product-overview,.product-includes,.product-screens,.product-payment { padding: 82px 0; }
    .product-showcase-copy h1 { font-size: 52px; }.product-assurance { align-items: flex-start; flex-direction: column; gap: 8px; }
    .manual-field-wide { grid-column: auto; }.manual-form-submit { align-items: stretch; flex-direction: column; gap: 18px; }.manual-accounts div { align-items: flex-start; flex-direction: column; gap: 5px; }.manual-accounts span { text-align: left; }
}

/* Editorial studio */
.studio-v2-index { color: var(--ch-dim); display: block; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.studio-v2-hero { padding: 190px 0 0; }
.studio-v2-intro { border-bottom: 1px solid var(--ch-border); padding-bottom: 72px; }
.studio-v2-intro h1 { font-size: clamp(64px,10.5vw,148px); font-weight: 500; letter-spacing: -.085em !important; line-height: .84; margin: 40px 0 0; }
.studio-v2-intro h1 em { color: var(--ch-gold); font-style: normal; }
.studio-v2-lead { display: grid; gap: 40px; grid-template-columns: 120px minmax(0,650px) auto; padding: 38px 0 90px; }
.studio-v2-lead p { color: var(--ch-muted); font-size: 18px; line-height: 1.75; margin: 0; }
.studio-v2-lead a { align-self: start; border-bottom: 1px solid var(--ch-gold); color: var(--ch-gold); display: flex; font-size: 13px; font-weight: 800; gap: 30px; justify-content: space-between; padding-bottom: 10px; }
.studio-v2-statement { background: #e8eee7; color: #07110f; padding: 130px 0; }
.studio-v2-statement-grid { align-items: center; display: grid; gap: 120px; grid-template-columns: .8fr 1.2fr; }
.studio-v2-orbit { aspect-ratio: 1; border: 1px solid rgba(7,17,15,.22); border-radius: 50%; max-width: 450px; position: relative; }
.studio-v2-orbit::before,.studio-v2-orbit::after { border: 1px solid rgba(7,17,15,.12); border-radius: 50%; content: ""; inset: 14%; position: absolute; }.studio-v2-orbit::after { inset: 30%; }
.studio-v2-orbit > div { align-items: center; background: var(--ch-gold); border-radius: 50%; display: flex; inset: 39%; justify-content: center; position: absolute; z-index: 1; }
.studio-v2-orbit > div span { font-family: "Sora",sans-serif; font-size: 18px; font-weight: 700; }
.studio-v2-orbit i { font-size: 11px; font-style: normal; font-weight: 800; position: absolute; text-transform: uppercase; }.studio-v2-orbit i:nth-of-type(1) { left: 7%; top: 46%; }.studio-v2-orbit i:nth-of-type(2) { right: 10%; top: 19%; }.studio-v2-orbit i:nth-of-type(3) { bottom: 11%; right: 17%; }
.studio-v2-copy .studio-v2-index,.studio-v2-section-title .studio-v2-index { color: #59665f; }
.studio-v2-copy h2 { font-size: clamp(45px,6vw,78px); font-weight: 500; line-height: .98; margin: 28px 0 38px; }
.studio-v2-copy p { color: #45524b; font-size: 17px; line-height: 1.85; max-width: 700px; }
.studio-v2-capabilities { background: #e8eee7; color: #07110f; padding: 0 0 130px; }
.studio-v2-section-title { border-top: 1px solid rgba(7,17,15,.2); display: grid; gap: 70px; grid-template-columns: .35fr 1fr; padding: 70px 0; }
.studio-v2-section-title h2 { font-size: clamp(48px,6vw,78px); font-weight: 500; line-height: .95; margin: 0; }
.studio-v2-list { border-top: 1px solid rgba(7,17,15,.18); }
.studio-v2-list article { align-items: start; border-bottom: 1px solid rgba(7,17,15,.18); display: grid; gap: 30px; grid-template-columns: 80px .8fr 1fr; padding: 30px 0; transition: padding .25s ease; }
.studio-v2-list article:hover { padding-left: 14px; }.studio-v2-list article > span { color: #657169; font-size: 11px; font-weight: 800; }
.studio-v2-list h3 { font-size: 25px; font-weight: 600; margin: 0; }.studio-v2-list p { color: #526059; line-height: 1.7; margin: 0; max-width: 520px; }
.studio-v2-method { padding: 130px 0; }
.studio-v2-method-grid { display: grid; gap: 100px; grid-template-columns: .85fr 1.15fr; }
.studio-v2-method h2 {
    color: var(--ch-text) !important;
    font-size: clamp(42px, 4.6vw, 62px);
    font-weight: 500;
    line-height: 1.05;
    margin-top: 34px;
}
.studio-v2-method-copy > p { color: var(--ch-muted); font-size: 18px; line-height: 1.8; margin: 0 0 60px; }
.studio-v2-method-copy dl { border-top: 1px solid var(--ch-border); margin: 0; }
.studio-v2-method-copy dl div { border-bottom: 1px solid var(--ch-border); display: grid; grid-template-columns: 60px 1fr; padding: 21px 0; }
.studio-v2-method-copy dt { color: var(--ch-gold); font-size: 11px; }.studio-v2-method-copy dd { font-family: "Sora",sans-serif; font-size: 16px; margin: 0; }
.studio-v2-footer { background: var(--ch-gold); color: #07110f; padding: 110px 0; }
.studio-v2-footer .studio-v2-index { color: rgba(7,17,15,.58); }.studio-v2-footer h2 { font-size: clamp(70px,11vw,150px); font-weight: 500; line-height: .83; margin: 45px 0; }
.studio-v2-footer a { border-bottom: 2px solid #07110f; display: inline-flex; font-size: 15px; font-weight: 800; gap: 70px; padding: 0 0 12px; }

/* Focused contact */
.contact-v2-shell { padding: 190px 0 120px; }
.contact-v2-heading { border-bottom: 1px solid var(--ch-border); display: grid; gap: 40px; grid-template-columns: 1fr .45fr; padding-bottom: 70px; }
.contact-v2-heading .ch-kicker { grid-column: 1/-1; }
.contact-v2-heading h1 { font-size: clamp(64px,9vw,120px); font-weight: 500; letter-spacing: -.08em !important; line-height: .86; margin: 0; }
.contact-v2-heading h1 em { color: var(--ch-gold); font-style: normal; }
.contact-v2-heading > p { align-self: end; color: var(--ch-muted); font-size: 17px; line-height: 1.75; margin: 0; }
.contact-v2-grid { display: grid; gap: 90px; grid-template-columns: 300px 1fr; padding-top: 70px; }
.contact-v2-aside { display: flex; flex-direction: column; gap: 42px; }
.contact-v2-label { color: var(--ch-dim); display: block; font-size: 10px; font-weight: 800; letter-spacing: .13em; margin-bottom: 10px; text-transform: uppercase; }
.contact-v2-aside a { color: var(--ch-text); font-size: 15px; font-weight: 700; }.contact-v2-aside a:hover { color: var(--ch-gold); }
.contact-v2-aside p { color: var(--ch-muted); font-size: 14px; line-height: 1.7; margin: 0; }
.contact-v2-note { border-top: 1px solid var(--ch-border); display: flex; gap: 12px; margin-top: auto; padding-top: 22px; }
.contact-v2-note i { background: var(--ch-gold); border-radius: 50%; box-shadow: 0 0 18px rgba(158,240,26,.6); flex: 0 0 8px; height: 8px; margin-top: 5px; }.contact-v2-note span { color: var(--ch-muted); font-size: 11px; line-height: 1.6; }
.contact-v2-form-wrap { background: #e8eee7; border-radius: 32px 8px; color: #07110f; padding: clamp(30px,5vw,62px); }
.contact-v2-form-head { align-items: end; border-bottom: 1px solid rgba(7,17,15,.18); display: flex; justify-content: space-between; margin-bottom: 42px; padding-bottom: 20px; }
.contact-v2-form-head span { font-family: "Sora",sans-serif; font-size: 24px; font-weight: 600; }.contact-v2-form-head p { color: #66736c; font-size: 11px; margin: 0; }
.contact-v2-fields { display: grid; gap: 30px 24px; grid-template-columns: 1fr 1fr; }
.contact-v2-field-wide { grid-column: 1/-1; }
.contact-v2-field label { color: #526059; display: block; font-size: 11px; font-weight: 800; letter-spacing: .04em; margin-bottom: 10px; text-transform: uppercase; }.contact-v2-field label span { color: #78837d; float: right; font-size: 9px; }
.contact-v2-field input,.contact-v2-field textarea { background: transparent; border: 0; border-bottom: 1px solid rgba(7,17,15,.25); border-radius: 0; color: #07110f; font-family: "Manrope",sans-serif; font-size: 15px; min-height: 52px; padding: 10px 0; width: 100%; }
.contact-v2-field textarea { min-height: 130px; resize: vertical; }.contact-v2-field input:focus,.contact-v2-field textarea:focus { border-color: #07110f; outline: none; }.contact-v2-field input::placeholder,.contact-v2-field textarea::placeholder { color: #8a958f; }
.contact-v2-field .errorlist { color: #b42318; font-size: 11px; list-style: none; margin: 6px 0 0; padding: 0; }
.contact-v2-upload { align-items: center; border: 1px dashed rgba(7,17,15,.28); cursor: pointer; display: flex !important; justify-content: space-between; margin: 0 !important; padding: 18px 20px; text-transform: none !important; transition: border-color .2s ease,background .2s ease; }.contact-v2-upload:hover { background: rgba(7,17,15,.035); border-color: #07110f; }
.contact-v2-upload strong { font-size: 12px; }.contact-v2-upload span { float: none !important; }.contact-v2-file { height: 1px !important; left: -9999px; min-height: 0 !important; opacity: 0; position: absolute; width: 1px !important; }
.contact-v2-submit { align-items: center; border-top: 1px solid rgba(7,17,15,.18); display: flex; justify-content: space-between; margin-top: 42px; padding-top: 28px; }
.contact-v2-submit p { color: #69766f; font-size: 10px; margin: 0; max-width: 270px; }.contact-v2-submit button { align-items: center; background: #07110f; border: 0; border-radius: 999px; color: var(--ch-text); display: inline-flex; font: 800 13px "Manrope",sans-serif; gap: 35px; min-height: 54px; padding: 0 24px; }.contact-v2-submit button:hover { background: #17352c; }
.contact-v2-alert { border: 1px solid rgba(7,17,15,.18); margin-bottom: 25px; padding: 14px; }.contact-v2-alert-success { background: rgba(78,155,85,.12); }.contact-v2-alert-error { background: rgba(180,35,24,.1); }

@media (max-width: 991.98px) {
    .studio-v2-lead { grid-template-columns: 70px 1fr; }.studio-v2-lead a { grid-column: 2; justify-self: start; }
    .studio-v2-statement-grid,.studio-v2-method-grid { grid-template-columns: 1fr; }.studio-v2-orbit { max-width: 380px; }
    .contact-v2-heading { grid-template-columns: 1fr; }.contact-v2-heading .ch-kicker { grid-column: auto; }.contact-v2-heading > p { max-width: 580px; }
    .contact-v2-grid { gap: 50px; grid-template-columns: 220px 1fr; }
}
@media (max-width: 767.98px) {
    .studio-v2-hero,.contact-v2-shell { padding-top: 145px; }.studio-v2-intro h1,.contact-v2-heading h1 { font-size: 58px; }
    .studio-v2-lead { grid-template-columns: 1fr; }.studio-v2-lead a { grid-column: auto; }.studio-v2-statement,.studio-v2-method { padding: 85px 0; }
    .studio-v2-statement-grid { gap: 70px; }.studio-v2-section-title { gap: 25px; grid-template-columns: 1fr; }.studio-v2-list article { grid-template-columns: 40px 1fr; }.studio-v2-list article p { grid-column: 2; }
    .contact-v2-grid { grid-template-columns: 1fr; }.contact-v2-aside { display: grid; grid-template-columns: 1fr 1fr; }.contact-v2-note { grid-column: 1/-1; }
    .contact-v2-fields { grid-template-columns: 1fr; }.contact-v2-field-wide { grid-column: auto; }.contact-v2-form-head,.contact-v2-submit { align-items: flex-start; flex-direction: column; gap: 18px; }.contact-v2-submit button { width: 100%; justify-content: space-between; }
    .contact-v2-upload { align-items: flex-start; flex-direction: column; gap: 8px; }
}

/* Studio hero correction: balanced first viewport and explicit contrast */
.studio-v2-hero {
    min-height: min(860px, 100vh);
    padding: 160px 0 70px;
}
.studio-v2-intro {
    border-bottom: 0;
    max-width: 1080px;
    padding-bottom: 52px;
}
.studio-v2-intro h1 {
    color: var(--ch-text) !important;
    font-size: clamp(54px, 6.6vw, 92px);
    letter-spacing: -.07em !important;
    line-height: .98;
    margin-top: 28px;
}
.studio-v2-intro h1 em {
    color: var(--ch-gold) !important;
}
.studio-v2-lead {
    align-items: start;
    border-top: 1px solid var(--ch-border);
    gap: 34px;
    grid-template-columns: 70px minmax(0, 620px) auto;
    padding: 30px 0 0;
}
.studio-v2-lead p {
    color: #c4d0cb;
    font-size: 16px;
    line-height: 1.75;
}
.studio-v2-lead a {
    min-width: 210px;
}

@media (max-width: 991.98px) {
    .studio-v2-hero { min-height: auto; padding-top: 145px; }
    .studio-v2-intro h1 { font-size: clamp(52px, 9vw, 76px); }
    .studio-v2-lead { grid-template-columns: 50px 1fr; }
    .studio-v2-lead a { grid-column: 2; }
}
@media (max-width: 767.98px) {
    .studio-v2-hero { padding: 130px 0 64px; }
    .studio-v2-intro { padding-bottom: 36px; }
    .studio-v2-intro h1 { font-size: clamp(43px, 13vw, 60px); line-height: 1.02; }
    .studio-v2-lead { gap: 20px; grid-template-columns: 1fr; padding-top: 24px; }
    .studio-v2-lead a { grid-column: auto; min-width: 0; }
}

/* Contact correction: visible hero and a crisp, compact inquiry form */
.contact-v2-shell {
    padding: 155px 0 100px;
}
.contact-v2-heading {
    align-items: end;
    gap: 70px;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .5fr);
    padding-bottom: 58px;
}
.contact-v2-heading h1 {
    color: var(--ch-text) !important;
    font-size: clamp(54px, 7vw, 94px);
    line-height: .94;
}
.contact-v2-heading h1 em {
    color: var(--ch-gold) !important;
}
.contact-v2-heading > p {
    color: #bdcac4;
    font-size: 15px;
    max-width: 430px;
}
.contact-v2-grid {
    gap: 64px;
    grid-template-columns: 260px minmax(0, 1fr);
    padding-top: 58px;
}
.contact-v2-form-wrap {
    background: #edf2ec;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 22px;
    box-shadow: 0 28px 80px rgba(0,0,0,.25);
    max-width: 880px;
    padding: 42px 48px;
}
.contact-v2-form-head {
    margin-bottom: 30px;
    padding-bottom: 20px;
}
.contact-v2-form-head span {
    color: #07110f;
    font-size: 22px;
}
.contact-v2-fields {
    gap: 22px 20px;
}
.contact-v2-field label {
    color: #405048;
    letter-spacing: .06em;
    margin-bottom: 8px;
}
.contact-v2-field input,
.contact-v2-field textarea {
    background: #fff !important;
    border: 1px solid #cfd9d2 !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 0 rgba(7,17,15,.03);
    color: #07110f !important;
    min-height: 50px;
    padding: 12px 14px !important;
}
.contact-v2-field textarea {
    min-height: 118px;
}
.contact-v2-field input:hover,
.contact-v2-field textarea:hover {
    border-color: #aab9b0 !important;
}
.contact-v2-field input:focus,
.contact-v2-field textarea:focus {
    border-color: #67a900 !important;
    box-shadow: 0 0 0 3px rgba(103,169,0,.12) !important;
}
.contact-v2-upload {
    background: #fff;
    border: 1px dashed #aab9b0;
    border-radius: 10px;
    padding: 15px 16px;
}
.contact-v2-upload:hover {
    background: #f8fbf7;
    border-color: #67a900;
}
.contact-v2-submit {
    margin-top: 30px;
    padding-top: 24px;
}
.contact-v2-submit button {
    background: #07110f;
    min-height: 52px;
    padding: 0 24px;
}
.contact-v2-submit button:hover {
    background: #2e5000;
}

@media (max-width: 991.98px) {
    .contact-v2-heading { gap: 30px; grid-template-columns: 1fr; }
    .contact-v2-grid { grid-template-columns: 210px minmax(0, 1fr); }
    .contact-v2-form-wrap { padding: 36px; }
}
@media (max-width: 767.98px) {
    .contact-v2-shell { padding: 130px 0 70px; }
    .contact-v2-heading h1 { font-size: clamp(46px, 13vw, 62px); }
    .contact-v2-grid { grid-template-columns: 1fr; }
    .contact-v2-form-wrap { border-radius: 16px; padding: 26px 20px; }
    .contact-v2-fields { gap: 18px; }
}

/* Shared content and Docs visibility correction */
.content-page,
.content-page section {
    color: var(--ch-text) !important;
}
.content-page .content-hero .heading1,
.content-page .content-section .heading2,
.content-page .content-section .heading3,
.content-page .content-section .heading4,
.content-page .ib-common-title-se h2,
.content-page .about-copy h1,
.content-page .about-copy h2,
.content-page .about-copy h3,
.content-page .about-copy h4,
.content-page .related-card strong {
    color: var(--ch-text) !important;
}
.content-page .content-subtitle,
.content-page .ib-common-title-se > p,
.content-page .about-copy,
.content-page .about-copy p,
.content-page .about-copy li {
    color: var(--ch-muted) !important;
}
.content-page .about-copy a {
    color: var(--ch-gold) !important;
    text-decoration: underline;
    text-decoration-color: rgba(158,240,26,.35);
    text-underline-offset: 4px;
}
.content-page .section-kicker,
.content-page .eyebrow,
.content-page .related-card > span {
    color: var(--ch-gold) !important;
}
.content-page .content-side {
    color: var(--ch-text) !important;
}
.content-page .content-side li {
    color: #bdcac4 !important;
}
.content-page .content-related {
    border-top: 1px solid var(--ch-border);
}
.content-page .related-card {
    min-height: 150px;
}

.content-page-blogs .content-hero {
    min-height: 540px;
}
.content-page-blogs .content-hero .heading1 {
    max-width: 850px;
}
.content-page-blogs .content-section {
    padding-bottom: 105px;
    padding-top: 105px;
}
.content-page-blogs .about-copy {
    font-size: 17px;
    line-height: 1.85;
}

/* Product detail visibility correction */
.product-showcase,
.product-showcase section {
    color: var(--ch-text) !important;
}
.product-showcase h1,
.product-showcase h2,
.product-showcase h3,
.product-showcase h4,
.product-showcase .product-showcase-copy h1,
.product-showcase .product-narrative h2,
.product-showcase .product-feature-grid h3,
.product-showcase .product-package-summary strong,
.product-showcase .payment-heading h2,
.product-showcase .payment-choice h3,
.product-showcase .manual-form-intro h3,
.product-showcase .ch-section-head h2,
.product-showcase .ch-product-meta strong {
    color: var(--ch-text) !important;
}
.product-showcase .product-showcase-copy > p,
.product-showcase .product-description,
.product-showcase .product-description p,
.product-showcase .product-feature-grid p,
.product-showcase .product-delivery-grid li,
.product-showcase .payment-heading p,
.product-showcase .payment-choice > p,
.product-showcase .payment-choice > ul,
.product-showcase .manual-form-intro p,
.product-showcase .ch-product-card > p {
    color: #adbbb5 !important;
}
.product-showcase .ch-kicker,
.product-showcase .product-text-link,
.product-showcase .product-stage-link,
.product-showcase .ch-card-actions a {
    color: var(--ch-gold) !important;
}
.product-showcase .product-assurance span,
.product-showcase .product-breadcrumb,
.product-showcase .product-package-summary > span {
    color: #80938b !important;
}
.product-showcase .product-package-summary p {
    color: #adbbb5 !important;
}
.product-showcase .ch-tech-tags span {
    color: var(--ch-gold) !important;
}
.product-showcase .manual-field label {
    color: var(--ch-text) !important;
}
