/* ============================================================
   MAIN STREET COURT — sitewide styles
   Brand package tokens. Cream-led, navy-anchored.
   ============================================================ */

:root{
  --navy:#0B114C;
  --ink:#1E2A38;
  --teal:#00B5C0;
  --teal-txt:#007A82;      /* teal as type on light */
  --teal-lt:#5BE7FF;       /* on navy only */
  --yellow:#FFCF55;
  --gold:#FFC93C;
  --gold-txt:#8A6A00;      /* yellow as type on light */
  --cream:#FBF7EF;
  --white:#FFFFFF;

  /* ---- SITEWIDE CANVAS STANDARD — one value, every page, every breakpoint ----
     --canvas      #FBF7EF  primary wall / main background. THE standard.
     --canvas-alt  #FFFFFF  secondary wall, used only to separate two adjacent
                            light sections. Never a third light value anywhere. */
  --canvas:#FBF7EF;
  --canvas-alt:#FFFFFF;

  /* Photo-slot scaffolding only. Never a section background, never a wall.
     Disappears entirely once real photography is dropped in. */
  --slot:#EDE6D8;
  --slot-2:#F3ECDD;

  --font:'Bricolage Grotesque','Archivo',system-ui,-apple-system,sans-serif;

  --wrap:1280px;
  --gut:clamp(20px,5vw,64px);

  --r-sm:10px;
  --r:18px;
  --r-lg:28px;
  --r-xl:40px;

  --sh-1:0 2px 8px rgba(11,17,76,.06);
  --sh-2:0 14px 34px -10px rgba(11,17,76,.18);
  --sh-3:0 30px 70px -18px rgba(11,17,76,.30);

  --ease:cubic-bezier(.22,.9,.24,1);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font);
  font-weight:400;
  color:var(--ink);
  background:var(--cream);
  font-size:17px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.025em;line-height:.95;color:var(--navy)}
p{margin:0}
ul{margin:0;padding:0;list-style:none}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.wide{max-width:1560px;margin:0 auto;padding:0 var(--gut)}

/* ---------- type scale ---------- */
.kicker{
  font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  color:var(--teal-txt);display:flex;align-items:center;gap:12px;
}
.kicker::before{content:"";width:30px;height:3px;background:var(--teal);border-radius:2px;flex:none}
.dark .kicker{color:var(--teal-lt)}
.dark .kicker::before{background:var(--teal-lt)}

h2{font-size:clamp(2.3rem,5.4vw,4.5rem)}
h3{font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.1}
.lede{font-size:clamp(1.1rem,1.5vw,1.4rem);line-height:1.5;color:#4A5568;font-weight:400}
.dark .lede{color:rgba(251,247,239,.76)}
.dark h1,.dark h2,.dark h3{color:var(--cream)}
.sub{font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.6;color:#54607A}
.dark .sub{color:rgba(251,247,239,.72)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font);font-weight:700;font-size:1.02rem;
  padding:17px 32px;border-radius:999px;border:2px solid transparent;
  cursor:pointer;white-space:nowrap;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .25s,color .25s,border-color .25s;
}
.btn-navy{background:var(--navy);color:var(--cream);box-shadow:var(--sh-2)}
.btn-navy:hover{transform:translateY(-3px);box-shadow:var(--sh-3);background:#141d69}
.btn-teal{background:var(--teal);color:var(--navy);box-shadow:0 14px 30px -12px rgba(0,181,192,.6)}
.btn-teal:hover{transform:translateY(-3px);box-shadow:0 22px 44px -14px rgba(0,181,192,.7)}
.btn-yellow{background:var(--yellow);color:var(--navy)}
.btn-yellow:hover{transform:translateY(-3px);background:var(--gold)}
.btn-out{background:transparent;color:var(--navy);border-color:rgba(11,17,76,.24)}
.btn-out:hover{border-color:var(--navy);background:rgba(11,17,76,.05);transform:translateY(-3px)}
.btn-cream{background:var(--cream);color:var(--navy)}
.btn-cream:hover{transform:translateY(-3px);box-shadow:var(--sh-3)}
.btn-out-cream{background:transparent;color:var(--cream);border-color:rgba(251,247,239,.35)}
.btn-out-cream:hover{border-color:var(--cream);background:rgba(251,247,239,.1);transform:translateY(-3px)}
.btn svg{width:18px;height:18px;flex:none}

/* subtle brand signature closing the hero */
.herosig{
  display:flex;align-items:center;gap:clamp(14px,2vw,26px);
  margin:clamp(44px,5.6vw,78px) 0 0;
}
.herosig::before{content:"";flex:none;width:30px;height:2px;border-radius:2px;background:var(--teal)}
.herosig span{
  flex:none;font-size:clamp(.74rem,.95vw,.9rem);font-weight:800;
  letter-spacing:.3em;text-transform:uppercase;color:rgba(11,17,76,.5);
}
.herosig::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(11,17,76,.2),rgba(11,17,76,0))}

/* ============================================================
   HEADER
   ============================================================ */
#hdr{
  position:sticky;top:0;z-index:90;
  background:rgba(251,247,239,.86);
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid rgba(11,17,76,.08);
  transition:padding .35s var(--ease),box-shadow .35s var(--ease);
  padding:14px 0;
}
#hdr.small{padding:7px 0;box-shadow:0 6px 22px -12px rgba(11,17,76,.24)}
#hdr .bar{display:flex;align-items:center;gap:clamp(16px,3vw,44px)}
.brand{flex:none;display:block}
.brand img{height:60px;width:auto;transition:height .35s var(--ease)}
#hdr.small .brand img{height:46px}
nav.main{display:flex;gap:clamp(14px,2vw,30px);margin-left:auto;align-items:center}
nav.main a{
  font-size:1rem;font-weight:700;color:var(--navy);position:relative;padding:6px 0;
  transition:color .2s;
}
nav.main a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;border-radius:2px;
  background:var(--teal);transition:right .35s var(--ease);
}
nav.main a:hover::after,nav.main a.on::after{right:0}
.hdr-cta{flex:none}
.hdr-cta .btn{padding:14px 26px;font-size:.98rem}
.burger{display:none;background:none;border:0;padding:10px;cursor:pointer;margin-left:auto}
.burger span{display:block;width:26px;height:2.5px;background:var(--navy);border-radius:2px;margin:5px 0}

