/* ScrollTrigger owns the pin. Ancestors never transform or clip the scene. */
html{scroll-behavior:auto}
.gift-hero{--gift-scroll-distance:2200px;position:relative;width:100%;height:auto;margin:0;padding:0;background:var(--canvas)}
.gift-layout{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(24px,4vw,64px);width:100%;max-width:1680px;min-height:560px;height:100svh;margin-inline:auto;padding:40px 6vw 66px}
.gift-copy{max-width:620px;position:relative;z-index:2}
.gift-copy .eyebrow{margin-bottom:18px}
.gift-copy h1{font-size:clamp(62px,6.05vw,98px);line-height:1.02;letter-spacing:-.045em}
.gift-copy h1 em{color:#8c735c}
.gift-description{font-size:13px;line-height:1.8;color:var(--muted);margin:22px 0 24px}
.gift-footnote{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:10px;color:var(--muted)}
.gift-footnote .icon{width:19px;height:19px}
.gift-track{width:100%;min-width:0}
.gift-stage{position:relative;width:100%;height:min(640px,calc(100svh - 120px));min-width:0;margin:0;padding:0}
.gift-composition{position:absolute;left:50%;top:50%;width:600px;height:590px;transform:translate(-50%,-50%) scale(var(--gift-fit,.88)) translate(-24px,48px);transform-origin:50% 50%;isolation:isolate}
.gift-artwork{display:block;width:600px;height:590px;overflow:visible}
.gift-box-back,.gift-box-front{opacity:1;visibility:visible}
.gift-name{font:24px var(--script)}
.gift-caption{position:absolute;right:-25px;top:330px;font:18px/1.1 var(--script);color:#987a57;transform:rotate(8deg)}
.gift-caption em{font-size:23px}
.gift-scroll-cue{position:absolute;left:6vw;bottom:22px;display:flex;align-items:center;gap:14px;font:8px var(--sans);letter-spacing:.15em;color:var(--muted)}
.gift-scroll-cue>span{width:43px;height:1px;background:#ae9473}
.gift-hero.is-static{height:auto}
.gift-hero.is-static .gift-layout{position:relative}
/* SVG control icons outside the hero. */
.icon{pointer-events:none}
.ear-preview small{display:flex;justify-content:center;align-items:center}
.ear-preview small .icon{width:18px;height:20px}
.quantity-control button,.cart-qty button{display:grid;place-items:center}
.quantity-control .icon,.cart-qty .icon{width:14px;height:14px;stroke-width:1.5}
.faq-symbol{display:grid;place-items:center;flex:0 0 19px}
.faq-symbol .icon{width:18px;height:18px}
.handwritten .icon{width:18px;height:20px;margin-left:4px}
footer>div>a{display:inline-flex;align-items:center;gap:7px}
footer>div>a .icon{width:13px;height:13px}
@media(min-width:801px) and (max-width:1100px){
 .gift-copy h1{font-size:clamp(52px,6.05vw,66px)}
 .gift-copy .eyebrow{font-size:8px;letter-spacing:.13em}
 .gift-description{font-size:12px}
 .gift-copy .button{gap:16px;padding-inline:20px}
}
@media(max-width:800px),(max-width:950px) and (max-height:500px){
 .gift-hero{--gift-scroll-distance:1900px;height:auto}
 .gift-layout{position:relative;display:block;height:auto;min-height:0;padding:42px 6vw 0}
 .gift-copy{max-width:580px;margin-inline:auto;text-align:center}
 .gift-copy .eyebrow{font-size:8px;margin-bottom:16px}
 .gift-copy h1{font-size:clamp(62px,10vw,86px);line-height:1.05}
 .gift-description{font-size:12px;line-height:1.9;margin:18px 0 22px}
 .gift-footnote{justify-content:center;margin-top:16px}
 .gift-track{width:calc(100% + 12vw);height:auto;min-height:var(--scene-height,620px);margin:12px 0 0 -6vw}
 .gift-stage{position:relative;top:0;height:var(--scene-height,620px)}
 .gift-composition{transform:translate(-50%,-50%) scale(var(--gift-fit,.94)) translate(0,77px)}
 .gift-caption,.gift-scroll-cue,.gift-sparks,#giftLidShadow{display:none}
 .gift-hero.is-static .gift-track{height:var(--scene-height,620px)}
 .gift-hero.is-static .gift-stage{position:relative;top:auto}
 body::before{display:none}
}
@media(max-width:480px){
 .gift-layout{padding-top:34px}
 .gift-track{margin-top:0}
 .gift-copy .eyebrow{letter-spacing:.12em;font-size:7px}
 .gift-copy h1{font-size:62px}
 .gift-description{font-size:11px}
 .gift-description .desktop-break{display:none}
 .gift-copy .button{font-size:11px;min-height:52px;padding:14px 22px;gap:22px}
 .gift-footnote{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
 .gift-hero{height:auto}
 .gift-layout{position:relative;top:auto}
 .gift-track{height:var(--scene-height,620px)}
 .gift-stage{position:relative;top:auto}
}
