/* Morgan Law Group — site styles */
:root{
  --navy:#0f2747; --navy-2:#13315c; --blue:#1f5fa8; --blue-dark:#174a85;
  --gold:#c9a24f; --gold-dark:#8a6a24; --gold-light:#e8d5a6;
  --cream:#f3f6fa; --cream-2:#e6edf5; --white:#fff;
  --ink:#1a2230; --muted:#4f5b6b; --line:#d5deea;
  --error:#a3261b; --ok:#1f6b3f;
  --serif:"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --radius:10px; --shadow:0 6px 24px rgba(15,39,71,.10);
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;color:var(--ink);background:var(--cream)}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue)}
a:hover{color:var(--blue-dark)}
a:hover{color:var(--gold-dark)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--navy);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.5vw,3.1rem)}
h2{font-size:clamp(1.6rem,3vw,2.2rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.container{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.narrow{max-width:760px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--navy);padding:.6rem 1rem;z-index:100;font-weight:700}
.skip-link:focus{left:1rem;top:1rem}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.site-header :focus-visible,.site-footer :focus-visible,.on-dark :focus-visible,.cta-band :focus-visible{outline-color:var(--gold)}
.placeholder{background:#fff3c4;border:1px dashed var(--gold-dark);border-radius:4px;padding:0 .3em;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;color:#5c4510;white-space:normal;overflow-wrap:anywhere}
.on-dark .placeholder,.site-footer .placeholder{background:rgba(201,162,79,.18);color:var(--gold-light);border-color:var(--gold)}

/* Header */
.site-header{background:var(--navy);color:var(--white);position:sticky;top:0;z-index:50;border-bottom:3px solid var(--gold)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.brand{display:flex;align-items:center;gap:.75rem;color:var(--white);text-decoration:none}
.brand img{width:48px;height:48px}
.brand-name{font-family:var(--serif);font-size:1.3rem;font-weight:700;letter-spacing:.01em;line-height:1.1}
.brand-tag{display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.brand:hover{color:var(--white)}
.nav-toggle{display:none;background:none;border:2px solid var(--gold);color:var(--gold);border-radius:6px;padding:.45rem .7rem;font:600 .95rem var(--sans);cursor:pointer;align-items:center;gap:.5rem}
.nav-toggle .bars{display:inline-block;width:18px;height:2px;background:currentColor;position:relative}
.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}
.nav-toggle .bars::before{top:-6px}.nav-toggle .bars::after{top:6px}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.25rem}
.site-nav a{display:block;color:var(--white);text-decoration:none;padding:.5rem .75rem;border-radius:6px;font-weight:500}
.site-nav a:hover{background:var(--navy-2);color:var(--gold-light)}
.site-nav a[aria-current="page"]{color:var(--gold)}
.site-nav a.nav-cta{background:var(--gold);color:var(--navy);font-weight:700;margin-left:.5rem}
.site-nav a.nav-cta:hover{background:var(--gold-light);color:var(--navy)}

@media (max-width:900px){
  .nav-toggle{display:inline-flex}
  .site-nav{position:absolute;left:0;right:0;top:100%;background:var(--navy);border-bottom:3px solid var(--gold);display:none}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;align-items:stretch;padding:.5rem 1.25rem 1rem;gap:0}
  .site-nav a{padding:.8rem .5rem;border-bottom:1px solid var(--navy-2);border-radius:0}
  .site-nav a.nav-cta{margin:.75rem 0 0;text-align:center;border-radius:6px;border:0}
  .no-js .site-nav{display:block;position:static}
}

/* Buttons */
.btn{display:inline-block;font:700 1.02rem var(--sans);text-decoration:none;padding:.85rem 1.4rem;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s;text-align:center}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-light);color:var(--navy)}
.btn-outline{border-color:var(--gold);color:var(--white);background:transparent}
.btn-outline:hover{background:rgba(201,162,79,.15);color:var(--white)}
.btn-green{background:var(--blue);color:var(--white)}
.btn-green:hover{background:var(--blue-dark);color:var(--white)}
.btn[disabled]{opacity:.6;cursor:wait}

