.hero>.promotion-panel[data-mode="announcement"]{
  position:absolute;z-index:5;top:clamp(16px,2.2vw,26px);
  left:max(24px,calc((100% - 1240px)/2));right:max(24px,calc((100% - 1240px)/2));
  display:block;min-height:0;overflow:hidden;border:1px solid rgba(244,185,31,.62);
  border-radius:16px;background:rgba(17,18,16,.58);box-shadow:0 12px 34px rgba(0,0,0,.18);
  color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none
}
.hero>.promotion-panel[data-mode="announcement"]:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#f4b91f}
.hero>.promotion-panel[data-mode="announcement"] .promotion-visual{display:none}
.hero>.promotion-panel[data-mode="announcement"] .promotion-copy{
  display:grid;grid-template-columns:minmax(250px,1fr) auto auto;
  grid-template-areas:"kicker countdown actions" "headline countdown actions" "offer countdown details";
  align-items:center;gap:3px 24px;padding:14px 16px 14px 22px
}
.hero>.promotion-panel[data-mode="announcement"] .promotion-kicker{grid-area:kicker;margin:0;font-size:10px}
.hero>.promotion-panel[data-mode="announcement"] h2{grid-area:headline;margin:0;font-size:clamp(24px,2.35vw,34px);line-height:1;letter-spacing:-.035em}
.hero>.promotion-panel[data-mode="announcement"] .promotion-copy>p:not(.promotion-kicker,.promotion-offer,.promotion-terms){display:none}
.hero>.promotion-panel[data-mode="announcement"] .promotion-offer{grid-area:offer;margin:4px 0 0;font-size:13px;line-height:1.3}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{grid-area:countdown;grid-template-columns:repeat(4,54px);gap:6px;margin:0}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown span{min-height:52px;border-radius:9px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown strong{font-size:18px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown small{font-size:8px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-actions{grid-area:actions;display:block}
.hero>.promotion-panel[data-mode="announcement"] .promotion-actions .button{width:auto;min-height:46px;padding:0 17px;white-space:nowrap;font-size:13px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-actions .secondary{display:none}
.hero>.promotion-panel[data-mode="announcement"] .promotion-terms-button{grid-area:details;justify-self:center;margin:4px 0 0;font-size:11px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-terms{grid-column:1/-1;margin:10px 0 0!important;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
/* Let the existing photo sequence show through the offer, while shading the lower copy. */
.hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])) .hero-overlay{background:linear-gradient(180deg,rgba(10,11,10,.15) 0%,rgba(10,11,10,.25) 45%,rgba(10,11,10,.85) 70%,rgba(10,11,10,.98) 100%)}
.hero>.promotion-panel[data-mode="announcement"] .promotion-copy{text-shadow:0 1px 3px rgba(0,0,0,.9)}
.hero>.promotion-panel[data-mode="announcement"] .promotion-kicker,
.hero>.promotion-panel[data-mode="announcement"] .promotion-offer{color:#ffe8a3}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown span{background:rgba(10,11,10,.36);border-color:rgba(255,255,255,.3)}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown small,
.hero>.promotion-panel[data-mode="announcement"] .property-promo-info>p{color:#f5f6f0}
.hero>.promotion-panel[data-mode="announcement"] .promotion-terms{color:#f5f6f0!important}
.hero>.promotion-panel[data-mode="announcement"] .property-promo-claim{background:rgba(10,11,10,.3)}
.hero>.promotion-panel[data-mode="announcement"] .property-promo-claim:hover{background:#f4b91f}
.hero>.promotion-panel[data-mode="announcement"] .primary,
.hero>.promotion-panel[data-mode="announcement"] .property-promo-claim{text-shadow:none}
.promotion-path-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.promotion-path-options label{display:flex;gap:10px;min-height:78px;padding:13px;border:1px solid #d2d4cd;border-radius:12px;background:#fff;cursor:pointer}
.promotion-path-options label:has(input:checked){border-color:#c78700;background:#fff8df;box-shadow:0 0 0 2px rgba(244,185,31,.18)}
.promotion-path-options input{width:auto;margin:4px 0 0;accent-color:#c78700}
.promotion-path-options strong,.promotion-path-options small{display:block}.promotion-path-options small{margin-top:3px;color:#62645f;font-size:11px;line-height:1.4}
.promotion-price-ack{display:flex;align-items:flex-start;gap:10px;border-radius:10px;background:#fff8df;padding:13px;line-height:1.45}
.promotion-price-ack input{width:auto;margin:3px 0 0;accent-color:#c78700}
.promotion-date-grid input[type="date"]{grid-column:1/-1;min-height:52px;margin:0;border:1px solid #d2d4cd;border-radius:10px;background:#fff;padding:10px;font-size:16px}
@media(max-width:800px){
  .hero>.promotion-panel[data-mode="announcement"]{top:12px;left:12px;right:12px;border-radius:14px}
  .hero>.promotion-panel[data-mode="announcement"] .promotion-copy{grid-template-columns:1fr auto;grid-template-areas:"kicker countdown" "headline headline" "offer offer" "actions details";gap:7px 10px;margin:0;padding:12px 12px 12px 17px}
  .hero>.promotion-panel[data-mode="announcement"] h2{font-size:clamp(25px,7.6vw,34px);max-width:100%}
  .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{grid-template-columns:repeat(4,40px);gap:4px}
  .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown span{min-height:40px;border-radius:7px}
  .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown strong{font-size:14px}
  .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown small{font-size:6px;letter-spacing:.04em}
  .hero>.promotion-panel[data-mode="announcement"] .promotion-offer{margin:0;font-size:12px}
  .hero>.promotion-panel[data-mode="announcement"] .promotion-actions .button{width:auto;min-height:42px;padding:0 14px;font-size:12px}
  .hero>.promotion-panel[data-mode="announcement"] .promotion-terms-button{justify-self:end;margin:0}
  .promotion-path-options{grid-template-columns:1fr}
}
@media(max-width:380px){
  .hero>.promotion-panel[data-mode="announcement"] .promotion-copy{padding-right:9px}
  .hero>.promotion-panel[data-mode="announcement"] .promotion-kicker{letter-spacing:.1em}
  .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{grid-template-columns:repeat(4,36px)}
  .hero>.promotion-panel[data-mode="announcement"] h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){.hero>.promotion-panel[data-mode="announcement"]{backdrop-filter:none}}

/* The property-services offer is separate from the junk-removal discount. */
[data-property-offer][hidden],.property-estimate-notice[hidden]{display:none!important}
.property-promo-strip{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:10px;padding-top:12px;border-top:1px solid rgba(244,185,31,.35)}
.property-promo-info{min-width:0}
.property-promo-label{margin:0 0 4px!important;color:#ffd151!important;font-size:10px!important;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.property-promo-info h3{margin:0;color:#ffd151;font-size:22px;line-height:1.2;font-weight:800}
.property-promo-info>p{margin:6px 0 0;color:#d3d5ce;font-size:14px;line-height:1.4}
.property-promo-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 14px}
.property-promo-links a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;font-size:14px;font-weight:800}
.property-promo-links .property-promo-claim{padding:8px 14px;border:1px solid #d6ad3c;border-radius:8px;background:transparent;color:#ffd151;white-space:nowrap}
.property-promo-links .property-promo-claim:hover{background:#f4b91f;color:#171817}
.property-promo-links .property-promo-details{text-decoration:underline;text-underline-offset:4px;color:#fff}
.property-promotion{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;margin:32px 0;padding:32px;background:#171817;color:#fff;border:1px solid #b28615;border-left:5px solid #f4b91f;border-radius:16px;scroll-margin-top:100px}
.property-promotion-kicker{margin:0 0 12px;color:#ffd151;font-size:14px;font-weight:800}
.property-promotion h3{margin:0;font:clamp(26px,3.2vw,34px)/1.08 "Archivo Black",Impact,sans-serif;letter-spacing:-.025em}
.property-promotion-copy>p:not(.property-promotion-kicker){margin:16px 0;font-size:16px;color:#ddd}
.property-promotion ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:16px 0 0;padding-left:20px;font-size:16px}
.property-promotion-action{align-self:center;min-width:0}
.property-promotion-action>p{margin:0 0 16px;font-size:16px;color:#ddd}
.property-promotion-action .button{width:100%;min-height:52px;gap:12px;font-size:16px;line-height:1.4;padding:12px 16px}
.property-promotion-action .property-promotion-deadline{margin:14px 0;font-size:14px;color:#ffd151}
.property-promotion details{font-size:14px;color:#ddd}.property-promotion summary{cursor:pointer;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}.property-promotion details p{margin:8px 0 0}
.property-estimate-notice{margin:0;border-left:4px solid #d49d00;border-radius:8px;background:#fff6d6;padding:14px;color:#302a19;font-size:14px;line-height:1.5}
@media(max-width:800px){.property-promo-strip{grid-template-columns:minmax(0,1fr);margin-top:6px;padding-top:12px;gap:8px}.property-promo-info h3{font-size:20px}.property-promo-links{justify-content:flex-start;gap:4px 16px}.property-promo-links .property-promo-claim{padding:6px 12px}.property-promotion{grid-template-columns:1fr;gap:24px;margin-top:24px;padding:24px 20px}.property-promotion ul{grid-template-columns:1fr;gap:6px}}
/* Keep the larger offer in document flow so it cannot cover the hero copy. */
.hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])){flex-direction:column;align-items:stretch;justify-content:space-between}
.hero>.promotion-panel[data-mode="announcement"]{position:relative;top:auto;left:auto;right:auto;width:min(1240px,calc(100% - 48px));margin:24px auto 0;flex-shrink:0}
.hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])) .hero-inner{padding-top:60px}
@media(max-width:800px){.hero>.promotion-panel[data-mode="announcement"]{width:calc(100% - 24px);margin-top:12px}.hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])) .hero-inner{padding-top:48px}}

.estimate-scheduling{min-width:0;margin:0;padding:16px 0;border:0;border-top:1px solid #dedfd9;border-bottom:1px solid #dedfd9}
.estimate-scheduling legend{padding:0 0 10px;font-size:16px;font-weight:800}
.estimate-scheduling-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.estimate-form .estimate-scheduling-options label{display:flex;align-items:flex-start;gap:10px;min-height:62px;margin:0;padding:12px;border:1px solid #b8bab1;border-radius:9px;font-size:14px;line-height:1.35;cursor:pointer}
.estimate-form .estimate-scheduling-options input{flex:0 0 18px;width:18px;height:18px;margin:0;padding:0;accent-color:#9b7100}
.estimate-scheduling-options strong,.estimate-scheduling-options small{display:block}.estimate-scheduling-options small{margin-top:3px;color:#55594f;font-size:12px;font-weight:500}
.estimate-scheduling-options label:has(input:checked){background:#fff6d6;border-color:#a87b00}
.estimate-calendar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:16px}
.estimate-calendar[hidden]{display:none!important}
.estimate-calendar label{min-width:0;font-size:14px}
.estimate-calendar input,.estimate-calendar select{min-width:0;max-width:100%;min-height:48px}
.estimate-calendar>p{grid-column:1/-1;margin:0;color:#55594f;font-size:14px;line-height:1.5}
.appointment-availability{grid-column:1/-1;min-width:0;border:1px solid #dedfd9;border-radius:10px;background:#f6f6f2;padding:12px}.appointment-calendar-empty{margin:0;color:#55594f;font-size:14px;line-height:1.5}.appointment-date-list,.appointment-time-list{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}.appointment-time-list{padding:4px 0 0}.appointment-time-list>p{margin:0;color:#55594f;font-size:14px}.appointment-date-list button,.appointment-time-list button{flex:0 0 auto;min-height:46px;border:1px solid #b8bab1;border-radius:8px;background:#fff;padding:10px 12px;color:#181916;font:700 14px/1.2 inherit;cursor:pointer}.appointment-date-list button[aria-pressed="true"],.appointment-time-list button[aria-pressed="true"]{border-color:#a87b00;background:#ffd151;color:#17140b;box-shadow:0 2px 0 #a87b00}.appointment-date-list button:focus-visible,.appointment-time-list button:focus-visible{outline:3px solid #413500;outline-offset:2px}.appointment-acknowledgement{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #b8bab1;border-radius:9px;background:#fff;font-size:14px!important;line-height:1.45}.appointment-acknowledgement input{flex:0 0 18px;width:18px;height:18px;min-height:18px!important;margin:2px 0 0;padding:0;accent-color:#9b7100}.estimate-form input[type="file"]{padding:10px;background:#fff;font-size:14px}.estimate-form #appointment-photos .form-note{display:block;margin-top:7px;font-size:13px}.estimate-form #appointment-photos a{color:#765500;font-weight:800}
@media(max-width:480px){.estimate-scheduling-options,.estimate-calendar{grid-template-columns:1fr}}

/* Both offers share the announcement component, including responsive layout. */
.hero>.promotion-panel.hero-property-promo[data-mode="announcement"]{margin-top:12px}
@media(max-width:800px){.hero>.promotion-panel.hero-property-promo[data-mode="announcement"]{margin-top:8px}}

/* Property eligibility is independent of the junk-removal campaign. */
body .hero>.hero-property-promo[data-property-offer]:not([hidden]){display:block!important}

/* Compact matching offers; preserve the original translucent surfaces. */
.hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])){justify-content:flex-start;padding-bottom:28px}
.hero>.promotion-panel[data-mode="announcement"]{border-color:rgba(244,185,31,.72);background:rgba(15,16,14,.67);backdrop-filter:blur(3px);margin-top:14px;border-radius:16px}
.hero>.promotion-panel.hero-property-promo[data-mode="announcement"]{background:rgba(15,16,14,.64);margin-top:10px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-copy{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"kicker countdown actions" "headline countdown actions" "offer countdown details";gap:5px 18px;padding:16px 20px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-copy>*{min-width:0}
.hero>.promotion-panel[data-mode="announcement"] .promotion-kicker{font-size:12px;line-height:1.3;letter-spacing:.12em}
.hero>.promotion-panel[data-mode="announcement"] h2{font-size:clamp(24px,2.6vw,34px);line-height:1.08;letter-spacing:-.025em;overflow-wrap:normal}
.hero>.promotion-panel[data-mode="announcement"] .promotion-offer{font-size:14px;line-height:1.4;margin:0}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{display:grid;grid-template-columns:repeat(4,56px);gap:4px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown span{min-height:48px;padding:4px 2px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown strong{font-size:20px;line-height:1.2}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown small{font-size:12px;letter-spacing:0;line-height:1.2}
.hero>.promotion-panel[data-mode="announcement"] .promotion-actions .button{min-width:0;min-height:44px;padding:10px 16px;font-size:16px;line-height:1.25;white-space:normal;gap:8px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-terms-button{display:inline-flex;align-items:center;min-height:44px;font-size:14px;line-height:1.3;margin:0}
.hero>.promotion-panel[data-mode="announcement"] .promotion-terms{grid-area:auto;grid-column:1/-1;font-size:14px;line-height:1.5}
.hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])) .hero-inner{padding-top:28px}
@media(max-width:1000px){
 .hero>.promotion-panel[data-mode="announcement"] .promotion-copy{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kicker kicker" "headline headline" "offer offer" "countdown countdown" "actions details";gap:6px 10px;padding:14px 16px}
 .hero>.promotion-panel[data-mode="announcement"] h2{font-size:clamp(24px,5vw,30px)}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{justify-self:start}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-terms-button{justify-self:end}
}

/* Ultra-compact campaign bar. */
.hero>.promotion-panel[data-mode="announcement"] .promotion-copy{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"headline countdown actions" "offer countdown details";padding:5px 10px;gap:1px 8px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-kicker{display:none}
.hero>.promotion-panel[data-mode="announcement"] h2{font-size:18px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{grid-template-columns:repeat(4,28px);gap:1px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown span{min-height:28px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown strong{font-size:11px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown small{font-size:5px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-offer{font-size:10px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-actions .button{min-height:30px;font-size:10px;padding:5px 8px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-terms-button{min-height:20px;font-size:10px}
@media(max-width:600px){
 .hero>.promotion-panel[data-mode="announcement"] .promotion-copy{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"headline countdown" "offer countdown" "actions details"}
}
@media(max-width:380px){
 .hero>.promotion-panel[data-mode="announcement"] .promotion-copy{padding:12px 13px;gap:5px 8px}
 .hero>.promotion-panel[data-mode="announcement"] h2{font-size:24px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-actions .button{padding:10px 12px;font-size:14px}
}

/* Launch pass: both offer cards stay compact and use the same rhythm on every screen. */
.hero>.promotion-panel[data-mode="announcement"] .promotion-copy{gap:3px 14px;padding:10px 16px 9px 18px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-kicker{font-size:10px;line-height:1.2}
.hero>.promotion-panel[data-mode="announcement"] h2{font-size:clamp(22px,2.2vw,29px);line-height:1.02}
.hero>.promotion-panel[data-mode="announcement"] .promotion-offer{font-size:12px;line-height:1.3}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{grid-template-columns:repeat(4,46px);gap:3px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown span{min-height:42px;padding:3px 1px;border-radius:8px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown strong{font-size:16px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown small{font-size:8px;line-height:1.1}
.hero>.promotion-panel[data-mode="announcement"] .promotion-actions .button{min-height:38px;padding:8px 12px;font-size:13px;white-space:nowrap}
.hero>.promotion-panel[data-mode="announcement"] .promotion-terms-button{min-height:30px;font-size:12px}
.hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])) .hero-inner{padding-top:20px}
@media(max-width:1000px){
 .hero>.promotion-panel[data-mode="announcement"] .promotion-copy{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"kicker countdown" "headline countdown" "offer offer" "actions details";gap:4px 10px;padding:10px 12px 10px 16px}
 .hero>.promotion-panel[data-mode="announcement"] h2{font-size:clamp(21px,6vw,27px)}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{grid-template-columns:repeat(4,36px);align-self:center}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown span{min-height:38px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown strong{font-size:14px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown small{font-size:7px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-actions .button{min-height:38px;font-size:12px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-terms-button{justify-self:end;min-height:38px}
}
@media(max-width:380px){
 .hero>.promotion-panel[data-mode="announcement"] .promotion-copy{padding:9px 9px 9px 13px;gap:3px 7px}
 .hero>.promotion-panel[data-mode="announcement"] h2{font-size:20px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{grid-template-columns:repeat(4,32px);gap:2px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown span{min-height:35px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown strong{font-size:13px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown small{font-size:6px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-offer{font-size:11px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-actions .button{padding:7px 9px;font-size:11px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-terms-button{font-size:11px}
}

/* Final launch density: keep the two campaign cards secondary to the hero. */
.hero>.promotion-panel[data-mode="announcement"] .promotion-copy{padding:8px 14px 7px 16px;gap:2px 12px}
.hero>.promotion-panel[data-mode="announcement"] h2{font-size:clamp(20px,2vw,26px)}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{grid-template-columns:repeat(4,40px)}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown span{min-height:36px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown strong{font-size:14px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-countdown small{font-size:7px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-actions .button{min-height:34px;padding:6px 10px;font-size:12px}
.hero>.promotion-panel[data-mode="announcement"] .promotion-terms-button{min-height:26px;font-size:11px}
.hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])) .hero-inner{padding-top:14px}
@media(max-width:1000px){
 .hero>.promotion-panel[data-mode="announcement"] .promotion-copy{padding:8px 10px 8px 14px;gap:3px 8px}
 .hero>.promotion-panel[data-mode="announcement"] h2{font-size:clamp(19px,5.5vw,24px)}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown{grid-template-columns:repeat(4,32px);gap:2px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown span{min-height:34px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown strong{font-size:13px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-countdown small{font-size:6px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-offer{font-size:11px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-actions .button{min-height:34px;padding:6px 9px;font-size:11px}
 .hero>.promotion-panel[data-mode="announcement"] .promotion-terms-button{min-height:34px;font-size:11px}
}

/* On phones the campaign cards belong above the opening copy, not inside a
   full-screen hero. Keep the service selector directly after the copy so the
   photo does not end in a large empty block before the next section. */
@media(max-width:700px){
 .hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])){
  min-height:calc(100svh - 74px)!important;
  padding-bottom:0;
 }
 .hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])) .hero-inner{
  flex:1 1 auto;
  display:grid;
  grid-template-rows:auto auto auto auto minmax(0,1fr);
  min-height:0;
  padding:38px 0 22px!important;
  top:110px;
  transform:none!important;
 }
 .hero:has(>.promotion-panel[data-mode="announcement"]:not([hidden])) .hero-sequence{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  align-self:end;
  margin-top:0;
 }
}
