/*
Theme Name: Legacy Water Restoration
Theme URI: https://legacywaterrestoration.com/
Author: Square Media Technology
Author URI: https://squaremediatechnology.com/
Description: A custom, modern, fully responsive WordPress theme built for Legacy Water Restoration — a 24/7 water damage restoration, mitigation, leak repair, mold removal, and drying services company serving Austin, TX. Includes an animated services mega-menu, light/dark mode toggle, an interactive service-area map, and a homepage built for GEO/AEO-optimized local search visibility.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: legacy-water-restoration
Tags: custom-logo, custom-menu, featured-images, translation-ready, responsive-layout, one-column
*/

:root{
  --navy:#123A5C;
  --navy-2:#0D2C46;
  --navy-soft:#1E4E73;
  --teal:#1CA79A;
  --teal-dark:#12766D;
  --tan:#A9794F;
  --tan-soft:#C99B6E;
  --bg:#F5F9FB;
  --surface:#FFFFFF;
  --surface-2:#EFF5F7;
  --ink:#14232E;
  --ink-soft:#4B5D68;
  --border:rgba(18,58,92,.10);
  --shadow:0 20px 45px -18px rgba(18,58,92,.25);
  --radius:18px;
  --font-head:'Poppins',sans-serif;
  --font-body:'Roboto',sans-serif;
}
html[data-theme="dark"]{
  --navy:#0E2237;
  --navy-2:#081522;
  --navy-soft:#173A57;
  --teal:#2BC2B4;
  --teal-dark:#1A968A;
  --tan:#D3A671;
  --tan-soft:#E3BE8E;
  --bg:#0B1721;
  --surface:#112434;
  --surface-2:#0E1E2C;
  --ink:#EAF1F5;
  --ink-soft:#A9BAC4;
  --border:rgba(255,255,255,.08);
  --shadow:0 20px 45px -18px rgba(0,0,0,.55);
}
.icon{
  width:1em; height:1em; display:inline-block; vertical-align:-0.14em;
  fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--ink);
  overflow-x:hidden;
  transition:background .35s ease,color .35s ease;
}
h1,h2,h3,h4,h5,.font-head{font-family:var(--font-head);color:var(--navy);}
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] h4,html[data-theme="dark"] h5{color:var(--ink);}
p{color:var(--ink-soft); line-height:1.75;}
a{text-decoration:none;}
.section-pad{padding:96px 0;}
@media(max-width:767px){.section-pad{padding:64px 0;}}
.eyebrow{
  font-family:var(--font-head);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:600;
  color:var(--teal-dark);
  display:inline-flex;
  align-items:center;
  gap:.5rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--tan);display:inline-block;border-radius:2px;}
