.cc2-app{--cc-red:#c51d32;--cc-red2:#7d0d20;--cc-ivory:#24201e;--cc-muted:#6f6863;--cc-line:rgba(36,32,30,.16);--cc-bg:#F7F3ED;width:100%;max-width:1440px;margin:0 auto;color:var(--cc-ivory);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.cc2-app *{box-sizing:border-box}.cc2-form{position:relative;width:100%;min-height:100svh;overflow:hidden;background:#F7F3ED;border:1px solid rgba(36,32,30,.16);isolation:isolate}
.cc2-form:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0,rgba(36,32,30,.025) 50%,transparent 100%);z-index:-1}
.cc2-top{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:18px 28px;font-size:10px;letter-spacing:.2em;color:rgba(243,235,225,.5)}.cc2-exit{border:0;background:none;color:rgba(243,235,225,.5);font-size:10px;letter-spacing:.15em;cursor:pointer}.cc2-progress{position:absolute;top:48px;left:28px;right:28px;height:2px;background:rgba(255,255,255,.07);z-index:10}.cc2-progress span{display:block;width:0;height:100%;background:var(--cc-red);transition:width .35s ease}
.cc2-screen{display:none;position:relative;min-height:100svh;padding:105px clamp(24px,7vw,110px) 70px;flex-direction:column;justify-content:center;animation:ccIn .35s ease both}.cc2-screen.is-active{display:flex}@keyframes ccIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cc2-brand{font:400 22px/1 Georgia,serif;margin-bottom:clamp(50px,8vh,105px)}.cc2-brand i,.cc2-screen h1 i,.cc2-screen h2 i,.cc2-success h2 i{color:var(--cc-red);font-style:italic}
.cc2-eyebrow{font-size:10px;line-height:1;letter-spacing:.25em;color:var(--cc-red);font-weight:600;margin-bottom:24px}.cc2-screen h1,.cc2-screen h2,.cc2-success h2{font:400 clamp(42px,6vw,78px)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:0;max-width:1000px}.cc2-screen p{font:400 clamp(16px,1.4vw,19px)/1.6 Georgia,serif;color:#bcaea8;max-width:760px;margin:24px 0}
.cc2-meta{font-size:10px;letter-spacing:.16em;color:rgba(243,235,225,.5);margin-top:4px}.cc2-meta b{color:var(--cc-red);padding:0 8px}
.cc2-btn{align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;background:var(--cc-red);border:1px solid var(--cc-red);border-radius:0;color:#fff!important;text-decoration:none!important;font-size:10px;font-weight:700;letter-spacing:.16em;cursor:pointer;transition:transform .2s,background .2s,border .2s}.cc2-btn:hover{transform:translateY(-2px);background:#e02640;border-color:#e02640}.cc2-screen>.cc2-btn{margin-top:34px}.cc2-screen .cc2-nav{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}.cc2-nav .cc2-back{background:transparent;border-color:rgba(243,235,225,.25);color:var(--cc-ivory)!important}
.cc2-help{font-size:15px!important;color:var(--cc-muted)!important;margin:12px 0 24px!important}.cc2-question{max-width:1050px;margin:0 0 22px}.cc2-question[data-condition]{display:block}.cc2-question.cc2-hidden{display:none}
.cc2-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:1050px}.cc2-option{position:relative;display:flex;align-items:center;min-height:64px;padding:15px 18px;border:1px solid var(--cc-line);background:rgba(255,255,255,.025);cursor:pointer;transition:.2s}.cc2-option:hover{border-color:rgba(197,29,50,.7);background:rgba(125,13,32,.16)}.cc2-option:has(input:checked){border-color:var(--cc-red);background:rgba(125,13,32,.3);box-shadow:inset 3px 0 0 var(--cc-red)}.cc2-option input{position:absolute;opacity:0;pointer-events:none}.cc2-option span{font-size:14px;line-height:1.4}
.cc2-checks{grid-template-columns:repeat(3,minmax(0,1fr))}
.cc2-field{display:block;max-width:800px;margin:0 0 22px}.cc2-field>span{display:block;margin-bottom:8px;font-size:10px;letter-spacing:.17em;text-transform:uppercase}.cc2-field input,.cc2-field textarea,.cc2-field select{width:100%;padding:15px 16px;border:1px solid var(--cc-line);border-radius:0;outline:0;background:rgba(255,255,255,.035);color:var(--cc-ivory);font:15px/1.4 Inter,system-ui,sans-serif}.cc2-field input,.cc2-field select{min-height:54px}.cc2-field textarea{min-height:145px;resize:vertical}.cc2-field input:focus,.cc2-field textarea:focus,.cc2-field select:focus{border-color:var(--cc-red);box-shadow:0 0 0 1px rgba(197,29,50,.18)}
.cc2-error{color:#ff8996;font-size:12px;margin-top:7px}.cc2-invalid{border-color:#d94a5d!important}
.cc2-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;border-top:1px solid var(--cc-line);margin-top:24px}.cc2-review-item{padding:17px 0;border-bottom:1px solid var(--cc-line)}.cc2-review-item:nth-child(even){padding-left:24px;border-left:1px solid var(--cc-line)}.cc2-review-item small{display:block;color:var(--cc-red);font-size:9px;letter-spacing:.16em;margin-bottom:6px}.cc2-review-item strong{font:400 18px Georgia,serif}
.cc2-success{display:none;min-height:100svh;padding:100px clamp(24px,7vw,110px);background:radial-gradient(circle at 15% 15%,rgba(111,11,29,.75),transparent 35%),linear-gradient(135deg,#19080b,#090708);border:1px solid rgba(197,29,50,.55);flex-direction:column;justify-content:center}.cc2-success[hidden]{display:none!important}.cc2-success h2{margin:0}.cc2-success p{font:18px/1.6 Georgia,serif;color:var(--cc-muted);max-width:650px;margin:24px 0 30px}.cc2-success .cc2-btn{align-self:flex-start}
@media(max-width:900px){.cc2-screen{padding:100px 40px 55px}.cc2-options{grid-template-columns:1fr 1fr}.cc2-checks{grid-template-columns:1fr 1fr}.cc2-screen h1,.cc2-screen h2{font-size:clamp(40px,7vw,62px)}}
@media(max-width:600px){.cc2-form,.cc2-success{border-left:0;border-right:0}.cc2-top{padding:14px 18px}.cc2-progress{top:40px;left:18px;right:18px}.cc2-screen{min-height:100svh;padding:78px 18px 30px;justify-content:flex-start}.cc2-screen.is-active{padding-top:90px}.cc2-brand{font-size:19px;margin-bottom:48px}.cc2-eyebrow{font-size:9px;margin-bottom:17px}.cc2-screen h1,.cc2-screen h2,.cc2-success h2{font-size:clamp(38px,12vw,54px);line-height:1}.cc2-screen p{font-size:16px;margin:18px 0}.cc2-meta{font-size:9px;line-height:1.6}.cc2-options,.cc2-checks{grid-template-columns:1fr;gap:8px}.cc2-option{min-height:58px;padding:13px 15px}.cc2-field{max-width:none}.cc2-nav{margin-top:auto!important;padding-top:18px}.cc2-nav .cc2-btn{flex:1;min-width:0;padding:0 12px;font-size:9px}.cc2-review{grid-template-columns:1fr}.cc2-review-item:nth-child(even){padding-left:0;border-left:0}.cc2-btn{min-height:50px;padding:0 18px}.cc2-screen>.cc2-btn{align-self:flex-end}.cc2-success{min-height:100svh;padding:80px 20px}.cc2-success .cc2-btn{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.cc2-screen{animation:none}.cc2-option,.cc2-btn{transition:none}}

/* Production guided popup interaction */
.cc2-popup-enter{animation:ccConsultationPopupIn .48s cubic-bezier(.2,.78,.2,1) both!important}
@keyframes ccConsultationPopupIn{
  0%{opacity:0;transform:translateY(24px) scale(.975);filter:blur(3px)}
  60%{opacity:1}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
.cc2-popup-mode .cc2-screen{will-change:transform,opacity}
.cc2-popup-mode .cc2-option{cursor:pointer;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.cc2-popup-mode .cc2-option:hover{transform:translateY(-2px)}
.cc2-popup-mode .cc2-option:active{transform:scale(.985)}
.cc2-popup-mode .cc2-question.cc2-hidden{display:none!important}
.cc2-privacy-note{font-size:13px!important;opacity:.7}
.cc2-privacy-note a{color:inherit;text-decoration:underline}
@media(max-width:767px){
  .cc2-popup-mode{min-height:100svh}
  .cc2-popup-mode .cc2-screen{padding:30px 20px 28px}
  .cc2-popup-mode .cc2-options{grid-template-columns:1fr!important}
  .cc2-popup-mode .cc2-option{min-height:58px;width:100%}
  .cc2-popup-mode h1{font-size:clamp(32px,9vw,52px)}
  .cc2-popup-mode h2{font-size:clamp(28px,8vw,44px)}
  .cc2-popup-mode .cc2-nav{gap:10px;flex-wrap:wrap}
  .cc2-popup-mode .cc2-nav .cc2-btn{min-height:52px}
}
@media(prefers-reduced-motion:reduce){
  .cc2-popup-enter{animation:none!important}
  .cc2-popup-mode .cc2-option{transition:none}
}

/* =========================================================
   V4 — SECTION-BY-SECTION EXPERIENCE
   No modal. No popup. No carousel.
   The next full-screen section is revealed after selection.
   ========================================================= */
.cc2-app{max-width:none;margin:0;background:#090708;color:var(--cc-ivory)}
.cc2-form{overflow:visible;min-height:100svh;border:0;border-left:1px solid rgba(197,29,50,.38);border-right:1px solid rgba(197,29,50,.38);border-radius:0}
.cc2-screen{
 display:none;
 min-height:100svh;
 padding:clamp(105px,10vw,145px) clamp(22px,7vw,120px) clamp(70px,8vw,110px);
 justify-content:center;
 overflow:hidden;
}
.cc2-screen.cc2-active{
 display:flex;
 animation:ccSectionReveal .62s cubic-bezier(.2,.75,.2,1) both;
}
@keyframes ccSectionReveal{
 0%{opacity:0;transform:translateY(34px)}
 100%{opacity:1;transform:translateY(0)}
}
.cc2-screen[data-screen="0"]{display:none}
.cc2-screen[data-screen="0"].cc2-active{display:flex}
.cc2-screen[data-screen="review"]{display:none}
.cc2-screen[data-screen="review"].cc2-active{display:flex}
.cc2-top{position:fixed;z-index:50;top:0;left:0;right:0;max-width:none;background:rgba(9,7,8,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(243,235,225,.07)}
.cc2-progress{position:fixed;z-index:51;top:48px;left:0;right:0;height:2px;background:rgba(255,255,255,.08)}
.cc2-progress span{height:100%;transition:width .45s cubic-bezier(.2,.75,.2,1)}
.cc2-options{max-width:1080px}
.cc2-option{min-height:68px;background:rgba(243,235,225,.025);border-color:rgba(243,235,225,.14)}
.cc2-option span{font-family:Inter,system-ui,sans-serif;font-size:13px;letter-spacing:.01em}
.cc2-option:hover{transform:translateY(-2px);border-color:rgba(197,29,50,.8);background:rgba(125,13,32,.15)}
.cc2-option:has(input:checked){transform:none}
.cc2-nav{max-width:1080px;width:100%;margin-top:38px!important;display:flex;gap:10px;justify-content:flex-end;align-items:center}
.cc2-nav .cc2-btn{margin-top:0!important}
.cc2-skip{background:transparent;border-color:rgba(243,235,225,.22);color:var(--cc-ivory)!important}
.cc2-field-visible{display:block!important;animation:ccFieldReveal .4s ease both}
@keyframes ccFieldReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cc2-question[data-q="subject_name"] .cc2-field{display:none}
.cc2-question[data-q="subject_name"] .cc2-field-visible{display:block}
.cc2-question[data-q="subject_name"]{margin-top:24px}
.cc2-question.cc2-hidden{display:none!important}
.cc2-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.cc2-review{max-width:1080px}
.cc2-privacy-note a:hover{color:var(--cc-red)}
.cc2-success{max-width:none;min-height:100svh;border:0;border-left:1px solid rgba(197,29,50,.38);border-right:1px solid rgba(197,29,50,.38)}
@media(max-width:900px){
 .cc2-screen{padding:100px 40px 60px}
}
@media(max-width:600px){
 .cc2-top{padding:13px 18px}
 .cc2-progress{top:40px}
 .cc2-screen,.cc2-screen.is-active{min-height:100svh;padding:88px 18px 35px;justify-content:flex-start}
 .cc2-screen h1,.cc2-screen h2{font-size:clamp(38px,11vw,55px)}
 .cc2-options,.cc2-checks{grid-template-columns:1fr;gap:8px}
 .cc2-option{min-height:60px}
 .cc2-nav{margin-top:28px!important;flex-wrap:wrap}
 .cc2-nav .cc2-btn{flex:1;min-width:120px}
}
@media(prefers-reduced-motion:reduce){
 .cc2-screen.cc2-active,.cc2-field-visible{animation:none}
}

/* Reputation Control ivory editorial section system */
.cc2-form{background:#F7F3ED!important;color:#24201e!important;border-color:rgba(36,32,30,.16)!important}
.cc2-form:before{opacity:.5}
.cc2-top{color:rgba(36,32,30,.48)!important}
.cc2-exit{color:rgba(36,32,30,.55)!important}
.cc2-progress{background:rgba(36,32,30,.10)!important}
.cc2-screen{display:none!important;grid-template-columns:minmax(0,1fr);padding:0!important;min-height:100svh;justify-content:stretch!important}
.cc2-screen.cc2-active{display:grid!important}
.cc2-screen-content{min-width:0;padding:72px clamp(28px,7vw,110px) 70px;display:flex;flex-direction:column;justify-content:center}
.cc2-brand{color:#24201e!important}
.cc2-eyebrow{color:var(--cc-red)!important}
.cc2-screen h1,.cc2-screen h2,.cc2-success h2{color:#24201e!important}
.cc2-screen p,.cc2-contact-intro{color:#6f6863!important}
.cc2-meta{color:rgba(36,32,30,.52)!important}
.cc2-meta b{color:var(--cc-red)!important}
.cc2-option{background:rgba(36,32,30,.025)!important;border-color:rgba(36,32,30,.16)!important;color:#24201e}
.cc2-option:hover{background:rgba(197,29,50,.055)!important;border-color:rgba(197,29,50,.55)!important}
.cc2-option:has(input:checked){background:rgba(197,29,50,.08)!important;border-color:var(--cc-red)!important;box-shadow:inset 3px 0 0 var(--cc-red)!important}
.cc2-option span{color:#24201e}
.cc2-field>span{color:#24201e}
.cc2-field input,.cc2-field textarea,.cc2-field select{background:rgba(255,255,255,.28)!important;color:#24201e!important;border-color:rgba(36,32,30,.20)!important}
.cc2-field input::placeholder,.cc2-field textarea::placeholder{color:#8a817b}
.cc2-field input:focus,.cc2-field textarea:focus,.cc2-field select:focus{border-color:var(--cc-red)!important;box-shadow:0 0 0 1px rgba(197,29,50,.16)!important}
.cc2-btn{background:var(--cc-red)!important;border-color:var(--cc-red)!important;color:#fff!important}
.cc2-nav .cc2-back{background:transparent!important;color:#24201e!important;border-color:rgba(36,32,30,.24)!important}
.cc2-review{border-color:rgba(36,32,30,.16)!important}
.cc2-review-item{border-color:rgba(36,32,30,.16)!important}
.cc2-review-item strong{color:#24201e}
.cc2-contact-intro{font-size:17px!important;max-width:700px!important}
.cc2-contact-visible{display:block!important;animation:ccFieldReveal .38s ease both}
.cc2-question.cc2-q-phone,.cc2-question.cc2-q-phone_either{display:none}
.cc2-question.cc2-q-phone.cc2-contact-visible,.cc2-question.cc2-q-phone_either.cc2-contact-visible{display:block}
@keyframes ccFieldReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:900px){
 .cc2-screen{grid-template-columns:minmax(0,1fr)!important}
 .cc2-screen-content{padding:80px 40px 55px}
}
@media(max-width:600px){
 .cc2-screen{grid-template-columns:minmax(0,1fr)!important;min-height:100svh}
 .cc2-screen-content{padding:78px 18px 30px}
 .cc2-screen h1,.cc2-screen h2,.cc2-success h2{font-size:clamp(34px,10vw,52px)}
 .cc2-option{min-height:58px}
 .cc2-nav{margin-top:28px!important}
}

/* ===== V6 FINAL OVERRIDES ===== */
.cc2-form{background:#F7F3ED!important;color:#24201e!important;border:1px solid rgba(36,32,30,.14)!important;overflow-x:hidden}
.cc2-form .cc2-screen{display:none!important;position:relative!important;grid-template-columns:minmax(0,1fr)!important;min-height:100svh!important;padding:0!important;justify-content:stretch!important;overflow:visible!important}
.cc2-form .cc2-screen.cc2-active{display:grid!important;animation:ccV6Reveal .55s cubic-bezier(.2,.75,.2,1) both!important}
.cc2-form .cc2-screen.is-active{display:none!important}
.cc2-form .cc2-screen.cc2-active.is-active{display:grid!important}
@keyframes ccV6Reveal{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
.cc2-form .cc2-screen-content{min-width:0!important;padding:82px clamp(30px,7vw,112px) 74px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.cc2-form .cc2-brand{color:#24201e!important}
.cc2-form .cc2-eyebrow{color:#c51d32!important}
.cc2-form .cc2-screen h1,.cc2-form .cc2-screen h2{color:#24201e!important}
.cc2-form .cc2-screen h1 i,.cc2-form .cc2-screen h2 i{color:#c51d32!important}
.cc2-form .cc2-screen p,.cc2-form .cc2-help,.cc2-form .cc2-contact-intro{color:#706963!important}
.cc2-form .cc2-option{background:rgba(36,32,30,.025)!important;border:1px solid rgba(36,32,30,.17)!important;color:#24201e!important;transition:all .25s ease!important}
.cc2-form .cc2-option:hover{background:rgba(197,29,50,.055)!important;border-color:rgba(197,29,50,.55)!important;transform:translateY(-1px)}
.cc2-form .cc2-option:has(input:checked){background:rgba(197,29,50,.075)!important;border-color:#c51d32!important;box-shadow:inset 3px 0 0 #c51d32!important}
.cc2-form .cc2-option span{color:#24201e!important}
.cc2-form .cc2-field input,.cc2-form .cc2-field textarea,.cc2-form .cc2-field select{background:rgba(255,255,255,.35)!important;color:#24201e!important;border:1px solid rgba(36,32,30,.20)!important}
.cc2-form .cc2-field input:focus,.cc2-form .cc2-field textarea:focus,.cc2-form .cc2-field select:focus{border-color:#c51d32!important;box-shadow:0 0 0 2px rgba(197,29,50,.10)!important}
.cc2-form .cc2-btn{background:#c51d32!important;border-color:#c51d32!important;color:#fff!important}
.cc2-form .cc2-nav .cc2-back{background:transparent!important;color:#24201e!important;border-color:rgba(36,32,30,.24)!important}
.cc2-form .cc2-question.cc2-hidden{display:none!important}
.cc2-form .cc2-question[data-condition]{max-width:1050px}
.cc2-form [data-screen="2"] .cc2-question:not(.cc2-hidden){margin-top:4px}
.cc2-form [data-screen="2"] .cc2-question:not(.cc2-hidden) h2{font-size:clamp(31px,4.3vw,54px);margin-top:0}
.cc2-form [data-screen="2"] .cc2-question:not(.cc2-hidden) .cc2-help{font-size:15px!important}
.cc2-form .cc2-contact-visible{display:block!important;animation:ccV6Field .35s ease both!important}
.cc2-form .cc2-question.cc2-q-phone,.cc2-form .cc2-question.cc2-q-phone_either{display:none}
.cc2-form .cc2-question.cc2-q-phone.cc2-contact-visible,.cc2-form .cc2-question.cc2-q-phone_either.cc2-contact-visible{display:block}
@keyframes ccV6Field{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cc2-form .cc2-review{border-color:rgba(36,32,30,.14)!important}
.cc2-form .cc2-review-item{border-color:rgba(36,32,30,.14)!important}
.cc2-form .cc2-review-item small{color:#706963!important}
.cc2-form .cc2-review-item strong{color:#24201e!important}
@media(max-width:900px){
 .cc2-form .cc2-screen{grid-template-columns:minmax(0,1fr)!important}
 .cc2-form .cc2-screen-content{padding:82px 42px 58px!important}
}
@media(max-width:600px){
 .cc2-form .cc2-screen{grid-template-columns:minmax(0,1fr)!important;min-height:100svh!important}
 .cc2-form .cc2-screen-content{padding:82px 18px 34px!important}
 .cc2-form .cc2-screen h1,.cc2-form .cc2-screen h2{font-size:clamp(34px,10vw,52px)!important}
 .cc2-form .cc2-option{min-height:58px!important;padding:14px 15px!important}
 .cc2-form .cc2-options{grid-template-columns:1fr!important}
 .cc2-form .cc2-nav{margin-top:28px!important;flex-wrap:wrap!important}
 .cc2-form .cc2-nav .cc2-btn{flex:1 1 130px!important}
}

/* =========================================================
   V7 — PRODUCTION EDITORIAL LAYOUT
   Opening / BEGIN remains dark. All form sections after BEGIN
   use #F7F3ED. Full-bleed and viewport-correct sizing.
   ========================================================= */
.cc2-app{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:0!important;
  overflow-x:clip!important;
  background:#090708!important;
}
.cc2-form{
  width:100%!important;
  max-width:none!important;
  min-height:100svh!important;
  margin:0!important;
  background:#090708!important;
  color:#F7F3ED!important;
  border:0!important;
}
.cc2-form .cc2-screen[data-screen="0"]{
  background:
    radial-gradient(circle at 8% 0%,rgba(112,8,27,.78),transparent 34%),
    radial-gradient(circle at 86% 70%,rgba(112,8,27,.62),transparent 36%),
    linear-gradient(120deg,#18080b 0%,#090708 50%,#1a060a 100%)!important;
  color:#F7F3ED!important;
}
.cc2-form .cc2-screen[data-screen="0"] .cc2-screen-content{
  color:#F7F3ED!important;
}
.cc2-form .cc2-screen[data-screen="0"] .cc2-brand,
.cc2-form .cc2-screen[data-screen="0"] h1{
  color:#F7F3ED!important;
}
.cc2-form .cc2-screen[data-screen="0"] p{
  color:rgba(247,243,237,.72)!important;
}
.cc2-form .cc2-screen[data-screen="0"] .cc2-meta{
  color:rgba(247,243,237,.50)!important;
}

/* Every section after BEGIN */
.cc2-app.cc2-light-mode .cc2-form,
.cc2-app.cc2-light-mode .cc2-screen:not([data-screen="0"]){
  background:#F7F3ED!important;
  color:#24201e!important;
}
.cc2-app.cc2-light-mode .cc2-screen[data-screen="0"]{
  display:none!important;
}
.cc2-app.cc2-light-mode .cc2-top{
  background:rgba(247,243,237,.94)!important;
  color:rgba(36,32,30,.55)!important;
  border-bottom:1px solid rgba(36,32,30,.10)!important;
}
.cc2-app.cc2-light-mode .cc2-exit{color:rgba(36,32,30,.55)!important}
.cc2-app.cc2-light-mode .cc2-progress{background:rgba(36,32,30,.10)!important}
.cc2-app.cc2-light-mode .cc2-screen-content{color:#24201e!important}
.cc2-app.cc2-light-mode .cc2-eyebrow{color:#c51d32!important}
.cc2-app.cc2-light-mode .cc2-screen h1,
.cc2-app.cc2-light-mode .cc2-screen h2{color:#24201e!important}
.cc2-app.cc2-light-mode .cc2-screen p,
.cc2-app.cc2-light-mode .cc2-help{color:#706963!important}

/* Editorial dimensions */
.cc2-form .cc2-screen-content{
  width:100%!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:clamp(88px,9vh,120px) clamp(36px,6.5vw,108px) clamp(70px,8vh,100px)!important;
}
.cc2-form .cc2-screen{
  grid-template-columns:minmax(0,1fr)!important;
}
.cc2-form .cc2-options{
  width:100%!important;
  max-width:1040px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.cc2-form .cc2-option{
  min-height:62px!important;
  padding:15px 18px!important;
}
.cc2-form .cc2-question{
  width:100%!important;
  max-width:1040px!important;
}
.cc2-form .cc2-question h2{
  max-width:1000px!important;
}
.cc2-form .cc2-question .cc2-help{
  max-width:850px!important;
}
.cc2-form .cc2-nav{
  width:100%!important;
  max-width:1040px!important;
}

.cc2-form [data-screen="3"] .cc2-question:not(.cc2-hidden) h2{
  font-size:clamp(30px,3.7vw,48px)!important;
  line-height:1.02!important;
  margin-top:8px!important;
}

/* Ensure hidden conditional questions never occupy layout */
.cc2-form .cc2-question.cc2-hidden,
.cc2-form .cc2-question[data-condition].cc2-hidden{
  display:none!important;
}

/* Review/edit */
.cc2-form [data-screen="review"] .cc2-screen-content{
  max-width:1320px!important;
}
.cc2-form [data-screen="review"] .cc2-nav .cc2-back{
  cursor:pointer!important;
}

/* Tablet */
@media(max-width:1000px){
  .cc2-form .cc2-screen{grid-template-columns:minmax(0,1fr)!important}
  .cc2-form .cc2-screen-content{padding:88px 42px 60px!important}
  .cc2-form .cc2-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile */
@media(max-width:640px){
  .cc2-app{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .cc2-form .cc2-screen{
    grid-template-columns:minmax(0,1fr)!important;
    min-height:100svh!important;
  }
  .cc2-form .cc2-screen-content{
    padding:84px 18px 36px!important;
    max-width:none!important;
  }
  .cc2-form .cc2-screen h1,
  .cc2-form .cc2-screen h2{
    font-size:clamp(34px,10.5vw,50px)!important;
    line-height:.98!important;
  }
  .cc2-form .cc2-screen p{font-size:16px!important;line-height:1.55!important}
  .cc2-form .cc2-options{grid-template-columns:1fr!important;gap:8px!important}
  .cc2-form .cc2-option{min-height:58px!important;padding:14px!important}
  .cc2-form .cc2-nav{flex-wrap:wrap!important;gap:8px!important}
  .cc2-form .cc2-nav .cc2-btn{flex:1 1 120px!important}
  .cc2-form .cc2-top{padding:13px 16px!important}
  .cc2-form .cc2-progress{top:40px!important}
}

/* V9 — progressive contact collection. The picker opens in-place; no modal. */
#cc2-app [data-screen="contact"] .cc2-q-preferred_contact .cc2-options,
#cc2-app [data-screen="contact"] .cc2-q-email,
#cc2-app [data-screen="contact"] .cc2-q-phone,
#cc2-app [data-screen="contact"] .cc2-q-company{display:none!important}
#cc2-app [data-screen="contact"] .cc2-q-preferred_contact.cc2-contact-choice-open .cc2-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:800px!important;animation:ccContactReveal .5s ease both}
#cc2-app [data-screen="contact"] .cc2-q-email.cc2-contact-visible,
#cc2-app [data-screen="contact"] .cc2-q-phone.cc2-contact-visible,
#cc2-app [data-screen="contact"] .cc2-q-company.cc2-contact-visible{display:block!important;animation:ccContactReveal .5s ease both}
#cc2-app .cc2-contact-trigger{display:flex;width:100%;max-width:800px;min-height:64px;align-items:center;justify-content:space-between;padding:15px 18px;background:rgba(36,32,30,.025);border:1px solid rgba(36,32,30,.15);color:#24201e;font:600 11px/1.4 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,background .2s}
#cc2-app .cc2-contact-trigger:hover{border-color:#C51D32;background:rgba(197,29,50,.06)}
#cc2-app [data-screen="contact"] .cc2-q-preferred_contact .cc2-options .cc2-option{min-height:72px;justify-content:center;text-align:center}
@keyframes ccContactReveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){
 #cc2-app [data-screen="contact"] .cc2-q-preferred_contact.cc2-contact-choice-open .cc2-options{grid-template-columns:1fr!important}
 #cc2-app .cc2-contact-trigger{min-height:58px;padding:14px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){#cc2-app [data-screen="contact"] .cc2-q-preferred_contact.cc2-contact-choice-open .cc2-options,#cc2-app [data-screen="contact"] .cc2-q-email.cc2-contact-visible,#cc2-app [data-screen="contact"] .cc2-q-phone.cc2-contact-visible,#cc2-app [data-screen="contact"] .cc2-q-company.cc2-contact-visible{animation:none!important}}

/* =========================================================
   V8 — RELIABLE SECTION STATE + EDITORIAL COLOUR SYSTEM
   ========================================================= */

/* JavaScript uses .cc2-active as the single source of truth. */
#cc2-app .cc2-screen {
  display: none !important;
  width: 100%;
  min-height: 100svh;
}

#cc2-app .cc2-screen.cc2-active {
  display: grid !important;
  animation: ccV8Reveal .55s cubic-bezier(.2,.75,.2,1) both;
}

@keyframes ccV8Reveal {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Opening screen stays dark exactly as requested. */
#cc2-app .cc2-form {
  background: #F7F3ED !important;
}

#cc2-app .cc2-screen[data-screen="0"].cc2-active {
  background:
    radial-gradient(circle at 12% 8%, rgba(111,11,29,.78), transparent 34%),
    radial-gradient(circle at 88% 78%, rgba(101,10,28,.55), transparent 36%),
    linear-gradient(135deg, #19080b, #090708 50%, #23070b) !important;
  color: #F7F3ED !important;
}

#cc2-app .cc2-screen[data-screen="0"].cc2-active .cc2-brand,
#cc2-app .cc2-screen[data-screen="0"].cc2-active h1,
#cc2-app .cc2-screen[data-screen="0"].cc2-active p {
  color: #F7F3ED !important;
}

#cc2-app .cc2-screen[data-screen="0"].cc2-active .cc2-meta {
  color: rgba(247,243,237,.56) !important;
}

/* All substantive sections are ivory. */
#cc2-app .cc2-screen:not([data-screen="0"]) {
  background: #F7F3ED !important;
  color: #24201e !important;
}

#cc2-app .cc2-screen:not([data-screen="0"]) h1,
#cc2-app .cc2-screen:not([data-screen="0"]) h2 {
  color: #24201e !important;
}

#cc2-app .cc2-screen:not([data-screen="0"]) p,
#cc2-app .cc2-screen:not([data-screen="0"]) .cc2-help {
  color: #6F6863 !important;
}

/* Make the options feel like the supplied editorial reference. */
#cc2-app .cc2-option {
  background: rgba(36,32,30,.025) !important;
  border: 1px solid rgba(36,32,30,.16) !important;
  color: #24201e !important;
  min-height: 64px;
}

#cc2-app .cc2-option span {
  color: #24201e !important;
}

#cc2-app .cc2-option:hover {
  border-color: rgba(197,29,50,.55) !important;
  background: rgba(197,29,50,.045) !important;
  transform: translateY(-1px);
}

#cc2-app .cc2-option:has(input:checked) {
  border-color: #C51D32 !important;
  background: rgba(197,29,50,.075) !important;
  box-shadow: inset 3px 0 0 #C51D32 !important;
}

/* Navigation on ivory sections. */
#cc2-app .cc2-nav .cc2-back,
#cc2-app .cc2-nav .cc2-skip {
  background: transparent !important;
  color: #24201e !important;
  border-color: rgba(36,32,30,.22) !important;
}

/* Conditional phone fields start hidden. */
#cc2-app .cc2-q-phone,
#cc2-app .cc2-q-phone_either {
  display: none !important;
}

#cc2-app .cc2-q-phone.cc2-contact-visible,
#cc2-app .cc2-q-phone_either.cc2-contact-visible {
  display: block !important;
  animation: ccV8Field .35s ease both;
}

@keyframes ccV8Field {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Inputs on ivory sections. */
#cc2-app .cc2-field input,
#cc2-app .cc2-field textarea,
#cc2-app .cc2-field select {
  background: rgba(255,255,255,.35) !important;
  color: #24201e !important;
  border-color: rgba(36,32,30,.2) !important;
}

#cc2-app .cc2-field input::placeholder,
#cc2-app .cc2-field textarea::placeholder {
  color: #8A817B !important;
}

/* Mobile section sizing. */
@media (max-width: 900px) {
  #cc2-app .cc2-screen {
    grid-template-columns:minmax(0,1fr) !important;
  }

  #cc2-app .cc2-screen-content {
    padding: 70px 34px 50px !important;
  }
}

@media (max-width: 600px) {
  #cc2-app .cc2-screen {
    grid-template-columns:minmax(0,1fr) !important;
    min-height: 100svh;
  }

  #cc2-app .cc2-screen-content {
    padding: 70px 18px 35px !important;
  }

  #cc2-app .cc2-option {
    width: 100%;
    min-height: 58px;
  }

  #cc2-app .cc2-nav {
    width: 100%;
    flex-wrap: wrap;
  }

  #cc2-app .cc2-nav .cc2-btn {
    flex: 1 1 130px;
  }
}

/* v8.2 navigation and section-flow hardening */
#cc2-app .cc2-screen{display:none!important;visibility:hidden!important;opacity:0;pointer-events:none;}
#cc2-app .cc2-screen.cc2-active{display:grid!important;visibility:visible!important;opacity:1;pointer-events:auto;}
#cc2-app .cc2-screen[data-screen="0"].cc2-active{display:grid!important;}
#cc2-app .cc2-screen[data-screen="review"].cc2-active{display:grid!important;}
#cc2-app .cc2-question.cc2-hidden{display:none!important;visibility:hidden!important;}
#cc2-app .cc2-question:not(.cc2-hidden){visibility:visible;}
#cc2-app .cc2-nav{position:relative;z-index:5;}
#cc2-app .cc2-option{cursor:pointer;}

/* Named-screen controller (v9): one full-height vertical section at a time. */
#cc2-app .cc2-screen{display:none!important;visibility:hidden!important;opacity:0;pointer-events:none;}
#cc2-app .cc2-screen.cc2-active{display:grid!important;visibility:visible!important;opacity:1;pointer-events:auto;animation:ccNamedSectionReveal .6s cubic-bezier(.2,.75,.2,1) both!important;}
#cc2-app .cc2-screen[data-screen="opening"].cc2-active{background:radial-gradient(circle at 12% 8%,rgba(111,11,29,.78),transparent 34%),radial-gradient(circle at 88% 78%,rgba(101,10,28,.55),transparent 36%),linear-gradient(135deg,#19080b,#090708 50%,#23070b)!important;color:#F7F3ED!important;}
#cc2-app .cc2-screen[data-screen="opening"].cc2-active .cc2-brand,#cc2-app .cc2-screen[data-screen="opening"].cc2-active h1{color:#F7F3ED!important;}
#cc2-app .cc2-screen[data-screen="opening"].cc2-active p{color:rgba(247,243,237,.72)!important;}
#cc2-app .cc2-screen[data-screen="confirmation"].cc2-active{display:grid!important;visibility:visible!important;opacity:1;pointer-events:auto;background:radial-gradient(circle at 15% 15%,rgba(111,11,29,.75),transparent 35%),linear-gradient(135deg,#19080b,#090708)!important;color:#F7F3ED!important;}
#cc2-app .cc2-screen[data-screen="confirmation"] h2{color:#F7F3ED!important;}
#cc2-app .cc2-screen[data-screen="confirmation"] p{color:rgba(247,243,237,.72)!important;}
@keyframes ccNamedSectionReveal{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
#cc2-app .cc2-error{color:#a51629!important;font:600 13px/1.4 Inter,Arial,sans-serif!important;margin:12px 0 0!important;}

/* V9 final contact overrides: intentionally placed after legacy stylesheet layers. */
#cc2-app [data-screen="contact"] .cc2-q-preferred_contact .cc2-options,
#cc2-app [data-screen="contact"] .cc2-q-email,
#cc2-app [data-screen="contact"] .cc2-q-phone,
#cc2-app [data-screen="contact"] .cc2-q-company{display:none!important}
#cc2-app [data-screen="contact"] .cc2-q-preferred_contact.cc2-contact-choice-open .cc2-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:800px!important;animation:ccContactReveal .5s ease both}
#cc2-app [data-screen="contact"] .cc2-q-email.cc2-contact-visible,
#cc2-app [data-screen="contact"] .cc2-q-phone.cc2-contact-visible,
#cc2-app [data-screen="contact"] .cc2-q-company.cc2-contact-visible{display:block!important;animation:ccContactReveal .5s ease both}
#cc2-app .cc2-contact-trigger{display:flex;width:100%;max-width:800px;min-height:64px;align-items:center;justify-content:space-between;padding:15px 18px;background:rgba(36,32,30,.025);border:1px solid rgba(36,32,30,.15);color:#24201e;font:600 11px/1.4 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:border-color .2s,background .2s}
#cc2-app .cc2-contact-trigger:hover{border-color:#C51D32;background:rgba(197,29,50,.06)}
#cc2-app [data-screen="contact"] .cc2-q-preferred_contact .cc2-options .cc2-option{min-height:72px;justify-content:center;text-align:center}
@keyframes ccContactReveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){#cc2-app [data-screen="contact"] .cc2-q-preferred_contact.cc2-contact-choice-open .cc2-options{grid-template-columns:1fr!important}#cc2-app .cc2-contact-trigger{min-height:58px;padding:14px;font-size:9px}#cc2-app .cc2-nav .cc2-btn{flex:1 1 100%!important;width:100%!important}}
@media(prefers-reduced-motion:reduce){#cc2-app [data-screen="contact"] .cc2-q-preferred_contact.cc2-contact-choice-open .cc2-options,#cc2-app [data-screen="contact"] .cc2-q-email.cc2-contact-visible,#cc2-app [data-screen="contact"] .cc2-q-phone.cc2-contact-visible,#cc2-app [data-screen="contact"] .cc2-q-company.cc2-contact-visible{animation:none!important}}


/* v9.3.0 — contact logic + responsive confirmation */
/* Email always stays visible. Phone is additive when Phone is preferred. */
#cc2-app [data-screen="contact"] .cc2-q-email,
#cc2-app [data-screen="contact"] .cc2-q-email.cc2-contact-visible {
  display:block!important;
}
#cc2-app [data-screen="contact"] .cc2-q-phone {
  display:none!important;
}
#cc2-app [data-screen="contact"] .cc2-q-phone.cc2-contact-visible {
  display:block!important;
}

/* On completion, remove the old form area so no blank/white block remains. */
#cc2-app.cc2-complete .cc2-form { display:none!important; }
#cc2-app.cc2-complete { background:#090708!important; }
#cc2-app [data-screen="confirmation"].cc2-active {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  min-height:100svh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
#cc2-app [data-screen="confirmation"] .cc2-success-content {
  min-width:0!important;
  padding:82px clamp(30px,7vw,112px) 74px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
}
#cc2-app [data-screen="confirmation"] .cc2-success-content h2 { max-width:980px!important; }
#cc2-app [data-screen="confirmation"] .cc2-success-content p { max-width:680px!important; }

@media(max-width:900px) {
  #cc2-app [data-screen="confirmation"].cc2-active { grid-template-columns:minmax(0,1fr)!important; }
  #cc2-app [data-screen="confirmation"] .cc2-success-content { padding:70px 34px 50px!important; }
}
@media(max-width:600px) {
  #cc2-app [data-screen="confirmation"].cc2-active { grid-template-columns:minmax(0,1fr)!important; }
  #cc2-app [data-screen="confirmation"] .cc2-success-content { padding:64px 18px 32px!important;justify-content:center!important; }
  #cc2-app [data-screen="confirmation"] .cc2-success-content h2 { font-size:clamp(34px,10vw,52px)!important;line-height:1!important; }
  #cc2-app [data-screen="confirmation"] .cc2-success-content p { font-size:16px!important;margin:18px 0 26px!important; }
  #cc2-app [data-screen="confirmation"] .cc2-btn { width:100%!important;align-self:stretch!important;text-align:center!important; }
}

/* Highlight a trailing "Optional" independently from its question label. */
#cc2-app .cc2-optional {
  color:var(--cc-red)!important;
}
#cc2-app h2 .cc2-optional {
  display:block;
}
