/* Ensure365 product story. Scoped to these pages and the Ensure introduction. */
.e365-page { --e365-ink:#162d32; --e365-green:#225b4b; background:#fbfaf7; }
.e365-page main { overflow:clip; }
.e365-page .e365-wrap { width:min(calc(100% - 48px),1160px); margin-inline:auto; }
.e365-hero { padding:64px 0 42px; text-align:center; }
.e365-back { display:inline-flex; gap:8px; align-items:center; margin-bottom:30px; color:#53655c; font-size:14px; font-weight:600; }
.e365-brand { width:220px; height:78px; object-fit:contain; margin:0 auto 20px; mix-blend-mode:multiply; }
.e365-hero h1 { max-width:950px; margin:0 auto; color:var(--e365-ink); font-size:clamp(44px,5.7vw,76px); font-weight:700; line-height:1.04; letter-spacing:-.055em; }
.e365-hero h1 span { color:var(--e365-green); }
.e365-hero p { max-width:630px; margin:24px auto 0; color:#4d5c56; font-size:20px; line-height:1.5; }
.e365-hero .button { margin-top:27px; }
.e365-jumps { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:52px; text-align:left; }
.e365-jumps a { display:flex; align-items:center; gap:12px; border-top:1px solid #cdd8d2; padding:20px 0; color:var(--e365-ink); font-size:18px; font-weight:700; }
.e365-jumps small { color:#687a70; font-size:12px; }
.e365-jumps b { margin-left:auto; font-weight:500; transition:transform .2s; }
.e365-jumps a:hover b { transform:translateY(4px); }
.e365-chapter { padding:70px 0 74px; scroll-margin-top:100px; }
.e365-chapter--environment { background:#edf3ee; }
.e365-chapter--oversight { background:#162d32; color:#fff; }
.e365-chapter-head { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:60px; margin-bottom:30px; }
.e365-kicker { display:block; margin-bottom:16px; color:#386252; font-size:13px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.e365-chapter h2 { margin:0; font-size:clamp(34px,4vw,52px); line-height:1.08; font-weight:700; letter-spacing:-.045em; }
.e365-chapter-head p { margin:0; max-width:490px; color:#4d5c56; font-size:19px; line-height:1.55; }
.e365-chapter--oversight .e365-kicker { color:#a9d4c4; }
.e365-chapter--oversight .e365-chapter-head p { color:#d5e1dc; }
.e365-figure { margin:0; }
.e365-shot { position:relative; display:block; overflow:hidden; border:1px solid #dce4df; border-radius:16px; background:#fff; box-shadow:0 18px 50px #152a2110; }
.e365-shot img { width:100%; height:auto; }
.e365-shot span { position:absolute; right:16px; bottom:16px; padding:10px 15px; border:1px solid #d6dfd9; border-radius:99px; background:#ffffffee; color:#183d31; font-size:13px; font-weight:700; box-shadow:0 4px 15px #172b2312; }
.e365-shot:hover span { background:#edf5ee; }
.e365-figure figcaption { display:flex; justify-content:space-between; gap:20px; margin-top:14px; color:#53645a; font-size:13px; line-height:1.5; }
.e365-figure figcaption strong { color:#264637; font-weight:600; }
.e365-chapter--oversight .e365-figure figcaption { color:#b9cdc3; }
.e365-chapter--oversight .e365-figure figcaption strong { color:#e5f1eb; }
.e365-details { margin-top:28px; border-top:1px solid #ccd8d0; border-bottom:1px solid #ccd8d0; }
.e365-details summary { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:62px; padding:18px 0; color:#264637; font-size:16px; font-weight:700; list-style:none; cursor:pointer; }
.e365-details summary::-webkit-details-marker { display:none; }
.e365-details summary::after { content:'+'; font-size:26px; font-weight:400; line-height:1; }
.e365-details[open] summary::after { content:'−'; }
.e365-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px 48px; padding:10px 0 28px; }
.e365-detail-grid h3 { margin:0 0 8px; color:#203f32; font-size:19px; font-weight:700; letter-spacing:-.015em; }
.e365-detail-grid p { margin:0; color:#526258; font-size:16px; line-height:1.6; }
.e365-detail-note { grid-column:1/-1; padding-top:18px; border-top:1px solid #ccd8d0; }
.e365-detail-note a { text-decoration:underline; text-underline-offset:3px; font-weight:600; }
.e365-chapter--oversight .e365-details { border-color:#506761; }
.e365-chapter--oversight .e365-details summary,.e365-chapter--oversight .e365-detail-grid h3 { color:#f0f6f2; }
.e365-chapter--oversight .e365-detail-grid p { color:#c9d9d1; }
.e365-close { padding:76px 0 84px; text-align:center; }
.e365-close h2 { margin:0 0 17px; color:var(--e365-ink); font-size:clamp(34px,4.3vw,52px); line-height:1.08; font-weight:700; letter-spacing:-.045em; }
.e365-close p { max-width:570px; margin:0 auto 27px; color:#526258; font-size:19px; line-height:1.55; }
.e365-close small { display:block; margin-top:22px; color:#65746c; font-size:13px; line-height:1.5; }
.e365-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:40px; padding:25px 28px; border:1px solid #d7dfd9; border-radius:16px; background:#f4f6f1; }
.e365-intro strong { display:block; margin-bottom:7px; font-size:20px; font-weight:700; }
.e365-intro p { margin:0; color:#53645a; font-size:15px; line-height:1.5; }
.e365-intro a { flex-shrink:0; font-size:15px; font-weight:700; color:#225b4b; }
.e365-eco-hero { text-align:left; padding-bottom:54px; }
.e365-eco-hero h1,.e365-eco-hero p { margin-left:0; }
.e365-eco-hero h1 { max-width:850px; }
.e365-eco-hero .e365-kicker { margin-top:6px; }
.e365-eco-story { padding:42px 0 64px; background:#edf3ee; }
.e365-eco-copy { display:grid; grid-template-columns:1fr 1fr; gap:50px; margin-top:40px; }
.e365-eco-copy h2 { font-size:30px; letter-spacing:-.025em; line-height:1.12; margin:0 0 15px; }
.e365-eco-copy p { font-size:18px; line-height:1.6; color:#4d5c56; margin:0; }
@media(max-width:760px) {
 .e365-page .e365-wrap { width:calc(100% - 36px); }
 .e365-hero { padding:35px 0 18px; }
 .e365-back { margin-bottom:20px; }
 .e365-brand { width:190px; height:65px; margin-bottom:18px; }
 .e365-hero h1 { font-size:clamp(39px,9vw,60px); }
 .e365-hero p { font-size:18px; margin-top:20px; }
 .e365-hero .button { margin-top:23px; }
 .e365-jumps { gap:14px; margin-top:34px; }
 .e365-jumps a { gap:6px; font-size:14px; padding:16px 0; }
 .e365-jumps small { display:none; }
 .e365-chapter { padding:42px 0 46px; scroll-margin-top:85px; }
 .e365-chapter-head { grid-template-columns:1fr; gap:18px; margin-bottom:24px; }
 .e365-kicker { margin-bottom:12px; font-size:12px; }
 .e365-chapter h2 { font-size:35px; }
 .e365-chapter-head p { font-size:17px; }
 .e365-shot { border-radius:10px; }
 .e365-shot span { position:static; display:block; padding:12px; text-align:center; border:0; border-radius:0; box-shadow:none; background:#f8faf7; }
 .e365-figure figcaption { display:block; font-size:12px; margin-top:10px; }
 .e365-figure figcaption span { display:block; margin-top:3px; }
 .e365-details { margin-top:22px; }
 .e365-details summary { min-height:58px; font-size:15px; }
 .e365-detail-grid { grid-template-columns:1fr; gap:23px; }
 .e365-close { padding:48px 0 54px; }
 .e365-close p { font-size:17px; }
 .e365-intro { align-items:flex-start; flex-direction:column; padding:24px; gap:18px; }
 .e365-eco-hero { padding-bottom:36px; }
 .e365-eco-copy { grid-template-columns:1fr; gap:30px; margin-top:28px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .e365-jumps b { transition:none; } }
