/* =====================================================================
   The Laser Lab NY — static site styles
   Migrated from the Wix Harmony site. The Wix layout is a fluid, scaled
   design: every measurement grows/shrinks with the page width. To match it
   exactly, sizes are expressed in design units (--u):
     desktop  (>1000px): 1 unit = page width / 1440
     mobile   (<=1000px): 1 unit = page width / 390
   Page elements carry their measured position as CSS variables
   (--x/--y/--w = desktop, --mx/--my/--mw = mobile), all in design units.
   ===================================================================== */

/* ---------- Fonts (self-hosted, SIL Open Font License) ---------- */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/newsreader.woff2') format('woff2')}
@font-face{font-family:'Almarai';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/almarai-400.woff2') format('woff2')}
@font-face{font-family:'Almarai';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/almarai-700.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/ibm-plex-sans.woff2') format('woff2')}
@font-face{font-family:'Libre Baskerville';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/libre-baskerville-italic.woff2') format('woff2')}

:root{
  --mint:#94d5b8;
  --mint-line:#c1ebd7;
  --ink:#0c0c0c;
  --ink-2:#13161c;
  --grey:#616161;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Almarai','Helvetica Neue',Helvetica,Arial,sans-serif;
  --plex:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;
  --bask:'Libre Baskerville',Georgia,serif;
  --hel:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --u:calc(100vw / 1440);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);overflow-x:hidden}
img{display:block;max-width:none}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #116dff;outline-offset:2px}
p,h1,h2,h3,h4,h5,h6,ul,ol{margin:0}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Scale unit follows the real content width (no scrollbar) where supported */
.site{container-type:inline-size;--u:calc(100cqw / 1440);min-height:100vh;display:flex;flex-direction:column}
main{flex:1 0 auto}
@media (max-width:1000px){
  :root{--u:calc(100vw / 390)}
  .site{--u:calc(100cqw / 390)}
}

/* ---------- Font families ---------- */
.f-serif{font-family:var(--serif);font-variant-numeric:oldstyle-nums;letter-spacing:.008em}
.f-sans{font-family:var(--sans)}
.f-plex{font-family:var(--plex)}
.f-bask{font-family:var(--bask)}
.f-hel{font-family:var(--hel)}

/* =====================================================================
   HEADER
   ===================================================================== */
.hdr{position:sticky;top:0;z-index:50;background:var(--mint);height:calc(93 * var(--u))}
.hdr__in{position:relative;height:100%}
.hdr__logo{position:absolute;left:calc(51 * var(--u));top:0;width:calc(205 * var(--u));height:calc(72 * var(--u))}
.hdr__logo img{width:100%;height:100%;object-fit:contain}
.nav{position:absolute;right:calc(39 * var(--u));top:0;height:100%;display:flex;align-items:center}
.nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:calc(34 * var(--u))}
.nav__item{position:relative;display:flex;align-items:center}
.nav__link{font-family:var(--hel);font-weight:700;font-size:calc(18.3 * var(--u));line-height:calc(23 * var(--u));color:#fff;white-space:nowrap;padding-top:calc(3 * var(--u))}
.nav__toggle{appearance:none;background:none;border:0;padding:0;margin-left:calc(5 * var(--u));width:calc(9 * var(--u));height:calc(9 * var(--u));display:flex;align-items:center;justify-content:center;cursor:pointer;color:#0c0c0c;margin-top:calc(3 * var(--u))}
.nav__toggle svg{width:100%;height:100%;transition:transform .2s}
.nav__drop{position:absolute;top:calc(44 * var(--u));left:calc(-62 * var(--u));width:calc(225 * var(--u));
  list-style:none;margin:0;padding:0;background:transparent;box-shadow:0 2px 8px rgba(193,235,215,.25);
  opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s}
.nav__drop::before{content:"";position:absolute;left:0;right:0;top:calc(-20 * var(--u));height:calc(20 * var(--u))}
.nav__drop li{height:calc(36.2 * var(--u))}
.nav__drop a{display:block;font-family:var(--bask);font-style:italic;font-size:calc(18.3 * var(--u));line-height:calc(25 * var(--u));color:var(--ink);white-space:nowrap}
.nav__drop a:hover,.nav__drop a:focus-visible{text-decoration:underline}
.nav__item--has-drop:hover .nav__drop,.nav__item--has-drop:focus-within .nav__drop,.nav__item--has-drop.is-open .nav__drop{opacity:1;visibility:visible}
.nav__item--has-drop:hover .nav__toggle svg,.nav__item--has-drop.is-open .nav__toggle svg{transform:rotate(180deg)}
.burger{display:none}

/* =====================================================================
   SECTIONS + POSITIONED ELEMENTS
   ===================================================================== */
.sec{position:relative;height:calc(var(--h) * var(--u));overflow-x:clip}
.sec--line{border:1px solid var(--mint-line)}
.sec--mint{background:var(--mint)}
.e{position:absolute;left:calc(var(--x) * var(--u));top:calc(var(--y) * var(--u));width:calc(var(--w) * var(--u))}
.t{font-weight:400;font-size:calc(var(--fs) * var(--u));line-height:calc(var(--lh) * var(--u));text-align:var(--ta,left);overflow-wrap:break-word}
.t a{text-decoration:underline}
.im{height:calc(var(--hh) * var(--u));object-fit:cover}
.l{font-size:calc(var(--fs) * var(--u));line-height:calc(var(--lh) * var(--u));padding-left:calc(var(--pl) * var(--u));text-align:var(--ta,left)}
.l li{padding:0}
.btn{height:calc(var(--hh) * var(--u));display:flex;align-items:center;justify-content:center;text-align:center;
  background:var(--mint);border:1px solid var(--bd,#fff);color:#fff;padding:0 calc(5 * var(--u))}
.btn span{font-size:calc(var(--fs) * var(--u));line-height:calc(var(--lh) * var(--u))}
.btn:hover span,.btn:focus-visible span{text-decoration:underline}
.ig{height:calc(var(--hh) * var(--u));display:block}
.ig img{width:100%;height:100%;object-fit:cover}
.totop{display:block;height:calc(var(--hh) * var(--u))}
.totop svg,.totop-fixed svg{width:100%;height:100%;display:block}
.m-only{display:none}

/* fixed back-to-top button (as on the Wix site) */
.totop-fixed{position:fixed;z-index:55;right:calc(23 * var(--u));bottom:calc(23 * var(--u));width:calc(30 * var(--u));height:calc(30 * var(--u))}

/* =====================================================================
   FORMS (newsletter + contact) — submitted through Netlify Forms
   ===================================================================== */
.nl-card{background:#fff;padding:calc(20 * var(--u))}
.nl{position:absolute;left:calc(220 * var(--u));top:calc(47 * var(--u));width:calc(486 * var(--u));font-family:var(--plex);color:var(--ink-2)}
.nl h2{font-family:var(--plex);font-weight:400;font-size:24px;line-height:36px;color:var(--mint)}
.nl label.lbl{display:block;font-size:14px;line-height:17px;margin-top:24px}
.nl input[type=email]{display:block;width:100%;height:35px;margin-top:8px;border:1px solid #9aa0a6;border-radius:0;font:14px var(--plex);padding:0 10px;background:transparent}
.nl .chk{display:flex;align-items:center;gap:13px;margin-top:24px;font-size:14px;line-height:21px}
.nl .chk input{width:16px;height:16px;margin:0;accent-color:var(--mint)}
.nl button{display:block;margin:24px 0 0 auto;width:146px;height:43px;background:var(--mint);border:1px solid var(--mint);color:#fff;font:700 16px/19.2px var(--plex);cursor:pointer}
.nl button:hover{text-decoration:underline}
.form-note{font-size:14px;margin-top:10px;color:var(--ink-2)}

.cf{position:absolute;left:calc(354.3 * var(--u));top:calc(108.7 * var(--u));width:calc(705.7 * var(--u));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:calc(20 * var(--u));row-gap:20px}
.cf input,.cf textarea{min-width:0;width:100%}
.cf .fld{display:flex;flex-direction:column}
.cf .fld--full{grid-column:1 / -1}
.cf label{font:14px/19.6px var(--sans);color:var(--ink);margin-bottom:7px}
.cf input,.cf textarea{border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;font:16px var(--serif);color:var(--ink);height:41px;padding:0}
.cf textarea{height:92px;resize:vertical;padding:0;margin-top:0}
.cf .phone{display:flex;align-items:center;border-bottom:1px solid var(--ink)}
.cf .phone svg{width:24px;height:24px;margin:0 6px 0 12px;flex:none}
.cf .phone input{border:0;flex:1}
.cf button{grid-column:1 / -1;height:43px;background:#fff;border:1px solid var(--ink);font:16px var(--serif);color:var(--ink);cursor:pointer}
.cf button:hover{text-decoration:underline}
.req{margin-left:2px}

/* =====================================================================
   FOOTER
   ===================================================================== */
.ftr{position:relative;background:var(--mint);height:calc(263 * var(--u));color:var(--ink-2)}
.ftr .fe{position:absolute;line-height:calc(20.475 * var(--u));font-size:calc(15.75 * var(--u))}
.ftr__logo{left:calc(177 * var(--u));top:calc(34 * var(--u));width:calc(161 * var(--u));height:calc(51 * var(--u))}
.ftr__logo img{width:100%;height:100%;object-fit:cover}
.ftr__follow{left:calc(216 * var(--u));top:calc(114 * var(--u));font-size:calc(18.24 * var(--u))!important;line-height:calc(23.7 * var(--u))!important;color:var(--ink)}
.ftr__ig{left:calc(241 * var(--u));top:calc(151 * var(--u));width:calc(24 * var(--u));height:calc(24 * var(--u))}
.ftr__ig svg{width:100%;height:100%;display:block}
.ftr__hours-t{left:calc(531 * var(--u));top:calc(36 * var(--u));font-size:calc(18.27 * var(--u))!important;line-height:calc(23.75 * var(--u))!important}
.ftr__hours{left:calc(532 * var(--u));top:calc(86 * var(--u))}
.ftr__contact-t{left:calc(810 * var(--u));top:calc(35 * var(--u));font-size:calc(18.27 * var(--u))!important;color:var(--ink)}
.ftr__contact-t[aria-current="page"]{text-decoration:underline}
.ftr__addr{left:calc(808 * var(--u));top:calc(79 * var(--u))}
.ftr__tel{left:calc(804 * var(--u));top:calc(121 * var(--u))}
.ftr__mail{left:calc(808 * var(--u));top:calc(155 * var(--u))}
.ftr__pol{left:calc(1182 * var(--u));top:calc(35 * var(--u))}
.ftr__priv{left:calc(1182 * var(--u));top:calc(107 * var(--u))}
.ftr__terms{left:calc(1182 * var(--u));top:calc(169 * var(--u))}
.ftr__pol a,.ftr__priv a,.ftr__terms a{text-decoration:underline}
.ftr__copy{left:calc(23 * var(--u));top:calc(220 * var(--u))}
.ftr__by{left:calc(531 * var(--u));top:calc(220 * var(--u))}
.ftr .fe{white-space:nowrap}

/* =====================================================================
   MOBILE (<=1000px) — mirrors the Wix mobile layout, scaled from 390px
   ===================================================================== */
@media (max-width:1000px){
  .sec{height:calc(var(--mh) * var(--u))}
  .e{left:calc(var(--mx) * var(--u));top:calc(var(--my) * var(--u));width:calc(var(--mw) * var(--u))}
  .t,.l{font-size:calc(var(--mfs) * var(--u));line-height:calc(var(--mlh) * var(--u));text-align:var(--mta,left)}
  .l{padding-left:calc(var(--mpl) * var(--u))}
  .im,.btn,.ig,.totop{height:calc(var(--mhh) * var(--u))}
  .btn span{font-size:calc(var(--mfs) * var(--u));line-height:calc(var(--mlh) * var(--u))}
  .d-only{display:none!important}
  .m-only{display:block}
  .m-hide{display:none!important}
  .totop-fixed{right:calc(20 * var(--u));bottom:calc(20 * var(--u));width:calc(27 * var(--u));height:calc(27 * var(--u))}

  /* header: compact bar + menu button (the Wix mobile nav overflowed the screen) */
  .hdr{height:calc(56 * var(--u))}
  .hdr__logo{left:calc(16 * var(--u));top:calc(8 * var(--u));width:calc(115 * var(--u));height:calc(40 * var(--u))}
  .burger{display:flex;position:absolute;right:calc(10 * var(--u));top:calc(8 * var(--u));width:calc(40 * var(--u));height:calc(40 * var(--u));
    align-items:center;justify-content:center;background:none;border:0;padding:0;cursor:pointer}
  .burger span,.burger span::before,.burger span::after{display:block;width:calc(24 * var(--u));height:2px;background:#fff;position:relative;transition:transform .2s,opacity .2s}
  .burger span::before,.burger span::after{content:"";position:absolute;left:0}
  .burger span::before{top:calc(-7 * var(--u))}
  .burger span::after{top:calc(7 * var(--u))}
  .hdr.is-open .burger span{background:transparent}
  .hdr.is-open .burger span::before{transform:translateY(calc(7 * var(--u))) rotate(45deg)}
  .hdr.is-open .burger span::after{transform:translateY(calc(-7 * var(--u))) rotate(-45deg)}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;height:auto;background:var(--mint);padding:calc(8 * var(--u)) calc(24 * var(--u)) calc(20 * var(--u));box-shadow:0 6px 12px rgba(0,0,0,.08)}
  .hdr.is-open .nav{display:block}
  .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .nav__item{flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.45)}
  .nav__link{display:block;flex:1;font-size:calc(18 * var(--u));line-height:calc(24 * var(--u));padding:calc(12 * var(--u)) 0}
  .nav__toggle{width:calc(40 * var(--u));height:calc(40 * var(--u));margin:0;color:#fff}
  .nav__toggle svg{width:calc(12 * var(--u));height:calc(12 * var(--u))}
  .nav__drop{position:static;width:100%;box-shadow:none;opacity:1;visibility:visible;display:none;padding:0 0 calc(10 * var(--u)) calc(14 * var(--u))}
  .nav__drop::before{display:none}
  .nav__item--has-drop.is-open .nav__drop{display:block}
  .nav__item--has-drop:hover .nav__toggle svg{transform:none}
  .nav__item--has-drop.is-open .nav__toggle svg{transform:rotate(180deg)}
  .nav__drop li{height:auto}
  .nav__drop a{font-size:calc(17 * var(--u));line-height:calc(22 * var(--u));padding:calc(7 * var(--u)) 0;color:var(--ink)}

  /* forms */
  .nl{left:calc(43.8 * var(--u));top:calc(197.2 * var(--u));width:calc(302 * var(--u))}
  .cf{left:calc(24 * var(--u));top:calc(45.8 * var(--u));width:calc(342 * var(--u))}

  /* footer */
  .ftr{height:calc(615 * var(--u))}
  .ftr .fe{font-size:calc(14 * var(--u));line-height:calc(18.2 * var(--u))}
  .ftr__logo{left:calc(27 * var(--u));top:calc(18 * var(--u));width:calc(342 * var(--u));height:calc(120 * var(--u))}
  .ftr__follow{left:calc(24 * var(--u));top:calc(187 * var(--u));width:calc(345 * var(--u));text-align:center;font-size:calc(16.82 * var(--u))!important;line-height:calc(21.87 * var(--u))!important}
  .ftr__ig{left:calc(178 * var(--u));top:calc(209 * var(--u));width:calc(21 * var(--u));height:calc(21 * var(--u))}
  .ftr__hours-t{left:calc(203 * var(--u));top:calc(250 * var(--u));font-size:calc(14.72 * var(--u))!important;line-height:calc(19.13 * var(--u))!important}
  .ftr__hours{left:calc(201 * var(--u));top:calc(296 * var(--u))}
  .ftr__contact-t{left:calc(24 * var(--u));top:calc(252 * var(--u));font-size:calc(14.8 * var(--u))!important}
  .ftr__tel{left:calc(22 * var(--u));top:calc(300 * var(--u))}
  .ftr__addr{left:calc(21 * var(--u));top:calc(337 * var(--u));width:calc(155 * var(--u));white-space:normal!important}
  .ftr__mail{left:calc(20 * var(--u));top:calc(395 * var(--u))}
  .ftr__pol{left:calc(203 * var(--u));top:calc(395 * var(--u))}
  .ftr__priv{left:calc(24 * var(--u));top:calc(470 * var(--u))}
  .ftr__terms{left:calc(203 * var(--u));top:calc(470 * var(--u))}
  .ftr__copy{left:calc(24 * var(--u));top:calc(526 * var(--u))}
  .ftr__by{left:calc(24 * var(--u));top:calc(557 * var(--u))}
}
@media (min-width:1001px){.d-hide{display:none!important}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* =====================================================================
   V4 additions: newsletter button, footer link, legal pages,
   floating back-to-top visibility
   ===================================================================== */
.nl .nl-desc{font-family:var(--sans);font-size:17px;line-height:23px;color:var(--grey);margin-top:22px}
.nl .nl-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:28px;min-width:146px;height:43px;padding:0 24px;
  background:var(--mint);border:1px solid var(--mint);color:#fff;font:700 16px/19.2px var(--plex);text-decoration:none;cursor:pointer;
  transition:background-color .25s,border-color .25s}
.nl .nl-btn:hover,.nl .nl-btn:focus-visible{background:#7fcaa8;border-color:#7fcaa8;text-decoration:underline}
.ftr__by a{text-decoration:underline}
.ftr__by a:hover,.ftr__by a:focus-visible{color:#000}

/* Privacy Policy / Terms: same typography as before, in normal text flow */
.legal{padding:calc(10.2 * var(--u)) 0 calc(35 * var(--u)) calc(var(--lx) * var(--u));width:calc((var(--lx) + var(--lw)) * var(--u));
  font-family:var(--sans);font-size:calc(27.4 * var(--u));line-height:calc(35.6 * var(--u));color:#000}
.legal h1,.legal p{font:inherit;margin:0 0 calc(35.6 * var(--u))}
.legal p:last-child{margin-bottom:0}
.legal a{text-decoration:underline}
@media (max-width:1000px){
  .legal{padding:calc(40 * var(--u)) calc(24 * var(--u)) calc(40 * var(--u));width:auto;font-size:calc(20 * var(--u));line-height:calc(26 * var(--u))}
  .legal h1,.legal p{margin-bottom:calc(26 * var(--u))}
}

/* Floating back-to-top: hidden until the visitor scrolls (only when JS runs) */
.totop-fixed{transition:opacity .3s ease,visibility .3s ease,transform .3s ease}
.totop-fixed::after{content:"";position:absolute;inset:-8px}
.totop-fixed:hover svg path:first-child,.totop-fixed:focus-visible svg path:first-child{fill:#f2fbf6}
.has-js .totop-fixed:not(.is-visible){opacity:0;visibility:hidden;transform:translateY(8px)}
@media (max-width:1000px){.totop-fixed{width:min(calc(34 * var(--u)),42px);height:min(calc(34 * var(--u)),42px);right:min(calc(20 * var(--u)),24px);bottom:min(calc(20 * var(--u)),24px)}}
@media (prefers-reduced-motion:reduce){.totop-fixed{transition:none}}

/* =====================================================================
   V4.2: Privacy Policy / Terms reading layout
   ===================================================================== */
.legal-page{padding:56px 24px 80px}
.legal-doc{max-width:760px;margin:0 auto;font-family:var(--sans);font-size:17px;line-height:1.7;color:#2b2e33}
.legal-doc h1{font-family:var(--serif);font-weight:400;font-size:46px;line-height:1.1;color:var(--mint);margin:0 0 18px;letter-spacing:.008em}
.legal-doc .legal-meta{font-size:15px;line-height:1.6;color:var(--grey);padding-bottom:26px;margin:0 0 34px;border-bottom:1px solid var(--mint-line)}
.legal-doc h2{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.25;color:var(--mint);margin:44px 0 12px;letter-spacing:.008em}
.legal-doc h3{font-family:var(--sans);font-weight:700;font-size:17px;line-height:1.5;color:var(--ink-2);margin:24px 0 6px}
.legal-doc p{margin:0 0 14px}
.legal-doc ul{margin:0 0 16px;padding-left:22px}
.legal-doc li{margin:0 0 6px;padding-left:4px}
.legal-doc li::marker{color:var(--mint)}
.legal-doc a{text-decoration:underline;text-underline-offset:2px}
.legal-doc a:hover{color:#000}
.legal-doc .legal-address{font-style:normal;margin:4px 0 0;padding:18px 22px;border-left:3px solid var(--mint);background:#f4fbf7}
@media (max-width:1000px){
  .legal-page{padding:40px 22px 64px}
  .legal-doc{font-size:16px;line-height:1.65}
  .legal-doc h1{font-size:34px}
  .legal-doc h2{font-size:23px;margin-top:36px}
  .legal-doc h3{font-size:16px}
}

/* =====================================================================
   V4.2: Footer
   ===================================================================== */
.ftr2{background:var(--mint);color:var(--ink-2);font-family:var(--sans);font-size:15px;line-height:1.6}
.ftr2 a{color:inherit}
.ftr2__in{max-width:1180px;margin:0 auto;padding:46px 32px 34px;display:grid;grid-template-columns:1.15fr 1fr 1.15fr .9fr;gap:40px;align-items:start}
.ftr2__brand{display:flex;flex-direction:column;align-items:flex-start}
.ftr2__logo{display:block;width:178px}
.ftr2__logo img{width:100%;height:auto;display:block}
.ftr2__follow{margin:18px 0 6px;font-size:15px;color:var(--ink)}
.ftr2__ig{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;margin-left:-3px}
.ftr2__ig svg{width:24px;height:24px}
.ftr2__ig:hover svg,.ftr2__ig:focus-visible svg{transform:scale(1.08);transition:transform .2s}
.ftr2__h{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.3;color:var(--ink);margin:4px 0 12px;letter-spacing:.008em}
.ftr2__h a{text-decoration:none}
.ftr2__h a:hover,.ftr2__h a:focus-visible,.ftr2__h a[aria-current="page"]{text-decoration:underline;text-underline-offset:3px}
.ftr2__hours{margin:0}
.ftr2__hours div{margin:0 0 10px}
.ftr2__hours dt{font-weight:700}
.ftr2__hours dd{margin:0}
.ftr2__list{list-style:none;margin:0;padding:0}
.ftr2__list li{margin:0 0 9px}
.ftr2__list a{text-decoration:none;border-bottom:1px solid rgba(19,22,28,.35)}
.ftr2__list a:hover,.ftr2__list a:focus-visible{border-bottom-color:currentColor;color:#000}
.ftr2__bottom{border-top:1px solid rgba(19,22,28,.16);max-width:1180px;margin:0 auto;padding:18px 32px 24px;text-align:center;font-size:14px;line-height:1.5}
.ftr2__bottom p{margin:0}
.ftr2__bottom p+p{margin-top:4px}
.ftr2__bottom a{text-decoration:underline;text-underline-offset:2px}
.ftr2__bottom a:hover,.ftr2__bottom a:focus-visible{color:#000}
@media (max-width:1000px){
  .ftr2__in{grid-template-columns:1fr 1.15fr 1fr;gap:30px 24px;padding:40px 28px 28px}
  .ftr2__brand{grid-column:1 / -1;align-items:center;text-align:center}
  .ftr2__ig{margin-left:0}
}
@media (max-width:600px){
  .ftr2__in{grid-template-columns:1fr;gap:26px;padding:36px 24px 26px;text-align:center}
  .ftr2__logo{width:200px}
  .ftr2__h{margin-bottom:8px}
  .ftr2__list li{margin-bottom:7px}
  .ftr2__bottom{padding:16px 24px 76px}
}

/* =====================================================================
   V4.2: Newsletter section (Home)
   ===================================================================== */
.nl-sec{border:1px solid var(--mint-line);background:#fff}
.nl-wrap{max-width:1000px;margin:0 auto;padding:64px 40px;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:0}
.nl-brand{display:flex;flex-direction:column;align-items:center;text-align:center;padding-right:56px;border-right:1px solid var(--mint-line)}
.nl-logo{width:290px;max-width:100%;height:auto;display:block}
.nl-tagline{margin:22px 0 0;max-width:300px;font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.45;color:#2f7d5f}
.nl-body{padding-left:56px}
.nl-title{margin:0;font-weight:400}
.nl-eyebrow{display:block;font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#2f7d5f}
.nl-main{display:block;margin-top:6px;font-family:var(--serif);font-size:38px;line-height:1.15;color:var(--mint);letter-spacing:.008em}
.nl-text{margin:14px 0 0;max-width:430px;font-family:var(--sans);font-size:17px;line-height:1.6;color:#4a4d52}
/* Subscribe: opens the Kit popup. Hardened so third-party styles cannot restyle it. */
.nl-sec a.nl-cta{display:inline-flex!important;align-items:center;justify-content:center;margin-top:26px;min-width:190px;height:50px;padding:0 34px;
  background:#2f7d5f!important;background-image:none!important;border:0!important;border-radius:2px;box-shadow:0 6px 16px -8px rgba(47,125,95,.55)!important;
  color:#fff!important;font-family:var(--plex)!important;font-weight:700!important;font-size:16px!important;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none!important;cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s}
.nl-sec a.nl-cta::before,.nl-sec a.nl-cta::after{content:none!important;display:none!important}
.nl-sec a.nl-cta:hover{background:#246349!important;transform:translateY(-1px);box-shadow:0 10px 20px -10px rgba(36,99,73,.6)!important}
.nl-sec a.nl-cta:focus-visible{outline:2px solid #13161c;outline-offset:3px}
@media (max-width:1000px){
  .nl-wrap{grid-template-columns:1fr;padding:44px 24px 48px;max-width:560px}
  .nl-brand{display:contents}
  .nl-logo{order:1;width:240px;margin:0 auto}
  .nl-body{order:2;padding:28px 0 0;text-align:center}
  .nl-text{margin-left:auto;margin-right:auto}
  .nl-tagline{order:3;margin:28px auto 0;font-size:17px}
  .nl-main{font-size:32px}
  .nl-sec a.nl-cta{width:100%;max-width:320px}
}
@media (prefers-reduced-motion:reduce){.nl-sec a.nl-cta{transition:none}}

/* =====================================================================
   V4.2 revision: newsletter column order, softer Subscribe, footer
   ===================================================================== */
.nl-body{padding:0 56px 0 0;border-right:1px solid var(--mint-line)}
.nl-brand{padding:0 0 0 56px;border-right:0}
.nl-sec a.nl-cta{background:#45a088!important;color:#fff!important;font-size:19px!important;letter-spacing:.07em;border-radius:4px;
  box-shadow:0 6px 16px -8px rgba(69,160,136,.6)!important}
.nl-sec a.nl-cta:hover{background:#3d967e!important;box-shadow:0 10px 20px -10px rgba(61,150,126,.65)!important}
@media (max-width:1000px){
  .nl-wrap{grid-template-columns:1fr}
  .nl-body{order:0;padding:0;border-right:0;text-align:center}
  .nl-brand{display:flex;order:0;padding:30px 0 0;margin-top:30px;border-top:1px solid var(--mint-line)}
  .nl-logo{order:0;width:220px}
  .nl-tagline{order:0;margin:18px auto 0}
}
/* footer: social centered under logo (list ready for Facebook / TikTok) */
.ftr2__brand{align-items:center;text-align:center;justify-self:center}
.ftr2__follow{margin:16px 0 8px}
.ftr2__social{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:14px}
.ftr2__social li{margin:0}
.ftr2__ig{margin-left:0}
/* footer bottom row: credit left, copyright right */
.ftr2__bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;text-align:left}
.ftr2__bottom p+p{margin-top:0}
.ftr2__copy{text-align:right}
@media (max-width:600px){
  .ftr2__bottom{flex-direction:column;align-items:center;gap:6px;text-align:center}
  .ftr2__copy{text-align:center;order:-1}
}
/* Subscribe button: the site's existing brand mint (#94d5b8, same as the header, footer
   and every "Call to Book" button) with bold white lettering */
.nl-sec a.nl-cta{background:#94d5b8!important;color:#fff!important;text-shadow:0 1px 2px rgba(19,22,28,.28);
  box-shadow:0 6px 16px -8px rgba(148,213,184,.9)!important}
.nl-sec a.nl-cta:hover{background:#94d5b8!important;filter:brightness(.94);box-shadow:0 10px 20px -10px rgba(120,190,160,.9)!important}
