/* JNH Masonry — premium static site. Shared styles. */
@font-face{font-family:"Inter";src:url("../fonts/inter-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"Montserrat";src:url("../fonts/montserrat-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
@property --jnh-a{syntax:"<angle>";inherits:false;initial-value:0deg;}
@view-transition{navigation:auto;}

:root{
  --ink:#070B12; --navy:#0B1422; --navy-2:#101C2E; --panel:rgba(12,20,33,.66); --panel-strong:rgba(9,15,25,.86);
  --gold:#C9A227; --gold-2:#E6C65C; --gold-soft:rgba(201,162,39,.42); --gold-line:rgba(201,162,39,.26);
  --orange:#F15A24; --text:#F4F1EA; --muted:rgba(244,241,234,.74); --dim:rgba(244,241,234,.56);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px; --s10:128px;
  --r-sm:10px; --r:16px; --r-lg:22px;
  --shadow:0 18px 40px -18px rgba(0,0,0,.65), 0 2px 8px rgba(0,0,0,.25);
  --shadow-lg:0 30px 70px -25px rgba(0,0,0,.75);
  --ease:cubic-bezier(.2,.7,.2,1);
  --wrap:1180px; --nav-h:96px;
  --ff-h:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ff-b:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);background:var(--ink);}
body{margin:0;min-height:100vh;font:400 16px/1.65 var(--ff-b);color:var(--text);overflow-x:hidden;
  background:radial-gradient(1200px 600px at 85% -10%, rgba(201,162,39,.08), transparent 60%),radial-gradient(900px 600px at -10% 30%, rgba(60,100,170,.10), transparent 60%),linear-gradient(180deg, var(--navy) 0%, var(--ink) 100%);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
:where(img):not(.embed-component *){max-width:100%;height:auto;display:block;}
a{color:inherit;}
:where(p):not(.embed-component *){margin:0 0 var(--s4);}
:where(h1,h2,h3,h4):not(.embed-component *){font-family:var(--ff-h);color:#fff;margin:0 0 var(--s4);line-height:1.12;letter-spacing:-.02em;}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;border-radius:6px;}
::selection{background:rgba(201,162,39,.35);color:#fff;}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:var(--s4);top:-60px;z-index:200;padding:var(--s3) var(--s4);background:var(--gold);color:#14110a;font-weight:700;border-radius:var(--r-sm);text-decoration:none;transition:top .2s;}
.skip:focus{top:var(--s3);}
.wrap{width:min(var(--wrap), calc(100% - 2*var(--s5)));margin:0 auto;}

/* Page fade-in / fade-out */
html.js body{opacity:0;}
html.js body.is-ready{opacity:1;transition:opacity .45s var(--ease);}
html.js body.is-leaving{opacity:0;transition:opacity .18s ease;}

/* ---------- Weather line ---------- */
.wx{position:relative;z-index:61;background:linear-gradient(90deg, rgba(7,11,18,.96), rgba(16,28,46,.96), rgba(7,11,18,.96));border-bottom:1px solid var(--gold-line);}
.wx .wrap{display:flex;justify-content:center;padding:var(--s2) 0;}
#jnh-weather-marker{display:inline-flex;align-items:center;gap:var(--s2);font:600 14.5px/1.35 var(--ff-b);color:var(--text);text-align:center;}
#jnh-weather-marker .wx-face{flex:0 0 auto;width:20px;height:20px;}
#jnh-weather-marker.jnh-good .wx-face{color:#6fd08a;}
#jnh-weather-marker.jnh-rain .wx-face{color:#ff8f84;}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:60;transition:background .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;border-bottom:1px solid transparent;background:rgba(7,11,18,.55);-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px);}
.nav.is-scrolled{background:rgba(7,11,18,.86);border-bottom-color:var(--gold-line);box-shadow:0 10px 30px -12px rgba(0,0,0,.6);}
.nav .wrap{display:flex;align-items:center;gap:var(--s5);height:var(--nav-h);transition:height .35s var(--ease);}
.nav.is-scrolled .wrap{height:68px;}
.brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none;flex:0 0 auto;}
.brand img{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 0 1px rgba(255,236,170,.95)) drop-shadow(0 0 1px rgba(255,236,170,.8)) drop-shadow(0 0 10px rgba(230,198,92,.55)) drop-shadow(0 6px 14px rgba(0,0,0,.6));transition:width .35s var(--ease),height .35s var(--ease);}
.nav.is-scrolled .brand img{width:52px;height:52px;}
.brand span{font:800 17px/1 var(--ff-h);letter-spacing:.06em;text-transform:uppercase;color:#fff;}
.brand span small{display:block;margin-top:4px;font:600 10px/1 var(--ff-b);letter-spacing:.22em;color:var(--gold-2);}
.nav .wrap > nav{margin-left:auto;}
.links{display:flex;align-items:center;gap:var(--s1);margin:0;padding:0;list-style:none;}
.links > li{position:relative;}
.links a{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;font:600 14.5px/1 var(--ff-b);color:var(--muted);text-decoration:none;transition:color .2s, background .2s;}
.links a:hover,.links a:focus-visible{color:#fff;background:rgba(255,255,255,.06);}
.links a[aria-current="page"]{color:#fff;}
.links a[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:2px;width:18px;height:2px;margin-left:-9px;border-radius:2px;background:var(--gold);}
.links .chev{width:10px;height:10px;transition:transform .25s var(--ease);}
.dd{position:absolute;top:calc(100% + 10px);left:50%;min-width:250px;padding:var(--s2);margin:0;list-style:none;background:var(--panel-strong);border:1px solid var(--gold-line);border-radius:var(--r);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:translate(-50%,-6px);transition:opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;}
.dd::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;}
.has-dd:hover .dd,.has-dd:focus-within .dd{opacity:1;visibility:visible;transform:translate(-50%,0);}
.has-dd:hover .chev,.has-dd:focus-within .chev{transform:rotate(180deg);}
.dd a{display:flex;width:100%;padding:12px 14px;border-radius:var(--r-sm);color:var(--text);font-size:14.5px;}
.dd a:hover,.dd a:focus-visible{background:rgba(201,162,39,.12);color:#fff;}
.nav-cta{flex:0 0 auto;}
.burger{display:none;position:relative;width:46px;height:46px;margin-left:auto;border:1px solid var(--gold-line);border-radius:12px;background:rgba(255,255,255,.04);cursor:pointer;color:#fff;transition:background .2s,border-color .2s;}
.burger:hover{border-color:var(--gold-soft);}
.burger span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:currentColor;transition:transform .35s var(--ease), opacity .2s, top .35s var(--ease);}
.burger span:nth-child(1){top:15px;} .burger span:nth-child(2){top:22px;} .burger span:nth-child(3){top:29px;}
.burger[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.3);}
.burger[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg);}
.mnav{position:fixed;left:0;right:0;top:var(--mnav-top, 60px);bottom:0;z-index:59;overflow-y:auto;padding:var(--s5) var(--s5) calc(var(--s9) + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0B1422,#070B12);border-top:1px solid var(--gold-line);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s var(--ease), transform .35s var(--ease), visibility .3s;}
.mnav.open{opacity:1;visibility:visible;transform:none;}
.mnav ul{list-style:none;margin:0 0 var(--s5);padding:0;}
.mnav li{opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease), transform .35s var(--ease);transition-delay:calc(var(--i,0) * 40ms);}
.mnav.open li{opacity:1;transform:none;}
.mnav a.m-link{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.07);font:700 21px/1.2 var(--ff-h);color:#fff;text-decoration:none;}
.mnav a.m-link[aria-current="page"]{color:var(--gold-2);}
.mnav a.m-link svg{width:20px;height:20px;flex:0 0 auto;color:var(--gold-2);transition:transform .25s var(--ease);}
.mnav a.m-link:hover svg,.mnav a.m-link:focus-visible svg{transform:translateX(4px);}
.mnav .btn svg{width:18px;height:18px;}
.mnav a.m-sub{display:block;padding:11px 4px 11px 18px;font:500 16px/1.3 var(--ff-b);color:var(--muted);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.04);}
.mnav .m-actions{display:grid;gap:var(--s3);}
body.menu-open{overflow:hidden;}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:12px;font:700 15px/1 var(--ff-b);letter-spacing:.01em;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .2s var(--ease), box-shadow .25s var(--ease), background .2s, border-color .2s, color .2s;-webkit-tap-highlight-color:transparent;}
.btn svg{width:18px;height:18px;flex:0 0 auto;}
.btn:active{transform:translateY(1px) scale(.985);}
.btn-gold{background:linear-gradient(180deg, var(--gold-2), var(--gold));color:#15110a;box-shadow:0 10px 24px -10px rgba(201,162,39,.7), inset 0 1px 0 rgba(255,255,255,.35);}
.btn-gold:hover{box-shadow:0 14px 30px -10px rgba(201,162,39,.85), inset 0 1px 0 rgba(255,255,255,.4);transform:translateY(-1px);}
.btn-ghost{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.22);color:#fff;}
.btn-ghost:hover{border-color:var(--gold);background:rgba(201,162,39,.10);transform:translateY(-1px);}
.btn-orange{background:var(--orange);color:#fff;box-shadow:0 10px 24px -10px rgba(241,90,36,.75);}
.btn-orange:hover{transform:translateY(-1px);filter:brightness(1.05);}
.btn-sm{min-height:42px;padding:0 18px;font-size:14px;border-radius:10px;}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font:700 14.5px/1 var(--ff-b);color:var(--gold-2);text-decoration:none;}
.link-arrow svg{width:16px;height:16px;transition:transform .25s var(--ease);}
.link-arrow:hover svg, a:hover .link-arrow svg, a:focus-visible .link-arrow svg{transform:translateX(4px);}

/* ---------- Hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:min(88vh, 820px);display:flex;align-items:center;padding:var(--s9) 0 calc(var(--s9) + 40px);}
.hero-bg{position:absolute;inset:-8% 0;z-index:-2;background:url("../img/bg.jpg") center 6%/cover no-repeat;transform:translate3d(0,var(--py,0px),0) scale(1.08);will-change:transform;}
@media (max-width:700px){.hero-bg{background-image:url("../img/bg-640.jpg");}}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg, rgba(7,11,18,.50) 0%, rgba(7,11,18,.30) 38%, rgba(7,11,18,.90) 100%),radial-gradient(900px 520px at 18% 48%, rgba(7,11,18,.62), transparent 70%);}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg, transparent, var(--gold-soft), transparent);}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--s7);align-items:center;}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:var(--s5);padding:8px 14px;border:1px solid var(--gold-soft);border-radius:999px;background:rgba(7,11,18,.5);font:600 12.5px/1.2 var(--ff-b);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);}
.hero h1{font-size:clamp(40px, 6.2vw, 76px);font-weight:800;line-height:1.02;letter-spacing:-.03em;margin-bottom:var(--s5);text-shadow:0 6px 30px rgba(0,0,0,.45);}
.hero h1 em{font-style:normal;background:linear-gradient(90deg, var(--gold-2), #fff3c4 50%, var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero .lead{max-width:600px;font-size:clamp(16.5px, 1.6vw, 19px);color:rgba(244,241,234,.86);}
.hero .tag{font-weight:600;color:#fff;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6);}
.hero-mark{justify-self:end;width:min(360px, 100%);filter:drop-shadow(0 30px 50px rgba(0,0,0,.6));}
.hero-mark img{width:100%;height:auto;animation:float 7s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.scroll-cue{position:absolute;left:50%;bottom:var(--s5);width:26px;height:42px;margin-left:-13px;border:1.5px solid rgba(255,255,255,.35);border-radius:14px;}
.scroll-cue::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--gold-2);animation:cue 1.8s ease-in-out infinite;}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

/* Page banner (inner pages) */
.banner{position:relative;isolation:isolate;overflow:hidden;padding:var(--s9) 0 var(--s8);}
.banner .hero-bg{inset:-10% 0;background-position:center 30%;}
.banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg, rgba(7,11,18,.72), rgba(7,11,18,.94));}
.banner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg, transparent, var(--gold-soft), transparent);}
.banner h1{font-size:clamp(34px, 5vw, 58px);font-weight:800;max-width:900px;}
.banner .lead{max-width:720px;font-size:clamp(16px,1.5vw,18.5px);color:rgba(244,241,234,.84);}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 var(--s4);padding:0;list-style:none;font:600 13px/1.2 var(--ff-b);color:var(--dim);letter-spacing:.04em;}
.crumbs a{color:var(--muted);text-decoration:none;}
.crumbs a:hover{color:var(--gold-2);}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--gold-soft);}

