/* Lulif advertorials, mobile-first. Measured from try.thepillowhome.com captures (390px / 1366px). */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Poppins,ui-sans-serif,system-ui,sans-serif;color:#252422;background:#fff;font-size:14px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
img.ph{background:#EEF0F2}
a{color:#EB5E28}
h1,h2,h3,h4{font-weight:500;margin:0 0 .5em;line-height:1.2}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.4em}
li{margin:.2em 0}
blockquote{margin:1em 0;padding:0}
.wrap{padding:0 16px}
.masthead{text-align:center;padding:12px 16px 4px}
.masthead a,.t-index .masthead{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:20px;letter-spacing:-.3px;color:#111;text-decoration:none}
.btn{display:inline-block;text-decoration:none;border-radius:4px;padding:8px 16px;font-size:16px;line-height:24px;text-align:center;cursor:pointer}
.btn-orange{background:#EB5E28;color:#252422}
.btn-orange:hover{background:#D64A14}
.btn-full{display:block;width:100%;max-width:592px;margin:0 auto;padding:8px 32px;font-weight:500}
.btn-red{background:#E63946;color:#fff;border-radius:30px;padding:14px 34px;font-family:Arial,sans-serif;font-weight:700;font-size:18px;box-shadow:0 6px 16px rgba(230,57,70,.3)}
.btn-navy{background:#1B3D5F;color:#fff;font-weight:700;letter-spacing:.5px;font-family:Arial,sans-serif;padding:14px 20px;border-radius:4px}
.btn-green{background:#3C9A2B;color:#fff;font-weight:700;letter-spacing:.6px;font-family:Arial,sans-serif;padding:13px 28px;border-radius:3px;box-shadow:0 2px 0 #2B7A1D}
.cta-wrap{text-align:center;margin:1.5em 0 .6em}
.site-foot{padding:32px 16px 40px;text-align:center;font-size:12px;color:#555;border-top:1px solid #eee;margin-top:40px}
.site-foot a{color:#555}
.site-foot .disc{max-width:720px;margin:10px auto 0;text-align:left;font-size:11px;color:#777}

/* ---------- classic listicle ---------- */
.t-classic .art-head{text-align:center;max-width:896px;margin:0 auto}
.t-classic h1{font-size:36px;line-height:1.2;margin:8px 0 14px}
.t-classic .art-head p{font-size:14px}
.t-classic .art-head p:first-of-type{font-weight:700;margin-bottom:.4em}
.t-classic .hero-wrap{margin:24px auto 8px;max-width:592px}
.t-classic h2{font-size:30px;line-height:1.2;margin:8px 0 14px}
.t-classic .row{margin:28px 0}
.t-classic .row .media{margin-top:18px}
.t-classic .txt>p>strong:first-child{font-weight:700}
.t-classic figure{margin:0}
.sticky-bar{position:sticky;top:0;z-index:20;background:#121212;color:#FFFCF2;margin:16px -16px;padding:8px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;line-height:1.35}
.sticky-bar p{margin:0}
.sticky-bar .btn-sm{flex:0 0 auto;padding:8px 16px;font-size:15px}
@media (min-width:900px){
  .t-classic .wrap{max-width:1248px;margin:0 auto}
  .t-classic h1{font-size:60px;line-height:1.2}
  .t-classic h2{font-size:36px}
  .t-classic .art-head>p{max-width:592px;margin-left:auto;margin-right:auto}
  .t-classic .row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:56px 0}
  .t-classic .row.img-right .media{order:2}
  .t-classic .row.img-left .media{order:-1}
  .t-classic .row .media{margin-top:0}
  .t-classic .row.solo{display:block;max-width:768px;margin-left:auto;margin-right:auto}
  .sticky-bar{margin:16px 0;justify-content:center;gap:24px;font-size:16px}
}

/* ---------- longform story ---------- */
.t-longform .wrap{max-width:784px;margin:0 auto}
.t-longform h1{font-size:24px;line-height:1.2;font-weight:700;margin:16px 0 10px}
.t-longform h1+h2{font-size:16px;line-height:1.2;font-weight:400;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e5e5e5}
.t-longform h2{font-size:26px;line-height:1.2;margin:28px 0 14px}
.t-longform .author-row{display:flex;gap:10px;align-items:center;font-size:12px;line-height:1.4;margin:6px 0 18px}
.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}
.t-longform figure{margin:20px auto;max-width:592px}
.t-longform .carousel{background:#F9F9F9;margin:20px -16px;padding:20px 16px}
.carousel .track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;scrollbar-width:none}
.carousel .track::-webkit-scrollbar{display:none}
.carousel .slide{flex:0 0 100%;scroll-snap-align:center;text-align:center}
.carousel .slide img{width:100%;max-width:592px;margin:0 auto 10px;aspect-ratio:1/1;object-fit:cover}
.stars{color:#F5A623;letter-spacing:2px;font-size:16px}
.carousel .sr{font-size:12px;margin:0;color:#666}
.carousel h4{font-size:11px;letter-spacing:1.5px;font-weight:500;color:rgba(37,36,34,.7);margin:4px 0 8px}
.carousel .rq{font-style:italic}
.carousel h3{font-size:16px;color:rgba(37,36,34,.7)}
.car-nav{display:flex;justify-content:center;gap:12px;margin-top:8px}
.car-nav button{width:48px;height:48px;border:0;border-radius:4px;background:rgba(235,94,40,.75);color:#252422;font-size:26px;cursor:pointer}
@media (min-width:900px){
  .t-longform h1{font-size:36px}
  .t-longform h1+h2{font-size:18px}
  .t-longform h2{font-size:30px}
  .t-longform p,.t-longform li{font-size:16px;line-height:1.6}
  .t-longform .sticky-bar{margin:16px -16px}
}

/* ---------- landing story ---------- */
.t-landing{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}
.t-landing .wrap{padding:0}
.t-landing h1,.t-landing h2,.t-landing h3{font-family:Poppins,sans-serif;font-weight:400;color:#506D84}
.t-landing .lp-hero{background:linear-gradient(180deg,#E6EEF5 0%,#F0F5F9 60%,#fff 100%);text-align:center;padding:40px 20px 32px}
.t-landing .lp-hero h1{font-size:32px;line-height:1.6;margin:0 0 10px}
.t-landing .lp-hero h2{font-size:19.2px;line-height:1.6;color:#6D7993;margin:0 0 18px}
.pills{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0 0 22px}
.pill{background:#fff;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;color:#506D84;box-shadow:0 2px 6px rgba(0,0,0,.06)}
.pill .ic{color:#E63946;margin-right:5px}
.t-landing figure{margin:0 auto 20px;max-width:700px}
.t-landing figure img{border-radius:8px;box-shadow:0 8px 24px rgba(80,109,132,.15)}
.t-landing .lp-sec{padding:36px 20px}
.t-landing .lp-sec:nth-of-type(even){background:#F9F9F9}
.t-landing .lp-sec>*{max-width:960px;margin-left:auto;margin-right:auto}
.t-landing h2{font-size:28px;line-height:1.5;text-align:center;margin-bottom:24px}
.t-landing h3{font-size:19px;text-align:center;margin:18px 0 12px}
.t-landing .lp-intro{padding:28px 20px}
.t-landing .lp-intro h3{text-align:left;font-family:Poppins,sans-serif;font-size:15px;font-weight:500;color:#252422}
.t-landing blockquote{background:#F0F5F9;border-left:4px solid #506D84;padding:16px 18px;font-style:italic;font-size:17px;color:#333}
.t-landing blockquote p{margin:0}
.pcards{display:grid;gap:16px}
.pcard{background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.07);padding:18px 16px}
.pcard h3{text-align:left;font-size:15px;color:#506D84;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.pcard .x{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#E63946;color:#fff;font-size:11px}
.pcard p{font-size:14.5px;margin:0}
.callout{background:#F7F9FB;border-left:3px solid #E63946;border-radius:6px;padding:18px 18px 8px;margin:20px auto}
.callout h3{color:#E63946;text-align:left;font-size:16px}
.feats{display:grid;gap:14px;margin:18px auto}
.feat{display:flex;gap:12px;background:#fff;border-radius:8px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.feat .chk{flex:0 0 28px;height:28px;border-radius:50%;background:#506D84;color:#fff;display:grid;place-items:center}
.feat h3{text-align:left;font-size:16px;margin:0 0 4px}
.feat p{margin:0;font-size:14.5px}
.tcards{display:grid;gap:16px}
.tcard{background:#fff;border-radius:8px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.07)}
.tc-h{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.tc-h img{width:50px;height:50px;border-radius:50%;object-fit:cover}
.tc-h h4{margin:0;font-family:Poppins,sans-serif;font-weight:500;color:#252422}
.tc-h small{color:#777}
.tcard p{margin:0;font-size:14.5px;color:#444}
.trust{display:grid;gap:14px;background:#506D84;color:#fff;border-radius:8px;padding:20px;margin:16px auto 24px}
.trust h3{color:#fff;margin:0 0 4px}
.trust p{margin:0;text-align:center;font-size:14px;opacity:.9}
.t-landing .cta-wrap+p{text-align:center;font-size:13px;color:#666}
@media (min-width:900px){
  .t-landing .lp-hero h1{font-size:40px}
  .t-landing .lp-hero h2{font-size:24px}
  .pills{flex-direction:row;justify-content:center}
  .pcards,.tcards{grid-template-columns:repeat(2,1fr)}
  .trust{grid-template-columns:repeat(3,1fr)}
  .t-landing figure{max-width:460px}
  .t-landing .lp-hero figure{max-width:700px}
}

/* ---------- editorial listicle ---------- */
.t-editorial{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.65;color:#222;padding-bottom:72px}
.t-editorial .masthead{border-bottom:1px solid #e8e8e8;padding:14px 16px 10px}
.t-editorial .wrap{max-width:752px;margin:0 auto}
.breadcrumb{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#888;margin:14px 0 12px}
.t-editorial h1{font-family:Poppins,sans-serif;font-size:30px;line-height:1.2;font-weight:700;color:#1A1A1A;margin:0 0 12px}
.t-editorial h1+p{font-size:17px;line-height:1.5;color:#555}
.author-box{display:flex;gap:10px;align-items:center;font-size:13px;line-height:1.45;color:#666;padding:12px 0 14px;border-bottom:2px solid #1B3D5F;margin-bottom:16px}
.author-box b{color:#1A1A1A}
.author-box small{color:#999}
.t-editorial figure{margin:16px 0}
.t-editorial h2{font-family:Poppins,sans-serif;font-size:26px;line-height:1.25;font-weight:700;color:#1A1A1A;margin:28px 0 12px;padding-top:20px}
.t-editorial hr{border:0;border-top:1px solid #e8e8e8;margin:28px 0}
.t-editorial h3,.t-editorial h4{font-family:Georgia,"Times New Roman",serif;font-weight:700;color:#1A1A1A}
.t-editorial h4{font-size:19px;margin-top:20px}
.card-test{background:#F7F9FB;border:1px solid #DCE3EA;border-radius:4px;padding:20px 18px 6px;margin:20px 0}
.card-test h3{font-size:19px;line-height:1.5}
.badge{display:inline-block;font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 9px;border-radius:2px;color:#fff;background:#1B3D5F;vertical-align:middle}
.badge-gold{background:#C9A227}
.badge-grey{background:#1B3D5F}
.t-editorial h2+p{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#777}
.t-editorial h2+p a{color:#1B3D5F;font-weight:700}
.t-editorial .fig img{background:#F5F5F5;border:1px solid #e8e8e8;padding:14px;border-radius:4px}
.t-editorial .fig-hero img,.t-editorial .fig-comparison img{padding:0;border:0;border-radius:4px}
.t-editorial a{color:#1B3D5F;font-weight:700}
.score-card{border:1px solid #E3E3E3;border-radius:6px;padding:20px 18px 10px;margin:16px 0 22px;background:#fff}
.scorecard{text-align:center}
.ring{--p:90;width:112px;height:112px;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:conic-gradient(#1B3D5F calc(var(--p)*1%),#E3E8EE 0)}
.ring>div{width:94px;height:94px;border-radius:50%;background:#fff;display:grid;place-content:center;line-height:1.15}
.ring b{font-size:22px;color:#1B3D5F}
.ring small{font-size:10px;color:#777}
.based{font-size:11px;color:#888;margin:8px 0 10px}
.grade{font-family:Georgia,serif;font-size:56px;font-weight:700;line-height:1}
.grade-l{font-size:11px;letter-spacing:2px;color:#555;margin:6px 0 16px;padding-bottom:14px;border-bottom:1px solid #eee}
.bar{text-align:left;margin:0 0 12px}
.bar-l{display:flex;justify-content:space-between;font-size:12.5px;color:#333}
.bar-l b{color:#1B3D5F}
.bar-t{height:7px;background:#E8ECF0;border-radius:4px;overflow:hidden;margin-top:4px}
.bar-t i{display:block;height:100%;background:#1B3D5F;border-radius:4px}
.score-card .pc-h{font-size:11px;letter-spacing:1.5px;color:#666;margin:18px 0 8px;padding-top:14px;border-top:1px solid #eee}
.score-card ul{list-style:none;padding:0;font-size:13px;line-height:1.5}
.score-card ul li{padding-left:22px;position:relative;margin:0 0 7px;color:#444}
.score-card ul.pros li::before{content:"✓";position:absolute;left:2px;color:#2E8B57;font-weight:700}
.score-card ul.cons li::before{content:"✗";position:absolute;left:2px;color:#C0392B;font-weight:700}
.t-editorial blockquote{background:#F9F7F2;border-left:3px solid #C9A227;padding:16px 18px;font-family:Georgia,serif;font-style:italic;color:#333}
.t-editorial blockquote p{margin:0}
.update-box{background:#FFF8E6;border:1px solid #F0D98C;border-radius:4px;padding:16px 18px;margin:20px 0}
.update-box p{margin:0}
.update-box strong:first-child{display:block;font-family:Arial,sans-serif;font-size:11px;letter-spacing:1px;color:#A07D10;margin-bottom:8px}
.verdict-box,.t-editorial p.verdict{background:#F0F4F8;border-left:4px solid #1B3D5F;padding:16px 18px;margin:20px 0}
.verdict-box p{margin:0}
.t-editorial .cta-wrap+p{text-align:center;font-size:11px;color:#888}
.fixed-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#1B3D5F;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;font-family:Arial,sans-serif;box-shadow:0 -4px 14px rgba(0,0,0,.15)}
.fixed-bar small{display:block;color:#E7C65A;font-size:10px;font-weight:700;letter-spacing:1.2px}
.fixed-bar span{font-size:14px;line-height:1.3}
.fixed-bar a{flex:0 0 auto;background:#fff;color:#1B3D5F;text-decoration:none;font-weight:700;font-size:12.5px;padding:10px 12px;border-radius:3px}
@media (min-width:900px){
  .t-editorial h1{font-size:38px}
  .t-editorial h2{font-size:30px}
  .t-editorial p,.t-editorial li{font-size:17px}
  .score-card ul li{font-size:13.5px}
  .fixed-bar{justify-content:center;gap:40px}
}

/* index */
.t-index .wrap{max-width:720px;margin:0 auto}
.idx li{margin:10px 0}
