/* Law Offices of John Asuncion — shared stylesheet */
:root{
  --navy:#0A1424;--navy2:#111E33;--navy3:#18294A;
  --amber:#F0A23B;--amber-hi:#FFC56E;--amber-lo:#C97A16;--on-amber:#1B1203;
  --paper:#FFFFFF;--steel:#F1F4F8;--line:#DCE2EC;
  --text:#0F1828;--muted:#566275;--on-dark:#EEF2F8;--on-dark-mute:#A6B1C4;
  --display:"Barlow Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --body:"Barlow","Segoe UI",Helvetica,Arial,sans-serif;
  --maxw:1200px;--r:8px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);font-size:18px;line-height:1.6;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--amber-lo)}
a:hover{color:var(--navy)}
h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:.01em;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,6vw,4.2rem);text-transform:uppercase;font-weight:700}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem);text-transform:uppercase;font-weight:700}
h3{font-size:1.45rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.eyebrow{font-family:var(--display);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;color:var(--amber);display:flex;align-items:center;gap:.7em;margin-bottom:1rem}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--amber)}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}

/* top bar + header */
.topbar{background:var(--navy2);color:var(--on-dark-mute);font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar .wrap{display:flex;justify-content:space-between;gap:1rem;padding:8px 20px;flex-wrap:wrap}
.topbar a{color:var(--on-dark);text-decoration:none}
.site-header{background:var(--navy);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 20px}
.logo img{height:54px;width:auto}
.nav{display:none}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:1.6rem}
.nav a{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--on-dark);text-decoration:none;font-size:1rem}
.nav a:hover{color:var(--amber)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:1.05rem;padding:.8em 1.4em;border-radius:var(--r);text-decoration:none;border:2px solid transparent;cursor:pointer}
.btn-amber{background:var(--amber);color:var(--on-amber)}
.btn-amber:hover{background:var(--amber-hi);color:var(--on-amber)}
.btn-ghost{border-color:var(--amber);color:var(--paper)}
.btn-ghost:hover{background:rgba(240,162,59,.12);color:var(--paper)}
.call-short{padding:.6em 1em;font-size:.95rem;white-space:nowrap}
/* mobile menu */
.site-header .wrap{position:relative}
.menu-btn{display:inline-flex;align-items:center;gap:.5em;background:transparent;border:2px solid rgba(255,255,255,.25);color:var(--on-dark);border-radius:var(--r);padding:.55em .8em;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;cursor:pointer;margin-left:auto}
.menu-btn .bars,.menu-btn .bars::before,.menu-btn .bars::after{display:block;width:20px;height:2px;background:currentColor;position:relative;transition:transform .2s}
.menu-btn .bars::before,.menu-btn .bars::after{content:"";position:absolute;left:0}
.menu-btn .bars::before{top:-6px}.menu-btn .bars::after{top:6px}
.menu-btn[aria-expanded="true"] .bars{background:transparent}
.menu-btn[aria-expanded="true"] .bars::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .bars::after{transform:translateY(-6px) rotate(-45deg)}
.nav.open{display:block;position:absolute;left:0;right:0;top:100%;background:var(--navy);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 18px 30px rgba(0,0,0,.35)}
.nav.open ul{flex-direction:column;gap:0;padding:8px 20px 16px}
.nav.open li a{display:block;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1.1rem}

@media(min-width:1360px){.nav{display:block}.nav ul{gap:1rem}.nav a{font-size:.9rem;letter-spacing:.05em;white-space:nowrap}.logo img{height:50px}.menu-btn{display:none}.nav.open{position:static;box-shadow:none;border:0}.nav.open ul{flex-direction:row;padding:0}.nav.open li a{padding:0;border:0}}