/* mobile sticky leasing bar */
.mobcta{
  display:none;position:fixed;left:14px;right:14px;bottom:14px;z-index:95;
  background:var(--navy);color:var(--cream);text-align:center;
  font-weight:800;font-size:1.02rem;padding:16px;border-radius:999px;
  box-shadow:0 16px 34px -10px rgba(11,17,76,.55);
}
.mobcta span{font-weight:500;color:var(--teal-lt);font-size:.94rem}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;background:var(--canvas);
  padding:clamp(40px,6vw,86px) 0 clamp(56px,7vw,104px);
  overflow:hidden;
}
/* soft brand shapes */
/* ---- WALL-LEVEL ACCENT WASH REMOVED — 29 Aug 2026 ----------------------
   The hero used two large blurred colour blobs sitting directly on the cream
   wall. Because they were sized in viewport units, the same cream read yellower
   on a short hero and greener on a wide screen, so the wall drifted page to
   page and breakpoint to breakpoint. The wall is now flat var(--canvas)
   everywhere. Colour accents live only inside contained, rounded elements
   (cards, panels, badges) — never washed across the background.
   Wix note: Beth sets ONE global background colour. No page gradients. */
.hero .blob{display:none!important}

.hero .grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:clamp(30px,5vw,70px);align-items:center;
}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:.8rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--navy);background:rgba(0,181,192,.14);
  padding:9px 18px;border-radius:999px;margin-bottom:clamp(18px,2.4vw,28px);
}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--teal);flex:none}

h1.big{
  font-size:clamp(2.9rem,6.9vw,5.6rem);
  line-height:.86;letter-spacing:-.04em;font-weight:800;
}
h1.big em{font-style:normal;color:var(--teal-txt);position:relative;display:inline-block}
h1.big em::after{
  content:"";position:absolute;left:0;bottom:.06em;height:.1em;width:0;
  background:var(--yellow);border-radius:99px;z-index:-1;
  transition:width 1.1s .5s var(--ease);
}
.hero.in h1.big em::after{width:100%}

.hero .lede{margin-top:clamp(20px,2.6vw,30px);max-width:37ch;font-size:clamp(1.14rem,1.62vw,1.5rem)}

/* secondary personality line under the supporting paragraph */
.sigline{
  margin:clamp(22px,2.8vw,34px) 0 0;
  font-size:clamp(1.25rem,2.1vw,1.85rem);
  line-height:1.06;letter-spacing:-.02em;font-weight:700;color:rgba(11,17,76,.72);
}
.sigline em{font-style:normal;color:var(--teal-txt);position:relative;display:inline-block}
.sigline em::after{
  content:"";position:absolute;left:0;bottom:.05em;height:.115em;width:0;
  background:var(--yellow);border-radius:99px;z-index:-1;
  transition:width 1.1s .75s var(--ease);
}
.hero.in .sigline em::after{width:100%}
.hero .btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(26px,3.4vw,40px)}

/* photo cluster */
.cluster{position:relative;aspect-ratio:1/1.02;min-height:420px}
.cluster figure{
  position:absolute;margin:0;border-radius:var(--r-lg);overflow:hidden;
  background:var(--white);box-shadow:var(--sh-3);
  transition:transform .55s var(--ease);
}
.cluster figure img{width:100%;height:100%;object-fit:cover}
.cluster .f1{left:0;top:0;width:73%;height:55%;transform:rotate(-1.6deg);z-index:2}
.cluster .f2{right:0;bottom:7%;width:67%;height:49%;transform:rotate(2.4deg);z-index:3;border:5px solid var(--white)}
.cluster .f3{left:0;bottom:0;width:35%;height:31%;transform:rotate(-4deg);z-index:4;border:5px solid var(--white)}
.cluster figure:hover{transform:rotate(0) scale(1.025);z-index:6}

.stamp{
  position:absolute;z-index:5;right:-1%;top:43%;
  width:clamp(104px,11vw,140px);aspect-ratio:1;border-radius:50%;
  background:var(--yellow);color:var(--navy);
  display:grid;place-content:center;text-align:center;
  font-weight:800;line-height:1.05;letter-spacing:-.01em;
  box-shadow:var(--sh-2);transform:rotate(-11deg);
  padding:10px;
}
.stamp b{display:block;font-size:clamp(1.7rem,2.5vw,2.3rem);line-height:1}
.stamp span{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-weight:800}

/* ============================================================
   MARQUEE
   ============================================================ */
.marq{background:var(--navy);overflow:hidden;padding:20px 0;position:relative}
.marq::before,.marq::after{
  content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none;
}
.marq::before{left:0;background:linear-gradient(90deg,var(--navy),rgba(11,17,76,0))}
.marq::after{right:0;background:linear-gradient(270deg,var(--navy),rgba(11,17,76,0))}
.marq .track{display:flex;width:max-content;animation:slide 34s linear infinite}
.marq:hover .track{animation-play-state:paused}
.marq .track>div{display:flex;align-items:center;flex:none}
.marq span{
  color:var(--cream);font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  font-size:clamp(1rem,1.9vw,1.6rem);padding:0 clamp(18px,2.4vw,34px);white-space:nowrap;
}
.marq i{width:12px;height:12px;border-radius:50%;flex:none}
.marq i:nth-of-type(odd){background:var(--teal)}
.marq i:nth-of-type(even){background:var(--yellow)}
@keyframes slide{to{transform:translateX(-50%)}}

/* ============================================================
   WHY / TWO BUILDINGS
   ============================================================ */
