
  /* EOL exposure checker + sourced-proof block. Scoped to this page. */
  .eol-proof{background:#F8FAFC;border:1px solid #E8EDF3;border-left:3px solid var(--green);border-radius:12px;padding:20px 22px;margin:30px 0 0;}
  .eol-proof__label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin:0 0 8px;}
  .eol-proof p{font-size:.95rem;line-height:1.65;margin:0 0 10px;color:var(--ink);}
  .eol-proof p:last-child{margin-bottom:0;}
  /* Inline article links inherit body ink sitewide, so make this one visibly a link. */
  .eol-proof a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(0,59,92,.35);}
  .eol-proof a:hover{text-decoration-color:var(--navy);}

  /* The page is a stack of white cards, so this one goes dark to read as a tool
     rather than more article. It also breaks out past the 740px article measure
     into the column gutter, which is why the negative margins are here and are
     reset at the breakpoint where the layout stacks. */
  .eol-exposure{background:linear-gradient(155deg,#04263B 0%,#0A3A5A 55%,#0B4463 100%);border:1px solid rgba(124,224,160,.22);border-radius:20px;box-shadow:0 18px 60px rgba(0,40,70,.30);padding:34px 34px 30px;margin:38px -30px 18px;scroll-margin-top:88px;color:#fff;}
  .eol-exposure__eyebrow{margin:0 0 8px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#7CE0A0;}
  .eol-exposure h3{margin:0 0 8px;font-size:1.55rem;color:#fff;font-weight:800;line-height:1.2;}
  .eol-exposure__sub{font-size:.94rem;color:rgba(255,255,255,.78);margin:0 0 22px;line-height:1.62;max-width:56ch;}
  @media(max-width:1000px){.eol-exposure{margin-left:0;margin-right:0;}}

  /* Live readout. The whole point of the dark card: a number visible before
     anyone clicks anything. */
  .eol-live{margin:22px 0 0;padding:18px 20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;text-align:center;}
  .eol-live__label{margin:0;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9BD7F0;}
  .eol-live__big{margin:8px 0 6px;font-size:2.1rem;font-weight:800;line-height:1.15;color:#7CE0A0;font-variant-numeric:tabular-nums;}
  .eol-live__note{margin:0;font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.74);}
  @media(max-width:680px){.eol-live__big{font-size:1.6rem;}}

  /* Four inputs, so a fixed 2x2 rather than auto-fit: at card width auto-fit
     produced three columns and left the storage slider orphaned on its own row. */
  .eol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;}
  @media(max-width:560px){.eol-grid{grid-template-columns:1fr;}}
  .eol-field label{display:block;font-size:13px;font-weight:700;color:#fff;margin-bottom:6px;}
  .eol-field select,.eol-field input{width:100%;padding:12px 14px;border:1px solid #CBD5E1;border-radius:10px;font-size:16px;color:var(--ink);background:#fff;font-family:inherit;}
  .eol-field select:focus,.eol-field input:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green);}
  .eol-err{color:#DC2626;font-size:13px;margin:14px 0 0;display:none;}

  /* Sizing sliders. The .eol-field input rule above is written for the email
     box, so the range inputs clear its padding and border and draw their own
     track and thumb. Focus styling is inherited from the rule above. */
  .eol-field--range label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
  .eol-range__val{font-size:13px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap;}
  /* Track reads as 6px but the element is 24px tall so the touch target meets
     WCAG 2.5.8. content-box plus padding keeps the visible bar thin. */
  .eol-field input.eol-range{-webkit-appearance:none;appearance:none;box-sizing:content-box;width:100%;height:6px;padding:9px 0;background-clip:content-box;border:0;border-radius:999px;background-color:rgba(255,255,255,.22);accent-color:var(--green);margin:8px 0 4px;cursor:pointer;}
  .eol-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--green);border:3px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.45);cursor:pointer;}
  .eol-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--green);border:3px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.45);cursor:pointer;}
  .eol-range::-moz-range-track{height:6px;border-radius:999px;background:rgba(255,255,255,.22);}
  .eol-range__val{color:#7CE0A0;}
  .eol-range__scale{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:rgba(255,255,255,.6);}

  .eol-result{display:none;margin:26px 0 0;scroll-margin-top:88px;}
  .eol-points{list-style:none;padding:0;margin:0;display:grid;gap:11px;}
  .eol-points li{position:relative;padding-left:26px;font-size:.92rem;line-height:1.6;color:rgba(255,255,255,.82);}
  .eol-points li::before{content:"";position:absolute;left:2px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--green);}

  .eol-options{margin:24px 0 0;}
  .eol-options[hidden]{display:none;}
  .eol-options__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 10px;}
  .eol-options__title{margin:0;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7CE0A0;}
  .eol-options__size{margin:0;font-size:12px;font-weight:600;color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums;}
  .eol-options__list{list-style:none;padding:0;margin:0;border:1px solid rgba(255,255,255,.16);border-radius:12px;overflow:hidden;}
  .eol-opt{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border-top:1px solid var(--line);background:#fff;}
  .eol-opt:first-child{border-top:0;}
  .eol-opt--clear{background:#F0FBF4;border-left:3px solid var(--green);padding-left:11px;}
  .eol-opt__name{display:block;font-size:.94rem;font-weight:700;color:var(--ink);line-height:1.35;}
  .eol-opt__cat{display:block;margin-top:3px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}
  .eol-opt__amt{flex:0 0 auto;padding:0 5px;font-size:.95rem;font-weight:800;color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums;}
  /* Friction, not a security boundary. See the note in the widget script. */
  .eol-options__unlock{margin:12px 0 0;font-size:.9rem;line-height:1.55;color:rgba(255,255,255,.85);}
  .eol-options__note{margin:8px 0 0;font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.66);}
  .eol-options__note a{color:#9BD7F0;font-weight:700;text-decoration:underline;text-underline-offset:3px;}

  .eol-gate{border-top:1px solid rgba(255,255,255,.16);margin-top:24px;padding-top:22px;}
  .eol-gate h4{margin:0 0 6px;font-size:1.05rem;color:#fff;font-weight:800;}
  .eol-gate__sub{font-size:.9rem;color:rgba(255,255,255,.74);margin:0 0 16px;line-height:1.58;}
  .eol-gate__grid{display:grid;grid-template-columns:1fr 228px;gap:28px;align-items:start;}
  .eol-gate__preview{margin:0;}
  .eol-gate__shot{display:block;position:relative;border-radius:8px;overflow:hidden;border:1px solid rgba(0,40,70,.14);box-shadow:0 10px 30px rgba(0,40,70,.16);}
  .eol-gate__shot img{display:block;width:100%;height:auto;}
  /* Fade the crop so the page reads as continuing rather than cut off. */
  .eol-gate__shot::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 90%);pointer-events:none;}
  .eol-gate__cap{margin:9px 0 0;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);}
  .eol-capture{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;}
  .eol-capture .eol-field{flex:1 1 250px;min-width:0;}
  .eol-consent{font-size:11px;color:rgba(255,255,255,.66);margin:14px 0 0;line-height:1.55;}
  .eol-success{display:none;background:#F0FBF4;border:1px solid #B7E4C7;border-radius:12px;padding:18px 20px;margin-top:22px;}
  .eol-success h4{margin:0 0 6px;color:#15803D;font-size:1.05rem;font-weight:800;}
  .eol-success p{margin:0;font-size:.92rem;color:var(--ink);line-height:1.6;}
  .eol-success a{text-decoration:underline;}
  @media(max-width:680px){.eol-exposure{padding:22px 18px;}.eol-capture button{width:100%;}
    /* Show the document first, then the pitch, then the ask. Capped to a strip
       so a full page of preview does not push the form off the screen. */
    .eol-gate__grid{grid-template-columns:1fr;gap:20px;}
    .eol-gate__preview{order:-1;}
    .eol-gate__shot{max-height:230px;}
    .eol-gate__shot::after{height:60%;}
    .eol-gate__cap{display:none;}
  }

.eol-exposure{margin-top:0;}
.eol-gate a{color:#9bd7f0;}
.eol-gate [hidden]{display:none!important;}
.eol-gate .btn{white-space:normal;}
.eol-gate-error{color:#ffd1d1;margin-top:12px;}
.eol-booking{margin-top:18px;background:white;border-radius:12px;overflow:hidden;}
.eol-booking-note{color:#fff;font-size:.85rem;}
.eol-storage-help{font-size:.78rem;line-height:1.5;color:#c2d6e3;margin-top:14px;}
#eolUnlocked{padding:18px;background:#eaf8ef;color:#124b30;border-radius:10px;}
#eolUnlocked a{color:#003b5c;text-decoration:underline;}
.eol-opt__amt{font-size:.78rem;white-space:normal;text-align:right;max-width:140px;}
.article .eol-options__list{padding:0;list-style:none;}
.article .eol-options__list .eol-opt{margin:0;}
.eol-field label.eol-storage-exact{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px;font-size:.75rem;}
.eol-field .eol-storage-exact input{width:100px;padding:8px 10px;}

/* Clear outcomes and a direct booking path before the optional estimator. */
.article .eol-takeaways{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px;}
.article .eol-takeaways li{margin:0;font-size:.92rem;line-height:1.55;color:#d9e8f1;}
.eol-takeaways strong{color:#fff;}
.eol-review-action{margin:18px 0 22px;}
.eol-review-action p{margin:10px 0 0;font-size:.8rem;line-height:1.5;color:#c2d6e3;}
.eol-review-action a:not(.btn){color:#9bd7f0;text-decoration:underline;text-underline-offset:3px;}
.eol-review-action .btn{white-space:normal;text-align:center;}
.eol-estimate{border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);padding:16px 0;}
.eol-estimate summary{cursor:pointer;font-size:.95rem;font-weight:700;color:#9bd7f0;}
.eol-estimate summary:focus-visible,.eol-review-toggle:focus-visible{outline:2px solid #7ce0a0;outline-offset:5px;}
.eol-estimate__intro{font-size:.85rem;line-height:1.55;color:#d9e8f1;margin:14px 0 20px;}
.eol-review-toggle{display:block;padding:16px 0 0;border:0;background:none;color:#9bd7f0;font:inherit;font-size:.9rem;font-weight:700;text-align:left;cursor:pointer;line-height:1.5;text-decoration:underline;text-underline-offset:3px;}
.eol-gate{scroll-margin-top:100px;}
@media(max-width:560px){.eol-review-action .btn{width:100%;}.eol-exposure h3{font-size:1.4rem;}}
