/* Full-height feature stories; screenshot borders follow intrinsic image bounds. */
html.crevia-document { scroll-padding-top:var(--cv-header-height, 80px); }
.crevia-page { --cv-screen:calc(100vh - var(--cv-header-height, 80px)); --cv-ink:#18384b; --cv-muted:#5e7380; --cv-line:#dce7ed; line-height:1.7; color:var(--cv-ink); }
@supports (height:100dvh) { .crevia-page { --cv-screen:calc(100dvh - var(--cv-header-height, 80px)); } }
.crevia-page > section { min-height:var(--cv-screen); display:flex; align-items:center; padding-block:clamp(32px, 5vh, 64px) !important; }
.crevia-page > section > .container { flex-shrink:0; }
.crevia-page h1 { font-size:clamp(2rem, 3.6vw, 3rem); line-height:1.15; letter-spacing:-.035em; }
.crevia-page h2 { font-size:clamp(1.8rem, 2.8vw, 2.8rem); line-height:1.15; letter-spacing:-.04em; }
.crevia-page p { font-size:.9375rem; }
.crevia-page p.lead { font-size:1.0625rem; }
.cv-hero-visual { aspect-ratio:1.25; }
.cv-app-studio { position:absolute; left:0; top:0; width:92%; }
.cv-app-console { position:absolute; right:0; bottom:0; width:78%; }
.cv-app-studio img, .cv-app-console img { display:block; height:auto; }
.cv-feature-screen { position:relative; isolation:isolate; overflow:hidden; background:#fff; }
.cv-feature-tint { background:#f2f7fa; }
.cv-feature-screen::before { content:""; position:absolute; pointer-events:none; width:45%; height:80%; top:0; right:-10%; background:radial-gradient(ellipse, rgb(88 178 211 / 12%), transparent 70%); z-index:-1; }
.cv-feature-screen:nth-of-type(even)::before { left:-10%; right:auto; }
.cv-feature-layout { display:grid; grid-template-columns:minmax(0, .8fr) minmax(0, 1.45fr); align-items:center; gap:clamp(28px, 4vw, 72px); }
.cv-feature-copy, .cv-feature-media { min-width:0; }
.crevia-page .cv-kicker { margin:0 0 18px; font-size:.68rem; line-height:1.7; color:var(--brand-primary); }
.cv-kicker span { display:block; margin-bottom:7px; font-size:.65rem; font-weight:700; letter-spacing:.16em; }
.cv-feature-copy h2 { margin:0 0 20px; font-weight:700; }
.crevia-page .cv-feature-intro { color:var(--cv-muted); margin:0 0 26px; }
.cv-feature-list { list-style:none; padding:0; margin:0; display:grid; gap:20px; }
.cv-feature-list-compact { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px 16px; }
.cv-feature-list li { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.cv-feature-list li > i { color:#167592; font-size:1.15rem; line-height:1.4; flex-shrink:0; }
.cv-feature-list h3 { font-size:.9375rem; line-height:1.4; font-weight:650; margin:0 0 5px; }
.crevia-page .cv-feature-list p { font-size:.8125rem; line-height:1.65; color:var(--cv-muted); margin:0; overflow-wrap:anywhere; }
.cv-chip-list { gap:15px; }
.crevia-page .cv-feature-footnote { font-size:.75rem; color:var(--cv-muted); padding-top:18px; margin:20px 0 0; border-top:1px solid var(--cv-line); }
.cv-provider-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }
.cv-provider { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; min-height:76px; padding:10px 4px; border:1px solid var(--cv-line); border-radius:10px; background:rgb(255 255 255 / 85%); }
.cv-provider img { display:block; width:48px; height:30px; object-fit:contain; }
.cv-provider span { font-size:.65rem; font-weight:600; white-space:nowrap; }
.cv-format-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.cv-format-list span { font-size:.75rem; border:1px solid #cadee8; border-radius:6px; padding:4px 10px; background:white; color:#23627d; }
.cv-screen-figure { margin:0; display:flex; flex-direction:column; align-items:center; min-width:0; }
.cv-shot { position:relative; display:inline-flex; max-width:100%; width:fit-content; border:1px solid #b8ceda; border-radius:10px; overflow:hidden; box-shadow:0 22px 55px rgb(0 51 83 / 12%); line-height:0; background:#fff; }
.cv-shot img { display:block; width:auto; height:auto; max-width:100%; max-height:clamp(220px, calc(var(--cv-screen) - 180px), 680px); }
.cv-shot-zoom { position:absolute; bottom:10px; right:10px; display:grid; place-items:center; width:32px; height:32px; background:rgb(255 255 255 / 94%); color:var(--brand-primary); border:1px solid #c8dce5; border-radius:7px; font-size:.9rem; line-height:1; }
.cv-screen-figure figcaption { align-self:stretch; padding:18px 2px 0; font-size:.75rem; color:var(--cv-muted); line-height:1.6; }
.cv-screen-figure figcaption strong { display:block; color:var(--cv-ink); font-size:.8125rem; font-weight:600; }
.cv-screen-figure figcaption span { display:block; margin-top:3px; }
.cv-feature-carousel .carousel-inner { overflow:hidden; }
.cv-feature-carousel .carousel-item { transition:none; }
.cv-feature-carousel .carousel-item.active { animation:cv-screenshot-enter .38s ease-out both; }
@keyframes cv-screenshot-enter {
 from { opacity:0; transform:translateY(8px); }
 to { opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion:reduce) { .cv-feature-carousel .carousel-item.active { animation:none; } }
.cv-carousel-toolbar { display:flex; justify-content:flex-end; align-items:center; gap:16px; margin-top:18px; }
.cv-carousel-arrow { display:grid; place-items:center; width:38px; height:38px; border:1px solid #bdd2de; border-radius:50%; color:var(--brand-primary); background:#fff; }
.cv-carousel-arrow:hover { background:#e7f2f7; }
.cv-carousel-toolbar .carousel-indicators { position:static; display:flex; gap:7px; margin:0; align-items:center; }
.cv-carousel-toolbar .carousel-indicators button { box-sizing:border-box; width:8px; height:8px; border:0; border-radius:50%; padding:0; margin:0; background:#9bb6c7; opacity:.55; }
.cv-carousel-toolbar .carousel-indicators button.active { background:var(--brand-primary); opacity:1; }
.crevia-page :focus-visible { outline:3px solid #58a8d1; outline-offset:4px; }
.cv-edition-table { min-width:720px; }
.cv-edition-table th:first-child { width:36%; }
.crevia-page #editions .accordion-button { padding:12px 18px; font-size:.9375rem; }
/* The decision sections continue the white / pale-blue rhythm after the features. */
.cv-decision-section { position:relative; isolation:isolate; }
.cv-configuration-section, .cv-journey-section { background:#fff; }
.cv-editions-section { background:#f2f7fa; }
.cv-decision-content, .cv-cta-content { display:flex; flex-direction:column; justify-content:space-between; gap:28px; min-height:calc(var(--cv-screen) * .78); }
.cv-section-heading { display:grid; grid-template-columns:1.15fr 1fr; align-items:end; gap:clamp(28px, 5vw, 90px); }
.cv-section-heading h2 { margin:0; font-weight:700; }
.cv-section-heading > p { color:var(--cv-muted); margin:0; max-width:500px; }
.cv-section-heading .cv-kicker { margin-bottom:12px; }
.crevia-page .cv-section-note { margin:0; font-size:.75rem; line-height:1.65; color:var(--cv-muted); }
.cv-workflow-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:20px; flex:1; }
.cv-workflow-card { padding:clamp(20px, 2vw, 32px); display:flex; flex-direction:column; border:1px solid var(--cv-line); border-top:3px solid #99c8dc; border-radius:14px; background:linear-gradient(155deg,#fff,#f2f7fa); }
.cv-workflow-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.cv-workflow-card-top i { font-size:1.7rem; color:#22738f; }
.cv-workflow-card-top span { font-size:2rem; line-height:1; font-weight:700; color:#bdd7e3; }
.cv-workflow-card h3 { font-size:1.2rem; font-weight:650; line-height:1.3; margin:0 0 10px; }
.crevia-page .cv-workflow-card p { font-size:.8125rem; line-height:1.7; color:var(--cv-muted); margin-bottom:20px; }
.crevia-page .cv-workflow-card .cv-workflow-apps { font-size:.7rem; font-weight:600; color:var(--brand-primary); margin-bottom:16px; }
.cv-workflow-card details { margin-top:auto; border-top:1px solid var(--cv-line); padding-top:16px; }
.cv-workflow-card summary { display:flex; justify-content:space-between; gap:8px; align-items:center; cursor:pointer; font-size:.75rem; font-weight:600; color:var(--brand-primary); list-style:none; }
.cv-workflow-card summary::-webkit-details-marker { display:none; }
.cv-workflow-card details[open] summary i { transform:rotate(45deg); }
.crevia-page .cv-workflow-card details p { margin:14px 0 0; }
.cv-edition-layout { display:grid; grid-template-columns:minmax(0, 1fr); gap:clamp(20px, 3vh, 32px); }
.cv-edition-intro .cv-kicker { margin-bottom:12px; }
.cv-edition-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px 24px; }
.cv-edition-intro h2 { font-weight:700; margin:0; }
.cv-edition-intro > p:not(.cv-kicker) { color:var(--cv-muted); margin:12px 0 18px; }
.cv-edition-meta { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.cv-edition-meta .cv-section-note { max-width:660px; }
.cv-edition-tags { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; margin:0; }
.cv-edition-tags span { padding:7px 12px; font-size:.75rem; color:var(--brand-primary); background:#fff; border:1px solid #c6dce6; border-radius:6px; }
.cv-edition-panel { min-width:0; border:1px solid #cddfe8; border-radius:16px; padding:20px 24px; background:#fff; box-shadow:0 20px 50px rgb(0 51 83 / 6%); }
.cv-edition-panel-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 8px 18px; font-size:.875rem; }
.cv-edition-panel-heading > span { font-size:.6875rem; color:var(--cv-muted); }
.cv-edition-panel .accordion-item { border:0; border-top:1px solid var(--cv-line); border-radius:0; }
.crevia-page #editions .accordion-button { min-height:clamp(40px, 4.8vh, 56px); padding:10px 8px; box-shadow:none; background:transparent; font-size:.875rem; }
.cv-category-number { margin-right:16px; color:#8bacbc; font-size:.6875rem; }
.cv-journey-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; flex:1; }
.cv-journey-card { display:flex; flex-direction:column; padding:clamp(24px, 3vw, 44px); background:#f4f8fb; border:1px solid var(--cv-line); border-radius:16px; }
.cv-journey-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; }
.cv-journey-card-top > i { display:grid; place-items:center; width:60px; height:60px; border-radius:16px; background:#dfedf5; color:#206b89; font-size:1.6rem; }
.cv-journey-card-top > span { font-size:2.5rem; font-weight:700; color:#b5d1de; }
.crevia-page .cv-journey-app { color:#28748e; font-size:.6875rem; min-height:2em; margin-bottom:12px; }
.cv-journey-card h3 { font-size:1.375rem; font-weight:650; margin-bottom:18px; }
.cv-journey-card > p:not(.cv-journey-app) { color:var(--cv-muted); }
.cv-journey-card > a { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:20px; color:var(--brand-primary); text-decoration:none; font-size:.8125rem; font-weight:600; }
.cv-equipment-bar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding-top:24px; border-top:1px solid var(--cv-line); font-size:.8125rem; }
.cv-equipment-bar > span { color:var(--cv-muted); }
.cv-equipment-bar > div { display:flex; gap:32px; }
.cv-equipment-bar a { color:var(--brand-primary); text-decoration:none; font-weight:600; }
.cv-cta-section { color:#fff; background:linear-gradient(120deg,#07334d,#0b4d68); overflow:hidden; }
.cv-cta-section::before { content:""; position:absolute; width:65%; height:120%; right:-15%; top:-10%; z-index:-1; transform:rotate(-12deg); background-image:linear-gradient(rgb(174 223 241 / 7%) 1px,transparent 1px),linear-gradient(90deg,rgb(174 223 241 / 7%) 1px,transparent 1px); background-size:56px 56px; mask-image:radial-gradient(ellipse,#000,transparent 70%); pointer-events:none; }
.cv-cta-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(32px, 6vw, 100px); flex:1; }
.cv-cta-section .cv-kicker { color:#add9e9; }
.cv-cta-section h2 { font-size:clamp(2rem, 3.5vw, 3.5rem); font-weight:650; margin-bottom:28px; }
.crevia-page .cv-cta-intro { color:#c3dce6; max-width:440px; margin-bottom:32px; }
.cv-brief-panel { background:rgb(255 255 255 / 6%); border:1px solid rgb(178 218 235 / 25%); border-radius:18px; padding:clamp(24px, 3vw, 44px); }
.cv-brief-panel h3 { font-size:1.25rem; margin-bottom:32px; }
.cv-brief-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:32px 24px; }
.cv-brief-grid i { font-size:1.5rem; color:#9bcfdf; display:block; margin-bottom:14px; }
.cv-brief-grid h4 { font-size:.9375rem; margin-bottom:10px; }
.crevia-page .cv-brief-grid p { color:#b9d2df; font-size:.8125rem; margin:0; }
.crevia-page .cv-cta-note { border-top:1px solid rgb(178 218 235 / 20%); padding-top:24px; color:#9cbfce; font-size:.75rem; margin:0; }
#crevia-preview-modal .modal-body { display:flex; align-items:center; justify-content:center; }
#crevia-preview-image { display:block; width:auto !important; max-width:100%; max-height:calc(100dvh - 180px); height:auto; }
@media (min-width:992px) and (max-height:800px) {
 .crevia-page > section { padding-block:26px !important; }
 .cv-feature-copy h2 { font-size:clamp(1.75rem, 2.5vw, 2.25rem); margin-bottom:14px; }
 .crevia-page .cv-kicker { margin-bottom:12px; }
 .crevia-page .cv-feature-intro { margin-bottom:18px; font-size:.875rem; }
 .cv-feature-list { gap:13px; }
 .cv-feature-list-compact { gap:14px 12px; }
 .cv-feature-list h3 { font-size:.8125rem; }
 .crevia-page .cv-feature-list p { font-size:.75rem; line-height:1.55; }
 .cv-provider { min-height:66px; padding:7px 4px; }
 .cv-provider img { height:25px; }
 .cv-feature-footnote { margin-top:14px !important; padding-top:12px !important; }
 .cv-decision-content, .cv-cta-content { gap:20px; }
 .cv-workflow-card { padding:20px; }
 .cv-workflow-card-top { margin-bottom:14px; }
 .cv-workflow-card h3 { font-size:1.0625rem; }
 .crevia-page .cv-workflow-card p { line-height:1.6; margin-bottom:14px; }
 .cv-journey-card { padding:24px; }
 .cv-journey-card-top { margin-bottom:18px; }
 .cv-journey-card-top > i { width:46px; height:46px; }
 .cv-journey-card h3 { font-size:1.125rem; }
 .cv-brief-panel { padding:24px; }
 .cv-brief-grid { gap:20px; }
 .cv-edition-panel { padding:14px 20px; }
 .cv-edition-panel-heading { padding-bottom:12px; }
 .crevia-page #editions .accordion-button { min-height:36px; padding:7px 8px; font-size:.8125rem; }
 .cv-edition-tags span { padding:5px 9px; }
}
@media (min-width:992px) and (max-width:1199.98px) { .cv-workflow-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:991.98px) {
 .cv-feature-layout { grid-template-columns:1fr; gap:32px; }
 .cv-feature-copy { max-width:680px; }
 .cv-shot img { max-height:65dvh; }
 .cv-carousel-toolbar { justify-content:center; }
 .cv-hero-visual { max-width:650px; margin-inline:auto; }
 .cv-section-heading, .cv-edition-layout, .cv-cta-layout { grid-template-columns:1fr; gap:28px; }
 .cv-workflow-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
 .cv-decision-content, .cv-cta-content { min-height:0; }
 .cv-journey-grid { grid-template-columns:1fr; }
 .cv-journey-card { padding:28px; }
}
@media (max-width:575.98px) {
 .crevia-page h1 { font-size:clamp(2rem, 8.5vw, 2.75rem); }
 .crevia-page .site-container { width:88%; }
 .cv-hero-visual .small { font-size:.625rem; }
 .cv-feature-list-compact { grid-template-columns:1fr; }
 .cv-provider-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
 .cv-shot { border-radius:6px; }
 .cv-shot-zoom { width:27px; height:27px; bottom:6px; right:6px; }
 .cv-screen-figure figcaption { padding-top:12px; }
 .cv-workflow-grid { grid-template-columns:1fr; }
 .cv-edition-panel { padding:14px; }
 .cv-category-number { margin-right:8px; }
 .crevia-page #editions .accordion-button { font-size:.75rem; }
 .cv-edition-panel .badge { font-size:.625rem; margin-right:8px !important; }
 .cv-brief-grid { grid-template-columns:1fr; gap:24px; }
 .cv-equipment-bar > div { gap:24px; }
}
@media (max-width:1199.98px) {
 .cv-edition-meta { flex-direction:column; align-items:flex-start; gap:14px; }
 .cv-edition-tags { flex-shrink:1; }
}

/* Larger desktop displays need readable supporting copy as well as headlines. */
@media (min-width:1600px) and (min-height:900px) {
 .crevia-page { --cv-body-size:clamp(1.125rem, 1vw, 1.5rem); --cv-detail-size:clamp(1rem, .9vw, 1.25rem); }
 .crevia-page p, .crevia-page p.lead { font-size:var(--cv-body-size); }
 .crevia-page h1 { font-size:clamp(3rem, 3.5vw, 4.5rem); }
 .crevia-page h2 { font-size:clamp(2.5rem, 2.8vw, 3.5rem); }
 .crevia-page .small, .crevia-page .btn { font-size:var(--cv-detail-size); }
 .crevia-page .cv-kicker { font-size:var(--cv-detail-size); }
 .cv-kicker span { font-size:clamp(.8125rem, .75vw, 1rem); }
 .cv-feature-list h3, .cv-brief-grid h4 { font-size:clamp(1.125rem, 1.05vw, 1.5rem); }
 .crevia-page .cv-feature-list p, .crevia-page .cv-feature-footnote,
 .cv-screen-figure figcaption, .cv-screen-figure figcaption strong,
 .crevia-page .cv-section-note, .crevia-page .cv-cta-note,
 .crevia-page .cv-workflow-card p, .crevia-page .cv-brief-grid p { font-size:var(--cv-detail-size); }
 .cv-feature-list { gap:24px; }
 .cv-feature-list-compact { gap:22px 20px; }
 .cv-provider { min-height:90px; }
 .cv-provider span, .cv-format-list span { font-size:clamp(.875rem, .8vw, 1.125rem); }
 .cv-provider img { width:56px; height:36px; }
 .cv-workflow-card h3, .cv-journey-card h3, .cv-brief-panel h3 { font-size:clamp(1.375rem, 1.3vw, 1.75rem); }
 .crevia-page .cv-workflow-card .cv-workflow-apps, .crevia-page .cv-journey-app,
 .cv-workflow-card summary, .cv-journey-card > a, .cv-equipment-bar,
 .cv-edition-tags span, .cv-edition-panel-heading, .cv-edition-panel-heading > span,
 .cv-category-number { font-size:var(--cv-detail-size); }
 .crevia-page #editions .accordion-button { font-size:var(--cv-detail-size); min-height:54px; }
 .crevia-page #editions .badge { font-size:.875rem; }
 .cv-edition-meta .cv-section-note { max-width:800px; }
 .cv-edition-table { font-size:var(--cv-detail-size); }
}
