:root {
    --cgano-mint: #3FB498;
    --cgano-mint-ink: #145E4D;
}

.lp-header-inner { gap: 16px; }
.lp-brand { gap: 12px; }
.cgano-brand { display: inline-flex; align-items: center; gap: 8px; color: var(--blue); text-decoration: none; }
.cgano-brand img { width: 58px; height: 42px; object-fit: contain; }
.cgano-brand span { font-family: var(--font-display); font-size: 13px; font-weight: 800; }
.lp-nav a { white-space: nowrap; padding: 9px; }
.lp-header-cta { min-height: 44px; flex-shrink: 0; }
.lp-hero { padding-top: 34px; padding-bottom: 130px; background: linear-gradient(160deg, #22366E 0%, #304B9A 48%, #218872 85%, #DFF4EB 100%); }
.lp-hero-partner { background: #fff; max-width: 100%; }
.lp-hero-partner img { width: 42px; height: 30px; flex: 0 0 42px; object-fit: contain; }
.lp-hero-partner span { color: var(--blue-dark); }
.lp-h1 em { color: #A7F0DC; }
.lp-hero-note { color: rgba(255,255,255,.9); }
.lp-ctas { gap: 20px; }
.lp-cta-card:not(.is-primary) { background: #203969; border-color: rgba(255,255,255,.35); }
.lp-cta-card:not(.is-primary):hover { background: #284780; }
.lp-cta-card .cc-btn { min-height: 44px; justify-content: space-between; }
.lp-hero-mobile .is-secondary { background: #203969; border: 1px solid rgba(255,255,255,.8); color: #fff; box-shadow: none; }
.lp-trust-brand { background: #EDF8F4; }
.lp-trust-brand img { width: 108px; height: 77px; object-fit: contain; }
.lp-trust-body h2 { font-size: 28px; }

.cgano-portfolio { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; align-items: start; }
.portfolio-intro { min-width: 0; }
.portfolio-label { color: var(--cgano-mint-ink); font-weight: 700; font-size: 15px; display: block; margin-bottom: 12px; }
.portfolio-intro .lp-h2 { font-size: 32px; line-height: 1.16; }
.portfolio-intro p { color: var(--text-secondary); font-size: 16px; line-height: 1.6; margin: 18px 0 24px; }
.portfolio-intro .lp-btn { white-space: normal; text-align: left; }
.portfolio-steps { counter-reset: portfolio; list-style: none; }
.portfolio-steps li { counter-increment: portfolio; position: relative; padding: 0 0 22px 48px; margin-bottom: 20px; border-bottom: 1px solid var(--gray-300); }
.portfolio-steps li::before { content: counter(portfolio, decimal-leading-zero); position: absolute; left: 0; top: 0; color: var(--cgano-mint-ink); font: 800 24px/1.2 var(--font-display); }
.portfolio-steps h3 { font: 800 18px/1.25 var(--font-display); color: var(--blue-dark); margin-bottom: 8px; }
.portfolio-steps p { font-size: 15px; line-height: 1.6; color: var(--text-secondary); }
.portfolio-privacy { font-size: 13px; line-height: 1.5; color: var(--text-secondary); }

.lp-close-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 26px; }
.lp-close-grid > * { min-width: 0; }
.lp-close-btns { grid-column: 1 / -1; display: flex; flex-direction: row; min-width: 0; }
.lp-close-btn { width: auto; min-height: 48px; }
.lp-close-btn.secondary { color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.7); }
.cgano-contact-brand > img { width: 70px; height: 58px; padding: 7px; background: #fff; border-radius: 6px; object-fit: contain; flex-shrink: 0; }
.cgano-contact-brand a { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-size: 15px; text-underline-offset: 4px; }
.lp-footer-brand .partner-footer-logo { height: 38px; width: 54px; object-fit: contain; }

.cgano-dialog { width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; margin: auto; padding: 32px; border: 0; border-radius: 8px; background: #fff; color: var(--text-primary); box-shadow: 0 20px 70px rgba(17,37,65,.3); }
.cgano-dialog::backdrop { background: rgba(17,37,65,.64); }
.cgano-dialog-close { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border: 0; border-radius: 6px; background: var(--blue-pale); color: var(--blue); font-size: 28px; cursor: pointer; }
.cgano-dialog-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 25px; color: var(--blue); font-weight: 700; }
.cgano-dialog-brand img { width: 48px; height: 36px; }
.cgano-dialog h2 { font: 900 26px/1.15 var(--font-display); margin-bottom: 16px; max-width: 95%; }
.cgano-dialog p { color: var(--text-secondary); font-size: 16px; line-height: 1.6; }
.cgano-dialog-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 24px 0 14px; }
.cgano-form-link { display: inline-flex; gap: 6px; align-items: center; min-height: 44px; color: var(--blue); font-size: 15px; font-weight: 700; text-underline-offset: 4px; }
.cgano-form-link svg { width: 16px; height: 16px; }
.cgano-dialog-details a { display: inline-flex; align-items: center; min-height: 44px; color: var(--blue); text-underline-offset: 4px; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--cgano-mint); outline-offset: 3px; }

@media (max-width: 980px) {
    .lp-nav { display: none; }
    .lp-header-cta { margin-left: auto; }
}
@media (max-width: 880px) {
    .cgano-portfolio { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 640px) {
    .lp-header-inner { gap: 8px; min-height: 60px; }
    .lp-brand { gap: 6px; }
    .cgano-brand { gap: 5px; }
    .cgano-brand img { width: 40px; height: 30px; }
    .cgano-brand span { width: 47px; font-size: 10px; line-height: 1.1; }
    .lp-header-cta { padding: 8px; font-size: 11px; gap: 5px; }
    .lp-header-cta::before { content: none; }
    .lp-hero { height: auto; min-height: 0; padding-bottom: 130px; }
    .lp-clouds { opacity: .3; }
    .lp-hero-sub { font-size: 15px; }
    .lp-hero-mobile { gap: 10px; }
    .lp-hero-mobile-cta { width: 100%; min-height: 48px; margin: 0; padding: 12px 14px; font-size: 13px; justify-content: space-between; }
    .lp-hero-stat { display: none; }
    .lp-waves3d { height: 120px; }
    .lp-trust-card { padding: 0; }
    .lp-trust-brand, .lp-trust-body { padding: 24px 20px; }
    .lp-trust-body h2 { font-size: 25px; }
    .lp-trust-brand { border-right: 0; border-bottom: 1px solid var(--gray-200); }
    .cgano-portfolio { padding-left: 10px; padding-right: 10px; }
    .portfolio-intro .lp-h2 { font-size: 28px; }
    .portfolio-intro .lp-btn { width: 100%; }
    .lp-close-grid { grid-template-columns: 1fr; }
    .lp-close-btns { flex-direction: column; }
    .lp-close-btn { width: 100%; font-size: 13px; }
    .lp-footer-brand { flex-wrap: wrap; }
    .cgano-dialog { padding: 26px 20px; }
    .cgano-dialog-actions { align-items: stretch; flex-direction: column; }
    .cgano-dialog-actions .lp-btn { justify-content: center; }
}
@media (max-width: 360px) {
    .lp-h1 { font-size: 30px; }
}
@media (max-width: 920px) and (max-height: 560px) {
    .lp-header-cta { font-size: 12px; }
    .lp-header-cta::before { content: none; }
    .lp-hero { height: auto; min-height: 0; padding-bottom: 80px; }
    .lp-hero-stat { display: none; }
    .lp-hero-mobile { flex-direction: row; flex-wrap: wrap; gap: 10px; }
    .lp-hero-mobile-cta { min-width: 0; width: auto; min-height: 44px; margin-top: 0; }
    .lp-waves3d { height: 76px; }
}