.why{background:var(--canvas);padding:clamp(74px,10vw,140px) 0}
.whyhead{
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,4vw,60px);
  align-items:end;margin-bottom:clamp(44px,6vw,76px);
}
.whyhead h2{margin-top:18px}
.whyhead h2 em{font-style:normal;color:var(--teal-txt)}
.whyhead .side{padding-bottom:8px}
.whyhead .sub{max-width:36ch}
.why .row{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(26px,4vw,56px);
}
.stat{border-top:3px solid var(--navy);padding-top:22px}
.stat b{
  display:block;font-weight:800;letter-spacing:-.045em;line-height:.82;
  font-size:clamp(4.2rem,10.6vw,10.5rem);
}
/* CSS-drawn division glyph, matched to the numeral cap height */
.stat.sym b.glyph{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.13em;height:.86em;width:.82em;
}
.stat.sym b.glyph i{width:.2em;height:.2em;border-radius:50%;background:var(--gold-txt);flex:none}
.stat.sym b.glyph s{width:100%;height:.145em;border-radius:99px;background:var(--gold-txt);flex:none}
.stat:nth-child(1) b{color:var(--teal-txt)}
.stat:nth-child(2) b{color:var(--navy)}
.stat:nth-child(3) b{color:var(--gold-txt)}
.stat h3{margin-top:16px}
.stat p{margin-top:9px;font-size:1rem;color:#54607A;line-height:1.55;max-width:26ch}

/* --- two buildings --- */
.bldgs{margin-top:clamp(66px,8vw,116px);border-top:3px solid var(--navy);padding-top:clamp(34px,4vw,52px)}
.kicker.mid{margin:0}
.bh{
  margin-top:12px;font-size:clamp(1.9rem,4.4vw,3.4rem);font-weight:800;
  letter-spacing:-.035em;line-height:1.02;color:var(--navy);
}
.bh em{font-style:normal;color:var(--teal-txt);position:relative;display:inline-block}
.bh em::after{
  content:"";position:absolute;left:0;bottom:.06em;height:.13em;width:0;
  background:var(--yellow);border-radius:99px;z-index:-1;
  transition:width 1s .5s var(--ease);
}
.bldgs.in .bh em::after{width:100%}

.bcards{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(18px,2.4vw,32px);margin-top:clamp(30px,4vw,48px);
}
.bcard{
  margin:0;background:var(--white);border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--sh-2);transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.bcard:hover{transform:translateY(-6px);box-shadow:var(--sh-3)}
.bph{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--slot)}
.bph img{
  width:100%;height:100%;object-fit:cover;object-position:50% 46%;
  transition:transform 1.3s var(--ease);
}
.bcard:hover .bph img{transform:scale(1.05)}
.bph.need{
  display:grid;place-items:center;
  background:repeating-linear-gradient(-45deg,var(--slot-2) 0 14px,var(--slot) 14px 28px);
}
.phtx{
  display:flex;flex-direction:column;gap:6px;text-align:center;
  font-size:.82rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:rgba(11,17,76,.48);
}
.phtx b{font-size:1.05rem;letter-spacing:.04em;color:rgba(11,17,76,.62)}
.bcard figcaption{
  display:flex;align-items:center;gap:clamp(14px,1.6vw,20px);
  padding:clamp(18px,2.1vw,26px) clamp(20px,2.4vw,30px);
}
.brule{flex:none;width:5px;height:clamp(40px,4vw,52px);border-radius:99px}
.brule.t{background:var(--teal)}
.brule.y{background:var(--yellow)}
.btx{display:flex;flex-direction:column;gap:5px;min-width:0}
.btx b{
  font-size:clamp(1.3rem,2.1vw,1.8rem);font-weight:800;
  letter-spacing:-.03em;line-height:1.02;color:var(--navy);
}
.btx .addr{font-size:.92rem;font-weight:600;color:#5A6680;letter-spacing:.01em}

/* ============================================================
   SOCIAL / COLLAGE
   ============================================================ */
.social{background:var(--canvas-alt);padding:clamp(74px,10vw,136px) 0;position:relative;overflow:hidden}
.slife{
  display:grid;grid-template-columns:.86fr 1.14fr;
  gap:clamp(28px,3.4vw,58px);align-items:start;
}
.stx{max-width:42ch;padding-top:clamp(30px,6vw,104px)}
.stx h2{margin-top:16px;font-size:clamp(2.3rem,3.9vw,3.35rem);letter-spacing:-.035em;line-height:.98}
.hens{
  margin:14px 0 0;font-size:clamp(1.12rem,1.8vw,1.55rem);font-weight:700;
  letter-spacing:-.02em;color:rgba(11,17,76,.72);
}
.hens em{font-style:normal;color:var(--teal-txt);box-shadow:inset 0 -.14em 0 var(--yellow)}
/* ---- upper-right Blue Hen block ---- */
.henwrap{position:relative;margin:0 0 clamp(6px,1vw,16px)}
.henbal{
  display:block;width:100%;height:auto;
  filter:drop-shadow(0 22px 38px rgba(11,17,76,.15));
}
.hray{position:absolute;inset:-6% -4% -2%;pointer-events:none}
.hray i{
  position:absolute;display:block;height:5px;border-radius:99px;
  background:var(--teal);
}
.hray i.y{background:var(--gold)}
.h1{width:26px;left:1%;top:22%;rotate:-38deg}
.h2{width:20px;left:5%;top:11%;rotate:-64deg}
.h3{width:18px;left:11%;top:4%;rotate:-16deg}
.h4{width:24px;right:9%;top:5%;rotate:34deg}
.h5{width:28px;right:1%;top:16%;rotate:56deg}
.h6{width:20px;right:3%;top:30%;rotate:14deg}
.h7{width:26px;right:0%;bottom:24%;rotate:-40deg}
.h8{width:18px;left:3%;bottom:14%;rotate:42deg}
.stx .sub{margin-top:clamp(14px,1.8vw,22px);max-width:36ch}
.secmsg{
  margin:clamp(22px,2.6vw,32px) 0 0;padding-top:clamp(16px,1.8vw,22px);
  border-top:2px solid rgba(11,17,76,.12);
  font-size:clamp(1.02rem,1.35vw,1.22rem);font-weight:700;
  letter-spacing:-.015em;line-height:1.25;color:rgba(11,17,76,.78);max-width:26ch;
}
.secmsg em{font-style:normal;color:var(--teal-txt);box-shadow:inset 0 -.12em 0 var(--yellow)}

/* ---- framed collage ---- */
.cstage{position:relative;padding-top:clamp(18px,2.8vw,40px)}
.cgrid{
  position:relative;display:grid;
  grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.5vw,22px);
}
.fr{
  position:relative;margin:0;background:#fff;
  padding:clamp(8px,.72vw,12px);border-radius:5px;
  box-shadow:0 12px 30px rgba(11,17,76,.17),0 2px 6px rgba(11,17,76,.08);
  transition:box-shadow .5s var(--ease),rotate .5s var(--ease),scale .5s var(--ease);
}
.fr img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}
.fr:hover{box-shadow:0 22px 46px rgba(11,17,76,.24),0 3px 9px rgba(11,17,76,.1);z-index:6}
.f-a{grid-column:1;grid-row:1;rotate:-2.2deg;z-index:2}
.f-a img{aspect-ratio:16/10}
.f-b{grid-column:2;grid-row:1;rotate:2.5deg;z-index:1;margin-top:clamp(-34px,-2.6vw,-16px)}
.f-b img{aspect-ratio:16/10}
.f-c{grid-column:1;grid-row:2;rotate:1.7deg;z-index:1;margin-top:clamp(-40px,-3vw,-18px)}
.f-c img{aspect-ratio:16/10}
.f-d{grid-column:2;grid-row:2;rotate:-2.6deg;z-index:3;margin-top:clamp(-18px,-1.4vw,-6px)}
.f-d img{aspect-ratio:16/10}
.f-e{
  position:absolute;left:-7%;bottom:-8%;width:19%;rotate:-6deg;z-index:5;
}
.f-e img{aspect-ratio:1/1;object-position:50% 22%}
.fr:hover{scale:1.018}
.f-a:hover{rotate:-.7deg}
.f-b:hover{rotate:1deg}
.f-c:hover{rotate:.6deg}
.f-d:hover{rotate:-1deg}
.f-e:hover{rotate:-3.4deg}

