/* Amor lp template 2026-11-01 v2. Tokens copied from https://amorstory.se/style.css (read only). Fonts: /assets/fonts/fonts.css (Nunito Sans for the wordmark) and /assets/fonts/romance-fonts.css (Fraunces, Nunito), same origin as /lp/. */
:root{--pink:#e78ca8;--pink-deep:#b54776;--rose-ink:#a33e6a;--blush:#f9e4ed;--rose-milk:#fbeaf1;--lilac-milk:#f1e9f7;--cream:#fffbf2;--paper:#fffdf8;--lavender:#dfd5ee;--plum:#563559;--violet-ink:#643c70;--ink:#493448;--teal:#2f797b;--gold:#a17a3f;--display:'Fraunces',Georgia,serif;--rounded:'Nunito','Noto Sans',sans-serif;--edge:20px;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
body{margin:0;padding:var(--edge);background:var(--pink);color:var(--ink);font:500 18px/1.65 var(--rounded)}
img{display:block;max-width:100%;height:auto}
a{color:var(--rose-ink);text-underline-offset:3px}
.book-world{background:var(--cream);border-radius:30px;overflow:hidden;box-shadow:0 0 0 1px #fff8,0 14px 50px #783d6714}
.skip{position:absolute;left:-999px}.skip:focus{left:30px;top:30px;background:var(--cream);padding:8px 16px;z-index:9}
/* header */
.masthead{position:relative;display:flex;align-items:center;gap:30px;min-height:112px;padding-top:10px;padding-bottom:6px;padding:0 clamp(20px,4vw,64px);background:linear-gradient(105deg,#fcf1f6,#fffbf2 60%)}
.brand-signatures{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0;text-decoration:none}
.wordmark{font-family:'Nunito Sans',sans-serif;font-weight:950;font-size:40px;line-height:1;letter-spacing:-.065em;color:var(--teal);display:inline-flex;align-items:center;gap:1px;position:relative;direction:ltr;text-decoration:none}
.wordmark span:nth-child(1){transform:rotate(-7deg)}.wordmark span:nth-child(2){transform:rotate(2deg) translateY(-2px)}.wordmark span:nth-child(4){transform:rotate(7deg)}
.brand-heart{position:absolute;top:-12px;right:-19px;color:var(--pink-deep);transform:rotate(16deg)}.brand-heart svg{width:18px;height:18px;fill:var(--pink);stroke:none}
.site-brand{display:block;width:140px;flex-shrink:0}
.masthead nav{display:flex;gap:26px;font-size:15px;font-weight:700;margin-left:auto}
.masthead nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:6px}
.masthead nav a{color:var(--plum);text-decoration:none;padding:10px 0;position:relative}
.masthead nav a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--pink-deep);transform:scaleX(0);transition:transform .3s var(--ease)}
.masthead nav a:hover:after,.masthead nav a[aria-current]:after{transform:scaleX(1)}
.menu-toggle{display:none}
/* breadcrumb */
.bc{font-size:13px;padding:14px clamp(20px,4vw,64px) 0;color:#72596b}.bc a{color:#72596b}
/* hero */
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(24px,4vw,64px);align-items:center;padding:28px clamp(20px,4vw,64px) 48px}
h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.03em;color:var(--plum);line-height:1.12}
.hero h1{font-size:clamp(2.1rem,4.2vw,3.6rem);margin:.2em 0 .35em}
.hero h1 em{display:block;font-style:italic;color:var(--pink-deep);font-size:.62em;margin-top:8px}
.eyebrow{display:inline-block;background:var(--rose-milk);color:var(--rose-ink);font-size:13px;font-weight:800;border-radius:999px;padding:5px 14px}
.lead{font-size:clamp(17px,1.4vw,20px);max-width:560px}
.hero-cover img{border-radius:10px;box-shadow:0 22px 50px #56355933;transform:rotate(2deg);max-width:340px;margin-inline:auto}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:22px}
.note{font-size:14px;color:#72596b}
/* buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 28px;border-radius:999px;font:800 15px/1.3 var(--rounded);text-decoration:none;transition:transform .35s var(--ease),box-shadow .35s}
.button:hover{transform:translateY(-3px);box-shadow:0 10px 24px #56355922}
.button.primary{background:var(--rose-ink);color:#fff;box-shadow:inset 0 1px 0 #fff3,0 7px 22px #9b3d6c24}
.button.outline{border:1px solid #a990a4;color:var(--plum);background:transparent}
.text-link{font-weight:800;color:var(--violet-ink)}
/* sections and cards */
.section{padding:44px clamp(20px,4vw,64px)}
.section.tint{background:var(--lilac-milk)}
.section h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:0 0 18px}
.prose{max-width:760px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;list-style:none;padding:0;margin:0;counter-reset:c}
.card{background:var(--paper);border-radius:22px;padding:22px 22px 24px;box-shadow:0 1px 0 #fff,0 8px 26px #56355914;border:1px solid #f0e2ea}
.card h3{font-size:1.2rem;margin:0 0 8px}
.card p{margin:0;font-size:16px}
.cards.five{grid-template-columns:repeat(5,1fr)}
.card .icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--blush);color:var(--rose-ink);margin-bottom:12px}
.card .icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card .step{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--rose-ink);margin-bottom:2px}
.card h3{font-size:1.25rem;line-height:1.2}
.signup{background:var(--plum);color:var(--cream);border-radius:26px;padding:30px clamp(20px,4vw,40px);display:grid;grid-template-columns:1.4fr .6fr;gap:24px;align-items:center}
.signup h2{color:var(--cream)}.signup p{margin:0 0 10px}.signup .button.primary{background:var(--cream);color:var(--plum)}
.covers2{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-end}.covers2 figure{margin:0;width:200px}.covers2 img{border-radius:8px;box-shadow:0 14px 30px #56355926}.covers2 figcaption{font-size:14px;font-weight:700;margin-top:8px;color:var(--plum)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.split img{border-radius:18px}
/* faq */
.faq details{background:var(--paper);border:1px solid #f0e2ea;border-radius:16px;padding:14px 20px;margin:0 0 12px}
.faq summary{font-weight:800;color:var(--plum);cursor:pointer}
.faq details p{margin:8px 0 0}
/* more from amor */
.more .cards a{text-decoration:none;color:var(--plum);font-weight:800}
/* footer, same pattern as amorstory.se */
footer{display:grid;grid-template-columns:1fr 1.4fr .8fr;gap:48px;padding:48px 6%;border-top:1px solid #c8b8d5;background:#d9cde9;font-size:13px}
footer .site-brand{width:180px}
footer h2{font:800 14px var(--rounded);letter-spacing:0;margin:0 0 6px}
footer .links{display:flex;flex-direction:column;gap:10px}
footer a{color:var(--plum)}
/* compact mobile */
@media (max-width:1100px) and (min-width:761px){.cards.five{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){
 :root{--edge:9px}
 body{font-size:16.5px}
 .book-world{border-radius:19px}
 .masthead{min-height:72px;height:auto;gap:12px;padding:10px 16px 4px}
 .wordmark{font-size:30px}.brand-heart{right:-12px;top:-6px}.brand-heart svg{width:14px;height:14px}.site-brand{width:100px}.brand-signatures{gap:0}
 .masthead nav{display:none;position:absolute;top:80px;left:9px;right:9px;flex-direction:column;gap:0;background:var(--cream);padding:8px 20px;border-radius:0 0 19px 19px;box-shadow:0 12px 24px #56355922;z-index:5}
 .masthead nav.open{display:flex}
 .menu-toggle{display:inline-flex;margin-left:auto;border:1px solid #a990a4;border-radius:999px;background:transparent;color:var(--plum);font:800 14px var(--rounded);padding:8px 16px}
 .bc{padding:10px 16px 0}
 .hero{grid-template-columns:1fr;padding:12px 16px 30px;gap:14px}
 .hero-cover{order:-1}.hero-cover img{max-width:150px;transform:rotate(2deg)}
 .hero h1{font-size:1.85rem}
 .hero-actions .button{width:100%}
 .section{padding:30px 16px}
 .section h2{font-size:1.55rem}
 .cards,.cards.five{grid-template-columns:1fr;gap:10px}.card{padding:14px 16px}.card:has(.icon){display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:start}.card:has(.icon)>:not(.icon){grid-column:2}
 .card .icon{width:40px;height:40px;border-radius:12px;margin:0;grid-row:span 3}.card h3{font-size:1.08rem;margin:0 0 4px}.card p{font-size:15px}
 .more .card{display:block}
 .signup{grid-template-columns:1fr;padding:22px 18px}.covers2 figure{width:140px}.covers2{gap:16px}
 .split{grid-template-columns:1fr}
 footer{grid-template-columns:1fr;gap:20px;padding:32px 20px}
}

/* VARIANT, NOT ACTIVE: hero with homepage brand art (amor-hero.webp). Activate only after Martin confirms the images are not AI-made.
.hero.art{background:linear-gradient(90deg,var(--cream) 45%,#fffbf200 75%),url(https://amorstory.se/assets/images/amor-hero.webp) right center/cover no-repeat}
*/
/* ---- rebuild 2026-11-01: components for all /lp/ pages ---- */
.sum{list-style:none;margin:0;padding:18px 22px;background:var(--paper);border:1px solid #f0e2ea;border-radius:18px;font-size:16px}.sum li{margin:4px 0}
.disc{background:var(--paper);border:1px solid #f0e2ea;border-radius:14px;padding:10px 16px;font-size:14px;color:#5d4659}
.disc.ours{background:var(--rose-milk)}
.tag{display:inline-block;background:var(--rose-ink);color:#fff;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:800;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 22px;border-radius:999px;background:var(--rose-ink);color:#fff;font:800 15px/1.3 var(--rounded);text-decoration:none;margin:4px 8px 4px 0}
.btn.alt{background:transparent;color:var(--plum);border:1px solid #a990a4}
.btn.s{min-height:38px;padding:7px 16px;font-size:14px}
.covers{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-end}.covers figure{margin:0;flex:0 1 200px}.covers img{border-radius:8px;box-shadow:0 14px 30px #56355926}
figcaption{font-size:14px;font-weight:700;margin-top:8px;color:var(--plum)}
.wide{border-radius:18px;width:100%;max-width:780px}
.section>p,.section>ul,.section>ol:not(.cards),.section>.disc,.section>details{max-width:780px}
.toc{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0 clamp(20px,4vw,64px) 22px}
.toc a{display:inline-block;padding:7px 14px;border-radius:999px;background:var(--paper);border:1px solid #e7d3df;color:var(--plum);font-size:14px;font-weight:800;text-decoration:none}
.toc a:hover{background:var(--rose-milk)}
.books{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.book{background:var(--paper);border:1px solid #f0e2ea;border-radius:18px;padding:16px 18px;box-shadow:0 6px 18px #5635590f}
.book.ours{background:var(--rose-milk)}
.book h3{font-size:1.12rem;margin:0 0 2px}.book .by{font-size:14px;color:#72596b;margin:0 0 6px}
.book .facts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;padding:0;list-style:none}.book .facts li{font-size:12.5px;font-weight:800;background:var(--lilac-milk);color:var(--violet-ink);border-radius:999px;padding:2px 10px}
.book p{font-size:15px;margin:0 0 6px}.book .src{font-size:12.5px;color:#72596b}
details.group>summary{cursor:pointer;font-weight:800;color:var(--rose-ink);margin:0 0 12px}
.card .best{display:block;margin-top:6px;font-size:14.5px;color:var(--violet-ink)}
.covers figure img[src*="preview-"]{box-shadow:none;border:1px solid #f0d5dd}
.top{display:inline-block;margin-top:14px;font-size:14px;font-weight:800}
@media (max-width:760px){
 .toc{padding:0 16px 16px;flex-wrap:nowrap;overflow-x:auto}.toc a{white-space:nowrap}
 .books{grid-template-columns:1fr;gap:10px}.book{padding:12px 14px}.book h3{font-size:1.02rem}.book p{font-size:14.5px}
 .covers figure{flex:0 1 140px}
}
/* simple routine chart */
table.chart{border-collapse:collapse;width:100%;max-width:560px;background:var(--paper);border-radius:14px;overflow:hidden;margin:8px 0 18px}
table.chart th,table.chart td{border-bottom:1px solid #f0e2ea;padding:8px 12px;text-align:left;font-size:16px}
table.chart th{background:var(--lilac-milk);color:var(--violet-ink);font-size:14px}
table.chart td:last-child,table.chart th:last-child{text-align:center;width:64px;font-size:20px}
/* guide book cards v2: thumbnail + full-width grid */
.section>.books,.section>details>.books{max-width:none}
@media (min-width:1000px){.books{grid-template-columns:repeat(3,1fr)}}
.book{display:grid;grid-template-columns:72px 1fr;column-gap:14px;align-content:start}
.book>.thumb{grid-row:1/span 8;width:72px;height:96px;object-fit:cover;border-radius:6px;box-shadow:0 2px 8px #56355922}
.book>:not(.thumb){grid-column:2}
.hubcards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.hubcard{background:var(--paper);border:1px solid #f0e2ea;border-radius:18px;padding:14px;display:grid;grid-template-columns:72px 1fr;column-gap:14px;box-shadow:0 6px 18px #5635590f}
.hubcard img{width:72px;height:96px;object-fit:cover;border-radius:6px;grid-row:1/span 2}
.hubcard h3{font-size:1.05rem;margin:0 0 4px}.hubcard h3 a{color:var(--plum);text-decoration:none}.hubcard p{margin:0;font-size:14.5px}
.section>.hubcards{max-width:none}
/* v4: text-only cards for other publishers, grids without empty cells */
.book{display:block}.book:has(.thumb){display:grid;grid-template-columns:72px 1fr;column-gap:14px;align-content:start}
.book:not(:has(.thumb))>*{grid-column:auto}
.hubcard:not(:has(img)){display:block}
.books,.hubcards{grid-template-columns:1fr}
@media (min-width:640px){.books,.hubcards{grid-template-columns:repeat(2,1fr)}.books>li:last-child:nth-child(2n+1),.hubcards>li:last-child:nth-child(2n+1){grid-column:1/-1}}
@media (min-width:1000px){.books,.hubcards{grid-template-columns:repeat(3,1fr)}
 .books>li:last-child:nth-child(2n+1),.hubcards>li:last-child:nth-child(2n+1){grid-column:auto}
 .books>li:last-child:nth-child(3n+1),.hubcards>li:last-child:nth-child(3n+1){grid-column:1/-1}
 .books>li:last-child:nth-child(3n+2),.hubcards>li:last-child:nth-child(3n+2){grid-column:span 2}}
/* v4: print view for the bedtime routine chart */
@media print{
 body:has(table.chart){background:#fff}
 body:has(table.chart) .book-world{box-shadow:none;border-radius:0;background:#fff}
 body:has(table.chart) .masthead,body:has(table.chart) .bc,body:has(table.chart) .skip,body:has(table.chart) main>*:not(.section),body:has(table.chart) main>.section:not(:has(table.chart)),body:has(table.chart) footer,body:has(table.chart) .faq,body:has(table.chart) .more{display:none!important}
 body:has(table.chart) .section:has(table.chart){background:#fff;padding:0;margin:0}
 table.chart{max-width:none;width:100%;border:2px solid #563559}
 table.chart tr{break-inside:avoid}body:has(table.chart) .section:has(table.chart) h2{break-after:avoid;margin-top:0}
 table.chart th,table.chart td{font-size:19px;padding:9px 14px;border-bottom:2px solid #563559}
 @page{margin:14mm}
 table.chart td:last-child,table.chart th:last-child{width:110px;font-size:40px}
}
.hubcard>:not(img){grid-column:2;min-width:0}.hubcard h3{line-height:1.25}
/* v5: chart picture column, print hint and footer line */
.print-only{display:none}
table.chart td.pic span{display:block;width:34px;height:34px;border:1.5px dashed #c9b3c7;border-radius:6px}
table.chart th:last-child{font-size:14px}
@media print{
 @page{margin:12mm}
 body:has(table.chart) .copyhint{display:none}
 body:has(table.chart) .section:has(table.chart) h2{font-size:24px;margin:0 0 8px}
 table.chart th{font-size:16px!important;padding:7px 12px}
 table.chart th:last-child{font-size:16px!important;width:90px}
 table.chart td{font-size:19px;padding:6px 12px}
 table.chart td:last-child{width:90px;font-size:34px}
 table.chart td.pic{width:110px}
 table.chart td.pic span{width:24mm;height:20mm;border:1.5px dashed #8e5a86}
 .print-only{display:block;text-align:center;font-size:11px;color:#8e5a86;margin-top:6mm}
}
/* v6: closed rounded frame on the printed chart */
@media print{
 table.chart{border-collapse:separate;border-spacing:0;border:2px solid #563559;border-radius:14px;overflow:hidden}
 table.chart th,table.chart td{border-bottom:1.5px solid #563559}
 table.chart tbody tr:last-child td{border-bottom:0}
}
