/* Full film frames and quiet editorial copy across phone, standard and wide screens. */
.brand-film{background:#eef0ed;padding:clamp(58px,6vw,105px) clamp(18px,4.5vw,88px) 0;scroll-margin-top:115px}
.brand-film-heading{text-align:center;margin:0 auto clamp(34px,3.4vw,60px);max-width:900px}
.brand-film-heading .eyebrow{font-size:10px;letter-spacing:.23em;color:#75827d;margin:0 0 24px}
.brand-film-heading h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,46px);line-height:1.65;letter-spacing:.095em;margin:0}
.brand-film-lead{font-size:clamp(12px,.9vw,14px);line-height:2.15;color:#697470;letter-spacing:.065em;margin:24px 0 0}
.brand-film-lead span{display:block}
.brand-film-stage{width:100%;max-width:min(1680px,145.78svh);margin:0 auto}
.brand-film-frame{position:relative;aspect-ratio:16/9;background:#242a28;overflow:hidden}
.brand-film-frame video{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.brand-film-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0 17px;border-bottom:1px solid #d0d8d2}
.brand-film-caption{margin:0;font-family:var(--technical);font-size:9px;letter-spacing:.13em;color:#6a7873;white-space:nowrap}
.brand-film-caption span{margin:0 9px;color:#a5afa9}
.brand-film-controls{display:flex;align-items:center;gap:20px;flex-shrink:0}
.brand-film-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;background:none;padding:6px 2px;color:#34413b;font-family:var(--sans);font-size:11px;letter-spacing:.04em;cursor:pointer}
.brand-film-controls svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}
[data-play-icon]{font-family:var(--sans);font-size:17px;width:17px;line-height:1}
[data-film-sound] .sound-waves{display:none}
[data-film-sound][aria-pressed=true] .sound-waves{display:initial}
[data-film-sound][aria-pressed=true] .sound-off{display:none}
.brand-film-controls button:hover{color:#9a724c}
.brand-film-controls button:focus-visible,.contact-topic:focus-visible,.contact-copy:focus-visible{outline:2px solid #a27750;outline-offset:5px}
.brand-film-status{min-height:20px;margin:0;padding:7px 0 15px;color:#697470;font-size:11px;line-height:1.6;text-align:right}
.brand-film-status:empty{min-height:0;padding:0 0 24px}
.brand-film-noscript{text-align:center;font-size:12px;padding:12px}
.film-dialog{width:min(1680px,calc((100svh - 104px) * 16 / 9));max-width:calc(100vw - 40px);background:#202624;box-shadow:0 24px 100px #0005}
.film-dialog video{width:100%;height:auto;max-height:calc(100svh - 104px);aspect-ratio:16/9;object-fit:contain}
.film-dialog .close-button{top:-44px;right:0;min-width:44px;min-height:44px;font-size:26px}
.brand-contact.winter-contact{padding:72px 24px 52px;background:#e9eeeb;text-align:center}
.brand-contact-title{font-family:var(--sans);font-size:clamp(26px,2.2vw,32px);font-weight:400;line-height:1.5;letter-spacing:.065em;margin:0;color:#28332e}
.brand-contact .brand-contact-lead{font-size:13px;line-height:2;letter-spacing:.035em;margin:18px auto 28px;max-width:560px;color:#637168}
.contact-email-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;width:min(100%,300px);min-height:56px;padding:13px 22px;border:1px solid #7c8780;border-radius:2px;background:transparent;font:400 12px/1.6 var(--sans);letter-spacing:.055em;color:#28332e;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.contact-email-button svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.contact-email-button .contact-email-arrow{width:9px;height:16px;margin-left:auto;stroke-width:1}
.contact-email-button:hover{background:#28332e;border-color:#28332e;color:#fff}
.contact-email-button:focus-visible{outline:2px solid #9a7958;outline-offset:5px}
.brand-contact .contact-address{display:table;font:400 11px/1.5 var(--technical);letter-spacing:.06em;color:#637168;margin:17px auto 0;padding:4px 0;text-decoration:none}
.brand-contact .contact-address:hover{text-decoration:underline;text-underline-offset:4px}
.brand-contact--page.winter-contact{min-height:440px;padding-top:100px}
.online-stores{padding:62px 24px 76px;background:#e9eeeb;text-align:center;scroll-margin-top:100px}
.online-stores--after-contact{padding-top:0}
.online-stores-title{font-family:var(--technical);font-size:12px;line-height:1.5;font-weight:400;letter-spacing:.22em;color:#66776d;margin:0 0 18px}
.online-stores-links{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,54px);max-width:440px;margin:0 auto}
.online-store-link{display:flex;align-items:center;justify-content:center;flex:0 1 164px;min-width:0;min-height:88px;padding:14px 16px;background:transparent;border:0;text-decoration:none;transition:opacity .2s}
.online-store-logo{display:block;max-width:100%;height:auto;object-fit:contain}
.online-store-logo-rakuten{width:124px}
.online-store-logo-amazon{width:112px}
.online-store-link:hover{opacity:.72}
.online-store-link:focus-visible{outline:1px solid #66776d;outline-offset:3px;border-radius:2px}
.brand-footer.footer{padding:62px 0 55px}
.brand-footer .footer-grid{grid-template-columns:1.3fr repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,56px)}
.brand-footer .footer-grid>div{min-width:0}
.brand-footer .footer-tagline{font-size:11px;line-height:1.9;letter-spacing:.025em}
.contact-page{padding-bottom:100px}
.contact-topic-intro{font-size:13px;letter-spacing:.07em;margin:0 0 30px}
.contact-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 60px}
.contact-topic{display:block;border-top:1px solid #cbd3cd;padding:25px 0 24px;color:var(--ink);transition:border-color .2s}
.contact-topic-index{font-family:var(--technical);font-size:9px;color:#7a8980;letter-spacing:.16em}
.contact-topic h2{font-family:var(--serif);font-size:clamp(20px,2vw,25px);font-weight:400;letter-spacing:.055em;line-height:1.65;margin:19px 0 12px}
.contact-topic p{font-size:12px;color:#748079;line-height:1.9;margin:0}
.contact-topic-action{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-size:11px;letter-spacing:.06em}
.contact-topic-action b{font-weight:400;font-size:19px}
.contact-topic:hover{border-color:#9a7958}
.contact-app-note{font-size:12px;color:#718078;line-height:2;margin:35px 0 50px}
.contact-direct{background:#e9eeea;padding:32px 36px;display:flex;align-items:center;flex-wrap:wrap;gap:14px 28px}
.contact-direct p{width:100%;font-size:12px;color:#66756d;line-height:1.9;margin:0}
.contact-direct>a{font-family:var(--technical);font-size:clamp(21px,2vw,27px);letter-spacing:.04em}
.contact-copy{font:11px/1.6 var(--sans);padding:10px 0;border:0;border-bottom:1px solid #9aaba0;background:transparent;min-height:44px;cursor:pointer;color:#596c60}
[data-copy-status]{font-size:11px;color:#66756d}
.contact-preparation{max-width:740px;margin-top:65px}
.contact-preparation h2{font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:24px}
.contact-preparation p{font-size:12px;line-height:2.2;color:#6c7971;margin:0 0 16px}
.contact-preparation .winter-link{margin-top:12px}
@media(min-width:1920px){.brand-film-heading{margin-bottom:48px}}
@media(min-width:701px) and (max-width:1100px){.brand-footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.brand-footer .footer-grid>div:first-child{grid-column:1/-1;display:flex;align-items:center;gap:30px}.brand-footer .footer-tagline{margin:0}}
@media(max-width:900px){.brand-film-toolbar{gap:8px}.brand-film-controls{gap:13px}.brand-film-caption{font-size:8px;letter-spacing:.08em}.brand-film-caption span{margin:0 4px}}
@media(max-width:700px){.brand-film{padding:55px 20px 0;scroll-margin-top:98px}.brand-film-heading .eyebrow{font-size:9px;margin-bottom:18px}.brand-film-heading h2{font-size:clamp(26px,6.8vw,34px);letter-spacing:.06em}.brand-film-lead{font-size:11px;letter-spacing:.02em;margin-top:21px;line-height:2}.brand-film-stage{max-width:none}.brand-film-toolbar{flex-direction:column;gap:8px;padding:17px 0 12px}.brand-film-controls{width:100%;justify-content:space-between;gap:6px}.brand-film-controls button{font-size:10px;gap:6px;padding:4px 2px;min-height:44px}.brand-film-caption{font-size:8px;letter-spacing:.1em}.brand-film-caption span{margin:0 8px}.brand-film-status{font-size:10px;text-align:left}.brand-film-status:empty{padding-bottom:25px}.film-dialog{max-width:calc(100vw - 24px)}.brand-contact .brand-contact-lead{font-size:12px;letter-spacing:.025em;line-height:2.1}.brand-contact .winter-pill{min-width:0;width:min(100%,300px)}.brand-footer.footer{padding:45px 0}.brand-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.brand-footer .footer-grid>div:first-child{grid-column:1/-1}.contact-topic-grid{gap:22px;grid-template-columns:1fr}.contact-topic h2{font-size:22px}.contact-topic{padding:22px 0}.contact-page{padding-bottom:65px}.contact-direct{padding:26px 22px;gap:12px 20px}.contact-preparation{margin-top:45px}}
@media(max-width:360px){.brand-film{padding-left:14px;padding-right:14px}.brand-film-controls button{font-size:9px;gap:4px}.brand-film-lead{font-size:10px}.brand-footer .footer-grid{gap:28px 16px}}
@media(max-width:700px){.brand-contact.winter-contact{padding:54px 22px 40px}.brand-contact-title{font-size:26px}.brand-contact .brand-contact-lead{font-size:12px;line-height:1.9;letter-spacing:.015em;margin:16px auto 24px}.contact-email-button{min-height:54px}.brand-contact--page.winter-contact{min-height:380px;padding-top:72px}.online-stores{padding:48px 20px 54px}.online-stores--after-contact{padding-top:0}.online-stores-title{font-size:11px;margin-bottom:14px}.online-stores-links{max-width:330px;gap:20px}.online-store-link{min-height:80px;padding:12px}.online-store-logo-rakuten{width:112px}.online-store-logo-amazon{width:102px}}
@media(prefers-reduced-motion:reduce){.contact-topic,.online-store-link,.contact-email-button{transition:none}}
