/* Somnoware composition adapted to SOOMi content and supplied video. */
:root { --brand-navy:#123d78; --brand-bright:#59bdff; --brand-pale:#edf5fc; --canvas:#fff; --wash:#f2f2f2; --ink:#292d32; --body:#50555b; --muted:#536276; --accent:var(--brand-navy); --accent-hover:#0b2a55; --highlight:#d0e8ff; --line:#d9dce2; --control-line:#6d829e; --display:"Pretendard Variable",system-ui,sans-serif; --type-h1:clamp(2rem,3.5vw,2.875rem); --type-h2:2.5rem; --type-body:1.125rem; }
:root { --palette-canvas:#f8f5ef; --palette-care-ink:#285c50; --palette-care-wash:#eaf3ed; --palette-review-ink:#78501d; --palette-review-wash:#fbf0d9; --palette-ink:var(--ink); --palette-white:#ffffff; }
body { font-size:var(--type-body); line-height:1.65; }
:root { --somno-grey:#f2f2f2; --somno-blue:#dfebff; --somno-yellow:#fff0cc; --somno-green:#d9efe5; --somno-ink:var(--ink); }
h1,h2,h3,h4 { font-family:var(--display); font-weight:600; letter-spacing:0; }
h1,.subhero h1 { font-size:var(--type-h1); line-height:1.3; }
h2 { font-size:var(--type-h2); line-height:1.3; }
.container { width:min(1200px,calc(100% - 80px)); }
.preview-bar { min-height:30px; background:var(--ink); color:white; font-size:14px; padding:4px 20px; }
.site-header { background:white; border:0; box-shadow:none; }
.header-inner { min-height:80px; padding-inline:40px; max-width:none; width:100%; }
.header-inner nav > a { color:var(--ink); font-size:18px; }
.header-inner nav > a[aria-current="page"] { color:var(--accent); }
.header-inner .brand { width:220px; }
.header-inner .button { font-size:18px; padding:12px 24px; }
.button { border:2px solid var(--ink); border-radius:50px; background:var(--ink); color:white; padding:13px 26px; min-height:52px; font-size:18px; font-weight:600; }
.button:hover { color:white; background:var(--accent); border-color:var(--accent); }
.button.secondary { background:transparent; color:var(--ink); border-color:var(--ink); }
.button.secondary:hover { background:var(--ink); color:white; }
.button span[aria-hidden="true"] { display:none; }
.text-link { color:var(--accent); }
.visual-hero { position:relative; overflow:hidden; background:var(--accent); color:white; padding:64px 0 104px; }
.hero-curve { display:block; position:absolute; bottom:-1px; left:0; width:100%; height:72px; fill:var(--canvas); pointer-events:none; }
.hero-columns { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:40px; align-items:center; }
.hero-message,.hero-film { min-width:0; }
.visual-hero .hero-brand { font-size:15px; font-weight:600; line-height:1.4; color:#fff; margin:0 0 6px; }
.visual-hero .audience { font-size:15px; font-weight:500; line-height:1.6; color:#fff; margin:0 0 22px; max-width:36rem; }
.visual-hero h1 { font-size:var(--type-h1); line-height:1.3; color:white; margin:0; font-weight:600; }
.visual-hero h1 span,.visual-hero h1 em { display:block; font-style:normal; color:white; }
.hero-intro { margin-top:24px; }
.hero-intro p { font-size:1.0625rem; line-height:1.65; margin:0; color:white; }
.visual-hero .actions { justify-content:flex-start; margin:32px 0 0; }
.visual-hero .button { background:white; border-color:white; color:var(--ink); min-width:148px; }
.visual-hero .button:hover { background:var(--highlight); border-color:var(--highlight); }
.hero-film { padding-top:8px; }
.inline-player { position:relative; aspect-ratio:16/9; background:var(--wash); border-radius:8px; }
.inline-player:not(.is-expanded) video { border-radius:8px; }
.inline-player video { width:100%; height:100%; aspect-ratio:16/9; display:block; object-fit:contain; background:var(--wash); }
.inline-player.is-expanded { position:fixed; inset:0; z-index:2000; width:100%; height:100dvh; aspect-ratio:auto; background:var(--somno-ink); }
.inline-player.is-expanded video { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; background:var(--somno-ink); }
.film-close { position:absolute; top:20px; right:20px; z-index:1; min-height:44px; padding:10px 18px; border:2px solid var(--somno-ink); border-radius:24px; background:var(--palette-white); color:var(--somno-ink); font:inherit; cursor:pointer; }
.inline-player video:focus-visible { outline:3px solid var(--palette-white); outline-offset:5px; }
.hero-film :focus-visible,.visual-hero .button:focus-visible { outline-color:white; }
.film-error { background:white; color:var(--error); padding:12px; font-size:18px; }
.journey-heading { max-width:850px; }
.journey-heading h2 { margin:18px 0 24px; font-size:48px; }
.journey-heading > p:last-child { font-size:20px; color:var(--body); }
.patient-journey { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:26px; list-style:none; margin:56px 0 64px; padding:0; }
.patient-journey li { position:relative; min-width:0; }
.patient-journey li:not(:last-child)::after { content:'→'; color:var(--accent); position:absolute; left:64px; right:-10px; top:10px; border-bottom:1px solid var(--control-line); line-height:22px; text-align:right; }
.journey-number { display:grid; place-items:center; border:1px solid var(--accent); color:var(--accent); border-radius:50%; width:44px; height:44px; font-size:20px; font-weight:600; margin-bottom:24px; }
.patient-journey .journey-phase { font-size:16px; color:var(--accent); margin:0 0 10px; }
.patient-journey h3 { font-size:24px; line-height:1.4; margin:0 0 14px; }
.patient-journey p { font-size:18px; line-height:1.7; margin:0; color:var(--body); }
.journey-proof { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; align-items:center; border-top:1px solid var(--line); padding-top:56px; }
.journey-phone { margin:0; text-align:center; }
.patient-screen-tabs { display:flex; justify-content:center; gap:4px; margin-bottom:20px; }
.patient-screen-tabs button { font:inherit; font-size:18px; color:var(--muted); border:0; border-bottom:2px solid transparent; background:none; padding:12px 18px; min-height:48px; cursor:pointer; }
.patient-screen-tabs button[aria-selected=true] { color:var(--accent); border-color:var(--accent); font-weight:600; }
.journey-phone img { width:min(360px,100%); height:auto; display:block; margin:auto; }
.journey-phone figcaption { color:var(--muted); font-size:14px; margin-top:16px; }
.institution-loop h3 { font-size:36px; line-height:1.4; margin:16px 0 28px; }
.institution-loop ol { list-style:none; padding:0 0 0 24px; margin:0; border-left:2px solid var(--accent); }
.institution-loop li { position:relative; padding:0 0 28px; }
.institution-loop li::before { content:''; position:absolute; left:-30px; top:10px; width:10px; height:10px; border-radius:50%; background:var(--accent); }
.institution-loop li:last-child { padding-bottom:8px; }
.institution-loop strong { display:block; font-size:22px; }
.institution-loop li span { display:block; color:var(--body); font-size:18px; margin-top:4px; }
.institution-loop .loop-return { font-size:17px; color:var(--accent); margin:16px 0 30px; }
.institution-loop .journey-boundary { font-size:15px; line-height:1.7; color:var(--muted); margin-top:28px; }
.visual-card figure { margin:0; }
.visual-card > .solution-phone { width:min(350px,100%); margin:auto; }
.ref-feature { padding:100px 0; background:white; }
.ref-grey { background:white; }
.feature-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:64px; align-items:center; }
.feature-pair.reverse { grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); }
.feature-copy h2 { font-size:44px; line-height:1.3; margin:14px 0 28px; }
.feature-copy p { font-size:20px; line-height:1.65; color:var(--body); }
.feature-copy .eyebrow { color:var(--accent); font-size:17px; font-weight:600; }
.feature-copy .button { margin-top:28px; }
.feature-copy .feature-boundary { font-size:16px; margin-top:24px; }
.copy-detail { margin-top:28px; border-top:1px solid var(--line); }
.copy-detail summary { font-size:17px; padding-block:16px; }
.copy-detail p,.copy-detail li { font-size:18px; }
.video-screen { margin:0; min-width:0; }

.video-screen img { display:block; width:100%; height:auto;  }

.video-screen figcaption { font-size:14px; line-height:1.7; color:var(--muted); margin-top:8px; }
.phone-screen img { width:min(390px,100%); margin:auto; box-shadow:none; }
.phone-screen { text-align:center; }
.ref-scope { padding:92px 0 120px; text-align:center; }
.ref-scope h2 { margin-bottom:44px; }
.scope-statements { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-bottom:42px; }
.scope-statements strong { display:block; font-size:48px; line-height:1.2; font-weight:550; color:var(--accent); }
.scope-statements p { margin-top:12px; font-size:17px; }
.ref-scope > .container > p { color:var(--body); font-size:18px; }
.ref-scope .button { margin-top:28px; }
.ref-demo { position:relative; padding:96px 0 80px; background:var(--brand-navy); }
.ref-demo::before { content:""; position:absolute; top:-40px; left:0; width:100%; height:70px; background:var(--brand-navy); border-radius:50% 50% 0 0; pointer-events:none; }
.demo-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:64px; position:relative; }
.demo-pair > div:first-child,.demo-pair > div:first-child > p { color:white; }
.demo-pair h2 { font-size:46px; line-height:1.3; margin-bottom:32px; }
.demo-pair ul { padding-left:22px; font-size:20px; margin-top:24px; }
.demo-pair li { margin-bottom:12px; }
.demo-panel { background:white; border-radius:24px; padding:40px; }
.demo-panel h3 { font-size:30px; margin-bottom:20px; }
.demo-panel p { font-size:17px; line-height:1.7; margin:0 0 24px; }
.demo-panel .small { margin-top:18px; font-size:15px; color:var(--muted); }
.brochure-panel { border-top:1px solid var(--line); margin-top:30px; padding-top:24px; }
.brochure-panel strong { font-size:20px; }
.brochure-panel p { margin:8px 0 12px; font-size:17px; }
.brochure-panel a { font-size:17px; color:var(--accent); text-decoration:underline; }
.section { padding-block:80px; }
.subhero { background:var(--accent); color:white; padding:60px max(40px,calc((100% - 1200px)/2)); width:100%; }
.subhero h1,.subhero p,.subhero .eyebrow { color:white; }
.subhero .lead { max-width:800px; margin-top:24px; }
.subhero .lead p { font-size:20px; line-height:1.7; }
.subhero .scope-note { font-size:16px; margin-top:20px; }
.chapter-nav { margin-block:36px; }
.solution-chapter { padding-block:88px; }
.solution-chapter:nth-of-type(even) { background:var(--wash); }
.chapter-grid { grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.chapter-grid h2 { font-size:40px; line-height:1.35; }
.chapter-grid p { font-size:20px; }
.solution-chapter:nth-of-type(even) .chapter-grid > :first-child { order:2; }
.visual-card { padding:0; background:none; border:0; box-shadow:none; }
.visual-card .target-label { display:none; }
.visual-card img { width:100%; height:auto; display:block; }
.visual-card .solution-phone { width:min(350px,100%); margin:auto; }
.solution-image-caption { font-size:14px; color:var(--muted); margin-top:12px; }
.trust-chapter h2 { font-size:38px; line-height:1.4; }
.availability-grid h3 { font-size:26px; }
.availability-grid p,.trust-chapter p { font-size:18px; }
.end-cta { background:var(--highlight); color:var(--ink); }
.end-cta p,.end-cta .eyebrow { color:var(--ink); }
.end-cta .button { background:var(--ink); border-color:var(--ink); color:white; }
.end-inner h2 { font-size:38px; }
#footer { background:var(--ink); color:white; border:0; }
#footer .brand { background:white; border-radius:0; }
#footer .footer-top { padding-top:60px; }
#footer .footer-nav a,#footer .footer-utilities a,#footer p { color:white; }
#footer .button { background:white; color:var(--ink); border-color:white; }
#footer .footer-bottom { color:#d0d5df; }
#footer :focus-visible { outline-color:white; }
@media(max-width:1150px) {
 .hero-columns { gap:32px; }
 .feature-pair,.demo-pair { gap:40px; } .feature-copy h2 { font-size:40px; }
 .header-inner { padding-inline:24px; } .header-inner .brand { width:200px; }
}
@media(max-width:850px) {
 .patient-journey { grid-template-columns:1fr; gap:0; margin:40px 0; }
 .patient-journey li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:24px; padding-bottom:30px; }
 .patient-journey li:not(:last-child)::after { content:''; left:21px; top:44px; bottom:0; right:auto; border:0; width:1px; background:var(--control-line); }
 .patient-journey li:last-child { padding-bottom:0; }
 .journey-number { margin:0; }
 .patient-journey h3 { margin-bottom:8px; }
 .journey-proof { gap:40px; grid-template-columns:1fr 1fr; }
 .patient-screen-tabs button { padding-inline:10px; font-size:17px; }
 .container { width:calc(100% - 48px); }
 .hero-columns { gap:24px; }
 .hero-intro { max-width:38rem; } .hero-film { padding:0; } .visual-hero { padding:48px 0 100px; }
 .feature-pair,.feature-pair.reverse,.demo-pair,.chapter-grid { grid-template-columns:1fr; gap:36px; }
 .feature-copy { order:0; } .video-screen { order:1; }
 .video-screen:not(.phone-screen) { max-width:640px; } .ref-feature { padding:72px 0; }
 .feature-copy h2 { font-size:38px; } .feature-copy p { max-width:38rem; }
 .ref-scope { padding:72px 0 100px; }
 .solution-chapter:nth-of-type(even) .chapter-grid > :first-child { order:0; }
 .visual-card { max-width:640px; } .subhero { padding:44px 24px; } .subhero h1 { font-size:42px; }
}
@media(max-width:700px) {
 .hero-columns { grid-template-columns:1fr; gap:32px; }
}
@media(max-width:600px) {
 .journey-heading h2 { font-size:34px; } .journey-heading > p:last-child { font-size:18px; }
 .journey-proof { grid-template-columns:1fr; gap:44px; padding-top:32px; }
 .patient-journey li { gap:18px; } .patient-journey h3 { font-size:23px; }
 .journey-phone img { width:min(350px,100%); } .institution-loop h3 { font-size:30px; }
 :root { --type-h1:2.125rem; --type-h2:1.75rem; --type-body:1rem; } .container { width:calc(100% - 40px); }
 .header-inner { min-height:72px; padding-inline:20px; } .header-inner .brand { width:190px; }
 .preview-bar { font-size:13px; } .visual-hero { padding:36px 0 76px; }
 .hero-curve { height:36px; }
 .visual-hero h1 { font-size:var(--type-h1); line-height:1.3; }
 .visual-hero .audience { font-size:15px; margin-bottom:20px; }
 .hero-intro { margin-top:24px; } .hero-intro p { font-size:var(--type-body); line-height:1.65; }
 .visual-hero .actions { margin-top:24px; } .hero-columns { gap:30px; }
 .ref-feature { padding:56px 0; }
 .feature-copy h2,.ref-scope h2,.demo-pair h2 { font-size:32px; }
 .feature-copy p,.demo-pair li { font-size:18px; } .feature-copy .eyebrow { font-size:16px; }
 .scope-statements { gap:12px; margin-bottom:32px; } .scope-statements strong { font-size:32px; }
 .scope-statements p { font-size:15px; } .ref-demo { padding:56px 0; }
 .demo-panel { padding:28px 24px; } .demo-panel h3 { font-size:26px; }
 .phone-screen img { width:min(350px,100%); } .section,.solution-chapter { padding-block:56px; }
 .subhero h1 { font-size:38px; } .subhero .lead p { font-size:18px; }
 .chapter-grid h2,.trust-chapter h2,.end-inner h2 { font-size:30px; } .end-inner p { font-size:18px; }
}
/* Shared reading sizes across the five pages, including expanded details and forms. */
.header-inner nav > a,.header-inner .button { font-size:18px; }
.subhero .lead { font-size:20px; line-height:1.7; }
.editorial-item p,.request-card p,.quote-scope p,.pricing-layout p,.request-intro p,.request-intro li,.brochure-info p,.faq-answer p,.feature-detail p { font-size:20px; line-height:1.75; }
.faq-group summary { font-size:22px; line-height:1.55; }
.chapter-nav a,.faq-nav a,.scope-register dd,.trust-chapter p,.availability-grid p,.flow-tab,.flow-panel p { font-size:18px; line-height:1.7; }
.copy-detail p,.copy-detail li { font-size:18px; }
.small,.tiny,.scope-note,.target-label,.request-card .small,.scope-register dt,.evidence-state,.form-field label span { font-size:15px; line-height:1.7; }
.form-field label { font-size:18px; } .form-field input,.form-field select { font-size:18px; min-height:52px; }
#dialog-description,.consent label,.field-error,.policy-note,.optional-fields summary span { font-size:16px; line-height:1.7; }
#dialog-title { font-size:34px; line-height:1.4; } .optional-fields summary { font-size:18px; }
.footer-top p,.footer-nav a,.footer-utilities a { font-size:18px; }
#footer .footer-bottom p,#footer .footer-bottom { font-size:15px; }
@media(max-width:600px) {
 .subhero .lead,.chapter-grid p { font-size:18px; }
 .editorial-item p,.request-card p,.quote-scope p,.pricing-layout p,.request-intro p,.request-intro li,.brochure-info p,.faq-answer p,.feature-detail p { font-size:18px; }
 .faq-group summary { font-size:20px; } .header-inner nav > a { font-size:18px; }
 .chapter-nav a,.faq-nav a,.scope-register dd,.trust-chapter p,.availability-grid p,.copy-detail p,.copy-detail li { font-size:17px; }
 #dialog-title { font-size:30px; } .request-card .small { font-size:15px; }
 .patient-screen-tabs button { font-size:17px; padding-inline:12px; }
}
@media(max-width:360px) {
 :root { --type-h1:2rem; }
 .container { width:calc(100% - 32px); } .visual-hero h1 { font-size:2rem; }
 .feature-copy h2,.demo-pair h2,.subhero h1 { font-size:32px; } .hero-intro p { font-size:var(--type-body); }
 .header-inner { padding-inline:16px; } .header-inner .brand { width:180px; }
}

/* Home owns its layout here; solutions retain the workflow detail. */
.hero-more { color:white; font-size:1rem; display:inline-flex; align-items:center; min-height:44px; text-underline-offset:5px; }
.hero-more:hover { color:var(--highlight); }
.home-section { padding-block:56px; }
.visual-hero + .home-section { padding-top:32px; }
.home-section-heading { margin-bottom:32px; }
.home-section h2,.home-learning h2 { font-size:var(--type-h2); line-height:1.3; margin:12px 0 20px; }
.home-section-heading h2 { margin-bottom:0; }
.home-products { display:grid; gap:48px; }
.home-products article { min-width:0; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); grid-template-areas:"heading visual" "copy visual"; grid-template-rows:min-content 1fr; column-gap:64px; }
.home-products article:nth-child(even) { grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr); grid-template-areas:"visual heading" "visual copy"; }
.home-product-heading { grid-area:heading; padding-top:12px; }
.home-product-copy { grid-area:copy; max-width:26rem; }
.home-products .product-label { margin:0 0 12px; }
.home-products .film-screen { grid-area:visual; }
.home-products h3 { font-size:1.75rem; margin:8px 0 16px; color:var(--brand-navy); }
.home-products p,.home-learning p,.home-contact p { font-size:var(--type-body); line-height:1.65; color:var(--body); }
.home-products .product-label { font-size:1rem; color:var(--muted); }
.home-more { display:inline-flex; gap:16px; align-items:center; min-height:44px; padding-block:8px; margin-top:16px; color:var(--brand-navy); font-size:1.0625rem; text-underline-offset:5px; }
.solution-intro .example-notice { font-size:.9375rem; line-height:1.6; color:var(--muted); margin-top:16px; }
.home-learning { padding-block:56px; background:var(--brand-pale); }
.home-learning-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); gap:64px; align-items:center; }
.home-learning p+p { margin-top:16px; }
.home-contact { display:flex; justify-content:space-between; gap:32px; align-items:center; }
.home-contact .button { flex-shrink:0; }
.home-final-contact { border-top:1px solid var(--line); padding-block:36px; }
.home-final-contact h2 { font-size:clamp(26px,2.3vw,32px); margin:0 0 12px; }
.home-final-contact p { font-size:16px; margin:0; }
@media(max-width:760px) {
 .home-section { padding-block:32px; }
 .visual-hero + .home-section { padding-top:24px; }
 .home-section-heading { margin-bottom:24px; }
 .home-products,.home-learning-grid { grid-template-columns:1fr; gap:32px; }
 .home-products article,.home-products article:nth-child(even) { grid-template-columns:1fr; grid-template-areas:"heading" "visual" "copy"; grid-template-rows:auto; row-gap:0; }
 .home-product-heading { padding-top:0; }
 .home-products h3 { font-size:1.5rem; margin-bottom:12px; }
 .home-learning { padding-block:32px; }
 .home-learning-grid { gap:8px; }
 .home-contact { flex-direction:column; align-items:flex-start; gap:20px; }
 .home-contact h2 { margin-top:0; }
}

