/* Selected E design, scoped to the actual signed-out landing route. */
@font-face { font-family: CoastalInter; src: url("/fonts/inter-latin.woff2") format("woff2"); font-display: swap; font-style: normal; font-weight: 100 900; }
body.e-coastal :is(.e-header,.e-hero,.e-product){--ink: #122f45; --blue: #2f6bff; --paper: #f8faf9; --muted: #5d7182; --line: #dde6e8; --elev: inset 0 1px 0 #ffffff50,0 0 0 1px #2f6bffe6,0 1px 2px #2f6bff4d,0 4px 10px -2px #2f6bff59; --ease: cubic-bezier(.23,1,.32,1);}
body.e-coastal :where(.e-header,.e-hero,.e-product) *{box-sizing: border-box;}
html:has(body.e-coastal){scroll-behavior: smooth; scroll-padding-top: 96px;}
body.e-coastal :is(.e-header,.e-hero,.e-product){color: var(--ink); font-style: normal; font-variant: normal; font-size-adjust: none; font-language-override: normal; font-kerning: auto; font-optical-sizing: auto; font-variation-settings: normal; font-weight: normal; font-stretch: normal; font-size: 15px; line-height: 1.5; font-family: CoastalInter, system-ui, sans-serif; -webkit-font-smoothing: antialiased; font-feature-settings: "calt", "kern";}
body.e-coastal :where(.e-header,.e-hero,.e-product) a{color: inherit; text-decoration: none;}
body.e-coastal :where(.e-header,.e-hero,.e-product) button,body.e-coastal :where(.e-header,.e-hero,.e-product) input{font: inherit;}
body.e-coastal :where(.e-header,.e-hero,.e-product) a:focus-visible,body.e-coastal :where(.e-header,.e-hero,.e-product) button:focus-visible{outline: 2px solid var(--blue); outline-offset: 3px;}
body.e-coastal :where(.e-header,.e-hero,.e-product) svg{display: block; flex: 0 0 auto;}
body.e-coastal :where(.e-header,.e-hero,.e-product) button{cursor: pointer;}
body.e-coastal .e-hero h1,body.e-coastal :where(.e-header,.e-hero,.e-product) p{margin: 0px;}
body.e-coastal .e-header{position: sticky; top: 0px; z-index: 20; height: 88px; padding: 0px 24px; background: var(--paper); transition: background-color 0.28s;}
body.e-coastal .e-header-inner{display: grid; grid-template-columns: minmax(0px, 1fr) auto minmax(0px, 1fr); align-items: center; gap: 24px; max-width: 1392px; height: 88px; margin: 0px auto; padding: 0px 6px 0px 4px; border-radius: 0px; transition: max-width .42s var(--ease),height .32s var(--ease),transform .32s var(--ease),padding .32s var(--ease),background-color .32s,border-radius .32s var(--ease),box-shadow .32s,color .32s;}
body.e-coastal .e-nav{justify-self: start; display: flex; gap: 2px; font-size: 14px; font-weight: 500; color: rgb(74, 96, 114);}
body.e-coastal .e-nav a{display: block; padding: 8px 12px; border-radius: 999px; transition: background-color 0.2s, color 0.2s;}
body.e-coastal .e-nav a:hover{background: rgb(233, 239, 241); color: var(--ink);}
body.e-coastal .e-brand{display: inline-flex; align-items: center; gap: 9px; font-size: 22px; font-weight: 600; letter-spacing: -0.045em; white-space: nowrap; transition: color 0.32s;}
body.e-coastal .e-brand img{display: block; width: 30px; height: 30px;}
body.e-coastal .e-actions{justify-self: end; display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 500;}
body.e-coastal .e-signin{padding: 8px 12px; border-radius: 999px; color: rgb(74, 96, 114); transition: background-color 0.2s, color 0.2s;}
body.e-coastal .e-signin:hover{background: rgb(233, 239, 241); color: var(--ink);}
body.e-coastal .e-header-cta{display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0px 14px 0px 16px; border-radius: 999px; background: linear-gradient(rgb(74, 127, 255), rgb(47, 107, 255)); box-shadow: var(--elev); color: rgb(255, 255, 255); font-weight: 600; white-space: nowrap; transition: background-color 0.2s;}
body.e-coastal .e-header-cta:hover{background: linear-gradient(rgb(91, 140, 255), rgb(65, 120, 255));}
body.e-coastal .e-header-cta svg{transition: transform .2s var(--ease);}
@media (hover: hover) and (pointer: fine) {body.e-coastal .e-header-cta:hover svg {transform: translateX(2px);}}
body.e-coastal .e-header.is-scrolled{background: transparent;}
body.e-coastal .e-header.is-scrolled .e-header-inner{max-width: 1064px; height: 62px; padding: 0px 11px 0px 12px; transform: translateY(12px); border-radius: 999px; color: rgb(255, 255, 255); background: rgba(21, 31, 40, 0.95); box-shadow: rgba(255, 255, 255, 0.1) 0px 1px 0px inset, rgba(13, 26, 36, 0.2) 0px 0px 0px 1px, rgba(18, 37, 54, 0.4) 0px 18px 40px -16px; backdrop-filter: blur(16px) saturate(1.4);}
body.e-coastal .e-header.is-scrolled .e-brand{font-size: 21px;}
body.e-coastal .e-header.is-scrolled :is(.e-nav, .e-signin){color: rgb(203, 213, 220);}
body.e-coastal .e-header.is-scrolled :is(.e-nav a, .e-signin):hover{color: rgb(255, 255, 255); background: rgba(255, 255, 255, 0.07);}
body.e-coastal .e-hero{padding: 0px 24px;background:var(--paper)}
body.e-coastal .e-landscape{position: relative; isolation: isolate; min-height: 780px; border-radius: 28px 28px 0px 0px; background: url("/landing-coast.png") center 62% / cover no-repeat rgb(217, 238, 246); mask-image: linear-gradient(rgb(0, 0, 0) calc(100% - 230px), transparent);}
body.e-coastal .e-wash{position: absolute; inset: 0px; z-index: -1; border-radius: inherit; background: radial-gradient(52% 36% at 50% 30%, rgba(239, 248, 251, 0.72) 0%, rgba(239, 248, 251, 0.3) 62%, transparent 100%), linear-gradient(rgba(231, 243, 248, 0.7), rgba(231, 243, 248, 0.15) 46%, transparent 64%);}
body.e-coastal .e-hero-content{display: flex; flex-direction: column; align-items: center; padding: 96px 24px 0px; text-align: center;}
body.e-coastal .e-hero h1{width: min(100%, 12em); font-size: clamp(46px, 5.6vw, 82px); font-weight: 500; letter-spacing: -0.054em; line-height: 1.03; text-wrap: balance; color: rgb(16, 48, 74); text-shadow: rgb(238, 247, 251) 0px 1px 28px;}
body.e-coastal .e-claim{display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; width: min(100%, 640px); margin-top: 42px; padding: 8px; background: rgb(255, 255, 255); border: 1px solid rgb(255, 255, 255); border-radius: 18px; box-shadow: rgba(27, 72, 107, 0.08) 0px 1px 2px, rgba(27, 72, 107, 0.4) 0px 14px 36px -14px; text-align: left; scroll-margin-top: 140px; transition: box-shadow 0.2s, border-color 0.2s;}
body.e-coastal .e-claim:focus-within{border-color: rgba(47, 107, 255, 0.5); box-shadow: rgba(47, 107, 255, 0.14) 0px 0px 0px 4px, rgba(27, 72, 107, 0.4) 0px 14px 36px -14px;}
body.e-coastal .e-handle{display: flex; align-items: center; min-width: 0px; flex: 1 1 0%; padding: 0px 6px 0px 16px; font-size: 22px; font-weight: 500; letter-spacing: -0.022em; cursor: text;}
body.e-coastal .e-handle > span{color: rgb(106, 126, 141); white-space: nowrap;}
body.e-coastal .e-handle input{width: 100%; min-width: 0px; padding: 12px 0px; border: 0px; outline: 0px; background: transparent; color: var(--ink); font-size: 22px; font-weight: 600; letter-spacing: -0.022em;}
body.e-coastal .e-handle input::placeholder{color: rgb(53, 103, 214); opacity: 1; font-weight: 500;}
body.e-coastal .e-claim button{display: flex; align-items: center; justify-content: center; gap: 9px; flex: 0 0 auto; min-height: 56px; padding: 0px 22px; border: 0px; border-radius: 12px; background: linear-gradient(rgb(74, 127, 255), rgb(47, 107, 255)); box-shadow: var(--elev); color: rgb(255, 255, 255); font-size: 15px; font-weight: 600; white-space: nowrap;}
body.e-coastal .e-claim button:hover{background: linear-gradient(rgb(91, 140, 255), rgb(65, 120, 255));}
body.e-coastal .e-claim button:disabled{cursor: wait; opacity: 0.7;}
body.e-coastal .e-claim:has([aria-invalid="true"]){border-color: #c53b36; box-shadow: 0 0 0 3px rgba(197, 59, 54, 0.14);}
body.e-coastal .e-error{display: flex; align-items: flex-start; gap: 8px; grid-column: 1 / -1; margin: 0; padding: 12px 16px; border-radius: 10px; background: var(--bad, #c62a2f); color: #fff; font-size: 13px; line-height: 1.5; text-align: left;}
body.e-coastal .e-error > svg{flex: 0 0 18px; margin-top: 1px;}
body.e-coastal .e-error[hidden]{display: none;}
body.e-coastal .e-product{position: relative; z-index: 2; margin: -178px 56px 0px; scroll-margin-top: 96px;}
body.e-coastal .e-blue-mat{position: relative; isolation: isolate; overflow: hidden; padding: 32px; border-radius: 26px; background-color: rgb(120, 184, 243); background-image: radial-gradient(at 4% 18%, rgb(191, 224, 251) 0px, transparent 42%), radial-gradient(at 96% 12%, rgb(67, 141, 240) 0px, transparent 48%), radial-gradient(at 42% 104%, rgb(39, 111, 224) 0px, transparent 56%); box-shadow: rgba(12, 87, 147, 0.094) 0px 0px 0px 1px, rgba(38, 78, 126, 0.5) 0px 30px 60px -32px;}
body.e-coastal .e-blue-mat::before{content: ""; position: absolute; inset: 0px; z-index: -1; opacity: 0.22; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); mix-blend-mode: soft-light;}
body.e-coastal .e-blue-mat iframe{display: block; width: 100%; height: 740px; border: 0px; border-radius: 14px; background: rgb(255, 255, 255); box-shadow: rgba(25, 62, 94, 0.08) 0px 0px 0px 1px, rgba(25, 62, 94, 0.35) 0px 14px 30px -12px;}
body.e-coastal .e-bottom{display: flex; align-items: center; gap: 18px; margin: 0px 56px; padding: 30px 4px; color: rgb(113, 130, 141); font-size: 13px;}
body.e-coastal .e-bottom a{display: inline-flex; align-items: center; gap: 8px; color: rgb(52, 73, 90); font-weight: 500;}
body.e-coastal .e-bottom a:hover{color: var(--blue);}
body.e-coastal .e-bottom-brand{font-weight: 600 !important;}
body.e-coastal .e-bottom > a:last-child{margin-left: auto;}
@media (max-width: 1000px) {body.e-coastal .e-header{padding-inline: 16px;}
body.e-coastal .e-nav a:last-child{display: none;}
body.e-coastal .e-landscape{min-height: 720px;}
body.e-coastal .e-product{margin-inline: 36px;}
body.e-coastal .e-blue-mat{padding: 22px;}
body.e-coastal .e-bottom{margin-inline: 36px;}}
@media (max-width: 700px) {html:has(body.e-coastal){scroll-padding-top: 80px;}
body.e-coastal .e-header{height: 72px; padding: 0px 10px;}
body.e-coastal .e-header-inner{grid-template-columns: auto 1fr; height: 72px; gap: 8px; padding: 0px 2px 0px 6px;}
body.e-coastal .e-nav{display: none;}
body.e-coastal .e-brand{font-size: 19px; gap: 7px;}
body.e-coastal .e-brand img{width: 26px; height: 26px;}
body.e-coastal .e-actions{gap: 2px; font-size: 13px;}
body.e-coastal .e-signin{padding: 7px 10px;}
body.e-coastal .e-header-cta{height: 36px; gap: 6px; padding: 0px 11px 0px 13px;}
body.e-coastal .e-header-cta svg{width: 14px; height: 14px;}
body.e-coastal .e-header.is-scrolled .e-header-inner{height: 56px; padding: 0px 6px 0px 12px; transform: translateY(8px);}
body.e-coastal .e-header.is-scrolled .e-brand{font-size: 18px;}
body.e-coastal .e-hero{padding: 0px 10px;}
body.e-coastal .e-landscape{min-height: 0; padding-bottom: 192px; border-radius: 20px 20px 0px 0px; background-position: 48% center; mask-image: linear-gradient(rgb(0, 0, 0) calc(100% - 170px), transparent);}
body.e-coastal .e-wash{background: radial-gradient(90% 46% at 50% 26%, rgba(239, 248, 251, 0.85), rgba(239, 248, 251, 0.4) 66%, transparent), linear-gradient(rgba(231, 243, 248, 0.7), transparent 56%);}
body.e-coastal .e-hero-content{padding: 56px 14px 0px;}
body.e-coastal .e-hero h1{width: 100%; font-size: clamp(38px, 10.4vw, 48px); line-height: 1.06; letter-spacing: -0.05em;}
body.e-coastal .e-claim{grid-template-columns: minmax(0, 1fr); align-items: stretch; margin-top: 28px; padding: 7px; gap: 6px; border-radius: 16px;}
body.e-coastal .e-handle,body.e-coastal .e-handle input{font-size: 19px;}
body.e-coastal .e-handle{min-height: 50px; padding: 0px 10px 0px 12px;}
body.e-coastal .e-claim button{min-height: 52px;}
body.e-coastal .e-error{padding: 12px;}
body.e-coastal .e-product{margin: -160px 18px 0px;}
body.e-coastal .e-blue-mat{padding: 12px; border-radius: 18px;}
body.e-coastal .e-blue-mat iframe{border-radius: 9px;}
body.e-coastal .e-bottom{margin-inline: 18px; padding-block: 24px;}
body.e-coastal .e-bottom > span{display: none;}}
@media (prefers-reduced-motion: reduce) {html:has(body.e-coastal){scroll-behavior: auto;}
body.e-coastal :where(.e-header,.e-hero,.e-product) *,body.e-coastal :where(.e-header,.e-hero,.e-product) ::before,body.e-coastal :where(.e-header,.e-hero,.e-product) ::after{transition: none !important;}}
/* Keep app/long-form behavior outside the selected hero composition. */
body.e-coastal>.lp-rails{top:var(--e-content-start,100%)}
body.e-coastal .e-hero h1{white-space:normal;overflow:visible;text-overflow:clip}
body.e-coastal .e-blue-mat .e-stage-frame{display:block;width:100%;height:auto;overflow:clip;border:0;border-radius:14px;background:#fff;box-shadow:0 0 0 1px #193e5e14,0 14px 30px -12px #193e5e59;--ink:#15171a;--muted:#8c9098;--line:#f0f1f3;--ease:cubic-bezier(.2,.8,.2,1);font:15.5px/1.6 var(--font);font-feature-settings:"cv11","ss01"}
body.e-coastal .e-stage-frame>.lp-stage{margin:0;border:0;border-radius:0}
body.e-coastal .e-stage-frame>.lp-caption{display:none}
@media(max-width:700px){body.e-coastal .e-blue-mat .e-stage-frame{border-radius:9px}}
/* Carry a little of the hero's blue into the first story section. */
body.e-coastal main>.sd{background-image:linear-gradient(180deg,rgba(93,164,246,.10),rgba(123,181,245,.045) 45%,transparent);background-size:100% 620px;background-repeat:no-repeat}
@media(max-width:700px){body.e-coastal main>.sd{background-size:100% 480px}}

/* Approved calm homepage motion. No script means no hidden content. */
@media (prefers-reduced-motion: no-preference) {
  html.lp-motion-pending body.e-coastal :is(.e-hero h1,.e-claim,.e-blue-mat) { visibility: hidden; }
  body.e-coastal :is(.e-claim button,.e-header-cta) { transition: translate 160ms cubic-bezier(.2,0,.38,.9),box-shadow 160ms,background-color 160ms; }
  @media (hover: hover) and (pointer: fine) {
    body.e-coastal :is(.e-claim button,.e-header-cta):hover { translate: 0 -2px; }
  }
  body.e-coastal :is(.e-claim button,.e-header-cta):active { translate: 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.e-coastal :is(.bs-intro,.bs-band,.lp-faq,.lp-finale,.e-header-inner,.e-claim,.e-blue-mat) { transition: none !important; }
}
