/* Locally bundled calligraphy, also available without an internet connection. */
@font-face{font-family:'Great Vibes';src:url('assets/GreatVibes-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--cream:#fff8f3;--rose:#994858;--ink:#594238;--light:#f6e1e5;--line:#dfc5b4}
body{background:radial-gradient(ellipse at 8% 12%,#f7dce7aa,transparent 42%),radial-gradient(ellipse at 94% 38%,#f9e6be77,transparent 36%),var(--cream)}
header{padding-top:24px;padding-bottom:28px}.brand img{width:105px;height:105px;box-shadow:0 0 35px #dfbcb855}.brand{font-family:'French Script MT','Gabriola',cursive;font-size:34px}.brand i{font-style:normal}nav a{font-size:15px}
h1,h2,h3,.signature,.card figcaption{font-family:'French Script MT','Pristina','Gabriola',cursive;font-weight:400;letter-spacing:0;line-height:1.25}h1{font-size:clamp(64px,6.7vw,96px);margin:22px 0}h2{font-size:clamp(52px,5.4vw,76px)}h3{font-size:48px}h1 em,h2 em{font-style:normal;color:var(--rose)}
.hero{gap:45px;min-height:720px;position:relative}.hero>div{position:relative;z-index:1}.hero figure{padding:12px;border:1px solid #d5b58c;border-radius:260px 260px 130px 130px;background:#fff9;box-shadow:0 22px 65px #b47b8126,0 0 65px #fff}
.hero img{border-radius:250px 250px 120px 120px;height:600px;display:block}.hero figcaption{bottom:35px;left:30px;right:30px;border:1px solid #e8d2bc;background:#fff8f2f0;border-radius:30px;font-size:14px}
.hero:before,.contact:before{content:'✧';position:absolute;right:4%;top:3%;font-size:70px;line-height:1;color:#b68a4e;pointer-events:none;animation:glimmer 5s ease-in-out infinite}.hero:after{content:'✦';position:absolute;left:45%;bottom:12%;font-size:34px;color:#b68a4e;pointer-events:none;animation:glimmer 5s 2s ease-in-out infinite}
.eyebrow{letter-spacing:2.8px}.button{border-radius:40px;padding:14px 27px;box-shadow:0 7px 22px #a6536228;transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 26px #a6536240}
#bebe>h2,#bebe>.eyebrow,#bebe>.intro,#maison>h2,#maison>.eyebrow,#maison>.intro{text-align:center;margin-left:auto;margin-right:auto}.categories{justify-content:center}.categories>span{background:#fffc}.sectionheading{border-top:1px solid var(--line);padding-top:34px}.gallery{gap:35px 25px}.card{padding:10px 10px 17px;background:#fffaf6;border:1px solid #ead7c8;border-radius:150px 150px 12px 12px;box-shadow:0 10px 28px #86633b0c;text-align:center}.card img{border-radius:140px 140px 6px 6px;transition:filter .3s}.card button:hover img{filter:brightness(1.05)}.card figcaption{font-size:42px;padding-top:10px}.card small{font-size:14px;line-height:1.6;padding:4px 0}.note{border-left:2px solid #be965e;padding:15px 20px;background:#fff9;border-radius:0 12px 12px 0;line-height:1.9}
.rose{background:radial-gradient(ellipse at top right,#fff9,transparent 55%),linear-gradient(120deg,#f8e9e3,#f1d5df);border-radius:170px 12px 170px 12px}.split img{border-radius:150px 150px 8px 8px;border:8px solid #fff8;box-shadow:0 15px 35px #9e6d7220}.story{border-top:0;align-items:center}.story img{box-shadow:0 0 0 8px #fff6,0 0 0 9px #dfc5b4}.signature{font-size:36px;font-style:normal}.contact{position:relative;background:radial-gradient(ellipse at center,#fff8f3 5%,#f6e0e5 90%);border-radius:180px 180px 0 0;border-top:1px solid #dfc5b4;padding-top:90px;padding-bottom:90px}.contact:before{right:15%;top:17%;font-size:45px}.retouches h2{margin-top:25px}footer{padding-top:35px}
@keyframes glimmer{0%,100%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
body{background:radial-gradient(ellipse at 5% 8%,#eab8cd80,transparent 35%),radial-gradient(ellipse at 93% 15%,#ffe5b9b0,transparent 30%),radial-gradient(ellipse at 12% 60%,#edc4da70,transparent 40%),linear-gradient(135deg,#fff8f1,#fbe8ed 48%,#fff9ed);position:relative;isolation:isolate}
body:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle,#c69745 0 1px,transparent 2px),radial-gradient(circle,#fff 0 2px,transparent 5px),radial-gradient(circle,#cda86799 0 1px,transparent 3px);background-size:137px 173px,223px 251px,307px 199px;background-position:15px 30px,75px 85px,110px 40px;opacity:.55}
.brand,h1,h2,h3,.signature,.card figcaption{font-family:'Great Vibes',cursive;line-height:1.45}.brand{font-size:32px;line-height:1.1}h1{font-size:clamp(57px,6.1vw,86px);line-height:1.35;text-shadow:0 2px 20px #fff}h2{font-size:clamp(49px,5vw,70px)}h3{font-size:43px}.hero h1 em{display:inline-block;padding-right:14px}
.hero figure{box-shadow:0 0 0 5px #fff7,0 0 0 6px #dcc19c,0 0 80px 25px #fff7,0 28px 70px #ad718d33;transform:rotate(2deg)}.hero>div{padding:10px 0}.hero:before{font-size:85px;text-shadow:0 0 20px #fff,0 0 35px #ebc374}.hero:after{font-size:48px;text-shadow:0 0 20px #fff}.hero .eyebrow{font-size:12px;letter-spacing:2px}.hero figcaption{box-shadow:0 4px 25px #bb9a6230}
.card{background:linear-gradient(145deg,#fffdf8,#fbe8e9);border-color:#d8b98e;box-shadow:0 12px 30px #a45c7820,0 0 0 4px #fff8;transition:transform .35s,box-shadow .35s}.card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #a45c7830,0 0 0 4px #fff}.card figcaption{font-size:40px}.card small{font-family:Arial,sans-serif}
.rose{border:1px solid #d8b98e;background:radial-gradient(ellipse at 85% 15%,#fffaf2,transparent 50%),linear-gradient(125deg,#f8e1e5,#eac4d4);box-shadow:0 18px 65px #b9809520}.contact{background:radial-gradient(ellipse at 50% 25%,#fffdf4 5%,#efd0df 90%);box-shadow:0 0 55px #fff8}.button{background:linear-gradient(120deg,#a4516b,#87485e);border:1px solid #bd8c80;box-shadow:0 6px 24px #a6536235,inset 0 1px #ffffff50}.signature{font-size:34px}.story img{box-shadow:0 0 0 9px #fff9,0 0 0 10px #d7b584,0 0 60px #fff}
@media(max-width:800px){.hero h1{font-size:60px;line-height:1.4}.hero figure{transform:none}.sectionheading h3{font-size:41px}.card figcaption{font-size:34px}h2{font-size:52px}.signature{font-size:31px}}
@media(max-width:800px){header{align-items:center}.brand img{width:90px;height:90px}nav{justify-content:center}.hero{min-height:0;gap:35px}.hero h1{font-size:66px}.hero img{height:auto;max-height:640px}.hero:after{left:auto;right:5%;bottom:2%}.hero:before{right:6%;top:1%;font-size:40px}.sectionheading h3{font-size:44px}.rose{border-radius:75px 8px 75px 8px}.contact{border-radius:80px 80px 0 0}.contact:before{right:8%;top:7%}.gallery{gap:20px 12px}.card{padding:6px 6px 13px}.card figcaption{font-size:36px}.card small{font-size:14px}.signature{font-size:32px}h2{font-size:56px}}
/* Champagne gold accents complement the approved pink palette and calligraphy. */
:root{--gold:#b88936;--gold-light:#f5dfa1;--line:#d3b574}
header{border-bottom:1px solid #d3b57488}.brand img{box-shadow:0 0 0 3px #fff7,0 0 0 5px #c69c53,0 0 32px #e7c77455}
nav a{ text-decoration-color:var(--gold);text-underline-offset:7px}nav a:hover{text-decoration:underline}
.hero figure{border:2px solid #c39a4d;background:linear-gradient(135deg,#fff7dc,#c59a4b 28%,#fff3c5 50%,#d6ad62 75%,#fff7e0);box-shadow:0 0 0 5px #fff7,0 0 0 6px #bd9347,0 0 65px #f9dfab80,0 28px 70px #ad718d33}.hero figcaption{border-color:#c9a256;background:linear-gradient(115deg,#fffaf0,#f8e9c2,#fff9ee)}
.button{border:2px solid transparent;background:linear-gradient(120deg,#a4516b,#87485e) padding-box,linear-gradient(115deg,#9e732d,#fbe8ad,#c3994f,#fff1bf) border-box;box-shadow:0 6px 24px #a6536235,0 0 16px #e2bd6833,inset 0 1px #ffffff50}.button:hover{background:linear-gradient(120deg,#91435b,#75394d) padding-box,linear-gradient(115deg,#fbe8ad,#c3994f,#fff1bf) border-box}
.categories>span{border-color:#c8a764;background:linear-gradient(125deg,#fffaf4,#fff1d7)}.categories a{border-color:#c59b50}
.card{border:2px solid transparent;background:linear-gradient(145deg,#fffdf8,#fbe8e9) padding-box,linear-gradient(135deg,#ba8d3a,#f5e2a8 28%,#c1974b 60%,#f4dfa4) border-box}.card img{outline:1px solid #d5b974;outline-offset:3px}
.sectionheading{border-top:0;background:linear-gradient(90deg,transparent,#b88936,#f4dfa4,#b88936,transparent) top/100% 1px no-repeat}
#bebe>h2:after,#maison>h2:after,.retouches>h2:after{content:'';display:block;width:115px;height:3px;margin:15px auto 0;background:linear-gradient(90deg,transparent,#ba8d3a,#f1d588,#ba8d3a,transparent);border-radius:50%}
.rose{border-color:#bc944b}.split img{border-color:#fff2d2}.story img{box-shadow:0 0 0 8px #fff7e6,0 0 0 10px #c3994f,0 0 50px #efd59560}.note{border-left:3px solid #b78b3f;background:linear-gradient(110deg,#fff6dfdd,#fff9)}.contact{border-top:2px solid #c3994f}.retouches{border-color:#d1b373}footer{border-top:1px solid #d3b57488}
/* Fine gold dust stays behind the content; stars frame the photographs. */
body:before{background-image:radial-gradient(circle,#c39139cc 0 .8px,transparent 1.8px),radial-gradient(circle,#fff8ddee 0 1.6px,transparent 3.8px),radial-gradient(circle,#dbb05ea8 0 1px,transparent 2.2px),radial-gradient(circle,#c9984190 0 .7px,transparent 1.6px);background-size:47px 71px,109px 137px,83px 113px,157px 89px;background-position:13px 23px,45px 70px,20px 55px,90px 12px;opacity:.65}
.hero figure:before,.hero figure:after,.split>div:before,.contact:after{position:absolute;content:'✧';pointer-events:none;color:#ad7e2e;text-shadow:0 0 9px #fff,0 0 22px #f4d282,0 0 40px #e7bd5d;animation:starshine 4.5s ease-in-out infinite;line-height:1}
.hero figure:before{left:-18px;top:20%;font-size:65px}.hero figure:after{content:'✦';right:-15px;bottom:18%;font-size:42px;animation-delay:1.5s}.split>div{position:relative}.split>div:before{content:'✧  ✦  ✧';font-size:30px;right:12%;top:-50px;letter-spacing:15px}.contact:after{content:'✧  ✦  ✧';left:12%;bottom:10%;font-size:30px;letter-spacing:12px;animation-delay:2s}
.card{position:relative}.card:after{content:'✧';position:absolute;right:9px;top:20px;color:#b7842b;font:35px/1 Georgia,serif;text-shadow:0 0 6px #fff,0 0 12px #ffe4a0;pointer-events:none;animation:starshine 5s ease-in-out infinite}.card:nth-child(3n):after{animation-delay:1.8s}.card:nth-child(3n + 1):after{animation-delay:.8s}
@keyframes starshine{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.13)}}
@media(max-width:800px){.hero figure:before{left:-10px;font-size:44px}.hero figure:after{right:-9px;font-size:32px}.split>div:before{top:-22px;font-size:20px}.contact:after{left:8%;bottom:5%;font-size:23px}.card:after{font-size:27px;right:5px;top:15px}}
.golden-sky{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:3;contain:strict}
.shooting-star{position:absolute;left:var(--x);top:var(--y);width:115px;height:2px;opacity:0;background:linear-gradient(90deg,transparent,#d8ac48,#fff0ad);border-radius:100%;filter:drop-shadow(0 0 4px #d7a53f);animation:golden-flight var(--duration) var(--delay) linear infinite;transform:rotate(32deg);transform-origin:right center}
.shooting-star:after{content:'';position:absolute;right:-2px;top:-2px;width:6px;height:6px;border-radius:50%;background:#fff5c5;box-shadow:0 0 6px 2px #e1b65c,0 0 15px #f6de94}
.floating-glitter{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#c99b3e;box-shadow:0 0 5px #e8c36f;opacity:0;animation:golden-drift var(--duration) var(--delay) ease-in-out infinite}
@keyframes golden-flight{0%{opacity:0;transform:translate(-90px,-55px) rotate(32deg)}3%{opacity:.8}17%{opacity:.65}23%,100%{opacity:0;transform:translate(260px,160px) rotate(32deg)}}
@keyframes golden-drift{0%,100%{opacity:.08;transform:translateY(7px) scale(.6)}50%{opacity:.7;transform:translateY(-12px) scale(1.2)}}
@media(max-width:800px){.shooting-star{width:75px}.shooting-star:nth-child(n+4){display:none}.floating-glitter:nth-child(2n){display:none}}
/* Scattered gold washes replace the repeating dotted background. */
body:before{background:radial-gradient(ellipse 180px 28px at 6% 9%,#bd8e3c50 0%,#dfb95a30 40%,transparent 75%),radial-gradient(ellipse 70px 220px at 98% 23%,#d6ab4f48 0%,#ebcf8220 50%,transparent 78%),radial-gradient(ellipse 240px 35px at 4% 42%,#bc8d3b45 0%,#e1ba6628 48%,transparent 77%),radial-gradient(ellipse 190px 45px at 93% 61%,#d1a14450 0%,#eed08725 48%,transparent 80%),radial-gradient(ellipse 75px 190px at 2% 78%,#c79b4440 0%,#e8c57525 50%,transparent 78%),radial-gradient(ellipse 260px 35px at 85% 94%,#c99d4850 0%,#e8cb8225 48%,transparent 80%);opacity:1}
.floating-glitter{display:none}
/* Separate pages and category navigation. */
.breadcrumb{max-width:1240px;margin:25px auto 0;padding:0 40px;font:16px/1.7 Georgia,serif}.breadcrumb a{color:var(--rose);text-underline-offset:4px}
header nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:35px}.directory-card{display:flex;flex-direction:column;justify-content:center;min-height:170px;padding:18px;text-align:center;text-decoration:none;border:1px solid #c49a50;border-radius:24px;background:linear-gradient(135deg,#fffaf2,#f5dfe7);box-shadow:0 8px 24px #a6536215;transition:transform .25s}.directory-card:hover{transform:translateY(-4px)}.directory-card img{width:100%;height:220px;object-fit:cover;border-radius:16px;margin-bottom:16px}.directory-card span{font-family:'Great Vibes',cursive;font-size:37px;line-height:1.5}.directory-card small{font:italic 16px/1.6 Georgia,serif;color:var(--rose)}.home-worlds{text-align:center}.home-worlds .directory{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin:30px auto}.category-pending{text-align:center;min-height:400px}.sectionheading h1{font-size:55px;line-height:1.4;margin-bottom:0}main>section#bebe>h1,main>section#maison>h1{text-align:center;font-size:65px}.breadcrumb+section{padding-top:35px}
@media(max-width:800px){.directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.directory-card{padding:12px;min-height:140px}.directory-card span{font-size:31px}.directory-card img{height:180px}.breadcrumb{padding:0 22px;font-size:14px}.sectionheading h1{font-size:45px}main>section#bebe>h1,main>section#maison>h1{font-size:51px}}
@media(max-width:480px){.home-worlds .directory{grid-template-columns:1fr}.directory-card img{height:150px}}
#bib-gallery .card{border-radius:22px}#bib-gallery .card img{border-radius:14px;object-fit:contain;background:#fff8f3}#bib-gallery .card figcaption{font-size:36px}.bib-views{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;padding:12px 0 0}.bib-views button{width:auto;border:1px solid #c49a50;border-radius:20px;padding:7px 10px;background:#fff9ed;color:var(--ink);font:14px/1.4 Georgia,serif;cursor:pointer}.bib-views button[aria-pressed="true"]{background:var(--rose);color:white}#bavoirs>h1{font-size:clamp(46px,5vw,68px)}
.hero .welcome-teddy{display:block;width:100%;max-width:480px;height:auto;max-height:none;object-fit:contain;border-radius:0;margin:22px auto -20px;filter:drop-shadow(0 10px 20px #bb839522)}
@media(max-width:800px){.hero .welcome-teddy{width:90%;max-width:420px;height:auto;max-height:none;margin:22px auto 0}}
.homepage .home-worlds{position:relative;isolation:isolate;max-width:1440px;padding-left:17%;padding-right:17%}.home-worlds .world-decor{position:absolute;inset:100px 0 0;width:100%;height:calc(100% - 100px);object-fit:fill;z-index:-1;pointer-events:none}.homepage .home-worlds .directory{position:relative;z-index:1}
.flying-ribbon{position:absolute;pointer-events:none;object-fit:contain;z-index:0;opacity:.8;animation:ribbon-breeze 9s ease-in-out infinite}.hero .ribbon-top{width:220px;height:auto;max-height:none;border-radius:0;right:-15px;top:-30px;transform:rotate(-15deg)}.ribbon-bottom{width:230px;left:5%;bottom:-15px;animation-delay:-4s}.homepage .hero{isolation:isolate}.homepage .hero>figure{z-index:1}
@keyframes ribbon-breeze{0%,100%{translate:0 0;rotate:-6deg}50%{translate:12px -16px;rotate:5deg}}
@media(max-width:800px){.homepage .home-worlds{padding-left:35px;padding-right:35px}.home-worlds .world-decor{opacity:.6;inset:110px 0 0;height:calc(100% - 110px)}.hero .ribbon-top{width:135px;right:0;top:-18px;opacity:.6}.ribbon-bottom{width:145px;left:0;bottom:-20px}.homepage .home-worlds .directory{gap:20px}}
.homepage .flying-ribbon{filter:saturate(1.3) brightness(.84);opacity:1}
.homepage .hero:before{content:none;display:none}
#maison .directory-new{border:3px solid #a65372;background:linear-gradient(135deg,#fff7fa,#efd4e1);box-shadow:0 8px 25px #a6537230}
#maison .directory-new .new-badge{align-self:center;background:#a65372;color:#fff;border-radius:20px;padding:5px 16px;margin-bottom:12px;font:bold 13px/1.5 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}
#maison .directory-new:hover,#maison .directory-new:focus-visible{border-color:#803f5a;box-shadow:0 12px 30px #a6537240}
.brand>.brand-title-group{display:flex;align-items:center;gap:10px}
.brand .brand-heart{display:block;color:#c78083;font:42px/1 Georgia,serif;transform:rotate(-8deg)}
.homepage .home-news>a{animation:novelty-frame-glow 2.4s ease-in-out infinite}
@keyframes novelty-frame-glow{0%,100%{border-color:#b68a4e;box-shadow:0 0 0 1px #d6b46755,0 0 22px #d6b46770}50%{border-color:#e4d3b7;box-shadow:0 8px 24px #a6536215}}
@media(prefers-reduced-motion:reduce){.homepage .home-news>a{animation:none}}
.homepage .home-news .eyebrow{animation:novelty-blink 2.4s ease-in-out infinite}
@keyframes novelty-blink{0%,100%{opacity:1;text-shadow:0 0 8px #dab36566}50%{opacity:.3;text-shadow:none}}
@media(prefers-reduced-motion:reduce){.homepage .home-news .eyebrow{animation:none}}
.brand .brand-wordmark{width:290px;height:auto;max-height:150px;object-fit:contain;border-radius:0;box-shadow:none}
@media(max-width:800px){.brand .brand-wordmark{width:240px;max-height:125px}}
.falling-gold{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:5}
.falling-gold span{position:absolute;left:var(--x);top:-12px;width:var(--size);height:var(--size);border-radius:50%;background:#c99a39;box-shadow:0 0 4px #e9c66b,0 0 9px #edcc7c80;opacity:0;animation:gold-fall var(--duration) var(--delay) linear infinite}
@keyframes gold-fall{0%{transform:translate3d(0,0,0);opacity:0}12%{opacity:.65}75%{opacity:.5}100%{transform:translate3d(var(--drift),calc(100vh + 24px),0);opacity:0}}
@media(max-width:800px){.falling-gold span:nth-child(2n){display:none}}
@media(prefers-reduced-motion:reduce){.falling-gold{display:none}}
.stocking-photo{max-width:580px;margin:32px auto;padding:14px;border:3px double #be995e;border-radius:12px;background:#fffaf3;box-shadow:0 10px 30px #86633b18}
.stocking-photo button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.stocking-photo img{display:block;width:100%;height:auto;border-radius:5px}
.stocking-photo figcaption{padding:14px 0 4px;font:38px/1.4 'Great Vibes',cursive}
#coussins{text-align:center}
#coussins .memorial-intro{max-width:800px;margin:25px auto 40px;font:18px/1.9 Georgia,serif;text-align:justify;hyphens:auto}
#coussins .memorial-intro p{margin:0 0 20px}
#coussins .memorial-intro p:last-child{text-align:justify;font-style:italic;color:var(--rose)}
#cushion-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px;margin:35px auto;gap:32px}
#cushion-gallery .card{border:3px double #be995e;border-radius:14px;padding:14px 14px 20px;background:#fffaf3;box-shadow:0 10px 30px #86633b18}
#cushion-gallery .card:after{display:none}
#cushion-gallery .card img{aspect-ratio:3/4;object-fit:contain;border-radius:6px;outline:none}
#cushion-gallery .card figcaption{margin-top:14px;border-top:1px solid #dfcba9;padding-top:12px}
@media(max-width:600px){#cushion-gallery{grid-template-columns:1fr;gap:24px}}
#towel-gallery{margin:35px 0}
#towel-gallery .card{border:2px solid #c5a16a;border-radius:10px;padding:12px 12px 18px;background:#fffaf4;box-shadow:0 8px 24px #86633b18}
#towel-gallery .card:after{display:none}
#towel-gallery .card img{object-fit:contain;background:#fffaf4;border-radius:5px;outline:none}
#towel-gallery .card figcaption{font-size:34px;overflow-wrap:anywhere;border-top:1px solid #e4d3bc;margin-top:12px;padding-top:12px}
#serviettes>p{font:italic 18px/1.7 Georgia,serif}
.homepage .home-news{padding:35px 40px 10px;max-width:900px;text-align:center}
.home-news>a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;border:3px solid #b68a4e;border-radius:26px;background:linear-gradient(120deg,#fff9ee,#f3dde7);box-shadow:0 8px 24px #a6536220;text-decoration:none;transition:transform .25s}
.home-news>a:hover{transform:translateY(-4px)}
.home-news-title{font:42px/1.4 'Great Vibes',cursive}
.home-news-link{font:italic 17px/1.6 Georgia,serif;color:var(--rose);text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.homepage .home-news{padding:25px 22px 10px}.home-news-title{font-size:36px}}
.homepage .home-worlds .directory-card{border:4px solid #b68a4e;box-shadow:0 5px 0 #98703d,0 12px 28px #a6536226;cursor:pointer}
.homepage .home-worlds .directory-card small{display:inline-block;align-self:center;margin-top:10px;padding:8px 18px;border-radius:24px;background:var(--rose);color:#fff}
.homepage .home-worlds .directory-card:hover,.homepage .home-worlds .directory-card:focus-visible{border-color:var(--rose);box-shadow:0 5px 0 #873e4b,0 16px 32px #a6536233;transform:translateY(-4px)}
.homepage .hero .hero-flower{position:absolute;right:-20px;bottom:-155px;width:180px;height:auto;max-height:none;border-radius:0;object-fit:contain;pointer-events:none;transform:rotate(10deg);z-index:2}
@media(max-width:800px){.homepage .hero .hero-flower{right:0;bottom:-95px;width:115px}.homepage .hero{padding-bottom:110px}}
@media(prefers-reduced-motion:reduce){.flying-ribbon{animation:none}}
/* Give the detailed brand mark enough room to be read. */
header{flex-wrap:wrap;justify-content:center;gap:24px 40px;padding-top:30px;padding-bottom:30px}
.brand{flex-shrink:0;gap:22px}.brand img{width:200px;height:200px;object-fit:contain;flex-shrink:0}
.hero figcaption{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:18px;line-height:1.5}
.sectionheading>p{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:18px;line-height:1.6}
#bebe>.note{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:18px;line-height:1.7}
#contact>p:not(.eyebrow){font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:18px;line-height:1.7}
.hand-intro{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:18px;line-height:1.7;margin-bottom:30px}
#hand-gallery .card{border-radius:22px}#hand-gallery .card img{border-radius:14px;object-fit:contain;background:#fff8f3}
#hand-gallery .card figcaption{font-size:34px;overflow-wrap:anywhere}
header nav{justify-content:center;gap:14px 24px}
header nav a{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:19px;line-height:1.5;letter-spacing:.2px;padding:5px 0}
@media(max-width:800px){.brand{flex-direction:column;gap:16px;text-align:center}.brand img{width:180px;height:180px}.brand>span{display:none}header{gap:25px;padding-top:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.golden-sky{display:none}}

.stocking-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1200px;margin:32px auto;align-items:start}
.stocking-gallery .stocking-photo{width:100%;max-width:none;margin:0;box-sizing:border-box}
.stocking-gallery .stocking-photo img{width:100%;height:auto;object-fit:contain}
@media(max-width:700px){.stocking-gallery{grid-template-columns:1fr;max-width:580px}}
/* Neige légère : ne bloque jamais les liens ni les photos. */
.christmas-snow{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:20}
.christmas-snowflake{position:absolute;top:-30px;left:var(--snow-left);font-size:var(--snow-size);line-height:1;color:#fff;text-shadow:0 1px 2px #63788fa6,0 0 5px #ffffff;opacity:.95;animation:christmas-snowfall var(--snow-duration) var(--snow-delay) linear infinite;user-select:none}
@keyframes christmas-snowfall{from{transform:translate3d(0,-30px,0) rotate(0deg)}to{transform:translate3d(var(--snow-drift),calc(100vh + 60px),0) rotate(150deg)}}
@media(prefers-reduced-motion:reduce){.christmas-snow{display:none}}
@media print{.christmas-snow{display:none}}
/* Galerie de bottes plus compacte sur ordinateur. */
@media(min-width:701px){.stocking-gallery{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1050px;gap:22px}.stocking-gallery .stocking-photo{padding:10px}.stocking-gallery .stocking-photo img{height:320px;object-fit:contain}.stocking-gallery .stocking-photo figcaption{font-size:30px;padding-top:10px}}

/* Une typographie douce pour le récit de Mon histoire. */
#histoire>div:last-child>p:not(.signature){font-family:Georgia,'Times New Roman',serif;font-size:19px;font-style:italic;line-height:1.9;letter-spacing:.15px;margin:0 0 24px}
#histoire>div:last-child>p strong{color:var(--rose);font-weight:600}
#histoire .signature{font-family:'Great Vibes',cursive;font-size:36px;font-style:normal;line-height:1.5;margin-top:28px}

/* Capes grouped by model; keep the whole photograph visible. */
#cape-gallery .card img{object-fit:contain;background:#fff8f3}
.cape-views{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
#cape-gallery .cape-views button{width:auto;padding:9px 13px;border:1px solid var(--rose);border-radius:20px;font:14px/1.4 Arial,sans-serif;cursor:pointer;color:var(--rose);background:white}
#cape-gallery .cape-views button[aria-pressed="true"]{background:var(--rose);color:white}
@media(max-width:540px){#cape-gallery{grid-template-columns:1fr}}

/* Invitation au contact, visible et lisible tout au long du clignotement. */
.button.inquiry-button{font-family:'Great Vibes',cursive;font-size:32px;font-weight:400;line-height:1.4;padding:12px 28px;border:2px solid #e8c577;border-radius:14px;color:#fff;background:linear-gradient(120deg,#a4516b,#87485e);animation:inquiry-glow 2.4s ease-in-out infinite;transition:transform .2s,background .2s}
.inquiry-button .inquiry-arrow{display:inline-block;font-family:Georgia,serif;font-size:24px;margin-left:8px}
@keyframes inquiry-glow{0%,100%{border-color:#edcd82;box-shadow:0 0 0 3px #d6b46745,0 0 24px #d6b467a0,0 6px 20px #a6536235}50%{border-color:#bd9657;box-shadow:0 0 0 0 #d6b46700,0 0 3px #d6b46720,0 6px 20px #a6536235}}
.button.inquiry-button:hover,.button.inquiry-button:focus-visible{background:#803b54;transform:translateY(-3px);animation:none;box-shadow:0 0 0 3px #d6b46770,0 0 28px #d6b467a0}
@media(prefers-reduced-motion:reduce){.button.inquiry-button{animation:none;transition:none;box-shadow:0 0 0 3px #d6b46745,0 6px 20px #a6536235}.button.inquiry-button:hover,.button.inquiry-button:focus-visible{transform:none}}

/* Police commune à tous les boutons d’action du site. */
a.button,button.button,.button.inquiry-button{font-family:'Great Vibes',cursive;font-size:32px;font-weight:400;font-style:normal;line-height:1.4;letter-spacing:0;text-transform:none}

.blanket-color-links{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0 35px}.blanket-color-links a{display:flex;align-items:center;gap:9px;padding:9px 15px;border:1px solid #c5a16a;border-radius:22px;background:#fffaf3;text-decoration:none;font:italic 16px/1.5 Georgia,serif}.blanket-color-links a:before,.blanket-color-group h2:before{content:'';display:inline-block;width:16px;height:16px;border-radius:50%;background:var(--swatch);border:1px solid #503e3530;flex-shrink:0}.blanket-color-links a:hover{background:#f5e3e9}.blanket-color-group{margin:40px 0 55px;scroll-margin-top:25px}.blanket-color-group h2{display:flex;align-items:center;gap:14px;font-size:44px;border-bottom:1px solid #d7bd91;padding-bottom:12px;margin-bottom:25px}

#doudou-gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:35px auto;gap:28px}#doudou-gallery .card{border:3px double #be995e;border-radius:12px;padding:12px;background:#fffaf3}#doudou-gallery .card:after{display:none}#doudou-gallery .card img{object-fit:contain;border-radius:5px;outline:none}#doudou-gallery .card figcaption{font-size:36px}#doudou-gallery .card small{margin-top:5px}@media(max-width:600px){#doudou-gallery{grid-template-columns:1fr}}

#affectations .service-intro{max-width:820px;margin:30px auto;padding:32px;border:2px solid #c5a16a;border-radius:20px;background:linear-gradient(120deg,#fff9ef,#f5e3e9);box-shadow:0 8px 26px #a6536218}#affectations .service-intro h2{font:italic 25px/1.5 Georgia,serif;color:#91465c;margin:0 0 22px}#affectations .service-intro p{font:italic 19px/1.9 Georgia,serif}#affectations .service-detail{color:#6e5142}

.service-photos{margin:40px auto;max-width:950px}.service-photos h2{font-size:48px;color:#91465c}#service-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}#service-gallery .card{padding:12px;border:3px double #be995e;border-radius:12px;background:#fffaf3}#service-gallery .card:after{display:none}#service-gallery .card img{object-fit:contain;border-radius:5px;outline:none;max-height:460px}#service-gallery .card figcaption{font-size:32px}@media(max-width:600px){#service-gallery{grid-template-columns:1fr}}

/* Doudous : présentation compacte avec photos entières. */
#doudou-gallery{max-width:680px;gap:24px}#doudou-gallery .card img{height:320px;aspect-ratio:auto;object-fit:contain}#doudou-gallery .card figcaption{font-size:30px}

/* Légende du best-seller assortie à l’écriture du logo. */
.homepage .hero figcaption{font-family:'Great Vibes',cursive;font-style:normal;font-weight:400;font-size:32px;line-height:1.4;color:#91465c;padding:14px 18px;text-wrap:balance}

/* Étoiles fixées au cadre du best-seller. */
.homepage .hero .frame-stars{position:absolute;inset:0;pointer-events:none;z-index:3}.frame-star{position:absolute;color:#c29132;font:46px/1 Georgia,serif;-webkit-text-stroke:1px #f5df9b;text-shadow:0 2px 4px #815a2940;animation:frame-star-twinkle 2.8s ease-in-out infinite}.frame-star:before{content:'';position:absolute;left:50%;bottom:calc(100% - 5px);width:2px;height:30px;background:#bb9046;transform:translateX(-50%)}.frame-star.star-left{left:-18px;top:36%}.frame-star.star-top{right:17%;top:5%;font-size:38px;animation-delay:-.9s}.frame-star.star-right{right:-19px;top:50%;animation-delay:-1.8s}
@keyframes frame-star-twinkle{0%,100%{opacity:1;filter:drop-shadow(0 0 8px #e9be53)}50%{opacity:.4;filter:drop-shadow(0 0 1px #e9be53)}}
.homepage .bestseller-label{animation:bestseller-label-glow 2.8s ease-in-out infinite}
@keyframes bestseller-label-glow{0%,100%{opacity:1;text-shadow:0 0 10px #c9966570}50%{opacity:.5;text-shadow:none}}
@media(prefers-reduced-motion:reduce){.frame-star,.homepage .bestseller-label{animation:none}}

/* Gigoteuses and clear, keyboard-accessible photo navigation. */
#gigoteuse-gallery{margin-top:42px;gap:32px;align-items:start}
#gigoteuse-gallery img{height:360px;aspect-ratio:auto;object-fit:contain;background:#f5eee7}
.gigoteuse-views{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
#gigoteuse-gallery .gigoteuse-views button{width:auto;padding:6px 10px;border:1px solid #c9a582;border-radius:18px;background:#fff8f0;color:#684b44;cursor:pointer;font:14px/1.4 Georgia,serif}
#gigoteuse-gallery .gigoteuse-views button[aria-pressed="true"]{background:#a65362;color:white;border-color:#a65362}
#photo .photo-navigation{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 12px}
#photo .photo-navigation[hidden]{display:none}
#photo .photo-navigation button{display:block;width:50px;height:46px;border:2px solid #d5af69;border-radius:50%;background:#a65362;color:white;font:26px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 8px #503e3530}
#photo .photo-navigation button:hover{background:#803d4b}
#photo .photo-count{font:16px/1.4 Georgia,serif;color:#684b44}
#photo img{max-height:65vh;max-width:85vw}
@media(max-width:600px){#gigoteuse-gallery{grid-template-columns:1fr}#gigoteuse-gallery img{height:320px}}

#toiletry-gallery{max-width:960px;margin:40px auto 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}#toiletry-gallery img{height:310px;aspect-ratio:auto;object-fit:contain;background:#f7eee7}.toiletry-views{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}#toiletry-gallery .toiletry-views button{width:auto;border:1px solid #c9a582;border-radius:20px;padding:7px 12px;cursor:pointer;font:14px/1.4 Georgia,serif;background:#fff8f0;color:#684b44}#toiletry-gallery .toiletry-views button[aria-pressed="true"]{background:#a65362;color:white}@media(max-width:600px){#toiletry-gallery{grid-template-columns:1fr}#toiletry-gallery img{height:auto;max-height:330px}}

/* Keep Ela’s embroidered neckline visible on the category cover. */
.directory-card[href="gigoteuse.html"] img{object-position:center top}

/* Focus the cape category on Loane’s embroidered name. */
.directory-card[href="capes-de-bain.html"] img{object-position:center 95%}

#lot-gallery{max-width:850px;margin:35px auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}#lot-gallery img{height:390px;aspect-ratio:auto;object-fit:contain;background:#f7eee7}@media(max-width:600px){#lot-gallery{grid-template-columns:1fr}#lot-gallery img{height:340px}}

.homepage .hero .bestseller-link{position:absolute;inset:0;z-index:4;display:block;border-radius:inherit;cursor:pointer}.homepage .hero .bestseller-link:focus-visible{outline:4px solid #91465c;outline-offset:8px}.homepage .hero figure:has(.bestseller-link:hover){box-shadow:0 0 0 5px #fff7,0 0 0 7px #a65362,0 15px 50px #ad718d55}

.doudou-views{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}#doudou-gallery .doudou-views button{width:auto;border:1px solid #c9a582;border-radius:20px;padding:7px 12px;background:#fff8f0;color:#684b44;cursor:pointer;font:14px/1.4 Georgia,serif}#doudou-gallery .doudou-views button[aria-pressed="true"]{background:#a65362;color:white}

#tote-enfant-gallery{margin:40px auto 0;align-items:start;gap:30px}#tote-enfant-gallery img{height:350px;aspect-ratio:auto;object-fit:contain;background:#f7eee7}.tote-views{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}#tote-enfant-gallery .tote-views button{width:auto;border:1px solid #c9a582;border-radius:18px;padding:6px 10px;cursor:pointer;font:14px/1.4 Georgia,serif;background:#fff8f0;color:#684b44}#tote-enfant-gallery .tote-views button[aria-pressed="true"]{background:#a65362;color:white}@media(max-width:600px){#tote-enfant-gallery{grid-template-columns:1fr}}

.directory-card[href="tote-bags-enfant.html"] img{object-position:center bottom}

#lot-gallery{align-items:start}#lot-gallery .lot-views{display:flex;flex-wrap:wrap;gap:7px;padding:0 12px 14px}#lot-gallery .lot-views button{width:auto;border:1px solid #c9a582;border-radius:18px;padding:7px 12px;cursor:pointer;font:14px/1.4 Georgia,serif;background:#fff8f0;color:#684b44}#lot-gallery .lot-views button[aria-pressed="true"]{background:#a65362;color:white}

/* Présentation douce des serviettes brodées */
#towel-gallery{gap:36px 28px;margin:40px auto;align-items:start}
#towel-gallery .card{border:1px solid #c9a779;border-radius:58px;padding:18px 18px 24px;background:linear-gradient(155deg,#fffdf9,#f4e2e5);box-shadow:0 12px 28px #a6536218}
#towel-gallery .card button{border-radius:42px;background:#fffaf4;padding:12px}
#towel-gallery .card img{border-radius:30px;object-fit:contain;background:#fffaf4;aspect-ratio:3/4}
#towel-gallery .card figcaption{border:0;margin:12px 0 0;padding:8px 6px 0;font-size:36px;color:#91465c;line-height:1.35}
#towel-gallery .card small{margin-top:8px;color:#78655b}
@media(max-width:600px){#towel-gallery{grid-template-columns:1fr;max-width:390px;gap:28px}#towel-gallery .card{border-radius:46px;padding:15px 15px 22px}#towel-gallery .card img{max-height:380px}}

#tote-adulte-gallery{margin:38px auto;gap:30px;align-items:start}#tote-adulte-gallery .card{border-radius:30px;padding:12px 12px 20px}#tote-adulte-gallery img{height:350px;aspect-ratio:auto;object-fit:contain;border-radius:22px;background:#fffaf4;outline:none}#tote-adulte-gallery .card:after{display:none}#tote-adulte-gallery .adult-views{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:12px}#tote-adulte-gallery .adult-views button{width:auto;border:1px solid #c9a582;border-radius:18px;padding:7px 12px;cursor:pointer;font:14px/1.4 Georgia,serif;background:#fff8f0;color:#684b44}#tote-adulte-gallery .adult-views button[aria-pressed="true"]{background:#a65362;color:white}@media(max-width:600px){#tote-adulte-gallery{grid-template-columns:1fr}}

#apron-gallery{margin:38px auto;gap:30px;align-items:start}#apron-gallery .card{border-radius:30px;padding:12px 12px 20px}#apron-gallery img{height:350px;aspect-ratio:auto;object-fit:contain;border-radius:22px;background:#fffaf4;outline:none}#apron-gallery .card:after{display:none}#apron-gallery .apron-views{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:12px}#apron-gallery .apron-views button{width:auto;border:1px solid #c9a582;border-radius:18px;padding:7px 12px;cursor:pointer;font:14px/1.4 Georgia,serif;background:#fff8f0;color:#684b44}#apron-gallery .apron-views button[aria-pressed="true"]{background:#a65362;color:white}@media(max-width:600px){#apron-gallery{grid-template-columns:1fr}}

#tote-adulte-gallery .tote-color-heading{grid-column:1/-1;text-align:center;margin:25px 0 0;font-size:42px;line-height:1.3}
