:root {
    color-scheme: light;
    --navy: #123247;
    --deep-navy: #0b2638;
    --teal: #007f85;
    --teal-dark: #006b70;
    --pale-teal: #e6f5f4;
    --background: #f7f9fb;
    --line: #d8e3e9;
    --body: #35516a;
    font-family: "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--navy); background: #fff; line-height: 1.55; }
img { max-width: 100%; height: auto; }
a { color: var(--teal-dark); }
a:hover { color: var(--deep-navy); }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid #efad39; outline-offset: 3px; }
.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 50; padding: 8px 14px; background: #fff; }
.skip-link:focus { left: 8px; }

.site-header { position: relative; z-index: 10; background: #fff; border-bottom: 1px solid var(--line); }
.header-inner { max-width: 1440px; margin: auto; min-height: 90px; padding: 14px 30px; display: flex; align-items: center; gap: 30px; }
.brand { flex: 0 0 auto; display: flex; align-items: center; }
.brand img { width: 160px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 22px; flex: 1 1 auto; }
.nav-group { position: relative; }
.nav-group:first-child { position: static; }
.site-nav a, .site-nav summary { font-weight: 650; text-decoration: none; color: var(--navy); }
.site-nav summary { cursor: pointer; list-style: none; padding: 10px 2px; }
.site-nav summary::-webkit-details-marker { display: none; }
.site-nav summary::after { content: "⌄"; color: var(--teal); margin-left: 7px; }
.nav-group[open] > summary { color: var(--teal-dark); }
.nav-link { padding: 10px 2px; }
.header-actions { display: flex; gap: 10px; flex: 0 0 auto; align-items: center; }
.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 20px; border-radius: 9px; text-align: center; text-decoration: none; font-weight: 700; border: 1px solid transparent; cursor: pointer; }
.button-primary { background: var(--teal); color: #fff; }
.button-primary:hover { background: var(--teal-dark); color: #fff; }
.button-outline { background: #fff; border-color: #adc4d0; color: var(--navy); }
.button-outline:hover { background: var(--pale-teal); color: var(--navy); }
.nav-panel { position: absolute; left: max(30px, calc((100vw - 1380px) / 2)); right: max(30px, calc((100vw - 1380px) / 2)); top: calc(100% - 5px); display: grid; gap: 14px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 18px 38px #12324724; }
.product-panel { grid-template-columns: 1fr 1fr 1.15fr; }
.nav-panel > div { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px; border: 1px solid #e4ebef; border-radius: 12px; }
.nav-panel a { display: block; padding: 5px 0; text-decoration: underline; text-underline-offset: 3px; }
.nav-panel a:hover { color: var(--teal); }
.menu-label, .eyebrow { font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--teal-dark); }
.nav-panel .menu-feature { background: var(--pale-teal); }
.menu-feature strong { font-size: 1.1rem; }
.menu-feature p { margin: 0; color: var(--body); }
.compact-panel { left: 0; right: auto; width: min(360px, calc(100vw - 60px)); display: flex; flex-direction: column; }

.hero { background: linear-gradient(130deg, #f7fbfb 0%, #fff 65%); }
.hero-inner, .section-inner { max-width: 1240px; margin: 0 auto; padding: 78px 30px; }
.hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .94fr); align-items: center; gap: 55px; }
.hero h1, .page-heading h1 { font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1.06; letter-spacing: -.045em; margin: 14px 0 20px; max-width: 14ch; }
.hero p, .page-heading p { color: var(--body); font-size: 1.2rem; max-width: 58ch; margin: 0 0 25px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 28px 0 10px; }
.hero-note { font-size: .9rem !important; color: #61778a !important; }
.check-list { padding: 0; list-style: none; display: grid; gap: 12px; }
.check-list li { padding-left: 28px; position: relative; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--teal); font-weight: 800; }
.hero-visual { min-width: 0; margin: 0; }
.hero-visual img { display: block; width: 100%; height: auto; filter: drop-shadow(0 20px 22px #0b263818); }
.hero-visual figcaption { margin-top: 8px; color: #5b7281; font-size: .78rem; text-align: center; }

.section-muted { background: var(--background); }
.section-teal { background: #edf8f7; }
.section-dark { background: var(--deep-navy); color: #fff; }
.section-dark p { color: #d2e2ea; }
.section-header { max-width: 690px; margin-bottom: 30px; }
.section-header h2, .split-copy h2 { font-size: clamp(1.9rem, 3vw, 2.7rem); line-height: 1.18; letter-spacing: -.025em; margin: 7px 0 12px; }
.section-header p, .split-copy p { color: var(--body); font-size: 1.05rem; }
.section-dark .section-header p { color: #d2e2ea; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.outcome-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.outcome-card { display: flex; flex-direction: column; min-width: 0; padding: 28px 21px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.outcome-card img { display: block; width: 74px; height: 74px; margin-bottom: 22px; }
.outcome-number { color: var(--teal-dark); font-size: .73rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.outcome-card h3 { margin: 8px 0 11px; font-size: 1.36rem; line-height: 1.2; }
.outcome-card p { margin: 0 0 23px; color: var(--body); }
.outcome-card a { margin-top: auto; font-weight: 700; text-underline-offset: 3px; }
.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.capability-link { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 1px 13px; align-items: center; padding: 18px 21px; border: 1px solid var(--line); border-radius: 10px; color: var(--navy); background: #fff; text-decoration: none; transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.capability-link:hover, .capability-link:focus-visible { border-color: var(--teal); background: #f4fbfa; box-shadow: 0 8px 20px #12324712; }
.capability-link img { grid-column: 1; grid-row: 1 / 3; width: 38px; height: 38px; transition: transform .18s ease; }
.capability-link:hover img, .capability-link:focus-visible img { transform: translateY(-2px); }
.capability-link strong { grid-column: 2; font-size: 1.05rem; }
.capability-link span { grid-column: 2; color: var(--body); font-size: .9rem; }
.capability-link b { grid-column: 3; grid-row: 1 / 3; align-self: center; color: var(--teal); font-size: 1.3rem; }
.product-explorer { border-block: 1px solid var(--line); background: #f7fafb; }
.product-explorer-inner { max-width: 1240px; margin: auto; padding: 26px 30px 30px; }
.product-explorer-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.product-explorer-heading strong { display: block; margin-top: 3px; font-size: 1.12rem; }
.product-explorer-heading a { flex: 0 0 auto; font-weight: 700; text-underline-offset: 3px; }
.product-explorer-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.product-explorer-links a { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 58px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--navy); text-decoration: none; font-size: .88rem; font-weight: 700; line-height: 1.2; transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.product-explorer-links a:hover, .product-explorer-links a:focus-visible { border-color: var(--teal); background: #eff9f8; box-shadow: 0 6px 15px #12324712; }
.product-explorer-links a[aria-current="page"] { border-color: var(--teal); background: var(--pale-teal); color: var(--teal-dark); box-shadow: inset 0 -3px var(--teal); }
.product-explorer-links img { flex: 0 0 32px; width: 32px; height: 32px; }
.product-explorer-links span { min-width: 0; }
.feature-scene { min-width: 0; border: 1px solid #bfd5db; border-radius: 15px; background: #fff; box-shadow: 0 20px 45px #12324714; overflow: hidden; }
.scene-toolbar { display: flex; align-items: center; gap: 11px; min-height: 48px; padding: 9px 16px; background: var(--deep-navy); color: #fff; font-size: .77rem; }
.scene-toolbar strong { font-size: .86rem; }
.scene-toolbar > span:last-child { margin-left: auto; color: #c8e5e5; }
.scene-toolbar-mark { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 7px; background: var(--teal); color: #fff; font-weight: 800; }
.scene-toolbar .scene-status { padding: 3px 8px; border-radius: 999px; background: #6d4d18; color: #fff !important; }
.scene-content { min-height: 240px; padding: 21px; background: linear-gradient(150deg, #fff, #f4faf9); }
.scene-caption { padding: 8px 16px; border-top: 1px solid var(--line); color: #637b89; background: #f9fbfc; font-size: .72rem; }
.scene-rota-grid { border: 1px solid var(--line); border-radius: 9px; overflow: hidden; background: #fff; }
.scene-rota-header, .scene-rota-row { display: grid; grid-template-columns: minmax(80px, 1.3fr) repeat(3, minmax(0, 1fr)); align-items: center; gap: 5px; padding: 8px 10px; }
.scene-rota-header { background: #edf5f6; color: #466477; font-size: .71rem; font-weight: 750; }
.scene-rota-row { min-height: 48px; border-top: 1px solid #e7eff1; font-size: .74rem; }
.scene-rota-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.scene-shift, .scene-toil, .scene-open { display: block; padding: 5px 2px; border-radius: 5px; text-align: center; font-size: .7rem; font-weight: 750; }
.scene-shift { color: #006b70; background: #d8f1ee; }
.scene-toil { color: #745018; background: #fff0d6; }
.scene-open { color: #8196a0; }
.scene-key { display: flex; flex-wrap: wrap; gap: 13px; padding-top: 13px; color: #526d7d; font-size: .71rem; }
.scene-key span { display: inline-flex; align-items: center; gap: 6px; }
.scene-key i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
.scene-key-shift { background: #78d3ca; }
.scene-key-toil { background: #f3c278; }
.scene-leave, .scene-absence, .scene-pending { display: block; padding: 5px 2px; border-radius: 5px; text-align: center; font-size: .66rem; font-weight: 750; }
.scene-leave { color: #006b70; background: #d8f1ee; }
.scene-absence { color: #8a5017; background: #fff0d6; }
.scene-pending { color: #5b4d79; background: repeating-linear-gradient(45deg, #e7dff2, #e7dff2 4px, #f6f2fa 4px, #f6f2fa 8px); }
.scene-key-leave { background: #78d3ca; }.scene-key-absence { background: #f3c278; }.scene-key-pending { background: #bda9d8; }
.scene-person { display: flex; align-items: center; gap: 11px; margin-bottom: 17px; }
.scene-person-avatar { display: grid; place-items: center; flex: 0 0 43px; width: 43px; height: 43px; border-radius: 50%; color: var(--teal-dark); background: #d4f0ee; font-weight: 800; }
.scene-person strong, .scene-person small { display: block; }
.scene-person small { color: #657d8a; }
.scene-comparison { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 9px; align-items: center; }
.scene-comparison > div { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.scene-comparison > div:last-child { border-color: #84c9c3; background: #effaf8; }
.scene-comparison span, .scene-comparison strong, .scene-comparison p { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.scene-comparison span { color: var(--teal-dark); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.scene-comparison strong { margin-top: 7px; font-size: .72rem; }
.scene-comparison p { margin: 3px 0 0; color: var(--body); font-size: .72rem; }
.scene-comparison-arrow { color: var(--teal); font-weight: 800; }
.scene-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 17px; font-size: .7rem; }
.scene-actions span { margin-right: auto; color: #61778a; }
.scene-actions b { padding: 7px 10px; border-radius: 6px; color: #fff; background: var(--teal); }
.scene-actions .scene-action-outline { border: 1px solid #adc4d0; color: var(--navy); background: #fff; }
.scene-report-title, .scene-document-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.scene-report-title strong, .scene-document-heading strong { font-size: 1.03rem; }
.scene-report-title span, .scene-document-heading span { color: #61778a; font-size: .73rem; }
.scene-chart { display: flex; align-items: flex-end; gap: 12px; height: 150px; margin-top: 20px; padding: 0 12px 1px; border-bottom: 2px solid #a9c5ca; background: repeating-linear-gradient(to top, transparent 0, transparent 39px, #e6eff0 40px); }
.scene-chart span { flex: 1 1 0; min-width: 0; border-radius: 5px 5px 0 0; background: #67c8c0; }
.scene-chart span:nth-child(2n) { background: #0b7f85; }
.scene-chart .scene-bar-one { height: 42%; }.scene-chart .scene-bar-two { height: 56%; }.scene-chart .scene-bar-three { height: 50%; }
.scene-chart .scene-bar-four { height: 67%; }.scene-chart .scene-bar-five { height: 73%; }.scene-chart .scene-bar-six { height: 84%; }.scene-chart .scene-bar-seven { height: 78%; }
.scene-report-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.scene-report-links span { padding: 5px 8px; border-radius: 5px; background: #e9f3f4; color: var(--body); font-size: .7rem; }
.scene-document-heading { margin-bottom: 12px; }
.scene-document-row { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 11px 0; border-top: 1px solid #e3ecef; }
.scene-file-icon { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 36px; border-radius: 5px; background: #e2f2f0; color: var(--teal-dark); font-size: 1.2rem; }
.scene-document-row div { min-width: 0; }
.scene-document-row strong, .scene-document-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.scene-document-row strong { font-size: .77rem; }.scene-document-row small { color: #6c828e; font-size: .7rem; }
.scene-file-status { margin-left: auto; padding: 3px 7px; border-radius: 999px; color: #765320; background: #fff0d8; font-size: .64rem; font-weight: 750; }
.scene-file-issued { color: #006b70; background: #ddf2ef; }.scene-file-reviewed { color: #4e628a; background: #e7edf7; }
.scene-request { border: 1px solid var(--line); border-radius: 10px; padding: 16px; background: #fff; }
.scene-request-head { display: flex; align-items: center; gap: 10px; }
.scene-request-head div { min-width: 0; }.scene-request-head strong, .scene-request-head small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scene-request-head small { color: #657d8a; }.scene-request-head .scene-file-status { flex: 0 0 auto; }
.scene-journey { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 20px; }
.scene-journey div { position: relative; min-width: 0; padding-top: 11px; border-top: 3px solid #72c9c1; }
.scene-journey div:nth-child(2) { border-color: #e1b061; }.scene-journey div:nth-child(3) { border-color: #cfdee1; }
.scene-journey div > span { display: grid; place-items: center; width: 22px; height: 22px; margin-bottom: 7px; border-radius: 50%; background: var(--pale-teal); color: var(--teal-dark); font-size: .67rem; font-weight: 800; }
.scene-journey strong, .scene-journey small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.scene-journey strong { font-size: .7rem; }.scene-journey small { color: #657d8a; font-size: .64rem; }
.scene-balance { display: flex; justify-content: space-between; gap: 8px; margin-top: 17px; padding-top: 12px; border-top: 1px solid var(--line); color: #526d7d; font-size: .71rem; }
.scene-balance strong { color: var(--navy); }
.scene-directory { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 11px; min-height: 210px; }
.scene-directory-list, .scene-directory-profile { min-width: 0; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.scene-directory-list { padding: 11px; }
.scene-directory-list > span { display: block; padding: 6px 8px; border: 1px solid var(--line); border-radius: 5px; color: #718995; font-size: .65rem; }
.scene-directory-list > strong { display: block; padding: 12px 6px; border-bottom: 1px solid #e8eff1; font-size: .68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.scene-directory-list > strong:first-of-type { color: var(--teal-dark); background: #edf8f6; }
.scene-directory-list b { float: right; }
.scene-directory-profile { display: flex; flex-direction: column; align-items: flex-start; padding: 15px; }
.scene-directory-profile strong { margin-top: 7px; font-size: .85rem; }.scene-directory-profile small { color: #657d8a; }
.scene-profile-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin-top: auto; padding-top: 12px; }
.scene-profile-tabs span { padding: 5px 6px; border-radius: 4px; background: #edf4f5; color: #476477; font-size: .62rem; }
.scene-profile-tabs span:first-child { color: #006b70; background: #d6f1ee; }
.scene-task-row { display: flex; align-items: center; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.scene-task-mark { display: grid; place-items: center; flex: 0 0 31px; width: 31px; height: 31px; border-radius: 8px; color: #8a5017; background: #fff0d6; font-weight: 800; }
.scene-task-mark-teal { color: #006b70; background: #def3ef; }
.scene-task-row div { min-width: 0; }.scene-task-row strong, .scene-task-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.scene-task-row strong { font-size: .79rem; }.scene-task-row small { color: #657d8a; font-size: .69rem; }
.scene-task-arrow { margin-left: auto; color: var(--teal); font-size: 1.1rem; }
.scene-task-progress { margin-top: 18px; color: #526d7d; font-size: .72rem; }
.scene-task-progress div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin-top: 8px; }
.scene-task-progress i { height: 9px; border-radius: 5px; background: #66c8c0; }.scene-task-progress .scene-progress-open { background: #dce8eb; }
.scene-access-step { display: flex; align-items: center; gap: 15px; padding: 16px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.scene-access-step + .scene-access-step { margin-top: 12px; }
.scene-access-step > span { display: grid; place-items: center; flex: 0 0 37px; width: 37px; height: 37px; border-radius: 50%; color: var(--teal-dark); background: #d9f1ee; font-size: .72rem; font-weight: 800; }
.scene-access-step strong, .scene-access-step small { display: block; }.scene-access-step small { color: #61778a; }
.decision-panel { border-top: 4px solid var(--teal); }
.decision-step { display: flex; gap: 16px; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--line); }
.decision-step:last-child { border-bottom: 0; }.decision-step img { flex: 0 0 58px; }
.decision-step strong { display: block; }.decision-step p { margin: 3px 0 0; color: var(--body); font-size: .9rem; }
.resource-card { display: flex; flex-direction: column; }.resource-card img { width: 55px; height: 55px; margin-bottom: 16px; }
.resource-card h3 { margin: 0 0 8px; }.resource-card a { margin-top: auto; }
.home-feature-card img { display: block; width: 56px; height: 56px; margin-bottom: 16px; }
.demo-panel { border-top: 4px solid var(--teal); }.demo-panel h2 { margin-top: 6px; }
.demo-topic { display: flex; align-items: center; gap: 13px; padding: 11px 0; border-top: 1px solid var(--line); font-weight: 700; }
.demo-topic img { flex: 0 0 45px; }.demo-panel p { margin: 14px 0 0; color: var(--body); font-size: .92rem; }
.feature-card, .step-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 25px; }
.feature-card h3, .step-card h3 { font-size: 1.22rem; margin: 14px 0 8px; }
.feature-card p, .step-card p { color: var(--body); margin: 0 0 15px; }
.feature-card a { font-weight: 700; text-underline-offset: 3px; }
.icon-tile { width: 44px; height: 44px; border-radius: 11px; display: grid; place-items: center; color: var(--teal-dark); background: var(--pale-teal); font-size: 1.25rem; font-weight: 800; }
.split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 65px; align-items: center; }
.split-copy p { max-width: 55ch; }
.simple-panel { background: #fff; border: 1px solid var(--line); border-radius: 15px; padding: 28px; box-shadow: 0 10px 30px #1232470b; }
.simple-panel h3 { margin: 0 0 14px; }
.simple-panel ul { margin-bottom: 0; }
.statement { font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.3; font-weight: 750; max-width: 28ch; }
.cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 35px; border-radius: 15px; background: var(--deep-navy); color: #fff; }
.cta-panel h2 { margin: 0 0 7px; }
.cta-panel p { margin: 0; color: #d2e2ea; }

.page-heading { background: #f4f9fa; border-bottom: 1px solid var(--line); }
.page-heading .section-inner { padding-top: 65px; padding-bottom: 58px; }
.page-heading h1 { max-width: 18ch; }
.content-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 30px; }
.content-grid p, .content-grid li { color: var(--body); }
.content-grid h2 { font-size: 1.6rem; }
.feature-list { display: grid; gap: 12px; padding: 0; margin: 22px 0; list-style: none; }
.feature-list li { padding: 16px 20px; background: #fff; border: 1px solid var(--line); border-radius: 9px; }
.feature-list strong { color: var(--navy); }
.notice { padding: 15px 18px; border: 1px solid #b7d8da; border-radius: 9px; background: #f0f8f8; color: var(--body); }
.legal-draft-notice { padding: 12px 24px; background: #fff3d9; border-bottom: 1px solid #efd395; color: #634914; text-align: center; font-weight: 650; }
.legal-intro { max-width: 75ch; }
.legal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.legal-card { border: 1px solid var(--line); border-radius: 12px; padding: 24px; background: #fff; }
.legal-card h2 { margin-top: 0; font-size: 1.3rem; }
.legal-content { max-width: 860px; }
.legal-content h2 { margin-top: 38px; }
.legal-content p, .legal-content li { color: var(--body); }
.legal-content table { display: block; width: 100%; border-collapse: collapse; margin: 20px 0; overflow-x: auto; }
.legal-content th, .legal-content td { padding: 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.legal-content th { background: var(--background); }
.legal-content address { font-style: normal; }
.price-panel { max-width: 780px; }
.faq-list { max-width: 900px; display: grid; gap: 12px; }
.faq-list details { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 14px 20px; }
.faq-list summary { cursor: pointer; font-weight: 700; }
.faq-list p { color: var(--body); margin-bottom: 4px; }

.site-footer { background: #0b5055; color: #fff; }
.footer-inner { max-width: 1440px; margin: auto; padding: 60px 30px; display: grid; grid-template-columns: 1.2fr 1.1fr 1fr 1fr 1.2fr; gap: 38px; align-items: start; }
.footer-inner > * { min-width: 0; }
.footer-logo { display: inline-flex; padding: 12px 18px; background: #fff; border-radius: 8px; }
.footer-logo img { display: block; width: 160px; }
.footer-brand p { max-width: 26ch; margin: 20px 0 0; color: #d1e7e8; }
.footer-brand p + p { margin-top: 12px; font-size: .92rem; }
.footer-column h2 { margin: 0 0 22px; color: #fff; font-size: 1.2rem; line-height: 1.4; }
.footer-column ul { list-style: none; margin: 0; padding: 0; }
.footer-column li { border-bottom: 1px solid #ffffff12; }
.footer-column a { color: #edf8f8; text-decoration: none; overflow-wrap: anywhere; }
.footer-column li a { display: flex; align-items: baseline; gap: 10px; padding: 12px 0; font-size: .93rem; }
.footer-link-icon { flex: 0 0 18px; border-radius: 50%; background: #ffffff0d; text-align: center; color: #b6e2e1; font-size: .8rem; }
.footer-column a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.footer-contact p { margin: 0 0 20px; color: #d1e7e8; }
.footer-contact-link { display: flex; align-items: center; gap: 12px; font-size: .93rem; }
.footer-contact-link > span:last-child { min-width: 0; }
.footer-contact-icon { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border-radius: 50%; background: #ffffff12; }
.footer-contact-icon svg { width: 20px; height: 20px; }
.footer-demo-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 20px; padding: 10px 0; font-weight: 650; }
.footer-bottom { padding: 20px 30px; background: #084449; }
.footer-bottom p { max-width: 1240px; margin: auto; color: #c3dedf; font-size: .82rem; text-align: center; }

@media (max-width: 1100px) {
    .footer-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-brand p { max-width: 60ch; }
}
@media (max-width: 1050px) {
    .header-inner { flex-wrap: wrap; gap: 8px 20px; }
    .site-nav { order: 3; flex-basis: 100%; justify-content: center; }
    .header-actions { margin-left: auto; }
    .hero-inner { gap: 30px; }
    .outcome-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-explorer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 42px 20px; gap: 32px 24px; }
    .footer-bottom { padding: 20px; }
    .header-inner { padding: 12px 18px; }
    .brand img { width: 125px; }
    .site-nav { justify-content: flex-start; overflow-x: auto; gap: 18px; white-space: nowrap; }
    .nav-panel { position: fixed; top: 120px; left: 12px; right: 12px; max-height: calc(100vh - 135px); overflow: auto; white-space: normal; }
    .product-panel { grid-template-columns: 1fr; }
    .compact-panel { width: auto; }
    .header-actions .button { padding: 9px 12px; min-height: 39px; font-size: .88rem; }
    .hero-inner, .split, .content-grid { grid-template-columns: 1fr; }
    .hero-inner, .section-inner { padding: 55px 20px; }
    .hero h1, .page-heading h1 { font-size: clamp(2.3rem, 10vw, 3.5rem); }
    .card-grid, .legal-grid, .outcome-grid, .capability-grid { grid-template-columns: 1fr; }
    .product-explorer-inner { padding: 24px 20px; }
    .product-explorer-heading { align-items: start; }
    .product-explorer-heading a { font-size: .85rem; }
    .product-explorer-links a { font-size: .82rem; }
    .cta-panel { display: block; }
    .cta-panel .button { margin-top: 20px; }
}
@media (max-width: 480px) {
    .footer-inner { grid-template-columns: 1fr; }
    .footer-brand { grid-column: auto; }
    .footer-column h2 { margin-bottom: 12px; }
}
@media (max-width: 390px) {
    .header-actions { width: 100%; margin-left: 0; }
    .header-actions .button { flex: 1 1 0; }
    .site-nav { order: 2; }
    .nav-panel { top: 170px; max-height: calc(100vh - 185px); }
    .scene-content { padding: 14px; }
    .scene-rota-header, .scene-rota-row { grid-template-columns: minmax(65px, 1.3fr) repeat(3, minmax(0, 1fr)); gap: 3px; padding: 7px; }
    .scene-shift, .scene-toil { font-size: .61rem; }
    .scene-leave, .scene-absence, .scene-pending { font-size: .57rem; }
    .scene-directory-list { padding: 7px; }.scene-directory-profile { padding: 10px; }
    .product-explorer-heading { display: block; }
    .product-explorer-heading a { display: inline-block; margin-top: 8px; }
    .product-explorer-links { gap: 7px; }
    .product-explorer-links a { gap: 6px; padding: 7px; font-size: .75rem; }
    .product-explorer-links img { flex-basis: 26px; width: 26px; height: 26px; }
}
@media (prefers-reduced-motion: reduce) {
    .capability-link, .capability-link img, .product-explorer-links a { transition: none; }
}
