:root{--bg:#fff9f5;--paper:#fff;--ink:#2f2830;--muted:#756d73;--line:#eadfdc;--rose:#d95f70;--rose-dark:#b9465a;--peach:#ffe5d9;--mint:#dff1e7;--lilac:#eee4f4;--sand:#f5eadc;--shadow:0 16px 50px rgba(76,49,56,.11);--radius:24px;--shell:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fffaf7 0,#fff 38%,#fff9f5 100%);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.shell{width:min(var(--shell),calc(100% - 40px));margin-inline:auto}.narrow{max-width:860px}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,249,245,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,223,220,.8)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--peach);font-size:21px;transform:rotate(-6deg)}.brand span:last-child{display:grid}.brand strong{font-size:17px;line-height:1.15}.brand small{color:var(--muted);font-size:12px;margin-top:3px}.top-nav{display:flex;gap:8px}.top-nav a{padding:10px 13px;border-radius:12px;text-decoration:none;color:var(--muted);font-weight:650;font-size:14px}.top-nav a:hover{background:#fff;color:var(--ink)}.hero{position:relative;overflow:hidden;padding:74px 0 56px}.hero:before,.hero:after{content:"";position:absolute;border-radius:999px;filter:blur(1px);z-index:-1}.hero:before{width:360px;height:360px;background:#fce5ea;left:-120px;top:35px}.hero:after{width:310px;height:310px;background:#e9f5ee;right:-100px;bottom:-70px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);gap:70px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.11em;color:var(--rose-dark);font-size:12px;font-weight:800}.hero h1{font-size:clamp(44px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:18px 0 24px;max-width:760px}.hero h1 span{color:var(--rose)}.hero-copy>p{font-size:18px;color:var(--muted);max-width:680px;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{border:0;border-radius:14px;min-height:48px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:780;cursor:pointer;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--rose);color:#fff;box-shadow:0 8px 20px rgba(217,95,112,.2)}.btn-primary:hover{background:var(--rose-dark)}.btn-secondary{background:var(--ink);color:#fff}.btn-ghost{background:#f7f2f0;color:var(--ink)}.btn-small{min-height:40px;padding:0 13px;font-size:13px;border-radius:11px}.hero-notes{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-size:13px;font-weight:650}.hero-stack{height:490px;position:relative}.hero-card{position:absolute;object-fit:contain;background:#fff;border:8px solid #fff;border-radius:28px;box-shadow:var(--shadow)}.hero-card-a{width:61%;height:87%;right:1%;top:1%;transform:rotate(4deg)}.hero-card-b{width:67%;height:71%;left:0;bottom:0;transform:rotate(-5deg)}.scissor-badge{position:absolute;right:2%;bottom:2%;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--mint);box-shadow:0 12px 28px rgba(45,80,60,.15);font-size:30px;transform:rotate(-8deg)}.quick-cats{padding:14px 0 58px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick-card{text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.85);border-radius:20px;padding:22px;display:grid;gap:4px;cursor:pointer;transition:.2s;box-shadow:0 8px 30px rgba(75,52,58,.04)}.quick-card:hover{transform:translateY(-3px);border-color:#ddbfc4;box-shadow:0 14px 34px rgba(75,52,58,.09)}.quick-card b{font-size:28px;color:var(--rose);line-height:1}.quick-card span{font-weight:800}.quick-card small{color:var(--muted)}.catalog-section{padding:62px 0 80px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.section-head.compact{margin-bottom:20px}.section-head h2,.how-section h2,.faq-section h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;line-height:1.05;margin:10px 0 8px}.section-head p{margin:0;color:var(--muted)}.result-count{min-width:112px;text-align:center;background:var(--lilac);border-radius:22px;padding:13px 18px}.result-count strong{font-size:28px;display:block;line-height:1}.result-count span{font-size:12px;color:var(--muted)}.filter-panel{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;margin-bottom:24px;box-shadow:0 10px 28px rgba(67,49,55,.05)}.search-box{height:44px;min-width:260px;flex:1;display:flex;align-items:center;background:#f9f5f3;border:1px solid transparent;border-radius:13px;padding:0 10px 0 13px}.search-box:focus-within{border-color:#d9aab2;background:#fff}.search-box span{color:var(--muted);font-size:19px;margin-right:8px}.search-box input{border:0;outline:0;background:transparent;width:100%;color:var(--ink)}.search-box button{border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.filter-row{display:flex;align-items:center;gap:8px}.filter-label{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.segmented{display:flex;background:#f6f1ef;padding:3px;border-radius:12px}.segmented button{border:0;background:transparent;color:var(--muted);padding:8px 11px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer}.segmented button.is-active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(64,44,50,.08)}.fav-toggle{font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;display:flex;gap:6px;align-items:center}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.doll-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 9px 30px rgba(61,43,49,.055);transition:.2s}.doll-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(61,43,49,.1)}.doll-card[hidden]{display:none}.card-preview{border:0;width:100%;height:340px;background:linear-gradient(145deg,#fffdfc,#f8f2ef);padding:16px;position:relative;cursor:zoom-in;display:grid;place-items:center}.card-preview img{width:100%;height:100%;object-fit:contain;display:block}.preview-hint{position:absolute;right:12px;bottom:12px;background:rgba(47,40,48,.82);color:#fff;padding:6px 9px;border-radius:9px;font-size:11px;font-weight:700;opacity:0;transform:translateY(4px);transition:.2s}.card-preview:hover .preview-hint{opacity:1;transform:none}.card-body{padding:16px}.card-tags{display:flex;gap:6px;flex-wrap:wrap}.card-tags span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:#765663;background:#f8edf0;padding:5px 7px;border-radius:8px}.card-tags span:nth-child(2){background:#edf5f0;color:#4f705d}.card-body h3{font-size:16px;line-height:1.35;margin:10px 0 14px}.title-button{border:0;background:transparent;padding:0;text-align:left;color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.title-button:hover{color:var(--rose-dark)}.card-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--rose);font-size:22px;line-height:1;cursor:pointer}.icon-btn.is-fav{background:#fff0f2;border-color:#e5b5bd}.empty-state{text-align:center;padding:70px 20px;background:#fff;border:1px dashed #dcc9c6;border-radius:24px}.empty-state span{font-size:38px}.empty-state h3{margin:10px 0 3px}.empty-state p{color:var(--muted);margin:0 0 18px}.bundles-section{padding:20px 0 84px}.bundle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.bundle{display:flex;align-items:center;gap:15px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px;text-decoration:none;color:var(--ink);transition:.2s}.bundle:hover{transform:translateY(-2px);border-color:#dab6bc}.bundle>span{width:44px;height:44px;display:grid;place-items:center;background:var(--bg);border-radius:13px;font-size:22px}.bundle div{display:grid;flex:1}.bundle small{color:var(--muted)}.bundle>b{font-size:24px;color:var(--rose)}.how-section{padding:82px 0;background:#f5eee9}.how-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.how-grid>div>p{color:var(--muted)}.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}.steps li{background:#fff;border:1px solid #e9ded8;border-radius:18px;padding:18px;display:flex;gap:14px}.steps li>b{flex:0 0 38px;height:38px;border-radius:12px;background:var(--peach);display:grid;place-items:center;color:var(--rose-dark)}.steps li div{display:grid}.steps li span{color:var(--muted);font-size:14px;margin-top:3px}.faq-section{padding:90px 0}.faq-section h2{margin-bottom:28px}.faq-section details{border-top:1px solid var(--line);padding:18px 0}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{font-weight:800;cursor:pointer;list-style:none;padding-right:30px;position:relative}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary:after{content:"+";position:absolute;right:2px;top:-3px;font-size:24px;color:var(--rose)}.faq-section details[open] summary:after{content:"−"}.faq-section details p{color:var(--muted);margin:10px 0 0;max-width:760px}.site-footer{border-top:1px solid var(--line);padding:30px 0;background:#fff}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-inner>a{color:var(--rose-dark);font-weight:750;text-decoration:none}.footer-brand .brand-mark{width:36px;height:36px}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px}.modal-backdrop{position:absolute;inset:0;background:rgba(32,26,30,.66);backdrop-filter:blur(8px)}.modal-dialog{position:relative;z-index:1;width:min(1080px,100%);max-height:calc(100vh - 44px);overflow:hidden;background:#fff;border-radius:26px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);box-shadow:0 30px 90px rgba(0,0,0,.28)}.modal-close{position:absolute;right:14px;top:14px;z-index:5;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 4px 14px rgba(0,0,0,.14);font-size:24px;cursor:pointer}.modal-image-wrap{min-height:620px;background:#f8f3f0;display:grid;place-items:center;padding:24px;overflow:auto}.modal-image-wrap img{max-width:100%;max-height:76vh;object-fit:contain}.modal-info{padding:56px 28px 28px;overflow:auto}.modal-info h2{font-size:28px;line-height:1.08;letter-spacing:-.03em;margin:13px 0}.modal-info p{color:var(--muted)}.modal-actions{display:grid;gap:9px;margin-top:22px}.body-lock{overflow:hidden}@media(max-width:980px){.hero-grid{grid-template-columns:1fr .72fr;gap:30px}.hero-stack{height:420px}.quick-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.filter-panel{align-items:flex-start}.modal-dialog{grid-template-columns:1fr;overflow:auto}.modal-image-wrap{min-height:400px}.modal-info{padding-top:28px}}@media(max-width:720px){.shell{width:min(100% - 24px,var(--shell))}.top-nav{display:none}.site-header .header-inner{min-height:66px}.brand small{display:none}.hero{padding:48px 0 38px}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:45px}.hero-copy>p{font-size:16px}.hero-stack{height:330px;margin-top:6px}.hero-card-a{width:54%;right:7%}.hero-card-b{width:61%;left:4%}.scissor-badge{width:54px;height:54px;font-size:25px}.quick-cats{padding-bottom:42px}.quick-grid{grid-template-columns:1fr 1fr}.quick-card{padding:16px}.quick-card b{font-size:23px}.catalog-section{padding:46px 0 60px}.section-head{align-items:start}.result-count{display:none}.filter-panel{display:grid;gap:12px}.search-box{min-width:0;width:100%}.filter-row{overflow:auto;padding-bottom:2px}.filter-label{min-width:max-content}.segmented{min-width:max-content}.gallery{grid-template-columns:1fr;gap:14px}.card-preview{height:390px}.bundle-grid{grid-template-columns:1fr}.how-grid{grid-template-columns:1fr;gap:28px}.how-section{padding:60px 0}.faq-section{padding:65px 0}.footer-inner{align-items:flex-start}.modal{padding:10px}.modal-dialog{border-radius:20px;max-height:calc(100vh - 20px)}.modal-image-wrap{min-height:340px;padding:18px}.modal-info{padding:22px 18px}.modal-info h2{font-size:24px}}@media(max-width:420px){.hero h1{font-size:39px}.quick-grid{grid-template-columns:1fr}.hero-actions .btn{width:100%}.card-preview{height:355px}.card-actions .btn-primary{flex:1}.footer-inner{display:grid}}

/* 2026-10 catalog layout fixes + task hubs */
.doll-card{display:flex;flex-direction:column;min-width:0}
.card-preview{flex:0 0 320px;height:320px;overflow:hidden;border-bottom:1px solid var(--line)}
.card-body{position:relative;z-index:2;display:flex;flex:1;flex-direction:column;min-height:184px;padding:18px;background:#fff}
.card-body h3{min-height:43px;margin:10px 0 16px}
.card-actions{margin-top:auto;padding-top:2px}
.preview-hint{bottom:14px}

.hubs-section{padding:82px 0 88px;background:linear-gradient(180deg,#fff 0,#fff9f5 100%);border-top:1px solid rgba(234,223,220,.75)}
.hubs-head{max-width:820px;align-items:start}
.hubs-section .section-head h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.04em;line-height:1.05;margin:10px 0 10px}
.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hub-card{position:relative;overflow:hidden;padding:28px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 34px rgba(61,43,49,.055)}
.hub-card:before{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-42px;top:-46px;background:var(--peach);opacity:.6}
.hub-card:nth-child(2):before{background:var(--lilac)}
.hub-card:nth-child(3):before{background:var(--mint)}
.hub-card:nth-child(4):before{background:var(--sand)}
.hub-kicker{display:inline-flex;position:relative;z-index:1;padding:6px 9px;border-radius:999px;background:#f8edf0;color:var(--rose-dark);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.hub-card h3{position:relative;z-index:1;font-size:24px;line-height:1.15;letter-spacing:-.025em;margin:14px 0 13px}
.hub-card p{color:var(--muted);margin:0 0 12px}
.hub-answer{padding:13px 14px;border-radius:14px;background:#fbf7f5;color:var(--ink)!important}
.hub-answer strong{color:var(--rose-dark)}
.hub-points{margin:15px 0 20px;padding-left:20px;color:var(--muted)}
.hub-points li+li{margin-top:5px}
.hub-action{border:1px solid #e2c4c9;background:#fff6f7;color:var(--rose-dark);min-height:43px;padding:0 15px;border-radius:12px;font-weight:800;cursor:pointer;transition:.18s ease}
.hub-action:hover{background:var(--rose);border-color:var(--rose);color:#fff;transform:translateY(-1px)}
.choice-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.choice-guide>div{padding:17px 18px;border-radius:17px;border:1px solid var(--line);background:rgba(255,255,255,.78);display:grid;gap:3px}
.choice-guide span{font-size:12px;color:var(--muted)}
.choice-guide strong{font-size:14px}

@media(max-width:980px){
  .card-preview{flex-basis:300px;height:300px}
  .hub-grid{grid-template-columns:1fr}
  .choice-guide{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:720px){
  .card-preview{flex-basis:370px;height:370px}
  .card-body{min-height:170px}
  .hubs-section{padding:62px 0 66px}
  .hub-card{padding:22px}
  .choice-guide{grid-template-columns:1fr}
}
@media(max-width:420px){
  .card-preview{flex-basis:345px;height:345px}
  .card-body h3{min-height:0}
}


/* HTML-first / no-JS fallback */
.noscript-note{margin:0 0 18px;padding:14px 16px;border:1px solid #eadbd7;border-radius:14px;background:#fffaf6;color:var(--muted);font-size:14px;line-height:1.55}
.noscript-note strong{color:var(--ink)}


/* Reserved ad position inside each paper-doll card. Insert future ad code into .card-ad-slot. */
.card-ad-slot{
  width:100%;
  min-height:90px;
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.card-ad-slot>*{max-width:100%}
.card-ad-slot iframe{max-width:100%;border:0}
@media(max-width:720px){.card-ad-slot{min-height:78px;margin-top:10px}}