/* ---------- Gold buttons with tracers (Home) ---------- */
.gold-row{position:relative;z-index:5;margin-top:-44px;}
.gold-btns{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:var(--s3);margin:0;padding:var(--s3);list-style:none;background:var(--panel-strong);border:1px solid var(--gold-line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);}
.gold-btns a{position:relative;isolation:isolate;overflow:visible;display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 var(--s4);border-radius:12px;background:linear-gradient(180deg, var(--gold-2), var(--gold));color:#15110a;font:700 15px/1.2 var(--ff-b);text-align:center;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 10px 22px -12px rgba(201,162,39,.8);transition:transform .2s var(--ease), box-shadow .25s var(--ease);}
.gold-btns a:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 16px 30px -12px rgba(201,162,39,.9);}
.gold-btns a:active{transform:translateY(0) scale(.985);}
.gold-btns a svg{width:18px;height:18px;flex:0 0 auto;position:relative;z-index:4;}
.gold-btns a .label{position:relative;z-index:4;}
.gold-btns a::before{content:"";position:absolute;inset:-3px;border-radius:15px;padding:2px;background:conic-gradient(from var(--jnh-a), transparent 0deg 300deg, rgba(201,162,39,.15) 320deg, rgba(255,240,170,.75) 348deg, #fff 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:jnh-trace 7.6s linear infinite;pointer-events:none;z-index:2;}
@keyframes jnh-trace{to{--jnh-a:360deg;}}
.weld-point{position:absolute;left:0;top:0;width:3px;height:3px;border-radius:50%;background:#fff6b0;box-shadow:0 0 2px 1px #fff, 0 0 5px 1px #c9a227, 0 0 10px 2px rgba(201,162,39,.72);transform:translate(-50%,-50%);pointer-events:none;z-index:5;}
.weld-spark{position:absolute;left:0;top:0;width:10px;height:2px;border-radius:2px;background:linear-gradient(90deg, transparent, rgba(201,162,39,.08), rgba(201,162,39,.58), #fff6b0);pointer-events:none;z-index:6;transform:translate(-50%,-50%);animation:weld-spark-fade .9s linear forwards;}
@keyframes weld-spark-fade{0%{opacity:.9}100%{opacity:0}}

/* ---------- Sections ---------- */
.section{padding:var(--s9) 0;position:relative;}
.section.tight{padding:var(--s8) 0;}
.sec-head{max-width:720px;margin:0 auto var(--s7);text-align:center;}
.sec-head.left{margin-left:0;text-align:left;}
.kicker{display:inline-block;margin-bottom:var(--s3);font:700 12.5px/1 var(--ff-b);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);}
.sec-head h2{font-size:clamp(28px, 3.6vw, 44px);font-weight:800;}
.sec-head p{color:var(--muted);font-size:17px;}
.rule{display:block;width:64px;height:2px;margin:var(--s4) auto 0;background:linear-gradient(90deg, transparent, var(--gold), transparent);}
.sec-head.left .rule{margin-left:0;background:linear-gradient(90deg, var(--gold), transparent);}

.card{position:relative;background:var(--panel);border:1px solid var(--gold-line);border-radius:var(--r);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
a.card{display:block;text-decoration:none;color:inherit;transition:transform .35s var(--ease), border-color .3s, box-shadow .35s var(--ease);}
a.card:hover, a.card:focus-visible{transform:translateY(-4px);border-color:var(--gold-soft);box-shadow:var(--shadow-lg);}
a.card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(600px 160px at var(--mx,50%) 0%, rgba(201,162,39,.10), transparent 60%);opacity:0;transition:opacity .3s;}
a.card:hover::after{opacity:1;}

/* Why */
.why{display:grid;grid-template-columns:repeat(5, minmax(0,1fr));gap:var(--s4);margin:0;padding:0;list-style:none;}
.why li{padding:var(--s5);text-align:left;}
.why .ico{display:grid;place-items:center;width:46px;height:46px;margin-bottom:var(--s4);border-radius:12px;border:1px solid var(--gold-soft);background:rgba(201,162,39,.08);color:var(--gold-2);}
.why .ico svg{width:22px;height:22px;}
.why h3{font-size:16.5px;font-weight:700;line-height:1.3;margin:0 0 6px;letter-spacing:-.01em;}
.why p{margin:0;font-size:14px;color:var(--muted);}

/* Services grid */
.svc-grid{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:var(--s4);}
.svc{padding:var(--s6) var(--s5) var(--s5);min-height:100%;display:flex;flex-direction:column;}
.svc .num{position:absolute;top:var(--s4);right:var(--s5);font:800 13px/1 var(--ff-h);letter-spacing:.12em;color:var(--gold-soft);}
.svc .ico{display:grid;place-items:center;width:58px;height:58px;margin-bottom:var(--s5);border-radius:16px;background:linear-gradient(160deg, rgba(201,162,39,.22), rgba(201,162,39,.04));border:1px solid var(--gold-soft);color:var(--gold-2);}
.svc .ico svg{width:30px;height:30px;}
.svc h3{font-size:19px;font-weight:800;margin-bottom:var(--s2);}
.svc p{color:var(--muted);font-size:15px;flex:1;}
.svc-grid.lg{grid-template-columns:repeat(2, minmax(0,1fr));gap:var(--s5);}
.svc-grid.lg .svc{padding:var(--s7) var(--s6) var(--s6);}
.svc-grid.lg h3{font-size:24px;}
.ticks{list-style:none;margin:0 0 var(--s5);padding:0;display:grid;gap:10px;}
.ticks li{position:relative;padding-left:28px;color:var(--text);font-size:15.5px;line-height:1.5;}
.ticks li::before{content:"";position:absolute;left:0;top:4px;width:17px;height:17px;border-radius:50%;background:rgba(201,162,39,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.6 2.5L12 5.5' fill='none' stroke='%23E6C65C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;border:1px solid var(--gold-soft);}

/* Service area */
.area{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s7);align-items:center;padding:var(--s7);overflow:hidden;}
.area h2{font-size:clamp(26px,3.2vw,40px);font-weight:800;}
.area p{color:var(--muted);font-size:17px;margin-bottom:0;}
.area a{color:var(--gold-2);font-weight:700;text-decoration:none;white-space:nowrap;}
.pills{display:flex;flex-wrap:wrap;gap:var(--s3);justify-content:center;}
.pill{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 var(--s6);border-radius:999px;border:1px solid var(--gold);background:linear-gradient(180deg, rgba(201,162,39,.18), rgba(201,162,39,.05));font:800 17px/1 var(--ff-h);letter-spacing:.02em;color:#fff;box-shadow:0 10px 30px -14px rgba(201,162,39,.6);}
.pill svg{width:18px;height:18px;color:var(--gold-2);}
.area-map{position:relative;display:grid;place-items:center;gap:var(--s4);padding:var(--s6) var(--s4);border-radius:var(--r);background:radial-gradient(closest-side, rgba(201,162,39,.12), transparent),repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 28px),repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 28px);border:1px dashed var(--gold-line);}
.area-map .base{font:600 13px/1.3 var(--ff-b);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-align:center;}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:var(--s5);margin:0;padding:0;list-style:none;counter-reset:st;position:relative;}
.steps li{padding:var(--s6) var(--s5) var(--s5);}
.steps .n{display:grid;place-items:center;width:52px;height:52px;margin-bottom:var(--s4);border-radius:50%;background:linear-gradient(180deg, var(--gold-2), var(--gold));color:#15110a;font:800 20px/1 var(--ff-h);box-shadow:0 10px 24px -10px rgba(201,162,39,.8);}
.steps h3{font-size:19px;font-weight:800;}
.steps p{color:var(--muted);margin:0;}
.steps a{color:var(--gold-2);font-weight:700;text-decoration:none;white-space:nowrap;}

/* Before / After placeholders */
.ba-grid{display:grid;grid-template-columns:repeat(4, minmax(0,1fr));gap:var(--s4);}
.ba{padding:var(--s3) var(--s3) var(--s5);}
.ba-frame{position:relative;display:grid;grid-template-columns:1fr 1fr;aspect-ratio:4/3;border-radius:12px;overflow:hidden;border:1px solid var(--gold-line);margin-bottom:var(--s4);}
.ba-frame span{display:grid;place-items:center;font:800 11.5px/1 var(--ff-h);letter-spacing:.2em;text-transform:uppercase;color:rgba(244,241,234,.6);background:repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 12px, rgba(255,255,255,.07) 12px 24px);}
.ba-frame span+span{color:var(--gold-2);background:repeating-linear-gradient(135deg, rgba(201,162,39,.06) 0 12px, rgba(201,162,39,.12) 12px 24px);border-left:1px solid var(--gold-soft);}
.ba-frame::after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:var(--panel-strong) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E6C65C' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 7l-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E") center/18px no-repeat;border:1px solid var(--gold-soft);}
.ba h3{font-size:16.5px;font-weight:800;margin:0 var(--s2) 4px;}
.ba p{margin:0 var(--s2) var(--s3);font-size:13.5px;color:var(--muted);}
.ba .link-arrow{margin:0 var(--s2);}
.soon{display:inline-block;margin-left:var(--s2);margin-bottom:var(--s2);padding:4px 10px;border-radius:999px;border:1px solid var(--gold-soft);font:700 11px/1.2 var(--ff-b);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);}

/* Reviews */
.reviews{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);padding:var(--s7);}
.reviews h2{font-size:clamp(24px,3vw,34px);font-weight:800;margin-bottom:var(--s2);}
.reviews p{margin:0;color:var(--muted);}
.g-badge{display:grid;place-items:center;width:64px;height:64px;flex:0 0 auto;border-radius:18px;background:#fff;box-shadow:var(--shadow);}
.g-badge svg{width:34px;height:34px;}
.reviews .l{display:flex;align-items:center;gap:var(--s5);}

/* FAQ */
.faq{display:grid;gap:var(--s3);max-width:860px;margin:0 auto;}
.faq details{border-radius:var(--r);overflow:hidden;}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:64px;padding:var(--s4) var(--s5);font:700 17.5px/1.35 var(--ff-h);color:#fff;transition:color .2s;-webkit-tap-highlight-color:transparent;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--gold-2);}
.faq .pm{position:relative;flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1px solid var(--gold-soft);}
.faq .pm::before,.faq .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--gold-2);border-radius:2px;transition:transform .3s var(--ease);}
.faq .pm::after{transform:rotate(90deg);}
.faq details[open] .pm::after{transform:rotate(0deg);}
.faq .a{padding:0 var(--s5) var(--s5);color:var(--muted);}
.faq .a p{margin:0;}
.faq .a a{color:var(--gold-2);font-weight:700;text-decoration:none;white-space:nowrap;}

