/* Static, reserved-space announcement shared across existing and Concept A pages. */
.promotion-announcement{background:#141517;color:#e4e4e4;font-family:"DM Sans",Arial,sans-serif;font-size:12px;line-height:1.5;text-align:center;position:relative;z-index:6}
.promotion-announcement :is(a,button){display:block;box-sizing:border-box;min-height:36px;padding:9px 20px;color:inherit;text-decoration:none;overflow-wrap:break-word}
.promotion-announcement strong{font-weight:800;color:#fff}
.promotion-announcement :is(a,button):hover{color:#e7c979}
.promotion-announcement :is(a,button):focus-visible{outline:3px solid #e7c979;outline-offset:-4px}
.promotion-announcement span{display:inline-block;margin-left:5px;color:#e7c979}
@media(max-width:420px){.promotion-announcement :is(a,button){min-height:44px;padding:12px 12px;font-size:11px}}
/* V4's fixed header otherwise covers the announcement. Keep both in normal order. */
.v4-shell>.promotion-announcement{z-index:31}
.v4-shell:has(>.promotion-announcement)>.v4-header{position:sticky;top:0;background:#0a0c0f;margin-bottom:-78px}
@media(max-width:540px){.v4-shell:has(>.promotion-announcement)>.v4-header{margin-bottom:-68px}}

.promotion-announcement button{border:0;border-radius:0;background:none;font:inherit;letter-spacing:inherit;cursor:pointer;width:100%}
/* The casting scene is the full viewport; copy sits below the floating iPad. */
.promotion-scroll-lock{overflow:hidden;overscroll-behavior:none}
.promotion-window{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#f6f3ed;color:#171815;overflow:hidden;opacity:0;transition:opacity .24s ease;overscroll-behavior:contain;font-family:"DM Sans",Arial,sans-serif}
.promotion-window::backdrop{background:#24231f99}
.promotion-window.is-visible{opacity:1}
.promotion-window-scene{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain}
#promotion-window-art{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:left center;transform:scale(1.015);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.promotion-window.is-visible #promotion-window-art{transform:scale(1)}
.promotion-window-copy{position:absolute;left:4%;bottom:2%;width:35%;max-width:540px;text-align:left;transform:translateY(10px);transition:transform .3s ease}
.promotion-window.is-visible .promotion-window-copy{transform:translateY(0)}
.promotion-window h2{font-size:clamp(24px,min(2.8vw,4.3dvh),50px);font-weight:550;line-height:1.04;letter-spacing:-.05em;margin:0 0 10px}
#promotion-window .promotion-window-subtitle{font-size:clamp(15px,1.25vw,22px);line-height:1.4;margin:0 0 14px}
.promotion-window-cta.sf-button{min-height:48px;min-width:160px;justify-content:center;background:#c9a84c;color:#151714;border-color:#c9a84c}
.promotion-window-cta.sf-button:hover{background:#c9a84c;color:#151714;border-color:#c9a84c}
#promotion-window-qualification{font-size:11px;line-height:1.5;color:#51534c;margin:10px 0 0}
.promotion-window-close{position:fixed;right:max(24px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));width:48px;height:48px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:#181a17;cursor:pointer;box-shadow:0 2px 16px #1c1c1614;transition:background .2s}
.promotion-window-close:hover{background:#eee8dc}
.promotion-window :is(a,button):focus-visible{outline:3px solid #8c6820;outline-offset:5px}
.promotion-window .promotion-window-brand{display:none}
@media(min-aspect-ratio:1/1) and (max-aspect-ratio:3/2){#promotion-window-art{height:80%;object-fit:contain;object-position:center top}}
@media(max-aspect-ratio:1/1){
 .promotion-window .promotion-window-brand{display:block;position:absolute;top:32px;left:24px;width:138px;height:auto}
 #promotion-window-art{inset:max(12%,calc(57% - 60vw)) auto auto -16%;width:132%;height:auto;object-fit:contain;mask-image:linear-gradient(transparent,#000 3%,#000 98%,transparent),radial-gradient(ellipse 30% 18% at 0 0,transparent 85%,#000 115%);mask-composite:intersect}
 .promotion-window-copy{left:6%;bottom:max(6%,24px);width:88%;max-width:none;text-align:center}
 .promotion-window h2{font-size:clamp(32px,7.5vw,58px)}
 #promotion-window .promotion-window-subtitle{font-size:clamp(16px,3.4vw,22px)}
 .promotion-window-close{right:18px;top:max(18px,env(safe-area-inset-top));width:44px;height:44px}
}
@media(max-width:600px) and (max-height:650px) and (max-aspect-ratio:1/1){
 #promotion-window-art{top:9%}
 .promotion-window-copy{bottom:20px}.promotion-window h2{font-size:32px;margin-bottom:8px}
 #promotion-window .promotion-window-subtitle{margin-bottom:14px;font-size:15px}#promotion-window-qualification{margin-top:10px;font-size:10px}
}
@media(min-aspect-ratio:2/1){
 #promotion-window-art{inset:0 0 0 auto;width:75%;object-fit:contain;object-position:right center}
 .promotion-window-copy{left:4%;bottom:12%;width:30%}.promotion-window h2{font-size:clamp(28px,3.2vw,50px)}
}
@media(prefers-reduced-motion:reduce){.promotion-window,#promotion-window-art,.promotion-window-copy{transition:none;transform:none}}
/* Product detail: a centered introduction, casting scene and real device images. */
.promotion-page{max-width:1180px;margin:auto;color:#080a0f}
.promotion-page .promotion-hero{max-width:850px;padding:60px 16px 42px;text-align:center;margin:auto}
.pa .promotion-page .promotion-hero h1{font-size:clamp(44px,5.8vw,80px);line-height:1.02;letter-spacing:-.055em;margin:20px 0 24px;font-weight:550}
.pa .promotion-page .promotion-hero h1>span{color:#8e6b22}
.promotion-page .promotion-subtitle{font-size:clamp(20px,2vw,26px);line-height:1.4;letter-spacing:-.025em;margin:0 auto 16px}
.promotion-page .promotion-explanation{max-width:585px;margin:auto;color:#61636a;font-size:15px;line-height:1.7}
.promotion-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.promotion-page .promotion-preview-note{font-size:11px;line-height:1.5;color:#68665e;margin:20px auto 0;max-width:390px}
.promotion-casting{margin:0;overflow:hidden;border-radius:18px}
.promotion-casting img{width:100%;height:auto;display:block}
.promotion-casting figcaption{text-align:center;font-size:11px;line-height:1.5;color:#66645e;padding:12px 16px 0}
.promotion-bundle{padding:76px 0 52px}
.promotion-bundle-heading{text-align:center;max-width:640px;margin:0 auto 34px}
.promotion-bundle-heading h2{font-size:clamp(30px,3.3vw,44px);letter-spacing:-.045em;line-height:1.12;margin:14px 0 18px;font-weight:500}
.promotion-bundle-heading>p:last-child{font-size:14px;line-height:1.7;color:#61636a;max-width:510px;margin:auto}
.promotion-devices{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.promotion-ipad,.promotion-pencil{min-width:0;border-radius:20px;background:#fff;text-align:center;padding:32px 36px 36px}
.promotion-device-image{height:320px;display:flex;justify-content:center;align-items:center;margin-bottom:24px}
.promotion-device-image img{height:100%;width:100%;object-fit:contain;display:block}
.promotion-pencil .promotion-device-image img{height:90%;width:auto;max-width:100%}
.promotion-device-category{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:#61636a;margin-bottom:14px}
.promotion-device-copy h3{font-size:clamp(28px,3vw,38px);line-height:1.14;letter-spacing:-.045em;margin:0 0 24px;font-weight:500}
.promotion-device-copy h3 span{color:#7d6532}.promotion-pencil h3 span{font-size:.72em}
.promotion-device-specs{display:flex;justify-content:center;gap:48px;padding:0;margin:0}
.promotion-device-specs>div{display:flex;flex-direction:column-reverse;gap:6px}
.promotion-device-specs dt{font-size:12px;color:#61636a}.promotion-device-specs dd{margin:0;font-size:26px;line-height:1.2;letter-spacing:-.025em}
.promotion-device-copy>p:not(.promotion-device-category){font-size:14px;line-height:1.65;color:#61636a;margin:0}
.promotion-device-copy .promotion-compatible{font-size:12px!important;margin-top:12px!important}
.promotion-page .promotion-source{text-align:center;margin:22px auto 0;max-width:730px;color:#61636a;font-size:11px;line-height:1.7}
.promotion-source a{text-decoration:underline;text-underline-offset:3px}
.promotion-details,.promotion-how{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding:56px 12px;border-top:1px solid #d7d3c9;scroll-margin-top:115px}
.promotion-section-title h2{font-size:clamp(30px,3vw,42px);line-height:1.1;letter-spacing:-.045em;margin:14px 0 20px;font-weight:500}
.promotion-section-title>p:last-child{font-size:15px;line-height:1.7;color:#61636a}
.promotion-details .promotion-terms>div:first-child{padding-top:0}.promotion-details .promotion-terms>div{padding-block:18px;border-color:#d7d3c9}
.promotion-details .promotion-terms dt{font-size:15px;margin-bottom:8px}
.promotion-details .promotion-terms dd{font-size:14px;color:#61636a;line-height:1.7}
.promotion-confirmation{padding:22px;margin-top:20px;background:#e8e4dc;border-radius:12px}
.promotion-confirmation h3{font-size:17px;line-height:1.4;margin:0 0 10px}.promotion-confirmation p{font-size:13px;line-height:1.7;color:#61636a;margin:0}
.promotion-how ol{list-style:none;counter-reset:offer-steps;margin:0;padding:0}
.promotion-how li{position:relative;counter-increment:offer-steps;padding:0 0 28px 54px}.promotion-how li:last-child{padding-bottom:0}
.promotion-how li:before{content:counter(offer-steps);position:absolute;left:0;top:0;border:1px solid #c9b36f;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:13px;color:#80621d}
.promotion-how h3{font-size:20px;line-height:1.25;margin-bottom:10px}.promotion-how li p{font-size:14px;color:#61636a;line-height:1.7}
.promotion-questions{text-align:center;padding:36px 0 0;margin:auto;scroll-margin-top:115px}
.promotion-questions h2{font-size:clamp(30px,3.5vw,44px);line-height:1.1;letter-spacing:-.045em;margin:0 0 24px;font-weight:500}
.promotion-page .promotion-affiliation{font-size:11px;color:#61636a;line-height:1.7;margin-top:24px}
@media(max-width:760px){
 .promotion-page .promotion-hero{padding:40px 0 32px}.pa .promotion-page .promotion-hero h1{font-size:clamp(42px,9vw,62px)}
 .promotion-actions{gap:10px}.promotion-actions .sf-button{font-size:12px;padding:13px 18px}
 .promotion-bundle{padding:46px 0 36px}.promotion-bundle-heading{margin-bottom:26px}
 .promotion-device-image{height:230px}.promotion-ipad,.promotion-pencil{padding:20px 18px 26px}.promotion-device-specs{gap:28px}
 .promotion-details,.promotion-how{grid-template-columns:1fr;gap:22px;padding:36px 0;scroll-margin-top:95px}
 .promotion-section-title,.promotion-questions{text-align:center}.promotion-section-title h2 br{display:none}
 .promotion-questions{padding-top:12px}
}
@media(max-width:540px){
 .promotion-devices{grid-template-columns:1fr;gap:14px}.promotion-device-image{height:270px;margin-bottom:18px}
 .promotion-device-copy h3{font-size:34px}.promotion-pencil .promotion-device-image{height:230px}
 .promotion-casting{border-radius:12px}.promotion-casting figcaption{font-size:10px;padding-inline:8px}
 .promotion-page .promotion-source{padding-inline:8px}.promotion-explanation{font-size:14px!important}
}
