/* RelationshipCoach v3: a little Valentine-card warmth over the editorial layout. */
:root{--ink:#482636;--muted:#745561;--accent:#b52a52;--pale:#fff0f4;--line:#eccbd5;--surface:#fff5f7;--rose:#f7c6d5;--paper:#fffcfa;--script:'Segoe Print','Bradley Hand','URW Chancery L',Georgia,serif}
body{background:var(--paper)}
.love-ribbon{display:flex;justify-content:center;align-items:center;gap:18px;background:#fbdce5;color:#81263f;padding:7px 20px;font-size:.8125rem;letter-spacing:.02em;border-bottom:1px solid #efc6d2}
.love-ribbon span[aria-hidden]{font-size:1.1rem;line-height:1}
header{background:#fffcfa;border-bottom-color:#eccbd5}
.brand b{display:inline-block;transform:rotate(-10deg)}
.header-cta{border-color:var(--accent);color:var(--accent);background:#fff4f7}
.header-cta:hover{background:var(--accent);border-color:var(--accent)}
.hero{min-height:680px;padding:45px 22px}
.hero-bg{object-position:center 45%}
.hero-shade{background:linear-gradient(90deg,rgba(64,25,42,.2),rgba(96,39,57,.08),rgba(64,25,42,.2))}
.hero-copy{background:rgba(255,249,246,.97);color:var(--ink);max-width:680px;padding:48px 54px 40px;border:1px solid #f6dce3;border-radius:10px;box-shadow:0 15px 60px #46132325;isolation:isolate}
.hero-copy::before{content:'';position:absolute;inset:13px;border:1px dashed #dca0b4;border-radius:4px;pointer-events:none;z-index:-1}
.hero .eyebrow{color:#98435f;font-size:.75rem;margin:0 0 12px}
.hero h1{font-size:clamp(2.7rem,4.3vw,4rem);line-height:1.12;color:#672a40;text-shadow:none;margin-bottom:18px}
.handwriting{font-family:var(--script);font-style:italic;font-weight:400;letter-spacing:-.035em}
.hero h1 .handwriting{display:inline-block;font-size:1.08em;color:var(--accent);line-height:1.15;margin-top:8px}
.letter-to{font-family:var(--script);font-style:italic;font-size:1.35rem!important;color:#9d4865;margin-bottom:20px!important}
.hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.7}
.hero-copy .desktop-break{display:none}
.hero .actions{flex-direction:column;gap:15px;margin-top:24px}
.hero .textlink{color:#79364e;font-size:.875rem}
.letter-heart{position:absolute;color:var(--accent);font-family:Georgia,serif;font-weight:400;line-height:1;pointer-events:none}
.letter-heart.top{top:28px;right:30px;font-size:2.1rem;transform:rotate(13deg)}
.letter-heart.bottom{bottom:27px;left:29px;font-size:1.4rem;transform:rotate(-16deg)}
.letter-signoff{font-family:var(--script);font-style:italic;color:#a04462;font-size:1.15rem!important;margin:20px 0 0!important}
.button{background:var(--accent);border-color:var(--accent);box-shadow:0 3px 0 #86133312}
.button:hover{background:#942242;border-color:#942242}
.button.dark{background:#82314b;border-color:#82314b}
.button.dark:hover{background:#642239;border-color:#642239}
.button.light{background:#fff8f6;border-color:#fff8f6;color:#732c44}
.button-heart{display:inline-block;font-weight:400;margin-right:8px;font-size:1.05em}
.section-heading.centered::before{content:'♡';display:block;color:var(--accent);font-family:Georgia,serif;font-size:2rem;line-height:1;margin-bottom:14px}
.section-heading h2{color:#602b3f}
.image-card{position:relative;padding:10px 10px 22px;background:#fff;border:1px solid #efdae1;border-radius:15px;box-shadow:0 5px 18px #87234506;transition:transform .2s,box-shadow .2s}
.image-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #87234510}
.image-card>img{border-radius:8px}
.card-copy{padding:21px 13px 0}
.card-heart{position:absolute;top:22px;right:22px;background:#fff8f4;color:var(--accent);width:38px;height:38px;display:flex;justify-content:center;align-items:center;border:1px solid #f0ced9;border-radius:50%;font-family:Georgia,serif;font-size:1.7rem;line-height:1;transform:rotate(9deg);pointer-events:none}
.tag{background:#fce8ef;color:#9b2a4c}
.tag.plain{color:#8a4e63}
.category-band{background:#fce8ef;border-top:1px solid #f1d0dc;border-bottom:1px solid #f1d0dc}
.category-grid>a{background:#fffaf7;border:1px dashed #dca4b5;border-radius:12px;box-shadow:0 4px 0 #e9bfce40}
.category-number{color:#a33d5e}
.round-arrow{border-color:#e8baca;background:#fff1f5;color:#9a3153}
.shop-feature h2 .handwriting{display:block;font-size:1.12em;color:var(--accent);margin-top:8px}
.feature-photo{background:white;padding:13px;border:1px solid #ead0d8;border-radius:7px;box-shadow:0 7px 25px #6e283813;transform:rotate(1.4deg)}
.feature-photo img{border-radius:2px}
.feature-photo>span{position:static;display:block;background:white;padding:21px 10px 10px;font-family:var(--script);font-style:italic;font-size:1.6rem;line-height:1.25;color:#913653;font-weight:400}
.journal-wrap{background:#fff5f7;border-top:1px solid #f0d4de}
.closing{background:#f9dce7;padding:58px 24px}
.closing>.wrap{position:relative;max-width:1000px;background:#fffaf7;border:1px solid #eab8ca;outline:1px dashed #d491aa;outline-offset:-12px;padding:48px 36px;border-radius:8px;box-shadow:0 8px 28px #8b305b0a}
.closing-heart{display:block;font-size:2.3rem;font-family:Georgia,serif;color:var(--accent);line-height:1;margin-bottom:18px}
.closing .eyebrow{color:#8e3f5c}
.closing h2{color:#672b42;font-size:clamp(2.3rem,3.8vw,3.2rem)}
.closing h2 .handwriting{color:var(--accent);font-size:1.18em}
.closing .letter-signoff{margin:24px 0 0!important}
footer{background:var(--paper);border-top:1px solid #edcbd7}
footer>div:first-child>p{font-family:var(--script);font-style:italic;font-size:1.15rem;color:#974562}
.page-intro{position:relative;border-bottom:1px solid #f1dce3;margin-bottom:28px;padding-bottom:35px}
.page-intro .eyebrow{color:#a24766}
.page-intro h1{color:#692b42}
.page-intro h1 em{font-family:var(--script);font-style:italic;font-weight:400;color:var(--accent)}
.intro-heart{display:block;font-family:Georgia,serif;color:var(--accent);font-size:1.7rem;line-height:1;margin-bottom:15px}
.story{background:#fff;border-color:#eed4dd;box-shadow:0 5px 15px #79334a05}
.story.rose{border-top-color:#eaa7bd}.story.yellow{border-top-color:#f0c9b5}.story.lavender{border-top-color:#ddbecf}
.prose aside,.notice,.split-banner{background:#fff0f5;border:1px dashed #dca4b5}
.prose h2,.prose h3{color:#71324b}
.prose blockquote{background:#fff0f5;border-left-color:var(--accent)}
.product-type.rose{background:#fbdce7}.product-type.yellow{background:#fae9e2}.product-type.lavender{background:#f3e1eb}
.product-type{border:1px solid #eec7d5}
.intimacy-banner{background:#6f2945;border:1px solid #a25975}
.intimacy-banner .eyebrow{color:#f7cbdc}
@media(max-width:1000px){.hero-copy{max-width:620px}.shop-feature{gap:35px}}
@media(max-width:700px){.love-ribbon{font-size:.75rem;gap:10px;padding:8px 14px}.hero{min-height:0;padding:28px 18px}.hero-copy{padding:43px 25px 35px;max-width:520px}.hero h1{font-size:2.7rem}.hero-copy::before{inset:9px}.hero .eyebrow{font-size:.75rem}.hero-copy>p:not(.eyebrow){font-size:1rem}.letter-to{font-size:1.15rem!important}.letter-heart.top{font-size:1.7rem;right:20px;top:22px}.letter-heart.bottom{font-size:1.2rem;left:19px;bottom:20px}.hero-copy .letter-signoff{font-size:1.05rem!important}.category-grid>a{padding:20px 16px}.feature-photo{transform:rotate(.7deg);margin:0 2px}.feature-photo img{height:320px}.feature-photo>span{font-size:1.4rem}.closing{padding:35px 18px}.closing>.wrap{padding:38px 25px}.closing h2{font-size:2.2rem}.closing .eyebrow{font-size:.75rem}.page-intro h1{font-size:2.7rem}.image-card:hover{transform:none}}
@media(max-width:390px){.hero h1{font-size:2.35rem}.hero .button{padding:13px 18px;font-size:.9375rem}.hero-copy{padding-left:20px;padding-right:20px}.letter-heart.top{right:14px}.category-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.image-card{transition:none}.image-card:hover{transform:none}}
