/*
Theme Name: Lucaslocksmith
Theme URI: https://lucaslocksmith.net
Author: Lucaslocksmith
Author URI: https://lucaslocksmith.net
Description: A premium, dark-luxury landing-page theme for a 24/7 master locksmith & security company. Gold-on-navy aesthetic with Cormorant Garamond + Jost, animated padlock hero, marquee credentials, services, process, reviews, FAQ and CTA. Contact details and menus are editable from the Customizer and Menus screens.
Version: 1.0.12
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sterling
Tags: business, one-page, custom-logo, custom-menu, featured-images, footer-widgets, dark, gold, landing-page
*/

:root{
  --bg:#05070e; --bg2:#0a1122; --bg3:#0c1426;
  --gold:#c4a04e; --gold-light:#d9bd76; --gold-bright:#f6e3ad;
  --gold-grad:linear-gradient(120deg,#9a7b2e,#f6e3ad 32%,#d9bd76 54%,#9a7b2e);
  --cream:#f6f1e6; --steel:#8c9bb4; --ink:#cdd6e6;
  --line:rgba(217,189,118,.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg); color:var(--ink);
  font-family:'Jost',sans-serif; font-weight:300; line-height:1.7;
  overflow-x:hidden; letter-spacing:.2px;
  -webkit-font-smoothing:antialiased;
}
::selection{background:rgba(217,189,118,.28); color:#fff}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',serif; font-weight:600; line-height:1.04; letter-spacing:.5px}
a{color:inherit; text-decoration:none}
img{max-width:100%}
.wrap{max-width:1240px; margin:0 auto; padding:0 30px}
.gold-text{
  background:var(--gold-grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.eyebrow{
  font-size:13px; letter-spacing:.42em; text-transform:uppercase; font-weight:500;
  color:var(--gold-light); display:inline-block;
}
.muted{color:#8a93a6}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;padding:0;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:var(--gold-bright);color:#1a1305;padding:10px 18px;border-radius:0 0 8px 0}
.skip-link:focus{left:0}

/* ===== ambient grain + vignette ===== */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:1; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ===== buttons ===== */
.btn{
  position:relative; display:inline-flex; align-items:center; gap:10px;
  padding:15px 30px; border-radius:40px; font-family:'Jost',sans-serif; font-weight:500;
  font-size:14px; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; border:0;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
}
.btn:hover{transform:translateY(-3px)}
.btn-gold{ background:var(--gold-grad); color:#1a1305; overflow:hidden; box-shadow:0 12px 34px -12px rgba(217,189,118,.7) }
.btn-gold::after{
  content:""; position:absolute; top:0; left:-130%; width:60%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);
  transform:skewX(-18deg); animation:ctaSheen 4.6s ease-in-out infinite;
}
@keyframes ctaSheen{0%,55%{left:-130%}80%,100%{left:160%}}
.btn-ghost{ background:transparent; color:var(--cream); border:1px solid var(--line) }
.btn-ghost:hover{ border-color:var(--gold-light); box-shadow:0 10px 30px -16px rgba(217,189,118,.5) }

/* ===== NAV ===== */
header.site-header{position:fixed; top:0; left:0; right:0; z-index:60; transition:.4s}
header.site-header.scrolled{ background:rgba(5,7,14,.82); backdrop-filter:blur(14px); border-bottom:1px solid rgba(217,189,118,.1) }
nav.site-nav{display:flex; align-items:center; justify-content:space-between; height:84px}
.brand{display:flex; align-items:center; gap:13px; opacity:0; animation:navIn .8s .1s forwards}
.brand .emblem{width:42px; height:42px; flex:none}
.brand .custom-logo{max-height:46px;width:auto}
.brand .bt{font-family:'Cormorant Garamond',serif; font-weight:700; font-size:23px; letter-spacing:3px; color:#fff; line-height:1}
.brand .bs{font-size:9px; letter-spacing:.4em; color:var(--gold-light); text-transform:uppercase; display:block; margin-top:3px}
.navlinks{display:flex; gap:34px; align-items:center; list-style:none; margin:0; padding:0}
.navlinks a{font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:#aeb6c6; position:relative; padding:6px 0; opacity:0; animation:navIn .7s forwards; display:inline-block}
.navlinks li:nth-child(1) a{animation-delay:.18s}.navlinks li:nth-child(2) a{animation-delay:.24s}
.navlinks li:nth-child(3) a{animation-delay:.30s}.navlinks li:nth-child(4) a{animation-delay:.36s}
.navlinks li:nth-child(5) a{animation-delay:.42s}.navlinks li:nth-child(n+6) a{animation-delay:.48s}
.navlinks a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold-grad); transition:.35s}
.navlinks a:hover,.navlinks .current-menu-item>a{color:#fff}.navlinks a:hover::after,.navlinks .current-menu-item>a::after{width:100%}
.navlinks .sub-menu{display:none}
.callpill{
  display:flex; align-items:center; gap:11px; padding:7px 8px 7px 18px; border-radius:40px;
  border:1px solid var(--line); background:rgba(12,20,38,.6); opacity:0; animation:navIn .8s .5s forwards;
}
.callpill .num{font-weight:500; letter-spacing:.08em; color:var(--cream); font-size:14px}
.callpill .cbtn{ background:var(--gold-grad); color:#1a1305; font-weight:600; font-size:12px; letter-spacing:.1em;
  padding:9px 16px; border-radius:30px; text-transform:uppercase}
.burger{display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:0}
.burger span{width:24px; height:2px; background:var(--gold-light); transition:.3s}
@keyframes navIn{from{opacity:0; transform:translateY(-12px)}to{opacity:1; transform:none}}

/* ===== rays / glow shared ===== */
.rays{position:absolute; inset:0; pointer-events:none; overflow:hidden}
.rays::before, .rays::after{
  content:""; position:absolute; left:50%; top:42%; width:140vw; height:140vw;
  transform:translate(-50%,-50%);
  background:conic-gradient(from 0deg, transparent 0 6deg, rgba(217,189,118,.07) 7deg 8deg, transparent 9deg 18deg);
  animation:rayGlow 60s linear infinite; opacity:.5;
}
.rays::after{animation:rayGlow 90s linear infinite reverse; opacity:.3}
@keyframes rayGlow{to{transform:translate(-50%,-50%) rotate(360deg)}}
.glowblob{position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none}

/* ===== HERO ===== */
.hero{position:relative; min-height:100vh; display:flex; align-items:center; padding-top:84px; overflow:hidden;
  background:radial-gradient(120% 90% at 70% 0%, #0c1630 0%, #070b16 45%, #05070e 100%)}
.hero .glowblob.a{width:560px; height:560px; right:-120px; top:-80px; background:rgba(196,160,78,.16)}
.hero .glowblob.b{width:420px; height:420px; left:-120px; bottom:-60px; background:rgba(60,90,150,.14)}
.hero-grid{display:grid; grid-template-columns:1.06fr .94fr; gap:30px; align-items:center; position:relative; z-index:5; width:100%}
.hero-copy{max-width:600px}
.h-rate{display:inline-flex; align-items:center; gap:10px; padding:8px 16px; border-radius:30px; border:1px solid var(--line);
  background:rgba(12,20,38,.5); font-size:12.5px; letter-spacing:.1em; margin-bottom:26px; opacity:0; animation:rise .9s .2s forwards}
.h-rate b{color:var(--gold-bright); font-weight:600}
.h-rate .dot{width:8px; height:8px; border-radius:50%; background:#46d18a; box-shadow:0 0 0 0 rgba(70,209,138,.7); animation:cping 2.4s infinite}
@keyframes cping{0%{box-shadow:0 0 0 0 rgba(70,209,138,.6)}70%{box-shadow:0 0 0 9px rgba(70,209,138,0)}100%{box-shadow:0 0 0 0 rgba(70,209,138,0)}}
.hero h1{font-size:clamp(46px,6vw,82px); color:#fff; margin:6px 0 22px; opacity:0; animation:rise 1s .35s forwards}
.hero h1 em{font-style:italic}
.hero h1 .gold-text{display:inline-block}
.hero p.lead{font-size:18.5px; color:#aeb7c8; max-width:520px; margin-bottom:34px; opacity:0; animation:rise 1s .5s forwards}
.hero-cta{display:flex; gap:16px; flex-wrap:wrap; opacity:0; animation:rise 1s .65s forwards}
.trust-chips{display:flex; gap:26px; margin-top:40px; flex-wrap:wrap; opacity:0; animation:rise 1s .8s forwards}
.trust-chips .chip{display:flex; align-items:center; gap:9px; font-size:13px; letter-spacing:.06em; color:#9aa3b4}
.trust-chips .chip svg{width:17px; height:17px; flex:none}
@keyframes rise{from{opacity:0; transform:translateY(26px)}to{opacity:1; transform:none}}

/* hero centerpiece — animated padlock */
.lock-stage{position:relative; height:520px; display:flex; align-items:center; justify-content:center; opacity:0; animation:rise 1.2s .55s forwards}
.lock-stage .ring{position:absolute; border-radius:50%; border:1px solid rgba(217,189,118,.16)}
.lock-stage .ring.r1{width:380px; height:380px; animation:spin 38s linear infinite}
.lock-stage .ring.r2{width:300px; height:300px; border-style:dashed; border-color:rgba(217,189,118,.12); animation:spin 26s linear infinite reverse}
.lock-stage .ring.r3{width:460px; height:460px; border-color:rgba(217,189,118,.08)}
@keyframes spin{to{transform:rotate(360deg)}}
.lock-stage .halo{position:absolute; width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle, rgba(217,189,118,.22), transparent 62%); filter:blur(8px); animation:glow 5s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:.55; transform:scale(.96)}50%{opacity:.95; transform:scale(1.04)}}
.padlock{width:230px; height:auto; position:relative; z-index:3; filter:drop-shadow(0 30px 50px rgba(0,0,0,.6)); animation:floaty 6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.shackle{transform-box:fill-box; transform-origin:bottom right; animation:unlock 6s ease-in-out infinite}
@keyframes unlock{0%,18%{transform:translateY(0) rotate(0)}34%,64%{transform:translateY(-26px) rotate(-26deg)}82%,100%{transform:translateY(0) rotate(0)}}
.spark{position:absolute; width:5px; height:5px; border-radius:50%; background:var(--gold-bright);
  box-shadow:0 0 8px 2px rgba(246,227,173,.8); opacity:0}
.spark.s1{top:30%; left:30%; animation:fxTwinkle 4s 1s infinite}
.spark.s2{top:24%; right:28%; animation:fxTwinkle 4s 2.2s infinite}
.spark.s3{bottom:30%; left:36%; animation:fxTwinkle 4s 3s infinite}
@keyframes fxTwinkle{0%,100%{opacity:0; transform:scale(.4)}50%{opacity:1; transform:scale(1.2)}}

/* ===== marquee credentials ===== */
.cred{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(10,17,34,.4); overflow:hidden; padding:20px 0}
.cred-track{display:flex; gap:60px; white-space:nowrap; animation:marqA 32s linear infinite; width:max-content}
.cred-track span{display:inline-flex; align-items:center; gap:14px; font-family:'Cormorant Garamond',serif; font-size:22px; color:#bfc8d8; letter-spacing:1px}
.cred-track .d{color:var(--gold); font-size:13px}
@keyframes marqA{to{transform:translateX(-50%)}}

/* ===== section frame ===== */
section{position:relative; z-index:5}
.sec-pad{padding:118px 0}
.sec-head{max-width:680px; margin-bottom:60px}
.sec-head h2{font-size:clamp(36px,4.6vw,58px); color:#fff; margin:16px 0 16px}
.sec-head .rule{width:64px; height:2px; background:var(--gold-grad); margin-top:18px}
.sec-head p{color:#9aa3b4; font-size:17px}

/* reveal on scroll */
.reveal{opacity:0; transform:translateY(36px); transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1; transform:none}

/* ===== services ===== */
.svc{background:linear-gradient(180deg,#070b16,#0a1020)}
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.scard{position:relative; padding:38px 30px 34px; border-radius:18px; border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(18,26,46,.55), rgba(10,16,30,.4)); overflow:hidden;
  transition:transform .45s cubic-bezier(.2,.8,.2,1), border-color .45s, box-shadow .45s}
.scard::before{content:""; position:absolute; inset:0; background:radial-gradient(120% 90% at 50% -10%, rgba(217,189,118,.12), transparent 60%); opacity:0; transition:.45s}
.scard:hover{transform:translateY(-8px); border-color:rgba(217,189,118,.4); box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.scard:hover::before{opacity:1}
.scard .ic{width:56px; height:56px; border-radius:14px; display:grid; place-items:center; margin-bottom:22px;
  background:rgba(217,189,118,.08); border:1px solid var(--line); position:relative; z-index:2}
.scard .ic svg{width:28px; height:28px}
.scard h3{font-size:25px; color:#fff; margin-bottom:9px; position:relative; z-index:2}
.scard p{font-size:14.5px; color:#94a0b3; position:relative; z-index:2}
.scard .tag{position:absolute; top:22px; right:22px; font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold-light); border:1px solid var(--line); padding:5px 10px; border-radius:20px; z-index:2}

/* ===== inside-every-job ===== */
.inside{background:linear-gradient(180deg,#05070e,#0a1122 48%,#070b16)}
.inside-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center}
.stage{position:relative; height:540px; display:flex; align-items:center; justify-content:center}
.stage .glowblob{width:380px; height:380px; background:rgba(217,189,118,.1); left:50%; top:50%; transform:translate(-50%,-50%)}
.vault{width:330px; position:relative; z-index:3; filter:drop-shadow(0 26px 46px rgba(0,0,0,.65))}
.vdoor{transform-box:fill-box; transform-origin:left center; animation:vaultOpen 8s ease-in-out infinite}
@keyframes vaultOpen{0%,20%{transform:perspective(700px) rotateY(0)}45%,72%{transform:perspective(700px) rotateY(-58deg)}92%,100%{transform:perspective(700px) rotateY(0)}}
.vdial{transform-box:fill-box; transform-origin:center; animation:spin 12s linear infinite}
.callout{position:absolute; display:flex; align-items:center; gap:12px; z-index:4}
.callout .lbl{font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--gold-bright); white-space:nowrap}
.callout .ring{width:14px; height:14px; border-radius:50%; border:2px solid var(--gold); position:relative; flex:none}
.callout .ring::after{content:""; position:absolute; inset:-6px; border-radius:50%; border:1px solid rgba(217,189,118,.4); animation:cping 2.6s infinite}
.callout.c1{top:14%; left:0}.callout.c2{top:38%; left:-4%}.callout.c3{bottom:34%; left:-2%}.callout.c4{bottom:10%; left:6%}
.inside .pts{margin-top:30px}
.ipt{display:flex; gap:18px; padding:20px 0; border-bottom:1px solid rgba(217,189,118,.1)}
.ipt:last-child{border-bottom:0}
.ipt .num{font-family:'Cormorant Garamond',serif; font-size:32px; line-height:1}
.ipt h4{font-family:'Jost'; font-weight:500; font-size:18px; color:#fff; letter-spacing:.04em; margin-bottom:4px}
.ipt p{font-size:14px; color:#94a0b3}

/* ===== stats ===== */
.stats{background:radial-gradient(120% 100% at 50% 0%,#0c1630,#05070e)}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center}
.stat{padding:30px 16px; border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .n{font-family:'Cormorant Garamond',serif; font-weight:700; font-size:clamp(44px,5vw,64px); line-height:1}
.stat .l{font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:#8a93a6; margin-top:8px}

/* ===== reviews ===== */
.rev{background:linear-gradient(180deg,#070b16,#0a1020)}
.rev-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.rcard{padding:32px 28px; border-radius:18px; border:1px solid var(--line); background:rgba(12,20,38,.45)}
.stars{display:flex; gap:3px; margin-bottom:16px; color:#e7c873; letter-spacing:2px; font-size:18px}
.rcard p{color:#c4cdda; font-style:italic; font-family:'Cormorant Garamond',serif; font-size:20px; line-height:1.5}
.rcard .who{margin-top:20px; display:flex; align-items:center; gap:13px}
.rcard .av{width:42px; height:42px; border-radius:50%; background:var(--gold-grad); display:grid; place-items:center; color:#1a1305; font-weight:600; font-family:'Cormorant Garamond'; font-size:18px}
.rcard .who b{color:#fff; font-weight:500; display:block; font-size:14.5px}
.rcard .who span{font-size:12px; color:#8a93a6}

/* ===== FAQ ===== */
.faq{background:linear-gradient(180deg,#05070e,#0a1122)}
.faq-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:50px; align-items:start}
.fitem{border-bottom:1px solid var(--line)}
.fq{width:100%; text-align:left; background:none; border:0; color:#e7ecf4; font-family:'Cormorant Garamond',serif;
  font-size:23px; padding:24px 0; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px}
.fq .pm{width:26px; height:26px; flex:none; position:relative}
.fq .pm::before,.fq .pm::after{content:""; position:absolute; background:var(--gold-light); transition:.35s}
.fq .pm::before{top:50%; left:0; right:0; height:2px; transform:translateY(-50%)}
.fq .pm::after{left:50%; top:0; bottom:0; width:2px; transform:translateX(-50%)}
.fitem.open .pm::after{transform:translateX(-50%) scaleY(0)}
.fa{max-height:0; overflow:hidden; transition:max-height .5s cubic-bezier(.4,0,.2,1)}
.fa p{padding:0 0 24px; color:#94a0b3; font-size:15px; max-width:90%}

/* ===== CTA band ===== */
.ctaband{position:relative; overflow:hidden; background:linear-gradient(120deg,#0c1226,#0a1530); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.ctaband .rays{opacity:.7}
.ctaband-in{position:relative; z-index:3; text-align:center; padding:96px 0}
.ctaband h2{font-size:clamp(38px,5vw,64px); color:#fff; margin-bottom:14px}
.ctaband p{color:#aeb7c8; font-size:18px; margin-bottom:34px}
.ctaband .row{display:flex; gap:16px; justify-content:center; flex-wrap:wrap}

/* ===== footer ===== */
footer.site-footer{background:#04060c; padding:70px 0 36px; position:relative; overflow:hidden}
.ftr-twinkle{position:absolute; width:3px; height:3px; border-radius:50%; background:var(--gold-light); opacity:.5}
.ftr-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; position:relative; z-index:3}
.ftr-grid h5{font-family:'Jost'; font-weight:500; letter-spacing:.18em; text-transform:uppercase; font-size:12px; color:var(--gold-light); margin-bottom:18px}
.ftr-grid ul{list-style:none;margin:0;padding:0}
.ftr-grid a{display:block; color:#8a93a6; font-size:14px; padding:6px 0; transition:.3s}
.ftr-grid a:hover{color:var(--cream); padding-left:6px}
.ftr-about p{color:#8a93a6; font-size:14px; margin:16px 0; max-width:300px}
.ftr-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;
  margin-top:54px; padding-top:24px; border-top:1px solid rgba(217,189,118,.1); position:relative; z-index:3}
.ftr-bottom span{font-size:12.5px; color:#6b7488; letter-spacing:.05em}

/* ===== generic content (blog/pages) ===== */
.page-shell{padding:150px 0 100px;min-height:70vh}
.page-shell .entry-title{color:#fff;font-size:clamp(34px,4.6vw,56px);margin-bottom:24px}
.page-shell .entry-content{max-width:760px;color:#aeb7c8}
.page-shell .entry-content a{color:var(--gold-light);text-decoration:underline}
.page-shell .entry-content h2,.page-shell .entry-content h3{color:#fff;margin:30px 0 12px}
.page-shell article{margin-bottom:54px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.page-shell .more-link{color:var(--gold-light)}
.pagination{display:flex;gap:14px;margin-top:30px}
.pagination .page-numbers{color:#aeb6c6;border:1px solid var(--line);padding:8px 14px;border-radius:8px}
.pagination .current{background:var(--gold-grad);color:#1a1305;border-color:transparent}

@media(max-width:980px){
  .hero-grid,.inside-grid,.faq-grid{grid-template-columns:1fr}
  .lock-stage{height:420px; order:-1}
  .svc-grid,.rev-grid{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr; gap:0}
  .stat:nth-child(2){border-right:0}.stat{border-bottom:1px solid var(--line)}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .navlinks,.callpill .num{display:none} .burger{display:flex}
  .stage{height:420px}
}
@media(max-width:600px){
  .wrap{padding:0 20px}
  .padlock{width:180px} .lock-stage{height:360px} .lock-stage .ring.r3{width:340px;height:340px}
  .svc-grid,.rev-grid,.ftr-grid{grid-template-columns:1fr}
  .trust-chips{gap:16px}
  .callpill{display:none}
}

/* ============================================================
   Inside Every Job — interactive lock cylinder (mechanism)
   ============================================================ */
.mech{background:linear-gradient(180deg,#05070e,#0a1122 48%,#070b16); overflow:hidden}
.mech-head{text-align:center; max-width:760px; margin:0 auto 56px}
.mech-head h2{font-size:clamp(34px,4.6vw,56px); color:#fff; margin:16px 0}
.mech-head .rule{margin:18px auto 0}
.mech-head p{color:#9aa3b4; font-size:16px; margin-top:16px}

.cyl-stage{position:relative; max-width:880px; margin:0 auto 54px}
.cyl-status{display:flex; align-items:center; justify-content:center; gap:11px; margin-bottom:20px;
  font-size:12px; letter-spacing:.22em; text-transform:uppercase; font-weight:500; color:var(--gold-light); transition:color .4s}
.cyl-status i{width:9px; height:9px; border-radius:50%; background:var(--gold); transition:.4s; box-shadow:0 0 0 0 rgba(217,189,118,.6); animation:cping 2.4s infinite}
.cyl-stage.done .cyl-status{color:#7be0a8}
.cyl-stage.done .cyl-status i{background:#46d18a; animation:none; box-shadow:0 0 10px 1px rgba(70,209,138,.7)}
.cyl{width:100%; height:auto; filter:drop-shadow(0 34px 60px rgba(0,0,0,.55))}

/* pins (default = locked / mis-set) */
.cyl .pin .driver,.cyl .pin .keypin,.cyl .pin .spring{transform-box:fill-box; transform-origin:center; transition:transform .55s cubic-bezier(.2,.9,.3,1.15), filter .4s}
.cyl .pin .driver{transform:translateY(-13px)}
.cyl .pin .keypin{transform:translateY(-13px)}
.cyl .pin .spring{transform-origin:top; transform:scaleY(1)}
/* set = aligned to shear line + glow */
.cyl .pin.set .driver{transform:translateY(0)}
.cyl .pin.set .keypin{transform:translateY(0); filter:drop-shadow(0 0 7px rgba(246,227,173,.95))}
.cyl .pin.set .spring{transform:scaleY(.62)}
/* hover pulse from cards */
.cyl .pin.pulse .driver,.cyl .pin.pulse .keypin{filter:drop-shadow(0 0 9px #f6e3ad)}
.cyl .pin.pulse .keypin{animation:pinTap .5s ease}
@keyframes pinTap{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}

.cyl .shear{opacity:.4; transition:opacity .5s, filter .5s}
.cyl-stage.armed .shear{opacity:1; filter:drop-shadow(0 0 6px rgba(246,227,173,.7))}

.cyl .key{transform:translateX(150px); opacity:0; transition:transform .85s cubic-bezier(.2,.85,.25,1), opacity .6s}
.cyl-stage.armed .key{transform:translateX(0); opacity:1}

.cyl .sweep{opacity:0}
.cyl-stage.done .sweep{animation:cylSweep 1.1s ease forwards}
@keyframes cylSweep{0%{opacity:0; transform:translateX(0)}25%{opacity:.5}100%{opacity:0; transform:translateX(600px)}}

/* guarantee cards */
.mech-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:880px; margin:0 auto}
.mcard{position:relative; padding:30px 24px 28px; border:1px solid var(--line); border-radius:16px;
  background:linear-gradient(180deg, rgba(18,26,46,.5), rgba(10,16,30,.4)); transition:transform .4s cubic-bezier(.2,.8,.2,1), border-color .4s, box-shadow .4s}
.mcard::after{content:""; position:absolute; left:24px; right:24px; top:0; height:2px; background:var(--gold-grad); transform:scaleX(0); transform-origin:left; transition:transform .5s}
.mcard.lit::after{transform:scaleX(1)}
.mcard:hover{transform:translateY(-7px); border-color:rgba(217,189,118,.45); box-shadow:0 28px 54px -30px rgba(0,0,0,.85)}
.mc-no{font-family:'Cormorant Garamond',serif; font-weight:700; font-size:22px; line-height:1;
  background:var(--gold-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent}
.mc-ic{display:grid; place-items:center; width:50px; height:50px; border-radius:12px; margin:16px 0 16px;
  background:rgba(217,189,118,.08); border:1px solid var(--line)}
.mc-ic svg{width:26px; height:26px}
.mcard h4{font-family:'Jost',sans-serif; font-weight:500; font-size:17px; color:#fff; letter-spacing:.02em; margin-bottom:7px}
.mcard p{font-size:13.5px; color:#94a0b3}

@media(max-width:900px){ .mech-grid{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ .mech-grid{grid-template-columns:1fr} }

/* ============================================================
   Services page (template-services.php)
   ============================================================ */
.pg-hero{min-height:auto; padding:150px 0 82px; text-align:center}
.pg-hero-in{position:relative; z-index:5; max-width:840px; margin:0 auto}
.pg-hero .eyebrow{opacity:0; animation:rise .9s .15s forwards}
.pg-hero h1{font-size:clamp(44px,6vw,84px); color:#fff; margin:18px 0 22px; opacity:0; animation:rise 1s .3s forwards}
.pg-hero .lead,.pg-hero .pg-intro{font-size:18px; color:#aeb7c8; max-width:640px; margin:0 auto 32px; opacity:0; animation:rise 1s .45s forwards}
.pg-hero .pg-intro p{margin-bottom:14px}
.pg-hero .hero-cta{justify-content:center; opacity:0; animation:rise 1s .6s forwards}

.svc-page{background:linear-gradient(180deg,#070b16,#0a1020)}
.svc-detail{display:flex; gap:64px; align-items:center; padding:74px 0; border-bottom:1px solid var(--line)}
.svc-page .svc-detail:last-child{border-bottom:0}
.svc-detail:nth-child(even){flex-direction:row-reverse}
.sd-copy{flex:1.12; min-width:0}
.sd-no{font-family:'Cormorant Garamond',serif; font-weight:700; font-size:36px; line-height:1; display:block}
.sd-tag{display:inline-block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-light); border:1px solid var(--line); padding:5px 13px; border-radius:20px; margin:12px 0 16px}
.svc-detail h2{font-size:clamp(30px,3.4vw,46px); color:#fff; margin-bottom:14px}
.sd-desc{color:#9aa3b4; font-size:16px; margin-bottom:24px; max-width:560px}
.sd-inc{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:13px 28px; margin-bottom:26px}
.sd-inc li{display:flex; gap:11px; align-items:flex-start; font-size:14px; color:#c4cdda}
.sd-inc svg{width:18px; height:18px; flex:none; margin-top:3px}
.sd-foot{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-top:20px; border-top:1px solid var(--line)}
.sd-meta{font-size:13px; color:#8a93a6; letter-spacing:.04em}
.sd-link{display:inline-flex; align-items:center; gap:9px; color:var(--gold-light); font-size:12.5px; letter-spacing:.12em; text-transform:uppercase}
.sd-link svg{transition:transform .3s}
.sd-link:hover svg{transform:translateX(5px)}
.sd-visual{flex:.88; position:relative; height:320px; display:flex; align-items:center; justify-content:center}
.sd-ring{position:absolute; border-radius:50%; border:1px solid var(--line)}
.sd-ring.r1{width:270px; height:270px; animation:spin 40s linear infinite}
.sd-ring.r2{width:200px; height:200px; border-style:dashed; border-color:rgba(217,189,118,.16); animation:spin 28s linear infinite reverse}
.sd-halo{position:absolute; width:210px; height:210px; border-radius:50%; background:radial-gradient(circle,rgba(217,189,118,.18),transparent 65%); filter:blur(6px); animation:glow 5s ease-in-out infinite}
.sd-emblem{width:150px; height:150px; position:relative; z-index:2; filter:drop-shadow(0 22px 40px rgba(0,0,0,.55))}

@media(max-width:900px){
  .svc-detail,.svc-detail:nth-child(even){flex-direction:column; gap:36px; padding:54px 0}
  .sd-visual{height:250px; order:-1}
  .sd-inc{grid-template-columns:1fr}
}

/* ============================================================
   Process page (template-process.php) — vertical step timeline
   ============================================================ */
.proc-page{background:linear-gradient(180deg,#05070e,#0a1122 50%,#070b16)}
.ptl{max-width:820px; margin:0 auto; position:relative}
.pstep{display:grid; grid-template-columns:64px 1fr; gap:34px; padding-bottom:54px}
.pstep:last-child{padding-bottom:0}
.pstep .rail{display:flex; flex-direction:column; align-items:center}
.pstep .node{width:64px; height:64px; border-radius:50%; flex:none; display:grid; place-items:center;
  border:1px solid var(--line); background:rgba(12,20,38,.6); position:relative; z-index:2;
  font-family:'Cormorant Garamond',serif; font-weight:700; font-size:27px; transition:border-color .5s, box-shadow .5s}
.pstep .node .gold-text{line-height:1}
.pstep .seg{flex:1; width:2px; min-height:40px; margin-top:10px; background:rgba(217,189,118,.15);
  transform:scaleY(0); transform-origin:top; transition:transform .8s ease .15s}
.pstep:last-child .seg{display:none}
.pstep.in .seg{transform:scaleY(1)}
.pstep.in .node{border-color:var(--gold); box-shadow:0 0 0 6px rgba(217,189,118,.07), 0 0 26px -6px rgba(217,189,118,.65)}
.pstep .pbody{padding-top:6px}
.pstep .pbody .eyebrow{font-size:11.5px; letter-spacing:.36em}
.pstep h3{font-size:clamp(26px,3vw,40px); color:#fff; margin:8px 0 12px}
.pstep .pbody p{color:#9aa3b4; font-size:16px; margin-bottom:18px; max-width:580px}
.pdet{list-style:none; display:flex; flex-wrap:wrap; gap:10px}
.pdet li{font-size:12.5px; letter-spacing:.04em; color:#c4cdda; border:1px solid var(--line);
  border-radius:20px; padding:7px 15px; background:rgba(217,189,118,.04)}

@media(max-width:600px){
  .pstep{grid-template-columns:52px 1fr; gap:22px}
  .pstep .node{width:52px; height:52px; font-size:22px}
}

/* ============================================================
   Reviews page summary + FAQ page wrapper
   ============================================================ */
.rev-summary{display:grid; grid-template-columns:auto 1fr; gap:54px; align-items:center; max-width:860px;
  margin:0 auto 60px; padding:40px 44px; border:1px solid var(--line); border-radius:20px; background:rgba(12,20,38,.45)}
.rev-score{text-align:center; min-width:150px}
.rev-score .big{font-family:'Cormorant Garamond',serif; font-weight:700; font-size:74px; line-height:1}
.rev-score .stars{justify-content:center; color:var(--gold); font-size:18px; letter-spacing:3px; margin:8px 0 6px}
.rev-score .cnt{font-size:12.5px; color:#8a93a6; letter-spacing:.04em}
.rbars{display:flex; flex-direction:column; gap:11px}
.rbar{display:flex; align-items:center; gap:14px; font-size:12.5px; color:#9aa3b4}
.rbar .lab{width:32px; color:var(--gold-light); flex:none}
.rbar .track{flex:1; height:8px; border-radius:6px; background:rgba(217,189,118,.1); overflow:hidden}
.rbar .fill{display:block; height:100%; width:0; background:var(--gold-grad); transition:width 1.1s cubic-bezier(.2,.7,.2,1) .15s}
.rev-summary.in .rbar .fill{width:var(--w)}
@media(max-width:700px){ .rev-summary{grid-template-columns:1fr; gap:30px; text-align:center} }

/* FAQ page */
.faq-wrap{max-width:860px; margin:0 auto}
.faq-cat{font-family:'Jost',sans-serif; font-weight:500; letter-spacing:.22em; text-transform:uppercase;
  font-size:12px; color:var(--gold-light); margin:46px 0 4px}
.faq-cat:first-child{margin-top:0}
.faq-wrap .fitem:first-of-type{border-top:1px solid var(--line)}

/* ============================================================
   Service Areas — chips, home tabs, mega-menu, overview, single
   ============================================================ */
.area-chips{display:flex; flex-wrap:wrap; gap:9px}
.area-chip{display:inline-flex; align-items:center; font-size:13px; letter-spacing:.02em; color:#c4cdda;
  border:1px solid var(--line); border-radius:30px; padding:8px 15px; background:rgba(217,189,118,.04); transition:.3s}
.area-chip:hover{border-color:var(--gold); color:#fff; background:rgba(217,189,118,.12); transform:translateY(-2px)}

/* home tabbed areas */
.areas{background:linear-gradient(180deg,#0a1020,#070b16)}
.area-tabs{max-width:920px; margin:0 auto}
.at-nav{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:30px}
.at-btn{font-family:'Jost',sans-serif; font-weight:500; font-size:13px; letter-spacing:.08em; text-transform:uppercase;
  color:#aeb6c6; background:transparent; border:1px solid var(--line); border-radius:30px; padding:11px 20px;
  cursor:pointer; display:inline-flex; align-items:center; gap:9px; transition:.3s}
.at-btn span{font-family:'Cormorant Garamond',serif; font-weight:700; font-size:14px; color:var(--gold-light);
  background:rgba(217,189,118,.1); border-radius:20px; padding:1px 8px}
.at-btn:hover{color:#fff; border-color:rgba(217,189,118,.4)}
.at-btn.on{background:var(--gold-grad); color:#1a1305; border-color:transparent}
.at-btn.on span{color:#1a1305; background:rgba(0,0,0,.12)}
.at-panel{display:none}
.at-panel.on{display:block; animation:rise .5s ease}
.at-panel .area-chips{justify-content:center}

/* overview county blocks */
.county-block{padding:34px 0; border-bottom:1px solid var(--line)}
.svc .county-block:last-child{border-bottom:0}
.county-head{display:flex; align-items:center; gap:20px; margin-bottom:20px}
.county-head h2{font-size:clamp(26px,3vw,40px); color:#fff; white-space:nowrap}
.county-rule{flex:1; height:1px; background:linear-gradient(90deg,var(--line),transparent)}
.county-group{display:grid; grid-template-columns:120px 1fr; gap:18px; align-items:start; padding:11px 0}
.cg-label{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-light); padding-top:9px}
@media(max-width:600px){ .county-group{grid-template-columns:1fr; gap:9px} .cg-label{padding-top:0} }

/* breadcrumb + single hero */
.crumbs{display:flex; gap:10px; align-items:center; justify-content:center; font-size:12.5px; letter-spacing:.05em; color:#8a93a6; margin-bottom:18px}
.crumbs a{color:#aeb6c6}.crumbs a:hover{color:var(--gold-light)}
.crumbs strong{color:var(--gold-light); font-weight:500}
.area-hero .pg-hero-in{max-width:880px}

/* mega-menu */
.navlinks .has-mega{position:relative}
.has-mega>a{display:inline-flex; align-items:center; gap:6px}
.mega-caret{font-size:9px; color:var(--gold-light)}
.mega{position:absolute; top:calc(100% + 16px); left:50%; transform:translateX(-50%) translateY(10px);
  width:min(820px,92vw); background:rgba(7,11,20,.97); backdrop-filter:blur(14px); border:1px solid var(--line);
  border-radius:16px; padding:26px 26px 20px; opacity:0; visibility:hidden; transition:.3s;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85); z-index:70}
.mega::before{content:""; position:absolute; top:-18px; left:0; right:0; height:18px}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0)}
.mega-inner{display:grid; grid-template-columns:repeat(5,1fr); gap:20px}
.mega-col h6{font-family:'Jost',sans-serif; font-weight:500; font-size:10.5px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--gold-light); margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--line)}
.mega-col ul{list-style:none; margin:0; padding:0}
.mega-col li a{display:block; font-size:12.5px; color:#aeb6c6; padding:4px 0; letter-spacing:.02em; transition:.2s}
.mega-col li a:hover{color:#fff; padding-left:4px}
.mega-all{display:inline-block; margin-top:16px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-light)}
.mega-all:hover{color:#fff}

/* footer: 5 columns now */
.ft-grid{grid-template-columns:1.4fr repeat(4,1fr)}

@media(max-width:980px){
  .has-mega{position:static}
  .mega{display:none !important}
}

/* ============================================================
   Mobile menu dropdown + reduced motion (audit fixes)
   ============================================================ */
@media(max-width:980px){
  .site-header.nav-open{ background:rgba(5,7,14,.92); backdrop-filter:blur(14px); }
  .site-header.nav-open .navlinks{
    display:flex; flex-direction:column; gap:0; position:fixed; top:84px; left:0; right:0;
    background:rgba(5,7,14,.98); backdrop-filter:blur(16px); border-top:1px solid var(--line);
    border-bottom:1px solid var(--line); padding:6px 30px 22px; max-height:calc(100vh - 84px); overflow:auto; z-index:65;
  }
  .site-header.nav-open .navlinks li{ width:100%; border-bottom:1px solid rgba(217,189,118,.08); }
  .site-header.nav-open .navlinks li:last-child{ border-bottom:0; }
  .site-header.nav-open .navlinks a{ display:block; padding:16px 2px; font-size:14px; letter-spacing:.14em; opacity:1; animation:none; }
  .site-header.nav-open .navlinks a::after{ display:none; }
  .burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .mega-caret{ display:none; }
}

/* search form (404 / search) */
.search-form{display:flex; gap:10px}
.search-form label{flex:1; margin:0}
.search-form .search-field{width:100%; background:rgba(12,20,38,.6); border:1px solid var(--line); border-radius:30px;
  padding:13px 20px; color:var(--cream); font-family:'Jost',sans-serif; font-size:14px}
.search-form .search-field:focus{outline:none; border-color:var(--gold-light)}
.search-form .search-submit{background:var(--gold-grad); color:#1a1305; border:0; border-radius:30px; padding:13px 22px;
  font-weight:600; font-family:'Jost',sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; font-size:12px}

/* ============================================================
   Inside Every Job — the master key (replaces cylinder)
   ============================================================ */
.keysec{overflow:hidden}
.key-grid{display:grid; grid-template-columns:.82fr 1.18fr; gap:64px; align-items:center; max-width:1010px; margin:0 auto}
.keyfig{position:relative; display:flex; align-items:center; justify-content:center; min-height:470px}
.key-halo{position:absolute; width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle, rgba(217,189,118,.20), transparent 65%); filter:blur(10px); animation:glow 5s ease-in-out infinite}
.key-svg{position:relative; z-index:2; width:196px; height:auto;
  filter:drop-shadow(0 28px 52px rgba(0,0,0,.6)); animation:floaty 6s ease-in-out infinite}
.key-svg .tooth{transform-box:fill-box; transform-origin:left center; opacity:.5;
  transition:opacity .5s, filter .5s, transform .5s}
.key-svg .tooth.lit{opacity:1; filter:drop-shadow(0 0 9px rgba(246,227,173,.95)); transform:scaleX(1.12)}
.key-svg .tooth.pulse{animation:pinTap .5s ease}

.gkey-list{display:flex; flex-direction:column}
.gtr{display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:start; position:relative;
  padding:24px 0; border-bottom:1px solid var(--line); transition:padding .35s, background .35s; cursor:default}
.gkey-list .gtr:last-child{border-bottom:0}
.gtr::before{content:""; position:absolute; left:-24px; top:50%; width:0; height:1px; background:var(--gold-grad); transition:width .4s}
.gtr:hover{padding-left:10px}
.gtr:hover::before{width:16px}
.gtr-no{font-family:'Cormorant Garamond',serif; font-weight:700; font-size:40px; line-height:1}
.gtr-body h4{font-family:'Jost',sans-serif; font-weight:500; font-size:19px; color:#fff; letter-spacing:.02em; margin-bottom:6px}
.gtr-body p{font-size:14.5px; color:#94a0b3; max-width:520px}

@media(max-width:900px){
  .key-grid{grid-template-columns:1fr; gap:24px}
  .keyfig{min-height:auto; order:-1}
  .key-svg{width:150px}
  .gtr{gap:18px} .gtr-no{font-size:34px}
}

/* ============================================================
   Stats — the monument (grandiose plaque)
   ============================================================ */
.statmon{position:relative; overflow:hidden}
.monument{position:relative; max-width:1080px; margin:0 auto; padding:60px 50px 54px;
  border:1px solid rgba(217,189,118,.28); border-radius:22px;
  background:linear-gradient(180deg, rgba(14,22,42,.6), rgba(8,12,22,.45));
  box-shadow:0 50px 100px -50px rgba(0,0,0,.8), inset 0 0 90px rgba(217,189,118,.045)}
.monument::before{content:""; position:absolute; inset:0; border-radius:22px; pointer-events:none;
  background:radial-gradient(60% 80% at 50% 0%, rgba(217,189,118,.12), transparent 70%)}
.mono-corner{position:absolute; width:26px; height:26px; border:2px solid var(--gold-light); opacity:.7; z-index:3}
.mono-corner.tl{top:14px; left:14px; border-right:0; border-bottom:0}
.mono-corner.tr{top:14px; right:14px; border-left:0; border-bottom:0}
.mono-corner.bl{bottom:14px; left:14px; border-right:0; border-top:0}
.mono-corner.br{bottom:14px; right:14px; border-left:0; border-top:0}

.mono-head{text-align:center; margin-bottom:46px; position:relative; z-index:2}
.mono-head h2{font-size:clamp(30px,4vw,52px); color:#fff; margin:14px 0 0}
.mono-head .rule{margin:18px auto 0}

.mono-grid{display:grid; grid-template-columns:repeat(4,1fr); position:relative; z-index:2}
.mono-stat{position:relative; text-align:center; padding:14px 22px}
.mono-stat + .mono-stat::before{content:""; position:absolute; left:0; top:14%; bottom:14%; width:1px;
  background:linear-gradient(180deg,transparent,rgba(217,189,118,.5),transparent)}
.mono-stat + .mono-stat::after{content:"\25C6"; position:absolute; left:-5px; top:50%; transform:translateY(-50%);
  font-size:9px; color:var(--gold-light)}
.mono-ghost{position:absolute; top:44%; left:50%; transform:translate(-50%,-50%); z-index:0;
  font-family:'Cormorant Garamond',serif; font-weight:700; font-size:150px; line-height:1;
  color:rgba(217,189,118,.06); pointer-events:none; white-space:nowrap}
.mono-num{position:relative; z-index:1; white-space:nowrap;
  font-family:'Cormorant Garamond',serif; font-weight:700; font-size:clamp(44px,5.2vw,76px); line-height:1.05;
  background:linear-gradient(110deg,#9a7b2e 0%,#f6e3ad 22%,#fffbe9 40%,#f6e3ad 56%,#9a7b2e 80%);
  background-size:220% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
  animation:monoShine 5.5s linear infinite}
@keyframes monoShine{to{background-position:-220% 0}}
.mono-rule{display:block; width:0; height:2px; margin:16px auto 14px; background:var(--gold-grad);
  transition:width .9s cubic-bezier(.2,.7,.2,1) .25s}
.mono-stat.in .mono-rule{width:46px}
.mono-label{position:relative; z-index:1; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; color:#8a93a6}

@media(max-width:820px){
  .monument{padding:46px 24px 40px}
  .mono-grid{grid-template-columns:1fr 1fr; gap:34px 0}
  .mono-stat:nth-child(3)::before,.mono-stat:nth-child(3)::after{display:none}
  .mono-ghost{font-size:118px}
}
@media(max-width:460px){
  .mono-grid{grid-template-columns:1fr; gap:0}
  .mono-stat + .mono-stat::before,.mono-stat + .mono-stat::after{display:none}
  .mono-stat{padding:22px 0; border-top:1px solid rgba(217,189,118,.12)}
  .mono-stat:first-child{border-top:0}
}

/* footer office address */
.ft-addr a{display:flex; gap:8px; align-items:flex-start}
.ft-pin{width:15px; height:15px; flex:0 0 auto; margin-top:3px}
.ft-addr span{line-height:1.5}
