
:root{
  --black:#141414; --teal:#003F3F; --teal-700:#0E5E57; --teal-900:#012826;
  --lime:#C6FF1A; --lime-600:#A9DE00;
  --bone:#FAF9F5; --sand:#F1EEE6; --card:#ffffff;
  --ink:#181A19; --muted:#59615E; --line:rgba(20,20,20,.10); --line-2:rgba(255,255,255,.14);
  --fx:cubic-bezier(.16,.84,.44,1);
  --wrap:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,sans-serif;color:var(--ink);background:var(--bone);
  line-height:1.65;-webkit-font-smoothing:antialiased;font-size:17px}
h1,h2,h3,.display{font-family:"Fraunces","Georgia",serif;font-weight:500;line-height:1.05;
  letter-spacing:-.015em}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.eyebrow{font-family:"Inter";font-weight:600;font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--teal-700);display:inline-flex;align-items:center;gap:.6em}
.eyebrow::before{content:"";width:14px;height:9px;background:var(--lime);
  clip-path:polygon(50% 0,100% 100%,0 100%);display:inline-block}
.eyebrow.on-dark{color:var(--lime)}
.eyebrow.on-dark::before{background:var(--lime)}
.section{padding:104px 0}
.section.tight{padding:76px 0}
.lead{font-size:1.2rem;color:var(--muted);max-width:60ch}
.on-dark .lead{color:rgba(255,255,255,.72)}
.kicker{max-width:66ch}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55em;font-weight:600;font-size:.98rem;
  padding:15px 26px;border-radius:100px;transition:.25s var(--fx);border:1.5px solid transparent;
  cursor:pointer;white-space:nowrap}
.btn svg{width:16px;height:16px}
.btn-primary{background:var(--lime);color:var(--black)}
.btn-primary:hover{background:var(--lime-600);transform:translateY(-2px);
  box-shadow:0 12px 30px -12px rgba(169,222,0,.7)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--teal);border-color:#fff}
