@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(pillow-assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(pillow-assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(pillow-assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(pillow-assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(pillow-assets/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(pillow-assets/font-5.ttf) format('truetype');
}
:root{--ink:#202020;--muted:#8b8b8b;--paper:#f2f2f2;--navy:#0a2036;--gutter:5.2vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Outfit,Arial,sans-serif;letter-spacing:-.02em}h2{font-size:clamp(30px,4.17vw,80px);line-height:1.08}p{line-height:1.45}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #97793b;outline-offset:5px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;z-index:100;background:white;padding:20px}.announcement{height:clamp(28px,2.3vw,44px);background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:clamp(9px,.73vw,14px);font-weight:700;text-transform:uppercase;letter-spacing:.02em}.announcement span{margin-left:16px}header{position:sticky;top:16px;z-index:20;margin:16px 3.125vw -88px}nav{height:clamp(58px,3.75vw,72px);display:flex;align-items:center;justify-content:space-between;padding:0 1.1vw 0 2.1vw;border-radius:12px;background:#fffffff0;box-shadow:0 4px 5px #0002;backdrop-filter:blur(16px)}.home{font-size:clamp(12px,.84vw,16px);font-weight:700}.brand{position:absolute;left:50%;transform:translateX(-50%);width:8.1vw;min-width:105px}.brand img{width:auto;max-height:32px}.login{background:var(--ink);color:white;border:0;border-radius:8px;padding:8px 28px;font-size:clamp(12px,.94vw,18px)}.hero{height:47.92vw;min-height:560px;position:relative;overflow:hidden;background:linear-gradient(122deg,#f2f8fb,#e4edf2)}.hero-art{position:absolute;inset:0;overflow:hidden}.hero-art>img{position:absolute;width:108.74%;max-width:none;left:0;top:-5.47vw;height:auto}.hero-copy{position:absolute;left:5%;top:14.58vw;width:41.15%}.eyebrow{text-transform:uppercase;font-family:monospace;font-size:clamp(12px,1.15vw,22px)!important;letter-spacing:.015em;font-weight:600;margin-bottom:1.9vw!important}.hero h1{font-size:clamp(38px,4.17vw,80px);line-height:1.08}.hero-copy>p:not(.eyebrow){font-size:clamp(16px,1.36vw,26px);color:var(--muted);max-width:35.4vw;margin:2vw 0 2.3vw}.button{display:inline-flex;align-items:center;justify-content:center;min-height:clamp(44px,3.34vw,64px);padding:14px 28px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:clamp(12px,1.04vw,20px);font-weight:700;transition:transform .25s,background .25s,box-shadow .25s}.button:hover{background:#3d3d3d;transform:translateY(-3px);box-shadow:0 7px 18px #0002}.button.light{color:var(--ink);background:white}.award{position:absolute;top:15vw;right:11.3%;width:6.53vw;height:4.17vw;border:2px solid #97793b;border-radius:10px;background:white;display:grid;place-items:center;overflow:hidden}.award img{width:100%}.section{padding:6vw var(--gutter)}.section-heading{text-align:center}.section-heading p{font-size:clamp(15px,1.35vw,26px);color:var(--muted);margin-top:1.5vw}.comfort{background:#fafafa;min-height:56.25vw;padding-top:4.9vw}.comparison{display:grid;grid-template-columns:400fr 400fr 880fr;gap:20px;margin-top:5vw;min-height:32.3vw}.comparison-copy{background:var(--ink);border-radius:24px;color:white;padding:2.6vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.comparison-copy h3{font-size:clamp(20px,2.08vw,40px);line-height:1.6}.comparison-copy .button{font-size:clamp(10px,1.04vw,20px);padding:12px 20px;white-space:nowrap}.comparison figure{position:relative;overflow:hidden}.comparison figure img{width:100%;height:100%;object-fit:cover}.ordinary{border-radius:24px 0 0 24px}.smart{border-radius:0 24px 24px 0}.smart img{object-position:22% center}.comparison figcaption{position:absolute;bottom:2vw;left:0;right:0;color:white;text-align:center;font-size:clamp(13px,1.35vw,26px);font-weight:800;text-shadow:0 2px 6px #000}.features{background:var(--navy);color:white;padding-top:2.7vw;padding-bottom:4vw}.feature-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.4vw}.feature-heading h2{font-size:clamp(32px,3.75vw,72px);line-height:1.5}.feature-heading>p{width:29vw;font-size:clamp(13px,1.04vw,20px);color:#a7b3bd;text-align:right}.feature-visual{position:relative;height:31.25vw;border-radius:18px;overflow:hidden}.feature-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 51%;transition:transform 1s,filter .5s}.feature-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0a2036a0,transparent 65%)}.feature-caption{position:absolute;z-index:1;left:2vw;bottom:1.8vw;width:34vw}.feature-caption span{font-size:clamp(12px,1.04vw,20px);font-weight:700}.feature-caption h3{font-size:clamp(24px,2.08vw,40px);margin:.9vw 0}.feature-caption p{font-size:clamp(13px,1.04vw,20px)}.feature-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3.4vw;margin-top:3vw}.feature-tabs button{border:0;border-top:6px solid #ffffff30;background:none;color:#a7b3bd;text-align:left;padding:1vw 0;font-size:clamp(11px,1.04vw,20px);transition:color .3s,border-color .3s}.feature-tabs button[aria-selected=true]{color:white;border-color:white}.feature-tabs span{margin-left:1vw}.feature-note{font-size:12px;color:#a7b3bd;margin-top:6px}.routine{background:var(--paper);padding-top:7vw;padding-bottom:8.8vw}.routine .section-heading p{font-size:clamp(15px,1.04vw,20px)}.routine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2vw;margin-top:5.6vw}.routine figure{background:white;border-radius:16px;overflow:hidden}.routine figure>div{height:20.83vw;overflow:hidden}.routine img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.routine figure:hover img{transform:scale(1.035)}.routine figcaption{padding:2.2vw 1.9vw;font:700 clamp(17px,1.46vw,28px)/1.1 Outfit,Arial,sans-serif}.experience{height:52.08vw;min-height:480px;position:relative;display:grid;place-items:center;overflow:hidden;color:#fff9ed;text-align:center;background:#08121c}.experience>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.experience:after{content:'';position:absolute;inset:0;background:#0006}.experience>div{position:relative;z-index:1;max-width:58vw}.experience h2{font-size:clamp(40px,4.48vw,86px)}.experience p{font-size:clamp(16px,1.4vw,27px);margin:2.5vw 0 3.4vw}.materials{display:grid;grid-template-columns:720fr 744fr;gap:13.5vw;align-items:center;padding-top:8.2vw;padding-bottom:8.4vw}.material-image{height:39.6vw;border-radius:20px;overflow:hidden}.material-image img{width:100%;height:100%;object-fit:cover}.material-copy .kicker{font:700 clamp(15px,1.46vw,28px)/1.1 Outfit,Arial,sans-serif;color:#302344;margin-bottom:2vw}.material-copy h2{font-size:clamp(26px,3.8vw,80px);line-height:1.35;white-space:nowrap}.material-copy h2 span{color:#b8b8b8}.material-copy>p:not(.kicker){font-size:clamp(15px,1.04vw,20px);color:var(--muted);margin:2vw 0 3vw;max-width:29vw}.signup{background:var(--paper);text-align:center;padding-top:4.2vw;padding-bottom:6.4vw}.signup h2{line-height:1.5}.signup>div>p{font-size:clamp(14px,1.04vw,20px);color:var(--muted);margin-top:2vw}.signup form{display:flex;gap:12px;padding:12px;margin:3.4vw auto 0;background:white;border-radius:99px;width:min(100%,1100px);max-width:57.3vw}.signup input{min-width:0;flex:1;border:0;background:none;padding-left:28px;font-size:clamp(16px,1.2vw,23px);color:var(--ink)}.signup input:focus{outline-offset:0;border-radius:30px}.signup input::placeholder{color:#aaa}.signup .privacy{color:var(--ink);margin-top:1.6vw}.text-button{border:0;padding:0;background:none;color:#1469ae}.signup #signup-status{color:#315b42;margin-top:1vw;min-height:24px;font-size:14px}.faq{padding-top:6.25vw;padding-bottom:5.7vw}.faq .section-heading p{font-size:clamp(15px,1.04vw,20px)}.faq-list{width:57.3vw;max-width:1100px;margin:3vw auto 0}.faq details{background:var(--paper);border-radius:20px;margin-bottom:1.25vw;padding:1.25vw 1.67vw}.faq summary{font-weight:600;font-size:clamp(15px,1.15vw,22px);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';color:#8b8b8b;font-size:25px;font-weight:400;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{font-size:clamp(14px,1.04vw,20px);line-height:1.6;margin-top:1vw}.about{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:2.1vw;padding-top:4.17vw;padding-bottom:4.17vw}.about article{background:white;border-radius:20px;padding:3.2vw 2.6vw}.about h2{margin-bottom:2.6vw}.about article p{font-weight:700;font-size:clamp(16px,1.46vw,28px);line-height:1.5}.about article p+p{margin-top:1em}.about>img{width:100%;height:100%;object-fit:cover;border-radius:20px;min-height:47.9vw}footer{background:#000;color:#989398;padding:5.2vw 5vw 2.2vw}.footer-top{display:flex;justify-content:space-between;padding-bottom:4vw}.footer-top img{width:auto;max-width:181px;height:40px}.footer-top p{font-size:clamp(14px,1.04vw,20px);margin-top:1vw}.footer-links{display:flex;gap:4vw;align-items:flex-start}.footer-links button{background:none;border:0;color:inherit;padding:0;font-size:clamp(13px,1.04vw,20px)}.footer-links button:hover{color:white}.copyright{border-top:1px solid #605d5f;text-align:center;padding-top:2vw;font-size:clamp(13px,1.04vw,20px)}dialog{border:0;border-radius:20px;padding:40px;max-width:540px;width:calc(100% - 40px);color:var(--ink);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#0a2036a0;backdrop-filter:blur(6px)}dialog h2{font-size:32px;margin:10px 0 20px}dialog p{margin-bottom:26px;color:#666}#close-dialog{position:absolute;right:18px;top:10px;background:none;border:0;font-size:30px}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.js .reveal.visible{opacity:1;transform:none}
@media(min-width:1921px){body{max-width:2400px;margin:auto}}@media(max-width:900px){header{margin-bottom:-74px}.hero{min-height:620px}.hero-copy{top:170px}.hero-art>img{top:10px;left:-10%;width:130%}.hero-copy>p:not(.eyebrow){max-width:40vw}.award{display:none}.comparison{gap:10px}.comparison-copy{padding:20px}.comparison-copy h3{line-height:1.3}.comparison-copy .button{padding:10px}.materials{gap:6vw}.material-copy h2{white-space:normal}.signup form,.faq-list{max-width:none;width:80vw}.feature-visual{height:44vw}.feature-caption{width:50vw}.footer-links{gap:20px;flex-wrap:wrap;max-width:45%}}
@media(max-width:600px){html{scroll-padding-top:90px}.announcement{font-size:8px;letter-spacing:0}.announcement span{margin-left:3px}header{top:10px;margin:12px 16px -70px}nav{padding:0 14px;border-radius:10px}.brand{min-width:100px}.login{padding:8px 17px}.hero{height:790px;min-height:0}.hero-copy{top:126px;left:24px;width:calc(100% - 48px)}.hero h1{font-size:44px}.eyebrow{font-size:12px!important;margin-bottom:20px!important}.hero-copy>p:not(.eyebrow){max-width:340px;font-size:16px;margin:22px 0}.hero-art>img{width:225%;top:305px;left:-105%}.hero-copy .button{min-height:48px;font-size:14px}.section{padding:64px 24px}.section-heading p{margin-top:18px;font-size:16px}.comparison{grid-template-columns:1fr 1fr;margin-top:32px;gap:8px}.comparison-copy{grid-column:1/-1;min-height:230px;padding:26px;border-radius:16px}.comparison-copy h3{font-size:28px;max-width:290px;line-height:1.4}.comparison-copy .button{font-size:12px;margin-top:24px}.comparison figure{height:290px;border-radius:14px}.comparison figcaption{font-size:12px;bottom:20px}.feature-heading{display:block;margin-bottom:28px}.feature-heading h2{font-size:34px;line-height:1.3}.feature-heading>p{text-align:left;width:auto;margin-top:20px;font-size:14px}.feature-visual{height:470px;border-radius:14px}.feature-visual>img{object-position:58% center}.feature-visual:after{background:linear-gradient(0deg,#0a2036e8,transparent 75%)}.feature-caption{left:20px;bottom:24px;width:calc(100% - 40px)}.feature-caption h3{margin:12px 0;font-size:27px}.feature-caption p{font-size:14px}.feature-tabs{grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.feature-tabs button{font-size:12px;min-height:60px;padding-top:12px;border-width:3px}.feature-tabs span{margin-left:5px}.feature-note{margin-top:20px}.routine-grid{grid-template-columns:1fr;margin-top:32px;gap:24px}.routine figure>div{height:260px}.routine figcaption{padding:24px;font-size:21px}.experience{height:600px}.experience>div{max-width:calc(100% - 48px)}.experience h2{font-size:43px}.experience p{font-size:16px;margin:28px 0}.experience>img{object-position:45% center}.materials{grid-template-columns:1fr;gap:36px}.material-image{height:360px}.material-copy .kicker{margin-bottom:20px;font-size:17px}.material-copy h2{font-size:34px;line-height:1.45}.material-copy>p:not(.kicker){max-width:none;margin:20px 0 24px}.signup h2{font-size:32px;line-height:1.25}.signup>div>p{margin-top:24px;font-size:15px}.signup form{width:100%;max-width:none;flex-direction:column;background:none;padding:0;margin-top:30px;gap:12px}.signup input{background:white;border-radius:30px;padding:18px 22px;min-height:56px}.signup form .button{min-height:52px;font-size:14px}.signup .privacy{font-size:12px;line-height:1.7;margin-top:20px}.faq-list{width:100%;margin-top:30px}.faq details{padding:20px;border-radius:14px;margin-bottom:12px}.faq summary{font-size:15px;line-height:1.5}.faq details p{font-size:14px;margin-top:16px}.about{grid-template-columns:1fr;gap:20px}.about article{padding:28px 24px}.about h2{margin-bottom:24px}.about article p{font-size:16px}.about>img{height:440px;min-height:0}.footer-top{display:block;padding-bottom:35px}.footer-top p{margin-top:16px}.footer-links{max-width:none;gap:20px 26px;margin-top:40px}.footer-top img{max-width:150px;height:auto}footer{padding:50px 24px 30px}.copyright{padding-top:24px;font-size:12px}dialog{padding:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}
@media(max-width:600px){.hero-art>img{width:190%;left:-80%;top:340px}}
/* Floating at page start, flush with the viewport once docked. */
header{position:absolute;top:calc(clamp(28px,2.3vw,44px) + 16px);left:3.125vw;right:3.125vw;margin:0;transition:left .25s,right .25s}
header.is-stuck{position:fixed;top:0;left:0;right:0;margin:0}
header.is-stuck nav{border-radius:0;background:#fffffff5}
/* A separate image group preserves the 40px copy gutter and removes the image seam. */
.comparison{grid-template-columns:400fr 1280fr;gap:2.0833vw;min-height:32.2917vw}
.comparison-images{display:grid;grid-template-columns:400fr 880fr;gap:0;min-width:0;border-radius:24px;overflow:hidden}
.comparison-images figure{border-radius:0;min-width:0}
.feature-visual{isolation:isolate}
.feature-slides,.feature-slide{position:absolute;inset:0;overflow:hidden}
.feature-slide,.material-slide{opacity:0;transition:opacity .65s ease;pointer-events:none}
.feature-slide.is-active,.material-slide.is-active{opacity:1;pointer-events:auto}
.feature-slide img{position:absolute;max-width:none;object-fit:fill}
.feature-slide[data-slide="0"] img{width:100.058%;height:215%;left:0;top:-60.833%}
.feature-slide[data-slide="1"] img,.feature-slide[data-slide="3"] img{width:101.047%;height:193.5%;left:0;top:-24.667%}
.feature-slide[data-slide="2"] img{width:100%;height:157.5%;left:0;top:-38.833%}
.feature-caption{width:36vw}
.carousel-controls{display:flex;justify-content:flex-end;margin-top:12px}
.carousel-toggle{border:0;background:transparent;color:inherit;opacity:.7;font-size:11px;padding:6px 0;display:flex;gap:10px;align-items:center}
.carousel-toggle:hover{opacity:1}
.material-image{position:relative;isolation:isolate}
.material-slide{position:absolute;inset:0;overflow:hidden}
.material-slide img{position:absolute;max-width:none;object-fit:fill}
.material-slide[data-slide="0"] img{width:100%;height:142.105%;left:0;top:-13.816%}
.material-slide[data-slide="1"] img{width:105.417%;height:100.921%;left:-2.222%;top:-.395%}
.material-slide[data-slide="2"] img{width:159.167%;height:100.526%;left:-29.583%;top:0}
.material-options{display:flex;flex-direction:column;align-items:flex-start;gap:1.667vw}
.material-options button{font:inherit;letter-spacing:inherit;line-height:1.08;background:transparent;color:#ccc;border:0;padding:0;text-align:left;transition:color .4s}
.material-options button[aria-pressed="true"]{color:var(--ink)}
.material-copy #material-description{min-height:3.02vw;margin-top:1.667vw;margin-bottom:3.7vw}
.material-copy .carousel-controls{justify-content:flex-start;margin-top:14px;color:var(--muted)}
@media(max-width:900px){header{margin:0}.feature-caption{width:52vw}}
@media(max-width:600px){header{top:40px;left:16px;right:16px;margin:0}header.is-stuck{top:0;left:0;right:0}.comparison{grid-template-columns:1fr;gap:20px}.comparison-images{grid-template-columns:1fr 1fr;border-radius:14px}.comparison-copy{grid-column:auto}.comparison-images figure{height:290px}.feature-slide img{height:100%!important;width:100%!important;left:0!important;top:0!important;object-fit:cover}.feature-slide[data-slide="0"] img{object-position:58% center}.feature-slide[data-slide="1"] img,.feature-slide[data-slide="3"] img{object-position:54% center}.feature-slide[data-slide="2"] img{object-position:48% center}.feature-caption{width:calc(100% - 40px)}.material-options{gap:14px}.material-copy #material-description{min-height:66px;margin:24px 0}.material-slide img{height:100%!important;width:100%!important;left:0!important;top:0!important;object-fit:cover}.material-slide[data-slide="0"] img{object-position:center 35%}.carousel-controls{margin-top:8px}}
@media(min-width:601px){.comparison-images figure img{position:absolute;max-width:none;object-fit:fill}.comparison-images .ordinary img{width:155%;height:100%;left:-21%;top:0}.comparison-images .smart img{width:138.858%;height:100.649%;left:-2.273%;top:0}}
/* Latest Figma revision: taller hero, softer surfaces, and measured section spacing. */
:root{--announcement-height:clamp(28px,2.3vw,44px)}
nav{box-shadow:0 10px 48px rgba(0,0,0,.05)}
.brand{width:7.532vw}
header.is-stuck nav{box-shadow:0 6px 24px rgba(0,0,0,.05)}
.feature-visual:after{right:auto;width:40.291%;background:linear-gradient(90deg,rgba(10,32,54,.5),rgba(10,32,54,0))}
.feature-heading>p,.feature-tabs button{color:#3b4d5e}
.feature-tabs button[aria-selected="true"]{color:#fff}
.feature-tabs button{border-top-color:rgba(255,255,255,.2)}
footer{background:#101010;color:#4d4d4d}
.copyright{border-top-color:#4d4d4d}
@media(min-width:901px){
 .hero{height:calc(56.25vw - var(--announcement-height));min-height:0;background:#f2f8fb}
 .hero-art>img{width:108.737%;left:0;top:calc(-2.86458vw - var(--announcement-height))}
 .hero-copy{top:calc(14.58333vw - var(--announcement-height))}
 .hero-copy>p:not(.eyebrow){margin:2.5vw 0 2.08333vw}
 .award{top:calc(15vw - var(--announcement-height))}
 .comfort{height:56.25vw;min-height:0;padding-top:4.89583vw;padding-bottom:0;background:#fff}
 .comfort h2{font-size:3.75vw;line-height:1.05}
 .comfort .section-heading p{margin-top:1.45833vw}
 .comparison{height:32.29167vw;min-height:0;margin-top:3.28125vw}
 .comparison-copy{padding:3.59375vw 2.60417vw 3.125vw}
 .comparison-copy h3{font-size:2.08333vw;line-height:1.6}
 .comparison-copy .button{font-weight:400;width:12.5vw;min-height:3.33333vw;padding:0;align-self:flex-start;margin-left:-.52083vw}
 .comparison figcaption{bottom:1.875vw}
 .features{height:56.25vw;padding-top:2.65625vw;padding-bottom:0;position:relative}
 .feature-heading{margin-bottom:1.875vw}
 .feature-heading h2{line-height:1.5}
 .feature-visual{height:31.25vw;border-radius:1.04167vw}
 .feature-caption{left:1.82292vw;bottom:1.30208vw;width:31.25vw}
 .feature-caption h3{line-height:1.08;font-size:2.08333vw;margin:1.5625vw 0 .72917vw}
 .feature-caption span{font:700 1.04167vw/1.08 Outfit,Arial,sans-serif}
 .feature-caption p{font-size:1.04167vw;line-height:1.45}
 .feature-tabs{margin-top:3.125vw;gap:3.48958vw}
 .feature-tabs button{font-size:1.04167vw;border-top-width:.3125vw;padding:.83333vw 0 0}
 .features>.carousel-controls{position:absolute;right:var(--gutter);bottom:.65vw}
 .routine{height:56.25vw;padding-top:7.03125vw;padding-bottom:0}
 .routine .section-heading p{margin-top:1.04167vw}
 .routine-grid{margin-top:5.72917vw}
 .routine figure{border-radius:1.04167vw}
 .routine figcaption{height:6.77083vw;padding:2.1875vw 1.875vw}
 .experience>div{position:absolute;left:0;right:0;top:11.97917vw;max-width:none;display:flex;flex-direction:column;align-items:center}
 .experience h2{font-size:4.47917vw;line-height:1.08}
 .experience p{margin:2.65625vw 0 3.95833vw;max-width:44.42708vw;font-size:1.40625vw}
 .materials{height:56.25vw;padding-top:8.22917vw;padding-bottom:8.4375vw;grid-template-columns:37.5vw 1fr;gap:13.54167vw;align-items:stretch}
 .material-image{height:39.58333vw;border-radius:1.04167vw}
 .material-copy{padding-top:4.42708vw;position:relative}
 .material-copy .kicker{font-size:1.45833vw;line-height:1.08;margin-bottom:2.13542vw}
 .material-copy h2{font-size:4.16667vw}
 .material-options{gap:1.66667vw}
 .material-copy #material-description{font-size:1.04167vw;line-height:1.45;max-width:33.38542vw;min-height:3.02083vw;margin:1.66667vw 0 3.69792vw}
 .material-copy>.button{position:absolute;top:33.28125vw;left:0}
 .material-copy .carousel-controls{position:absolute;top:37.2vw;left:0;margin:0}
 .signup{height:37.5vw;padding-top:4.16667vw;padding-bottom:0}
 .signup>div>p{margin-top:1.04167vw}
 .signup form{margin-top:3.4375vw;width:57.29167vw;max-width:none}
 .signup .privacy{margin-top:1.66667vw}
 .signup #signup-status:empty{display:none}
 .faq{min-height:56.25vw;padding-top:6.25vw;padding-bottom:5.72917vw}
 .faq .section-heading p{margin-top:2.08333vw}
 .faq-list{margin-top:2.5vw}
 .faq details{padding:1.04167vw 1.66667vw}
 .faq details:not([open]){min-height:4.16667vw;display:flex;flex-direction:column;justify-content:center}
 .about{height:56.25vw;padding-top:4.16667vw;padding-bottom:4.16667vw;align-items:stretch}
 .about article{padding:3.22917vw 2.60417vw;border-radius:1.04167vw}
 .about h2{margin-bottom:2.65625vw}
 .about article p{font-size:1.45833vw;line-height:1.5}
 .about article p+p{margin-top:0}
 .about>img{height:47.91667vw;min-height:0;border-radius:1.04167vw}
 footer{height:20.83333vw;padding-top:5.20833vw;padding-bottom:0}
 .footer-top{height:9.27083vw;padding-bottom:0}
 .footer-top p{margin-top:.83333vw}
 .copyright{padding-top:1.875vw}
}
@media(max-width:900px){.comfort{background:#fff}}
@media(max-width:600px){.feature-visual:after{width:100%;right:0;background:linear-gradient(0deg,rgba(10,32,54,.85),transparent 70%)}.feature-tabs button{color:#a7b3bd}.feature-heading>p{color:#a7b3bd}}
@media(min-width:901px){.faq .section-heading p{font-size:1.04167vw;line-height:1.2}.faq-list{margin-top:2.08333vw}.faq summary{font-size:1.14583vw;line-height:1.45}.faq details p{font-size:1.04167vw;line-height:1.6;margin-top:.625vw}.faq details[open]{min-height:12.70833vw}.faq details:last-child{margin-bottom:0}}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('pillow-assets/ibm-plex-mono-600.ttf') format('truetype')}.eyebrow{font-family:'IBM Plex Mono',monospace}
/* Latest Figma detail pass and video with an always-visible image fallback. */
.hero-art>img{width:119.11458%;height:56.25vw;left:-14.21875%;top:calc(-1 * var(--announcement-height));object-fit:fill}
.hero-product{position:absolute;left:44.53125%;top:calc(23.33333vw - var(--announcement-height));width:51.51042%;height:16.71875vw;object-fit:contain}
.hero-copy{left:9.16667%}
.award{top:calc(20.625vw - var(--announcement-height));right:auto;left:80.72917%}
.experience-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease;pointer-events:none}
.experience.video-ready .experience-video{opacity:1}
.experience-video+.reveal{z-index:1}
.visually-hidden-controls{position:absolute!important;left:0!important;top:0!important;right:auto!important;bottom:auto!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0!important}
.visually-hidden-controls:focus-within{left:auto!important;right:16px!important;top:auto!important;bottom:12px!important;width:32px;height:32px;clip-path:none;z-index:3}
.visually-hidden-controls .carousel-toggle{width:32px;height:32px;border-radius:50%;background:#202020;color:#fff;justify-content:center;padding:0;opacity:1}
.materials{position:relative}
.faq details p{color:#636363}
.faq details a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.copyright{border-top-color:#1d1c1d}
@media(min-width:901px){
 .comfort h2{font-size:3.33333vw}
 .comfort .section-heading p{margin-top:1.03646vw}
 .comparison{margin-top:4.16667vw}
 .feature-heading h2{font-size:3.33333vw}
 .features{padding-top:3.17708vw}
 .feature-heading{margin-bottom:2.60417vw}
 .routine h2{font-size:3.33333vw}
 .routine .section-heading p{margin-top:1.55625vw}
 .routine-grid{margin-top:6.09375vw}
 .experience>div{top:17.91667vw}
 .experience h2{font-size:3.33333vw;width:36.45833vw}
 .experience p{margin:1.55vw 0 2.08333vw;max-width:44.42708vw}
 .material-copy{padding-top:5.46875vw}
 .material-copy .kicker{margin-bottom:2.65625vw}
 .material-copy h2{font-size:3.33333vw}
 .material-options{gap:1.55625vw}
 .material-copy #material-description{margin-top:2.95833vw}
 .signup{padding-top:6.77083vw}
 .signup h2{font-size:3.33333vw}
 .signup>div>p{margin-top:.9375vw}
 .faq h2{font-size:3.85417vw}
 .faq .section-heading p{margin-top:1.56771vw}
 .faq-list{margin-top:2.91667vw}
}
@media(min-width:601px) and (max-width:900px){.hero-product{top:290px;left:44%;width:53%;height:auto}.hero-copy{left:6%}.hero-art>img{height:100%;width:140%;left:-30%;top:0}}
@media(max-width:600px){
 .hero-copy{left:24px}.hero-art>img{width:212%;height:100%;left:-35%;top:0;object-fit:cover}
 .hero-product{left:3%;top:510px;width:94%;height:auto}
 .experience h2{font-size:36px}.experience-video{object-position:45% center}
 .signup h2{font-size:29px}.routine h2,.comfort h2,.feature-heading h2{font-size:30px}
}
@media(min-width:901px){.faq details:not([open]){display:block;padding-top:1.25vw;padding-bottom:1.25vw}}
/* Latest banner composition and paired routine images from Figma. */
@media(min-width:901px){.hero-copy{top:calc(17.1875vw - var(--announcement-height))}}

.award.reveal{transition-delay:360ms}
.feature-slide[data-slide="2"] img{width:100.058%;height:159.167%;left:0;top:-30.833%}
.routine-visual{position:relative;display:block;width:100%;height:20.83333vw;overflow:hidden;padding:0;border:0;background:#f2f2f2;color:inherit;cursor:pointer}
.routine .routine-visual img{position:absolute;max-width:none;object-fit:fill;transition:opacity 1s ease;transform:none}
.routine-default{opacity:1}
.routine-alternate{opacity:0}
.routine figure.show-alternate .routine-alternate{opacity:1}
.routine figure.show-alternate .routine-default{opacity:0}
[data-routine="day"] .routine-default{width:131.204%;height:100%;left:-9.307%;top:0}
[data-routine="training"] .routine-default{width:131.934%;height:101%;left:-.365%;top:-1%}
[data-routine="morning"] .routine-default{width:130.839%;height:100%;left:-7.664%;top:0}
[data-routine="day"] .routine-alternate{width:118.066%;height:104.75%;left:-10.401%;top:-4.75%}
[data-routine="training"] .routine-alternate{width:126.46%;height:100%;left:-26.46%;top:0}
[data-routine="morning"] .routine-alternate{width:100%;height:104.25%;left:0;top:0}
@media(hover:hover){.routine figure:hover .routine-alternate{opacity:1}.routine figure:hover .routine-default{opacity:0}}
@media(max-width:600px){.routine-visual{height:260px}.routine .routine-visual img{width:100%;height:100%;left:0;top:0;object-fit:cover}.feature-slide[data-slide="2"] img{object-position:center}}

/* Updated Figma Group 32: the pillow, controller and award share one original asset. */
@media(min-width:901px){.hero-product{left:44.58333%;top:calc(20.52083vw - var(--announcement-height));width:51.51042%;height:19.53125vw}}
.js .hero-copy.reveal,.js .hero-product.reveal{transition:opacity .8s ease,transform .8s ease;transition-delay:0s}
@media(prefers-reduced-motion:reduce){.js .hero-copy.reveal,.js .hero-product.reveal{transition:none!important;opacity:1;transform:none}}

/* Doc revision 10.23: the film block sits under its own heading, with a silent cover and one play control. */
.experience.experience--film{display:block;height:auto;min-height:0;padding:7.29167vw var(--gutter) 8.33333vw;background:#08121c;text-align:center;color:#fff9ed;place-items:initial}
.experience--film:after{display:none}
.experience--film>.experience-head{position:static;left:auto;right:auto;top:auto;max-width:none;display:block;transform:none;margin:0 auto}
.experience--film .experience-head h2{width:auto;max-width:52vw;margin:0 auto;font-size:3.33333vw;line-height:1.08}
.experience--film .experience-head p{margin:1.5625vw auto 0;max-width:34vw;font-size:1.04167vw;line-height:1.5;color:rgba(255,249,237,.66)}
.experience--film>.experience-stage{position:relative;z-index:1;left:auto;right:auto;top:auto;max-width:none;display:block;margin:3.64583vw auto 0;width:100%;aspect-ratio:16/9;border-radius:1.04167vw;overflow:hidden;background:#0d1b28}
.experience--film .experience-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .5s ease;background:#0d1b28}
.experience--film.is-playing .experience-video{opacity:1;pointer-events:auto}
.experience-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 58%;animation:coverDrift 26s ease-in-out infinite alternate;transition:opacity .6s ease}
.experience--film.is-playing .experience-cover{opacity:0;pointer-events:none}
@keyframes coverDrift{from{transform:scale(1)}to{transform:scale(1.075)}}
.experience-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:.83333vw;padding:1.04167vw 1.35417vw 1.04167vw 1.5625vw;border:0;border-radius:999px;background:#fff;color:#161616;font-size:1.04167vw;font-weight:500;line-height:1;white-space:nowrap;box-shadow:0 12px 34px rgba(0,0,0,.3);transition:transform .25s ease,opacity .3s ease,background-color .25s ease}
.experience-play:hover{background:#f4f1ea}
.experience-play:focus-visible{outline:3px solid #fff;outline-offset:4px}
.experience-play__icon{width:1.35417vw;height:1.35417vw;flex:none}
.experience--film.is-playing .experience-play{opacity:0;pointer-events:none}
.experience--film.is-playing .experience-stage{cursor:default}
@media(min-width:901px){.experience--film .experience-head h2{font-size:3.33333vw}}
@media(max-width:900px){.experience.experience--film{padding:64px 24px 72px}.experience--film .experience-head h2{max-width:none;font-size:36px}.experience--film .experience-head p{margin-top:18px;max-width:520px;font-size:16px}.experience-stage{margin-top:28px;border-radius:14px}.experience-play{gap:10px;padding:14px 18px 14px 22px;font-size:14px}.experience-play__icon{width:18px;height:18px}}
@media(max-width:600px){.experience.experience--film{padding:56px 20px 64px}.experience-stage{margin-top:24px;aspect-ratio:4/3;border-radius:12px}.experience--film .experience-video{object-position:50% center}}

/* Longer, benefit-led copy in the comfort detail list. */
.material-copy .material-options{white-space:normal;gap:1.30208vw}
.material-copy .material-options button{white-space:normal;font-size:1.77083vw;line-height:1.22;letter-spacing:-.015em;max-width:36vw}
.material-image{background:#fff}
.material-image .material-slide img{width:100%!important;height:100%!important;left:0!important;top:0!important;object-fit:cover;object-position:center}
.material-image .material-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.material-slide[data-slide="0"] img{object-position:44% 52%!important}
.material-slide[data-slide="1"] img{object-position:66% 30%!important}
.material-slide[data-slide="2"] img{object-position:56% 46%!important}
@media(min-width:901px){.material-copy .material-options button{font-size:1.77083vw}}
@media(max-width:900px){.material-copy .material-options button{font-size:22px;line-height:1.3;max-width:none}}
@media(max-width:600px){.material-copy .material-options button{font-size:19px;line-height:1.32}}

/* Comparison films: the ordinary/SLEEPRIA pair now loops silently in place of the stills. */
.comparison figure video{position:absolute;inset:0;width:100%!important;height:100%!important;left:0!important;top:0!important;max-width:none;display:block;object-fit:cover;object-position:center;background:#0d1b28}
.comparison .ordinary video{object-position:center 46%}
.comparison .smart video{object-position:center 34%}
@media(max-width:900px){.comparison .ordinary video,.comparison .smart video{object-position:center 40%}}

/* Routine cards: hover (or tap / keyboard focus) fades the still into its clip. */
.routine .routine-visual video{position:absolute;inset:0;width:100%!important;height:100%!important;left:0!important;top:0!important;max-width:none;display:block;object-fit:cover;object-position:center;opacity:0;pointer-events:none;background:#f2f2f2;transition:opacity .45s ease}
.routine figure:hover .routine-default{opacity:1}
.routine figure.is-playing .routine-visual video{opacity:1}
.routine figure.is-playing .routine-default{opacity:0}
.routine figure.is-playing .routine-visual{cursor:default}

/* ---------------------------------------------------------------
 * SLEEPRIA 邮箱验证码登录弹窗
 * 独立命名空间 .auth / #login-dialog，避免与既有 dialog 样式冲突
 * ------------------------------------------------------------- */
dialog.auth{padding:44px 40px 36px;max-width:460px;border-radius:24px;overflow:visible}
dialog.auth::backdrop{background:#0a2036b3;backdrop-filter:blur(8px)}
.auth-close{position:absolute;right:14px;top:10px;width:40px;height:40px;border:0;border-radius:50%;background:none;color:#8b8b8b;font-size:26px;line-height:1;display:grid;place-items:center;transition:background .2s,color .2s}
.auth-close:hover{background:#f2f2f2;color:#202020}
.auth-pane[hidden]{display:none}
.auth-kicker{margin:0 0 10px;font-family:monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#97793b;font-weight:600}
dialog.auth h2{margin:0 0 12px;font-family:Outfit,Arial,sans-serif;font-size:28px;line-height:1.2;letter-spacing:-.02em;color:#202020}
.auth-lead{margin:0 0 24px;font-size:15px;line-height:1.55;color:#666}
.auth-lead strong{color:#202020;font-weight:600;word-break:break-all}
.auth-form{display:flex;flex-direction:column;gap:10px}
.auth-form input{width:100%;min-height:52px;padding:14px 20px;border:1px solid #e2e2e2;border-radius:12px;background:#fafafa;font-size:16px;color:#202020;transition:border-color .2s,background .2s}
.auth-form input::placeholder{color:#b0b0b0}
.auth-form input:focus{outline:none;border-color:#202020;background:#fff}
.auth-form input:focus-visible{outline:3px solid #97793b;outline-offset:2px}
#auth-code{font-family:'SFMono-Regular',Consolas,monospace;font-size:26px;letter-spacing:.34em;text-align:center;padding-left:.34em}
.auth-form .button{width:100%;min-height:52px;font-size:15px;border-radius:12px}
.auth-form .button[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.auth-status{margin:14px 0 0;min-height:20px;font-size:13px;line-height:1.5;color:#8b8b8b}
.auth-status[data-kind="error"]{color:#b3261e}
.auth-status[data-kind="ok"]{color:#315b42}
.auth-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:22px}
.auth-links .text-button{font-size:13px;color:#1469ae;background:none;border:0;padding:0}
.auth-links .text-button[disabled]{color:#b0b0b0;cursor:not-allowed}
.auth-links .button{min-height:46px;padding:10px 26px;font-size:14px}
.login[data-state="in"]{background:#fff;color:#202020;box-shadow:inset 0 0 0 1px #20202033}
.login[data-state="in"]:hover{background:#f2f2f2}
@media(max-width:600px){
 dialog.auth{padding:36px 22px 26px;border-radius:20px;max-width:calc(100% - 24px)}
 dialog.auth h2{font-size:23px}
 .auth-lead{font-size:14px;margin-bottom:20px}
 .auth-form input{min-height:50px;font-size:16px}
 #auth-code{font-size:24px}
}

/* 登录后的账号下拉（订单信息 / 退出） */
.account{position:relative;display:flex;align-items:center}
.account-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:30;display:flex;flex-direction:column;min-width:172px;padding:6px;border-radius:12px;background:#fff;box-shadow:0 12px 32px #0002}
.account-menu[hidden]{display:none}
.account-item{display:block;width:100%;padding:10px 14px;border:0;border-radius:8px;background:none;color:var(--ink);font:600 15px 'DM Sans',Arial,sans-serif;text-align:left;text-decoration:none}
.account-item:hover,.account-item:focus-visible{background:var(--paper)}
@media(max-width:600px){.account-menu{min-width:150px}.account-item{font-size:14px}}

/* 顶部导航改版：HOME / SLEEPRIA DEPOSIT / ABOUT 左侧成组，Log in 入口移除 */
.nav-links{display:flex;align-items:center;gap:clamp(16px,1.8vw,34px)}
.nav-links .home{white-space:nowrap;letter-spacing:.02em;transition:color .2s}
.nav-links .home:hover{color:#97793b}
/* 首页底部 CTA 保持原有邮箱表单（填的邮箱会带进下单页） */
@media(max-width:600px){
 /* 移动端：logo 靠左、三个链接靠右，避免与居中 logo 重叠 */
 nav{justify-content:space-between}
 .brand{position:static;transform:none;order:-1;width:auto;min-width:0}
 .brand img{max-height:26px}
 .nav-links{gap:12px}
 .nav-links .home{font-size:10.5px;letter-spacing:0}
}