/* Military teaser */
.mil-teaser{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);padding:var(--s5) var(--s6);}
.mil-teaser .l{display:flex;align-items:center;gap:var(--s4);}
.mil-teaser .flag{display:grid;place-items:center;width:52px;height:52px;flex:0 0 auto;border-radius:14px;border:1px solid var(--gold-soft);background:rgba(201,162,39,.08);color:var(--gold-2);}
.mil-teaser .flag svg{width:26px;height:26px;}
.mil-teaser h3{font-size:18px;margin:0 0 2px;}
.mil-teaser p{margin:0;color:var(--muted);font-size:15px;}

/* CTA band */
.cta-band{position:relative;isolation:isolate;overflow:hidden;padding:var(--s8) var(--s7);border-radius:var(--r-lg);border:1px solid var(--gold-soft);text-align:center;box-shadow:var(--shadow-lg);}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-2;background:url("../img/bg-640.jpg") center 20%/cover;}
.cta-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg, rgba(7,11,18,.92), rgba(16,28,46,.78));}
.cta-band h2{font-size:clamp(28px,4vw,48px);font-weight:800;}
.cta-band p{max-width:620px;margin:0 auto var(--s6);color:rgba(244,241,234,.85);font-size:17px;}
.cta-band .row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s3);}

/* Service detail page */
.detail{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--s7);align-items:start;}
.prose{font-size:17px;color:rgba(244,241,234,.9);}
.prose .lead-strong{font:700 20px/1.45 var(--ff-h);color:#fff;letter-spacing:-.01em;margin-bottom:var(--s5);}
.prose p{margin-bottom:var(--s5);}
.aside{position:sticky;top:calc(var(--nav-h) + 24px);padding:var(--s6);}
.aside h3{font-size:20px;}
.aside p{color:var(--muted);font-size:15px;}
.aside .stack{display:grid;gap:var(--s3);margin-top:var(--s5);}
.others{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:var(--s4);}
.others a{padding:var(--s5);display:flex;align-items:center;justify-content:space-between;gap:var(--s3);}
.others h3{margin:0;font-size:16.5px;}

/* Gallery tiles */
.tiles{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:var(--s5);}
.tile{position:relative;overflow:hidden;min-height:280px;padding:var(--s6);display:flex;flex-direction:column;justify-content:flex-end;}
.tile .bgart{position:absolute;inset:0;z-index:-1;opacity:.9;background:radial-gradient(500px 220px at 85% 10%, rgba(201,162,39,.22), transparent 60%),linear-gradient(160deg, rgba(16,28,46,.9), rgba(7,11,18,.95));}
.tile .big-ico{position:absolute;right:var(--s5);top:var(--s5);width:84px;height:84px;color:rgba(201,162,39,.55);transition:transform .5s var(--ease), color .3s;}
.tile:hover .big-ico{transform:scale(1.08) rotate(-3deg);color:var(--gold-2);}
.tile h3{font-size:24px;font-weight:800;margin-bottom:var(--s2);}
.tile p{color:var(--muted);margin-bottom:var(--s4);}
.tile{isolation:isolate;}
.gallery-main{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);padding:var(--s6) var(--s7);margin-bottom:var(--s7);}
.gallery-main h2{margin:0 0 6px;font-size:clamp(22px,2.6vw,30px);}
.gallery-main p{margin:0;color:var(--muted);}