.btn-dark{background:var(--teal);color:#fff}
.btn-dark:hover{background:var(--teal-900);transform:translateY(-2px)}
.btn-line{border-color:var(--line);color:var(--ink)}
.btn-line:hover{border-color:var(--teal);color:var(--teal)}

/* storm bar */
.stormbar{background:var(--black);color:#fff;font-size:.86rem;text-align:center;
  padding:9px 16px;position:relative;z-index:60}
.stormbar b{color:var(--lime)}
.stormbar a{border-bottom:1px solid var(--lime);font-weight:600;white-space:nowrap}

/* header */
.hdr{position:sticky;top:0;z-index:50;transition:.3s var(--fx)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:16px 24px;max-width:1320px;margin:0 auto}
.hdr .logo{height:46px;width:auto;transition:.3s}
.brand-word{font-family:"Fraunces";font-weight:600;font-size:1.15rem;color:#fff;letter-spacing:-.01em;line-height:1}
.brand-word small{display:block;font-family:"Inter";font-weight:600;font-size:.56rem;
  letter-spacing:.28em;color:var(--lime);text-transform:uppercase;margin-top:3px}
.hdr.on-hero{position:absolute;left:0;right:0;background:transparent}
.hdr.solid{background:rgba(1,40,38,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-2);box-shadow:0 10px 40px -20px rgba(0,0,0,.6)}
nav.main{display:flex;align-items:center;gap:6px}
nav.main a{color:#fff;font-size:.94rem;font-weight:500;padding:10px 14px;border-radius:8px;
  position:relative;transition:.2s}
nav.main a:hover{color:var(--lime)}
.has-menu{position:relative}
.menu{position:absolute;top:calc(100% + 6px);left:0;background:#fff;border-radius:14px;
  padding:8px;min-width:266px;box-shadow:0 24px 60px -20px rgba(0,0,0,.4);
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.22s var(--fx);
  border:1px solid var(--line)}
.has-menu:hover .menu{opacity:1;visibility:visible;transform:none}
.menu a{display:block;color:var(--ink);padding:11px 13px;border-radius:9px;font-size:.92rem}
.menu a:hover{background:var(--sand);color:var(--teal)}
.menu a span{display:block;font-size:.76rem;color:var(--muted);font-weight:400;margin-top:1px}
.hdr-cta{display:flex;align-items:center;gap:14px}
.hdr-phone{color:#fff;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:7px}
.hdr-phone:hover{color:var(--lime)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.burger span{width:24px;height:2px;background:#fff;border-radius:2px;transition:.25s}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:70;background:var(--teal-900);color:#fff;
  transform:translateX(100%);transition:.35s var(--fx);display:flex;flex-direction:column;
  padding:26px 26px 40px;overflow-y:auto}
.drawer.open{transform:none}
.drawer .x{align-self:flex-end;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer;line-height:1}
.drawer a{color:#fff;font-size:1.35rem;font-family:"Fraunces";padding:14px 0;
  border-bottom:1px solid var(--line-2)}
.drawer .sub{font-size:1rem;font-family:"Inter";color:rgba(255,255,255,.75);padding-left:14px}
.drawer .btn{margin-top:22px;justify-content:center}

/* hero */
.hero{position:relative;color:#fff;isolation:isolate;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 64px),0 100%)}
.hero-bg{position:absolute;inset:0;z-index:-2;
  background-image:linear-gradient(105deg,rgba(1,40,38,.92) 0%,rgba(1,40,38,.55) 55%,rgba(20,20,20,.6) 100%),url("https://images.unsplash.com/photo-1505843795480-5cfb3c03f6ff?fm=jpg&q=80&w=1600&auto=format&fit=crop"),linear-gradient(120deg,var(--teal-900),var(--teal-700) 70%,var(--black));
  background-size:cover;background-position:center}
.hero-seam{position:absolute;left:0;right:0;bottom:52px;height:2px;
  background:linear-gradient(90deg,transparent,var(--lime),transparent);z-index:-1;opacity:.9}
.hero-in{max-width:1320px;margin:0 auto;padding:170px 24px 150px}
.hero h1{font-size:clamp(2.6rem,6.4vw,5.1rem);max-width:16ch;font-weight:500}
.hero h1 em{font-style:normal;color:var(--lime)}
.hero p{font-size:clamp(1.05rem,1.7vw,1.32rem);max-width:52ch;margin-top:24px;
  color:rgba(255,255,255,.82)}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:44px;
  font-size:.86rem;color:rgba(255,255,255,.72);font-weight:500}
.trust span{display:inline-flex;align-items:center;gap:8px}
.trust span::before{content:"";width:8px;height:8px;background:var(--lime);border-radius:2px;transform:rotate(45deg)}

/* generic section headers */
.head{max-width:760px;margin-bottom:52px}
.head h2{font-size:clamp(2rem,3.8vw,3.1rem);margin-top:16px}
.head.center{margin-inline:auto;text-align:center}

/* positioning split */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.split .media{aspect-ratio:4/3;border-radius:20px;min-height:340px}
.pillars{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.pill{font-size:.85rem;font-weight:600;color:var(--teal);background:var(--sand);
  padding:9px 15px;border-radius:100px;border:1px solid var(--line)}

/* media placeholder utility */
.media{background-size:cover;background-position:center;position:relative;overflow:hidden}
.g-a{background-image:linear-gradient(150deg,var(--teal-900),var(--teal-700))}
.g-b{background-image:linear-gradient(150deg,var(--teal-700),#0a3d3a)}
.g-c{background-image:linear-gradient(150deg,#062f2c,var(--teal))}
.g-d{background-image:linear-gradient(150deg,var(--teal),#0d4f49)}
.media .tag{position:absolute;left:16px;bottom:14px;z-index:3;color:#fff;font-weight:600;
  font-size:.9rem;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.media .tag small{display:block;font-weight:500;font-size:.75rem;color:rgba(255,255,255,.8)}
.media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(1,20,19,.55),transparent 55%);z-index:2}

/* service cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:var(--card);border-radius:18px;overflow:hidden;border:1px solid var(--line);
  transition:.3s var(--fx)}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -34px rgba(0,63,63,.5)}
.card .media{aspect-ratio:5/4}
.card .media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.card-body{padding:22px 22px 26px}
.card h3{font-size:1.3rem;margin-bottom:9px}
.card p{font-size:.94rem;color:var(--muted);margin-bottom:16px}
.card .more{font-weight:600;color:var(--teal);font-size:.9rem;display:inline-flex;gap:6px;
  align-items:center;transition:.2s}
.card:hover .more{gap:11px;color:var(--teal-700)}

/* dark band */
.band{background:var(--teal-900);color:#fff;position:relative}
.band.pitch{clip-path:polygon(0 44px,50% 0,100% 44px,100% 100%,0 100%)}
.band .head h2,.on-dark h2,.on-dark h3{color:#fff}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:10px}
.step3{padding:28px;border:1px solid var(--line-2);border-radius:18px;
  background:rgba(255,255,255,.03)}
.step3 .n{font-family:"Fraunces";font-size:2.4rem;color:var(--lime);line-height:1}
.step3 h3{font-size:1.35rem;margin:14px 0 8px}
.step3 p{color:rgba(255,255,255,.72);font-size:.96rem}

/* gallery masonry */
.masonry{columns:4;column-gap:16px}
.masonry .tile{break-inside:avoid;margin-bottom:16px;border-radius:14px;overflow:hidden;
  position:relative;display:block}
.masonry .tile .media{width:100%}
.masonry .t1{aspect-ratio:3/4}.masonry .t2{aspect-ratio:1/1}
.masonry .t3{aspect-ratio:4/5}.masonry .t4{aspect-ratio:4/3}
.gal-cta{text-align:center;margin-top:44px}

/* case study */
.case{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px}
.case .media{aspect-ratio:4/3;border-radius:16px}
.case .lbl{position:absolute;top:14px;left:14px;z-index:3;background:rgba(20,20,20,.72);
  color:#fff;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:6px 12px;border-radius:100px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{font-size:.82rem;font-weight:600;color:#fff;background:rgba(198,255,26,.12);
  border:1px solid rgba(198,255,26,.4);color:var(--lime);padding:8px 14px;border-radius:100px}

/* why / features list */
.feat{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 48px;margin-top:12px}
.feat .item{display:flex;gap:16px}
.feat .ic{flex:0 0 auto;width:42px;height:42px;border-radius:11px;background:rgba(198,255,26,.14);
  display:grid;place-items:center}
.feat .ic svg{width:20px;height:20px;stroke:var(--lime)}
.feat h3{font-size:1.16rem;margin-bottom:5px}
.feat p{color:rgba(255,255,255,.72);font-size:.95rem}
.on-light .feat .ic{background:rgba(0,63,63,.09)}
.on-light .feat .ic svg{stroke:var(--teal)}
.on-light .feat p{color:var(--muted)}

/* process */
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.proc .p{position:relative;padding-top:30px}
.proc .p::before{content:"0" counter(s);counter-increment:s;font-family:"Fraunces";
  font-size:1.5rem;color:var(--teal);position:absolute;top:-6px;left:0}
.proc .p::after{content:"";position:absolute;top:2px;left:44px;right:-12px;height:1px;
  background:var(--line)}
.proc .p:last-child::after{display:none}
.proc h3{font-size:1.16rem;margin-bottom:7px}
.proc p{font-size:.93rem;color:var(--muted)}

/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quote{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px}
.quote .stars{color:var(--lime);letter-spacing:3px;font-size:1rem}
.quote p{font-family:"Fraunces";font-size:1.12rem;line-height:1.4;margin:14px 0 18px;color:var(--ink)}
.quote .who{font-weight:600;font-size:.92rem}
.quote .who small{display:block;color:var(--muted);font-weight:400}

/* financing / cta banners */
.banner{position:relative;color:#fff;border-radius:24px;overflow:hidden;padding:74px 56px;isolation:isolate}
.banner .bg{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,rgba(1,40,38,.92),rgba(1,40,38,.55)),
  linear-gradient(120deg,var(--teal-900),var(--teal-700))}
.banner h2{font-size:clamp(1.9rem,3.4vw,2.8rem);max-width:20ch}
.banner p{color:rgba(255,255,255,.82);max-width:52ch;margin-top:14px}
.banner .btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

/* final cta w/ form */
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.form{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:32px;
  box-shadow:0 40px 80px -50px rgba(0,63,63,.5)}
.form h3{font-size:1.5rem;margin-bottom:6px}
.form .fine{font-size:.84rem;color:var(--muted);margin-bottom:20px}
.field{margin-bottom:14px}
.field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:13px 15px;border:1px solid var(--line);
  border-radius:11px;font:inherit;font-size:.95rem;background:#fff;transition:.2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;
  border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,63,63,.12)}
.field.row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:0}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;color:var(--muted);margin:6px 0 18px}
.consent input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}
.form .btn{width:100%;justify-content:center}
.contact-list{list-style:none;display:flex;flex-direction:column;gap:20px;margin-top:26px}
.contact-list li{display:flex;gap:15px;align-items:flex-start}
.contact-list .ic{width:44px;height:44px;flex:0 0 auto;border-radius:12px;background:var(--sand);
  display:grid;place-items:center}
.contact-list .ic svg{width:20px;height:20px;stroke:var(--teal)}
.contact-list b{display:block;font-size:1.02rem}
.contact-list span{color:var(--muted);font-size:.94rem}

/* footer */
footer{background:linear-gradient(rgba(1,40,38,.93),rgba(1,40,38,.97)),url("/assets/skyline-bg.jpg");background-size:cover;background-position:center bottom;color:#fff;padding:72px 0 26px}
.f-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px}
footer .flogo{height:44px;margin-bottom:18px}
footer p.desc{color:rgba(255,255,255,.6);font-size:.92rem;max-width:34ch}
footer h4{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--lime);
  margin-bottom:16px;font-family:"Inter";font-weight:600}
footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
footer ul a,footer ul li{color:rgba(255,255,255,.72);font-size:.92rem}
footer ul a:hover{color:#fff}
.f-bottom{border-top:1px solid var(--line-2);margin-top:52px;padding-top:22px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  color:rgba(255,255,255,.5);font-size:.82rem}

/* mobile action bar */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:55;background:#fff;
  border-top:1px solid var(--line);box-shadow:0 -8px 30px -14px rgba(0,0,0,.3)}
.mbar a{flex:1;text-align:center;padding:13px 6px;font-size:.78rem;font-weight:600;
  display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink)}
.mbar a svg{width:19px;height:19px;stroke:var(--teal)}
.mbar a.hot{background:var(--lime);color:var(--black)}
.mbar a.hot svg{stroke:var(--black)}

/* page hero (subpages) */
.phero{background:var(--teal-900);color:#fff;padding:150px 0 90px;position:relative;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),0 100%)}
.phero h1{font-size:clamp(2.3rem,5vw,3.7rem);max-width:18ch;margin-top:14px}
.phero p{color:rgba(255,255,255,.78);max-width:56ch;margin-top:16px;font-size:1.1rem}

/* service detail rows */
.srow{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:44px 0}
.srow.flip .txt{order:2}
.srow .media{aspect-ratio:4/3;border-radius:20px;min-height:320px}
.srow h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:12px 0 14px}
.srow ul{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:11px}
.srow li{display:flex;gap:11px;font-size:.98rem}
.srow li::before{content:"";flex:0 0 auto;width:15px;height:10px;margin-top:7px;background:var(--lime);
  clip-path:polygon(50% 0,100% 100%,0 100%)}

/* filter bar */
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:38px}
.filters button{border:1px solid var(--line);background:#fff;padding:10px 18px;border-radius:100px;
  font:inherit;font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer;transition:.2s}
.filters button.active,.filters button:hover{background:var(--teal);color:#fff;border-color:var(--teal)}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:.7s var(--fx)}
.reveal.in{opacity:1;transform:none}

/* responsive */
@media(max-width:1040px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .masonry{columns:3}
  .proc{grid-template-columns:repeat(2,1fr);gap:34px 24px}
  .proc .p::after{display:none}
  .feat{grid-template-columns:1fr}
}
@media(max-width:860px){
  nav.main,.hdr-phone{display:none}
  .burger{display:flex}
  .split,.cta-grid,.srow,.srow.flip .txt{grid-template-columns:1fr;order:0}
  .srow{gap:28px}
  .steps3,.quotes{grid-template-columns:1fr}
  .case{grid-template-columns:1fr}
  .mbar{display:flex}
  body{padding-bottom:60px}
  .section{padding:72px 0}
  .banner{padding:48px 26px}
  .hero-in{padding:140px 24px 120px}
}
@media(max-width:560px){
  .masonry{columns:2;column-gap:12px}
  .cards{grid-template-columns:1fr}
  .field.row{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr 1fr}
  .banner .btns{flex-direction:column}
  .banner .btn{width:100%;justify-content:center}
}


/* ================= v2 CONVERSION + VISUAL UPGRADES ================= */
/* hero trust row */
.htrust{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:26px}
.htrust .rate{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:.98rem}
.htrust .rate .stars{color:var(--lime);letter-spacing:2px}
.htrust .rate small{color:rgba(255,255,255,.7);font-weight:500}
.htrust .badge{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.88);
  font-size:.86rem;font-weight:600}
.htrust .badge svg{width:16px;height:16px;stroke:var(--lime)}
.htrust .divider{width:1px;height:20px;background:rgba(255,255,255,.22)}
/* storm urgency cta */
.btn-storm{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5);color:#fff}
.btn-storm:hover{background:#fff;color:var(--teal);border-color:#fff}
.btn-storm .dot{width:9px;height:9px;border-radius:50%;background:var(--lime);flex:0 0 auto;
  box-shadow:0 0 0 0 rgba(198,255,26,.7);animation:pulse 1.9s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(198,255,26,.6)}70%{box-shadow:0 0 0 11px rgba(198,255,26,0)}100%{box-shadow:0 0 0 0 rgba(198,255,26,0)}}
@media(prefers-reduced-motion:reduce){.btn-storm .dot{animation:none}}
/* credential strip */
.creds{background:var(--black);color:#fff;padding:18px 0}
.creds .row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 32px;
  font-size:.85rem;font-weight:600;color:rgba(255,255,255,.82)}
.creds .row span{display:inline-flex;align-items:center;gap:9px}
.creds .row svg{width:17px;height:17px;stroke:var(--lime)}
.creds .g{color:var(--lime)}
/* stat band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat .num{font-family:"Fraunces";font-weight:600;font-size:clamp(2.1rem,4vw,3.1rem);
  color:var(--teal);line-height:1}
.stat .lab{font-size:.9rem;color:var(--muted);margin-top:9px;font-weight:500;max-width:22ch;
  margin-inline:auto}
/* before / after slider */
.ba{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/10;user-select:none;
  box-shadow:0 34px 80px -44px rgba(0,63,63,.65);touch-action:pan-y}
.ba .media{position:absolute;inset:0;width:100%;height:100%}
.ba .media::after{display:none}
.ba-after{position:absolute;top:0;left:0;height:100%;width:50%;overflow:hidden}
.ba-after>.media{left:0;top:0;height:100%}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--lime);
  transform:translateX(-50%);pointer-events:none;z-index:2}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;width:48px;height:48px;
  border-radius:50%;background:var(--lime);transform:translate(-50%,-50%);
  box-shadow:0 6px 20px rgba(0,0,0,.4)}
.ba-handle .ar{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;
  font-size:1rem;color:var(--black);font-weight:800}
.ba .lbl{position:absolute;top:14px;z-index:3;background:rgba(20,20,20,.74);color:#fff;
  font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:6px 12px;border-radius:100px}
.ba .lbl.b{left:14px}.ba .lbl.a{right:14px}
/* outdoor living feature */
.oliv{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.olist{display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;margin-top:26px}
.olist .o{display:flex;gap:13px;align-items:flex-start}
.olist .o svg{width:22px;height:22px;stroke:var(--lime);flex:0 0 auto;margin-top:2px}
.olist .o b{display:block;font-size:1.02rem}
.olist .o span{font-size:.85rem;color:rgba(255,255,255,.62)}
.ogal{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:13px}
.ogal .media{aspect-ratio:1/1;border-radius:16px}
.ogal .media.tall{grid-row:span 2;aspect-ratio:1/2}
/* reviews */
.rev-sum{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:40px;text-align:center}
.rev-sum .big{font-family:"Fraunces";font-weight:600;font-size:3rem;color:var(--teal);line-height:1}
.rev-sum .stars{color:var(--lime);font-size:1.25rem;letter-spacing:3px}
.rev-sum small{color:var(--muted);font-size:.9rem}
.quote .qhead{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.quote .av{width:46px;height:46px;border-radius:50%;background:var(--teal);color:#fff;flex:0 0 auto;
  display:grid;place-items:center;font-weight:700;font-family:"Fraunces";font-size:1.05rem}
.quote .who2 b{font-size:.95rem}.quote .who2 small{display:block;color:var(--muted);font-size:.82rem}
.quote .ptag{font-size:.72rem;font-weight:600;color:var(--teal);background:var(--sand);
  padding:5px 11px;border-radius:100px;display:inline-block;margin-top:14px}
.quote .verif{font-size:.74rem;color:var(--muted);display:inline-flex;align-items:center;gap:5px;margin-top:12px}
.quote .verif svg{width:14px;height:14px;stroke:#1a8917}
/* local area band */
.local{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}
.local a{border:1px solid var(--line);background:#fff;padding:10px 17px;border-radius:100px;
  font-size:.88rem;font-weight:600;color:var(--teal);transition:.2s}
.local a:hover{background:var(--teal);color:#fff;border-color:var(--teal)}
/* stronger mobile bar */
.mbar a.hot{position:relative}
.mbar a.hot::before{content:"";position:absolute;top:6px;right:calc(50% - 40px);width:7px;height:7px;
  border-radius:50%;background:var(--black);animation:pulse 1.9s infinite}
@media(max-width:1040px){.stats{grid-template-columns:repeat(2,1fr);gap:30px}
  .ogal .media.tall{grid-row:auto;aspect-ratio:1/1}}
@media(max-width:860px){.oliv{grid-template-columns:1fr}.olist{grid-template-columns:1fr}
  .ba{aspect-ratio:4/3}}

.pimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.masonry .tile .media{position:absolute;inset:0}
