/* White surfaces and responsive refinements. */
:root{color-scheme:light}
.header{background:var(--ink);color:#fff;max-width:none;padding-inline:max(56px,calc((100% - 1208px)/2))}
.header .brand-crop{background:#fff;border-radius:3px}
.header .header-cta{background:var(--yellow);color:var(--ink)}
.header nav a:hover{color:var(--yellow)}
.header{font-family:'Manrope','DM Sans',sans-serif}
.header .brand{font-family:'Manrope','DM Sans',sans-serif;font-size:28px;font-weight:800;letter-spacing:-1.1px;line-height:1.1;gap:13px}
.header .brand-light{font-weight:400;letter-spacing:-1.3px}
.header .brand small{font-family:'Manrope',sans-serif;font-size:8px;font-weight:500;letter-spacing:1.35px;line-height:1.5;margin-top:7px;color:#bfc1c5}
.header nav{gap:32px}
.header nav a{font-size:14px;font-weight:500;letter-spacing:.1px;color:#e0e1e4}
.header .header-cta{font-family:'Manrope',sans-serif;font-size:13px;font-weight:800;letter-spacing:.1px}
footer{background:#fff}
.quote-section{background:var(--ink);color:#fff}
.quote-grid .eyebrow{color:#c5c6c7}
.quote-grid h2 span{color:var(--yellow)}
.quote-grid>div>p{color:#b9bbbd}
form{background:#242527;border:1px solid #ffffff20}
label{color:#d5d6d7}
input,select,textarea{color:#fff;background:#303133;border-color:#62666a;min-height:48px;max-width:100%;color-scheme:dark}
input:focus,select:focus,textarea:focus{outline:2px solid var(--yellow);outline-offset:2px;border-color:var(--yellow)}
::placeholder{color:#a8a9ab}
.form-note{color:#b9bbbd}
.copy-button{background:#fff;color:var(--ink);min-height:44px}
#quote-result{border-color:#555}
#copy-status{color:var(--yellow)}
.hero-copy,.hero-art,.quote-grid>*,.fields>*,.faq>*{min-width:0}
.hero-art{background:#fff;border:1px solid #e6e9ec}
.hero-photo{inset:90px 0 42px}
.hero-photo img{object-fit:contain}
.header nav a,.text-link{min-height:44px;display:inline-flex;align-items:center}
.ticker{overflow-x:auto;scrollbar-width:thin}
.ticker>div{width:max-content;min-width:100%;padding-inline:24px}
@media(min-width:681px) and (max-width:1050px){
 .header{padding-inline:30px}
 h1{font-size:clamp(2.75rem,5.6vw,4.1rem)}
 .hero-art{min-height:410px}
 .quote-grid h2{font-size:clamp(2rem,4.1vw,3rem)}
 .fields{grid-template-columns:1fr}
}
@media(max-width:680px){
 html{scroll-padding-top:24px}
 .wrap,.header{padding-inline:20px}
 .header{height:80px}
 .header .brand{font-size:23px;gap:9px;letter-spacing:-.8px}
 .header .brand small{font-size:6px;letter-spacing:.8px;margin-top:5px}
 .brand{font-size:21px;letter-spacing:1.4px}
 .header nav a:first-child{display:inline-flex;font-size:12px;white-space:nowrap}
 .hero{padding-top:22px;gap:26px}
 h1{font-size:clamp(2.6rem,11.8vw,4.25rem);line-height:1.06}
 .hero-copy>p{font-size:16px;margin-top:22px}
 .hero-actions{display:grid;grid-template-columns:1fr;justify-items:stretch;gap:10px}
 .hero-actions .text-link{justify-self:center;font-size:14px}
 .button{font-size:14px;min-height:50px}
 .eyebrow{font-size:10px;line-height:1.6;letter-spacing:.8px}
 .hero-note{font-size:12px;line-height:1.5;margin-top:15px}
 .hero-art{min-height:0;aspect-ratio:1.1}
 .hero-photo{inset:76px 0 34px}
 .art-label{top:18px;left:18px}
 .art-label strong{font-size:25px}
 .sticker{width:66px;height:66px;right:13px;top:12px}
 .art-bottom{left:16px;bottom:15px;font-size:7px;letter-spacing:1px}
 .art-number{right:16px;bottom:15px;font-size:10px}
 .section{padding-block:44px}
 .product{padding:24px 22px 0;min-height:0}
 .product h3{margin-top:18px}
 .product p,.steps p,.occasions p,.faq details p{font-size:16px}
 .product-number{font-size:11px}
 .product-button{min-height:56px}
 .quote-grid h2{font-size:clamp(2rem,9.8vw,3.2rem)}
 .quote-grid>div>p{font-size:16px}
 form{padding:20px 16px}
 .faq summary{font-size:16px;gap:14px;line-height:1.5}
 .faq summary span{flex-shrink:0}
 .footer-note{margin-left:0;text-align:left}
}
@media(max-width:360px){.wrap,.header{padding-inline:16px}.brand{font-size:19px}.brand-crop{width:46px}.header nav a:first-child{font-size:11px}.quote-grid h2{letter-spacing:-.06em}}
@media(max-width:360px){.header .brand{font-size:21px;gap:7px}.header .brand small{letter-spacing:.5px}}
@media(max-width:680px){.header nav a:not(:first-child){display:none}.header nav{gap:0;flex-shrink:0}}
