.cc-section{max-width:1400px;margin:0 auto;padding:clamp(70px,10vw,150px) clamp(20px,5vw,80px)}.cc-eyebrow{margin:0 0 22px;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.cc-section h1,.cc-section h2,.cc-section h3{margin:0;letter-spacing:-.06em;line-height:.94}.cc-hero{max-width:none;display:grid;grid-template-columns:1fr 1fr;padding:0;background:var(--cc-pink);min-height:690px}.cc-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(55px,8vw,130px)}.cc-hero h1{font-size:clamp(4rem,9vw,9rem);max-width:700px}.cc-lead{max-width:490px;margin:32px 0;line-height:1.7;font-size:1.05rem}.cc-hero-art{min-height:520px;background:var(--cc-ink);overflow:hidden}.cc-hero-art img{width:100%;height:100%;object-fit:cover;opacity:.86}.cc-button{display:inline-flex;width:max-content;padding:15px 22px;border:1px solid var(--cc-ink);border-radius:999px;text-decoration:none;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.cc-button-dark{background:var(--cc-ink);color:var(--cc-paper);border-color:var(--cc-ink)}.cc-about{display:grid;grid-template-columns:.35fr 1fr;gap:clamp(35px,8vw,150px);background:var(--cc-paper)}.cc-about h2,.cc-formats h2,.cc-contact h2{font-size:clamp(3rem,7vw,7rem)}.cc-about p:not(.cc-eyebrow),.cc-contact p{max-width:650px;font-size:1.1rem;line-height:1.8}.cc-formats{background:var(--cc-ink);color:var(--cc-paper)}.cc-formats .cc-eyebrow,.cc-lineup .cc-eyebrow,.cc-packages .cc-eyebrow{color:var(--cc-pink)}.cc-format-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,248,251,.35);border-left:1px solid rgba(255,248,251,.35);margin-top:60px}.cc-format-grid article{min-height:310px;padding:32px;border-right:1px solid rgba(255,248,251,.35);border-bottom:1px solid rgba(255,248,251,.35)}.cc-format-grid span,.cc-lineup span,.cc-package-list>article>span{color:var(--cc-pink);font-size:11px;font-weight:900;letter-spacing:.16em}.cc-format-grid h3{font-size:clamp(2rem,4vw,4.5rem);margin:60px 0 20px}.cc-format-grid p,.cc-package-list p{max-width:450px;line-height:1.7;color:rgba(255,248,251,.76)}.cc-lineup{background:var(--cc-pink)}.cc-lineup h2,.cc-packages h2{font-size:clamp(3.2rem,7vw,7rem);max-width:820px}.cc-lineup-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--cc-line);border-left:1px solid var(--cc-line)}.cc-lineup-grid article{min-height:220px;padding:24px;border-right:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}.cc-lineup-grid h3{font-size:clamp(1.4rem,2.5vw,2.4rem);margin-top:60px}.cc-lineup-grid p{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cc-video{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;background:var(--cc-paper)}.cc-video h2{font-size:clamp(3rem,6vw,6rem)}.cc-video-frame{min-height:430px;background:var(--cc-ink);display:flex;align-items:center;justify-content:center}.cc-video-frame video{width:100%;height:100%;min-height:430px;object-fit:cover}.cc-image-placeholder{display:grid;place-items:center;color:var(--cc-pink);padding:30px;text-align:center;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cc-packages{background:var(--cc-ink);color:var(--cc-paper)}.cc-package-list{margin-top:60px;border-top:1px solid rgba(255,248,251,.35)}.cc-package-list article{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:30px 0;border-bottom:1px solid rgba(255,248,251,.35)}.cc-package-list h3{font-size:clamp(1.7rem,3vw,3rem)}.cc-contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:var(--cc-pink)}.cc-contact-email{font-size:12px!important;font-weight:800;letter-spacing:.1em}.cc-contact p{max-width:500px}@media(max-width:760px){.cc-hero,.cc-about,.cc-video,.cc-contact{grid-template-columns:1fr}.cc-hero-art{min-height:320px;order:-1}.cc-format-grid,.cc-lineup-grid{grid-template-columns:1fr}.cc-lineup-grid article{min-height:180px}.cc-package-list article{grid-template-columns:55px 1fr}.cc-section{padding:70px 20px}}
/* Accessibility and image/card polish */
.cc-formats h2,.cc-formats h3,.cc-packages h2,.cc-packages h3{color:var(--cc-paper)}
.cc-format-grid article{position:relative;overflow:hidden}.cc-format-image{height:230px;margin:-32px -32px 28px;overflow:hidden;background:#2b2530}.cc-format-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.elementor-widget-cc-hero,.elementor-widget-cc-about,.elementor-widget-cc-formats,.elementor-widget-cc-lineup,.elementor-widget-cc-video,.elementor-widget-cc-packages,.elementor-widget-cc-contact{width:100%}
/* 1.0.3 layout correction: allow each addon to span the actual page canvas. */
.cc-section{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding-left:max(24px,calc((100vw - 1280px)/2))!important;padding-right:max(24px,calc((100vw - 1280px)/2))!important}
.cc-hero{min-height:clamp(620px,68vw,820px)!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.cc-hero-art{height:clamp(620px,68vw,820px)!important;min-height:auto}
.cc-hero-art img{display:block!important;width:100%!important;height:100%!important;min-height:auto;object-fit:cover!important;object-position:center!important}
.cc-formats h2,.cc-formats h3,.cc-formats p,.cc-packages h2,.cc-packages h3,.cc-packages p{color:#fff8fb!important}
.cc-formats{background:#17131a!important}
.cc-format-grid article{background:#211c24!important}
.cc-format-image{height:clamp(220px,26vw,360px)!important;margin:-32px -32px 32px!important}
.cc-format-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
@media(max-width:760px){.cc-section{width:100vw!important;padding-left:20px!important;padding-right:20px!important}.cc-hero{display:flex!important;flex-direction:column!important}.cc-hero-art{height:360px!important;order:-1}.cc-hero-copy{min-height:520px}}
/* Prevent hero copy crossing into the image and keep all responsive height controls usable. */
.cc-hero{overflow:hidden!important}.cc-hero-copy{min-width:0!important;overflow:hidden}.cc-hero h1{font-size:clamp(3rem,7vw,7rem)!important;overflow-wrap:anywhere;word-break:normal}.cc-hero .cc-lead{max-width:34rem}
/* 1.0.5 hero correction: preserve the complete image and keep copy inside its column. */
.cc-hero{align-items:stretch!important;min-height:auto!important}.cc-hero-copy{width:100%!important;max-width:100%!important;padding:clamp(42px,6vw,96px)!important}.cc-hero h1{width:100%!important;max-width:100%!important;font-size:clamp(2.8rem,5.4vw,6.2rem)!important;line-height:.96!important;letter-spacing:-.055em!important;overflow-wrap:break-word!important}.cc-hero-art{height:auto!important;min-height:auto;display:flex!important;align-items:flex-start!important;background:#17131a!important}.cc-hero-art img{height:auto!important;min-height:auto;width:100%!important;object-fit:contain!important;object-position:center top!important;align-self:flex-start!important}
@media(max-width:760px){.cc-hero-copy{padding:46px 24px!important}.cc-hero h1{font-size:clamp(3rem,13vw,5.2rem)!important}.cc-hero-art{height:auto!important}.cc-hero-art img{height:auto!important;object-fit:contain!important}}
/* Let Elementor's Height Adjustment control both increase and decrease section height. */
.cc-hero{min-height:auto}
.cc-hero-art{height:100%!important;min-height:auto}
.cc-hero-art img{height:100%!important;object-fit:cover!important}
@media(max-width:760px){.cc-hero-art{height:100%!important}.cc-hero-art img{height:100%!important}}
/* Prevent collapsed Elementor sections when the slider is left at its natural/default value. */
.cc-section{height:auto!important}
.cc-hero{height:auto!important;overflow:visible!important}
.cc-hero-art{height:auto!important;min-height:360px!important}
.cc-hero-art img{height:auto!important;min-height:360px!important;object-fit:cover!important}
@media(max-width:760px){.cc-hero-art,.cc-hero-art img{height:auto!important;min-height:260px!important}}
/* Final hero fix: no title clipping and no bottom crop. */
.cc-hero-copy{overflow:visible!important;min-width:0!important;padding:clamp(40px,5vw,82px)!important}
.cc-hero h1{font-size:clamp(2.35rem,4.25vw,5rem)!important;line-height:.98!important;letter-spacing:-.045em!important;max-width:100%!important;width:100%!important;white-space:normal!important;overflow:visible!important;word-break:normal!important;overflow-wrap:anywhere!important}
.cc-hero-art{height:auto!important;min-height:0!important;align-items:flex-start!important;background:#17131a!important;overflow:hidden!important}
.cc-hero-art img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:center top!important}
@media(max-width:760px){.cc-hero h1{font-size:clamp(2.7rem,12vw,4.8rem)!important}.cc-hero-art,.cc-hero-art img{height:auto!important;min-height:0!important;object-fit:contain!important}}
/* Hero finish: pink bleed below the image, with the full image frame preserved. */
.cc-hero{background:var(--cc-pink)!important;overflow:visible!important}
.cc-hero-art{background:var(--cc-pink)!important;padding:0 0 clamp(28px,4vw,64px)!important;box-sizing:border-box!important;overflow:visible!important;align-self:stretch!important}
.cc-hero-art img{background:#17131a!important;object-fit:contain!important;object-position:center top!important}
@media(max-width:760px){.cc-hero-art{padding-bottom:30px!important}}
/* Remove Elementor's inter-widget gap so the pink hero flows cleanly into the next section. */
.cc-content,.elementor-page .cc-content{background:var(--cc-pink)!important}.cc-content .elementor-widget{margin-bottom:0!important}.cc-content .elementor-element{margin-block-end:0!important}.cc-hero+.cc-formats{margin-top:0!important}
/* Elementor owns min-height now; the Height Adjustment slider can override it. */
.cc-section{min-height:initial}
