* { box-sizing:border-box; }
html { background:#fff; color-scheme:light; scroll-behavior:smooth; scroll-padding-top:96px; }
body { margin:0; color:#202228; background:#fff; font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif; -webkit-font-smoothing:antialiased; }
html::after { content:'NEWBORN STUDY'; position:fixed; inset:0; z-index:10000; display:flex; align-items:flex-end; padding:0 5vw 5vh; background:#fff; color:#202228; font:900 clamp(1rem,1.4vw,1.3rem)/1 Arial,sans-serif; letter-spacing:-.055em; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease,visibility 0s linear .18s; }
html.nb-route-leaving::after { opacity:1; visibility:visible; transition:opacity .18s ease; }
a { color:inherit; }
[hidden] { display:none !important; }
.product-header { position:sticky; top:0; z-index:20; height:76px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; gap:20px; background:#fffffff2; backdrop-filter:blur(16px); border-bottom:1px solid #e4e5e8; }
.product-brand { font:900 1.125rem/1 Arial,sans-serif; letter-spacing:-.06em; text-decoration:none; min-height:44px; display:flex; align-items:center; }
.product-header nav { display:flex; align-items:center; gap:24px; }
.product-header nav a { display:flex; align-items:center; min-height:44px; text-decoration:none; font:500 .875rem/1 Arial,sans-serif; color:#70747b; }
.product-header nav a[aria-current] { color:#202228; }
.product-page .nb-motion-chapter { height:auto; margin:0; padding:0; }
.product-page .nb-motion-pin { height:calc(100svh - 140px); min-height:560px; max-height:1050px; position:relative; top:0; }
.product-page #half-motion-study .half-product-photo,.product-page #arc-motion-study .arc-product-photo { box-shadow:none; outline:0; }
.product-page .nb-scene-detail { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.product-motion-footer { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:8px 5vw; border-bottom:1px solid #e4e5e8; }
.product-motion-footer a,.product-motion-footer button { min-height:44px; display:inline-flex; align-items:center; text-decoration:none; padding:8px 0; border:0; background:none; color:#62666d; font-family:inherit; font-size:.875rem; font-weight:500; line-height:1.5; cursor:pointer; }
.product-summary { max-width:1440px; margin:0 auto; padding:100px 5vw; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:7vw; }
.product-summary.nb-reveal > figure,
.product-summary.nb-reveal > .overclock-editions,
.product-summary.nb-reveal > div:not(.overclock-editions),
.product-samples.nb-reveal,
.product-story.nb-reveal { opacity:0; transform:translateY(26px); transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1); }
.product-summary.nb-revealed > figure,
.product-summary.nb-revealed > .overclock-editions,
.product-summary.nb-revealed > div:not(.overclock-editions),
.product-samples.nb-revealed,
.product-story.nb-revealed { opacity:1; transform:translateY(0); }
.product-summary.nb-reveal > div:not(.overclock-editions) { transition-delay:.12s; }
.product-story.nb-reveal { transition-delay:.06s; }
.product-summary figure { margin:0; }
.product-summary img { display:block; width:100%; height:auto; }
.product-summary h1 { margin:0 0 24px; font-size:clamp(1.6rem,2.6vw,2.7rem); line-height:1.4; letter-spacing:-.05em; word-break:keep-all; }
.product-summary p { font-size:1rem; line-height:1.8; color:#575c64; word-break:keep-all; }
.product-summary .product-price { font-size:2rem; font-weight:650; color:#202228; margin:32px 0 20px; letter-spacing:-.04em; }
.product-order { display:flex; align-items:center; justify-content:center; min-height:56px; padding:14px 24px; background:#202228; color:#fff; text-decoration:none; font-size:1rem; font-weight:600; }
.product-order:hover { background:#3c4048; }
.product-summary .product-shipping { font-size:.875rem; margin:14px 0 0; }
.product-summary .product-availability { display:inline-block; margin-top:24px; padding:0; color:#62666d; font-size:.875rem; }
.product-story { max-width:820px; padding:40px 32px 120px; margin:0 auto; }
.product-story .story-lead { margin:0 0 28px; font-size:clamp(1.5rem,3vw,2.25rem); line-height:1.5; font-weight:650; letter-spacing:-.045em; word-break:keep-all; }
.product-story p { margin:0 0 28px; font-size:1.0625rem; line-height:2; letter-spacing:-.02em; word-break:keep-all; overflow-wrap:anywhere; }
.product-story .story-spacing { margin-top:60px; }
.product-story .product-signoff { margin-top:72px; padding-top:40px; border-top:1px solid #e4e5e8; }
.product-signoff p:last-child { margin-top:24px; font-size:.9375rem; }
.product-samples { max-width:820px; margin:0 auto; padding:0 32px 48px; }
.product-samples h2 { margin:0 0 20px; font-size:1rem; font-weight:600; letter-spacing:-.04em; }
.product-sample-grid { display:grid; grid-template-columns:repeat(2,minmax(0,180px)); gap:20px; align-items:start; }
.product-sample-grid figure { margin:0; min-width:0; }
.product-sample-grid figure > a { display:block; border:1px solid #e4e5e8; cursor:zoom-in; }
.product-sample-grid img { display:block; width:100%; height:auto; }
.product-sample-grid figcaption { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:4px; color:#62666d; font-size:.8125rem; }
.product-sample-grid figcaption a { display:inline-flex; align-items:center; min-height:44px;  }
.product-footer { padding:28px 5vw; border-top:1px solid #e4e5e8; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; color:#62666d; font-size:.875rem; }
.product-footer a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.product-footer p { margin:0; }
.product-page :focus-visible { outline:2px solid #202228; outline-offset:5px; }
.product-identity { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; max-width:1680px; margin:0 auto; }
.product-identity .nb-brand-stage { position:relative; height:clamp(400px,65svh,760px); min-width:0; }
.product-identity .nb-brand-name { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; margin:0; font:900 clamp(3rem,12.5vw,13rem)/.95 Arial,Helvetica,sans-serif; letter-spacing:-.07em; }
.product-identity--overclock .nb-brand-name { font-size:clamp(3rem,10vw,10.5rem); }
.product-identity canvas { position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; }
.product-identity .nb-brand-ready canvas { opacity:1; }
.product-identity .nb-brand-ready .nb-brand-name { opacity:0; }
.product-identity .series-motion-stage { height:clamp(440px,68svh,760px); }
.product-identity figure { margin:0; padding:32px 5vw 32px 0; min-width:0; }
.product-identity img { display:block; width:100%; height:auto; max-height:680px; object-fit:contain; }
.product-identity--overclock figure { padding:40px 8vw 40px 2vw; }
.product-identity--overclock img { max-height:610px; }
.overclock-editions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:clamp(8px,1.2vw,20px); padding:40px 4vw 40px 0; min-width:0; }
.product-identity--overclock .overclock-editions figure { margin:0; padding:0; }
.overclock-editions figcaption { margin-top:16px; font-size:1rem; line-height:1.5; text-align:center; word-break:keep-all; }
.product-identity .product-motion-footer { grid-column:1 / -1; flex-wrap:wrap; width:100%; }
.product-motion-footer p { margin:0; font-size:.875rem; color:#62666d; }
.product-motion-footer .product-identity-controls { display:flex; align-items:center; gap:24px; }
.product-information { max-width:1440px; margin:0 auto; padding:88px 5vw 112px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7vw; }
.product-information h1 { margin:0 0 20px; font-size:clamp(1.6rem,2.6vw,2.7rem); line-height:1.4; letter-spacing:-.05em; word-break:keep-all; }
.product-information p { margin:0 0 24px; font-size:1rem; line-height:1.85; color:#575c64; word-break:keep-all; }
.product-information .product-availability { margin:32px 0 0; font-size:.875rem; }
.product-facts { margin:0; border-top:1px solid #e4e5e8; }
.product-facts div { padding:20px 0; display:grid; grid-template-columns:90px minmax(0,1fr); gap:24px; border-bottom:1px solid #e4e5e8; font-size:1rem; line-height:1.6; }
.product-facts dt { color:#70747b; }
.product-facts dd { margin:0; word-break:keep-all; }
/* Content remains visible if motion cannot initialize. */
.product-page .nb-motion-scene:not(.nb-motion-ready) .half-product-photo,
.product-page .nb-motion-scene:not(.nb-motion-ready) .arc-product-photo { opacity:1; width:min(78vw,500px); height:min(78vw,500px); left:50%; top:50%; transform:translate(-50%,-50%); }
@media(max-width:768px) {
 html { scroll-padding-top:116px; }
 .product-header { min-height:104px; height:auto; padding:8px 20px; flex-direction:column; align-items:stretch; gap:0; }
 .product-brand { font-size:1rem; }
 .product-header nav { justify-content:space-between; gap:10px; flex-wrap:wrap; }
 .product-header nav a { font-size:.875rem; }
 .product-page .nb-motion-pin { height:calc(100svh - 168px); min-height:560px; }
 .product-motion-footer { padding-inline:20px; }
 .product-summary { padding:56px 20px; grid-template-columns:1fr; gap:36px; }
 .product-summary h1 { font-size:1.625rem; }
 .product-summary .product-price { font-size:1.75rem; }
 .product-story { padding:24px 24px 72px; }
 .product-samples { padding:0 24px 32px; }
 .product-sample-grid { grid-template-columns:repeat(2,minmax(0,132px)); gap:16px; }
 .product-sample-grid figcaption { font-size:.75rem; }
 .product-story p { font-size:1rem; line-height:1.95; }
 .product-story .story-spacing { margin-top:40px; }
 .product-story .product-signoff { margin-top:48px; padding-top:32px; }
 .product-footer { padding:20px; }
 .product-identity { grid-template-columns:1fr; }
 .product-identity .nb-brand-stage { height:clamp(150px,45vw,280px); }
 .product-identity .nb-brand-name { font-size:27vw; }
 .product-identity--overclock .nb-brand-stage { height:clamp(220px,60vw,350px); }
 .product-identity--overclock .nb-brand-name { font-size:23vw; }
 .product-identity .series-motion-stage { height:clamp(320px,90vw,520px); }
 .product-identity figure { padding:0 20px 28px; }
 .product-identity img { max-height:520px; }
 .product-identity--overclock figure { padding:0 16vw 36px; }
 .product-identity--overclock img { max-height:470px; }
 .overclock-editions { padding:0 20px 36px; gap:10px; }
 .product-information { grid-template-columns:1fr; gap:36px; padding:56px 20px 72px; }
 .product-facts div { grid-template-columns:76px minmax(0,1fr); gap:16px; padding:18px 0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media(prefers-reduced-motion:reduce) {
 .product-summary.nb-reveal > figure,.product-summary.nb-reveal > .overclock-editions,.product-summary.nb-reveal > div:not(.overclock-editions),.product-samples.nb-reveal,.product-story.nb-reveal { opacity:1; transform:none; transition:none; }
 html::after { display:none; }
}

/* OVERCLOCK uses the whole stage, with the three real editions below the film. */
.product-identity--overclock { display:block; }
.product-identity--overclock .series-motion-stage { height:clamp(520px,calc(100svh - 140px),920px); overflow:hidden; }
.product-identity--overclock .nb-brand-name { font-style:italic; font-size:clamp(5rem,22vw,22rem); line-height:.84; }
.overclock-editions { max-width:1080px; margin:0 auto; padding:72px 5vw 0; gap:clamp(16px,4vw,64px); }
.overclock-editions figure { margin:0; min-width:0; }
.overclock-editions img { display:block; width:100%; height:auto; }
@media(max-width:768px) {
 .product-identity--overclock .series-motion-stage { height:clamp(420px,calc(100svh - 168px),740px); }
 .product-identity--overclock .nb-brand-name { font-size:26vw; }
 .overclock-editions { padding:40px 20px 0; gap:12px; }
 .overclock-editions figcaption { font-size:.8125rem; }
}

/* All product pages share HALF's full film and image/information layout. */
.product-identity { display:block; }
.product-identity .series-motion-stage { height:calc(100svh - 140px); min-height:560px; max-height:1050px; }
.product-summary .overclock-editions { max-width:none; margin:0; padding:0; gap:clamp(8px,1.2vw,20px); }
.product-summary .overclock-editions figcaption { font-size:.875rem; }
@media(max-width:768px) {
 .product-identity .series-motion-stage { height:calc(100svh - 168px); }
}