/* Hero */
.hero{background:radial-gradient(ellipse at 85% 20%,rgba(201,162,79,.16),transparent 55%),linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--white);padding:5rem 0 4.5rem}
.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:center}
.hero h1{color:var(--white)}
.hero h1 .accent{color:var(--gold)}
.hero .lead{font-size:1.2rem;color:#e6edf6;max-width:38rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.hero-mark{justify-self:center;width:min(300px,80%);filter:drop-shadow(0 12px 30px rgba(0,0,0,.35))}
.hero-note{margin-top:1.25rem;font-size:.92rem;color:#c7d3e3}
@media (max-width:820px){.hero{padding:3.25rem 0}.hero-grid{grid-template-columns:1fr}.hero-mark{display:none}}

.page-hero{background:linear-gradient(160deg,var(--navy),var(--navy-2));color:var(--white);padding:3.25rem 0 2.75rem}
.page-hero h1{color:var(--white);margin-bottom:.3em}
.page-hero p{color:#dbe4f0;font-size:1.12rem;margin:0;max-width:44rem}
.eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:.6rem}

/* Sections */
.section{padding:4rem 0}
.section-alt{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{max-width:46rem;margin-bottom:2rem}
.section-head p{color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.grid-2 > .card:last-child:nth-child(odd){grid-column:1/-1}
/* Home practice-area grid: 4+3 on desktop so seven cards look intentional */
.grid-areas{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem}
.grid-areas > .card{grid-column:span 3}
.grid-areas > .card:nth-child(n+5){grid-column:span 4}
@media (max-width:1100px){
  .grid-areas > .card,.grid-areas > .card:nth-child(n+5){grid-column:span 4}
}
@media (max-width:900px){
  .grid-3{grid-template-columns:1fr 1fr}
  .grid-areas > .card,.grid-areas > .card:nth-child(n+5){grid-column:span 6}
}
@media (max-width:640px){
  .grid-3,.grid-2{grid-template-columns:1fr}
  .grid-areas > .card,.grid-areas > .card:nth-child(n+5){grid-column:span 12}
  .section{padding:3rem 0}
}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
.section-alt .card{background:var(--cream)}
.card h3{margin-bottom:.4em}
.card p:last-child{margin-bottom:0}
.icon{width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;margin-bottom:1rem}
.icon svg{width:24px;height:24px}
.steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.steps li{position:relative;padding:1.5rem 1.5rem 1.5rem 4.4rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.steps li::before{counter-increment:step;content:counter(step);position:absolute;left:1.25rem;top:1.35rem;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--gold);color:var(--navy);font:700 1.1rem var(--serif);display:grid;place-items:center}
.steps h3{font-size:1.12rem;margin-bottom:.3em}
.steps p{margin:0;color:var(--muted);font-size:.98rem}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
.cta-band{background:var(--navy);color:var(--white);padding:3rem 0;border-top:3px solid var(--gold)}
.cta-band .container{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}
.cta-band h2{color:var(--white);margin:0 0 .25em}
.cta-band p{margin:0;color:#d3deeb}
.checklist{list-style:none;padding:0;margin:0 0 1em}
.checklist li{position:relative;padding-left:1.8rem;margin-bottom:.55rem}
.checklist li::before{content:"";position:absolute;left:.15rem;top:.5em;width:.75rem;height:.4rem;border-left:3px solid var(--gold-dark);border-bottom:3px solid var(--gold-dark);transform:rotate(-45deg)}
.about-grid{display:grid;grid-template-columns:280px 1fr;gap:2.5rem;align-items:start}
.photo-ph{aspect-ratio:4/5;border-radius:var(--radius);background:repeating-linear-gradient(45deg,var(--cream-2),var(--cream-2) 12px,var(--cream) 12px,var(--cream) 24px);border:2px dashed var(--gold);display:grid;place-items:center;text-align:center;color:var(--muted);font-size:.95rem;padding:1rem}
@media (max-width:760px){.about-grid{grid-template-columns:1fr}.photo-ph{max-width:260px}}
.notice{background:var(--cream-2);border-left:4px solid var(--gold);padding:1rem 1.2rem;border-radius:0 8px 8px 0;font-size:.97rem}
.notice p:last-child{margin:0}
.confirm-tag{display:inline-block;font:700 .72rem var(--sans);letter-spacing:.06em;background:#fff3c4;color:#5c4510;border:1px dashed var(--gold-dark);border-radius:4px;padding:.1rem .4rem;vertical-align:middle;margin-left:.35rem}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{display:flex;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.contact-list li:last-child{border-bottom:0}
.contact-list strong{display:block;font-family:var(--serif);color:var(--navy)}
.contact-list a,.site-footer li,a[href^="mailto:"]{overflow-wrap:anywhere;word-break:break-word}
.site-footer a[href^="mailto:"]{font-size:.88em;display:inline-block;max-width:100%}

/* Form */
.form-layout{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:start}
@media (max-width:900px){.form-layout{grid-template-columns:1fr}}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
@media (max-width:520px){.form-card{padding:1.25rem}}
.form-card fieldset{border:0;padding:0;margin:0 0 1.5rem}
.form-card legend{font-family:var(--serif);font-size:1.25rem;color:var(--navy);font-weight:700;padding:0;margin-bottom:.9rem;border-bottom:2px solid var(--gold-light);width:100%;padding-bottom:.35rem}
.field{margin-bottom:1.1rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:600px){.field-row{grid-template-columns:1fr}}
label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--navy)}
.req{color:var(--error);margin-left:.15rem}
.optional{font-weight:400;color:var(--muted);font-size:.9em}
.hint{display:block;font-size:.88rem;color:var(--muted);margin-top:.3rem}
input[type=text],input[type=tel],input[type=email],input[type=date],select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1.5px solid #7a8ca5;border-radius:8px;padding:.7rem .8rem;min-height:48px}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:3px solid rgba(31,95,168,.35);outline-offset:0}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--error);background:#fff7f6}
.error-msg{display:none;color:var(--error);font-size:.9rem;font-weight:600;margin-top:.35rem}
.field.has-error .error-msg{display:block}
.check{display:flex;gap:.75rem;align-items:flex-start;background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:1rem}
.check input{width:22px;height:22px;margin:.15rem 0 0;flex:0 0 auto;accent-color:var(--navy)}
.check label{font-weight:500;color:var(--ink);margin:0;font-size:.97rem}
.field.has-error .check{border-color:var(--error);background:#fff7f6}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-summary{display:none;background:#fff7f6;border:1.5px solid var(--error);color:var(--error);border-radius:8px;padding:.9rem 1rem;margin-bottom:1.25rem;font-weight:600}
.form-summary.show{display:block}
.form-summary ul{margin:.4rem 0 0;padding-left:1.2rem;font-weight:500}
.form-summary a{color:var(--error)}
.form-status{margin-top:1rem;font-weight:600}
.form-status.error{color:var(--error)}
.thankyou{display:none;text-align:center;padding:2.5rem 1.5rem}
.thankyou.show{display:block}
.thankyou .check-circle{width:72px;height:72px;margin:0 auto 1rem;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center}
.preview-banner{background:#fff3c4;border:1.5px dashed var(--gold-dark);color:#5c4510;border-radius:8px;padding:.9rem 1rem;margin:0 0 1.25rem;text-align:left;font-size:.95rem}
.sidebar .card{margin-bottom:1.25rem}
.sidebar h3{font-size:1.1rem}
.sidebar p,.sidebar li{font-size:.95rem}

/* Footer */
.site-footer{background:var(--navy);color:#cdd8e6;padding:3rem 0 1.5rem;border-top:4px solid var(--gold);font-size:.95rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr}}
.site-footer h2{color:var(--gold);font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;font-family:var(--sans);margin-bottom:.75rem}
.site-footer a{color:#e6edf6}
.site-footer a:hover{color:var(--gold)}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:.4rem}
.footer-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}
.footer-brand img{width:52px;height:52px}
.footer-brand span{font-family:var(--serif);font-size:1.25rem;color:var(--white);font-weight:700}
.ad-label{display:inline-block;border:1.5px solid var(--gold);color:var(--gold);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:.2rem .6rem;border-radius:4px;margin-bottom:.9rem}
.disclosures{margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid #2a4a78;font-size:.9rem;color:#b4c3d6}
.disclosures p{margin:0 0 .6rem}
.disclosures .required-statement{color:#eef3f9;font-weight:600}
.copyright{margin-top:1rem;font-size:.85rem;color:#9fb1c8}

/* Small screens: keep the brand on one line */
@media (max-width:520px){
  .header-inner{min-height:64px}
  .brand{gap:.55rem}
  .brand img{width:40px;height:40px}
  .brand-name{font-size:1.08rem;white-space:nowrap}
  .brand-tag{font-size:.6rem;letter-spacing:.08em}
  .nav-toggle{padding:.4rem .6rem;font-size:.9rem}
}
@media (max-width:350px){.brand-tag{display:none}}
/* Keep focused/linked targets clear of the sticky header */
.form-summary,.field input,.field select,.field textarea,#privacy,.thankyou{scroll-margin-top:100px}

.headshot{width:100%;max-width:360px;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:4px solid #c9a24f;box-shadow:0 8px 24px rgba(15,39,71,.18);display:block}
@media (max-width:760px){.headshot{max-width:260px;margin-inline:auto}}

.how-i-work p{margin:0 0 1rem}
.how-i-work p:last-child{margin-bottom:0}
.referral-note{font-size:.9rem;font-style:italic;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-top:.25rem!important;line-height:1.55}
.how-i-work-wrap .section-head h2{max-width:42rem}
/* Mass torts */
.mass-torts{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line);scroll-margin-top:100px}
.mass-torts .grid-3 h3{margin-top:.2rem}
.mt-note{margin-top:1.5rem!important;font-size:1rem;font-style:normal;color:var(--ink);border-top:0;border-left:4px solid var(--gold);background:var(--white);padding:.9rem 1.1rem;border-radius:6px}
.mass-torts-mini{margin-top:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.mass-torts-mini > div{flex:1 1 22rem}
.mass-torts-mini p{margin-bottom:.5rem}
.mt-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.mt-list li{background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:.3rem .85rem;font-size:.92rem;font-weight:600}
@media (max-width:640px){.mass-torts-mini .btn{width:100%;text-align:center}}
/* Call / text */
.call-text{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.2rem}
.call-text-light .btn-outline{color:var(--navy);border-color:var(--blue)}
.call-text-light .btn-outline:hover{background:#e6eef8;color:var(--navy)}
.sticky-call{display:none}
@media (max-width:760px){
  .sticky-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy);border-top:3px solid var(--gold);padding:.5rem;gap:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}
  .sticky-call a{flex:1;text-align:center;font:700 1.05rem var(--sans);padding:.75rem;border-radius:8px;text-decoration:none;background:var(--gold);color:var(--navy)}
  .sticky-call a+a{background:transparent;color:var(--white);border:2px solid var(--gold)}
  .sticky-call a:focus-visible{outline:3px solid var(--white);outline-offset:2px}
  body{padding-bottom:4.5rem}
}
.hero-note a{color:var(--gold-light)}.hero-note a:hover{color:var(--white)}

/* Home hero headshot (full-bleed, fades into navy) */
.hero{position:relative;overflow:hidden}
.hero .container>div{position:relative;z-index:1}
.hero-grid{grid-template-columns:1.1fr 1fr}
.hero-photo{position:absolute;right:0;top:0;height:100%;width:46%;object-fit:cover;object-position:50% 25%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 30%);mask-image:linear-gradient(to right,transparent 0,#000 30%)}
@media (max-width:820px){
  .hero{padding-top:320px}
  .hero-grid{grid-template-columns:1fr}
  .hero-photo{width:100%;height:330px;object-position:50% 22%;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}
}
