/* Lexi Fresh landing page. Colours are taken from the logo (navy, amber, teal).
   No inline styles anywhere: the Content-Security-Policy in _headers blocks them. */

/* Self-hosted fonts: no third-party font requests from visitors */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/bricolage-grotesque-700-latin.woff2") format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/bricolage-grotesque-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/dm-sans-latin.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/dm-sans-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  color-scheme:light;
  --ink:#10334A;          /* logo navy: headings, body text */
  --ink-soft:#435E73;     /* secondary text, 6.5:1 on cream */
  --amber:#F8B437;        /* logo amber: buttons, highlights */
  --amber-hover:#F2A81C;
  --teal:#13A894;         /* logo teal: decoration only */
  --teal-text:#0A6B5E;    /* teal for text, 5.9:1 on cream */
  --cream:#FFF8F0;        /* page */
  --sand:#F6EDE2;         /* tinted sections, footer */
  --white:#FFFFFF;
  --line:#D9E1E7;
  --mint:#DFF4EE;   --mint-icon:#0A6B5E;  --mint-strong:#BFE9DC;
  --amber-tint:#FFEFD2; --amber-icon:#8A5800;
  --lilac:#ECE7FF;  --lilac-icon:#5B46B8;
  --pink:#FFE6EE;   --pink-icon:#A8345F;
  --radius-card:24px;
  --radius-inner:16px;
  --shadow:0 1px 2px rgba(16,51,74,.06),0 14px 34px -14px rgba(16,51,74,.22);
  --shadow-lg:0 2px 4px rgba(16,51,74,.06),0 30px 60px -24px rgba(16,51,74,.35);
  --head:"Bricolage Grotesque","DM Sans",system-ui,sans-serif;
  --body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* Base ----------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--head);font-weight:700;letter-spacing:-.02em;line-height:1.08;text-wrap:balance}
a{color:inherit}
ul,ol{margin:0;padding:0}
.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:32px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
[hidden]{display:none!important}
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--white);padding:10px 16px;border-radius:12px;box-shadow:var(--shadow)}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}

.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text)}

/* Buttons -------------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 28px;border:0;border-radius:999px;background:var(--amber);color:var(--ink);font:700 16px/1 var(--body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s;box-shadow:0 8px 20px -10px rgba(200,130,0,.6)}
.btn:hover{background:var(--amber-hover);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn .icon{width:18px;height:18px;transition:transform .2s}
.btn:hover .icon{transform:translateX(3px)}
.btn-small{min-height:44px;padding:10px 20px;font-size:14px}
.btn-ghost{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(16,51,74,.2)}
.btn-ghost:hover{background:var(--white)}

/* Header --------------------------------------------------------------- */
.top{position:sticky;top:0;z-index:50;background:rgba(255,248,240,.9);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid rgba(16,51,74,.07)}
.top>.wrap{display:flex;align-items:center;min-height:72px}
.nav-inner{justify-content:space-between;gap:24px}
.brand{display:block;flex:none;text-decoration:none}
.brand img{height:48px;width:auto}
.site-nav{display:flex;gap:32px;font-size:15px;font-weight:500}
.site-nav a{text-decoration:none;padding:8px 0;position:relative}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--amber);transform:scaleX(0);transition:transform .2s}
.site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1)}