/* Product identity and synthetic screens reused from the intro film. */
.product-wordmark { display:block; position:relative; overflow:hidden; max-width:100%; margin:16px 0 24px; }
.product-wordmark img { position:absolute; max-width:none; height:auto; mix-blend-mode:multiply; }
.wordmark-soomi { width:168px; aspect-ratio:1120 / 268; }
.wordmark-soomi img { width:193.929%; left:-8.214%; top:-83.582%; }
.wordmark-careloop { width:216px; aspect-ratio:2050 / 435; }
.wordmark-careloop img { width:105.951%; left:-3.415%; top:-35.632%; }
.film-screen { margin:0; min-width:0; }
.film-screen picture { display:flex; align-items:center; justify-content:center; }
.film-screen img { display:block; width:100%; height:auto; object-fit:contain; }
.film-screen figcaption { color:var(--muted); font-size:.875rem; line-height:1.6; margin-top:14px; }
.film-screen-phone img { width:min(100%,290px); }
.home-products .film-screen { margin:0; }
.home-products .film-screen picture { min-height:350px; padding:32px; background:var(--wash); border-radius:8px; }
.home-products .film-screen img { width:100%; height:auto; }
.home-products .film-screen-phone picture { padding:28px; background:var(--brand-pale); }
.home-products .film-screen-phone img { width:250px; }
.home-products .film-screen figcaption { padding:0; }
.home-products h3 { min-height:46px; }
.home-products h3 .product-wordmark { margin:0; }
/* On desktop the introduction and CareLoop share one visual row. */
@media(min-width:1000px) {
 .home-section:has(.home-products) { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); column-gap:64px; }
 .home-section-heading { grid-column:1; grid-row:1; margin-bottom:24px; }
 .home-products,.home-products article:first-child { display:contents; }
 .home-products article:first-child .home-product-heading { grid-area:auto; grid-column:1; grid-row:2; padding-top:0; }
 .home-products article:first-child .home-product-copy { grid-area:auto; grid-column:1; grid-row:3; }
 .home-products article:first-child .film-screen { grid-area:auto; grid-column:2; grid-row:1 / 4; align-self:center; }
 .home-products article:not(:first-child) { grid-column:1 / -1; margin-top:48px; }
}
.home-learning .film-screen { margin-bottom:24px; }
.visual-milestones { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:0; margin:24px 0 0; list-style:none; }
.visual-milestones li { border-top:2px solid var(--brand-navy); padding-top:12px; font-size:1rem; color:var(--brand-navy); line-height:1.5; }
.visual-milestones span { display:block; font-size:.8125rem; margin-bottom:6px; }
@media(max-width:760px) {
 .home-products .film-screen { margin:12px 0 24px; }
 .home-products .film-screen picture { min-height:0; padding:20px 16px; }
 .home-products .film-screen-phone img { width:min(100%,280px); }
 .home-products .film-screen figcaption { padding-inline:0; }
 .home-learning .film-screen { margin-top:24px; }
 .wordmark-careloop { width:192px; }
 .wordmark-soomi { width:156px; }
 .visual-milestones { gap:12px; }
}

