/* HOME layout and the user-requested unmodified reference-image slices. */
body.home-page{background:#fff}
body.home-page .announcement{position:absolute;z-index:22;top:0;left:0;right:0;height:24px;justify-content:flex-start;padding-left:3.5%;background:transparent;color:#694852;font-size:9px;letter-spacing:.06em;pointer-events:none}
body.home-page header{position:relative;top:auto;height:52px;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:30px 22px;gap:0;padding:0 3.5%;background:#fff;border-bottom:1px solid #e9e1df}
body.home-page header .brand{grid-column:2;grid-row:1;align-self:center;font:42px/.8 var(--serif);letter-spacing:-.02em;text-align:center}
body.home-page header .brand span{display:none}
body.home-page header nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;align-items:center;gap:30px;margin:0;font:10px var(--serif)}
body.home-page header nav .nav-search{display:none}
body.home-page header .tools{grid-column:3;grid-row:1;justify-self:end;align-self:center;gap:16px}
body.home-page header .mobile-menu{display:none}
body.home-page header .bag{position:relative}
.final-home{max-width:1600px;margin:0 auto;background:#fff;color:#332a2d}
.final-home img{display:block;max-width:100%}
.final-reference-picture,.final-reference-picture img{display:block;width:100%;height:auto}
.final-hero{position:relative;aspect-ratio:1030/386;overflow:hidden;background:#2f2028;color:#fff}
.final-hero picture,.final-hero picture img{position:absolute;inset:0;width:100%;height:100%}
.final-hero picture img{object-fit:cover;object-position:center 51%}
.final-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#160d16b8 0%,#160d1663 39%,transparent 67%)}
.final-hero-copy{position:absolute;z-index:1;left:4.7%;top:50%;transform:translateY(-50%);width:48%;text-shadow:0 2px 12px #21121c88}
.final-hero h1{font:clamp(34px,4.5vw,64px)/1.38 'Noto Serif JP',serif;letter-spacing:.02em;margin:0 0 30px}
.final-hero-subcopy{font:clamp(14px,1.45vw,22px)/1.55 'Noto Serif JP',serif;letter-spacing:.04em;margin:0 0 24px;white-space:nowrap}
.final-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.final-hero-actions a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:166px;padding:11px 20px;background:#c78b9d;color:#fff;border:1px solid #c78b9d;font:14px var(--serif);text-shadow:none}
.final-hero-actions a+ a{background:#271f25a8;border-color:#fff}
.final-hero-actions a:hover{background:#7c4055}
.final-section{padding:15px 3.1% 16px}
.final-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:10px}
.final-heading h2{font:clamp(28px,2.75vw,42px)/1 var(--serif);letter-spacing:.01em;margin:0}
.final-heading a,.final-heading span{font:12px/1.4 'Noto Serif JP',serif;color:#734757}
.final-heading a{white-space:nowrap}
.final-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(175px,.86fr);gap:10px}
.final-feature{min-width:0;position:relative}
.final-feature-photo{display:block;aspect-ratio:1.04;overflow:hidden;background:#f6eeee}
.final-feature-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%}
.final-feature-heart{position:absolute;right:8px;top:8px;width:32px;height:32px;display:grid;place-items:center;background:transparent;border-radius:50%;font:25px/1 var(--serif);color:#754456;text-shadow:0 1px 3px #fff}
.final-feature-heart.on{color:#bc6481}
.final-feature h3{font:11px/1.35 'Noto Serif JP',serif;margin:7px 0 2px;min-height:30px}
.final-feature p{font:16px/1.2 var(--serif);margin:0}
.final-collection-link{display:block;min-width:0;align-self:start;position:relative;overflow:hidden}
.collection-mobile-copy{display:none}
.home-rivie-marquee{overflow:hidden;background:#f8e9ee;color:#b47a92;border-block:1px solid #efdae2;padding:5px 0;font:400 14px/1.4 'Times New Roman','Noto Serif JP',serif;letter-spacing:0}
.home-rivie-marquee-track{display:flex;width:max-content;animation:rivie-marquee-scroll 36s linear infinite}
.home-rivie-marquee-group{display:flex;align-items:center;gap:clamp(40px,6vw,90px);padding-right:clamp(40px,6vw,90px);flex-shrink:0}
.home-rivie-marquee-group>span{white-space:nowrap}
.home-rivie-marquee.below-hero .home-rivie-marquee-track{animation-direction:reverse}
@keyframes rivie-marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:767px){.home-rivie-marquee{font-size:14px;padding:5px 0}}
@media(prefers-reduced-motion:reduce){.home-rivie-marquee-track{animation:none}}
.rivie-opening-active{overflow:hidden}
.rivie-opening{position:fixed;inset:0;z-index:2000;overflow:hidden;animation:rivie-opening-reveal .25s ease 2.75s both}
.rivie-opening-wrap{position:absolute;inset:0;pointer-events:none}
.rivie-opening-panel{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(140deg,#fff0f1,#fce5e8);will-change:transform}
.rivie-opening-panel.left{left:0;animation:rivie-wrap-left 1.5s cubic-bezier(.55,.05,.2,1) 1.2s both}
.rivie-opening-panel.right{right:0;animation:rivie-wrap-right 1.5s cubic-bezier(.55,.05,.2,1) 1.2s both}
.rivie-opening-band{position:absolute;left:0;right:0;top:calc(50% - 32px);height:64px;background:linear-gradient(#fff2f3,#f8dce0 22%,#fce8eb 48%,#f1cdd4 86%,#f9e1e5);border-block:1px solid #edcbd050;box-shadow:0 3px 12px #d9a3ac17}
.rivie-opening-vertical{position:absolute;top:0;bottom:0;width:22px;background:linear-gradient(90deg,#f7dade,#fff3f4 55%,#f1cdd4);opacity:.65}
.left .rivie-opening-vertical{right:0}
.right .rivie-opening-vertical{left:0}
.rivie-opening-bow{position:absolute;top:50%;width:min(360px,82vw);height:auto;overflow:visible;transform:translate(-50%,-50%);stroke:#deb8c080;stroke-width:1}
.left .rivie-opening-bow{left:100%;fill:url(#opening-satin-left)}
.right .rivie-opening-bow{left:0;fill:url(#opening-satin-right)}
.opening-bow-left{transform-origin:176px 110px;animation:rivie-bow-left .65s ease .8s both}
.opening-bow-right{transform-origin:184px 110px;animation:rivie-bow-right .65s ease .8s both}
.opening-bow-fold{fill:none;stroke:#fff8f9;stroke-width:2;opacity:.7}
.rivie-opening-knot{position:absolute;left:50%;top:50%;width:38px;height:48px;transform:translate(-50%,-50%) rotate(-5deg);border-radius:10px;background:linear-gradient(110deg,#f1cdd4,#fff0f2 45%,#efc8d1);box-shadow:0 2px 6px #c591a529;animation:rivie-knot-release .45s ease .95s both}
.rivie-opening-logo{position:absolute;left:50%;top:calc(50% - 138px);transform:translate(-50%,-50%);font:500 clamp(64px,15vw,86px)/1 'Cormorant Garamond','Noto Serif JP',serif;letter-spacing:.015em;color:#bd8793;text-shadow:0 2px 12px #fff8;animation:rivie-opening-logo .65s ease 1.35s both}
.rivie-opening-skip{position:absolute;right:26px;bottom:24px;padding:9px;color:#a07580;font:12px 'Noto Sans JP',sans-serif;text-decoration:underline;text-underline-offset:5px}
@keyframes rivie-bow-left{to{transform:translateX(-28px) rotate(-15deg) scaleX(1.06)}}
@keyframes rivie-bow-right{to{transform:translateX(28px) rotate(15deg) scaleX(1.06)}}
@keyframes rivie-knot-release{to{transform:translate(-50%,-50%) scale(.7);opacity:0}}
@keyframes rivie-wrap-left{to{transform:translateX(-110%)}}
@keyframes rivie-wrap-right{to{transform:translateX(110%)}}
@keyframes rivie-opening-logo{to{opacity:0;transform:translate(-50%,-60%)}}
@keyframes rivie-opening-reveal{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.rivie-opening,.rivie-opening *{animation:none!important}}
.final-set{position:relative;margin:0;padding:0;background:#fff}
.final-set-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.final-set-image-link,.final-set-image-link img{display:block;width:100%;height:auto}
.final-scene{padding-top:13px;padding-bottom:9px}
.final-scene .final-heading{justify-content:center}
.final-scene-desktop{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.final-scene-desktop figure{position:relative;margin:0;overflow:hidden}
.final-scene-desktop img{width:100%;aspect-ratio:2.6;object-fit:cover}
.final-scene-desktop figcaption{position:absolute;bottom:0;left:0;right:0;padding:25px 17px 10px;color:#fff;background:linear-gradient(transparent,#27151b9a);font:23px var(--serif)}
.final-scene-mobile{display:none!important}
.final-journal-reference{position:relative;margin:0;background:#fff;container-type:inline-size}
.home-journal{padding:24px 6% 16px}
.home-journal .final-heading h2{font-size:clamp(25px,3.1vw,50px);color:var(--ink);font-weight:400}
.home-journal .final-heading a{color:#b65a7a;font-size:clamp(11px,.95vw,15px)}
.home-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-journal-card{display:grid;grid-template-columns:1fr 1.12fr;min-height:110px;background:linear-gradient(115deg,#fffdfd,#fbf2f3);font-family:'Noto Serif JP',serif}
.home-journal-cover{display:flex;align-items:flex-end;padding:18px 14px;background:linear-gradient(135deg,#a37889,#d3a3b2);color:white;font:italic clamp(13px,1.2vw,20px)/1.4 'Cormorant Garamond',serif;letter-spacing:.06em}
.home-journal-card:nth-child(2) .home-journal-cover{background:linear-gradient(135deg,#b58c98,#dcc1c8)}
.home-journal-card:nth-child(3) .home-journal-cover{background:linear-gradient(135deg,#b58689,#e4beb8)}
.home-journal-copy{display:flex;justify-content:center;flex-direction:column;gap:8px;padding:14px 12px;font-size:clamp(11px,.95vw,15px);line-height:1.6}
.home-journal-copy strong{font-weight:600}
.home-journal-copy>span{font-size:clamp(10px,.85vw,14px)}
@media(max-width:767px){
 .home-journal{padding:20px 4% 0}
 .home-journal .final-heading h2{font-size:24px}
 .home-journal .final-heading{flex-wrap:wrap;gap:8px}
 .home-journal-grid{grid-template-columns:1fr;gap:10px}
 .home-journal-card{min-height:85px;grid-template-columns:1fr 1.5fr}
 .home-journal-cover{font-size:17px}
 .home-journal-copy{font-size:13px}
 .home-journal-copy>span{font-size:12px}
}
.final-composite-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.home-shopping-guide{width:88%;max-width:1400px;margin:44px auto 60px;color:#4d4348;font-family:'Noto Sans JP',sans-serif}
.home-benefit-card,.home-policy-card{position:relative;background:linear-gradient(115deg,#fdf4f5,#fffafb 52%,#fcf0f3);border:1.5px solid #edbdc9;border-radius:14px}
.home-benefit-card{display:flex;align-items:center;gap:28px;padding:28px 34px;margin-bottom:16px}
.home-benefit-copy{flex:1;min-width:0}
.home-benefit-copy h2,.home-policy-card h3{font-family:'Noto Serif JP',serif;color:#a03555;font-weight:700}
.home-benefit-copy h2{font-size:clamp(20px,2.2vw,34px);line-height:1.5;margin:0 0 8px}
.home-benefit-copy h2 strong{font-weight:700;white-space:nowrap}
.home-benefit-copy p,.home-policy-card p{font-size:clamp(13px,1.08vw,17px);line-height:1.85;margin:0}
.home-benefit-copy ul{display:flex;gap:14px 22px;flex-wrap:wrap;list-style:none;padding:0;margin:6px 0 12px;font-size:clamp(12px,1.08vw,17px);font-weight:500}
.home-benefit-copy li:before{content:'✓';color:#c96d8c;font-size:1.25em;margin-right:7px}
.home-benefit-copy .home-guide-note{font-size:clamp(11px,.95vw,15px);color:#746b71}
.home-line-logo{display:grid;place-items:center;flex:none;width:76px;height:76px;border-radius:17px;background:#24bd39}
.home-line-logo span{position:relative;background:#fff;color:#24ac34;border-radius:50%;padding:16px 7px;font:700 18px Arial,sans-serif}
.home-line-logo span:after{content:'';position:absolute;bottom:-4px;left:13px;border-top:12px solid #fff;border-right:10px solid transparent}
.home-line-button{flex:none;display:inline-flex;gap:12px;align-items:center;justify-content:center;padding:16px 24px;border-radius:6px;background:linear-gradient(135deg,#d890a7,#bc718d);color:#fff;font:600 clamp(14px,1.35vw,21px)/1.5 'Noto Serif JP',serif}
.home-guide-icon{display:block;flex:none;width:76px;height:76px;color:#ab3d5f}
.home-guide-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.home-guide-icon.round{border:1.5px solid currentColor;border-radius:50%;padding:5px}
.home-guide-bow{position:absolute;left:-15px;top:-24px;width:70px;height:50px;fill:#eab3c4;stroke:#d18fa7;stroke-width:1;transform:rotate(-14deg);pointer-events:none}
.home-guide-heading{text-align:center;margin:28px 0 18px;color:#a03555;font-family:'Noto Serif JP',serif}
.home-guide-heading span{font-size:14px;letter-spacing:.15em;font-weight:700}
.home-guide-heading h2{display:flex;align-items:center;gap:24px;margin:6px 0 0;font-size:clamp(23px,2.25vw,35px);font-weight:700}
.home-guide-heading h2:before,.home-guide-heading h2:after{content:'';height:1px;background:#e7b3c3;flex:1}
.home-policy-card{display:grid;grid-template-columns:1fr 1fr;padding:30px 24px}
.home-policy-card>.home-guide-bow{left:24%;top:-20px;width:52px}
.home-policy-card article{display:flex;align-items:center;gap:22px;padding:8px 22px}
.home-policy-card article+article{border-left:1px solid #edbdc9}
.home-policy-card h3{font-size:clamp(19px,1.7vw,26px);margin:0 0 9px}
@media(max-width:767px){
 .home-shopping-guide{width:92%;margin:30px auto 36px}
 .home-benefit-card{gap:14px;padding:20px 16px;flex-wrap:wrap}
 .home-line-card{display:grid;grid-template-columns:48px minmax(0,1fr)}
 .home-line-logo,.home-guide-icon{width:48px;height:48px}
 .home-line-logo{border-radius:12px}
 .home-line-logo span{font-size:12px;padding:9px 4px}
 .home-benefit-copy h2{font-size:19px}
 .home-benefit-copy ul{display:block;font-size:12px;line-height:1.9;margin-bottom:8px}
 .home-benefit-copy p,.home-policy-card p{font-size:13px;line-height:1.8}
 .home-line-button{grid-column:2;justify-self:start;font-size:14px;padding:10px 20px}
 .home-guide-heading{margin:24px 0 16px}
 .home-guide-heading span{font-size:11px}
 .home-guide-heading h2{font-size:22px;gap:10px}
 .home-policy-card{grid-template-columns:1fr;padding:12px 16px}
 .home-policy-card article{gap:15px;padding:18px 0}
 .home-policy-card article+article{border-left:0;border-top:1px solid #edbdc9}
 .home-policy-card h3{font-size:19px}
 .home-guide-bow{width:48px;height:36px;top:-18px;left:-8px}
}
body.home-page footer{background:#fff}
.final-footer-band{display:none}
body.home-page .final-footer-band{display:flex;position:relative;align-items:center;justify-content:center;min-height:clamp(105px,7.1vw,150px);padding:14px 15%;overflow:hidden;background:#352226;color:#fff}
.final-shipping-art{position:absolute;inset:0;display:block;overflow:hidden;pointer-events:none}
.final-shipping-art::after{content:"";position:absolute;inset:0;background:rgba(42,25,30,.43)}
.final-shipping-art img{display:block;width:100%;height:100%;object-fit:cover;filter:blur(7px) brightness(.56);transform:scale(1.035)}
.final-shipping-copy{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.6vw,28px);max-width:100%;text-align:center;text-shadow:0 1px 4px #241419}
.final-shipping-copy div{display:flex;flex-direction:column;gap:8px}
.final-shipping-copy strong{font:400 clamp(17px,1.75vw,37px)/1.28 'Noto Serif JP',serif;white-space:nowrap}
.final-shipping-copy span{font:400 clamp(10px,.79vw,17px)/1.4 'Noto Serif JP',serif;white-space:nowrap}
.final-shipping-icon{width:clamp(35px,3.1vw,65px);height:auto;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.final-shipping-signature{position:absolute;z-index:1;right:2%;top:50%;transform:translateY(-50%);font:italic clamp(10px,1vw,20px)/1.3 Georgia,serif;text-align:center;text-shadow:0 1px 4px #241419}
body.home-page .footer-top,body.home-page .footer-bottom{display:none}

@media(max-width:767px){
 body.home-page .final-footer-band{display:block;min-height:0;padding:0;background:none}
 .final-shipping-art{position:relative;inset:auto}
 .final-shipping-art::after{display:none}
 .final-shipping-art img{height:auto;filter:none;transform:none}
 .final-shipping-copy,.final-shipping-signature{display:none}
 body.home-page .announcement{position:relative;height:25px;background:#673747;color:#fff;justify-content:center;padding:0;font-size:9px}
 body.home-page header{height:49px;grid-template-rows:49px;padding:0 3%;}
 body.home-page header .brand{font-size:42px}
 body.home-page header .mobile-menu{display:inline-flex;grid-column:1;grid-row:1;justify-self:start;align-self:center;min-width:40px;min-height:40px;font-size:24px}
 body.home-page header .tools{gap:1px}
 body.home-page header .tools .account,body.home-page header #search{display:none}
 body.home-page header .tools .icon,body.home-page header .tools .bag{min-width:37px;min-height:40px}
 body.home-page header nav{position:absolute;top:49px;left:0;right:0;grid-row:2;display:none;z-index:5;padding:20px;background:#fff;border-bottom:1px solid #e9e1df}
 body.home-page header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:19px}
 .final-hero{aspect-ratio:652/412}
 .final-hero picture img{object-position:center}
 .final-hero:after{background:linear-gradient(90deg,#160d169e,#160d162b 60%,transparent 82%)}
 .final-hero-copy{left:3.5%;top:43%;width:64%}
 .final-hero h1{font-size:clamp(22px,5.8vw,36px);line-height:1.4;margin-bottom:7px}
 .final-hero-subcopy{font-size:clamp(10px,2.8vw,14px);line-height:1.45;margin-bottom:11px;letter-spacing:0}
 .final-hero-actions{flex-wrap:nowrap;gap:5px}
 .final-hero-actions a{min-width:0;padding:7px 8px;gap:5px;font-size:10px;white-space:nowrap}
 .final-section{padding:10px 3% 14px}
 .final-heading{margin-bottom:7px;align-items:start}
 .final-heading h2{font-size:clamp(24px,6.5vw,34px)}
 .final-heading a,.final-heading span{font-size:9px}
 .final-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}
 .final-feature-photo{aspect-ratio:1.9}
 .final-feature-heart{width:25px;height:25px;font-size:20px;top:5px;right:5px}
 .final-feature h3{font-size:9px;line-height:1.3;min-height:24px;margin:4px 0 1px}
 .final-feature p{font-size:14px}
 .final-collection-link{grid-column:1/-1;margin-top:3px}
 .final-collection-link{container-type:inline-size;border-radius:3px}
 .final-collection-link .final-reference-picture img{aspect-ratio:1323/309;object-fit:cover;object-position:center 47%}
 .collection-mobile-copy{position:absolute;left:18%;top:8%;width:35%;height:84%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#282225;pointer-events:none;text-align:center}
 .collection-mobile-tagline{display:flex;flex-direction:column;font:500 clamp(12px,4.1cqw,30px)/1.3 'Noto Serif JP',serif;letter-spacing:.04em;white-space:nowrap}
 .collection-mobile-divider{height:1px;width:14%;background:#928181;margin:1.5cqw 0 1cqw}
 .collection-mobile-brand{font:500 clamp(10px,3.4cqw,24px)/1 'Cormorant Garamond',serif;letter-spacing:.07em}
 .collection-mobile-action{display:flex;align-items:center;gap:1.4cqw;margin-top:.8cqw;font:500 clamp(9px,3.1cqw,23px)/1.1 'Cormorant Garamond',serif;white-space:nowrap}
 .collection-mobile-action svg{width:1.8cqw;height:2.8cqw;stroke:currentColor;stroke-width:1.5;fill:none}
 .final-scene{padding-top:11px;padding-bottom:0}
 .final-scene .final-heading{justify-content:start}
 .final-scene-desktop{display:none}
 .final-scene-mobile{display:block!important;width:100%;height:auto}
}

body.home-page header a.brand img{width:100px}
@media(max-width:767px){body.home-page header a.brand img{width:108px}}

/* The home banner reuses the exact gold products shown in set contents. */
.final-set-image-link{position:relative}
.final-set-background-patch,.final-set-preserved-plus{position:absolute;display:block;overflow:hidden;pointer-events:none}
.final-set-background-patch{z-index:1}
.final-set-preserved-plus{z-index:3}
.final-set-background-patch img,.final-set-preserved-plus img{position:absolute;display:block;max-width:none;aspect-ratio:auto;object-fit:fill}
.final-set-accessory{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}
.final-set-accessory .set-accessory-photo{width:100%}
.final-set-accessory .set-accessory-photo img{max-width:none}