/* ---- confetti dots ---- */
.spr{position:absolute;inset:-5% -4%;pointer-events:none;z-index:4}
.spr i{position:absolute;display:block;border-radius:50%;background:var(--yellow)}
.spr i.t{background:var(--teal)}
.spr i.n{background:var(--navy);opacity:.45}
.spr i.dsh{border-radius:99px;height:4px;width:17px}
.s1{width:9px;height:9px;left:1%;top:5%}
.s2{width:6px;height:6px;left:6%;top:15%}
.s3{width:13px;height:13px;left:47%;top:-1%}
.s4{width:7px;height:7px;left:53%;top:6%}
.s5{width:10px;height:10px;right:2%;top:11%}
.s6{width:6px;height:6px;right:8%;top:3%}
.s7{width:11px;height:11px;left:-2%;top:50%}
.s8{width:7px;height:7px;left:3%;top:59%}
.s9{width:12px;height:12px;right:0%;top:54%}
.s10{width:8px;height:8px;right:5%;bottom:7%}
.s11{width:10px;height:10px;left:43%;bottom:-2%}
.s12{width:6px;height:6px;left:49%;bottom:3%}
.s13{left:11%;bottom:0%;rotate:-24deg}
.s14{right:13%;top:0%;rotate:18deg}
.s15{left:0%;top:32%;rotate:62deg}
.s16{right:1%;bottom:32%;rotate:-52deg}
.fl{animation:sprfl 7s ease-in-out infinite}
.fl.b{animation-duration:9.5s;animation-delay:-2s}
.fl.c{animation-duration:11.5s;animation-delay:-4s}
@keyframes sprfl{0%,100%{translate:0 0}50%{translate:0 -7px}}

/* ============================================================
   SIGNATURE PRIVACY  — elevated, light
   ============================================================ */
.sig{background:var(--canvas);position:relative;overflow:hidden;padding:clamp(74px,10vw,138px) 0}
.sig .wmk{
  position:absolute;left:30%;top:52%;width:min(24vw,290px);opacity:.28;
  pointer-events:none;z-index:0;
}
.sig .inner{position:relative;z-index:2}
.sgrid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(32px,4.4vw,72px);align-items:start}

.stxt{max-width:52ch}
.sig h2{margin-top:16px;color:var(--navy);font-size:clamp(2.05rem,3.35vw,2.95rem)}
.sig h2 span{color:var(--gold)}
.selev{
  margin-top:16px;font-size:clamp(1.28rem,2vw,1.62rem);font-weight:800;
  letter-spacing:-.015em;color:var(--teal-txt);
}
.selev em{font-style:normal;box-shadow:inset 0 -.13em 0 var(--yellow)}
.slede{margin-top:20px;max-width:44ch;color:var(--ink);opacity:.86;font-size:1.03rem;line-height:1.62}