/* About */
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s8);align-items:center;}
.portrait{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:var(--s7);border-radius:var(--r-lg);background:radial-gradient(closest-side, rgba(201,162,39,.16), transparent),linear-gradient(160deg, rgba(16,28,46,.9), rgba(7,11,18,.95));border:1px solid var(--gold-line);box-shadow:var(--shadow-lg);}
.portrait img{width:82%;filter:drop-shadow(0 24px 40px rgba(0,0,0,.6));}
.signoff{margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--gold-line);font:700 15px/1.5 var(--ff-b);color:var(--gold-2);letter-spacing:.02em;}
.embed-wrap{max-width:960px;margin:0 auto;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--s7);align-items:start;}
#form01{position:relative;padding:var(--s6);border-radius:var(--r-lg);background:linear-gradient(180deg, #F36A35, #E9521C);box-shadow:0 30px 60px -25px rgba(241,90,36,.55), var(--shadow-lg);color:#fff;}
#form01 .f-head{text-align:center;margin-bottom:var(--s5);}
#form01 .f-head h2{margin:0 0 6px;font:800 24px/1.2 var(--ff-h);color:#1a1a1a;letter-spacing:.04em;text-transform:uppercase;}
#form01 .f-head p{margin:0;font:700 15px/1.4 var(--ff-b);color:#1a1a1a;}
#form01 .grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);}
#form01 .field{display:flex;flex-direction:column;gap:6px;}
#form01 .field.full{grid-column:1/-1;}
#form01 label{font:700 12px/1.2 var(--ff-b);letter-spacing:.12em;text-transform:uppercase;color:#fff;}
#form01 input,#form01 select,#form01 textarea{width:100%;min-height:52px;padding:12px 14px;border-radius:12px;border:1px solid rgba(27,27,27,.18);background:#fff;color:#1b1b1b;font:500 16px/1.3 var(--ff-b);transition:border-color .2s, box-shadow .2s;-webkit-appearance:none;appearance:none;}
#form01 select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1b1b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat;padding-right:40px;}
#form01 textarea{min-height:110px;resize:vertical;}
#form01 input::placeholder,#form01 textarea::placeholder{color:#6b6b6b;}
#form01 input:focus,#form01 select:focus,#form01 textarea:focus{outline:none;border-color:#171717;box-shadow:0 0 0 3px rgba(23,23,23,.25);}
#form01 .actions{grid-column:1/-1;margin-top:var(--s3);}
#form01 button[type=submit]{width:100%;min-height:56px;border:0;border-radius:12px;background:#171717;color:#fff;font:800 17px/1 var(--ff-h);letter-spacing:.02em;cursor:pointer;transition:transform .2s var(--ease), background .2s;}
#form01 button[type=submit]:hover{background:#000;transform:translateY(-1px);}
#form01 button[disabled]{opacity:.7;cursor:progress;}
#form01 .privacy{margin:var(--s3) 0 0;text-align:center;font-size:12.5px;color:rgba(255,255,255,.92);}
#form01 .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.f-msg{display:none;margin-top:var(--s4);padding:var(--s4);border-radius:12px;font-weight:600;line-height:1.5;}
.f-msg.ok{display:block;background:#0f2a18;color:#c9f5d5;border:1px solid #2f8f4e;}
.f-msg.err{display:block;background:#2a0f0f;color:#ffd3cd;border:1px solid #b5503f;}
.contact-cards{display:grid;gap:var(--s4);}
.c-card{display:flex;align-items:center;gap:var(--s4);padding:var(--s5);}
.c-card .ico{display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;border-radius:14px;border:1px solid var(--gold-soft);background:rgba(201,162,39,.08);color:var(--gold-2);}
.c-card .ico svg{width:22px;height:22px;}
.c-card h3{margin:0 0 2px;font-size:16px;}
.c-card p{margin:0;color:var(--muted);font-size:15px;}
.c-card a{color:#fff;text-decoration:none;font-weight:700;}
.c-card a:hover{color:var(--gold-2);}

/* ---------- Footer ---------- */
.footer{position:relative;margin-top:var(--s9);padding:var(--s9) 0 var(--s6);background:linear-gradient(180deg, rgba(7,11,18,0), rgba(7,11,18,.9) 20%, #05080d);border-top:1px solid var(--gold-line);}
.f-grid{display:grid;grid-template-columns:1.3fr 1fr .8fr 1fr;gap:var(--s7);}
.f-brand img{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 0 1px rgba(255,236,170,.95)) drop-shadow(0 0 1px rgba(255,236,170,.8)) drop-shadow(0 0 10px rgba(230,198,92,.5)) drop-shadow(0 6px 14px rgba(0,0,0,.6));margin-bottom:var(--s4);}
.f-brand p{color:var(--muted);font-size:15px;}
.trust{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--gold-soft);background:rgba(201,162,39,.08);font:700 12.5px/1 var(--ff-b);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);}
.trust svg{width:14px;height:14px;}
.footer h4{font:700 12.5px/1 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-bottom:var(--s5);}
.footer address{font-style:normal;color:var(--text);line-height:1.9;font-size:15px;}
.footer address a{color:#fff;text-decoration:none;font-weight:600;}
.footer address a:hover{color:var(--gold-2);}
.footer .muted{color:var(--muted);font-size:14.5px;}
.f-links{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.f-links a{color:var(--muted);text-decoration:none;font-size:15px;transition:color .2s;}
.f-links a:hover{color:var(--gold-2);}
.f-bottom{padding-right:64px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s4);margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.07);font-size:13.5px;color:var(--dim);}
.f-bottom a{color:var(--gold-2);text-decoration:none;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px;}
/* Retro clock (existing look, placed in footer) */
#jnh-retro-clock{display:inline-block;padding:12px 16px;border-radius:12px;background:#0d0f13f0;border:1px solid #c9a227aa;box-shadow:0 4px 18px #000a;color:#ffe566;font-family:Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;text-align:center;}
#jnh-retro-clock .jnh-clock-title{font-size:10px;color:#f3e7b0;letter-spacing:.16em;margin-bottom:3px;text-shadow:0 1px 2px #000;}
#jnh-retro-clock .jnh-clock-time{font:700 22px 'Courier New',monospace;letter-spacing:.14em;color:#ffe566;text-shadow:0 0 8px rgba(255,229,102,.35),0 1px 2px #000;}
#jnh-retro-clock .jnh-clock-date{font:700 15px Arial,sans-serif;letter-spacing:.04em;color:#fff6b0;text-transform:none;margin-top:5px;text-shadow:0 1px 3px #000;}

/* ---------- Audio (existing hammer control) ---------- */
#jnh-unified-audio{position:fixed;inset:0;z-index:70;pointer-events:none;color:#f6edcf;font-family:Arial,sans-serif;}
#jnh-unified-audio .jnh-ua-anchor{position:fixed;right:18px;bottom:18px;pointer-events:auto;}
#jnh-unified-audio .jnh-ua-hammer{width:44px;height:44px;border-radius:50%;border:1px solid #d8ad44;background:#101217ee;color:#edc763;font-size:21px;cursor:pointer;box-shadow:0 3px 15px #0008;transition:transform .2s var(--ease);}
#jnh-unified-audio .jnh-ua-hammer:hover{transform:scale(1.06);}
body.menu-open #jnh-unified-audio{opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;}
#jnh-unified-audio .jnh-ua-panel{display:none;position:absolute;right:0;bottom:53px;width:205px;padding:12px;border:1px solid #80672d;border-radius:9px;background:#0d0f13f5;box-shadow:0 5px 22px #000b;font-size:11px;}
#jnh-unified-audio .jnh-ua-panel.open{display:block;}
#jnh-unified-audio .jnh-ua-panel b{display:block;margin-bottom:7px;color:#e8bd4a;letter-spacing:.1em;text-transform:uppercase;font-size:10px;}
#jnh-unified-audio .jnh-ua-tracks{display:flex;gap:4px;margin:-2px 0 8px;}
#jnh-unified-audio .jnh-ua-trk{flex:1;padding:5px 3px;border:1px solid #80672d;border-radius:4px;background:#161a22;color:#d8c98f;font:600 10px Arial;cursor:pointer;}
#jnh-unified-audio .jnh-ua-trk.on{background:#d5aa3d;color:#101217;}
#jnh-unified-audio .jnh-ua-row{display:grid;grid-template-columns:48px 1fr 34px;gap:5px;align-items:center;margin:7px 0;}
#jnh-unified-audio .jnh-ua-row input{width:100%;accent-color:#d5aa3d;}
#jnh-unified-audio .jnh-ua-row output{color:#f3df9e;text-align:right;}
#jnh-unified-audio .jnh-ua-note{margin-top:7px;color:#aaa;font-size:9px;}
#jnh-unified-audio .jnh-ua-audio{display:none;}

/* ---------- Sticky phone bar ---------- */
.sbar{display:none;}

/* ---------- Reveal ---------- */
html.js [data-reveal]{opacity:0;transform:translate3d(0,22px,0);transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:calc(var(--d,0) * 70ms);}
html.js [data-reveal].in{opacity:1;transform:none;}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .why{grid-template-columns:repeat(3, minmax(0,1fr));}
  .svc-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .ba-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .f-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:960px){
  :root{--nav-h:92px;}
  .links,.nav-cta{display:none;}
  .burger{display:block;}
  .hero .wrap,.detail,.about-grid,.contact-grid,.area{grid-template-columns:1fr;}
  .hero-mark{display:none;}
  .aside{position:static;}
  .others{grid-template-columns:1fr;}
}
@media (max-width:800px){
  body{font-size:16px;}
  .wrap{width:calc(100% - 2*var(--s4));}
  .section{padding:var(--s8) 0;}
  .section.tight{padding:var(--s7) 0;}
  .sec-head{margin-bottom:var(--s6);}
  .hero{min-height:auto;padding:var(--s8) 0 calc(var(--s8) + 30px);}
  .hero h1{font-size:clamp(36px, 10.5vw, 48px);}
  .hero-ctas .btn{flex:1 1 100%;}
  .scroll-cue{display:none;}
  .banner{padding:var(--s8) 0 var(--s7);}
  .gold-row{margin-top:-30px;}
  .gold-btns{grid-template-columns:1fr;padding:var(--s3);gap:10px;}
  .gold-btns a{min-height:56px;font-size:16px;}
  .why{grid-template-columns:1fr 1fr;}
  .why li:last-child{grid-column:1/-1;}
  .why li{padding:var(--s4);}
  .svc-grid,.svc-grid.lg,.steps,.tiles{grid-template-columns:1fr;}
  .ba-grid{grid-template-columns:1fr 1fr;gap:var(--s3);}
  .ba h3{font-size:15px;}
  .area{padding:var(--s6) var(--s5);gap:var(--s5);}
  .pill{min-height:48px;padding:0 var(--s5);font-size:15.5px;}
  .reviews,.mil-teaser,.gallery-main{flex-direction:column;align-items:flex-start;padding:var(--s6) var(--s5);}
  .reviews .btn,.mil-teaser .btn,.gallery-main .btn{width:100%;}
  .cta-band{padding:var(--s7) var(--s5);}
  .cta-band .row .btn{flex:1 1 100%;}
  #form01{padding:var(--s5) var(--s4);}
  #form01 .grid{grid-template-columns:1fr;}
  .f-grid{grid-template-columns:1fr;gap:var(--s6);}
  .footer{padding-bottom:calc(var(--s9) + 20px);}
  .sbar{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--s2);position:fixed;left:0;right:0;bottom:0;z-index:65;padding:var(--s2) var(--s3) calc(var(--s2) + env(safe-area-inset-bottom));background:rgba(7,11,18,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--gold-soft);box-shadow:0 -10px 30px rgba(0,0,0,.45);transition:transform .35s var(--ease);}
  .sbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:12px;font:700 15px/1 var(--ff-b);text-decoration:none;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:transform .15s var(--ease), filter .2s;}
  .sbar a:active{transform:scale(.96);}
  .sbar svg{width:18px;height:18px;}
  .sbar .call{background:linear-gradient(180deg, var(--gold-2), var(--gold));color:#15110a;}
  .sbar .text{background:rgba(255,255,255,.07);border:1px solid var(--gold-soft);color:#fff;}
  .sbar .est{background:var(--orange);color:#fff;}
  body.menu-open .sbar{transform:translateY(110%);}
  #jnh-unified-audio .jnh-ua-anchor{right:14px;bottom:calc(84px + env(safe-area-inset-bottom));}
  #jnh-unified-audio .jnh-ua-hammer{width:40px;height:40px;font-size:19px;}
  #jnh-weather-marker{font-size:14px;}
}
@media (max-width:380px){ .why{grid-template-columns:1fr;} .ba-grid{grid-template-columns:1fr;} }
@media (hover:none){ a.card:hover{transform:none;} }
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
  html.js [data-reveal]{opacity:1;transform:none;}
  .weld-point,.weld-spark{display:none;}
  .hero-bg{transform:none!important;}
}

/* ---------- Gallery tiles: rotating photo preview ---------- */
.tile.has-prev{display:grid;grid-template-columns:minmax(0,1fr) 40%;align-items:center;gap:var(--s5);justify-content:normal;}
.tile.has-prev .tile-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0;}
.tile.has-prev .big-ico{position:static;width:46px;height:46px;margin-bottom:var(--s3);flex:none;}
.tile.has-prev .link-arrow{margin-top:auto;}
.tile-prev{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r-sm);border:1px solid rgba(230,198,92,.45);background:linear-gradient(160deg, rgba(16,28,46,.9), rgba(7,11,18,.95));box-shadow:0 14px 30px -14px rgba(0,0,0,.75), 0 0 0 4px rgba(201,162,39,.06);transform:translateZ(0);transition:border-color .3s, box-shadow .35s var(--ease);}
.tile-prev::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);background:linear-gradient(180deg, transparent 60%, rgba(7,11,18,.35));}
.tile-prev img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transform:scale(1.02);transition:opacity 1.1s ease, transform 6.5s linear;will-change:opacity, transform;}
.tile-prev img.on{opacity:1;z-index:2;transform:scale(1.09);}
.tile-prev img.was{opacity:1;z-index:1;transform:scale(1.09);}
a.tile:hover .tile-prev, a.tile:focus-visible .tile-prev{border-color:var(--gold-2);box-shadow:0 18px 36px -14px rgba(0,0,0,.8), 0 0 0 4px rgba(201,162,39,.14);}
@media (max-width:1100px) and (min-width:801px){ .tile.has-prev{grid-template-columns:minmax(0,1fr) 42%;} }
@media (max-width:600px){
  .tile.has-prev{grid-template-columns:1fr;gap:var(--s4);padding:var(--s5);align-items:stretch;}
  .tile.has-prev .big-ico{position:absolute;right:var(--s5);top:var(--s5);width:44px;height:44px;margin:0;}
  .tile.has-prev .tile-body{padding-right:56px;}
  .tile-prev{aspect-ratio:16/10;}
}
@media (prefers-reduced-motion:reduce){ .tile-prev img{transition:none!important;transform:none!important;} }

