/* Scoped promotion pages. Shared button geometry remains authoritative. */
.csg-promo{--promo-brand:var(--csg-htvc-color,#1769e0);font-family:'Be Vietnam Pro',sans-serif;color:#102b50;padding:0;overflow-wrap:anywhere}
.csg-promo-vtvcab{--promo-brand:var(--csg-vtvcab-color,#c81925)}
.csg-promo section{padding-block:68px;scroll-margin-top:100px}
.csg-promo .wrap{width:min(1200px,calc(100% - 40px));max-width:1200px;margin-inline:auto}
.csg-promo h1{font-size:40px;line-height:1.3;letter-spacing:-.035em;margin:22px 0}
.csg-promo h2{font-size:30px;line-height:1.3;margin:0 0 28px}
.csg-promo h3{font-size:24px;line-height:1.3;margin:16px 0}
.csg-promo h4{font-size:24px;line-height:1.3;color:#102b50;letter-spacing:-.025em}
.csg-promo p,.csg-promo li{line-height:1.65}
.csg-promo p{color:#526581}
.csg-promo-hero{background:linear-gradient(120deg,#eff6ff,#fff)}
.csg-promo-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;margin-bottom:32px}
.csg-promo-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.csg-promo-hero-grid{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:40px;align-items:center}
.csg-promo-brand{display:inline-flex;align-items:center;color:var(--promo-brand);font-weight:800;font-size:24px}
.csg-promo-brand img{width:auto;max-width:180px;height:60px;object-fit:contain}
.csg-promo .csg-promo-button{background:#ff5948;color:#102b50;border-color:#ff5948;white-space:normal}
.csg-promo .csg-promo-button:hover{background:#ff796b;border-color:#ff796b}
.csg-promo .button-outline{background:transparent;color:#102b50;border:1px solid #b8c7db;white-space:normal}
.csg-promo :is(button,a,summary):focus-visible{outline:3px solid var(--promo-brand);outline-offset:4px}
.csg-promo-media{min-width:0;border-radius:28px;overflow:hidden;aspect-ratio:6/5;background:#eff6ff}
.csg-promo-media>img{width:100%;height:100%;object-fit:cover}
.csg-promo-art{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(circle at 70% 20%,#fff 0 12%,transparent 13%),linear-gradient(145deg,#fff,#dceafb)}
.csg-promo-art strong{font-size:clamp(40px,6vw,72px);color:var(--promo-brand)}
.csg-promo-art>span:first-child{width:90px;height:90px;display:grid;place-items:center;border-radius:24px;background:var(--promo-brand);color:white;font-size:56px}
.csg-promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.csg-promo-grid:has(> :only-child){grid-template-columns:1fr}
.csg-promo-grid:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.csg-promo-card,.csg-promo-empty{min-width:0;padding:28px;border:1px solid #e4eaf2;border-radius:20px;background:white;box-shadow:0 8px 28px #102b5006}
.csg-promo-card{display:flex;flex-direction:column;align-items:flex-start}
.csg-promo-card>.button{margin-top:auto}
.csg-promo-badge{font-size:13px;font-weight:700;color:var(--promo-brand);padding:6px 10px;border-radius:8px;background:#f7f9fc}
.csg-promo-package ul{padding-left:22px}
.csg-promo-package details{margin:12px 0 24px;width:100%}
.csg-promo summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}
.csg-promo-surface{background:#f7f9fc}
.csg-promo-condition,.csg-promo-package-details{padding:28px;border:1px solid #e4eaf2;border-radius:16px;scroll-margin-top:100px;margin-bottom:20px}
.csg-promo-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.csg-promo-steps li{position:relative}
.csg-promo-steps li:not(:last-child):after{content:'';height:1px;position:absolute;left:64px;right:-16px;top:24px;background:#d4deed}
.csg-promo-steps span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--promo-brand);color:white;font-weight:700}
.csg-promo-steps h3{font-size:20px}
.csg-promo-faq{max-width:850px!important}
.csg-promo-faq details{padding:12px 20px;border:1px solid #e4eaf2;border-radius:12px;margin-bottom:12px;background:#fff}
.csg-promo-faq summary:hover{color:var(--promo-brand)}
.csg-promo-faq details[open]{background:#f7f9fc}
.csg-promo-final{background:#102b50;color:white;text-align:center}
.csg-promo-final h2{color:white}.csg-promo-final p{color:#dce6f4;max-width:680px;margin:0 auto 28px}
.csg-promo-final .csg-promo-actions{justify-content:center}
.csg-promo-final .button-outline{color:#fff;border-color:#a5b8d0}
.csg-promo-final .button-outline:hover{background:#fff;color:#102b50}
.csg-promo .csg-promo-eyebrow{font-size:13px;font-weight:700;color:var(--promo-brand);margin:0 0 10px}
.csg-promo-section-heading{max-width:800px;margin-bottom:32px}
.csg-promo-section-heading h2{margin-bottom:16px}
.csg-promo-section-heading p:last-child{margin-bottom:0}
.csg-promo .csg-promo-hero-note{font-size:14px;padding-left:14px;border-left:3px solid var(--promo-brand)}
.csg-promo-offer-grid.is-single .csg-promo-offer{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:stretch;padding:36px}
.csg-promo-offer-copy,.csg-promo-offer-info{min-width:0}
.csg-promo-offer-info{display:flex;flex-direction:column;width:100%;padding:24px;border-radius:14px;background:#f7f9fc}
.csg-promo-offer-info dl{margin:0}
.csg-promo-offer-info dl>div+div{margin-top:18px}
.csg-promo-offer-info dt{font-size:13px;color:#526581;margin-bottom:6px}
.csg-promo-offer-info dd{font-size:16px;font-weight:600;margin:0;line-height:1.65}
.csg-promo-offer-info .csg-promo-actions{margin-top:auto;padding-top:24px}
.csg-promo-offer-grid:not(.is-single) .csg-promo-offer-info{margin-top:auto}
.csg-promo-offer-grid:not(.is-single) .csg-promo-offer-copy{padding-bottom:20px}
.csg-promo-details-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--promo-brand);font-size:14px;font-weight:600}
.csg-promo-empty{display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:none}
.csg-promo-empty h3{font-size:20px;margin-top:0}
.csg-promo-empty p{margin-bottom:0}
.csg-promo-service-group+.csg-promo-service-group{margin-top:40px}
.csg-promo .csg-promo-service-heading{font-size:22px;border-left:3px solid var(--promo-brand);padding-left:14px;margin:0 0 24px}
.csg-promo-package-grid:has(> :only-child){max-width:760px}
.csg-promo .csg-promo-meta{font-size:13px;line-height:1.65}
.csg-promo-detail-price{font-weight:700;color:#102b50!important}
.csg-promo-consultation{padding-top:0!important}
.csg-promo-consultation-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px;background:#eff6ff;border:1px solid #e4eaf2;border-radius:20px}
.csg-promo-consultation-inner>div{max-width:680px}
.csg-promo-consultation-inner h2{margin-bottom:14px}
.csg-promo-consultation-inner p{margin-bottom:0}
.csg-promo-consultation-inner>.button{flex-shrink:0}
@media(max-width:1023px){.csg-promo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.csg-promo-hero-grid{gap:24px}.csg-promo h1{font-size:34px}}
@media(max-width:767px){.csg-promo section{padding-block:44px}.csg-promo .wrap{width:calc(100% - 32px)}.csg-promo h1{font-size:28px}.csg-promo h2{font-size:24px}.csg-promo h3{font-size:20px}.csg-promo-hero-grid,.csg-promo-grid,.csg-promo-grid:has(> :nth-child(2):last-child),.csg-promo-steps{grid-template-columns:1fr}.csg-promo-media{aspect-ratio:3/2}.csg-promo-breadcrumb{margin-bottom:24px}.csg-promo-actions{align-items:stretch;flex-direction:column}.csg-promo-actions .button{justify-content:center;text-align:center}.csg-promo-card{padding:24px}.csg-promo-steps li{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start}.csg-promo-steps h3{margin:10px 0}.csg-promo-steps li:not(:last-child):after{left:24px;top:56px;bottom:-24px;width:1px;height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.csg-promo *{scroll-behavior:auto;transition:none}}
@media(max-width:1023px){.csg-promo-consultation-inner{align-items:flex-start;flex-direction:column}.csg-promo-offer-grid.is-single .csg-promo-offer{gap:24px;padding:28px}}
@media(max-width:767px){.csg-promo-offer-grid.is-single .csg-promo-offer{grid-template-columns:1fr;padding:24px}.csg-promo-offer-info{padding:20px}.csg-promo-empty{align-items:flex-start;flex-direction:column}.csg-promo-consultation-inner,.csg-promo-condition,.csg-promo-package-details{padding:24px}.csg-promo-consultation-inner>.button{width:100%}.csg-promo-final .csg-promo-actions{align-items:stretch}.csg-promo-faq details{padding-inline:16px}}
