/* Brand system: soft display typography, clear UI, and deliberate color chapters. */
:root{
 --serif:'Fraunces',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;
 --brand-ink:#321B38;--brand-cream:#FFF1E7;--brand-lilac:#D7B9F2;
 --brand-butter:#F3F69A;--brand-rose:#EEC6CC;--brand-sage:#DCE5B6;--brand-blue:#C8DFEA;
 --ev-ink:var(--brand-ink);--ev-paper:var(--brand-cream);--ev-lilac:var(--brand-lilac);--ev-lime:var(--brand-butter);
}
body{font-family:var(--sans);font-size:17px;line-height:1.65;background:var(--brand-cream);color:var(--brand-ink)}
h1,h2,h3,.price{font-family:var(--serif);font-optical-sizing:auto;text-wrap:balance}
h1,h2{font-weight:500;letter-spacing:-.055em}p{ text-wrap:pretty }
.nav.shell{background:var(--brand-cream);padding-block:22px;border-color:#321b3833}
.brand{font-size:14px;letter-spacing:.07em}.nav-links a{font-size:15px}
.hero.shell{background:#321B38;gap:clamp(28px,5vw,70px);padding-block:80px}
.hero h1{font-size:clamp(70px,7.7vw,112px);line-height:.97;font-weight:600;letter-spacing:-.04em;margin-bottom:30px}
.hero h1 em{color:var(--brand-lilac)!important;font-weight:400}
.hero .hero-copy{font-size:18px;line-height:1.65;max-width:510px}
.hero .hero-kicker{font-size:12px;letter-spacing:.13em}
.hero .button:not(.secondary){background:var(--brand-butter)!important;border-radius:50%;min-height:64px;padding:19px 30px;font-size:16px}
.hero .hero-art>img{box-shadow:0 18px 0 #d7b9f224;border-color:#d7b9f260}
.button{font-family:var(--sans);font-weight:600;letter-spacing:0;min-height:48px}
.ev-ribbon{background:var(--brand-lilac);color:var(--brand-ink);padding:18px 0}
.ev-ribbon-track{font-size:13px;letter-spacing:.075em}
.section-index,.edition-index{font:600 12px/1.5 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.delivered-copy h2{font-size:clamp(48px,5.2vw,76px);font-weight:500;line-height:1.05}
.delivered-copy>p:not(.section-index){font-size:18px;line-height:1.7}
.delivered-page{background:var(--brand-cream);border:1px solid #79577c!important;box-shadow:12px 12px 0 var(--brand-lilac)!important}
.delivered-page h3{font-size:clamp(30px,3.2vw,42px);font-weight:500}
#sample .topic-preview-intro h2{font-weight:500;line-height:1.03;letter-spacing:-.035em;max-width:none;width:100%;margin-inline:auto}
#sample .topic-preview-intro h2 em{color:#744981;font-weight:400}
#sample .topic-preview-tab{font-family:var(--serif);font-weight:500;font-size:24px;background:var(--brand-rose)!important;color:var(--brand-ink)!important}
#sample [data-preview-topic=compatibility]{background:var(--brand-lilac)!important}
#sample [data-preview-topic=career]{background:var(--brand-sage)!important}
#sample [data-preview-topic=life]{background:var(--brand-blue)!important}
#sample .sample-topic-art{background:var(--brand-cream);color:var(--brand-ink)}
#sample .sample-topic-art strong{font-family:var(--serif);font-weight:500;letter-spacing:-.04em}
#sample .sample-art-line{font-family:var(--sans);font-size:13px!important;line-height:1.4}
#sample .sample-art-label,#sample .ev-cover-foot{font-size:9px;letter-spacing:.09em}
.ev-card-question{background:var(--brand-ink);color:var(--brand-cream)}
#sample .ev-card-question>span{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.2}
.ev-card-question small{font-size:10px}.ev-card-question i{font-size:13px}
#sample .topic-preview-status{width:min(1120px,calc(100% - 40px));margin:24px auto;font-size:15px}
/* A real section, not details[open]: remains visible without JS and cannot collapse. */
#sample #free-preview{
 width:min(1200px,calc(100% - 64px));margin:65px auto;padding:clamp(28px,4vw,56px);
 display:grid;grid-template-columns:1fr 1fr;gap:10px 55px;
 background:var(--brand-lilac);color:var(--brand-ink);border:1px solid #785381;border-radius:0;
 box-shadow:8px 8px 0 #321b38;position:relative;scroll-margin-top:30px;
}
#free-preview .glimpse-heading{grid-column:1;grid-row:1;padding:0}
#free-preview .glimpse-kicker{color:var(--brand-ink);font-size:11px;letter-spacing:.14em;margin-bottom:20px}
#sample #free-preview .glimpse-invite{font:500 clamp(38px,4.1vw,58px)/1.04 var(--serif);letter-spacing:-.035em;margin:0}
#free-preview .glimpse-invite em{color:#674473;font-weight:400}
#sample #free-preview>p:first-of-type{grid-column:1;grid-row:2;font-size:17px;line-height:1.65;max-width:39ch}
#free-preview #glimpse-form{grid-column:2;grid-row:1/4;align-self:center;gap:18px;margin:0;grid-template-columns:minmax(0,1fr)}
#free-preview #glimpse-form label{font-size:15px;font-weight:500}
#free-preview #glimpse-date{background:var(--brand-cream);border:1px solid #735478;border-radius:0;min-height:56px;width:100%;font:400 18px var(--sans);padding:14px 16px;min-width:0}
#free-preview .glimpse-topic-options{gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}
#free-preview .glimpse-topic-option{box-shadow:none;font:500 14px/1.3 var(--sans);padding:11px 8px;border-color:#806285;background:#fff1e780;color:var(--brand-ink)}
#free-preview .glimpse-topic-option[aria-pressed=true]{background:var(--brand-ink);color:var(--brand-cream);border-color:var(--brand-ink)}
#free-preview #glimpse-form .button{background:var(--brand-butter);color:var(--brand-ink);border:1px solid var(--brand-ink);border-radius:999px;min-height:56px;box-shadow:3px 3px 0 var(--brand-ink);font-size:17px}
#free-preview .glimpse-topic-field legend small,#free-preview .glimpse-limit{color:#50365b}
#sample #free-preview>.glimpse-limit{grid-column:1;grid-row:3;font-size:13px;line-height:1.5;max-width:44ch}
#free-preview #glimpse-error,#free-preview #glimpse-result{grid-column:1/-1}
#free-preview #glimpse-result{background:var(--brand-cream);padding:24px;margin-top:22px;border:1px solid #87658d}
#free-preview #glimpse-result[hidden]{display:none}
#free-preview #glimpse-result h3{font-weight:500}
#free-preview #glimpse-form :focus-visible{outline:3px solid #321b38;outline-offset:4px}
#offer{background:var(--brand-sage)!important}
#offer .offer-intro h2{font-weight:500;letter-spacing:-.055em;line-height:1.04}
#offer .offer-intro h2 em{font-weight:400;color:#47573b}
#offer .pricing-grid .plan-card{background:var(--brand-cream)!important}
#offer .pricing-grid .plan-card.featured{background:var(--brand-butter)!important}
#offer .plan-card h3{font-weight:500;font-size:36px;letter-spacing:-.04em}
#offer .price{font-size:70px;font-weight:500;letter-spacing:-.06em}
#offer .plan-card p,#offer .plan-card li{line-height:1.65}
.included-reading h2{font-weight:500}.studio-keepsake-copy h3{font-size:clamp(34px,4vw,54px);line-height:1.1}
#faq.shell{background:var(--brand-cream);border-color:#321b3855}
#faq h2{font-weight:500}#faq h2 em{color:#744981}
#faq .faq-list summary{font-family:var(--sans);font-size:20px;line-height:1.45;font-weight:500;letter-spacing:-.025em}
.ev-signoff{background:var(--brand-lilac);color:var(--brand-ink)}
.ev-signoff p{font-family:var(--serif);font-weight:500;letter-spacing:-.07em}
.ev-signoff p i{color:#744981}.ev-signoff a{color:var(--brand-ink);font-size:17px}
@media(max-width:760px){
 body{font-size:16px}.hero.shell{padding:44px 22px 48px}.hero h1{font-size:clamp(58px,12vw,86px);line-height:1.02}.hero .hero-copy{font-size:17px}
 .delivered-copy h2{font-size:47px}#sample .topic-preview-intro h2{font-size:clamp(48px,11vw,70px)!important}
 #sample .topic-preview-tab{font-size:18px}#sample .sample-topic-art strong{font-size:24px}#sample .sample-art-line{font-size:11px!important}
 #sample .ev-card-question>span{font-size:23px}#sample .sample-art-label,#sample .ev-cover-foot{font-size:8px}
 #sample #free-preview{width:calc(100% - 36px);padding:28px 20px;display:block;margin:45px auto;box-shadow:5px 5px 0 #321b38}
 #sample #free-preview .glimpse-invite{font-size:clamp(36px,8.5vw,52px)!important;line-height:1.08}
 #sample #free-preview>p:first-of-type{font-size:16px;margin:22px 0}#free-preview #glimpse-form{margin:24px 0}
 #free-preview .glimpse-topic-option{font-size:13px}#free-preview #glimpse-result{padding:18px}
 #offer .offer-intro h2{font-size:49px}.ev-signoff p{font-size:clamp(42px,10vw,76px)}
}

/* Cohesion pass: one paper, one ink, one accent; restrained depth and motion. */
:root{--brand-cream:#FAF5EE;--brand-lilac:#D7C4E5;--brand-butter:#D7C4E5;--brand-tint:#EEE7F1;--brand-border:#321b3830;--brand-radius:8px}
.button,.hero .button:not(.secondary),#offer .plan-card .button,#free-preview #glimpse-form .button{border-radius:999px!important;box-shadow:none!important;transition:background .2s,color .2s;min-height:50px}
.button:hover{transform:none}
.hero .button:not(.secondary){background:var(--brand-lilac)!important;min-height:56px}
#free-preview #glimpse-form .button{background:var(--brand-ink);color:var(--brand-cream);border-color:var(--brand-ink)}
.hero .hero-art>img{box-shadow:none}.hero .atelier-card{animation:none;box-shadow:0 8px 24px #160f1920;border-radius:var(--brand-radius)}
.atelier-light,.atelier-progress{display:none}
.ev-ribbon{background:var(--brand-tint);border-color:var(--brand-border);padding:16px 24px}
.ev-ribbon-track{animation:none;width:auto;max-width:1120px;margin:auto;text-align:center;font-size:11px;line-height:1.8;letter-spacing:.08em}
.ev-ribbon-track>span{white-space:normal;padding:0}.ev-ribbon-track>span+span{display:none}
.delivered-page,.delivered-page:hover{transform:none;box-shadow:0 12px 36px #321b380a!important;border:1px solid var(--brand-border)!important;border-radius:var(--brand-radius)}
#sample .topic-preview-intro h2,#offer .offer-intro h2{font-size:clamp(52px,6.2vw,86px);line-height:1.08;letter-spacing:-.035em}
#sample .topic-preview-tabs{border-color:var(--brand-border)!important}
#sample .topic-preview-tab[data-preview-topic]{background:var(--brand-cream)!important;border-color:var(--brand-border)!important}
#sample .topic-preview-tab[data-preview-topic][aria-pressed=true]{background:var(--brand-tint)!important;box-shadow:inset 0 -3px var(--brand-ink)!important}
#sample .topic-preview-tab .sample-topic-art{transform:none;box-shadow:3px 3px 0 #ded2de,0 10px 22px #321b380c;border-color:#ac98ae;border-radius:3px;padding-top:28px}
#sample .topic-preview-tab:hover .sample-topic-art,#sample .topic-preview-tab:focus-visible .sample-topic-art{transform:translateY(-4px);box-shadow:3px 3px 0 #ded2de,0 14px 24px #321b3812}
#sample .topic-preview-panel{border:1px solid var(--brand-border)!important;box-shadow:none!important;border-radius:var(--brand-radius)!important}
#sample #free-preview{width:min(1120px,calc(100% - 48px));background:var(--brand-tint);border:1px solid var(--brand-border);box-shadow:none;border-radius:var(--brand-radius);margin-block:64px;padding:44px;gap:16px 44px}
#free-preview .glimpse-topic-option{background:transparent;border-color:#321b384d}
#free-preview #glimpse-result{border-color:var(--brand-border);border-radius:var(--brand-radius)}
#free-preview .english-date select{border:1px solid #321b384d;border-radius:6px;background:var(--brand-cream);min-height:48px}
#offer{background:var(--brand-cream)!important;border-color:var(--brand-border)}
#offer .offer-intro h2 em{color:#744981}
#offer .pricing-grid{border-color:var(--brand-border);border-radius:var(--brand-radius);overflow:hidden}
#offer .pricing-grid .plan-card{border-color:var(--brand-border)!important}
#offer .pricing-grid .plan-card.featured{background:var(--brand-tint)!important}
#offer .complete-reading,#offer .compatibility-offer{border-radius:var(--brand-radius);box-shadow:none;border-color:var(--brand-border)}
#faq.shell{border-color:var(--brand-border)}#faq .faq-filter{border-radius:999px;border-color:#321b384d}
#faq .faq-filter[aria-pressed=true]{background:var(--brand-ink);color:var(--brand-cream)}
.ev-signoff{background:var(--brand-ink);color:var(--brand-cream);padding:64px 24px}
.ev-signoff p{font-size:clamp(48px,9vw,128px);letter-spacing:-.04em}.ev-signoff p i,.ev-signoff a{color:var(--brand-lilac)}
@media(max-width:760px){
 #sample #free-preview{width:calc(100% - 36px);padding:28px 22px;margin-block:40px;box-shadow:none}
 #sample .topic-preview-intro h2,#offer .offer-intro h2{font-size:clamp(46px,10vw,62px)!important}
 #sample .topic-preview-tab .sample-topic-art{height:270px;padding-top:22px}
 .ev-ribbon{padding:12px 20px}.ev-ribbon-track{font-size:10px}
 .ev-signoff p{font-size:clamp(40px,10vw,72px)}
}
@media(prefers-reduced-motion:reduce){#sample .topic-preview-tab:hover .sample-topic-art,#sample .topic-preview-tab:focus-visible .sample-topic-art{transform:none}}
.love-burst{position:absolute;width:0;height:0;z-index:10000;pointer-events:none;user-select:none}
.love-burst-heart{position:absolute;left:-10px;top:-12px;display:block;opacity:0;color:#986079;font-family:Georgia,serif;line-height:1;animation:love-float 1050ms cubic-bezier(.18,.65,.3,1) var(--heart-delay) both;pointer-events:none}
.love-burst-heart:nth-child(2n){color:#B38CB5}
.love-burst-heart:nth-child(3n){color:#613C61}
@keyframes love-float{0%{opacity:0;transform:translate(0,8px) scale(.35)}18%{opacity:.9}70%{opacity:.7}100%{opacity:0;transform:translate(var(--heart-x),var(--heart-y)) rotate(var(--heart-turn)) scale(1.05)}}
@media(prefers-reduced-motion:reduce){.love-burst{display:none}}
.atelier-paused .love-burst{display:none}
.love-burst[data-theme="work"] .love-burst-heart{color:#AD8449}
.love-burst[data-theme="work"] .love-burst-heart:nth-child(2n){color:#806CA7}
.love-burst .moment-coin{width:22px;height:22px;display:grid;place-items:center;border:1px solid #ad8449;border-radius:50%;background:#F2E4BC;color:#75572D!important;font:600 13px/1 var(--sans)!important}
.love-burst[data-theme="compatibility"] .love-burst-heart{color:#A66A92;white-space:nowrap}
.love-burst[data-theme="compatibility"] .love-burst-heart:nth-child(2n){color:#7863A4}
.love-burst[data-theme="life"] .love-burst-heart{color:#8070AF}
.love-burst[data-theme="life"] .love-burst-heart:nth-child(2n){color:#648B89}