/* ---------- Why JNH: photo cards, gold edge, glowing icons, staggered reveal ---------- */
.why .why-card{position:relative;overflow:hidden;isolation:isolate;background:var(--navy);border-color:rgba(201,162,39,.32);transition:border-color .3s, box-shadow .35s var(--ease);}
.why-card .why-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-width:none;object-fit:cover;opacity:.78;filter:saturate(.9);transform:scale(1.04);transition:opacity .5s, transform 1.2s var(--ease);}
.why-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg, rgba(7,11,18,.42) 0%, rgba(11,20,34,.70) 42%, rgba(7,11,18,.90) 78%, rgba(7,11,18,.94) 100%), radial-gradient(260px 160px at 20% 0%, rgba(201,162,39,.16), transparent 70%);}
.why-card::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:3;background:linear-gradient(90deg, transparent, var(--gold) 18%, var(--gold-2) 50%, var(--gold) 82%, transparent);opacity:.9;}
.why-card .ico,.why-card h3,.why-card p{position:relative;z-index:2;}
.why-card h3{text-shadow:0 1px 3px rgba(0,0,0,.7);}
.why-card p{color:rgba(244,241,234,.84);text-shadow:0 1px 2px rgba(0,0,0,.7);}
.why .why-card .ico{width:68px;height:68px;border-radius:16px;margin-bottom:var(--s4);border-color:rgba(230,198,92,.55);background:radial-gradient(circle at 50% 35%, rgba(230,198,92,.20), rgba(201,162,39,.07) 70%), rgba(7,11,18,.55);box-shadow:0 0 22px rgba(201,162,39,.30), inset 0 0 12px rgba(230,198,92,.12);}
.why .why-card .ico svg{width:33px;height:33px;filter:drop-shadow(0 0 5px rgba(230,198,92,.65));}
.why-shine{position:absolute;inset:-1px;z-index:1;pointer-events:none;background:linear-gradient(110deg, transparent 32%, rgba(255,226,150,.05) 40%, rgba(255,226,150,.24) 50%, rgba(255,226,150,.05) 60%, transparent 68%);transform:translateX(-135%);}
@media (hover:hover){
  .why-card:hover{border-color:var(--gold-soft);box-shadow:var(--shadow-lg);}
  .why-card:hover .why-bg{opacity:.92;transform:scale(1.09);}
  .why-card:hover .why-shine{transform:translateX(135%);transition:transform 1s var(--ease);}
}
/* staggered slide/fade-up as the row scrolls in */
html.js .why .why-card[data-reveal]{transform:translate3d(0,38px,0) scale(.97);transition:opacity .9s var(--ease), transform .9s var(--ease), border-color .3s, box-shadow .35s var(--ease);transition-delay:calc(var(--d,0) * 120ms);}
html.js .why .why-card[data-reveal].in{opacity:1;transform:none;}
/* icon pop + line draw-in on reveal */
.why-card.in .ico{animation:whyPop .75s var(--ease) both;animation-delay:calc(var(--d,0) * 120ms + .25s);}
.why-card.in .ico svg [pathLength]{stroke-dasharray:1 1.2;animation:whyDraw 1.1s ease-out both;animation-delay:calc(var(--d,0) * 120ms + .4s);}
@keyframes whyPop{0%{opacity:0;transform:scale(.55) rotate(-10deg);}60%{opacity:1;transform:scale(1.1) rotate(2deg);}100%{opacity:1;transform:none;}}
@keyframes whyDraw{from{stroke-dashoffset:1;}to{stroke-dashoffset:0;}}
@keyframes whyShine{from{transform:translateX(-135%);}to{transform:translateX(135%);}}
@media (hover:none){ .why-card.in .why-shine{animation:whyShine 1.3s ease-in-out both;animation-delay:calc(var(--d,0) * 120ms + .7s);} }
@media (max-width:800px){
  .why .why-card .ico{width:50px;height:50px;border-radius:13px;margin-bottom:10px;}
  .why .why-card .ico svg{width:25px;height:25px;}
}
@media (prefers-reduced-motion:reduce){
  html.js .why .why-card[data-reveal]{opacity:1;transform:none;transition:none;}
  .why-card .ico,.why-card .ico svg [pathLength],.why-card .why-shine{animation:none!important;}
  .why-card .ico svg [pathLength]{stroke-dasharray:none;}
  .why-card .why-bg{transition:none;}
}

