@font-face{font-family:"Unbounded";src:url("/assets/fonts/unbounded-latin-900.woff") format("woff");font-style:normal;font-weight:900;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:#151515;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer}button{border:0}img{display:block;max-width:100%}svg{display:block}figure,p,h1,h2,h3{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #aa3b61;outline-offset:5px}button:disabled{cursor:not-allowed}.skip-link{position:fixed;left:16px;top:-100px;background:#fff;padding:12px;z-index:100}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.site-header{height:88px;padding:0 4%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative;z-index:10;background:#fff;border-bottom:1px solid #eee}.desktop-nav{display:flex;gap:32px;font-size:17px}.desktop-nav a:hover,.text-link:hover{opacity:.55}.brand{width:222px;display:block}.brand-art{width:100%;height:auto}.bag-button{justify-self:end;display:flex;align-items:center;gap:10px;padding:10px 0 10px 16px;background:none;font-size:17px}.bag-button svg,.icon-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4}.bag-count{font-size:16px}.menu-toggle{display:none}.icon-button{background:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.icon-button.menu-toggle{display:none}#mobile-nav{position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 24px 32px;border-bottom:1px solid #ddd}#mobile-nav:not([hidden]){display:grid;gap:24px}.hero{display:grid;grid-template-columns:1fr 1fr;position:relative;height:calc(100svh - 88px);min-height:680px;max-height:940px;background:#f7f7f7;overflow:hidden}.hero-copy{padding:clamp(40px,6.4vw,100px);padding-right:20px;align-self:center;z-index:1}.eyebrow{font-size:16px;letter-spacing:.09em;text-transform:uppercase;font-weight:500;line-height:1.5}.hero h1{font-size:clamp(90px,10.9vw,164px);letter-spacing:-.075em;font-weight:700;line-height:1.03;margin:19px 0 12px}.hero h1 span{color:#bd5573}.hero-subtitle{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.04em}.hero-statement{font-size:clamp(30px,3.4vw,48px);font-weight:600;letter-spacing:-.045em;line-height:1.12;margin:40px 0 30px}.button{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:60px;padding:16px 24px;font-size:18px;line-height:1.4;border:1px solid transparent;transition:background .2s}.button-dark{background:#171717;color:#fff}.button-dark:hover{background:#383838}.button span[aria-hidden]{font-size:26px;line-height:1}.hero .button{max-width:350px}.hero-size{margin-top:15px;font-size:16px}.hero-size span{padding:0 8px;color:#777}.hero-visual{height:100%;aspect-ratio:9/16;max-width:100%;justify-self:center;position:relative}.hero-visual img{width:100%;height:100%;object-fit:contain}.hero-side-note{position:absolute;right:22px;top:50%;writing-mode:vertical-rl;font-size:14px;letter-spacing:.1em}.section-space{padding:110px max(6.4vw,24px)}h2{font-size:clamp(44px,5.6vw,80px);font-weight:600;letter-spacing:-.055em;line-height:1.02}.intro{text-align:center;max-width:1100px;margin:auto}.intro h2{margin:24px 0 30px}.intro-description{max-width:650px;margin:auto;color:#505050;font-size:23px;line-height:1.55;letter-spacing:-.02em}.formula-aims{display:flex;justify-content:center;flex-wrap:wrap;gap:36px;margin-top:45px;font-size:22px;font-weight:600;letter-spacing:-.03em}.formula-aims span+span:before{content:'·';display:inline-block;margin-right:36px;color:#bc627c}.editorial{display:grid;grid-template-columns:1fr 1fr;background:#f3eeeb}.editorial-image{display:flex;justify-content:center;background:#d8d6d5;overflow:hidden}.editorial-image img{width:100%;height:auto;object-fit:contain;max-height:860px}.editorial-copy{align-self:center}.editorial-copy h2{margin:28px 0 30px}.editorial-copy>p:not(.eyebrow){font-size:22px;line-height:1.6;max-width:430px;color:#505050;letter-spacing:-.02em}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;border-bottom:1px solid currentColor;padding-bottom:8px;font-size:18px;transition:opacity .2s}.editorial-copy .text-link{margin-top:42px}.text-link span{font-size:25px}.product{display:grid;grid-template-columns:1fr 1fr;gap:9%;max-width:1600px;margin:auto;align-items:center}.product-gallery{min-width:0}.product-photo{background:#f1f0f0;max-height:790px;display:flex;justify-content:center;overflow:hidden}.product-photo>img{width:100%;aspect-ratio:9/16;max-height:790px;object-fit:contain}.gallery-controls{display:flex;gap:12px;padding-top:18px}.gallery-choice{padding:0;background:#f6f6f6;border:1px solid transparent;width:70px;height:90px;opacity:.65}.gallery-choice.is-active{border-color:#151515;opacity:1}.gallery-choice img{width:100%;height:100%;object-fit:contain}.product-copy h2{margin-top:24px;font-size:clamp(45px,4.5vw,65px)}.product-price{display:flex;justify-content:space-between;font-size:22px;margin:30px 0 24px;padding-bottom:24px;border-bottom:1px solid #d6d6d6}.product-copy>p:not(.eyebrow){color:#555;font-size:20px;line-height:1.5}.add-to-bag{width:100%;margin-top:30px}.add-to-bag>span{display:flex;align-items:center;gap:22px}.product-copy>p.product-shipping{font-size:17px;margin:18px 0 30px;color:#555;line-height:1.6}.product-details{border-top:1px solid #d6d6d6}details{border-bottom:1px solid #d6d6d6}summary{padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;cursor:pointer;list-style:none;font-size:20px;line-height:1.4}summary::-webkit-details-marker{display:none}summary>span{font-size:25px;font-weight:300;transition:transform .2s}details[open] summary>span{transform:rotate(45deg)}details>div{padding-bottom:25px;font-size:18px;color:#555;line-height:1.6}details>div a{border-bottom:1px solid #aaa;overflow-wrap:anywhere}.questions{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;background:#f6f5f3}.questions h2{margin:26px 0 36px;font-size:clamp(44px,4.2vw,62px)}.faq-list{border-top:1px solid #ccc}.faq-list summary{font-size:21px;padding:27px 0}.site-footer{background:#111;color:#fff;padding:60px max(6.4vw,24px) 25px}.footer-top{display:flex;justify-content:space-between;align-items:start}.footer-top>p{font-size:36px;line-height:1.1;letter-spacing:-.04em}.footer-brand{display:block;margin:65px auto 55px;width:100%;max-width:1300px}.footer-brand svg{width:100%;mix-blend-mode:screen}.footer-bottom{display:flex;align-items:center;gap:30px;border-top:1px solid #555;padding-top:24px;font-size:16px;color:#ccc;flex-wrap:wrap}.footer-bottom>span:last-child{margin-left:auto}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.js-motion .reveal.visible{opacity:1;transform:none}.bag-dialog{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:500px;max-width:100%;border:0;padding:0 28px;color:#171717}.bag-dialog::backdrop{background:rgb(0 0 0 / 32%);backdrop-filter:blur(3px)}.bag-header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid #ddd}.bag-header h2{font-size:32px;display:flex;gap:15px;align-items:center}.bag-header h2 span{font-size:17px;font-weight:400;letter-spacing:0}.bag-empty{display:grid;gap:24px;padding-top:65px}.bag-empty>p{font-size:40px;letter-spacing:-.04em;line-height:1.1}.bag-empty>span{color:#555}.bag-product{display:grid;grid-template-columns:112px 1fr;gap:24px;padding:30px 0}.bag-product>img{width:112px;aspect-ratio:9/16;object-fit:contain;background:#f8f8f8}.bag-product h3{font-size:22px;line-height:1.2;font-weight:500;letter-spacing:-.025em}.bag-product p{font-size:17px;margin:10px 0 18px;color:#555}.quantity{display:flex;align-items:center;border:1px solid #ccc;width:132px;justify-content:space-between}.quantity button{width:44px;height:42px;background:none}.quantity output{font-size:18px}.remove-button{padding:5px 0;background:none;text-decoration:underline;font-size:16px;margin-top:10px}.bag-summary{padding-top:24px;border-top:1px solid #ddd}.bag-summary>p:first-child{display:flex;justify-content:space-between;font-size:22px}.bag-summary #shipping-note{font-size:17px;color:#666;margin-top:12px}.launch-note{background:#f4efec;padding:20px;margin:26px 0;font-size:17px}.launch-note p{margin-top:8px}.continue-button{display:block;background:none;text-decoration:underline;margin:22px auto;font-size:17px}dialog [hidden]{display:none!important}
@media(min-width:1600px){.hero-copy{justify-self:end;width:100%;max-width:740px}}
@media(max-width:1000px) and (min-width:701px){.desktop-nav{gap:20px}.brand{width:190px}.hero{min-height:620px}.hero-copy{padding:40px 0 40px 32px}.hero h1{font-size:102px}.hero-statement{font-size:34px}.hero .button{max-width:290px}.hero-side-note{display:none}.section-space{padding:80px 32px}.product{gap:6%}.product-copy h2{font-size:46px}.editorial-copy>p:not(.eyebrow){font-size:20px}.questions{gap:6%}}
@media(max-width:700px){html{scroll-padding-top:20px}.site-header{height:72px;padding:0 18px;grid-template-columns:1fr auto 1fr}.desktop-nav{display:none}.icon-button.menu-toggle{display:flex;justify-self:start;margin-left:-7px}.brand{width:190px}.bag-label{display:none}.bag-button{gap:6px;padding-left:4px}.hero{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:9/16;overflow:hidden}.hero-visual{width:100%;height:100%;max-width:none}.hero-visual img{object-fit:contain}.hero-copy{position:absolute;inset:0;padding:12px 23px 23px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.hero-copy a{pointer-events:auto}.hero .eyebrow{font-size:16px;letter-spacing:.08em}.hero h1{font-size:clamp(58px,17.2vw,83px);line-height:.95;margin:8px 0 4px;letter-spacing:-.065em}.hero-subtitle{font-size:20px;letter-spacing:-.03em}.hero-statement{display:none}.hero-bottom{max-width:none}.hero .button{min-height:52px;max-width:none;font-size:17px;padding:12px 20px}.hero-size{margin-top:9px;text-align:center;font-size:16px}.hero-side-note{display:none}.section-space{padding:70px 24px}.eyebrow{font-size:16px;letter-spacing:.055em}h2{font-size:48px;letter-spacing:-.055em}.intro h2{margin:20px 0 25px}.intro-description{font-size:20px;line-height:1.5;max-width:430px}.formula-aims{gap:0;margin-top:32px;font-size:18px;justify-content:space-between}.formula-aims span+span:before{content:none}.editorial{display:flex;flex-direction:column}.editorial-image img{width:100%;height:auto;max-height:760px;object-fit:contain}.editorial-copy{width:100%;padding:60px 24px}.editorial-copy h2{margin-top:20px}.editorial-copy>p:not(.eyebrow){font-size:20px;max-width:430px}.editorial-copy .text-link{margin-top:30px}.product{display:flex;flex-direction:column;gap:38px;padding:64px 24px}.product-gallery{width:100%}.product-photo{max-height:650px}.product-photo>img{max-height:650px}.gallery-choice{width:62px;height:78px}.product-copy{width:100%}.product-copy h2{font-size:50px;margin-top:18px}.product-price{margin-top:24px;font-size:22px}.product-copy>p:not(.eyebrow){font-size:20px}.product-copy>p.product-shipping{font-size:17px}.questions{display:block;padding:64px 24px}.questions h2{font-size:48px;margin:20px 0 25px}.faq-list{margin-top:45px}.faq-list summary{font-size:20px;padding:23px 0}.site-footer{padding:46px 24px 25px}.footer-top>p{font-size:29px}.footer-top .text-link{font-size:17px;gap:18px}.footer-brand{margin:45px 0 30px}.footer-bottom{font-size:16px;gap:18px 26px;display:grid;grid-template-columns:1fr auto}.footer-bottom>span:last-child{grid-column:1/-1;margin:0}.bag-dialog{padding:0 22px}.bag-header{padding:22px 0}.bag-product{grid-template-columns:100px 1fr;gap:18px}.bag-product>img{width:100px}.bag-product h3{font-size:21px}}
@media(max-width:360px){.brand{width:170px}.hero-copy{padding:10px 20px 17px}.hero .eyebrow{font-size:16px}.hero-subtitle{font-size:18px}.hero h1{font-size:54px;margin:4px 0}.hero .button{font-size:16px;min-height:48px}.hero-size{font-size:16px}.formula-aims{font-size:16px;gap:12px}.product-copy h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* Keep the mobile copy pinned to the complete portrait, independent of
   desktop grid alignment and Safari absolute-position sizing. */
@media (max-width:700px) {
  .hero { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); aspect-ratio:9/16; }
  .hero-visual { grid-area:1 / 1; width:100%; height:auto; align-self:stretch; aspect-ratio:9/16; min-width:0; min-height:0; }
  .hero-visual img { width:100%; height:100%; object-fit:contain; }
  .hero-copy { grid-area:1 / 1; position:relative; inset:auto; align-self:stretch; justify-self:stretch; width:100%; height:100%; min-height:0; display:flex; flex-direction:column; justify-content:space-between; padding:12px 23px 23px; }
  .hero-heading, .hero-bottom { flex:0 0 auto; }
  .hero .button { justify-content:center; }
}
@media (max-width:360px) { .hero-copy { padding:10px 20px 17px; } }

/* Skin in focus: centered copy above complete, edge-to-edge mobile portraits. */
.skin-visuals {
  width:100%; max-width:1400px; margin:0 auto;
  padding:72px max(4vw,24px) 0;
  color:#000; background:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
.skin-visuals-heading { margin:0 0 34px; text-align:center; }
.skin-visuals-heading h2 {
  font-size:clamp(42px,4.7vw,68px); font-weight:800;
  line-height:1.04; letter-spacing:-.055em;
}
.skin-examples { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.skin-example {
  min-width:0; display:grid; grid-template-rows:auto 1fr;
  align-content:start; gap:20px; padding-top:22px;
  border-top:1px solid #dedede;
}
.skin-example-copy { min-height:120px; text-align:center; }
.skin-example-copy h3 {
  font-size:clamp(25px,2.45vw,36px); font-weight:750;
  line-height:1.08; letter-spacing:-.045em; text-wrap:balance;
}
.skin-example-copy p {
  margin-top:12px; font-size:18px; line-height:1.45;
  letter-spacing:-.02em; color:#000;
}
.skin-example-figure { width:100%; max-width:none; align-self:start; justify-self:center; margin:0; }
.skin-example-figure img { display:block; width:100%; height:auto; object-fit:contain; }
.skin-visuals-note { margin:10px auto 0; font-size:16px; line-height:1.5; color:#555; text-align:center; }
@media(max-width:900px) and (min-width:701px) {
  .skin-examples { gap:22px; }
  .skin-example-copy { min-height:145px; }
}
@media(max-width:700px) {
  .skin-visuals { padding:40px 0 0; }
  .skin-visuals-heading { margin-bottom:26px; padding:0 24px; }
  .skin-visuals-heading h2 { font-size:clamp(36px,10.7vw,48px); }
  .skin-examples { grid-template-columns:minmax(0,1fr); gap:28px; }
  .skin-example { grid-template-rows:auto auto; gap:14px; padding-top:0; border-top:0; }
  .skin-example-copy { min-height:0; padding:0 24px; }
  .skin-example-copy h3 { font-size:clamp(27px,8.1vw,34px); }
  .skin-example-copy p { font-size:18px; line-height:1.4; margin-top:8px; }
  .skin-example-figure { width:100%; max-width:none; }
  .skin-visuals-note { margin:10px auto 0; max-width:390px; }
}

/* Launch hero: complete original photograph, centered editorial typography. */
.hero.hero-launch { background:#d2d1d1; min-height:620px; }
.hero-launch .hero-copy { text-align:center; padding:50px 32px; width:100%; justify-self:center; }
.hero-launch .eyebrow { font-size:17px; letter-spacing:.2em; }
.hero-launch h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(64px,8vw,122px); font-weight:400; letter-spacing:-.055em; line-height:1.05; margin:18px 0 30px; }
.hero-launch .launch-description { font-size:clamp(20px,2vw,27px); line-height:1.4; letter-spacing:-.025em; }
.hero-launch .button { width:max-content; min-width:174px; min-height:56px; margin:26px auto 0; padding:14px 32px; justify-content:center; border-radius:999px; font-size:20px; }
.hero-launch .hero-visual { aspect-ratio:1536/2752; }
.hero-launch .hero-visual img { object-fit:contain; }
@media(max-width:700px) {
 .hero.hero-launch { height:auto; min-height:0; max-height:none; aspect-ratio:1536/2752; background:#d2d1d1; }
 .hero-launch .hero-visual { aspect-ratio:1536/2752; }
 .hero-launch .hero-copy { padding:clamp(25px,8vw,52px) 20px 20px; align-self:stretch; justify-content:space-between; }
 .hero-launch .eyebrow { font-size:16px; letter-spacing:.19em; }
 .hero-launch h1 { font-size:clamp(58px,17vw,104px); line-height:1.08; margin:10px 0 0; letter-spacing:-.055em; }
 .hero-launch .launch-description { font-size:18px; line-height:1.3; }
 .hero-launch .button { min-height:50px; min-width:160px; font-size:18px; margin-top:14px; padding:11px 28px; }
}
@media(max-width:360px) {
 .hero-launch .hero-copy { padding:24px 16px 14px; }
 .hero-launch .launch-description { font-size:17px; }
 .hero-launch .button { margin-top:10px; min-height:46px; }
}

/* Transparent navigation over the launch image, with bold system typography. */
.site-header { position:absolute; inset:0 0 auto; width:100%; background:transparent; border-bottom:0; }
.hero.hero-launch { height:100svh; }
.hero-launch .eyebrow,
.hero-launch h1 { font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif; font-weight:800; }
.hero-launch .eyebrow { letter-spacing:.12em; }
.hero-launch h1 { letter-spacing:-.055em; }
@media(max-width:700px) {
 .hero.hero-launch { height:auto; }
 .hero-launch .hero-copy { padding-top:92px; }
 .hero-launch h1 { font-size:clamp(58px,17vw,104px); margin-top:6px; }
 .hero-launch .eyebrow { font-size:16px; }
}
@media(max-width:360px) {
 .hero-launch .hero-copy { padding-top:84px; }
}

/* The second chapter: full portrait and a clear, scroll-revealed headline. */
.new-skin { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; background:#050505; overflow:clip; }
.new-skin-copy { padding:64px 32px; text-align:center; }
.new-skin-title { color:#cd7781; font-family:"Unbounded",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; font-size:clamp(28px,calc(5.4vw - 8px),82px); font-weight:900; font-synthesis:none; line-height:1.07; letter-spacing:-.045em; }
.new-skin-visual { position:relative; width:100%; margin:0; }
.new-skin-visual::before { content:""; position:absolute; z-index:1; pointer-events:none; inset:0 auto 0 0; width:40px; background:linear-gradient(to right,#050505,rgba(5,5,5,0)); }
.new-skin-visual img { width:100%; height:auto; max-height:900px; object-fit:contain; }
@media(max-width:700px) {
 .new-skin { display:block; }
 .new-skin-copy { padding:34px 20px 16px; }
 .new-skin-visual::before { inset:0 0 auto; width:100%; height:28px; background:linear-gradient(to bottom,#050505,rgba(5,5,5,0)); }
 .new-skin-title { font-size:clamp(28px,calc(11vw - 4px),72px); line-height:1.07; }
 .new-skin-visual img { max-height:none; }
}

/* One calm reveal for all page copy: focus first, minimal vertical movement. */
.js-motion .reveal {
 opacity:0; filter:blur(12px); transform:translateY(8px);
 transition:filter 1.8s cubic-bezier(.22,.61,.36,1),opacity 1.5s ease,transform 1.8s cubic-bezier(.22,.61,.36,1);
 transition-delay:var(--reveal-delay,0ms);
}
.js-motion .reveal.visible { opacity:1; filter:blur(0); transform:translateY(0); }
@media(prefers-reduced-motion:reduce) {
 .js-motion .reveal { opacity:1; filter:none; transform:none; transition:none; }
}

/* Explicit initial focus state; animation timing is independent of CSS transitions. */
.focus-pending { opacity:.3; filter:blur(16px); }

/* Keep touch scrolling available without zooming the campaign portrait. */
.new-skin-visual, .new-skin-visual img { touch-action:pan-y; }
.new-skin-visual img { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }

/* Floating product bundles: no image panels, frames or moving shipping labels. */
.offers { padding:64px 0 40px; background:#fff; overflow:clip; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif; }
.offers-heading { text-align:center; padding:0 24px; }
.offers-heading .eyebrow { font-size:17px; letter-spacing:.025em; text-transform:none; }
.offers-heading h2 { font-size:clamp(38px,4.5vw,64px); font-weight:800; margin-top:12px; }
.bundle-picker { display:flex; justify-content:center; gap:6px; margin:26px auto 8px; padding:5px; width:max-content; max-width:calc(100% - 32px); background:#f4f3f3; border-radius:99px; }
.bundle-picker button { min-height:44px; padding:10px 23px; border-radius:99px; background:transparent; font-size:17px; white-space:nowrap; transition:background .2s,color .2s; }
.bundle-picker button[aria-pressed="true"] { color:#fff; background:#171717; }
.bundle-carousel { max-width:1220px; margin:auto; }
.bundle-track { display:flex; width:100%; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.bundle-track::-webkit-scrollbar { display:none; }
/* Avoid Safari's blue touch/focus outline; retain a keyboard-only indicator. */
.bundle-track { outline:none; -webkit-tap-highlight-color:transparent; }
.bundle-track:focus-visible { outline:2px solid #777; outline-offset:-3px; }
.bundle-slide { flex:0 0 100%; min-width:0; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:36px; align-items:center; scroll-snap-align:start; scroll-snap-stop:always; padding:30px 40px 18px; }
.bundle-art { position:relative; width:100%; height:440px; isolation:isolate; }
.floating-kit { position:absolute; width:66%; display:block; animation:kit-float 4.8s ease-in-out infinite; transform-origin:50% 65%; }
.floating-kit img { width:100%; height:auto; display:block; object-fit:contain; filter:drop-shadow(0 18px 16px rgba(22,11,15,.10)); -webkit-user-drag:none; user-select:none; }
.bundle-art-1 .kit-1 { width:78%; left:11%; top:5%; --tilt:0deg; }
.bundle-art-2 .kit-1 { width:60%; left:0; top:7%; --tilt:-8deg; }
.bundle-art-2 .kit-2 { width:60%; right:0; top:24%; --tilt:6deg; animation-delay:-2.4s; z-index:1; }
.bundle-art-4 .floating-kit { width:43%; }
.bundle-art-4 .kit-1 { left:4%; top:0; --tilt:-7deg; }
.bundle-art-4 .kit-2 { right:4%; top:2%; --tilt:6deg; animation-delay:-1.2s; }
.bundle-art-4 .kit-3 { left:4%; top:47%; --tilt:-5deg; animation-delay:-2.4s; z-index:1; }
.bundle-art-4 .kit-4 { right:4%; top:49%; --tilt:7deg; animation-delay:-3.6s; z-index:2; }
@keyframes kit-float { 0%,100% { transform:translateY(5px) rotate(var(--tilt,0deg)); } 50% { transform:translateY(-6px) rotate(var(--tilt,0deg)); } }
.bundle-copy { text-align:left; max-width:420px; padding:12px 0; }
.bundle-copy h3 { font-size:clamp(34px,3.5vw,50px); font-weight:800; line-height:1.05; letter-spacing:-.055em; }
.bundle-description { font-size:20px; line-height:1.4; margin-top:12px; }
.bundle-price { display:flex; align-items:baseline; gap:10px; margin-top:26px; font-size:44px; line-height:1.1; font-weight:750; letter-spacing:-.04em; }
.bundle-price span { font-size:17px; font-weight:400; letter-spacing:0; }
.bundle-price s { margin-left:6px; color:#777; font-size:23px; font-weight:400; letter-spacing:-.02em; }
.bundle-shipping { display:flex; align-items:center; gap:10px; font-size:17px; line-height:1.35; margin-top:18px; min-height:28px; }
.bundle-shipping svg { flex:0 0 25px; width:25px; height:24px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.bundle-buy { width:100%; max-width:320px; min-height:56px; margin-top:22px; border-radius:99px; padding:15px 26px; font-size:17px; font-weight:600; letter-spacing:.025em; }
.bundle-buy svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.5; }
.bundle-navigation { display:flex; justify-content:center; align-items:center; gap:20px; margin-top:8px; }
.bundle-arrow { width:44px; height:44px; border:1px solid #ddd; border-radius:50%; background:#fff; display:grid; place-items:center; }
.bundle-arrow svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.5; }
.bundle-arrow:disabled { opacity:.3; }
.bundle-position { min-width:44px; text-align:center; font-size:17px; font-variant-numeric:tabular-nums; }
.offer-details { max-width:750px; margin:38px auto 0; padding:0 24px; }
.bag-product #bag-paid-label { margin:12px 0 8px; color:#151515; }
.bag-product #bag-gift-note { color:#963b59; margin:14px 0 0; font-weight:600; }
/* On mobile, keep the complete kits within a compact, viewport-aware stage. */
@media(max-width:700px) {
  .offers { padding-top:28px; padding-bottom:24px; }
  .offers-heading .eyebrow { font-size:16px; }
  .offers-heading h2 { font-size:clamp(32px,9vw,38px); margin-top:8px; }
  .bundle-picker { margin-top:14px; margin-bottom:0; gap:3px; }
  .bundle-picker button { font-size:16px; padding:8px 19px; }
  .bundle-slide { display:flex; flex-direction:column; gap:4px; padding:8px 24px 6px; }
  .bundle-art { flex:0 0 auto; width:min(100%,320px); width:min(100%,320px,42svh); height:auto; aspect-ratio:4 / 3; }
  .bundle-art-1 .kit-1 { width:82%; left:9%; top:4%; }
  .bundle-art-2 .floating-kit { width:56%; }
  .bundle-art-2 .kit-1 { left:1%; top:6%; }
  .bundle-art-2 .kit-2 { right:1%; top:22%; }
  .bundle-art-4 .floating-kit { width:40%; }
  .bundle-art-4 .kit-1,.bundle-art-4 .kit-2 { top:2%; }
  .bundle-art-4 .kit-3,.bundle-art-4 .kit-4 { top:47%; }
  .bundle-copy { text-align:center; width:100%; max-width:400px; padding:0; }
  .bundle-copy h3 { font-size:30px; }
  .bundle-description { font-size:17px; margin-top:6px; }
  .bundle-price { justify-content:center; margin-top:10px; font-size:34px; }
  .bundle-shipping { justify-content:center; margin-top:8px; font-size:16px; }
  .bundle-buy { margin:12px auto 0; min-height:52px; padding:12px 24px; }
  .bundle-navigation { margin-top:0; }
  .offer-details { margin-top:22px; }
}
@media(max-width:360px) {
  .bundle-picker button { padding:8px 15px; }
}
@media(prefers-reduced-motion:reduce) {
  .floating-kit { animation:none; transform:rotate(var(--tilt,0deg)); }
  .bundle-track { scroll-behavior:auto; }
}

/* Compact bundle usage estimates. */
.bundle-benefits { display:table; margin:12px 0 0; padding-left:20px; list-style:disc; font-size:18px; line-height:1.4; }
.bundle-benefits p { margin:0; font-size:inherit; line-height:inherit; }
.usage-note { max-width:600px; margin:20px auto 0; padding:0 24px; text-align:center; font-size:16px; line-height:1.5; color:#555; }
@media(max-width:700px) { .bundle-benefits { margin:6px auto 0; font-size:17px; text-align:left; } }

/* PDRN: live callouts around floating artwork on a clean white stage. */
.pdrn-explained {
  margin:0; padding:42px 24px 28px; background:#fff; color:#121212;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
.pdrn-explained-heading { margin:0 auto 28px; text-align:center; }
.pdrn-explained-heading h2 { font-size:clamp(38px,5.2vw,68px); line-height:1.08; font-weight:800; letter-spacing:-.055em; }
.pdrn-explained-heading h2 span { font-weight:450; }
.pdrn-scene {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:"dna hydration" "art art" "smooth barrier";
  column-gap:24px; row-gap:4px; max-width:520px; margin:0 auto; align-items:start;
}
.pdrn-callout { position:relative; min-width:0; }
.pdrn-callout h3 { font-size:clamp(17px,4.7vw,23px); font-weight:750; line-height:1.12; letter-spacing:-.035em; }
.pdrn-callout p { margin-top:7px; font-size:16px; line-height:1.35; letter-spacing:-.02em; }
.pdrn-callout-dna { grid-area:dna; }
.pdrn-callout-hydration { grid-area:hydration; }
.pdrn-callout-smooth { grid-area:smooth; }
.pdrn-callout-barrier { grid-area:barrier; }
.pdrn-connector { display:block; width:1px; height:18px; margin:10px 0 0 14px; background:#d6c1c7; position:relative; }
.pdrn-connector::after { content:""; position:absolute; width:5px; height:5px; bottom:-2px; left:-2px; border-radius:50%; background:#bf6785; }
.pdrn-callout-hydration .pdrn-connector { margin-left:auto; margin-right:14px; }
.pdrn-callout-smooth .pdrn-connector,.pdrn-callout-barrier .pdrn-connector { margin-top:0; margin-bottom:12px; }
.pdrn-callout-smooth .pdrn-connector::after,.pdrn-callout-barrier .pdrn-connector::after { top:-2px; bottom:auto; }
.pdrn-callout-barrier .pdrn-connector { margin-left:auto; margin-right:14px; }
.pdrn-explained-visual { grid-area:art; width:100%; margin:0; position:relative; perspective:1000px; }
.pdrn-float-layer { position:relative; z-index:1; animation:pdrn-float 6s ease-in-out infinite; animation-play-state:paused; transform-origin:50% 55%; }
.pdrn-float-layer img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 12px 14px rgba(58,23,34,.11)); }
.pdrn-ground-shadow { position:absolute; width:52%; height:4%; left:24%; bottom:0; border-radius:50%; background:rgba(67,36,45,.1); filter:blur(10px); animation:pdrn-shadow 6s ease-in-out infinite; animation-play-state:paused; }
.pdrn-in-view .pdrn-float-layer,.pdrn-in-view .pdrn-ground-shadow { animation-play-state:running; }
.pdrn-formula-note { margin:24px auto 0; font-size:16px; line-height:1.4; color:#606060; text-align:center; }
.pdrn-pending { opacity:.25; filter:blur(10px); }
@keyframes pdrn-float { 0%,100% { transform:translateY(3px) rotateX(1deg) rotateZ(-.5deg); } 50% { transform:translateY(-5px) rotateX(-1deg) rotateZ(.5deg); } }
@keyframes pdrn-shadow { 0%,100% { opacity:.8; transform:scaleX(1); } 50% { opacity:.5; transform:scaleX(.9); } }
@media(min-width:900px) {
  .pdrn-explained { padding:64px max(4vw,32px) 40px; }
  .pdrn-explained-heading { margin-bottom:32px; }
  .pdrn-scene { max-width:1180px; grid-template-columns:minmax(160px,1fr) minmax(360px,540px) minmax(160px,1fr); grid-template-areas:"dna art hydration" "smooth art barrier"; column-gap:28px; row-gap:40px; align-items:center; }
  .pdrn-callout h3 { font-size:25px; }
  .pdrn-callout p { font-size:18px; max-width:220px; }
  .pdrn-connector { width:65%; height:1px; margin:18px 0 0; }
  .pdrn-connector::after { left:auto; right:-2px; bottom:-2px; }
  .pdrn-callout-hydration .pdrn-connector,.pdrn-callout-barrier .pdrn-connector { margin-left:0; margin-right:0; }
  .pdrn-callout-hydration .pdrn-connector::after,.pdrn-callout-barrier .pdrn-connector::after { left:-2px; right:auto; }
  .pdrn-callout-smooth .pdrn-connector,.pdrn-callout-barrier .pdrn-connector { margin-bottom:18px; }
}
@media(max-width:360px) {
  .pdrn-explained { padding-left:20px; padding-right:20px; }
  .pdrn-scene { column-gap:18px; }
  .pdrn-explained-heading h2 { font-size:35px; }
}
@media(prefers-reduced-motion:reduce) {
  .pdrn-float-layer,.pdrn-ground-shadow { animation:none; transform:none; }
  .pdrn-pending { opacity:1; filter:none; }
}

/* Full-width instructions, preserving every step of the original image. */
.how-to-use { margin:0; padding:0; background:#ededed; }
.how-to-use h2 {
  margin:0; padding:28px 24px 24px; color:#000; text-align:center;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(36px,4.7vw,64px); font-weight:800; line-height:1.08; letter-spacing:-.055em;
}
.how-to-use-visual { margin:0; width:100%; }
.how-to-use-visual img { display:block; width:100%; height:auto; margin:0 auto; object-fit:contain; }
@media(min-width:701px) {
  .how-to-use h2 { padding:40px 24px 32px; }
  .how-to-use-visual img { width:auto; max-width:100%; max-height:1000px; }
}

/* Compact, centered photo carousel with the complete original images. */
.skinformat-effect {
  margin:0; padding:38px 0 30px; overflow:clip; background:#fff; color:#121212;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
.effects-heading { padding:0 24px; margin:0 auto 22px; text-align:center; }
.effects-heading h2 { margin:0; }
.effects-brand { display:flex; align-items:center; justify-content:center; gap:10px; font-size:clamp(13px,3.6vw,16px); line-height:1.3; letter-spacing:.09em; font-weight:550; }
.effects-logo { display:block; width:clamp(134px,38vw,190px); height:auto; flex-shrink:0; }
.effects-word { display:block; margin:14px auto 0; max-width:800px; font-size:clamp(24px,6.6vw,58px); line-height:1.06; letter-spacing:-.045em; font-weight:800; }
.effects-carousel { --effect-slide-width:min(82vw,390px); --effect-slide-width:min(82vw,390px,46.2933svh); max-width:1280px; margin:0 auto; }
.effects-track {
  display:flex; gap:16px; width:100%; position:relative; overflow-x:auto; overflow-y:hidden;
  padding:8px calc((100% - var(--effect-slide-width)) / 2);
  scroll-snap-type:x mandatory; scroll-padding-inline:calc((100% - var(--effect-slide-width)) / 2);
  scrollbar-width:none; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
}
.effects-track::-webkit-scrollbar { display:none; }
.effects-track:focus { outline:none; }
.effects-track:focus-visible { outline:2px solid #aa3b61; outline-offset:-2px; }
.effects-slide { flex:0 0 var(--effect-slide-width); min-width:0; margin:0; scroll-snap-align:center; scroll-snap-stop:always; transition:opacity .25s ease,transform .25s ease; }
.effects-slide img { display:block; width:100%; height:auto; aspect-ratio:56 / 75; object-fit:contain; user-select:none; -webkit-user-drag:none; }
.effects-carousel.is-enhanced .effects-slide { opacity:.48; transform:scale(.96); }
.effects-carousel.is-enhanced .effects-slide.is-active { opacity:1; transform:scale(1); }
.effects-controls { display:flex; align-items:center; justify-content:center; gap:8px; width:min(calc(100% - 40px),328px); margin:16px auto 0; }
.effects-controls[hidden] { display:none; }
.effects-arrow { flex:0 0 44px; width:44px; height:44px; padding:0; display:grid; place-items:center; border:1px solid #dedede; border-radius:50%; background:#fff; color:#161616; transition:background .2s,opacity .2s; }
.effects-arrow svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.effects-arrow:disabled { opacity:.28; }
.effects-dots { display:flex; flex:1; min-width:0; justify-content:center; }
.effects-dot { flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; padding:0; border:0; background:transparent; border-radius:50%; }
.effects-dot span { display:block; width:6px; height:6px; border-radius:99px; background:#c9c9c9; transition:width .2s,background .2s; }
.effects-dot[aria-pressed="true"] span { width:22px; background:#151515; }
@media(hover:hover) { .effects-arrow:not(:disabled):hover { background:#f1f1f1; } .effects-dot:hover span { background:#777; } }
@media(min-width:900px) {
  .skinformat-effect { padding:60px 0 40px; }
  .effects-heading { margin-bottom:28px; }
  .effects-carousel { --effect-slide-width:min(36vw,420px,49.28svh); }
  .effects-track { gap:24px; }
  .effects-controls { margin-top:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .effects-slide,.effects-arrow,.effects-dot span { transition:none; }
  .effects-carousel.is-enhanced .effects-slide { transform:none; }
}

/* Text-only formula section after the effects carousel. */
.editorial-text-only { display:block; }
.editorial-text-only .editorial-copy { max-width:760px; margin-inline:auto; text-align:center; }
.editorial-text-only .editorial-copy > p:not(.eyebrow) { margin-inline:auto; }

/* An unframed dictionary entry, typeset directly over the launch photograph. */
.hero-launch .hero-dictionary {
  width:100%; max-width:480px; margin:0 auto; padding:0;
  color:#101010; text-align:left; background:transparent;
  font-family:Georgia,"Times New Roman",serif;
}
.hero-launch .hero-dictionary h2 {
  margin:0; font-family:inherit; font-size:clamp(40px,4.4vw,62px);
  font-weight:700; line-height:1; letter-spacing:-.045em;
}
.hero-launch .dictionary-pronunciation {
  margin:7px 0 0; font-size:clamp(17px,1.7vw,22px);
  font-weight:400; line-height:1.3; letter-spacing:0;
}
.dictionary-pronunciation span { display:inline-block; margin-left:.25em; }
.hero-launch .dictionary-definition {
  margin:12px 0 0; padding-top:12px; border-top:1px solid currentColor;
  font-size:clamp(17px,1.65vw,21px); font-weight:400;
  line-height:1.35; letter-spacing:-.015em; overflow-wrap:break-word;
}
@media(max-width:700px) {
  .hero.hero-launch { aspect-ratio:auto; background:#bab8b9; }
  .hero-launch .hero-visual { align-self:start; height:auto; }
  .hero-launch .hero-visual img { height:auto; }
  .hero-launch .hero-copy {
    height:auto; min-height:0; padding:130.792vw 20px 20px;
    justify-content:flex-end;
  }
  .hero-launch .hero-heading { position:absolute; top:92px; left:20px; right:20px; }
  .hero-launch .hero-dictionary { max-width:360px; }
  .hero-launch .hero-dictionary h2 { font-size:40px; }
  .hero-launch .dictionary-pronunciation { font-size:16px; line-height:1.25; margin-top:5px; }
  .hero-launch .dictionary-definition { font-size:16px; line-height:1.28; margin-top:8px; padding-top:8px; }
  .hero-launch .hero-bottom .button { margin-top:12px; }
}
@media(max-width:360px) {
  .hero-launch .hero-copy { padding-inline:16px; padding-bottom:14px; }
  .hero-launch .hero-heading { top:84px; left:16px; right:16px; }
  .hero-launch .hero-dictionary h2 { font-size:36px; }
}

/* A compact, quiet shopping bag with a floating mobile sheet. */
.bag-dialog {
  inset:16px 16px 16px auto; margin:0; width:460px; max-width:calc(100% - 32px);
  height:calc(100dvh - 32px); max-height:calc(100dvh - 32px); padding:0;
  border:0; border-radius:28px; background:#fff; color:#1d1d1f; overflow:hidden;
  box-shadow:0 24px 80px rgb(0 0 0 / 16%);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  font-size:16px; line-height:1.4;
}
.bag-dialog[open] { display:flex; flex-direction:column; }
.bag-dialog::backdrop { background:rgb(20 20 24 / 24%); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.bag-dialog .bag-header { flex:0 0 auto; padding:24px; border-bottom:1px solid #f0f0f2; gap:16px; }
.bag-dialog .bag-header h2 { font-size:28px; font-weight:700; line-height:1.15; letter-spacing:-.055em; gap:10px; }
#bag-title:focus { outline:none; }
.bag-dialog .bag-header h2 span { display:grid; place-items:center; min-width:26px; height:26px; padding:0 7px; border-radius:99px; background:#f2f2f4; color:#6e6e73; font-size:13px; font-weight:600; }
.bag-dialog .bag-close { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border-radius:50%; background:#f5f5f7; color:#535357; }
.bag-dialog .bag-close svg { width:22px; height:22px; stroke-width:1.65; }
.bag-dialog button:focus-visible,.bag-dialog a:focus-visible { outline:2px solid #303034; outline-offset:3px; }
.bag-dialog button:focus:not(:focus-visible) { outline:none; }
#bag-filled { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px 24px max(10px,env(safe-area-inset-bottom)); }
.bag-dialog .bag-product { display:grid; grid-template-columns:106px minmax(0,1fr); align-items:center; gap:18px; padding:0; }
.bag-dialog .bag-product > img { width:106px; height:112px; aspect-ratio:auto; object-fit:contain; background:transparent; filter:drop-shadow(0 7px 7px rgb(0 0 0 / 5%)); }
.bag-dialog .bag-product h3 { font-size:21px; line-height:1.16; font-weight:650; letter-spacing:-.035em; }
.bag-dialog .bag-product .bag-product-meta { font-size:14px; line-height:1.4; margin:8px 0 0; color:#6e6e73; }
.bag-product-meta span { padding:0 3px; }
.bag-item-actions { grid-column:1/-1; display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding-top:2px; }
.bag-quantity-group { display:flex; align-items:center; gap:12px; }
.bag-dialog #bag-paid-label { display:block; margin:0; font-size:13px; color:#6e6e73; }
.bag-dialog .quantity { width:124px; border:0; border-radius:99px; background:#f5f5f7; padding:0; }
.bag-dialog .quantity button { flex:0 0 44px; height:44px; border-radius:50%; font-size:21px; font-weight:400; padding:0; }
.bag-dialog .quantity button:disabled { opacity:.3; }
.bag-dialog .quantity output { font-size:15px; font-weight:600; font-variant-numeric:tabular-nums; min-width:24px; text-align:center; }
.bag-dialog .remove-button { display:flex; align-items:center; justify-content:center; gap:5px; min-height:44px; margin:0; padding:0 2px; text-decoration:none; color:#6e6e73; font-size:12px; }
.bag-dialog .remove-button svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.bag-gift { display:flex; align-items:center; gap:10px; padding:14px; margin:20px 0 0; border-radius:16px; background:#fbf3f5; color:#8a435a; }
.bag-gift > svg { width:23px; height:23px; flex:0 0 23px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.bag-gift > div { flex:1; min-width:0; }
.bag-gift p { margin:0; font-size:14px; font-weight:600; line-height:1.3; }
.bag-gift div > span { display:block; margin-top:3px; font-size:12px; color:#896873; }
.bag-gift-tag { flex:0 0 auto; font-size:11px; font-weight:600; padding:5px 8px; border-radius:99px; background:#fff; }
.bag-dialog .bag-summary { margin-top:24px; padding-top:22px; border-top:1px solid #ebebed; }
.bag-dialog .bag-subtotal-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:17px; font-weight:500; letter-spacing:-.025em; }
.bag-total-price { display:flex; align-items:baseline; gap:6px; }
.bag-total-price strong { font-size:28px; font-weight:700; line-height:1.1; letter-spacing:-.04em; }
.bag-total-price > span { font-size:11px; font-weight:500; color:#86868b; letter-spacing:0; }
.bag-delivery { display:flex; align-items:center; gap:8px; margin-top:12px; }
.bag-delivery svg { width:21px; height:19px; flex:0 0 21px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; color:#6e6e73; }
.bag-dialog .bag-summary #shipping-note { margin:0; color:#6e6e73; font-size:13px; line-height:1.35; }
.bag-dialog .launch-note { background:#f5f5f7; border-radius:16px; padding:14px 16px; margin:22px 0 16px; font-size:13px; line-height:1.4; }
.bag-dialog .launch-note strong { font-weight:600; }
.bag-dialog .launch-note p { margin:3px 0 0; color:#6e6e73; font-size:12px; }
.bag-dialog .button { width:100%; min-height:52px; padding:14px 22px; border-radius:99px; background:#1d1d1f; color:#fff; font-size:16px; font-weight:500; letter-spacing:-.015em; }
.bag-dialog #checkout-order { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#checkout-order svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.bag-dialog .continue-button { min-height:44px; padding:10px 16px; margin:7px auto 0; text-decoration:none; font-size:13px; color:#6e6e73; }
.bag-dialog .bag-empty { flex:1; min-height:0; overflow-y:auto; align-content:center; justify-items:center; gap:0; padding:32px 28px; text-align:center; }
.bag-empty-symbol { display:grid; place-items:center; width:86px; height:86px; border-radius:50%; background:#f8f3f5; color:#aa6b81; margin-bottom:24px; }
.bag-empty-symbol svg { width:42px; height:42px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.bag-dialog .bag-empty > p { font-size:29px; line-height:1.12; letter-spacing:-.045em; font-weight:650; }
.bag-dialog .bag-empty > span { font-size:14px; color:#86868b; margin-top:12px; }
.bag-dialog .bag-empty .button { margin-top:30px; justify-content:center; }
@media(hover:hover) {
  .bag-dialog .bag-close:hover,.bag-dialog .quantity button:not(:disabled):hover { background:#e9e9ec; }
  .bag-dialog .remove-button:hover,.bag-dialog .continue-button:hover { color:#1d1d1f; }
  .bag-dialog .button:hover { background:#333336; }
}
@media(max-width:700px) {
  .bag-dialog { inset:auto 8px 8px; width:calc(100% - 16px); max-width:none; height:auto; max-height:calc(100dvh - 16px); border-radius:26px; }
  .bag-dialog .bag-header { padding:18px 20px 16px; }
  .bag-dialog .bag-header h2 { font-size:27px; }
  #bag-filled { flex:0 1 auto; padding:20px 20px max(8px,env(safe-area-inset-bottom)); }
  .bag-dialog .bag-product { grid-template-columns:90px minmax(0,1fr); gap:14px; }
  .bag-dialog .bag-product > img { width:90px; height:96px; }
  .bag-dialog .bag-product h3 { font-size:19px; }
  .bag-dialog .bag-product .bag-product-meta { font-size:13px; margin-top:7px; }
  .bag-dialog .bag-summary { margin-top:20px; padding-top:18px; }
  .bag-gift { margin-top:16px; padding:12px; }
  .bag-dialog .bag-empty { flex:0 1 auto; padding:36px 24px 28px; }
}
@media(max-width:360px) {
  .bag-quantity-group { gap:7px; }
  .bag-dialog #bag-paid-label { font-size:12px; }
  .bag-dialog .remove-button span { display:none; }
  .bag-dialog .remove-button { width:44px; }
  .bag-gift-tag { display:none; }
}

/* A 16:9 snapshot of independently sourced PDRN product reviews. */
.pdrn-ratings {
  width:100%; max-width:1280px; margin:0 auto; padding:clamp(14px,3.8vw,54px);
  aspect-ratio:16/9; height:auto; min-height:min-content; display:flex; flex-direction:column; justify-content:space-between;
  gap:12px; background:#f5f5f7; color:#1d1d1f;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
.ratings-header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ratings-header h2 { margin:0; font-size:clamp(20px,3.6vw,46px); line-height:1.15; letter-spacing:-.045em; font-weight:700; }
.ratings-source { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:0 13px; border:1px solid #dddde1; border-radius:99px; font-size:clamp(14px,1.3vw,16px); font-weight:500; white-space:nowrap; }
.ratings-source svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.ratings-stats { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; text-align:center; }
.ratings-stat { min-width:0; padding:0 8px; }
.ratings-stat + .ratings-stat { border-left:1px solid #dcdce0; }
.ratings-value { margin:0; font-size:clamp(34px,9.4vw,112px); font-weight:700; line-height:1; letter-spacing:-.065em; font-variant-numeric:lining-nums tabular-nums; white-space:nowrap; }
.ratings-value > span { margin-left:3px; color:#86868b; font-size:.43em; letter-spacing:-.025em; font-weight:500; }
.ratings-label { display:flex; align-items:center; justify-content:center; gap:5px; margin:8px 0 0; font-size:clamp(14px,1.7vw,21px); line-height:1.25; letter-spacing:-.015em; color:#6e6e73; }
.ratings-star { width:1em; height:1em; flex:0 0 1em; fill:#b57a42; }
.ratings-footer { max-width:800px; }
.ratings-footer p { margin:0; font-size:clamp(14px,1.4vw,16px); line-height:1.22; color:#6e6e73; letter-spacing:-.01em; }
.ratings-footer .ratings-date { margin-top:4px; font-size:clamp(12px,1.1vw,13px); color:#6e6e73; }
@media(hover:hover) { .ratings-source:hover { background:#e9e9ec; } }
@media(max-width:700px) {
  .pdrn-ratings { gap:8px; }
  .ratings-header h2 { font-size:20px; }
  .ratings-label { margin-top:6px; }
}
@media(max-width:360px) {
  .pdrn-ratings { aspect-ratio:auto; min-height:202px; }
  .ratings-header h2 { font-size:18px; }
  .ratings-value { font-size:32px; }
  .ratings-source { padding-inline:11px; }
}