/* hero */
.hero{background:radial-gradient(1200px 600px at 85% 20%,rgba(240,162,59,.14),transparent 60%),linear-gradient(160deg,var(--navy) 0%,var(--navy3) 100%);color:var(--on-dark);padding:64px 0 72px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}
.hero .wrap{position:relative;z-index:1;display:grid;gap:40px}
.hero h1{color:#fff}
.hero h1 span{color:var(--amber)}
.hero .lead{font-size:1.2rem;color:var(--on-dark);max-width:60ch}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.4rem}
.hero-card{background:var(--paper);color:var(--text);border-radius:var(--r);border-top:5px solid var(--amber);padding:26px;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.hero-card h2{font-size:1.6rem;margin-bottom:.3em}
.hero-card ul{margin:0;padding-left:1.1em}
.hero-card li{margin-bottom:.4em}
@media(min-width:980px){.hero .wrap{grid-template-columns:1.25fr .9fr;align-items:center}.hero{padding:96px 0 104px}}

/* proof strip */
.proof{background:var(--navy2);color:var(--on-dark)}
.proof ul{list-style:none;margin:0;padding:22px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.proof li{display:flex;flex-direction:column}
.proof b{font-family:var(--display);font-size:1.35rem;letter-spacing:.04em;color:var(--amber);text-transform:uppercase}
.proof span,.proof a{font-size:.95rem;color:var(--on-dark-mute)}
@media(min-width:880px){.proof ul{grid-template-columns:repeat(4,1fr)}}

/* sections */
.section{padding:72px 0}
.section.steel{background:var(--steel)}
.section.dark{background:var(--navy);color:var(--on-dark)}
.section.dark h2,.section.dark h3{color:#fff}
.section .intro{max-width:70ch;color:var(--muted);font-size:1.1rem}
.section.dark .intro{color:var(--on-dark-mute)}
.grid-3{display:grid;gap:22px}
@media(min-width:760px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.fact{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px;border-left:4px solid var(--amber)}
.fact h3{margin-bottom:.3em}
.fact p{margin:0;color:var(--muted)}
.svc-list{display:grid;gap:26px}
@media(min-width:900px){.svc-list{grid-template-columns:repeat(2,1fr);column-gap:48px}}
.svc{border-top:1px solid var(--line);padding-top:18px}
.svc h2,.svc h3{font-size:1.55rem;text-transform:none;margin-bottom:.35em}
.core{display:grid;gap:22px}
@media(min-width:900px){.core{grid-template-columns:repeat(2,1fr)}}
.core article{background:var(--paper);border-radius:var(--r);padding:26px;border:1px solid var(--line);box-shadow:0 6px 20px rgba(10,20,36,.06)}
.core h2{font-size:1.8rem}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:18px}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{counter-increment:s;background:var(--navy2);border-radius:var(--r);padding:22px;border:1px solid rgba(255,255,255,.08)}
.steps li::before{content:counter(s);font-family:var(--display);font-weight:700;font-size:2.2rem;color:var(--amber);display:block;line-height:1;margin-bottom:.3em}
.steps h3{font-size:1.25rem;color:#fff}
.steps p{color:var(--on-dark-mute);margin:0;font-size:1rem}
.faq h3{font-size:1.35rem;text-transform:none;margin-top:1.4em}
.faq p{max-width:75ch}
.areas p{max-width:80ch}
.reviews-box{background:var(--paper);border:1px dashed var(--line);border-radius:var(--r);padding:28px;text-align:center}

/* contact + form */
.contact-grid{display:grid;gap:36px}
@media(min-width:960px){.contact-grid{grid-template-columns:1fr 1fr}}
.form label{display:block;font-family:var(--display);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;margin:14px 0 6px}
.form input,.form textarea{width:100%;font:inherit;padding:.75em .9em;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.form textarea{min-height:110px}
.form button{margin-top:18px;width:100%}
.form .hp{position:absolute;left:-9999px}
.notice{font-size:.85rem;color:var(--muted);margin-top:12px}
.nap{font-style:normal;line-height:1.7}
.map iframe{width:100%;height:380px;border:0;border-radius:var(--r);display:block}

/* footer */
.site-footer{background:var(--navy);color:var(--on-dark-mute);font-size:.95rem;padding:56px 0 28px}
.site-footer a{color:var(--on-dark)}
.foot-grid{display:grid;gap:28px}
@media(min-width:700px){.foot-grid{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.foot-grid{grid-template-columns:1.3fr .9fr 1fr 1.1fr 1fr}}
.site-footer h2{font-size:1.2rem;color:#fff;letter-spacing:.08em}
.legal{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;font-size:.82rem}
.legal p{margin:0 0 .6em}

/* mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex}
.callbar a{flex:1;text-align:center;padding:14px;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}
.callbar .c1{background:var(--amber);color:var(--on-amber)}
.callbar .c2{background:var(--navy3);color:#fff}
@media(min-width:980px){.callbar{display:none}}
@media(max-width:979px){body{padding-bottom:52px}}
.crumbs{font-size:.9rem;color:var(--on-dark-mute);margin-bottom:1rem}
.crumbs a{color:var(--on-dark)}
.section ul{padding-left:1.2em}

.hero.has-photo .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.28;z-index:0}
.hero.has-photo{background:linear-gradient(100deg,var(--navy) 35%,rgba(10,20,36,.75) 100%)}
.hero.has-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,20,36,.92) 30%,rgba(10,20,36,.55) 100%);z-index:0}
.office-photo{margin:0 0 1.4rem;max-width:600px}
.office-photo img{border-radius:var(--r)}
.office-photo figcaption{font-size:.9rem;color:var(--muted);margin-top:.5rem}
@media(min-width:960px){.office-photo{float:right;width:44%;margin:0 0 1rem 2rem}}

/* hero form */
.hero-points{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.45em;color:var(--on-dark)}
.hero-points li{padding-left:1.5em;position:relative}
.hero-points li::before{content:"";position:absolute;left:0;top:.45em;width:.7em;height:.7em;background:var(--amber);border-radius:2px}
.hero-form{padding:22px 24px}
.hero-form h2{margin-bottom:.15em}
.hero-form .small{margin:0 0 .4em;font-size:.95rem}
.hero-form label{margin:10px 0 4px}
.hero-form input,.hero-form select{width:100%;font:inherit;padding:.6em .8em;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.hero-form button{margin-top:14px}
.hero-form .notice{font-size:.78rem;margin:.8em 0 0;color:var(--muted,#555)}

/* city pages */
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:1rem 0}
@media(min-width:900px){.facts{grid-template-columns:repeat(5,1fr)}}
.facts .fact{background:var(--steel);border-left:4px solid var(--amber);border-radius:var(--r);padding:16px}
.facts .fact strong{display:block;font-family:var(--display);font-size:1.7rem;color:var(--navy)}
.facts .fact span{font-size:.92rem;color:var(--muted)}
.source{font-size:.85rem;color:var(--muted)}
.table{border-collapse:collapse;margin:1rem 0;min-width:280px}
.table caption{text-align:left;font-size:.9rem;color:var(--muted);margin-bottom:.4em;caption-side:top}
.table th,.table td{border-bottom:1px solid var(--line);padding:.5em 1.2em .5em 0;text-align:left}

.city-list{list-style:none;padding:0;margin:.5rem 0 0}
.city-list li{margin-bottom:.55em}
.city-list .small{font-size:.88rem;color:var(--muted)}

/* topic pages */
.costbox{background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--amber);border-radius:var(--r);padding:24px 26px;max-width:760px}
.costbox h2{margin-bottom:.4em}
.costbox ul{margin:0 0 .6em;padding-left:1.1em}
.in-section{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5em 2rem}
@media(min-width:800px){.in-section{grid-template-columns:repeat(2,1fr)}}
.in-section li{padding-left:1.2em;position:relative}
.in-section li::before{content:"";position:absolute;left:0;top:.6em;width:.5em;height:.5em;background:var(--amber);border-radius:2px}
.in-section li[aria-current]{font-weight:700;color:var(--muted)}
.byline{padding-bottom:28px}
.byline p{font-size:.88rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin:0}
.stats{display:grid;grid-template-columns:1fr;gap:14px;margin:1.2rem 0}
@media(min-width:760px){.stats{grid-template-columns:repeat(3,1fr)}}
.stats .stat{background:var(--steel);border-left:4px solid var(--amber);border-radius:var(--r);padding:16px 18px}
.stats .stat strong{display:block;font-family:var(--display);font-size:1.9rem;color:var(--navy);line-height:1.1}
.stats .stat span{font-size:.93rem;color:var(--muted)}
.table-wrap{overflow-x:auto;margin:1rem 0}
.table-wrap .table{width:100%}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.in-section.one{grid-template-columns:1fr !important}
.sitemap-grid h3{margin-top:0}

.card-link{display:block;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.card-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,24,40,.12)}
.card-link h3{color:var(--navy)}
.card-link .more{display:inline-block;margin-top:.6em;font-weight:700;color:#9A5B0C}
.grid-4{display:grid;gap:16px}
@media(min-width:700px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.check-grid{list-style:none;padding:0;display:grid;gap:10px 28px;margin:1rem 0 1.2rem}
@media(min-width:800px){.check-grid{grid-template-columns:repeat(3,1fr)}}
.check-grid li{padding-left:1.6em;position:relative}
.check-grid li::before{content:"";position:absolute;left:0;top:.35em;width:1em;height:1em;border:2px solid var(--amber);border-radius:3px}
.stats.four{grid-template-columns:1fr}
@media(min-width:700px){.stats.four{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.stats.four{grid-template-columns:repeat(4,1fr)}}

.section.cost-wrap{padding:40px 0;background:transparent}

/* header: keep one line */
.site-header .wrap{flex-wrap:nowrap}
.logo{flex:0 0 auto}
@media(max-width:699px){.topbar .tb-addr{display:none}.topbar .wrap{justify-content:center;text-align:center}}
/* tables stack into cards on small screens */
@media(max-width:700px){
 .table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .table,.table tbody,.table tr,.table td,.table th{display:block;width:100%}
 .table tr{border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;margin-bottom:12px;background:var(--paper)}
 .table td,.table tbody th{border:0;padding:4px 0;text-align:left}
 .table td[data-label]::before{content:attr(data-label);display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--muted)}
 .table caption{display:block}
}

/* mobile header: hamburger only, call button lives in the bottom bar */
.menu-btn{border:0;padding:12px 10px;background:transparent}
.menu-btn .bars,.menu-btn .bars::before,.menu-btn .bars::after{width:26px;height:3px;border-radius:2px}
.menu-btn .bars::before{top:-8px}.menu-btn .bars::after{top:8px}
.menu-btn[aria-expanded="true"] .bars::before{transform:translateY(8px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .bars::after{transform:translateY(-8px) rotate(-45deg)}
@media(max-width:979px){.site-header .call-short{display:none}}
@media(max-width:1359px){.nav.open{max-height:calc(100vh - 170px);overflow-y:auto}}