/* Hero ----------------------------------------------------------------- */
.hero{overflow:hidden;padding:56px 0 88px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center}
.hero h1{font-size:clamp(2.15rem,1.2rem + 3.4vw,4.25rem);margin:16px 0 24px}
.mark{background:linear-gradient(transparent 70%,var(--amber) 70%,var(--amber) 90%,transparent 90%);padding:0 .04em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero-lead{font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:31rem}
.hero-lead strong{color:var(--ink)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.perks{list-style:none;display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:14px 28px;margin-top:40px;font-size:14px;font-weight:500;line-height:1.3}
.perks li{display:flex;align-items:center;gap:10px;max-width:150px}
.perk-icon,.card-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none}
.tint-mint{background:var(--mint);color:var(--mint-icon)}
.tint-amber{background:var(--amber-tint);color:var(--amber-icon)}
.tint-lilac{background:var(--lilac);color:var(--lilac-icon)}
.tint-pink{background:var(--pink);color:var(--pink-icon)}

.hero-visual{position:relative;isolation:isolate;width:100%;max-width:440px;justify-self:center;margin-right:24px}
.hero-visual::before{content:"";position:absolute;inset:36px -36px -36px 36px;z-index:-1;border-radius:36px;background:var(--mint-strong)}
.hero-visual::after{content:"";position:absolute;top:-30px;right:-30px;z-index:-1;width:110px;height:110px;border-radius:50%;background:var(--amber)}
.hero-photo{aspect-ratio:4/5;border-radius:32px;overflow:hidden;background:#E9E1D6;box-shadow:var(--shadow-lg)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}

.hello,.feedback-chip{position:absolute;background:var(--white);box-shadow:var(--shadow-lg)}
.hello{left:-56px;top:48px;padding:12px 18px 13px;border-radius:20px 20px 20px 6px;font:700 19px/1.2 var(--head);letter-spacing:-.01em}
.hello span{display:block;margin-top:2px;font:400 13px/1.3 var(--body);letter-spacing:0;color:var(--ink-soft)}
.feedback-chip{left:-40px;bottom:64px;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border-radius:var(--radius-inner)}
.feedback-chip b{display:block;font:700 16px/1.2 var(--head)}
.feedback-chip small{display:block;font-size:12px;color:var(--ink-soft)}
.chip-check{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--teal);color:var(--white)}
.chip-check .icon{stroke-width:2.6}

/* Phone mock-up */
.phone{position:absolute;right:-64px;bottom:-56px;width:200px;height:404px;padding:8px;border-radius:38px;background:#141821;box-shadow:var(--shadow-lg);transform:rotate(4deg);transform-origin:bottom right}
.phone-screen{position:relative;display:flex;flex-direction:column;align-items:center;height:100%;padding:34px 14px 16px;border-radius:30px;background:var(--white);overflow:hidden;text-align:center}
.phone-notch{position:absolute;top:8px;left:50%;width:68px;height:18px;margin-left:-34px;border-radius:10px;background:#141821}
.phone-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--white),0 0 0 6px var(--mint-strong)}
.phone-title{margin-top:14px;font:700 19px/1.2 var(--head)}
.phone-sub{margin-top:2px;font-size:10.5px;color:var(--ink-soft)}
.wave{display:flex;align-items:center;justify-content:center;gap:3px;height:60px;margin:14px 0 10px}
.wave i{display:block;width:4px;height:20px;border-radius:4px;background:var(--amber);transform-origin:center;animation:wave 1.3s ease-in-out infinite alternate}
.wave i:nth-child(1){height:10px}.wave i:nth-child(2){height:18px}.wave i:nth-child(3){height:30px}.wave i:nth-child(4){height:16px}
.wave i:nth-child(5){height:38px}.wave i:nth-child(6){height:50px}.wave i:nth-child(7){height:28px}.wave i:nth-child(8){height:18px}
.wave i:nth-child(9){height:42px}.wave i:nth-child(10){height:56px}.wave i:nth-child(11){height:34px}.wave i:nth-child(12){height:22px}
.wave i:nth-child(13){height:46px}.wave i:nth-child(14){height:30px}.wave i:nth-child(15){height:18px}.wave i:nth-child(16){height:36px}
.wave i:nth-child(17){height:24px}.wave i:nth-child(18){height:14px}.wave i:nth-child(19){height:8px}
.wave i:nth-child(3n){animation-delay:-.45s}.wave i:nth-child(3n+1){animation-delay:-.9s}.wave i:nth-child(4n){animation-duration:1.1s}
@keyframes wave{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
.phone-mic{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--ink);color:var(--white);box-shadow:0 0 0 6px #E4EEF3}
.phone-mic .icon{width:24px;height:24px}
.phone-times{display:flex;gap:6px;margin-top:auto}
.phone-times span{padding:5px 9px;border-radius:999px;background:#F0F3F6;font-size:10.5px;font-weight:500}
.phone-times .on{background:var(--amber);font-weight:700}

/* Sections ------------------------------------------------------------- */
.section{padding:96px 0}
.section-tint{background:var(--sand)}
.section-head{text-align:center;max-width:720px;margin:0 auto 48px}
.section-head h2{margin-top:12px;font-size:clamp(2rem,1.3rem + 2.4vw,3rem)}

/* Feature cards */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.card{display:flex;flex-direction:column;background:var(--white);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card-img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#E9E1D6}
.card-body{padding:20px 22px 26px}
.card-body h3{margin:16px 0 6px;font-size:20px}
.card-body p{font-size:15px;line-height:1.55;color:var(--ink-soft)}

/* How it works */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.step{background:var(--white);border-radius:var(--radius-card);padding:32px 28px;box-shadow:var(--shadow)}
.step-num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--amber);font:700 20px/1 var(--head)}
.step h3{margin:20px 0 8px;font-size:22px}
.step p{color:var(--ink-soft)}
.stats{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:32px;padding:8px;border-radius:var(--radius-card);background:var(--ink);color:var(--white)}
.stats li{display:flex;align-items:center;gap:14px;padding:22px 24px;font-size:15px;line-height:1.4}
.stats li+li{border-left:1px solid rgba(255,255,255,.12)}
.stats .icon{width:28px;height:28px;color:var(--amber)}
.stats b{color:var(--amber);font-weight:700}

/* Waitlist */
.join{background:var(--mint)}
.join-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.join-card{background:var(--white);border-radius:32px;padding:48px;box-shadow:var(--shadow)}
.join-card h2{margin:12px 0;font-size:clamp(2rem,1.4rem + 2vw,2.75rem)}
.join-lead{color:var(--ink-soft);margin-bottom:28px}
.join-photo{border-radius:32px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-lg);background:#E9E1D6}
.join-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}

.form{max-width:500px}
.email-line{display:flex;align-items:center;gap:6px;padding:5px;background:var(--white);border:1.5px solid var(--line);border-radius:999px;transition:border-color .2s,box-shadow .2s}
.email-line:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px rgba(19,168,148,.15)}
.email-line input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:12px 16px;font:16px var(--body);color:var(--ink)}
.email-line input::placeholder{color:#7A8D9C}
.email-line .btn{min-height:48px;padding:10px 24px;box-shadow:none}
.extra-fields{margin-top:16px}
.extra-fields summary{display:inline-flex;gap:6px;cursor:pointer;font-size:14px;font-weight:700;color:var(--teal-text)}
.extra-fields summary span{font-weight:400}
.extra-inner{display:grid;gap:10px;padding:16px 0 4px}
.extra-inner>input,.extra-inner select{min-height:46px;padding:10px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--white);font:16px var(--body);color:var(--ink)}
.extra-inner fieldset{border:0;padding:0;margin:8px 0 0}
.extra-inner legend,.extra-inner>label{font-size:14px;font-weight:700;margin-bottom:6px}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:14px}
.choices label{display:flex;align-items:center;gap:8px;cursor:pointer}
.choices input,.consent input{width:18px;height:18px;margin:0;accent-color:var(--teal-text);flex:none}
.consent{display:flex;align-items:flex-start;gap:10px;margin-top:16px;font-size:13px;line-height:1.5;color:var(--ink-soft)}
.consent input{margin-top:2px}
.error:not(:empty),.status:not(:empty){margin:10px 0 0;padding:10px 12px;border-left:3px solid #B83A52;border-radius:4px 12px 12px 4px;background:#FFF0EF;font-size:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.thanks{padding:20px 22px;border-radius:var(--radius-inner);background:var(--mint)}
.thanks h3{margin-bottom:4px;font-size:22px}
.join-note{margin-top:18px;font-size:13px;color:var(--ink-soft)}

/* FAQ */
.faq{max-width:820px}
.faq details{margin-bottom:12px;background:var(--white);border:1px solid rgba(16,51,74,.08);border-radius:var(--radius-inner);transition:box-shadow .2s}
.faq details[open]{box-shadow:var(--shadow)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;list-style:none;cursor:pointer;font-weight:700;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--amber-tint);font:400 22px/1 var(--body);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 24px 22px;color:var(--ink-soft)}