.section-title{font-weight:700; letter-spacing:-.01em;}
.btn-legacy{
  background:var(--teal);
  border:none;
  color:#fff;
  font-family:var(--font-head);
  font-weight:600;
  padding:.85rem 1.7rem;
  border-radius:50px;
  transition:all .3s ease;
  box-shadow:0 10px 25px -8px rgba(28,167,154,.6);
}
.btn-legacy:hover{background:var(--teal-dark); color:#fff; transform:translateY(-2px);}
.btn-outline-legacy{
  border:1.5px solid rgba(255,255,255,.5);
  color:#fff;
  font-family:var(--font-head);
  font-weight:600;
  padding:.82rem 1.7rem;
  border-radius:50px;
  transition:all .3s ease;
  background:transparent;
}
.btn-outline-legacy:hover{background:rgba(255,255,255,.12); color:#fff; border-color:#fff;}
.btn-navy{
  background:var(--navy);
  color:#fff;
  font-family:var(--font-head);
  font-weight:600;
  padding:.8rem 1.6rem;
  border-radius:50px;
  border:none;
  transition:all .3s ease;
}
.btn-navy:hover{background:var(--navy-2); color:#fff; transform:translateY(-2px);}

/* ============ NAVBAR ============ */
.navbar-legacy{
  padding:14px 0;
  background:var(--surface);
  border-bottom:1px solid var(--border);
  transition:all .35s ease;
  z-index:1050;
}
.navbar-legacy.scrolled{box-shadow:0 8px 24px -12px rgba(0,0,0,.15);}
.brand-mark{display:flex; align-items:center; gap:.65rem;}
.brand-shield{
  width:44px;height:44px;flex-shrink:0;
}
.navbar-brand img,.navbar-brand .custom-logo{height:52px;width:auto;max-width:220px;object-fit:contain;}
.brand-text{font-family:var(--font-head); line-height:1.05;}
.brand-text .b1{font-weight:800; color:var(--navy); font-size:1.05rem; letter-spacing:.01em;}
html[data-theme="dark"] .brand-text .b1{color:#fff;}
.brand-text .b2{font-weight:600; color:var(--tan); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;}

.nav-link-legacy{
  font-family:var(--font-head);
  font-weight:500;
  font-size:.95rem;
  color:var(--ink) !important;
  padding:.55rem 1rem !important;
  position:relative;
}
.nav-link-legacy::after{
  content:"";
  position:absolute;
  left:1rem; right:1rem; bottom:.15rem;
  height:2px; background:var(--teal);
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s ease;
}
.nav-link-legacy:hover::after,.nav-link-legacy.active::after{transform:scaleX(1);}
.nav-link-legacy:hover{color:var(--teal-dark) !important;}

/* Services mega dropdown */
.dropdown-legacy{position:relative;}
.mega-panel{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  transform:translate(-50%,10px);
  min-width:640px;
  background:var(--surface);
  border-radius:16px;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  padding:18px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:6px;
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease, transform .28s ease, visibility .28s;
  z-index:1100;
}
@media(max-width:991px){
  .mega-panel{position:static; transform:none; min-width:100%; grid-template-columns:1fr; box-shadow:none; border:none; padding:8px 0 8px 12px; opacity:1; visibility:visible; display:none; max-height:none;}
  .mega-panel.mobile-open{display:grid; max-height:52vh; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; touch-action:pan-y;}
  #navContent.show,#navContent.collapsing{max-height:calc(100vh - 78px); overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;}
}
@media(min-width:992px){
  .dropdown-legacy:hover .mega-panel{opacity:1; visibility:visible; transform:translate(-50%,0);}
}
.mega-item{
  display:flex; align-items:center; gap:.85rem;
  padding:.7rem .8rem;
  border-radius:12px;
  transition:background .25s ease, transform .25s ease;
}
.mega-item:hover{background:var(--surface-2); transform:translateX(4px);}
.mega-icon{
  width:42px;height:42px; flex-shrink:0; border-radius:11px;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  transition:transform .3s ease;
}
.mega-item:hover .mega-icon{transform:rotate(-8deg) scale(1.08);}
.mega-text .t1{font-family:var(--font-head); font-weight:600; font-size:.92rem; color:var(--navy); display:block;}
html[data-theme="dark"] .mega-text .t1{color:var(--ink);}
.mega-text .t2{font-size:.78rem; color:var(--ink-soft);}

.theme-toggle{
  width:42px;height:42px;border-radius:50%;
  border:1px solid var(--border);
  background:var(--surface-2);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--navy); font-size:1.05rem;
  transition:all .3s ease;
}
html[data-theme="dark"] .theme-toggle{color:var(--tan-soft);}
.theme-toggle:hover{background:var(--teal); color:#fff;}
.call-pill{
  display:flex; align-items:center; gap:.6rem;
  border:1.5px solid var(--teal); color:var(--navy);
  font-family:var(--font-head); font-weight:600; font-size:.9rem;
  padding:.5rem 1.1rem; border-radius:50px;
}
html[data-theme="dark"] .call-pill{color:var(--ink);}
.call-pill i{color:var(--teal);}

/* ============ HERO ============ */
.hero{
  position:relative;
  background:linear-gradient(120deg,var(--navy-2) 0%, var(--navy) 55%, var(--navy-soft) 100%);
  padding:150px 0 130px;
  overflow:hidden;
  color:#fff;
}
.hero .gif-bg{
  position:absolute; inset:0;
  background:url('https://cdn.pixabay.com/animation/2025/09/06/09/17/09-17-31-120_512.gif') center/260px repeat;
  opacity:.12; mix-blend-mode:screen; filter:saturate(1.15);
}
.hero .grain{position:absolute; inset:0; opacity:.05; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23n)'/%3E%3C/svg%3E");}
.hero-waves{position:absolute; left:0; right:0; bottom:-2px; line-height:0; z-index:2;}
.hero-waves svg{width:100%; height:auto; display:block;}
.hero-glow{
  position:absolute; border-radius:50%; filter:blur(70px); opacity:.35; pointer-events:none;
}
.glow1{width:420px; height:420px; background:var(--teal); top:-120px; right:-80px;}
.glow2{width:320px; height:320px; background:var(--tan); bottom:-60px; left:-60px;}
.hero-badge{
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  padding:.45rem 1rem; border-radius:50px;
  font-family:var(--font-head); font-weight:600; font-size:.82rem;
  backdrop-filter:blur(6px);
}
.hero-badge .dot{width:8px;height:8px;border-radius:50%; background:#3CE0B0; box-shadow:0 0 0 0 rgba(60,224,176,.7); animation:pulseDot 1.8s infinite;}
@keyframes pulseDot{
  0%{box-shadow:0 0 0 0 rgba(60,224,176,.55);}
  70%{box-shadow:0 0 0 10px rgba(60,224,176,0);}
  100%{box-shadow:0 0 0 0 rgba(60,224,176,0);}
}
.hero h1{font-size:clamp(2.2rem,4.2vw,3.6rem); font-weight:800; color:#fff; line-height:1.12;}
.hero h1 span{color:var(--tan-soft);}
.hero p.lead{color:rgba(255,255,255,.8); font-size:1.08rem; max-width:520px;}
.hero-stats{display:flex; gap:2.2rem; flex-wrap:wrap; margin-top:2.6rem;}
.hero-stats div b{font-family:var(--font-head); font-size:1.6rem; display:block; color:#fff;}
.hero-stats div span{font-size:.8rem; color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:.08em;}

.hero-visual{position:relative; height:460px;}
.drop-orbit{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.drop-core{
  width:220px; height:220px; border-radius:50% 50% 50% 0;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  transform:rotate(45deg);
  box-shadow:0 30px 60px -15px rgba(0,0,0,.4);
  animation:floatY 5s ease-in-out infinite;
  position:relative;
}
.drop-core::after{
  content:""; position:absolute; inset:18px; border-radius:50% 50% 50% 0;
  background:rgba(255,255,255,.15);
}
@keyframes floatY{
  0%,100%{transform:rotate(45deg) translateY(0px);}
  50%{transform:rotate(45deg) translateY(-18px);}
}
.ring{position:absolute; border:1.5px dashed rgba(255,255,255,.25); border-radius:50%; animation:spin 24s linear infinite;}
.ring1{width:340px; height:340px;}
.ring2{width:420px; height:420px; animation-direction:reverse; animation-duration:32s;}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.float-chip{
  position:absolute; background:var(--surface); color:var(--navy);
  padding:.7rem 1rem; border-radius:14px; box-shadow:var(--shadow);
  font-family:var(--font-head); font-weight:600; font-size:.82rem;
  display:flex; align-items:center; gap:.5rem;
  animation:floatChip 4.5s ease-in-out infinite;
}
.float-chip i{color:var(--teal);}
.chip1{top:8%; left:0%; animation-delay:.2s;}
.chip2{bottom:14%; right:2%; animation-delay:1s;}
.chip3{top:46%; right:-4%; animation-delay:1.8s;}
@keyframes floatChip{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ============ TICKER ============ */
.ticker-strip{background:var(--teal-dark); overflow:hidden; padding:14px 0;}
.ticker-track{display:flex; gap:3rem; white-space:nowrap; animation:tickerMove 26s linear infinite; width:max-content;}
.ticker-track span{color:#fff; font-family:var(--font-head); font-weight:600; font-size:.88rem; display:flex; align-items:center; gap:.6rem; letter-spacing:.02em;}
.ticker-track span i{color:var(--tan-soft);}
@keyframes tickerMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ============ SERVICES ============ */
.svc-card{
  background:var(--surface); border-radius:var(--radius); padding:2rem 1.7rem;
  border:1px solid var(--border); height:100%;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  position:relative; overflow:hidden;
}
.svc-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--teal),var(--tan));
  transform:scaleX(0); transform-origin:left; transition:transform .4s ease;
}
.svc-card:hover{transform:translateY(-8px); box-shadow:var(--shadow); border-color:transparent;}
.svc-card:hover::before{transform:scaleX(1);}
.svc-icon{
  width:58px; height:58px; border-radius:16px;
  background:var(--surface-2); color:var(--teal-dark);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem;
  margin-bottom:1.2rem; transition:all .35s ease;
}
.svc-card:hover .svc-icon{background:linear-gradient(135deg,var(--teal),var(--teal-dark)); color:#fff; transform:rotate(-6deg);}
.svc-card h3{font-size:1.12rem; font-weight:700;}
.svc-card a.svc-link{color:var(--teal-dark); font-weight:600; font-family:var(--font-head); font-size:.88rem;}
.svc-card a.svc-link i{transition:transform .3s ease;}
.svc-card a.svc-link:hover i{transform:translateX(4px);}

/* ============ STATS / WHY ============ */
.stat-band{
  background:
    linear-gradient(120deg,rgba(13,44,70,.93) 0%,rgba(30,78,115,.93) 100%),
    url('https://images.unsplash.com/photo-1585909695284-32d2985ac9c0?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
  border-radius:28px; padding:60px 40px; color:#fff; position:relative; overflow:hidden;
}
.stat-band::after{content:""; position:absolute; inset:0; opacity:.18; background:radial-gradient(circle at 80% 20%,var(--teal),transparent 60%); pointer-events:none;}
.stat-item{text-align:center; position:relative; z-index:1;}
.stat-icon{
  width:52px; height:52px; border-radius:14px; margin:0 auto 1rem;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18);
  display:flex; align-items:center; justify-content:center; font-size:1.35rem; color:var(--teal);
}
.stat-item b{
  font-family:var(--font-head); font-size:2.8rem; font-weight:800; display:flex; color:#fff;
  align-items:baseline; justify-content:center; gap:.2rem; line-height:1;
}
.stat-item b .unit{font-size:1.5rem; font-weight:700; color:rgba(255,255,255,.9);}
.stat-item span{font-size:.8rem; color:rgba(255,255,255,.7); text-transform:uppercase; letter-spacing:.08em; display:block; margin-top:.7rem;}
.stat-item span.counter{font-size:1.8rem; color:rgba(255,255,255,.7); text-transform:uppercase; letter-spacing:.08em; display:block; margin-top:.7rem;}

/* ============ PROCESS ============ */
.process-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:2rem 1.6rem; height:100%; position:relative; transition:transform .3s ease;
}
.process-card:hover{transform:translateY(-6px);}
.process-num{
  font-family:var(--font-head); font-weight:800; font-size:2.2rem;
  color:transparent; -webkit-text-stroke:1.5px var(--teal); opacity:.5; line-height:1;
}
html[data-theme="dark"] .process-num{-webkit-text-stroke:1.5px var(--teal);}
.process-line{position:absolute; top:38px; left:100%; width:100%; height:2px; background:repeating-linear-gradient(90deg,var(--border) 0 8px, transparent 8px 14px); display:none;}
@media(min-width:992px){.process-line.show{display:block;}}

/* ============ ABOUT ============ */
.about-visual{position:relative; border-radius:26px; overflow:hidden; min-height:420px;
  background:
    linear-gradient(160deg,rgba(13,44,70,.75),rgba(30,78,115,.55)),
    url('https://images.unsplash.com/photo-1607472829322-4b1a25aa2f4f?q=80&w=1200&auto=format&fit=crop') center/cover no-repeat;
}
.about-visual svg{position:absolute; inset:0; width:100%; height:100%; opacity:.85;}
.about-badge-card{
  position:absolute; bottom:-24px; right:-18px; background:var(--surface);
  border-radius:18px; padding:1.2rem 1.4rem; box-shadow:var(--shadow);
  max-width:230px; z-index:5;
}
.badge-ico{
  width:38px; height:38px; border-radius:11px; flex-shrink:0;
  background:var(--surface-2); color:var(--tan);
  display:flex; align-items:center; justify-content:center; font-size:1.2rem;
}
@media(max-width:575px){.about-badge-card{position:static; margin-top:1rem; max-width:100%;}}
.check-list li{display:flex; gap:.7rem; margin-bottom:.8rem; align-items:flex-start;}
.check-list i{color:var(--teal); font-size:1.1rem; margin-top:.15rem;}

/* ============ AREAS ============ */
.area-map-wrap{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  position:relative; overflow:hidden;
}
#areaMap{width:100%; height:300px; filter:saturate(.9);}
.leaflet-popup-content-wrapper{border-radius:10px; font-family:var(--font-head); font-weight:600; font-size:.85rem;}
.area-pin{
  display:inline-flex; align-items:center; gap:.5rem; background:var(--surface-2);
  border-radius:50px; padding:.55rem 1.1rem; font-family:var(--font-head); font-weight:600;
  font-size:.86rem; color:var(--navy); margin:.3rem; transition:all .3s ease; border:1px solid transparent;
}
html[data-theme="dark"] .area-pin{color:var(--ink);}
.area-pin:hover{background:var(--teal); color:#fff; transform:translateY(-3px); border-color:var(--teal);}
.area-pin i{color:var(--teal-dark);}
.area-pin:hover i{color:#fff;}

/* ============ FEATURES ============ */
.feature-row{display:flex; gap:1.1rem; padding:1.1rem 0; border-bottom:1px solid var(--border);}
.feature-row:last-child{border-bottom:none;}
.feature-ico{
  width:50px; height:50px; border-radius:13px; flex-shrink:0;
  background:linear-gradient(135deg,var(--tan),var(--tan-soft)); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.2rem;
}
.feature-visual{
  border-radius:26px; min-height:380px; position:relative; overflow:hidden;
  background:
    linear-gradient(160deg,rgba(18,118,109,.82),rgba(13,44,70,.88)),
    url('https://timberwoodparktxwaterrestoration.smtllc.us/wp-content/uploads/2026/07/Picking-Up-the-Pieces-after-a-Water-Damage-Disaster.jpg?q=80&w=1200&auto=format&fit=crop') center/cover no-repeat;
}
.feature-visual .ripple{position:absolute; border:2px solid rgba(255,255,255,.25); border-radius:50%; animation:rippleAnim 3.6s ease-out infinite;}
@keyframes rippleAnim{0%{transform:scale(.2); opacity:1;}100%{transform:scale(1.6); opacity:0;}}

/* ============ TESTIMONIALS ============ */
.testi-card{
  background:var(--surface); border-radius:var(--radius); padding:2rem; border:1px solid var(--border);
  height:100%; transition:transform .3s ease, box-shadow .3s ease;
}
.testi-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.testi-quote{font-size:1.8rem; color:var(--teal); opacity:.4; line-height:1;}
.testi-avatar{
  width:46px; height:46px; border-radius:50%; object-fit:cover;
  border:2px solid var(--border);
}
.stars i{color:var(--tan); font-size:.85rem;}

/* ============ TRUST STRIP ============ */
.trust-strip{background:var(--surface-2); border-radius:var(--radius); padding:2rem;}
.trust-badge{display:flex; align-items:center; gap:.7rem; font-family:var(--font-head); font-weight:600; color:var(--navy); justify-content:center;}
html[data-theme="dark"] .trust-badge{color:var(--ink);}
.trust-badge i{font-size:1.5rem; color:var(--teal-dark);}

/* ============ FAQ ============ */
.accordion-item{background:var(--surface); border:1px solid var(--border) !important; border-radius:14px !important; margin-bottom:.9rem; overflow:hidden;}
.accordion-button{
  font-family:var(--font-head); font-weight:600; color:var(--navy) !important; background:var(--surface) !important;
  box-shadow:none !important; padding:1.15rem 1.4rem;
}
html[data-theme="dark"] .accordion-button{color:var(--ink) !important;}
.accordion-button:not(.collapsed){color:var(--teal-dark) !important;}
.accordion-button::after{filter:none;}
.accordion-body{color:var(--ink-soft); padding:0 1.4rem 1.3rem;}

/* ============ CTA ============ */
.cta-final{
  position:relative; border-radius:30px; overflow:hidden; padding:80px 40px; text-align:center;
  background:linear-gradient(rgba(11,28,42,.86),rgba(11,28,42,.9)), url('https://timberwoodparktxwaterrestoration.smtllc.us/wp-content/uploads/2026/07/water-damage-restoration-shop4house_com.jpg?q=80&w=1600&auto=format&fit=crop') center/cover no-repeat;
}
.cta-final h2{color:#fff;}
.cta-final p{color:rgba(255,255,255,.78);}
.cta-ripples span{
  position:absolute; border:1px solid rgba(255,255,255,.15); border-radius:50%;
}

/* Reveal animation */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ============ FOOTER ============ */
footer{background:var(--navy-2); color:rgba(255,255,255,.7); padding:70px 0 0;}
footer h5{color:#fff; font-family:var(--font-head); font-weight:700; font-size:1rem;}
footer a{color:rgba(255,255,255,.65); transition:color .25s ease;}
footer a:hover{color:var(--teal);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:40px; padding:22px 0; font-size:.85rem;}
.social-ico{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center; color:#fff; transition:all .3s ease;
}
.social-ico:hover{background:var(--teal); transform:translateY(-3px);}

/* ============ FORM ============ */
.form-control-legacy{
  background:var(--surface-2); border:1px solid var(--border); border-radius:12px;
  padding:.75rem 1rem; color:var(--ink); font-family:var(--font-body);
  transition:all .25s ease;
}
.form-control-legacy:focus{
  background:var(--surface); border-color:var(--teal); box-shadow:0 0 0 4px rgba(28,167,154,.15); color:var(--ink);
}
.form-control-legacy::placeholder{color:var(--ink-soft); opacity:.7;}
select.form-control-legacy{cursor:pointer;}

::selection{background:var(--teal); color:#fff;}
.back-to-top{
  position:fixed; bottom:26px; right:26px; width:48px; height:48px; border-radius:50%;
  background:var(--teal); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow); opacity:0; visibility:hidden; transform:translateY(10px);
  transition:all .3s ease; z-index:999; border:none;
}
.back-to-top.show{opacity:1; visibility:visible; transform:translateY(0);}