
/* The Smile Outreach — static port */
:root{
  --primary:#009688;
  --primary-deep:#00766b;
  --primary-soft:#cfece8;
  --accent:#4DB6AC;
  --coral:#E65100;
  --coral-fg:#fff;
  --bg:#faf7ef;
  --cream:#f6efe1;
  --ink:#13272d;
  --fg:#13272d;
  --muted:#5a6b6e;
  --border:#d8e3e1;
  --card:#ffffff;
  --radius:14px;
}
.exported-site *{box-sizing:border-box;margin:0;padding:0}
.exported-site{scroll-behavior:smooth}
.exported-site{
  font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:var(--bg);color:var(--fg);
  -webkit-font-smoothing:antialiased;line-height:1.55;
}
.exported-site img{max-width:100%;display:block}
.exported-site a{color:inherit;text-decoration:none}
.exported-site h1,.exported-site h2,.exported-site h3,.exported-site h4{font-family:'DM Sans',system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.exported-site ::selection{background:var(--coral);color:#fff}

.exported-site .container{max-width:1400px;margin:0 auto;padding:0 24px}
@media(min-width:1024px){.exported-site .container{padding:0 40px}}

/* Header */
.exported-site .site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .4s ease}
.exported-site .site-header.on-dark{background:transparent;color:var(--cream)}
.exported-site .site-header.on-light,.exported-site .site-header.scrolled{background:rgba(250,247,239,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);color:var(--ink)}
.exported-site .utility-bar{display:none;border-bottom:1px solid currentColor;border-bottom-color:rgba(255,255,255,.15)}
.exported-site .site-header.on-light .utility-bar,.exported-site .site-header.scrolled .utility-bar{border-bottom-color:var(--border)}
@media(min-width:1024px){.exported-site .utility-bar{display:block}}
.exported-site .utility-bar .container{height:40px;display:flex;align-items:center;justify-content:flex-end;gap:28px;font-size:12px;font-weight:500}
.exported-site .utility-bar a{opacity:.9}.exported-site .utility-bar a:hover{opacity:1;text-decoration:underline}

.exported-site .header-bar{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.exported-site .brand{display:flex;align-items:center;gap:12px}
.exported-site .brand-mark{display:grid;place-items:center;height:44px;width:44px;border-radius:8px;background:var(--coral);color:#fff;font-weight:900;font-size:20px}
.exported-site .brand-text{font-weight:800;font-size:16px;line-height:1.05}
.exported-site .brand-text .acc{color:var(--accent)}

.exported-site .main-nav{display:none;gap:28px;font-size:15px;font-weight:500;align-items:center}
@media(min-width:1280px){.exported-site .main-nav{display:flex}}
.exported-site .main-nav .nav-item{position:relative;padding:8px 0}
.exported-site .main-nav .nav-link{display:inline-flex;align-items:center;gap:4px;opacity:.92}
.exported-site .main-nav .nav-link:hover{opacity:1}
.exported-site .dropdown{position:absolute;left:0;top:100%;padding-top:10px;min-width:260px;display:none}
.exported-site .nav-item:hover .dropdown,.exported-site .nav-item:focus-within .dropdown{display:block}
.exported-site .dropdown-inner{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 50px -20px rgba(0,0,0,.25);overflow:hidden;color:var(--ink)}
.exported-site .dropdown a{display:block;padding:12px 20px;font-size:14px}
.exported-site .dropdown a:hover{background:var(--primary-soft);color:var(--primary)}

.exported-site .header-cta{display:none}
@media(min-width:1280px){.exported-site .header-cta{display:inline-flex}}
.exported-site .menu-btn{display:inline-flex;background:none;border:0;color:inherit;cursor:pointer;padding:8px}
@media(min-width:1280px){.exported-site .menu-btn{display:none}}

.exported-site .mobile-menu{display:none;background:#fff;color:var(--ink);border-top:1px solid var(--border);max-height:80vh;overflow-y:auto}
.exported-site .mobile-menu.open{display:block}
.exported-site .mobile-menu nav{display:flex;flex-direction:column;padding:24px;gap:6px}
.exported-site .mobile-menu .group-title{font-weight:800;font-size:20px;padding:10px 0;display:block}
.exported-site .mobile-menu .sub{padding-left:16px;display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.exported-site .mobile-menu .sub a{font-size:15px;opacity:.85}

/* Buttons */
.exported-site .btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:999px;font-weight:700;font-size:15px;transition:all .25s ease;border:0;cursor:pointer}
.exported-site .btn-coral{background:var(--coral);color:#fff}
.exported-site .btn-coral:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(230,81,0,.55)}
.exported-site .btn-primary{background:var(--primary);color:#fff}
.exported-site .btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(0,150,136,.55)}
.exported-site .btn-cream{background:var(--cream);color:var(--ink)}
.exported-site .btn-cream:hover{background:#efe7d6}
.exported-site .btn-outline{border:1.5px solid currentColor;background:transparent}

/* Layout helpers */
.exported-site .section{padding:80px 0}
@media(min-width:1024px){.exported-site .section{padding:110px 0}}
.exported-site .section-sm{padding:64px 0}
.exported-site .bg-deep{background:var(--primary-deep);color:var(--cream)}
.exported-site .bg-primary{background:var(--primary);color:#fff}
.exported-site .bg-cream{background:var(--cream)}
.exported-site .bg-soft{background:var(--primary-soft)}
.exported-site .bg-ink{background:var(--ink);color:var(--cream)}
.exported-site .bg-coral{background:var(--coral);color:#fff}
.exported-site .text-coral{color:var(--coral)}
.exported-site .text-primary{color:var(--primary)}
.exported-site .text-cream{color:var(--cream)}
.exported-site .eyebrow{font-size:12px;font-weight:800;letter-spacing:.25em;text-transform:uppercase;color:var(--coral)}
.exported-site .center{text-align:center}
.exported-site .balance{text-wrap:balance}
.exported-site .pretty{text-wrap:pretty}

.exported-site .h1{font-size:clamp(2.5rem,6vw,5.25rem);line-height:.98}
.exported-site .h2{font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.05}
.exported-site .h3{font-size:clamp(1.5rem,2.6vw,2rem)}

.exported-site .lead{font-size:18px;opacity:.9;max-width:48ch}
.exported-site .maxw-3xl{max-width:768px;margin-left:auto;margin-right:auto}
.exported-site .maxw-4xl{max-width:896px}

/* Accent underline */
.exported-site .acc-u{position:relative;display:inline-block;white-space:nowrap}
.exported-site .acc-u::after{content:'';position:absolute;left:-2%;right:-2%;bottom:-.05em;height:.18em;background:var(--coral);border-radius:999px;transform:scaleX(0);transform-origin:left;animation:ugrow 1s .6s cubic-bezier(.22,1,.36,1) forwards}
@keyframes ugrow{to{transform:scaleX(1)}}

/* Grid */
.exported-site .grid{display:grid;gap:24px}
.exported-site .g-12{grid-template-columns:repeat(12,1fr)}
.exported-site .g-2{grid-template-columns:1fr}
@media(min-width:640px){.exported-site .g-2{grid-template-columns:repeat(2,1fr)}}
.exported-site .g-3{grid-template-columns:1fr}
@media(min-width:640px){.exported-site .g-3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.exported-site .g-3{grid-template-columns:repeat(3,1fr)}}
.exported-site .g-4{grid-template-columns:repeat(2,1fr)}
@media(min-width:1024px){.exported-site .g-4{grid-template-columns:repeat(4,1fr)}}
.exported-site .g-gap-lg{gap:40px}

/* Reveal */
.exported-site .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
.exported-site .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.exported-site .reveal{opacity:1;transform:none}}

/* HERO */
.exported-site .hero{position:relative;padding:96px 0 80px;overflow:hidden}
@media(min-width:1024px){.exported-site .hero{padding:120px 0 110px}}
.exported-site .hero-grid{display:grid;gap:40px;align-items:center}
@media(min-width:1024px){.exported-site .hero-grid{grid-template-columns:7fr 5fr;gap:64px}}
.exported-site .hero h1{font-size:clamp(2.5rem,6.4vw,5.25rem);font-weight:800}
.exported-site .hero .blob{aspect-ratio:1/1;border-radius:48% 52% 60% 40% / 45% 55% 45% 55%;overflow:hidden;animation:blob 15s ease-in-out infinite}
.exported-site .hero .blob img{width:100%;height:100%;object-fit:cover}
@keyframes blob{0%,100%{border-radius:48% 52% 60% 40% / 45% 55% 45% 55%}50%{border-radius:55% 45% 40% 60% / 55% 45% 60% 40%}}

/* Curve divider */
.exported-site .curve{display:block;width:100%;height:64px;line-height:0}

/* Cards */
.exported-site .card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:28px;height:100%;display:flex;flex-direction:column}
.exported-site .card-lift{transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s}
.exported-site .card-lift:hover{transform:translateY(-6px);box-shadow:0 24px 50px -25px rgba(0,150,136,.35)}

/* Program cards with hover fill */
.exported-site .prog-card{position:relative;border-radius:18px;background:var(--cream);color:var(--ink);padding:32px;overflow:hidden;display:block;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
.exported-site .prog-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -20px rgba(0,0,0,.4)}
.exported-site .prog-card::before{content:'';position:absolute;left:0;right:0;bottom:0;height:0;background:var(--coral);transition:height .5s cubic-bezier(.22,1,.36,1);z-index:0}
.exported-site .prog-card:hover::before{height:100%}
.exported-site .prog-card>*{position:relative;z-index:1;transition:color .4s}
.exported-site .prog-card:hover *{color:#fff}
.exported-site .prog-card .tag{font-size:11px;font-weight:800;letter-spacing:.25em;text-transform:uppercase;color:var(--primary)}
.exported-site .prog-card h3{margin-top:14px;font-size:24px;line-height:1.15}
.exported-site .prog-card p{margin-top:14px;font-size:15px;color:#37494d;line-height:1.55}
.exported-site .prog-card .pill{margin-top:22px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(0,150,136,.3);border-radius:999px;padding:8px 14px;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--primary);transition:all .4s}
.exported-site .prog-card:hover .pill{border-color:#fff;color:#fff}

/* Counters */
.exported-site .counter{display:block;font-weight:800;font-size:clamp(2.75rem,6vw,5rem);line-height:1;color:var(--primary-deep);font-family:'DM Sans',sans-serif;letter-spacing:-.02em}
.exported-site .counter-label{margin-top:14px;font-size:14px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#3a4a4d}

/* Story rail */
.exported-site .story-rail{margin:0 -24px;padding:0 24px 16px;overflow-x:auto;scroll-snap-type:x mandatory}
@media(min-width:1024px){.exported-site .story-rail{margin:0 -40px;padding:0 40px 16px}}
.exported-site .story-rail ul{display:flex;gap:24px;min-width:max-content;list-style:none}
.exported-site .story-card{scroll-snap-align:start;width:78vw}
@media(min-width:640px){.exported-site .story-card{width:42vw}}
@media(min-width:1024px){.exported-site .story-card{width:380px}}
.exported-site .story-card .img{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#eee}
.exported-site .story-card .img img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.22,1,.36,1)}
.exported-site .story-card:hover .img img{transform:scale(1.05)}
.exported-site .story-card .tags{margin-top:16px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--primary)}
.exported-site .story-card .date{margin-top:6px;font-size:12px;color:#6b787a}
.exported-site .story-card h3{margin-top:10px;font-size:20px;color:var(--coral);line-height:1.25}
.exported-site .story-card:hover h3{text-decoration:underline;text-underline-offset:4px}

/* Focus area list */
.exported-site .focus-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);list-style:none}
.exported-site .focus-list li{border-bottom:1px solid var(--border)}
.exported-site .focus-list li:last-child{border-bottom:0}
.exported-site .focus-list a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0}
.exported-site .focus-list .label{font-weight:800;font-size:22px;line-height:1.15;transition:color .3s}
.exported-site .focus-list a:hover .label{color:var(--coral)}
.exported-site .focus-list .arrow{display:grid;place-items:center;height:44px;width:44px;border-radius:50%;border:1px solid var(--border);color:var(--primary);transition:all .3s;flex-shrink:0}
.exported-site .focus-list a:hover .arrow{background:var(--coral);color:#fff;border-color:var(--coral)}

/* Quote carousel */
.exported-site .quote-wrap{text-align:center;max-width:880px;margin:0 auto}
.exported-site .quote-body{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.3;font-weight:800;letter-spacing:-.01em}
.exported-site .quote-meta{margin-top:28px;font-size:14px;color:rgba(246,239,225,.85)}
.exported-site .quote-dots{margin-top:32px;display:flex;justify-content:center;gap:8px}
.exported-site .quote-dots button{height:8px;width:8px;border-radius:999px;background:rgba(246,239,225,.4);border:0;cursor:pointer;transition:all .3s;padding:0}
.exported-site .quote-dots button.active{width:32px;background:var(--coral)}

/* Partner marquee */
.exported-site .marquee{overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}
.exported-site .marquee-track{display:flex;gap:64px;align-items:center;width:max-content;animation:marqueeX 40s linear infinite}
.exported-site .marquee:hover .marquee-track{animation-play-state:paused}
.exported-site .marquee img{height:64px;width:auto;object-fit:contain;opacity:.7;filter:grayscale(1);transition:all .3s;flex-shrink:0}
.exported-site .marquee img:hover{opacity:1;filter:none}
@keyframes marqueeX{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* PageHero */
.exported-site .page-hero{position:relative;padding:140px 0 80px;background:var(--primary-deep);color:var(--cream);overflow:hidden}
@media(min-width:1024px){.exported-site .page-hero{padding:160px 0 100px}}
.exported-site .page-hero h1{font-size:clamp(2.5rem,5.5vw,4.5rem)}
.exported-site .page-hero .intro{margin-top:28px;font-size:18px;line-height:1.55;opacity:.92;max-width:60ch}
.exported-site .page-hero .quick-links{margin-top:32px;display:flex;flex-wrap:wrap;gap:10px}
.exported-site .page-hero .quick-links a{display:inline-block;padding:8px 16px;border:1px solid rgba(246,239,225,.4);border-radius:999px;font-size:13px;font-weight:600;transition:all .25s}
.exported-site .page-hero .quick-links a:hover{background:var(--coral);border-color:var(--coral);color:#fff}
.exported-site .page-hero .imgs{display:none}
@media(min-width:1024px){.exported-site .page-hero .imgs{display:flex;gap:16px;justify-content:flex-end}}
.exported-site .page-hero .imgs .blob{width:200px;aspect-ratio:1/1;border-radius:48% 52% 60% 40% / 45% 55% 45% 55%;overflow:hidden}
.exported-site .page-hero .imgs .blob:nth-child(2){width:240px;margin-top:48px}
.exported-site .page-hero .imgs img{width:100%;height:100%;object-fit:cover}

/* Value chips */
.exported-site .value-card{border-radius:14px;padding:28px;height:100%;background:var(--primary);color:#fff}
.exported-site .value-card.alt{background:var(--coral)}
.exported-site .value-card h3{font-size:22px;margin-bottom:12px}
.exported-site .value-card p{opacity:.92;line-height:1.55}

/* Priority cards */
.exported-site .priority{background:var(--primary);color:#fff;border-radius:14px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.exported-site .priority .star{color:var(--coral);font-size:22px}

/* Team grid */
.exported-site .team-card .img{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#eee}
.exported-site .team-card .img img{width:100%;height:100%;object-fit:cover}
.exported-site .team-card h3{margin-top:18px;font-size:20px;color:var(--coral)}
.exported-site .team-card .role{margin-top:8px;display:inline-block;background:var(--primary);color:#fff;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}

/* Coordinator */
.exported-site .coord{display:grid;gap:32px;padding-bottom:48px;border-bottom:1px solid var(--border)}
@media(min-width:768px){.exported-site .coord{grid-template-columns:4fr 8fr}}
.exported-site .coord:last-child{border-bottom:0}
.exported-site .coord .img{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#eee}
.exported-site .coord .img img{width:100%;height:100%;object-fit:cover}
.exported-site .coord h3{font-size:24px;color:var(--coral)}
.exported-site .coord .role{margin-top:8px;display:inline-block;background:var(--primary);color:#fff;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}
.exported-site .coord p{margin-top:20px;line-height:1.7;color:#3a4a4d}

/* Banner */
.exported-site .banner{background:var(--primary);color:#fff;padding:12px 24px;text-align:center;font-weight:800;letter-spacing:.2em;font-size:14px;text-transform:uppercase;border-radius:8px;margin-bottom:48px}

/* Approach list (numbered) */
.exported-site .approach{background:var(--primary);color:#fff;border-radius:18px;overflow:hidden;list-style:none}
.exported-site .approach li{display:flex;gap:20px;padding:22px 24px;border-bottom:1px solid rgba(246,239,225,.15)}
.exported-site .approach li:last-child{border-bottom:0}
.exported-site .approach .num{font-weight:800;font-size:24px;color:var(--coral);flex-shrink:0}
.exported-site .approach p{color:rgba(246,239,225,.95);line-height:1.6}

/* Objectives grid */
.exported-site .obj-grid{display:grid;gap:24px}
@media(min-width:1024px){.exported-site .obj-grid{grid-template-columns:4fr 8fr}}
.exported-site .obj-label{background:var(--ink);color:var(--cream);border-radius:18px;padding:32px;display:grid;place-items:center;min-height:260px}
.exported-site .obj-label .pill{background:var(--cream);color:var(--ink);border-radius:12px;padding:14px 24px;font-weight:800;font-size:20px}
.exported-site .obj-items{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}
@media(min-width:1024px){.exported-site .obj-items{grid-template-columns:repeat(3,1fr)}}
.exported-site .obj-item{background:var(--primary);color:#fff;border-radius:12px;padding:20px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:14px;font-weight:600}
.exported-site .obj-item .star{color:var(--coral)}

/* CTA strip with lightbulb */
.exported-site .cta-strip{display:grid;gap:24px;align-items:center}
@media(min-width:768px){.exported-site .cta-strip{grid-template-columns:auto 1fr auto}}
.exported-site .cta-strip h2{color:var(--coral);font-size:32px;margin-bottom:8px}
.exported-site .cta-strip .bulb{font-size:48px;color:var(--primary)}

/* Form */
.exported-site .form-field{margin-bottom:24px}
.exported-site .form-field label{display:block;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.exported-site .form-field input,.exported-site .form-field textarea{width:100%;background:transparent;border:0;border-bottom:2px solid rgba(0,0,0,.2);padding:12px 0;font-size:18px;font-family:inherit;outline:none;transition:border-color .2s;color:var(--fg)}
.exported-site .form-field input:focus,.exported-site .form-field textarea:focus{border-bottom-color:var(--primary)}
.exported-site .form-field textarea{resize:vertical;min-height:120px}

/* Donate tiers */
.exported-site .tier{background:#fff;border:2px solid var(--border);border-radius:18px;padding:24px;text-align:left;cursor:pointer;transition:all .25s;font:inherit;color:inherit;width:100%}
.exported-site .tier:hover{border-color:rgba(230,81,0,.5)}
.exported-site .tier.selected{border-color:var(--coral);background:rgba(230,81,0,.05)}
.exported-site .tier .amt{font-weight:800;font-size:32px;color:var(--primary)}
.exported-site .tier .desc{margin-top:8px;font-size:14px;color:#3a4a4d}

/* Sidebar info card */
.exported-site .side-card{background:var(--cream);border:1px solid var(--border);border-radius:18px;padding:32px;position:sticky;top:112px}
.exported-site .side-card .eyebrow{margin-bottom:18px}
.exported-site .side-card ul{list-style:none}
.exported-site .side-card li{display:flex;gap:12px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border)}
.exported-site .side-card li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.exported-site .side-card .icon{color:var(--primary);flex-shrink:0;margin-top:4px}

/* Footer */
.exported-site .site-footer{background:var(--primary-deep);color:var(--cream);padding:80px 0 40px}
@media(min-width:1024px){.exported-site .site-footer{padding:110px 0 40px}}
.exported-site .footer-grid{display:grid;gap:48px}
@media(min-width:1024px){.exported-site .footer-grid{grid-template-columns:5fr 7fr}}
.exported-site .footer-cols{display:grid;gap:40px;grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.exported-site .footer-cols{grid-template-columns:repeat(4,1fr)}}
.exported-site .footer-col h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,239,225,.6);margin-bottom:18px;font-weight:800}
.exported-site .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.exported-site .footer-col a{font-size:14px;color:rgba(246,239,225,.92)}
.exported-site .footer-col a:hover{text-decoration:underline}
.exported-site .footer-tag{font-size:clamp(1.5rem,3.5vw,2.25rem);line-height:1.05;max-width:480px;margin:32px 0}
.exported-site .footer-bottom{margin-top:64px;padding-top:32px;border-top:1px solid rgba(246,239,225,.15);display:grid;gap:24px}
@media(min-width:768px){.exported-site .footer-bottom{grid-template-columns:1fr 1fr}}
.exported-site .footer-bottom .social{display:flex;gap:16px;margin-bottom:12px}
@media(min-width:768px){.exported-site .footer-bottom .right{text-align:right}.exported-site .footer-bottom .social{justify-content:flex-end}}
.exported-site .footer-bottom .copy{font-size:12px;color:rgba(246,239,225,.6)}

/* Misc */
.exported-site .iframe-wrap{aspect-ratio:16/9;border-radius:18px;overflow:hidden;border:1px solid var(--border)}
.exported-site .iframe-wrap iframe{width:100%;height:100%;border:0}
.exported-site .divider-y > * + *{margin-top:40px}
.exported-site .spaced > * + *{margin-top:16px}
.exported-site .img-cover{width:100%;height:100%;object-fit:cover}
.exported-site .aspect-43{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#eee}
.exported-site .aspect-45{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#eee}
.exported-site .aspect-169{aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#eee}
.exported-site .round{aspect-ratio:1/1;border-radius:999px;overflow:hidden;background:rgba(77,182,172,.25);max-width:480px;margin:0 auto}
.exported-site .round img{width:100%;height:100%;object-fit:cover}

.exported-site .lcard{border-left:4px solid var(--coral);padding-left:24px}
.exported-site .lcard h3{font-size:22px;color:var(--coral);margin-bottom:12px}
.exported-site .lcard p{color:#3a4a4d;line-height:1.65}

/* Generic helpers used in pages */
.exported-site .flex-between{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px}
.exported-site .mt-3{margin-top:12px}.exported-site .mt-4{margin-top:16px}.exported-site .mt-6{margin-top:24px}.exported-site .mt-8{margin-top:32px}.exported-site .mt-10{margin-top:40px}.exported-site .mt-12{margin-top:48px}.exported-site .mt-14{margin-top:56px}.exported-site .mt-16{margin-top:64px}
.exported-site .mb-3{margin-bottom:12px}.exported-site .mb-6{margin-bottom:24px}.exported-site .mb-8{margin-bottom:32px}.exported-site .mb-10{margin-bottom:40px}.exported-site .mb-12{margin-bottom:48px}

/* ===== Enhanced interactivity styles ===== */
.exported-site body.menu-locked{overflow:hidden}
.exported-site .menu-btn{font-size:24px;line-height:1}
.exported-site .menu-btn[aria-expanded="true"]{color:var(--coral)}

/* Dropdown: hover OR explicit .is-open (touch/keyboard), with fade-in */
.exported-site .main-nav .nav-item.is-open .dropdown{display:block}
.exported-site .dropdown-inner{transform-origin:top left;animation:dd-in .22s cubic-bezier(.22,1,.36,1)}
@keyframes dd-in{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}

/* Hero rotator crossfade */
.exported-site [data-hero-rotate]{transition:opacity .5s ease, transform .5s ease}
.exported-site .hero-rot-in{animation:hero-rot .6s cubic-bezier(.22,1,.36,1)}
@keyframes hero-rot{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Story rail: cursor + drag affordance */
.exported-site .story-rail{cursor:grab;scrollbar-width:none}
.exported-site .story-rail::-webkit-scrollbar{display:none}
.exported-site .story-rail.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.exported-site .story-rail.dragging a{pointer-events:none}

/* Mobile menu open animation */
.exported-site .mobile-menu{transform-origin:top;animation:mm-in .25s ease}
@keyframes mm-in{from{opacity:0;transform:scaleY(.96)}to{opacity:1;transform:none}}

/* Header utility-bar text always inherits header color */
.exported-site .site-header.scrolled .utility-bar a{color:var(--ink)}

/* Make sure quote dots are clickable & visible */
.exported-site .quote-dots button{cursor:pointer}


/* ---- WordPress-safe overrides (scoped) ---- */
.exported-site { --primary:#009688;
  --primary-deep:#00766b;
  --primary-soft:#cfece8;
  --accent:#4DB6AC;
  --coral:#E65100;
  --coral-fg:#fff;
  --bg:#faf7ef;
  --cream:#f6efe1;
  --ink:#13272d;
  --fg:#13272d;
  --muted:#5a6b6e;
  --border:#d8e3e1;
  --card:#ffffff;
  --radius:14px; }
.exported-site, .exported-site * { box-sizing: border-box; }
.exported-site svg { max-width: none; height: auto; display: block; }
.exported-site img { max-width: 100%; height: auto; display: block; }
.exported-site a { text-decoration: none; color: inherit; }
.exported-site ul, .exported-site ol { list-style: none; margin: 0; padding: 0; }
.exported-site button { font: inherit; }
.exported-site svg.curve { display:block; width:100%; max-width:none; height:64px; line-height:0; pointer-events:none; }
@media (min-width: 1024px) { .exported-site svg.curve { height: 110px; } }
.exported-site .hero, .exported-site .page-hero { position: relative; overflow: hidden; }


/* ------------------------------------------------------------------
   WordPress conversion fidelity patch
   Keeps Lovable layout, visible curves, and decorative hero animation.
------------------------------------------------------------------ */
html .exported-site {
  --primary:#009688;
  --primary-deep:#00766b;
  --primary-soft:#cfece8;
  --accent:#4DB6AC;
  --coral:#E65100;
  --bg:#faf7ef;
  --cream:#f6efe1;
  --ink:#13272d;
  --fg:#13272d;
  --muted:#5a6b6e;
  --border:#d8e3e1;
  --card:#ffffff;
}
body.admin-bar .exported-site .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .exported-site .site-header { top: 46px; } }
.exported-site .page-hero { background: var(--primary); }
.exported-site .hero > .container,
.exported-site .page-hero > .container { position: relative; z-index: 2; }
@media (min-width: 1024px) {
  .exported-site .page-hero.has-hero-image > .container > .grid {
    grid-template-columns: 7fr 5fr !important;
    gap: 64px !important;
    align-items: center !important;
  }
  .exported-site .page-hero.has-hero-image .imgs {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 260px;
  }
  .exported-site .page-hero.has-hero-image .imgs .blob {
    width: min(280px, 22vw);
    border: 10px solid rgba(77, 182, 172, .75);
    box-shadow: 0 22px 70px -25px rgba(0,0,0,.35);
    animation: blob 15s ease-in-out infinite;
    position: relative;
    z-index: 2;
  }
}
.exported-site .hero,
.exported-site .page-hero { position: relative; overflow: hidden; }
.exported-site .hero svg.curve,
.exported-site .page-hero svg.curve {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 3;
  width: 100%;
  height: 64px;
  max-width: none;
  display: block;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .exported-site .hero svg.curve,
  .exported-site .page-hero svg.curve { height: 110px; }
}
.exported-site svg.curve path { fill: var(--bg) !important; }
.exported-site .hero-orbit {
  position: absolute;
  border-radius: 50%;
  border: 4px dashed rgba(246,239,225,.20);
  pointer-events: none;
  z-index: 1;
  animation: smileOrbitSpin 24s linear infinite;
  will-change: transform;
}
.exported-site .hero-orbit-left { width: 280px; height: 280px; left: -110px; top: 180px; }
.exported-site .hero-orbit-right { width: 330px; height: 330px; right: -80px; top: 210px; border-color: rgba(230,81,0,.32); animation-duration: 32s; animation-direction: reverse; }
.exported-site .page-hero .hero-orbit-left { width: 280px; height: 280px; left: -80px; top: 170px; }
.exported-site .page-hero .hero-orbit-right { width: 330px; height: 330px; right: -60px; top: 230px; }
@keyframes smileOrbitSpin { to { transform: rotate(360deg); } }
@media (max-width: 900px) {
  .exported-site .hero-orbit-left { width: 220px; height: 220px; left: -120px; top: 130px; }
  .exported-site .hero-orbit-right { width: 240px; height: 240px; right: -140px; top: 240px; }
}
@media (prefers-reduced-motion: reduce) { .exported-site .hero-orbit { animation: none; } }
.no-js .exported-site .reveal { opacity: 1; transform: none; }


/* Elementor full-width compatibility patch
   Keeps Smile widgets full-bleed even when Elementor's parent section is accidentally boxed. */
.exported-site .elementor,
.exported-site .elementor-section-wrap,
.exported-site .elementor-section,
.exported-site .elementor-container,
.exported-site .elementor-column,
.exported-site .elementor-widget-wrap,
.exported-site .elementor-widget,
.exported-site .elementor-widget-container {
  max-width: none;
}

.exported-site .elementor-section.elementor-section-boxed > .elementor-container,
.exported-site .elementor-section.elementor-section-boxed > .elementor-container > .elementor-column,
.exported-site .elementor-section.elementor-section-boxed > .elementor-container > .elementor-column > .elementor-widget-wrap {
  max-width: none !important;
  width: 100% !important;
}

.exported-site .elementor-section.elementor-section-boxed,
.exported-site .elementor-section.elementor-section-full_width {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.exported-site .elementor-widget-smile_hero,
.exported-site .elementor-widget-smile_page_hero,
.exported-site .elementor-widget-smile_content_section,
.exported-site .elementor-widget-smile_program_cards,
.exported-site .elementor-widget-smile_stats,
.exported-site .elementor-widget-smile_stories,
.exported-site .elementor-widget-smile_testimonials,
.exported-site .elementor-widget-smile_partners,
.exported-site .elementor-widget-smile_cta,
.exported-site .elementor-widget-smile_focus_list,
.exported-site .elementor-widget-smile_generic_cards,
.exported-site .elementor-widget-smile_contact_section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  left: auto !important;
  right: auto !important;
}

.exported-site .elementor-widget-smile_hero > .elementor-widget-container,
.exported-site .elementor-widget-smile_page_hero > .elementor-widget-container,
.exported-site .elementor-widget-smile_content_section > .elementor-widget-container,
.exported-site .elementor-widget-smile_program_cards > .elementor-widget-container,
.exported-site .elementor-widget-smile_stats > .elementor-widget-container,
.exported-site .elementor-widget-smile_stories > .elementor-widget-container,
.exported-site .elementor-widget-smile_testimonials > .elementor-widget-container,
.exported-site .elementor-widget-smile_partners > .elementor-widget-container,
.exported-site .elementor-widget-smile_cta > .elementor-widget-container,
.exported-site .elementor-widget-smile_focus_list > .elementor-widget-container,
.exported-site .elementor-widget-smile_generic_cards > .elementor-widget-container,
.exported-site .elementor-widget-smile_contact_section > .elementor-widget-container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.elementor-page .exported-site main,
body.elementor-page .exported-site .entry-content,
body.elementor-page .exported-site .page-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