/* Footer */
.foot{background:var(--sand);padding:36px 0;font-size:14px}
.foot-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.foot-brand img{height:44px;width:auto}
.foot-tag{font:700 17px/1.2 var(--head)}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.foot-links a{text-underline-offset:3px}
.foot-copy{color:var(--ink-soft);font-size:13px}

/* Privacy page --------------------------------------------------------- */
.narrow{max-width:760px}
.prose h1{font-size:clamp(2.2rem,1.6rem + 2vw,3rem);margin-bottom:20px}
.prose h2{font-size:24px;margin:40px 0 12px}
.prose p,.prose li{line-height:1.7}
.prose p+p{margin-top:12px}
.prose ul{padding-left:1.25em;margin:12px 0}
.prose li+li{margin-top:6px}
.prose .big{font-size:19px;color:var(--ink-soft);margin-top:12px}
.prose a:not(.btn){color:var(--teal-text);text-underline-offset:3px}
.prose .btn{margin-top:32px}
.foot>.wrap>p{color:var(--ink-soft)}

/* Tablet --------------------------------------------------------------- */
@media (max-width:980px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-grid{gap:48px}
}
@media (max-width:860px){
  .wrap{padding-inline:24px}
  .site-nav{display:none}
  .hero{padding:32px 0 96px}
  .hero-grid{grid-template-columns:1fr;gap:72px}
  .hero-visual{max-width:380px;margin:0 auto;transform:translateX(-18px)}
  .steps{grid-template-columns:1fr;gap:16px}
  .step{display:grid;grid-template-columns:44px 1fr;column-gap:18px;padding:24px}
  .step-num{grid-row:span 2}
  .step h3{margin:6px 0 4px;font-size:20px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats li:nth-child(3){border-left:0}
  .stats li:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .join-grid{grid-template-columns:1fr;gap:24px}
  .join-photo{order:-1;aspect-ratio:16/10}
  .join-photo img{object-position:50% 22%}
  .join-card{padding:36px 28px}
}

/* Phone ---------------------------------------------------------------- */
@media (max-width:560px){
  .wrap{padding-inline:16px}
  .brand img{height:42px}
  .top .btn-small{min-height:40px;padding:8px 16px;font-size:13px}
  .hero{padding:24px 0 80px}
  .hero-lead{font-size:17px}
  .hero-actions .btn{width:100%}
  .perks{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;font-size:13px}
  .perks li{flex-direction:column;gap:8px;max-width:none;text-align:center}
  .hero-grid{gap:56px}
  .hero-visual{max-width:300px;transform:translateX(-22px)}
  .hero-visual::before{inset:24px -24px -24px 24px;border-radius:28px}
  .hero-visual::after{width:80px;height:80px;top:-22px;right:-22px}
  .hero-photo{border-radius:24px}
  .hello{left:-12px;top:20px;padding:9px 14px 10px;font-size:16px}
  .hello span{font-size:11.5px}
  .feedback-chip{left:-12px;bottom:40px;padding:9px 14px 9px 9px;gap:9px}
  .feedback-chip b{font-size:14px}
  .feedback-chip small{font-size:11px}
  .chip-check{width:30px;height:30px}
  .phone{right:-52px;bottom:-44px;transform:rotate(4deg) scale(.66)}
  .section{padding:64px 0}
  .section-head{margin-bottom:32px}
  .cards{grid-template-columns:1fr;gap:14px}
  .card{display:grid;grid-template-columns:112px 1fr}
  .card-img{height:100%;aspect-ratio:auto;min-height:118px}
  .card-body{padding:16px 18px}
  .card-icon{display:none}
  .card-body h3{margin:0 0 4px;font-size:18px}
  .card-body p{font-size:14px}
  .stats{grid-template-columns:1fr}
  .stats li+li{border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .stats li{padding:18px 20px}
  .join-card{padding:28px 20px;border-radius:24px}
  .join-photo{border-radius:24px}
  .email-line{flex-direction:column;align-items:stretch;border-radius:20px}
  .email-line .btn{width:100%}
  .choices{grid-template-columns:1fr}
  .faq summary{padding:18px 18px;font-size:16px}
  .faq details p{padding:0 18px 18px}
  .foot-inner{flex-direction:column;align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
