/* Revision 05: desktop counterpart of the owner-approved light mockup.
   Only >=900px hero rules. Protected mobile files and lower sections stay intact. */
.desktop-planet-art{display:none}
@media(min-width:900px){
 .hero{padding:29px 0 28px;background:#f8f8f6;color:#474c41;font-family:'Montserrat Hero',Arial,sans-serif}
 .hero:before,.hero:after,.hero-art-surface,.hero-portrait-frame,.mobile-planet-art{display:none}
 .desktop-planet-art{display:block;position:absolute;z-index:-1;left:50%;top:0;width:min(100%,1750px);height:auto;aspect-ratio:1586/992;transform:translateX(-50%);background:url('assets/desktop-approved-scene.avif') center top/100% auto no-repeat;clip-path:polygon(48% 10%,100% 10%,100% 85.6%,50% 85.6%,50% 75%,46% 75%,46% 62%,42.6% 62%,42.6% 28%,48% 28%);mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201586%20992%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22feather%22%20x%3D%22-15%25%22%20y%3D%22-15%25%22%20width%3D%22130%25%22%20height%3D%22130%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%2214%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22white%22%20filter%3D%22url%28%23feather%29%22%20d%3D%22M%20797%20125%20H%201640%20V%20825%20H%20825%20V%20715%20H%20763%20V%20588%20H%20710%20V%20310%20H%20797%20Z%22%2F%3E%3C%2Fsvg%3E%0A");mask-size:100% 100%;mask-repeat:no-repeat;pointer-events:none}
 .hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;width:min(1600px,91.2%);gap:0;margin-inline:auto;position:relative}
 .hero .mobile-hero-brand{display:block;grid-column:1;grid-row:1;margin:0 0 0 clamp(45px,5.4vw,86px);width:clamp(180px,16.35vw,260px);height:auto;align-self:center}
 .hero .mobile-hero-brand img{width:100%;height:auto;filter:brightness(0)}
 .hero .event-strip{grid-column:2;grid-row:1;display:flex;justify-content:flex-end;align-items:flex-start;gap:28px;padding:6px 15px 0 0;margin:0;border:0;color:#474c41;font-family:inherit;font-size:19px;line-height:1.2}
 .hero .event-when{order:0;position:relative;display:block;padding-left:59px;flex:0 0 auto;color:#474c41;font-size:clamp(17px,1.55vw,24.5px);font-weight:700;line-height:1.25;letter-spacing:-.3px;text-align:left;white-space:nowrap}
 .hero .event-when>span{display:block;font-size:clamp(17px,1.55vw,24.5px);font-weight:400;margin:0;letter-spacing:-.3px}
 .hero .event-when>span:before{display:none}
 .hero .event-type{order:1;position:relative;display:block;border-left:1px solid #676961;padding:0 0 0 86px;font-size:clamp(15px,1.28vw,20.3px);font-weight:400;line-height:1.22;letter-spacing:-.28px;white-space:nowrap}
 .hero .event-icon{display:block;position:absolute;width:40px;height:40px;left:0;top:3px;color:#4d5542}
 .hero .event-type .event-icon{left:28px;width:43px;height:43px;top:0}
 .hero .hero-copy{display:block;grid-column:1;grid-row:2;padding:0;margin-top:20px;max-width:none;min-width:0}
 .hero h1{font-family:inherit;font-size:clamp(61px,6.25vw,100px);font-weight:800;line-height:1.055;letter-spacing:-.043em;color:#514099;text-shadow:none;margin:0 0 0;white-space:nowrap;text-wrap:nowrap;transform:scaleX(.96);transform-origin:left center}
 .hero h1 em{display:inline;padding:0;color:inherit;font-style:normal}
 .hero h1 em:after,.hero-subtitle:after{display:none}
 .hero .hero-subtitle{font-family:inherit;font-size:clamp(29px,2.78vw,44px);font-weight:500;font-style:normal;line-height:1.055;letter-spacing:-.03em;color:#474c41;text-shadow:none;margin:0 0 17px;padding:0;max-width:none;border:0;background:none}
 .hero .hero-subtitle .mobile-line{display:block}
 .hero .hero-lead{width:84.2%;max-width:none;margin:0;padding:17px 20px 20px;border:0;border-radius:23px;background:#e5def7;box-shadow:none;color:#49484c;font-size:clamp(17px,1.49vw,24px);font-weight:400;line-height:1.25;letter-spacing:-.018em;text-align:center;text-shadow:none}
 .hero .hero-lead .mobile-line{display:block}
 .hero .hero-lead strong{font-weight:700;color:inherit;text-shadow:none}
 .hero .hero-question{max-width:none;width:100%;margin:19px 0 0;padding:0;border:0;background:none;text-shadow:none;color:#45454b;font-size:clamp(15px,1.37vw,22px);font-weight:400;line-height:1.26;letter-spacing:-.018em}
 .hero .hero-question strong{display:block;font-family:inherit;font-size:clamp(20px,1.81vw,28.7px);font-weight:700;font-style:normal;line-height:1.16;letter-spacing:-.015em;color:#3f4440;margin-bottom:8px}
 .hero .hero-question .mobile-line{display:none}
 .hero .hero-question strong .mobile-line:first-of-type{display:block}
 .hero .hero-question strong+br{display:none}
 .hero .section-action{margin:17px 0 0}
 .hero .cta{display:flex;min-width:0;width:100%;min-height:72px;padding:16px 20px;gap:0;border:0;border-radius:28px;color:#fff;font-family:inherit;font-size:clamp(22px,1.96vw,31px);font-weight:700;line-height:1.2;letter-spacing:-.025em;background:linear-gradient(110deg,#5944ad,#443383 50%,#6252b3);box-shadow:0 5px 0 #312164,0 14px 26px rgba(76,48,139,.12);isolation:isolate}
 .hero .cta>span{display:none}
 .hero .cta:hover{background:linear-gradient(110deg,#654dba,#4e3c94 50%,#6d5bbf);box-shadow:0 7px 0 #312164,0 16px 27px rgba(76,48,139,.15);transform:translateY(-2px)}
 .hero .cta:active,.hero .cta.is-pressed{transform:translateY(4px);filter:brightness(.96);box-shadow:0 1px 0 #312164,0 5px 15px rgba(76,48,139,.15)}
 .hero .cta:focus-visible{outline-color:#504094;outline-offset:8px}
 .hero .hero-gift{grid-column:1/-1;grid-row:3;position:relative;display:block;min-height:100px;padding:14px 25px 14px 134px;margin:20px 0 0;border:0;border-radius:22px;background:#eee8fc;color:#201746}
 .hero .hero-gift>img{display:none}
 .hero .hero-gift:before{content:'';position:absolute;left:24px;top:8px;width:90px;height:86px;background:url('assets/desktop-approved-scene.avif') -85px -777px/1440px auto no-repeat;pointer-events:none}
 .hero .gift-content{display:grid;grid-template-columns:minmax(0,40%) minmax(0,40.5%) minmax(0,19.5%);gap:0;align-items:center}
 .hero .gift-label{grid-column:1;grid-row:1;font-family:inherit;font-size:clamp(16px,1.48vw,23.5px);font-weight:700;line-height:1.23;letter-spacing:-.035em;text-transform:none;color:#171039;margin:0;padding-right:25px}
 .hero .gift-name{grid-column:2;grid-row:1;max-width:none;align-self:stretch;margin:0;padding:0 26px 0 46px;border-left:1px solid #b5a5d2;font-family:inherit;font-size:clamp(14px,1.1vw,17.5px);font-weight:400;line-height:1.4;letter-spacing:-.025em;color:#38344a;display:flex;align-items:center}
 .hero .timer{grid-column:3;grid-row:1;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:0;padding:0 0 0 26px;border-left:1px solid #b5a5d2;white-space:nowrap}
 .hero .timer-label{font-family:inherit;font-size:clamp(13px,1.05vw,16.7px);line-height:1.2;letter-spacing:-.025em;color:#38344a}
 .hero .timer-digits{display:flex;align-items:center;justify-content:center;gap:0;width:154px;max-width:100%;height:40px;border-radius:30px;background:#dbd2f8;color:#443185;font-family:inherit;font-size:28px;font-weight:700;line-height:1}
 .hero .timer-cell{display:flex;gap:0;flex-direction:row;padding:0;border:0;border-radius:0;background:none}
 .hero .timer-cell b{font-family:inherit;font-size:28px;font-weight:700;line-height:1;color:#443185}
 .hero .timer-cell small{display:none}
}
@media(min-width:900px) and (max-height:850px),(min-width:900px) and (min-aspect-ratio:17/10){
 .hero{padding-top:22px;padding-bottom:20px}
 .hero .mobile-hero-brand{width:210px}
 .hero .hero-copy{margin-top:19px}
 .hero h1{font-size:clamp(60px,5.55vw,88px);line-height:1.03}
 .hero .hero-subtitle{font-size:clamp(28px,2.45vw,39px);line-height:1.055;margin-bottom:13px}
 .hero .hero-lead{font-size:clamp(17px,1.355vw,21.5px);padding-block:14px;line-height:1.23}
 .hero .hero-question{margin-top:14px;font-size:clamp(15px,1.25vw,20px)}
 .hero .hero-question strong{font-size:clamp(20px,1.58vw,25px);margin-bottom:6px}
 .hero .section-action{margin-top:13px}
 .hero .cta{min-height:64px;padding-block:14px;font-size:clamp(21px,1.82vw,29px)}
 .hero .hero-gift{min-height:87px;margin-top:17px;padding-block:10px}
 .hero .hero-gift:before{top:1px}
 .hero .gift-label{font-size:clamp(16px,1.35vw,21.5px)}
 .hero .gift-name{font-size:clamp(14px,1.03vw,16.4px)}
}
@media(min-width:900px) and (max-width:1199px){
 .hero{padding-top:20px}
 .hero-inner{width:92%}
 .hero .mobile-hero-brand{margin-left:35px;width:185px}
 .hero .event-strip{gap:16px;padding-right:0}
 .hero .event-when{padding-left:40px;font-size:16px}
 .hero .event-when>span{font-size:16px}
 .hero .event-type{padding-left:51px;font-size:13px}
 .hero .event-icon{width:28px;height:28px}
 .hero .event-type .event-icon{width:30px;height:30px;left:13px}
 .hero .hero-copy{margin-top:25px}
 .hero h1{font-size:60px}
 .hero .hero-subtitle{font-size:28px}
 .hero .hero-lead{width:94%;font-size:16px;padding:15px 12px}
 .hero .hero-question{font-size:15px}
 .hero .hero-question strong{font-size:19px}
 .hero .cta{font-size:20px;min-height:64px}
 .hero .hero-gift{padding-left:102px;padding-right:18px}
 .hero .hero-gift:before{left:11px;width:76px;height:77px;background-size:1250px auto;background-position:-75px -673px;top:9px}
 .hero .gift-label{font-size:15px;padding-right:14px}
 .hero .gift-name{padding-inline:18px;font-size:13px}
 .hero .timer{padding-left:17px}
 .hero .timer-label{font-size:12px}
 .hero .timer-digits{width:130px}
}
@media(min-width:900px) and (max-height:730px){
 .hero{padding-top:16px;padding-bottom:17px}
 .hero .hero-copy{margin-top:14px}
 .hero h1{font-size:clamp(57px,5.2vw,79px);line-height:1}
 .hero .hero-subtitle{font-size:clamp(26px,2.3vw,35px);line-height:1.04;margin-bottom:11px}
 .hero .hero-lead{font-size:clamp(16px,1.285vw,19.5px);padding-block:12px;line-height:1.2}
 .hero .hero-question{margin-top:12px}
 .hero .hero-question strong{font-size:clamp(19px,1.5vw,22.5px)}
 .hero .section-action{margin-top:11px}
 .hero .cta{min-height:60px;padding-block:12px}
 .hero .hero-gift{margin-top:15px;min-height:82px;padding-block:8px}
 .hero .hero-gift:before{transform:scale(.87);transform-origin:top left;left:28px;top:4px}
}
@media(min-width:1200px) and (max-height:700px){
 .hero .mobile-hero-brand{width:190px}
 .hero .event-when,.hero .event-when>span{font-size:20px}
 .hero .event-type{font-size:17px}
 .hero h1{font-size:70px}
 .hero .hero-subtitle{font-size:31px}
 .hero .hero-lead{font-size:17.5px;padding-block:10px}
 .hero .hero-question strong{font-size:20px}
 .hero .hero-gift{margin-top:13px;min-height:80px}
}
@media(min-width:900px) and (prefers-reduced-motion:reduce){.hero .cta{transition:none}.hero .cta:hover{transform:none}}
