
:root{--cream:#faf6ef;--wine:#4b1020;--ink:#3c2430;--muted:#6d5960;--line:#d9cbbf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.7 'Montserrat',Arial,sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font-family:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b17c55;outline-offset:5px}header{min-height:100px;display:flex;align-items:center;justify-content:space-between;padding:20px 6%;border-bottom:1px solid var(--line);position:relative;z-index:3;gap:25px}.brand{font:30px 'Playfair Display',Georgia,serif;letter-spacing:-1px;white-space:nowrap}.brand em{font-style:normal;color:#b95b5a}nav{display:flex;align-items:center;gap:28px;font-size:16px}.pill{border:1px solid var(--wine);border-radius:40px;padding:16px 29px;font-size:17px;line-height:1.4;min-height:56px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:transparent;color:var(--wine)}.solid{background:var(--wine);color:var(--cream)}.hero{min-height:720px;position:relative;overflow:hidden;display:flex;align-items:center;padding:80px 8% 95px}.hero-copy{z-index:1;position:relative;width:64%;max-width:740px}.eyebrow{font-size:12px;line-height:1.6;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}.hero h1{font:clamp(52px,5.5vw,84px)/1.06 'Playfair Display',Georgia,serif;letter-spacing:-2.5px;color:var(--wine);margin:28px 0}.hero h1 em{font-weight:400}.intro{max-width:465px;font-size:19px;line-height:1.75}.actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin:30px 0 18px}.text-link{font-size:16px;border-bottom:1px solid #a18789;padding-bottom:3px}.micro{font-size:14px;line-height:1.65;color:var(--muted);max-width:430px}.age-note{font-size:14px;line-height:1.65;color:var(--muted);max-width:480px}.ribbon{position:absolute;right:-7%;top:-8%;height:116%;width:66%;pointer-events:none}.ribbon svg{width:100%;height:100%}section{padding:90px 8%}.section-head{display:block;max-width:760px;margin-bottom:45px}h2{font:clamp(38px,4.2vw,62px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-1.5px;font-weight:400;margin:18px 0}h3{font:29px/1.2 'Playfair Display',Georgia,serif;font-weight:400;margin:20px 0 15px}.section-head p{max-width:580px;color:var(--muted);font-size:18px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.step{border-top:1px solid var(--line);padding-top:22px}.num{font:italic 25px 'Playfair Display',Georgia,serif;color:#87545f}.step p{font-size:17px;line-height:1.75;color:var(--muted)}.mood{background:#f2dcc7;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.cards{position:relative;min-height:400px;display:grid;place-items:center}.card{background:var(--wine);color:#fff6e8;width:285px;height:350px;transform:rotate(-9deg);border-radius:14px;box-shadow:0 20px 40px #4e1c2826;padding:30px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #a66d7c;isolation:isolate}.card:before{content:'';position:absolute;inset:0;background:#d4ae95;border:1px solid #b28b75;transform:translate(30px,5px) rotate(17deg);border-radius:14px;z-index:-2}.card:after{content:'';position:absolute;inset:0;background:var(--wine);border-radius:13px;z-index:-1}.card .symbol{font:80px 'Playfair Display',Georgia,serif;text-align:center}.card p{font:28px/1.3 'Playfair Display',Georgia,serif;margin:0}.card small{font-size:12px;line-height:1.6;letter-spacing:1px}.mood-copy p{color:#634b50;max-width:480px;font-size:18px}.quote{font:italic 29px/1.4 'Playfair Display',Georgia,serif!important;color:var(--wine)!important}.faq{width:calc(100% - 64px);max-width:720px;padding:90px 0;margin:auto}details{border-bottom:1px solid var(--line);padding:24px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;font-size:19px;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:25px;color:var(--wine);flex-shrink:0}details[open] summary:after{content:'−'}details p{font-size:17px;color:var(--muted);line-height:1.8}.closing{text-align:center;background:var(--wine);color:var(--cream);position:relative;overflow:hidden}.closing .pill{background:var(--cream);color:var(--wine);margin-top:20px}.closing .closing-line{font-size:24px;color:#f2dcc7;margin:25px 0 15px}.closing h2{font-size:clamp(44px,5.5vw,76px)}footer{padding:45px 6% 30px}.footer-row{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-links{display:flex;flex-wrap:wrap;gap:22px;font-size:16px}footer .age-note{margin-top:25px}dialog{border:1px solid var(--line);border-radius:16px;max-width:500px;width:calc(100% - 40px);padding:35px;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#2f0a23a6}dialog h2{font-size:35px}dialog p{font-size:17px}dialog .pill{margin-top:15px}
@media(min-width:1500px){.hero{min-height:800px}}
@media(min-width:761px) and (max-width:1100px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}nav{gap:18px;font-size:16px}.footer-row{align-items:start;flex-direction:column}.hero h1{font-size:60px}.ribbon{right:-16%}.hero-copy{width:70%}.mood{gap:5%}}
@media(max-width:760px){header{min-height:86px;padding:16px 6%;gap:12px}.brand{font-size:25px}nav{gap:12px}nav>a{display:none}nav .pill{font-size:16px;min-height:48px;padding:12px 20px}.hero{min-height:0;padding:52px 7% 335px;align-items:start}.hero-copy{width:100%}.hero h1{font-size:clamp(39px,10.5vw,64px);letter-spacing:-1.5px;margin:24px 0}.intro{max-width:440px;font-size:18px}.ribbon{width:100%;height:320px;right:-22%;top:auto;bottom:-28px;transform:rotate(-10deg)}.actions{gap:20px}.eyebrow{font-size:12px;letter-spacing:1px}.micro,.age-note{font-size:14px}section{padding:65px 7%}.section-head{margin-bottom:34px}.steps{grid-template-columns:1fr;gap:25px}.step h3{margin:15px 0}.step p{margin-bottom:8px}.mood{grid-template-columns:1fr;gap:35px}.cards{order:2;min-height:390px}.card{width:260px}.mood h2{max-width:350px}.mood-copy p{font-size:18px}.faq{width:calc(100% - 48px);padding:65px 0}summary{font-size:18px;gap:18px}.closing{padding:70px 7%}.closing h2{font-size:clamp(38px,9vw,56px)}.closing .closing-line{font-size:21px}.footer-row{align-items:start;flex-direction:column}.footer-links{gap:18px;font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The identity uses real satin artwork and locally hosted brand typefaces. */
.brand{display:inline-flex;align-items:center;gap:14px;letter-spacing:normal}.brand-mark{display:block;width:76px;height:76px;object-fit:contain}.brand-lockup{display:flex;flex-direction:column;align-items:center;gap:6px}.brand-name{font:400 28px/1.2 'Playfair Display',Georgia,serif;letter-spacing:2.5px}.brand-amp{font-style:italic}.brand-tagline{font:500 10px/1.5 'Montserrat',Arial,sans-serif;letter-spacing:3.8px}header{background:#faf6ef;min-height:120px}.hero{background:#faf6ef url('assets/satin-ribbon.webp') center center/cover no-repeat;min-height:780px}.hero-copy{width:60%;max-width:730px}.hero h1{font-size:clamp(52px,5.5vw,82px);letter-spacing:-2px}.hero .intro{max-width:470px}.hero .eyebrow{background:#faf6ef99;display:inline-block;padding:5px 9px;margin-left:-9px}.pill{box-shadow:0 5px 16px #4b102011}.solid{background:linear-gradient(135deg,#701d36,#4b1020 70%);border-color:#6a263b}.mood{background:radial-gradient(ellipse at 70% 20%,#fff8ed80,transparent 65%),#f2dcc7}.card{background:#380b18}.card:after{background:linear-gradient(145deg,#330914a6,#3e0b1be6),url('assets/satin-ribbon.webp') right center/auto 100%}.card-mark{display:block;align-self:center;object-fit:contain;width:120px;height:120px;filter:drop-shadow(0 7px 7px #18000b70)}.card p{font-size:27px}.card small{letter-spacing:1.7px}.closing{background:linear-gradient(90deg,#310913ee,#4b1020ed 55%,#300511bd),url('assets/satin-ribbon.webp') right center/cover no-repeat}.closing:before{content:'';position:absolute;inset:0;border-block:1px solid #e9c4a452;pointer-events:none}.closing h2,.closing p,.closing button{position:relative}.closing h2{color:#fff6e8}.closing .closing-line{color:#f2dcc7}footer{background:#f5eee4}footer .brand-mark{width:65px;height:65px}footer .brand-name{font-size:25px}
@media(min-width:761px) and (max-width:1100px){header{padding-inline:4%}.brand-name{font-size:23px;letter-spacing:1.5px}.brand-mark{width:60px;height:60px}nav{gap:15px;font-size:14px}nav .pill{font-size:15px;padding:14px 22px}.hero-copy{width:63%}.hero h1{font-size:59px}.hero{background-position:48% center}.hero .intro{max-width:400px}}
@media(max-width:760px){header{min-height:104px;padding:14px 5%}.brand{gap:9px}.brand-mark{width:52px;height:60px}.brand-name{font-size:18px;letter-spacing:1.3px}.brand-tagline{font-size:8px;letter-spacing:2px}.brand-lockup{gap:5px}nav .pill{font-size:14px;padding:12px 17px;min-height:46px}.hero{min-height:0;padding:48px 7% 320px;background:var(--cream);isolation:isolate}.hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:320px;background:url('assets/satin-ribbon.webp') right 48%/cover no-repeat;z-index:-1;mask-image:linear-gradient(transparent,#000 15%);-webkit-mask-image:linear-gradient(transparent,#000 15%)}.hero-copy{width:100%}.hero h1{font-size:clamp(38px,10vw,63px);letter-spacing:-1.5px}.hero .intro{font-size:18px;max-width:100%}.hero .eyebrow{background:none;padding:0;margin:0;font-size:12px}.closing{background-position:right center}.closing h2{font-size:clamp(36px,8.5vw,56px)}footer .brand-name{font-size:23px}footer .brand-mark{width:60px;height:60px}}
@media(max-width:370px){.brand-name{font-size:16px;letter-spacing:.7px}.brand-mark{width:45px}nav .pill{padding-inline:13px}.brand-tagline{letter-spacing:1.5px}}

.hero .eyebrow{background:transparent;padding:0;margin-left:0;font-size:14px;letter-spacing:1.2px;color:#4b1020}
.hero-reassurance{display:flex;flex-wrap:wrap;gap:8px 24px;max-width:580px;margin-top:22px}.hero-reassurance p{margin:0;max-width:none;color:#4c3039;font-size:14px;line-height:1.7}.hero-reassurance .micro{font-weight:500}.brand-tagline{color:#4b1020;font-weight:600;font-size:11px;letter-spacing:3px}
@media(max-width:760px){.hero .eyebrow{font-size:13px;letter-spacing:1px}.hero-reassurance{display:block}.hero-reassurance .age-note{margin-top:8px}.brand-tagline{font-size:9px;letter-spacing:1.8px}}