/* ---------- Service area: Long Island map, town question, photo text, tip ---------- */
.area .town-ask{margin-top:var(--s5);}
.town-ask label{display:block;margin-bottom:var(--s2);font:700 15px/1.3 var(--ff-h);color:#fff;letter-spacing:.01em;}
.town-row{display:flex;gap:var(--s2);}
.town-row input{flex:1 1 auto;min-width:0;min-height:52px;padding:0 var(--s4);border-radius:12px;border:1px solid var(--gold-line);background:rgba(7,11,18,.6);color:var(--text);font:500 16px/1 var(--ff-b);transition:border-color .2s, box-shadow .2s;}
.town-row input::placeholder{color:var(--dim);}
.town-row input:focus{outline:none;border-color:var(--gold-2);box-shadow:0 0 0 3px rgba(201,162,39,.25);}
.town-row input[aria-invalid="true"]{border-color:var(--orange);}
.town-row .btn{flex:none;min-height:52px;white-space:nowrap;}
.town-row .btn svg{width:17px;height:17px;}
.area .town-help{margin:var(--s2) 0 0;font-size:14px;color:var(--dim);}
.area .town-help a{color:var(--gold-2);}
.area .photo-text{margin-top:var(--s4);color:#fff;white-space:normal;text-align:left;}
.area .photo-text svg{width:19px;height:19px;color:var(--gold-2);flex:none;}
.area .area-tip{display:flex;gap:10px;align-items:flex-start;margin-top:var(--s5);padding:var(--s3) var(--s4);border-left:2px solid var(--gold);border-radius:0 10px 10px 0;background:rgba(201,162,39,.07);font-size:14.5px;color:var(--muted);}
.area .area-tip svg{width:18px;height:18px;flex:none;margin-top:2px;color:var(--gold-2);}
.area .area-tip strong{color:var(--gold-2);font-weight:700;}
.area-map .li-map{display:block;width:100%;max-width:520px;height:auto;overflow:visible;}
.li-map .li-land{fill:url(#li-land);stroke:rgba(230,198,92,.38);stroke-width:1;stroke-linejoin:round;}
.li-map .li-water{font:600 14px/1 var(--ff-b);letter-spacing:.2em;text-transform:uppercase;fill:rgba(244,241,234,.30);}
.li-map .li-edge{fill:none;stroke:var(--gold-2);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.li-map .li-glow{fill:none;stroke:#E6C65C;stroke-width:7;stroke-linecap:round;opacity:.55;animation:liPulse 3.2s ease-in-out infinite;}
.li-map .li-south .li-glow{animation-delay:1.6s;}
.li-map .li-tag{font:800 17px/1 var(--ff-h);letter-spacing:.16em;fill:var(--gold-2);}
.li-map .li-pin-body{fill:var(--gold);stroke:#15110a;stroke-width:1;}
.li-map .li-pin-dot{fill:#0B1422;}
.li-map .li-ping{fill:none;stroke:var(--gold-2);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:liPing 2.4s ease-out infinite;}
.li-map .li-pin-label{font:800 21px/1 var(--ff-h);fill:#fff;paint-order:stroke;stroke:#0B1422;stroke-width:4px;stroke-linejoin:round;}
@keyframes liPulse{0%,100%{opacity:.25;}50%{opacity:.8;}}
@keyframes liPing{0%{opacity:.9;transform:scale(.6);}100%{opacity:0;transform:scale(3.2);}}
@media (max-width:600px){
  .town-row{flex-direction:column;}
  .town-row .btn{width:100%;}
  .area .photo-text{width:100%;justify-content:center;text-align:center;}
  .area-map{padding:var(--s5) var(--s3);}
  .li-map .li-tag{font-size:22px;}
  .li-map .li-pin-label{font-size:27px;}
  .li-map .li-water{font-size:17px;}
  .area .photo-text{padding:0 16px;}
}
@media (prefers-reduced-motion:reduce){
  .li-map .li-glow{animation:none;opacity:.55;}
  .li-map .li-ping{animation:none;opacity:0;}
}

/* ---------- Military salute: anthem / Marines' Hymn player (separate from the locked military card) ---------- */
.salute{max-width:920px;margin:0 auto var(--s4);display:grid;gap:var(--s3);justify-items:center;}
.salute-big{width:100%;max-width:520px;min-height:56px;font-size:16px;animation:saluteGlow 2.4s ease-in-out infinite;}
.salute-big svg{width:20px;height:20px;}
.salute-big[hidden]{display:none;}
@keyframes saluteGlow{0%,100%{box-shadow:0 10px 24px -10px rgba(201,162,39,.7), 0 0 0 0 rgba(230,198,92,.45);}50%{box-shadow:0 10px 24px -10px rgba(201,162,39,.7), 0 0 0 10px rgba(230,198,92,0);}}
.salute-bar{width:100%;display:flex;align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);border-radius:14px;border:1px solid var(--gold-soft);background:linear-gradient(180deg, rgba(16,28,46,.92), rgba(7,11,18,.92));box-shadow:var(--shadow);}
.salute-pp{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--gold-2);background:linear-gradient(180deg, var(--gold-2), var(--gold));color:#15110a;cursor:pointer;box-shadow:0 8px 20px -8px rgba(201,162,39,.75);transition:transform .15s var(--ease);}
.salute-pp:active{transform:scale(.94);}
.salute-pp svg{width:22px;height:22px;}
.salute-pp .i-pause,.salute-pp[aria-pressed="true"] .i-play{display:none;}
.salute-pp[aria-pressed="true"] .i-pause{display:block;}
.salute-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;}
.salute-k{font:700 11.5px/1.2 var(--ff-b);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);}
.salute-title{font:700 15.5px/1.3 var(--ff-h);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.salute-by{font-size:12.5px;color:var(--dim);}
.salute-vol{flex:none;display:flex;align-items:center;gap:8px;color:var(--gold-2);}
.salute-vol svg{width:20px;height:20px;}
.salute-vol input{width:110px;accent-color:var(--gold);}
.salute.is-playing .salute-bar{border-color:var(--gold-2);}
@media (max-width:600px){
  .salute-bar{flex-wrap:wrap;gap:var(--s3);}
  .salute-meta{flex:1 1 0;}
  .salute-big{font-size:15px;line-height:1.25;padding:10px 18px;text-align:center;}
  .salute-title{white-space:normal;}
  .salute-vol{width:100%;padding-left:60px;}
  .salute-vol input{flex:1 1 auto;width:auto;}
}
/* index teaser: jet pass effect */
.jet-streak{position:fixed;left:0;right:0;top:38%;height:3px;z-index:300;pointer-events:none;background:linear-gradient(90deg, transparent, rgba(230,198,92,.0) 20%, #E6C65C 70%, #fff 100%);box-shadow:0 0 18px 4px rgba(230,198,92,.55);transform:translateX(-110%);animation:jetStreak 1.35s cubic-bezier(.55,0,.25,1) forwards;}
.jet-flash{position:fixed;inset:0;z-index:299;pointer-events:none;background:radial-gradient(circle at 50% 40%, rgba(230,198,92,.28), transparent 60%);opacity:0;animation:jetFlash .7s ease-out 1.45s forwards;}
@keyframes jetStreak{to{transform:translateX(110%);}}
@keyframes jetFlash{0%{opacity:0;}25%{opacity:1;}100%{opacity:0;}}
main.jet-shake{animation:jetShake .42s cubic-bezier(.36,.07,.19,.97) 1.45s both;}
@keyframes jetShake{10%,90%{transform:translate3d(-1px,0,0);}20%,80%{transform:translate3d(3px,1px,0);}30%,50%,70%{transform:translate3d(-5px,-1px,0);}40%,60%{transform:translate3d(5px,1px,0);}100%{transform:none;}}
@media (prefers-reduced-motion:reduce){
  .salute-big{animation:none;}
  .jet-streak,.jet-flash{display:none;}
  main.jet-shake{animation:none;}
}

/* ---------- How it works: contact chips in step 1 ---------- */
.steps li{display:flex;flex-direction:column;}
.step-chips{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:var(--s2);margin-top:var(--s4);}
.steps .step-chips .chip{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 var(--s3);border-radius:999px;border:1px solid var(--gold-soft);background:rgba(201,162,39,.07);color:#fff;font:700 14px/1 var(--ff-b);white-space:nowrap;transition:background .2s, border-color .2s, transform .15s var(--ease);-webkit-tap-highlight-color:transparent;}
.steps .step-chips .chip svg{width:16px;height:16px;flex:none;color:var(--gold-2);}
.steps .step-chips .chip:hover,.steps .step-chips .chip:focus-visible{background:rgba(201,162,39,.16);border-color:var(--gold-2);}
.steps .step-chips .chip:active{transform:scale(.97);}
.steps .step-contact{margin-top:var(--s3);font-size:14px;color:var(--dim);line-height:1.6;}
.steps .step-contact a{font-weight:600;white-space:nowrap;}
