
:root{
  --ink:#071628;
  --ink-2:#122b45;
  --navy:#071a33;
  --navy-2:#0a274d;
  --navy-3:#06111f;
  --glass:rgba(255,255,255,.68);
  --glass-strong:rgba(255,255,255,.84);
  --white:#fff;
  --paper:#fbfdff;
  --sand:#fff6df;
  --coast:#e6fbff;
  --aqua:#65c7da;
  --blue:#2374a6;
  --gold:#d7a845;
  --gold-2:#ffe3a2;
  --rose:#ffd5bd;
  --muted:#62778e;
  --line:rgba(8,28,56,.12);
  --line-gold:rgba(215,168,69,.34);
  --shadow:0 28px 90px rgba(7,26,51,.16);
  --shadow-soft:0 14px 42px rgba(7,26,51,.10);
  --radius-xl:38px;
  --radius-lg:28px;
  --radius-md:20px;
  --ease:cubic-bezier(.22,1,.36,1);
  --font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#f6fbff}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 4% 10%, rgba(101,199,218,.30), transparent 24rem),
    radial-gradient(circle at 94% 6%, rgba(215,168,69,.30), transparent 28rem),
    radial-gradient(circle at 68% 42%, rgba(255,213,189,.22), transparent 22rem),
    linear-gradient(180deg,#f8fdff 0%,#ffffff 38%,#fff9ea 100%);
}
body:before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-4;
  background-image:
    linear-gradient(rgba(8,28,56,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,28,56,.035) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.18) 66%,transparent);
}
body:after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-3;opacity:.52;
  background:
    radial-gradient(circle at var(--mx,50%) var(--my,20%), rgba(255,255,255,.95), transparent 18rem),
    linear-gradient(120deg,rgba(255,255,255,.18),transparent 45%);
  transition:background .22s linear;
}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 42px));margin:0 auto}.wide{width:min(1320px,calc(100% - 42px));margin:0 auto}
.design-note{position:fixed;left:18px;bottom:18px;z-index:60;padding:10px 13px;border-radius:999px;background:rgba(7,26,51,.74);color:#fff;font-size:.78rem;font-weight:850;backdrop-filter:blur(14px);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.motion-scrim{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:0;background:linear-gradient(135deg,rgba(7,26,51,.96),rgba(11,52,83,.86));transition:opacity .42s var(--ease)}.motion-scrim:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,transparent,var(--gold),var(--aqua),transparent);transform:translateX(-100%)}body.is-leaving .motion-scrim{opacity:1}body.is-leaving .motion-scrim:before{animation:sweep .55s var(--ease) forwards}@keyframes sweep{to{transform:translateX(100%)}}
.site-header{position:sticky;top:14px;z-index:50;padding:0 0 12px}.nav-shell{width:min(1240px,calc(100% - 34px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(255,255,255,.74);backdrop-filter:blur(28px) saturate(1.15);box-shadow:0 20px 60px rgba(7,26,51,.12)}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;font-weight:1000;color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue));box-shadow:0 12px 28px rgba(7,26,51,.25);position:relative;overflow:hidden}.brand-mark:after{content:"";position:absolute;inset:-60% auto auto -80%;width:70%;height:230%;background:rgba(255,255,255,.32);transform:rotate(24deg);animation:markShine 6s linear infinite}@keyframes markShine{0%,66%{left:-80%}78%,100%{left:140%}}.brand-copy{display:grid;line-height:1.05}.brand-copy strong{font-size:1.02rem;letter-spacing:-.03em}.brand-copy span{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:900}.nav-links{display:flex;align-items:center;gap:3px}.nav-link{position:relative;border-radius:999px;padding:10px 13px;font-size:.82rem;font-weight:950;color:#1b334d;transition:color .24s ease,background .24s ease,transform .24s var(--ease)}.nav-link:hover{background:rgba(8,28,56,.06);transform:translateY(-1px)}.nav-link.active{background:var(--navy);color:#fff}.nav-cta,.mobile-toggle{border:0;border-radius:999px;padding:12px 18px;background:var(--navy);color:#fff;font-weight:1000;box-shadow:0 16px 36px rgba(7,26,51,.22);cursor:pointer}.nav-cta.gold{background:linear-gradient(135deg,var(--gold),#f2c76b);color:#3b2a05}.mobile-toggle{display:none;background:rgba(8,28,56,.08);color:var(--navy);box-shadow:none}.hero{position:relative;min-height:760px;padding:80px 0 70px;overflow:hidden}.hero:before{content:"";position:absolute;left:50%;top:2%;width:1140px;height:640px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(255,255,255,.96),rgba(255,255,255,.32) 45%,transparent 72%);z-index:-2}.hero:after{content:"";position:absolute;right:-12%;top:12%;width:52vw;height:52vw;border-radius:50%;background:conic-gradient(from 180deg,rgba(215,168,69,.14),rgba(101,199,218,.22),rgba(255,255,255,.1),rgba(215,168,69,.14));filter:blur(5px);z-index:-2;animation:slowSpin 28s linear infinite}@keyframes slowSpin{to{transform:rotate(360deg)}}.hero-grid{display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:32px}.kicker{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.22em;color:#866013;font-size:.74rem;font-weight:1000;margin-bottom:20px}.kicker:before{content:"";width:34px;height:1px;background:var(--gold)}h1{font-size:clamp(3.7rem,8.2vw,8.7rem);line-height:.86;margin:0;letter-spacing:-.085em;color:var(--navy);max-width:780px}.hero h1 .gradient-text{display:inline;background:linear-gradient(95deg,#081a34,#167caa 42%,#c69228 72%,#081a34);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lede{font-size:clamp(1.06rem,1.8vw,1.42rem);line-height:1.72;color:#566d86;max-width:720px;margin:24px 0}.action-row{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 20px;font-weight:1000;border:1px solid transparent;transition:transform .24s var(--ease),box-shadow .24s var(--ease),background .24s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(7,26,51,.14)}.btn.primary{background:var(--navy);color:#fff}.btn.gold{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#4b3505}.btn.ghost{background:rgba(255,255,255,.68);border-color:rgba(8,28,56,.12);color:var(--navy);backdrop-filter:blur(14px)}.btn.white{background:#fff;color:var(--navy)}.hero-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.metric{position:relative;padding:18px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.78);box-shadow:0 16px 42px rgba(7,26,51,.08);overflow:hidden}.metric:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.72),transparent);transform:translateX(-120%);transition:transform .7s var(--ease)}.metric:hover:before{transform:translateX(120%)}.metric strong{display:block;color:var(--navy);font-size:1.16rem}.metric span{display:block;color:var(--muted);font-size:.86rem;font-weight:850;margin-top:5px}.hero-visual{position:relative;min-height:620px;perspective:1300px}.dashboard-orbit{position:absolute;inset:6% 1% 4% 4%;border-radius:46px;background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.38));border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);backdrop-filter:blur(28px);transform:rotateY(-10deg) rotateX(4deg);transform-style:preserve-3d;overflow:hidden}.dashboard-orbit:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 90deg,rgba(101,199,218,.28),rgba(215,168,69,.25),rgba(255,255,255,0),rgba(101,199,218,.28));animation:slowSpin 18s linear infinite}.dash-inner{position:absolute;inset:18px;border-radius:34px;background:linear-gradient(180deg,#071a33,#0e315d);color:#fff;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.11)}.dash-inner:before{content:"";position:absolute;inset:0;background:url('../../images/stuart-waterfront.jpg') center/cover no-repeat;opacity:.18}.dash-inner:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(215,168,69,.28),transparent 26rem),linear-gradient(180deg,rgba(7,26,51,.12),rgba(7,26,51,.94))}.dash-content{position:relative;z-index:2;height:100%;display:grid;align-content:space-between;padding:26px}.dash-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.live-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:9px 12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);font-weight:950;font-size:.78rem}.live-pill i{width:8px;height:8px;border-radius:50%;background:#69ffd2;box-shadow:0 0 18px #69ffd2}.screen-title{font-size:clamp(2rem,3.2vw,3.4rem);line-height:.96;letter-spacing:-.06em;margin:0}.network-svg{position:absolute;inset:15% 8% 22%;z-index:1;opacity:.72}.network-svg circle{filter:drop-shadow(0 0 10px rgba(101,199,218,.55))}.network-svg .pulse{animation:pulseNode 2.8s ease-in-out infinite}.network-svg .line{stroke-dasharray:7 9;animation:dashMove 6s linear infinite}@keyframes dashMove{to{stroke-dashoffset:-100}}@keyframes pulseNode{50%{transform:scale(1.15);opacity:.72}}.dash-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-card{padding:16px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(16px)}.dash-card strong{display:block;color:#fff}.dash-card span{display:block;color:rgba(255,255,255,.68);font-size:.84rem;margin-top:5px}.float-card{position:absolute;z-index:5;width:230px;border-radius:28px;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.86);box-shadow:var(--shadow-soft);padding:18px;backdrop-filter:blur(22px);animation:floaty 7s var(--ease) infinite}.float-card h4{margin:0 0 5px;color:var(--navy);letter-spacing:-.03em}.float-card p{margin:0;color:var(--muted);line-height:1.45;font-size:.88rem}.float-card.one{left:-18px;top:96px}.float-card.two{right:-6px;top:38px;animation-delay:-2s}.float-card.three{right:28px;bottom:30px;animation-delay:-4s}.float-card .value{font-size:1.5rem;font-weight:1000;color:#0c294b}.float-card .mini-link{margin-top:10px;display:inline-flex;color:#0b5b98;font-weight:950}.spark{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 22px var(--gold);animation:spark 5s ease-in-out infinite}.spark.a{left:14%;bottom:16%}.spark.b{right:12%;top:29%;animation-delay:-2s}.spark.c{right:34%;bottom:5%;animation-delay:-3.3s}@keyframes floaty{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(1deg)}}@keyframes spark{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.3)}}
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.72);border:1px solid rgba(8,28,56,.1);color:#5f490f;font-size:.76rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.pill.dark{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#ffe5a4}.pill-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 16px rgba(215,168,69,.8)}.section{position:relative;padding:72px 0}.section.soft{background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,.76))}.section.dark{margin:70px 0;padding:84px 0;border-radius:54px;background:radial-gradient(circle at 15% 15%,rgba(101,199,218,.22),transparent 28rem),radial-gradient(circle at 82% 22%,rgba(215,168,69,.20),transparent 28rem),linear-gradient(135deg,#06111f,#0a274d 62%,#07101d);color:#fff;overflow:hidden}.section.dark:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at 50% 30%,black,transparent 72%)}.section.dark .container,.section.dark .wide{position:relative;z-index:2}.section-head{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:28px}.section-title,h2{font-size:clamp(2.2rem,5.2vw,5.3rem);line-height:.92;letter-spacing:-.075em;margin:0;color:var(--navy)}.section.dark .section-title,.section.dark h2{color:#fff}.section-copy{max-width:720px;color:var(--muted);font-size:1.05rem;line-height:1.7;margin:15px 0 0}.section.dark .section-copy,.section.dark p{color:rgba(255,255,255,.74)}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{position:relative;border-radius:var(--radius-lg);background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.88);box-shadow:var(--shadow-soft);overflow:hidden;backdrop-filter:blur(24px);transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s ease}.card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:rgba(215,168,69,.42)}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 18%,rgba(255,255,255,.48),transparent 46%);transform:translateX(-140%);transition:transform .8s var(--ease);pointer-events:none}.card:hover:after{transform:translateX(140%)}.dark .card{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.15);color:#fff}.card-pad{padding:24px}.card h3{font-size:1.36rem;letter-spacing:-.035em;margin:0 0 10px;color:var(--navy)}.dark .card h3{color:#fff}.card p{margin:0;color:var(--muted);line-height:1.6}.card-image{height:208px;background:center/cover no-repeat;position:relative}.card-image:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(7,26,51,.28))}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tag{display:inline-flex;border-radius:999px;padding:7px 10px;background:rgba(8,28,56,.07);color:#395570;font-size:.78rem;font-weight:950}.tag.gold{background:rgba(215,168,69,.17);color:#715315}.tag.white{background:rgba(255,255,255,.14);color:#fff}.showcase{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:center}.showcase-screen{position:relative;min-height:420px;border-radius:42px;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 90px rgba(0,0,0,.24);overflow:hidden}.showcase-screen:before{content:"";position:absolute;inset:20px;border-radius:30px;background:linear-gradient(135deg,rgba(101,199,218,.14),rgba(215,168,69,.08)),url('../../images/stuartlocal-advertise-banner.jpg') center/cover no-repeat;opacity:.9}.showcase-screen:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.2),transparent);transform:translateX(-120%);animation:glassSweep 4.8s ease-in-out infinite}@keyframes glassSweep{55%,100%{transform:translateX(140%)}}.sponsor-chip{position:absolute;left:44px;bottom:42px;right:44px;padding:18px;border-radius:24px;background:rgba(7,26,51,.72);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(16px);color:#fff}.sponsor-chip strong{display:block;font-size:1.25rem}.marquee{overflow:hidden;border-radius:28px;padding:15px;border:1px solid rgba(215,168,69,.28);background:rgba(255,255,255,.08);margin-top:20px}.marquee-track{display:flex;gap:30px;width:max-content;animation:marquee 28s linear infinite}.marquee span{white-space:nowrap;color:#ffe5a4;font-weight:1000}@keyframes marquee{to{transform:translateX(-50%)}}
.facebook-panel{position:relative;border-radius:46px;padding:34px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.54));border:1px solid rgba(255,255,255,.92);box-shadow:var(--shadow)}.facebook-panel:before{content:"";position:absolute;right:-120px;top:-130px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(24,119,242,.22),transparent 64%)}.facebook-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr .8fr;gap:24px;align-items:center}.fb-card{border-radius:34px;background:linear-gradient(135deg,#0f4fb8,#1877f2);color:#fff;padding:28px;box-shadow:0 24px 64px rgba(24,119,242,.24);position:relative;overflow:hidden}.fb-card:after{content:"";position:absolute;inset:auto -80px -100px auto;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.17)}.fb-card strong{display:block;font-size:2.1rem;letter-spacing:-.05em}.fb-card p{position:relative;z-index:2;color:rgba(255,255,255,.78);line-height:1.6}.pulse-ring{position:absolute;width:190px;height:190px;border-radius:50%;border:1px solid rgba(255,255,255,.28);right:22px;top:24px;animation:ring 3.8s ease-in-out infinite}.pulse-ring.two{animation-delay:-1.5s}.pulse-ring.three{animation-delay:-2.8s}@keyframes ring{0%{transform:scale(.65);opacity:.4}70%{transform:scale(1.3);opacity:0}100%{opacity:0}}
.map-system{position:relative;min-height:440px;border-radius:46px;background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,255,255,.36));border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow-soft);overflow:hidden}.map-system svg{position:absolute;inset:0;width:100%;height:100%;opacity:.9}.map-caption{position:absolute;left:26px;bottom:26px;right:26px;border-radius:24px;background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.84);padding:18px;backdrop-filter:blur(16px)}.map-caption h3{margin:0 0 6px;color:var(--navy)}.map-caption p{margin:0;color:var(--muted);line-height:1.55}.page-hero{padding:80px 0 26px}.page-hero-card{position:relative;overflow:hidden;border-radius:48px;padding:54px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.52));border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow)}.page-hero-card:before{content:"";position:absolute;right:-110px;top:-160px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(101,199,218,.28),transparent 60%)}.page-title{font-size:clamp(3rem,6.6vw,7rem);line-height:.88;letter-spacing:-.085em;margin:0;color:var(--navy);position:relative;z-index:2}.page-hero-card .section-copy,.page-hero-card .pill,.page-hero-card .action-row{position:relative;z-index:2}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0}.filter-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:950;color:#38536f;box-shadow:0 10px 24px rgba(8,26,52,.05)}.filter-chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.form-shell{display:grid;grid-template-columns:.82fr 1.18fr;gap:22px}.form-card{padding:26px;border-radius:var(--radius-lg);background:rgba(255,255,255,.78);box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.86);backdrop-filter:blur(20px)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:7px;margin-bottom:12px}.field label{font-weight:950;color:var(--navy);font-size:.86rem}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(8,28,56,.14);background:#fbfdff;border-radius:17px;padding:13px 14px;color:var(--ink);outline:none}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(215,168,69,.74);box-shadow:0 0 0 4px rgba(215,168,69,.12)}.accordion{display:grid;gap:10px}.accordion details{border:1px solid var(--line);background:rgba(255,255,255,.78);border-radius:22px;padding:16px}.accordion summary{cursor:pointer;font-weight:1000;color:var(--navy)}.accordion p{color:var(--muted);line-height:1.65}.site-footer{margin-top:70px;background:radial-gradient(circle at 15% 20%,rgba(101,199,218,.14),transparent 26rem),linear-gradient(135deg,#06111f,#0a274d);color:#fff;padding:60px 0 34px;border-radius:54px 54px 0 0}.footer-grid{display:grid;grid-template-columns:1.1fr repeat(3,.7fr);gap:24px}.site-footer p,.site-footer a{color:rgba(255,255,255,.72);line-height:1.62}.site-footer h4{margin:0 0 14px;color:#fff}.footer-links{display:grid;gap:9px}.footer-bottom{margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:rgba(255,255,255,.58);font-size:.9rem}.reveal{opacity:0;transform:translateY(22px);filter:blur(8px);transition:opacity .78s var(--ease),transform .78s var(--ease),filter .78s var(--ease)}.reveal.in-view{opacity:1;transform:none;filter:none}.stagger-1{transition-delay:.08s}.stagger-2{transition-delay:.16s}.stagger-3{transition-delay:.24s}.stagger-4{transition-delay:.32s}.visual-divider{height:100px;position:relative;overflow:hidden}.visual-divider:before{content:"";position:absolute;left:-5%;right:-5%;top:8px;height:120px;border-radius:50% 50% 0 0;background:linear-gradient(90deg,rgba(101,199,218,.2),rgba(215,168,69,.18),rgba(255,255,255,.5));filter:blur(18px)}
@media(max-width:1060px){.nav-links{position:absolute;top:76px;left:18px;right:18px;display:none;flex-wrap:wrap;padding:15px;border-radius:28px;background:rgba(255,255,255,.95);box-shadow:var(--shadow)}.nav-links.open{display:flex}.mobile-toggle{display:inline-flex}.nav-cta{display:none}.hero-grid,.showcase,.facebook-grid,.form-shell{grid-template-columns:1fr}.hero-visual{min-height:560px}.grid.three,.grid.four,.footer-grid{grid-template-columns:1fr 1fr}.hero-metrics{grid-template-columns:1fr 1fr}.section-head{display:block}.dashboard-orbit{inset:4% 4% 0 4%;transform:none}.float-card.one{left:4px}.float-card.two{right:4px}.float-card.three{right:20px}}
@media(max-width:680px){.container,.wide{width:min(100% - 24px,1180px)}.site-header{top:8px}.nav-shell{width:calc(100% - 18px);border-radius:28px}.brand-copy span{display:none}.hero{padding:48px 0 42px;min-height:auto}h1,.page-title{font-size:clamp(3.15rem,15vw,5.2rem)}.hero-lede{font-size:1.02rem}.action-row .btn,.btn{width:100%}.hero-metrics,.grid.two,.grid.three,.grid.four,.footer-grid,.field-grid{grid-template-columns:1fr}.hero-visual{min-height:480px}.dashboard-orbit{position:relative;inset:auto;min-height:480px;border-radius:34px}.dash-cards{grid-template-columns:1fr}.float-card{display:none}.section{padding:44px 0}.section.dark{border-radius:34px;margin:44px 0;padding:54px 0}.section-title{font-size:clamp(2.4rem,11vw,4rem)}.page-hero-card{padding:28px;border-radius:34px}.facebook-panel{padding:22px;border-radius:34px}.fb-card{padding:22px;border-radius:28px}.showcase-screen{min-height:330px;border-radius:32px}.sponsor-chip{left:18px;right:18px;bottom:18px}.card-pad{padding:21px}.card-image{height:180px}.footer-bottom{display:block}.design-note{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}}