.svals{margin-top:clamp(26px,3vw,38px);display:flex;flex-direction:column;gap:clamp(18px,2.2vw,26px)}
.svals li{display:flex;gap:16px;align-items:flex-start}
.svals .ico{
  flex:none;width:clamp(42px,4vw,52px);aspect-ratio:1;border-radius:50%;
  background:rgba(0,181,192,.13);display:grid;place-content:center;
}
.svals .ico svg{width:24px;height:24px;flex:none;fill:none;stroke:var(--navy);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.svals b{display:block;color:var(--navy);font-size:1.04rem;font-weight:800;letter-spacing:-.01em}
.svals span{display:block;margin-top:4px;color:var(--ink);opacity:.76;font-size:.94rem;line-height:1.5;max-width:40ch}
.shair{height:1px;background:rgba(30,42,56,.15);margin:clamp(26px,3vw,36px) 0 0;max-width:360px}
.sig .pill{
  display:inline-flex;align-items:center;gap:10px;margin-top:26px;
  border:2px solid rgba(11,17,76,.22);color:var(--navy);
  font-size:.8rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  padding:13px 24px;border-radius:999px;background:transparent;
  transition:border-color .35s var(--ease),background .35s var(--ease);
}
.sig .pill svg{width:16px;height:16px;fill:none;stroke:var(--navy);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sig .pill:hover{border-color:var(--navy);background:rgba(11,17,76,.05)}

/* right column */
.svis{display:flex;flex-direction:column;gap:clamp(16px,2vw,24px)}
.sroom{
  margin:0;position:relative;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--sh-2);background:var(--white);
}
.sroom img{width:100%;aspect-ratio:16/10.2;object-fit:cover;scale:1.05}
.sroom figcaption{
  position:absolute;right:0;top:0;
  background:var(--navy);color:var(--cream);
  font-size:.84rem;font-weight:700;line-height:1.3;
  padding:14px 20px;border-bottom-left-radius:var(--r);
  display:flex;align-items:center;gap:9px;max-width:62%;
}
.sroom figcaption i{
  flex:none;width:9px;height:9px;border-radius:50%;background:var(--yellow);
}

.svalue{
  display:grid;grid-template-columns:.82fr 1.18fr;
  background:var(--navy);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-2);
  min-height:clamp(250px,24vw,330px);
}
.svtx{padding:clamp(24px,2.8vw,36px);display:flex;flex-direction:column;justify-content:center}
.vico{width:34px;height:34px;display:block}
.vico svg{width:100%;height:100%;fill:none;stroke:var(--yellow);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vh{margin-top:16px;color:var(--white);font-size:clamp(1.24rem,1.75vw,1.55rem);font-weight:800;letter-spacing:-.02em;line-height:1.16}
.vh span{color:var(--yellow)}
.vrule{width:38px;height:3px;border-radius:99px;background:var(--teal-lt);margin:16px 0 14px}
.vp{color:rgba(251,247,239,.78);font-size:.92rem;line-height:1.55;max-width:26ch}
.svimg{position:relative;background:rgba(251,247,239,.05);display:grid;place-items:center;padding:18px}
.svimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vslot{
  border:2px dashed rgba(91,231,255,.4);border-radius:var(--r);
  padding:clamp(18px,2.2vw,26px);text-align:center;max-width:320px;
}
.vslot svg{width:38px;height:38px;fill:none;stroke:var(--teal-lt);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.vslot b{display:block;margin-top:10px;color:var(--cream);font-size:1rem;font-weight:800;letter-spacing:-.01em}
.vslot span{display:block;margin-top:6px;color:rgba(251,247,239,.6);font-size:.86rem;line-height:1.45}

/* ============================================================
   APARTMENTS — Find your fit
   ============================================================ */
.apts{background:var(--canvas-alt);padding:clamp(74px,10vw,140px) 0}
.apts .head{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(24px,4vw,64px);align-items:start}
.apts .head h2{margin-top:14px;font-size:clamp(2.4rem,4.4vw,3.6rem)}
.fitline{
  margin-top:14px;font-size:clamp(1.12rem,1.65vw,1.4rem);font-weight:700;
  color:var(--ink);letter-spacing:-.01em;line-height:1.32;
}
.fitline em{font-style:italic;font-weight:800;color:var(--teal-txt);box-shadow:inset 0 -.13em 0 var(--yellow)}
.apts .head .sub{max-width:44ch;padding-top:clamp(10px,2vw,26px);font-size:1rem;line-height:1.65}

.apts .row{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(18px,2.2vw,28px);margin-top:clamp(40px,4.6vw,64px);align-items:stretch;
}
.apt{
  position:relative;display:flex;flex-direction:column;
  background:var(--white);border:1px solid rgba(30,42,56,.11);
  border-radius:var(--r-lg);overflow:hidden;
  transition:box-shadow .45s var(--ease),transform .45s var(--ease),border-color .45s var(--ease);
}
.apt:hover{box-shadow:var(--sh-2);transform:translateY(-4px);border-color:rgba(30,42,56,.18)}
.apt.feat{background:linear-gradient(180deg,#FFFDF6 0%,#FFF8E6 100%);border-color:rgba(255,201,60,.55)}
.apt .shot{position:relative;overflow:hidden;aspect-ratio:16/11;background:var(--cream)}
.apt .shot img{width:100%;height:100%;object-fit:cover;transition:scale 1s var(--ease)}
.apt:hover .shot img{scale:1.05}
.apt .tag{
  position:absolute;left:14px;top:14px;z-index:2;
  background:var(--navy);color:var(--cream);
  font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  padding:9px 15px;border-radius:999px;
}
.apt .tag.y{background:var(--yellow);color:var(--navy)}

.acopy{
  display:flex;gap:13px;align-items:stretch;flex:1;
  padding:clamp(20px,2.2vw,28px) clamp(18px,2vw,26px) clamp(22px,2.4vw,30px);
}
.aico{
  flex:none;align-self:flex-start;width:clamp(38px,3vw,44px);height:clamp(38px,3vw,44px);
  border-radius:50%;background:rgba(0,181,192,.13);display:grid;place-content:center;margin-top:2px;
}
.aico.y{background:var(--yellow)}
.aico svg{width:20px;height:20px;fill:none;stroke:var(--navy);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.apt h3{font-size:clamp(1.16rem,1.5vw,1.34rem);line-height:1.22;letter-spacing:-.02em;color:var(--navy)}
.asel{margin-top:6px;font-size:.9rem;font-weight:800;color:var(--teal-txt)}
.apt .meta{margin-top:9px;max-width:32ch;font-size:.94rem;line-height:1.5;color:#5A6680}
.acopy>div{display:flex;flex-direction:column;flex:1;min-width:0}
.afoot{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start}
.ahair{height:1px;width:44px;background:var(--teal);margin:clamp(16px,2vw,22px) 0 0;opacity:.65}
.ahair.y{background:var(--gold);opacity:1}
.apt .go{
  margin-top:15px;display:inline-flex;align-items:center;gap:7px;
  font-weight:800;color:var(--teal-txt);font-size:.79rem;
  letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;
}
.apt .go.y{color:var(--gold-txt)}
.apt .go svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4;transition:translate .35s var(--ease)}
.apt:hover .go svg{translate:5px 0}
.tie{
  align-self:flex-start;margin-top:13px;
  border:1px solid rgba(11,17,76,.2);color:var(--navy);background:rgba(11,17,76,.04);
  font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  padding:6px 11px;border-radius:999px;
}

/* proof strip */
.strip{
  margin-top:clamp(26px,3vw,38px);
  border:1px solid rgba(30,42,56,.11);border-radius:var(--r-lg);
  background:var(--cream);
  display:grid;grid-template-columns:1fr 1fr;
  padding:clamp(20px,2.4vw,30px) clamp(22px,2.6vw,36px);
  gap:clamp(20px,3vw,44px);
}
.sit{display:flex;gap:14px;align-items:center}
.strip .sit+.sit{border-left:1px solid rgba(30,42,56,.13);padding-left:clamp(20px,3vw,44px)}
.sit b{display:block;color:var(--navy);font-size:1.02rem;font-weight:800;letter-spacing:-.01em}
.sit span{display:block;margin-top:3px;color:#5A6680;font-size:.92rem;line-height:1.45}

/* ============================================================
   LOCATION
   ============================================================ */
.loc{background:var(--canvas-alt);padding:clamp(74px,10vw,140px) 0;overflow:hidden}
.loc .body{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.loc .head h2{margin-top:18px}
.loc .sub{margin-top:22px;max-width:38ch}
.loc ul{margin-top:clamp(28px,3.4vw,40px);display:flex;flex-direction:column}
.loc li{
  display:flex;gap:clamp(14px,2vw,24px);align-items:baseline;
  padding:20px 0;border-top:1px solid rgba(11,17,76,.12);
}
.loc li:last-child{border-bottom:1px solid rgba(11,17,76,.12)}
.loc li b{
  flex:none;width:clamp(88px,10vw,124px);
  font-size:clamp(1.2rem,1.9vw,1.6rem);font-weight:800;color:var(--navy);letter-spacing:-.02em;
}
.loc li span{font-size:1.04rem;color:#54607A;line-height:1.5}

.photofig{position:relative;margin:0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-3)}
.photofig img{width:100%;aspect-ratio:4/5;object-fit:cover}
.photofig .route{position:absolute;inset:0;width:100%;height:100%}
.photofig .rline{
  fill:none;stroke:var(--yellow);stroke-width:5;stroke-linecap:round;stroke-dasharray:10 15;
  stroke-dashoffset:520;
  filter:drop-shadow(0 2px 8px rgba(11,17,76,.4));
}
.loc.in .photofig .rline{stroke-dashoffset:0;transition:stroke-dashoffset 2.1s .3s var(--ease)}
.photofig .cap{
  position:absolute;left:clamp(14px,2vw,22px);bottom:clamp(14px,2vw,22px);right:clamp(14px,2vw,22px);
  background:rgba(11,17,76,.82);backdrop-filter:blur(8px);
  border-radius:var(--r);padding:18px 20px;color:var(--cream);
}
.photofig .inset{
  position:absolute;left:clamp(14px,2vw,22px);top:clamp(14px,2vw,22px);
  width:clamp(96px,13vw,166px);aspect-ratio:1;object-fit:cover;
  border-radius:var(--r);border:5px solid var(--cream);
  box-shadow:var(--sh-2);transform:rotate(-4deg);
  transition:transform .5s var(--ease);
}
.photofig:hover .inset{transform:rotate(0) scale(1.04)}
.photofig .cap b{display:block;font-size:1.16rem;font-weight:800;letter-spacing:-.01em}
.photofig .cap span{display:block;margin-top:5px;font-size:.9rem;color:rgba(251,247,239,.72);line-height:1.5}

/* ============================================================
   QUOTE
   ============================================================ */
.quote{background:var(--teal);padding:clamp(64px,8vw,110px) 0;position:relative;overflow:hidden}
.quote .mk{
  position:absolute;left:2%;top:-6%;font-size:min(34vw,420px);line-height:1;
  font-weight:800;color:rgba(11,17,76,.09);pointer-events:none;user-select:none;
}
.quote .inner{position:relative;z-index:2}
.quote blockquote{
  margin:0;font-size:clamp(1.7rem,3.9vw,3.1rem);line-height:1.08;
  font-weight:800;letter-spacing:-.03em;color:var(--navy);max-width:26ch;text-indent:-.46ch;
}
.quote blockquote em{font-style:normal;color:var(--cream)}
.quote cite{
  display:block;margin-top:26px;font-style:normal;
  font-size:.86rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(11,17,76,.66);
}

/* ============================================================
   FINAL CTA
   ============================================================ */
.final{background:var(--yellow);padding:clamp(74px,9vw,124px) 0;text-align:center;position:relative;overflow:hidden}
.final .mk{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(44vw,470px);opacity:.075;pointer-events:none}
.final .inner{position:relative;z-index:2}
.final h2{font-size:clamp(2.4rem,6.4vw,5.2rem);max-width:22ch;margin:0 auto}
.final p{margin:22px auto 0;max-width:44ch;font-size:clamp(1.02rem,1.35vw,1.22rem);color:#5C4A10;line-height:1.55}
.final .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:clamp(28px,3.6vw,42px)}

/* ============================================================
   FOOTER
   ============================================================ */
footer{background:var(--navy);color:rgba(251,247,239,.66);padding:clamp(58px,7vw,88px) 0 34px;font-size:.96rem}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(26px,4vw,52px)}
footer .brand img{height:76px;width:auto;margin-bottom:20px}
footer p{line-height:1.6;max-width:32ch}
footer h4{color:var(--cream);font-size:.8rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
footer .cols a{display:block;padding:6px 0;transition:color .2s}
footer .cols a:hover{color:var(--teal-lt)}
footer .base{
  margin-top:clamp(40px,5vw,64px);padding-top:24px;
  border-top:1px solid rgba(251,247,239,.14);
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.86rem;
}
footer .base .fsocial{display:inline-flex;align-items:center;gap:12px;margin-left:14px;vertical-align:middle}
footer .base .fsocial a{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;color:rgba(251,247,239,.66);transition:color .2s,transform .2s}
footer .base .fsocial a:hover{color:var(--teal-lt);transform:translateY(-1px)}
footer .base .fsocial svg{width:18px;height:18px;fill:currentColor;display:block}

/* ============================================================
   REVEALS
   ============================================================ */
.rv{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
.d4{transition-delay:.4s}.d5{transition-delay:.5s}.d6{transition-delay:.6s}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  nav.main{display:none}
  .burger{display:block}
  .hdr-cta{margin-left:0}
  .hero .grid{grid-template-columns:1fr;gap:clamp(34px,6vw,54px)}
  .cluster{max-width:600px;margin:0 auto;width:100%}
  .why .row{grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,44px)}
  .stat:nth-child(3){grid-column:1/-1}
  .henwrap{margin:4px 0 10px}
  .henbal{width:100%}
  .whyhead,.slife,.apts .head,.loc .body,.sgrid{grid-template-columns:1fr}
  .loc .body{gap:clamp(34px,6vw,48px)}
  .photofig img{aspect-ratio:16/11}
  .apts .row{grid-template-columns:1fr 1fr}
  .apt:nth-child(3){grid-column:1/-1;margin-top:0}
  .apt:nth-child(3) .shot{aspect-ratio:16/9}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:16px;padding-bottom:80px}
  .mobcta{display:block}
  .hdr-cta{display:none}
  .burger{margin-left:auto}
  .brand img{height:48px}
  #hdr.small .brand img{height:40px}
  .hdr-cta .btn{padding:12px 20px;font-size:.92rem}
  .hero{padding-top:26px}
  h1.big{font-size:clamp(2.6rem,11.4vw,3.7rem)}
  .sigline{font-size:clamp(1.2rem,5vw,1.55rem)}
  .bcards{grid-template-columns:1fr;gap:18px}
  .bph{aspect-ratio:16/11}
  .cluster{aspect-ratio:1/1.12;min-height:360px}
  .stamp{right:0;top:auto;bottom:16%}
  .why .row{grid-template-columns:1fr}
  .stat:nth-child(3){grid-column:auto}
  .stat b{font-size:clamp(4.4rem,24vw,7rem)}
  .cgrid{gap:10px}
  .f-b,.f-c{margin-top:0}
  /* Mobile: drop .f-e into normal flow as a centered 5th tile below the 2×2 grid so it doesn't overlap .f-c */
  .f-e{position:static;left:auto;right:auto;top:auto;bottom:auto;grid-column:1 / -1;justify-self:center;width:38%;margin-top:6px;rotate:-4deg}
  .apts .row{grid-template-columns:1fr}
  .apt .shot{aspect-ratio:16/10.5}
  .strip{grid-template-columns:1fr;gap:18px}
  .strip .sit+.sit{border-left:0;padding-left:0;border-top:1px solid rgba(30,42,56,.13);padding-top:18px}
  .apts .head h2{font-size:clamp(2.2rem,9vw,2.9rem)}
  .loc li{flex-direction:column;gap:4px;padding:16px 0}
  .loc li b{width:auto}
  .svalue{grid-template-columns:1fr;min-height:0}
  .svimg{min-height:230px}
  .sroom img{aspect-ratio:16/11}
  .sroom figcaption{max-width:76%;font-size:.78rem;padding:11px 15px}
  .sig .wmk{left:auto;right:-10%;top:30%;width:52vw}
  .stxt{max-width:none}
  footer .cols{grid-template-columns:1fr}
  footer .brand img{height:64px}
  .quote blockquote{max-width:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1!important;transform:none!important}
  .marq .track{animation:none!important}
  .hero.in h1.big em::after{width:100%}
  .hero.in .sigline em::after{width:100%}
  .bldgs.in .bh em::after{width:100%}
  .loc.in .photofig .rline{stroke-dashoffset:0}
}

/* ============================================================
   LOVED BY OUR RESIDENTS
   ============================================================ */
.revs{background:var(--canvas);padding:clamp(74px,10vw,132px) 0;position:relative;overflow:hidden}
.tiles{
  position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(0,181,192,.13) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(0,181,192,.13) 1px,transparent 1px);
  background-size:74px 74px;
  mask-image:radial-gradient(120% 90% at 50% 0%,#000 25%,transparent 78%);
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 25%,transparent 78%);
}
.tiles.dk{
  opacity:.55;
  background-image:linear-gradient(rgba(91,231,255,.16) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(91,231,255,.16) 1px,transparent 1px);
}
.revs .wrap,.touch .wrap{position:relative;z-index:2}
.rhead{text-align:center;max-width:44ch;margin:0 auto}
.rhead h2{font-size:clamp(2.4rem,5vw,4rem);line-height:.98}
.rhead .sub{margin:20px auto 0;font-size:clamp(1rem,1.3vw,1.14rem);color:#5A6680;line-height:1.55}
.bang{color:var(--teal-txt)}
.bang.y{color:var(--yellow)}

.rgrid{
  margin-top:clamp(38px,5vw,60px);display:grid;
  grid-template-columns:repeat(2,1fr);gap:clamp(16px,1.9vw,24px);align-items:start;
}
.rcard{
  margin:0;background:var(--white);border:1px solid rgba(30,42,56,.1);
  border-radius:var(--r-lg);padding:clamp(22px,2.4vw,30px);
  box-shadow:0 1px 0 rgba(30,42,56,.03);transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.rcard:hover{transform:translateY(-4px) rotate(-.35deg);box-shadow:var(--sh-2)}
.rcard.navy{background:var(--navy);border-color:var(--navy)}
.rcard.sun{background:linear-gradient(160deg,#FFFDF6,#FFF6DF);border-color:rgba(255,201,60,.55)}
.stars{display:flex;gap:5px;margin-bottom:16px}
.stars svg{width:17px;height:17px;fill:var(--gold);flex:none}
.rcard blockquote{
  margin:0;font-size:clamp(1rem,1.22vw,1.09rem);line-height:1.58;color:var(--ink);
  font-weight:500;
}
.rcard blockquote::before{content:'\201C'}
.rcard blockquote::after{content:'\201D'}
.rcard.navy blockquote{color:rgba(251,247,239,.94)}
.rcard figcaption{
  display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:18px;
  border-top:1px solid rgba(30,42,56,.11);
}
.rcard.navy figcaption{border-top-color:rgba(251,247,239,.2)}
.av{
  flex:none;width:38px;height:38px;border-radius:50%;background:rgba(0,181,192,.16);
  display:grid;place-content:center;font-weight:800;font-size:1rem;color:var(--teal-txt);
}
.rcard.navy .av{background:rgba(91,231,255,.2);color:var(--teal-lt)}
.rcard.sun .av{background:rgba(255,201,60,.35);color:var(--gold-txt)}
.who{display:flex;flex-direction:column;line-height:1.25}
.who b{font-size:.98rem;font-weight:800;color:var(--navy)}
.who i{font-style:normal;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#78849B;margin-top:3px}
.rcard.navy .who b{color:var(--cream)}
.rcard.navy .who i{color:rgba(251,247,239,.56)}

/* ============================================================
   GET IN TOUCH
   ============================================================ */
.touch{background:var(--navy);padding:clamp(74px,10vw,132px) 0;position:relative;overflow:hidden;color:var(--cream)}
.kicker.lt{color:var(--teal-lt)}
.kicker.lt::before{background:var(--teal-lt)}
.thead{max-width:46ch}
.thead h2{font-size:clamp(2.5rem,5.4vw,4.3rem);line-height:.98;color:var(--cream)}
.thead p{margin-top:18px;font-size:clamp(1rem,1.3vw,1.14rem);color:rgba(251,247,239,.74);line-height:1.55;max-width:42ch}
.tgrid{
  margin-top:clamp(38px,5vw,58px);display:grid;
  grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,64px);align-items:center;
}
.tvis{position:relative;padding:22px 26px 26px 0}
.tvis .blk{position:absolute;border-radius:var(--r);z-index:1}
.tvis .blk.teal{left:-14px;top:0;width:46%;height:38%;background:var(--teal)}
.tvis .blk.gold{right:8%;bottom:-6px;width:30%;height:26%;background:var(--yellow);opacity:.92}
.tphoto{
  position:relative;z-index:2;margin:0;border-radius:var(--r-lg);overflow:hidden;
  border:8px solid var(--cream);box-shadow:var(--sh-3);rotate:-1.6deg;
  aspect-ratio:4/4.4;max-width:430px;
}
.tphoto img{width:100%;height:100%;object-fit:cover;object-position:52% 42%;display:block}
.env{
  position:absolute;z-index:3;right:-6px;top:-14px;width:min(31%,168px);height:auto;
  animation:envfloat 6.5s ease-in-out infinite;
}
.env .bub{fill:var(--teal);stroke:none;opacity:.95}
.env .body{fill:var(--yellow);stroke:var(--navy);stroke-width:5;stroke-linejoin:round}
.env .flap,.env .fold{fill:none;stroke:var(--navy);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.env .sparks path{fill:var(--yellow)}
@keyframes envfloat{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -11px;rotate:2.4deg}}
@media (prefers-reduced-motion:reduce){.env{animation:none}}

.tform{
  background:var(--cream);border-radius:var(--r-lg);padding:clamp(24px,2.8vw,36px);
  box-shadow:var(--sh-3);display:flex;flex-direction:column;gap:14px;
}
.tform .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tform label{
  display:flex;flex-direction:column;gap:7px;
  font-size:.74rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#6B7690;
}
.tform input,.tform select,.tform textarea{
  font:inherit;font-size:1rem;color:var(--ink);background:var(--white);
  border:1px solid rgba(30,42,56,.16);border-radius:var(--r-sm);padding:12px 13px;
  transition:border-color .2s,box-shadow .2s;width:100%;
}
.tform textarea{resize:vertical;min-height:76px}
.tform input:focus,.tform select:focus,.tform textarea:focus{
  outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,181,192,.2);
}
.tform .btn{margin-top:6px;align-self:flex-start;display:inline-flex;align-items:center;gap:9px;border:none;cursor:pointer}
.tform .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:translate .25s var(--ease)}
.tform .btn:hover svg{translate:4px 0}
.fnote{margin:2px 0 0;font-size:.86rem;color:#6B7690;line-height:1.55}
.fnote a{color:var(--teal-txt);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}

@media (max-width:900px){
  .rgrid{grid-template-columns:1fr}
  .tgrid{grid-template-columns:1fr;gap:34px}
  .tvis{padding:18px 18px 22px 0;max-width:420px}
  .tform .frow{grid-template-columns:1fr}
  .thead{max-width:none}
}

/* new-section desktop refinements */
@media (min-width:901px){
  .rgrid>.rcard:nth-child(even){margin-top:30px}
  .tvis{max-width:530px;margin:0 auto;padding:24px 30px 30px 0}
  .tphoto{max-width:none;aspect-ratio:4/4.5}
  .env{width:min(30%,178px)}
}
.tvis .blk.gold{right:-10px;bottom:6%;width:26%;height:22%}

/* Location — map block */
.mapwrap{grid-column:1/-1;margin-top:clamp(34px,4.4vw,58px)}
.mapfig{
  margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--canvas);
  border:1px solid rgba(11,17,76,.1);box-shadow:var(--sh-2);position:relative;
}
.mapfig img{display:block;width:100%;height:auto}
.mlegend{
  display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:18px;padding:0;list-style:none;
}
.mlegend li{
  display:flex;align-items:center;gap:9px;font-size:.88rem;font-weight:700;color:#5A6680;
  border:none;padding:0;
}
.mlegend .k{flex:none;width:16px;height:16px;border-radius:50%}
.mlegend .k.pin{background:var(--navy)}
.mlegend .k.camp{background:rgba(0,181,192,.28);border:1.5px solid rgba(0,181,192,.6)}
.mlegend .k.walk{width:26px;height:0;border-radius:0;border-top:4px dashed var(--gold)}
@media (max-width:640px){
  .mlegend{gap:8px 18px}
  .mlegend li{font-size:.82rem}
}
.loc .mlegend{flex-direction:row;margin-top:18px}
.loc .mlegend li,.loc .mlegend li:last-child{border:none;padding:0;align-items:center}
.loc .mlegend li{flex-wrap:nowrap;white-space:nowrap}
@media (max-width:640px){
  .loc .mlegend{flex-direction:column;gap:9px}
}
.mlegend .k.pin2{background:#FFFFFF;border:2.5px solid var(--navy)}
@media (max-width:640px){
  .loc .mlegend li{flex-direction:row;align-items:center;align-self:flex-start;text-align:left;gap:9px}
}

/* ══════════════ header accommodation for the 7-item nav (FAQ added) ══════════════
   Additive only. Keeps every label on a single line and hands off to the existing
   burger menu earlier, so the header never wraps or overflows at laptop widths. */
/* ── GLOBAL HEADER ─────────────────────────────────────────────
   Seven nav items plus the two right-hand CTAs (Contact Us, Apply Now)
   held on one horizontal line. Header height is unchanged. Space is
   reclaimed by letting the header bar run wider than the page grid and by
   fluidly tightening the nav gap, label size and button padding as the
   viewport narrows. Below 1240px the existing burger menu takes over, and
   below 720px the original mobile behaviour is untouched (header CTAs hide,
   the sticky mobile bar and the burger menu carry Contact Us + Apply Now). */
@media (min-width:1241px){
  #hdr .wrap{max-width:1440px}
  nav.main{flex:none;flex-wrap:nowrap;gap:clamp(9px,1.05vw,22px)}
  nav.main>a,nav.main>.ddwrap>.ddtop,nav.main .ddtop{white-space:nowrap}
  nav.main>a,nav.main .ddtop{font-size:clamp(.89rem,calc(.66rem + .3vw),1rem)}

  /* right-hand CTA pair */
  .hdr-cta{flex:none;display:flex;align-items:center;gap:clamp(8px,.7vw,12px)}
  .hdr-cta .btn{white-space:nowrap;padding:14px clamp(14px,1.25vw,26px);
    font-size:clamp(.88rem,calc(.7rem + .22vw),.98rem)}

  /* The logo eases down slightly at laptop widths so the bar never wraps.
     .brand is pinned to the old logo height so the header bar itself
     does not change height at any width. */
  .brand{display:flex;align-items:center;height:60px}
  #hdr.small .brand{height:46px}
}
@media (min-width:1241px) and (max-width:1400px){
  .brand img{height:52px}
  #hdr.small .brand img{height:44px}
}
@media (max-width:1240px){
  nav.main{display:none}
  .burger{display:block}
}
/* tablet / small-laptop: both CTAs stay in the bar beside the burger */
@media (min-width:721px) and (max-width:1240px){
  .hdr-cta{margin-left:0;display:flex;align-items:center;gap:9px}
  .hdr-cta .btn{padding:12px 16px;font-size:.9rem;white-space:nowrap}
}
/* Apply Now button inside the mobile burger menu */
.mnav-apply{margin-top:10px !important}
