/* Neat: the device and its job, with room to see both. */
.nd-wrap { max-width:1168px; margin-inline:auto; padding-inline:24px; }
.nd-hero { padding:72px 0 80px; background:#fff; color:#1d1d1f; }
.nd-hero__title { margin:0; color:#1d1d1f; font-size:clamp(2.6rem,6vw,4.5rem); font-weight:700; line-height:1.05; letter-spacing:-.035em; }
.nd-hero__tag { max-width:680px; margin:20px 0 26px; color:#6e6e73; font-size:clamp(1rem,1.5vw,1.15rem); line-height:1.65; }
.nd-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-bottom:40px; }
.nd-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 24px; border-radius:999px; background:#0071e3; color:#fff; font-size:1rem; font-weight:600; text-decoration:none; }
.nd-btn:hover { background:#0062c4; color:#fff; text-decoration:none; }
.nd-btn:focus-visible,.nd-text-link:focus-visible,.nd-store-link:focus-visible { outline:3px solid #0071e3; outline-offset:5px; }
.nd-text-link,.nd-store-link { display:inline-flex; align-items:center; gap:8px; color:#0071e3; font-weight:600; text-decoration:none; }
.nd-text-link:hover,.nd-store-link:hover { color:#0062c4; text-decoration:underline; }
.nd-arrow { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.nd-hero__figure { margin:0; }
.nd-hero__figure img { display:block; width:100%; height:auto; border-radius:28px; }
.nd-band { padding-block:120px; }
.nd-band--fog,.nd-cta { background:#f5f5f7; }
.nd-band--paper { background:#fff; }
.nd-band[id] { scroll-margin-top:88px; }
.nd-section-title,.nd-display { margin:0 0 32px; color:#1d1d1f; font-size:clamp(1.9rem,3.7vw,2.75rem); font-weight:700; letter-spacing:-.025em; line-height:1.2; }
.nd-lede { max-width:680px; margin:0 0 24px; color:#6e6e73; font-size:1.05rem; line-height:1.7; }
.nd-models { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.nd-model { display:flex; flex-direction:column; align-items:flex-start; position:relative; min-width:0; padding:28px; border-radius:24px; background:#fff; color:#1d1d1f; text-decoration:none; transition:background-color .2s,color .2s; }
.nd-model img { display:block; width:100%; height:190px; margin-bottom:28px; object-fit:contain; }
.nd-model h3 { margin:0 24px 8px 0; color:inherit; font-size:1.35rem; line-height:1.25; font-weight:700; }
.nd-model__kind { margin:0; color:#6e6e73; font-size:.95rem; line-height:1.5; }
.nd-model>.nd-arrow { position:absolute; right:26px; bottom:58px; opacity:0; transition:opacity .2s; }
.nd-model:is(:hover,:focus-visible) { background:#0071e3; color:#fff; text-decoration:none; }
.nd-model:is(:hover,:focus-visible) .nd-model__kind { color:#fff; }
.nd-model:is(:hover,:focus-visible)>.nd-arrow { opacity:1; }
.nd-model:focus-visible { outline:3px solid #0071e3; outline-offset:5px; }
.nd-stage { max-width:1168px; padding-inline:24px; margin:0 auto; }
.nd-stage video { display:block; width:100%; height:auto; border-radius:24px; background:#f5f5f7; }
.nd-visitor { display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:center; }
.nd-visitor__media { margin:0; }
.nd-visitor__media img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:24px; }
.nd-detail { margin-top:20px; padding-bottom:20px; border-bottom:1px solid #d2d2d7; }
.nd-detail summary { display:flex; justify-content:space-between; align-items:center; gap:16px; color:#1d1d1f; font-size:17px; font-weight:600; list-style:none; cursor:pointer; }
.nd-detail summary::-webkit-details-marker { display:none; }
.nd-detail summary:focus-visible { outline:2px solid #0071e3; outline-offset:5px; }
.nd-detail summary svg { transition:transform .2s; }
.nd-detail[open] summary svg { transform:rotate(180deg); }
.nd-detail p { margin:14px 0 0; color:#6e6e73; line-height:1.7; }
.nd-visitor .nd-text-link { margin-top:28px; }
#nd-app .nd-display { margin-bottom:20px; }
.nd-cta .nd-section-title { margin-bottom:28px; }
@media(max-width:900px) {
 .nd-models { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .nd-visitor { grid-template-columns:1fr; gap:40px; }
}
@media(max-width:600px) {
 .nd-wrap,.nd-stage { padding-inline:20px; }
 .nd-hero { padding-top:52px; padding-bottom:64px; }
 .nd-actions { gap:20px; }
 .nd-hero__figure img { border-radius:20px; }
 .nd-models { grid-template-columns:1fr; gap:20px; }
 .nd-model { padding:28px; }
 .nd-model img { height:210px; }
 .nd-visitor__media img,.nd-stage video { border-radius:20px; }
}
@media(prefers-reduced-motion:reduce) { .nd-model,.nd-model>.nd-arrow,.nd-detail summary svg { transition:none; } }
