/* LYA's motion is finite, never blocks a click, and is optional. */
:root { --ease-lya: cubic-bezier(.25, .8, .25, 1); }
.ui-icon { display:inline-block; width:20px; height:20px; flex-shrink:0; vertical-align:middle; }
.header-concierge > span { display:inline-flex; align-items:center; }
.header-concierge .ui-icon { width:23px; height:23px; }
.button > span { display:inline-flex; align-items:center; }
@media(max-width:760px) { .header-right .header-concierge { display:grid; place-items:center; } .header-concierge .ui-icon { width:25px; height:25px; } }
.header { transition: box-shadow .4s, background .4s; }
.header.is-scrolled { background:rgba(248,245,239,.98); box-shadow:0 5px 26px #2c211d09; }
.reading-progress { position:absolute; bottom:-1px; left:0; height:2px; width:100%; background:linear-gradient(90deg,#795335,#d0a881,#a47c59); transform:scaleX(0); transform-origin:left; pointer-events:none; }
.title-line { display:block; overflow:clip; padding-bottom:.11em; margin-bottom:-.11em; }
.title-line > span { display:block; }
.hero-copy { background:radial-gradient(ellipse at 0 85%,#563b272b,transparent 65%); }
.hero-visual { overflow:hidden; }
.hero-visual > img { transform:translateY(var(--hero-drift,0px)) scale(1.065); }
.hero-copy .eyebrow::before { content:''; display:inline-block; width:26px; height:1px; vertical-align:middle; background:#b88c65; margin-right:13px; }
.hero-scroll span { display:inline-block; transition:transform .5s var(--ease-lya); }
.hero-scroll:hover span { transform:translateY(5px); }
.header nav a { position:relative; }
.header nav a::after { content:''; position:absolute; bottom:5px; left:0; height:1px; width:100%; background:var(--copper); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease-lya); }
.header nav a:hover::after,.header nav a[aria-current="location"]::after { transform:scaleX(1); }
.button { position:relative; overflow:hidden; transition:background .3s,box-shadow .4s,transform .4s var(--ease-lya); }
.button > span { transition:transform .4s var(--ease-lya); }
.button:hover { transform:translateY(-2px); box-shadow:0 8px 22px #2c211d16; }
.button:hover > span { transform:translate(3px,-3px); }
.button:active { transform:translateY(0); }
.collection-photo { transition:box-shadow .65s var(--ease-lya); }
.collection-photo::after { content:''; position:absolute; inset:0; pointer-events:none; border:1px solid #65462d18; }
.collection-photo img { transition:transform 1.6s var(--ease-lya); }
.collection:hover img,.collection:focus-visible img { transform:scale(1.055); }
.collection:hover .collection-photo { box-shadow:0 18px 36px -24px #2c211d80; }
.round-arrow { transition:background .3s,color .3s,transform .5s var(--ease-lya); }
.collection:hover .round-arrow,.collection:focus-visible .round-arrow { background:var(--ink); color:var(--paper); transform:rotate(45deg); }
.collection-heading h3 { transition:color .35s; }
.collection:hover h3 { color:#926b48; }
.packaging-photo { overflow:hidden; isolation:isolate; }
.packaging-photo img { transition:transform 1.8s var(--ease-lya),transform-origin 1.8s var(--ease-lya); transform:scale(1.015); transform-origin:38% 30%; }
.packaging-photo[data-focus="pochette"] img { transform:scale(1.32); transform-origin:64% 66%; }
.packaging-photo[data-focus="carte"] img { transform:scale(1.44); transform-origin:45% 78%; }
.packaging-photo::after { content:''; position:absolute; inset:70% 0 0; background:linear-gradient(transparent,#21170e66); pointer-events:none; }
.packaging-caption { position:absolute; bottom:29px; left:34px; right:34px; color:#fff7e9; display:flex; align-items:center; justify-content:space-between; gap:20px; z-index:1; }
.packaging-caption span:first-child { font-size:12px; letter-spacing:.15em; }
.packaging-caption span:last-child { font:italic 26px var(--serif); }
.packaging-details button { display:flex; align-items:center; text-align:left; gap:0; min-height:56px; padding:16px 0; background:none; border-bottom:1px solid #c8b9a5; font-size:14px; transition:padding .45s var(--ease-lya),color .3s,background .3s; }
.packaging-details button b { font-weight:400; flex:0 0 40px; }
.packaging-details button i { font-style:normal; margin-left:auto; font-size:20px; opacity:0; transform:translate(-7px,5px); transition:opacity .3s,transform .4s; }
.packaging-details button[aria-pressed="true"] { padding-inline:12px; color:#664326; background:#f8f5ef65; }
.packaging-details button[aria-pressed="true"] i,.packaging-details button:hover i { opacity:1; transform:none; }
.packaging-copy .packaging-description { min-height:72px; font-size:14px; line-height:1.8; margin-top:22px; color:#5f5145; }
.packaging-copy .small-note { margin-top:10px; }
.concierge { position:relative; background:radial-gradient(ellipse at 82% 60%,#78533230,transparent 55%),#312620; }
.concierge-aside { position:relative; gap:28px; }
.signature-seal { width:min(100%,330px); aspect-ratio:1; align-self:center; display:grid; place-items:center; border:1px solid #bb956044; border-radius:50%; position:relative; }
.signature-seal::before { content:''; position:absolute; inset:13px; border:1px solid #bb956020; border-radius:50%; }
.signature-seal img { width:88%; height:auto; object-fit:contain; filter:drop-shadow(0 10px 25px #0003); }
.guide-tabs { position:relative; }
.guide-tabs button { transition:color .3s,border-color .3s; }
.length-list button > span:last-child { transition:transform .4s var(--ease-lya); }
.length-list button:hover > span:last-child { transform:translate(3px,-3px); }
.faq summary span { transition:transform .35s var(--ease-lya); }
.invitation { position:relative; }
.invitation::before { content:''; position:absolute; top:-1px; width:75px; height:2px; left:calc(50% - 37.5px); background:#b18b65; }
.chat-launcher { transition:transform .35s var(--ease-lya),background .3s,box-shadow .35s; }
.chat-launcher:hover { transform:translateY(-3px); box-shadow:0 9px 28px #261c1233; }
.motion-toggle { padding-block:10px; }
@media(max-width:760px) { .hero-copy h1 { font-size:clamp(50px,16.5vw,67px); } }
.motion-toggle:disabled { cursor:default; opacity:1; }
html[data-motion="reduced"] { scroll-behavior:auto; }
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after { animation:none!important; transition:none!important; }
html[data-motion="reduced"] .hero-visual>img,html[data-motion="reduced"] .button:hover,html[data-motion="reduced"] .chat-launcher:hover { transform:none; }
@media(min-width:1000px) { .collection-grid { align-items:start; gap:35px; padding-bottom:34px; } .collection:nth-child(2) { margin-top:48px; } .intro { padding-top:120px; padding-bottom:110px; } }
@media(max-width:760px) { .hero-visual>img { transform:none; } .hero-copy { padding-top:37px; } .hero-copy .eyebrow::before { width:20px; margin-right:10px; } .header nav a::after { display:none; } .packaging-caption { bottom:20px; left:24px; right:24px; } .packaging-caption span:last-child { font-size:22px; } .packaging-copy .packaging-description { min-height:76px; font-size:15px; } .packaging-details button { min-height:60px; font-size:14px; } .intro-bottom p,.packaging-copy>p:not(.eyebrow):not(.small-note),.guide-heading>p:not(.eyebrow),.concierge-inner>p:not(.eyebrow) { font-size:16px; } .image-caption { bottom:25px; } .image-caption span:last-child { font-size:17px; } }
@media(prefers-reduced-motion:reduce) { :root { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } .hero-visual>img { transform:none; } .button:hover,.chat-launcher:hover { transform:none; } }