/* Every page title shares the home hero scale, including later page styles. */
#main h1 { font-size:var(--type-h1); line-height:1.3; font-weight:600; letter-spacing:0; }

/* A compact film-screen collection replaces isolated, enlarged table fragments. */
.service-scene { margin:0; }
.service-scene > img { width:100%; height:auto; max-height:620px; object-fit:cover; display:block; border-radius:12px; }
.service-scene figcaption { display:flex; justify-content:space-between; padding:14px 0; font-size:14px; color:var(--muted); }
.service-products { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding-top:24px; }
.service-products h3 { margin:0 0 12px; }
.service-products .product-wordmark { margin:0; }
.service-products p { font-size:16px; line-height:1.65; margin:12px 0; }
.service-products .service-role { font-size:14px; color:var(--accent); }
.service-products .home-more { font-size:15px; margin:0; }
.solution-product { scroll-margin-top:100px; }
.solution-product-title { padding-top:48px; }
.solution-product-title h2 { margin:12px 0 20px; }
.solution-product-title h2 .product-wordmark { margin:0; }
.solution-product-title > p:not(.eyebrow) { font-size:17px; max-width:44rem; }
.solution-product-title nav { display:flex; gap:28px; flex-wrap:wrap; margin:24px 0; }
.solution-product-title nav a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; color:var(--accent); }
.solution-guide .solution-product-jump { grid-template-columns:1fr 1fr; }
.solution-product-jump small { display:block; font-size:14px; margin-top:8px; color:var(--muted); }
.solution-guide .solution-product .screen-gallery:has(.phone-preview) { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:820px; }
.screen-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.home-screen-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
.screen-example { margin:0; min-width:0; }
.screen-preview { display:block; position:relative; overflow:hidden; background:var(--wash); border:1px solid var(--line); border-radius:8px; }
.console-preview { aspect-ratio:1660 / 644; }
.console-preview img { position:absolute; width:115.663%; max-width:none; height:auto; left:-7.831%; top:-40.373%; }
.phone-preview { height:260px; padding:12px; background:var(--brand-pale); }
.phone-preview img { display:block; height:100%; width:auto; max-width:100%; object-fit:contain; margin:auto; }
.home-screen-gallery .phone-preview { height:auto; aspect-ratio:1660 / 644; }
.screen-example figcaption { margin-top:14px; }
.screen-example figcaption strong { display:block; font-size:17px; line-height:1.45; font-weight:600; color:var(--ink); }
.screen-example figcaption > span { display:block; font-size:14px; line-height:1.6; color:var(--body); margin-top:6px; }
.solution-guide .solution-visual-row { grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr); grid-template-areas:"heading description" "visual visual"; gap:28px 48px; padding-block:44px; }
.solution-guide .solution-description { align-self:center; }
.solution-guide .solution-visual { width:100%; }
.solution-guide .screen-gallery { max-width:960px; }
.product-preview-frame{position:relative;overflow:hidden;margin:auto;max-width:100%;}
.product-preview-console{width:100%;aspect-ratio:1440/900;border-radius:8px;background:var(--wash);}
.product-preview-phone{width:190px;aspect-ratio:370/760;}
.product-preview-host{position:absolute;top:0;left:0;transform-origin:top left;width:1440px;}
.product-preview-phone .product-preview-host{width:370px;}
.solution-guide .live-screen-gallery:has(.product-preview-phone){grid-template-columns:repeat(3,minmax(0,1fr));max-width:820px;}
.preview-current-menu{display:block;color:var(--accent);font-size:11px;line-height:1.5;margin-top:8px;min-height:1.5em;}
@media(max-width:760px){.solution-guide .live-screen-gallery:has(.product-preview-phone){grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;}.product-preview-phone{width:160px;}}
.solution-guide .screen-gallery:has(.phone-preview) { max-width:650px; }
.solution-guide .solution-visual > .visual-milestones { max-width:760px; }
@media(max-width:760px) {
 .service-products { gap:24px; }
 .service-products .wordmark-careloop { width:150px; height:auto; }
 .service-products .wordmark-soomi { width:120px; height:auto; }
 .service-products p,.service-products .home-more { font-size:14px; }
 .service-scene figcaption { font-size:12px; gap:16px; }
 .solution-product-title { padding-top:32px; }
 .solution-guide .solution-product .screen-gallery:has(.phone-preview) { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-screen-gallery,.screen-gallery { grid-template-columns:1fr; gap:24px; }
 .home-screen-gallery .phone-preview { height:210px; aspect-ratio:auto; }
 .solution-guide .screen-gallery:has(.phone-preview) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 .phone-preview { height:240px; padding:10px; }
 .solution-guide .solution-visual-row { grid-template-columns:1fr; grid-template-areas:"heading" "description" "visual"; gap:20px; padding-block:32px; }
}
@media(max-width:360px) {
 .service-products .wordmark-careloop { width:125px; }
 .service-products .wordmark-soomi { width:100px; }
 .phone-preview { height:210px; }
}