/* =========================================================
   STUARTLOCAL DESIGN LAB V3 — VISIBLE FIGMA MOTION SYSTEM
   This is intentionally stronger than V2. The background,
   coastal lines, floating cards, sponsor glow, and page entry
   now visibly move so the prototype feels alive.
   ========================================================= */
body.motion-ready{
  background-size: 120% 120%, 130% 130%, 120% 120%, 100% 100%;
  animation: v3BackgroundDrift 18s ease-in-out infinite alternate;
}
@keyframes v3BackgroundDrift{
  0%{background-position:0% 0%,100% 0%,50% 36%,0 0;}
  50%{background-position:12% 8%,88% 14%,56% 44%,0 0;}
  100%{background-position:24% 14%,75% 5%,42% 50%,0 0;}
}
.v3-motion-stage{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  overflow:hidden;
}
.v3-aurora{
  position:absolute;
  width:42vw;
  height:42vw;
  min-width:360px;
  min-height:360px;
  border-radius:999px;
  filter:blur(42px);
  opacity:.50;
  mix-blend-mode:multiply;
  animation:v3BlobFloat 16s var(--ease) infinite alternate;
}
.v3-aurora.a{left:-9vw;top:4vh;background:radial-gradient(circle,rgba(101,199,218,.72),rgba(101,199,218,0) 66%);}
.v3-aurora.b{right:-8vw;top:0vh;background:radial-gradient(circle,rgba(215,168,69,.58),rgba(215,168,69,0) 68%);animation-delay:-5s;}
.v3-aurora.c{left:35vw;bottom:-18vh;background:radial-gradient(circle,rgba(255,213,189,.58),rgba(255,213,189,0) 68%);animation-delay:-9s;}
@keyframes v3BlobFloat{
  0%{transform:translate3d(0,0,0) scale(1) rotate(0deg);}
  50%{transform:translate3d(4vw,3vh,0) scale(1.12) rotate(12deg);}
  100%{transform:translate3d(-3vw,7vh,0) scale(.94) rotate(-10deg);}
}
.v3-wave-lines{
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:10vh;
  height:280px;
  opacity:.62;
  background:
    repeating-radial-gradient(ellipse at 50% 100%, rgba(101,199,218,.18) 0 2px, transparent 2px 22px),
    linear-gradient(90deg,transparent,rgba(215,168,69,.10),transparent);
  transform:rotate(-3deg);
  animation:v3WaveSlide 12s linear infinite;
  mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent);
}
@keyframes v3WaveSlide{
  from{background-position:0 0,0 0;}
  to{background-position:120px 0,0 0;}
}
#v3-particle-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:.72;
}
body:before{animation:v3GridDrift 24s linear infinite;}
@keyframes v3GridDrift{to{background-position:52px 52px;}}
.site-main{animation:v3PageEnter .72s var(--ease) both;}
@keyframes v3PageEnter{from{opacity:0;transform:translateY(16px) scale(.992);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.nav-shell{animation:v3HeaderDrop .8s var(--ease) both;}
@keyframes v3HeaderDrop{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
.hero:after{opacity:.88;filter:blur(0);animation:slowSpin 16s linear infinite, v3HeroPulse 5s ease-in-out infinite alternate;}
@keyframes v3HeroPulse{from{transform:scale(.96) rotate(0deg)}to{transform:scale(1.08) rotate(18deg)}}
.dashboard-orbit{animation:v3DashboardFloat 6s ease-in-out infinite alternate;}
@keyframes v3DashboardFloat{from{transform:rotateY(-10deg) rotateX(4deg) translateY(0)}to{transform:rotateY(-6deg) rotateX(2deg) translateY(-18px)}}
.float-card{animation:v3CardFloat 5.8s ease-in-out infinite alternate;}
.float-card.two{animation-delay:-1.8s}.float-card.three{animation-delay:-3s}.float-card.one{animation-delay:-.7s}
@keyframes v3CardFloat{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-18px,0)}}
.spark{animation:v3SparkOrbit 5.5s ease-in-out infinite alternate;}
@keyframes v3SparkOrbit{from{transform:translate(0,0) scale(.85);opacity:.56}to{transform:translate(22px,-18px) scale(1.18);opacity:1}}
.card,.metric,.form-card,.page-hero-card,.facebook-panel,.map-system,.showcase-screen{
  transition:transform .38s var(--ease), box-shadow .38s var(--ease), border-color .38s ease, filter .38s ease;
}
.card:hover,.metric:hover,.form-card:hover,.page-hero-card:hover,.facebook-panel:hover,.map-system:hover,.showcase-screen:hover{
  transform:translateY(-8px);
  box-shadow:0 30px 90px rgba(7,26,51,.18);
  border-color:rgba(215,168,69,.42);
}
.card-image{position:relative;overflow:hidden;}
.card-image:after,.showcase-screen:after,.dashboard-orbit:after{
  content:"";
  position:absolute;
  inset:-40% auto auto -60%;
  width:34%;height:180%;
  transform:rotate(24deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.40),transparent);
  animation:v3GlassSweep 5.2s ease-in-out infinite;
  pointer-events:none;
}
@keyframes v3GlassSweep{0%,45%{left:-65%;opacity:0}55%{opacity:.9}80%,100%{left:140%;opacity:0}}
.line{stroke-dasharray:8 13!important;animation:dashMove 3.4s linear infinite!important;}
.pulse{animation:pulseNode 1.9s ease-in-out infinite!important;transform-origin:center;}
.map-system svg path{stroke-dasharray:10 13;animation:v3MapDash 4s linear infinite;}
@keyframes v3MapDash{to{stroke-dashoffset:-140}}
.map-system svg circle{animation:v3MapNode 2.2s ease-in-out infinite;transform-origin:center;}
@keyframes v3MapNode{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.22)}}
.marquee-track{animation:marquee 15s linear infinite!important;}
.motion-scrim{background:radial-gradient(circle at 50% 50%,rgba(215,168,69,.28),transparent 18rem),linear-gradient(135deg,rgba(7,26,51,.98),rgba(6,55,84,.92));}
body.is-leaving .motion-scrim{opacity:1;}
body.is-leaving .site-main{animation:v3PageExit .36s var(--ease) both;}
@keyframes v3PageExit{to{opacity:0;transform:translateY(-10px) scale(.996);filter:blur(8px)}}
.v3-motion-badge{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:70;
  display:inline-flex;
  gap:8px;
  align-items:center;
  border-radius:999px;
  padding:10px 13px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.84);
  box-shadow:0 18px 42px rgba(7,26,51,.12);
  backdrop-filter:blur(18px);
  color:var(--navy);
  font-size:.76rem;
  font-weight:1000;
}
.v3-motion-badge i{width:8px;height:8px;border-radius:50%;background:#30d69a;box-shadow:0 0 18px #30d69a;animation:v3BadgePulse 1.1s ease-in-out infinite;}
@keyframes v3BadgePulse{50%{transform:scale(1.35);opacity:.55}}
@media(max-width:680px){
  .v3-aurora{opacity:.34;filter:blur(36px)}
  .v3-motion-badge{display:none}
  .dashboard-orbit{animation:v3MobileFloat 5s ease-in-out infinite alternate;}
  @keyframes v3MobileFloat{from{transform:translateY(0)}to{transform:translateY(-10px)}}
}
@media(prefers-reduced-motion:reduce){.v3-motion-stage,.v3-motion-badge{display:none!important}body.motion-ready{animation:none!important}}
