/* Prudentia Law — static rebuild, fidelity pass 2026-07-11
   Matches live www.prudentialaw.com design. Tokens from Elementor CSS in server backup.
   G-approved deviation: body gray #7A7A7A (was #A1A1A1, 2.58:1 AA failure); layout otherwise faithful. */

@font-face{font-family:'Cinzel';src:url('../fonts/Cinzel-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Cinzel';src:url('../fonts/Cinzel-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Cinzel';src:url('../fonts/Cinzel-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Hind Madurai';src:url('../fonts/HindMadurai-Regular.woff2') format('woff2');font-weight:400;font-display:swap}

:root{
  --blue:#1F5D96;
  --navy:#324A5E;
  --gold:#CC8800;
  --dark:#303030;
  --ink:#333333;
  --body:#767676;         /* live uses #A1A1A1; 4.54:1 AA-passing (a11y audit 2026-07-12) */
  --office:#37535F;
  --gray-bg:#F5F5F5;
  --line:#E3E3E3;
  --nl-bg:#EFEFEF;        /* footer newsletter band */
  --offices-bg:#E2EBF3;   /* footer offices band */
  --navband-bg:#D8E0E8;   /* footer nav band */
  --serif:'Cinzel', Georgia, serif;
  --sans:'Montserrat', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --hind:'Hind Madurai', var(--sans);
  --maxw:1140px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-size:17px;line-height:25px;color:var(--body);background:#fff}
img,video{max-width:100%;height:auto}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.skip-link{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:10px 16px;z-index:300}
.skip-link:focus{left:8px;top:8px}
p{text-align:justify}

/* ============ Header (black bar, hidden until scroll — matches live) ============ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;transition:background .3s ease}
.site-header.scrolled{background:rgba(10,14,18,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
@supports not (backdrop-filter:blur(12px)){.site-header.scrolled{background:rgba(0,0,0,.85)}}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;max-width:1280px}
.brand img{width:205px;height:auto;display:block;filter:drop-shadow(0 1px 8px rgba(0,0,0,.5))}
@media (min-width:821px){
  .site-header .wrap{min-height:112px;transition:min-height .3s ease}
  .brand img{width:266px;transition:width .3s ease}
  .site-header.scrolled .wrap{min-height:84px}
  .site-header.scrolled .brand img{width:200px}
}
.site-nav{display:flex;align-items:center;gap:34px}
.site-nav a{font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:1.4px;text-transform:uppercase;color:#fff;padding:8px 0;position:relative}
.site-nav a:hover{color:#F0C87A;text-decoration:none}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--gold);transition:right .15s ease}
.site-nav a:hover::after{right:0}
.site-nav a[aria-current="page"]::after{right:0;background:#fff}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.4);color:#fff;font-size:22px;line-height:1;padding:8px 12px;border-radius:3px;cursor:pointer}

/* ============ Home hero (full-height video + rotating slogans) ============ */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:#808080;overflow:hidden}
.hero video,.hero .hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero video{opacity:1;transition:opacity 1.2s ease}
.hero video.incoming{opacity:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(16,28,40,.55) 0%, rgba(16,28,40,.35) 45%, rgba(10,18,26,.65) 100%)}
.hero-inner{position:relative;z-index:2;text-align:center;padding:0 24px;width:100%}
.slogans{position:relative;height:80px}
.slogans .slogan{position:absolute;left:0;right:0;top:0;font-family:var(--serif);font-size:clamp(34px,5.5vw,62px);line-height:1.08;font-weight:400;letter-spacing:.6px;text-transform:uppercase;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25);opacity:0;transform:translateY(14px);transition:opacity .6s ease-out,transform .6s ease-out}
.slogans .slogan.active{opacity:1;transform:translateY(0)}
.hero-sub{text-align:center;font-family:var(--hind);font-size:17px;line-height:1.7;letter-spacing:1.5px;text-transform:uppercase;color:#E8EDF2;max-width:720px;margin:30px auto 0}
.hero-actions{margin-top:36px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:14px 30px;border-radius:2px;transition:background .2s,border-color .2s,color .2s}
.btn-gold{background:var(--gold);color:#141414}
.btn-gold:hover{background:#B87A00;text-decoration:none;color:#141414}
.btn-ghost{border:1px solid rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{border-color:var(--gold);color:#F0C87A;text-decoration:none}
.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;opacity:.8;transition:opacity .5s}
.scroll-cue.gone{opacity:0}
.scroll-cue span{display:block;width:14px;height:14px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg);animation:bob 2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:rotate(45deg) translate(0,0)}50%{transform:rotate(45deg) translate(5px,5px)}}
.hero-strip{background:linear-gradient(180deg,#0F1B26,#1A2833);border-top:1px solid var(--gold);color:#E8EDF2;text-align:center;padding:24px;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase}

/* ============ Interior page hero (photo + title + optional intro) ============ */
.page-hero{position:relative;min-height:410px;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;text-align:center}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(16,28,40,.6) 0%, rgba(16,28,40,.4) 55%, rgba(10,18,26,.62) 100%)}
.page-hero.art::after{background:none}
.page-hero .ph-inner{position:relative;z-index:2;padding:60px 24px;max-width:960px}
@media (min-width:821px){.page-hero .ph-inner{padding-top:136px}} /* clear the taller 112px at-top header (QC 2026-07-12) */
.page-hero h1{font-family:var(--serif);font-size:60px;line-height:65px;font-weight:400;letter-spacing:.6px;text-transform:uppercase;color:#fff;text-shadow:0 2px 3px rgba(0,0,0,.4)}
.page-hero .ph-intro{color:#fff;font-size:17px;line-height:1.6;margin-top:24px;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.hero-about{background-image:url('../img/about-compass.webp');background-position:center 38%}
.hero-team{background-image:url('../img/team-rowing.webp')}
.hero-contact{background-image:url('../img/bg_03_op.webp');min-height:600px;padding-top:60px}
.hero-services{background-image:url('../img/services-columns.webp');background-position:center 45%}

/* ============ Sections & headings ============ */
.section{padding:70px 0}
.section.gray{background:var(--gray-bg)}
.h-section{font-family:var(--sans);font-weight:500;color:var(--navy);font-size:28px;line-height:1.3;letter-spacing:5px;text-transform:uppercase}
.h-section.big{font-size:40px;font-weight:600}
.center{text-align:center}
.center p{text-align:center;max-width:820px;margin-left:auto;margin-right:auto;text-wrap:pretty}
.center p + p{margin-top:1em}
.double-rule{display:block;width:110px;height:6px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);margin:16px 0 0}
.center .double-rule{margin-left:auto;margin-right:auto}
.lede{font-style:italic;color:var(--body);font-size:17px;margin-top:24px}
.hairline{border:0;border-top:1px solid #A9BFD1;margin:56px 0 0}

/* Home welcome */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:44px;text-align:left}
.center .two-col p{text-align:justify}
.two-col h3{font-family:var(--sans);font-size:18px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--dark);margin-bottom:16px}

/* ============ Accordions (minimal hairline style, matches live) ============ */
.acc{border-bottom:1px solid var(--line);scroll-margin-top:104px}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 2px;font-size:15.5px;font-weight:600;color:var(--ink)}
.acc summary:hover{color:var(--navy)}
.acc[open] summary{color:var(--navy)}
.acc[open] summary::after{border-color:var(--gold)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";width:9px;height:9px;border-right:1.5px solid #7E7E7E;border-bottom:1.5px solid #7E7E7E;transform:rotate(45deg);transition:transform .2s;flex-shrink:0;margin-right:6px}
.acc[open] summary::after{transform:rotate(225deg)}
.acc .acc-body{padding:2px 2px 24px}
.acc .acc-body p + p{margin-top:1em}
.acc .acc-body a{font-weight:600}
.link-action{font-size:14px;font-weight:600 !important;letter-spacing:1.5px;text-transform:uppercase;color:#8A5C00 !important;display:inline-flex;align-items:center;gap:8px}
.link-action .arr{transition:transform .18s ease;font-size:15px}
.link-action:hover{text-decoration:none;color:var(--gold) !important}
.link-action:hover .arr{transform:translateX(5px)}
.num-acc .acc summary{font-family:var(--serif);font-size:20px;font-weight:600;padding:24px 2px}
.acc-num{color:#8A5C00;/* text-gold on light, AA (QC 2026-07-12) */font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:1px;margin-right:18px;vertical-align:2px}
.acc-title{display:flex;align-items:baseline}
/* Practice-area lede: Montserrat semibold in ink — a bold intro sentence, not a second serif heading (design pass 2026-07-12) */
.acc .acc-body .acc-lede{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.55;color:var(--ink);text-align:left;max-width:75ch}
/* Scope list: hairline-rule reference footer, left-set so the dot separators don't get justified apart */
.acc .acc-body .acc-scope{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;line-height:1.8;text-align:left;color:var(--body)}
/* "We advise on" as a house micro-label: letterspaced caps in text-gold, matching .link-action / .acc-num */
.acc .acc-body .acc-scope strong{display:block;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#8A5C00;margin-bottom:6px}

/* ============ About: core values panels ============ */
.values-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}
.value-panel{min-width:0;background:linear-gradient(150deg,#16283A,#1F3A52);border-top:2px solid var(--gold);box-shadow:0 6px 18px rgba(4,10,16,.25)}
.value-panel:last-child{grid-column:1/-1;max-width:880px;margin:0 auto;width:100%}
@media (max-width:820px){.values-grid{grid-template-columns:minmax(0,1fr)}.value-panel:last-child{max-width:none;margin:0}}
.value-panel .vp-body{padding:30px 36px 32px}
.value-panel h3{font-family:var(--sans);font-size:19px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#F0C87A;margin-bottom:14px;overflow-wrap:anywhere}
.value-panel p{color:#D9E2EA;font-size:15.5px;line-height:26px;text-align:left;text-wrap:pretty}
.value-panel p + p{margin-top:1em}
.value-panel .vp-more{display:none}
.value-panel.open .vp-more{display:block}
.vp-toggle{display:block;width:100%;background:transparent;border:0;border-top:1px solid #33475A;text-align:left;padding:13px 22px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#F0C87A;cursor:pointer}
.vp-toggle:hover{color:#fff}

/* ============ Team ============ */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:48px}
.person a{display:block;color:inherit;box-shadow:0 2px 8px rgba(0,33,71,.06);transition:box-shadow .2s,transform .2s}
.person a:hover{text-decoration:none;box-shadow:0 12px 28px rgba(4,10,16,.22);transform:translateY(-4px)}
.person img{width:100%;aspect-ratio:1/1.08;object-fit:cover;object-position:top;display:block;background:#3a3a3a}
.person .name-bar{background:linear-gradient(150deg,#16283A,#1F3A52);border-top:2px solid var(--gold);color:#fff;font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.5px;padding:15px 18px;line-height:1.3;transition:color .2s}
.person a:hover .name-bar{color:#F0C87A}

/* ============ Contact ============ */
.overlap-card{position:relative;z-index:5;background:#fff;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.16);max-width:830px;margin:-140px auto 72px;padding:34px 26px 36px}
.overlap-label{font-size:16px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--navy);padding:0 0 24px}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.form-grid .full{grid-column:1/-1}
input,textarea{width:100%;padding:12px 14px;border:1px solid #B9C9D8;border-radius:3px;font-family:var(--sans);font-size:14px;color:var(--ink);background:#fff}
input::placeholder,textarea::placeholder{color:#637687;font-size:13px;letter-spacing:1.5px;text-transform:uppercase}
input:focus,textarea:focus{outline:2px solid rgba(31,93,150,.5);border-color:var(--blue)}
textarea{min-height:120px;resize:vertical}
.submit-bar{width:100%;background:var(--gold);color:#141414;border:0;padding:14px;font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:3px}
.submit-bar:hover{background:#B87A00}
.form-note{font-size:14px;color:#637687;text-align:left}
.form-status{padding:14px 16px;margin-bottom:20px;border-radius:3px;font-size:15px;text-align:left}
.turnstile-slot{min-height:65px}
@media (max-width:520px){.cf-turnstile{zoom:.75;-moz-transform:scale(.75);-moz-transform-origin:0 0}}
.form-status.ok{background:#EFF7EF;border:1px solid #BBD9BB;color:#2F6B2F}
.form-status.err{background:#FBF0EF;border:1px solid #E4BDB9;color:#9A3B32}
.direct-line{font-size:15px;color:#5C6B78;border-top:1px solid #E3E3E3;padding-top:16px;margin-top:6px}
.direct-line a{color:#8A5C00;font-weight:600}
.cities{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;align-items:center;text-align:center;padding:78px 0}
.cities a{font-family:var(--serif);font-size:24px;line-height:1.3;letter-spacing:1px;text-transform:uppercase;color:var(--navy);font-weight:400}
.cities a:hover{color:#8A5C00;text-decoration:none}

/* ============ Attorney bio ============ */
.bio-band{height:300px;background:linear-gradient(150deg,#0F1B26 0%,#16283A 55%,#1F3A52 100%);border-bottom:1px solid var(--gold);position:relative;overflow:hidden}
.bio-band::before{content:"";position:absolute;right:-120px;top:50%;transform:translateY(-50%);width:460px;height:460px;background:url('../img/seal-watermark.png') center/contain no-repeat;pointer-events:none}
.bio-card{position:relative;z-index:5;background:#fff;max-width:1100px;margin:-145px auto 72px;padding:14px 0 40px;box-shadow:0 4px 24px rgba(0,0,0,.10)}
.bio-layout{display:grid;grid-template-columns:340px 1fr;gap:44px;padding:0 40px;align-items:start}
.bio-side{padding-top:14px}
.bio-side img{border-radius:2px;box-shadow:0 6px 18px rgba(4,10,16,.14)}
.bio-photo img{width:100%;display:block;background:#3a3a3a}
.bio-main h1{font-family:var(--serif);font-size:34px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);line-height:1.3;margin-bottom:24px}
.bio-main p + p{margin-top:1em}
.bio-mini{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--navy);margin-top:34px;text-align:left}
.bio-side .bio-mini{margin-top:26px}
.bio-main ul.bio-edu{margin:16px 0 0 22px}
.bio-edu li::marker{color:var(--gold)}
.bio-main li{margin-bottom:6px;text-align:left}
.bio-contact{list-style:none;margin-top:14px}
.bio-contact li{display:flex;gap:11px;align-items:flex-start;margin-bottom:11px;font-size:14.5px;line-height:23px;letter-spacing:.3px;word-break:break-word}
.bio-contact li svg{width:17px;height:17px;fill:var(--ink);flex-shrink:0;margin-top:5px}
.bio-contact li a{color:var(--body)}
.back-link{margin-top:34px}

/* ============ Closing CTA band (B4) ============ */
.cta-band{background:linear-gradient(150deg,#16283A,#1F3A52);padding:64px 0;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;right:-140px;top:50%;transform:translateY(-50%);width:520px;height:520px;background:url('../img/seal-watermark.png') center/contain no-repeat;pointer-events:none}
.cta-band .wrap{position:relative}
.cta-band h2{font-family:var(--serif);font-size:clamp(26px,3.4vw,38px);font-weight:400;letter-spacing:.04em;color:#fff;margin-bottom:26px}
.cta-band .wrap{max-width:760px}

/* ============ Scroll reveal (B5) ============ */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease-out,transform .6s ease-out}
  .reveal.revealed{opacity:1;transform:translateY(0)}
  .value-panel.reveal:nth-of-type(2){transition-delay:.09s}
  .value-panel.reveal:nth-of-type(3){transition-delay:.18s}
  .value-panel.reveal:nth-of-type(4){transition-delay:.27s}
  .value-panel.reveal:nth-of-type(5){transition-delay:.36s}
}

/* ============ Footer (4 light bands, matches live) ============ */
.f-newsletter{background:#12222F;padding:34px 0}
.f-newsletter .wrap{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}
.f-nl-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.f-label{font-size:16px;letter-spacing:2px;text-transform:uppercase;color:#D9E2EA}
.f-newsletter input[type=email]{width:230px;padding:12px 14px;background:#0C161F;border:1px solid #33475A;color:#E8EDF2}
.f-subscribe{background:var(--gold);color:#141414;border:0;padding:13px 24px;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}
.f-subscribe:hover{background:#B87A00}
.f-social{display:flex;align-items:center;gap:26px}
.f-social-icons{display:flex;gap:12px}
.f-social-icons a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#22384C;border:1px solid #33475A}
.f-social-icons svg{width:18px;height:18px;fill:#fff}
.f-social-icons a:hover{background:var(--gold)}

.f-offices{background:#0F1B26;padding:44px 0}
.f-cities{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}
.f-city{position:relative;flex:1;min-width:150px;text-align:center}
.f-city-btn{background:none;border:0;cursor:pointer;font-family:var(--serif);font-size:19px;line-height:1.35;letter-spacing:.8px;text-transform:uppercase;color:#D3DCE3;padding:10px 6px 12px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.f-city:hover .f-city-btn,.f-city.open .f-city-btn,.f-city-btn:focus-visible{color:#F0C87A;border-bottom-color:var(--gold)}
.f-city-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.97);width:300px;background:#16283A;border:1px solid #33475A;border-top:2px solid var(--gold);box-shadow:0 14px 34px rgba(0,0,0,.55);padding:20px 18px;opacity:0;visibility:hidden;transition:opacity .22s,transform .22s,visibility .22s;z-index:20;text-align:left}

.f-city:hover .f-city-card,.f-city.open .f-city-card,.f-city:focus-within .f-city-card{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.f-city-card ul{list-style:none}
.f-city-card li{display:flex;gap:11px;align-items:flex-start;margin-bottom:11px;font-size:14px;line-height:22px;letter-spacing:.4px;color:#B9C6D1}
.f-city-card li:last-child{margin-bottom:0}
.f-city-card li a{color:#B9C6D1}
.f-city-card li a:hover{color:#F0C87A}
.f-city-card li svg{width:14px;height:14px;fill:#7C93A8;flex-shrink:0;margin-top:4px}
@media (max-width:820px){
  .f-cities{flex-direction:column;align-items:stretch}
  .f-city{text-align:left}
  .f-city-btn{width:100%;text-align:left;padding:12px 4px;border-bottom:1px solid #1C2B38}
  .f-city-card{position:static;transform:none;width:auto;box-shadow:none;border:0;border-left:2px solid var(--gold);margin:6px 0 10px;display:none;opacity:1;visibility:visible}
  .f-city-card::after{display:none}
  .f-city.open .f-city-card{display:block;transform:none}
  .f-city:hover .f-city-card{transform:none}
}
.f-navband{background:#0C161F;padding:20px 0}
.f-navband .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.f-nav{display:flex;align-items:center;flex-wrap:wrap}
.f-nav a{font-family:var(--serif);font-size:15px;letter-spacing:.6px;text-transform:uppercase;color:#D3DCE3;padding:2px 0}
.f-nav a[aria-current="page"]{color:#F0C87A}
.f-nav .sep{color:#44586C;margin:0 14px}
.f-follow{display:flex;align-items:center;gap:16px}
.f-follow .f-label{font-size:14px;letter-spacing:1px}
.f-follow a{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid #7C93A8}
.f-follow svg{width:13px;height:13px;fill:#B9C6D1}
.f-follow a:hover{border-color:var(--gold)}
.f-follow a:hover svg{fill:#F0C87A}

.f-legal{background:#0A121A;border-top:1px solid #1C2B38;padding:20px 0}
.f-legal .wrap{display:flex;justify-content:center;align-items:baseline;gap:10px 24px;flex-wrap:wrap;text-align:center} /* centered + baseline-aligned links (G feedback 2026-07-13) */
.f-legal span{font-size:14px;color:#7C93A8;letter-spacing:.3px}
.f-portal{color:#F0C87A;text-decoration:none;letter-spacing:.5px;display:inline-block;padding:2px 0}
.f-portal:hover{text-decoration:underline}
.f-terms a{color:#7C93A8;text-decoration:none;padding:2px 0;display:inline-block} /* footer terms/privacy links (2026-07-12) */
.f-terms a:hover{color:#F0C87A;text-decoration:underline}
.f-terms .sep{margin:0 10px;color:#3A4C5E}
/* Legal pages (terms/privacy) */
.hero-legal{background-image:linear-gradient(150deg,#16283A,#1F3A52);min-height:300px;overflow:hidden}
.hero-legal::before{content:"";position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:360px;height:360px;background:url('../img/seal-watermark.png') center/contain no-repeat;pointer-events:none;z-index:1}

/* Legal document pages (terms, privacy) - document-card refresh 2026-07-13 */
.section:has(.legal-body){background:var(--gray-bg);padding:56px 0 74px}
.legal-body{position:relative;overflow:hidden;max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 1px 3px rgba(16,28,40,.05),0 12px 34px rgba(16,28,40,.07);padding:50px 60px 56px}
.legal-body::before{content:"";position:absolute;top:30px;left:50%;transform:translateX(-50%);width:min(74%,440px);aspect-ratio:1;background:url('../img/seal-watermark-dark.png') center/contain no-repeat;opacity:.05;pointer-events:none;z-index:0}
.legal-body>*{position:relative;z-index:1}
.legal-updated{display:inline-block;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);border-radius:20px;padding:5px 15px}
.legal-body h2{position:relative;font-family:var(--sans);font-size:19px;font-weight:600;color:var(--navy);letter-spacing:.2px;line-height:1.4;margin:38px 0 0;padding-top:24px}
.legal-body h2::before{content:"";position:absolute;top:0;left:0;width:34px;height:3px;border-radius:2px;background:var(--gold)}
.legal-body h2:first-of-type{margin-top:30px}
.legal-body p{text-align:left;font-size:16px;line-height:1.75;margin-top:12px;color:var(--ink)}
.legal-body a{color:var(--blue);font-weight:500}
.legal-body ul{margin:14px 0 0 22px;text-align:left}
.legal-body li{margin-top:8px;font-size:16px;line-height:1.7;color:var(--ink)}

/* ============ Responsive ============ */
@media (max-width:1024px){
  .slogans .slogan{font-size:44px;line-height:50px}
  .page-hero h1{font-size:46px;line-height:52px}
  .f-offices .wrap{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .bio-layout{grid-template-columns:280px 1fr;gap:30px;padding:0 28px}
  .cities{grid-template-columns:repeat(3,1fr);row-gap:34px}
}
@media (max-width:820px){
  .nav-toggle{display:block}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#000;flex-direction:column;align-items:stretch;padding:8px 24px 20px;gap:2px}
  .site-nav.open{display:flex}
  .site-nav a{padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.12)}
  .two-col{grid-template-columns:1fr;gap:36px}
  .page-hero .ph-inner{padding-top:112px} /* clear the 88px fixed header (QC 2026-07-12: h1 sat behind it on phones) */
  .bio-layout{grid-template-columns:1fr}
  .bio-photo{max-width:340px}
  .overlap-card{margin-left:16px;margin-right:16px}
  .f-newsletter .wrap{justify-content:center;text-align:center}
}
@media (max-width:560px){
  body{font-size:17.5px;line-height:27px}
  .f-social{flex-wrap:wrap;justify-content:center;gap:14px} /* QC 2026-07-12: 2px horizontal overflow at 375px */
  .acc summary{font-size:16px}
  .hero-strip{font-size:14px}
  .slogans{height:64px}
  .slogans .slogan{font-size:30px;line-height:36px}
  .hero-sub{font-size:15px}
  .page-hero h1{font-size:34px;line-height:40px}
  .h-section{font-size:22px;letter-spacing:3px}
  .h-section.big{font-size:26px}
  .team-grid{grid-template-columns:1fr;max-width:360px;margin-left:auto;margin-right:auto}
  .f-offices .wrap{grid-template-columns:1fr}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .cities{grid-template-columns:1fr;padding:50px 0}
  .value-panel h3{font-size:19px;letter-spacing:3px}
  .brand img{width:170px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media (max-width:400px){
  .value-panel .vp-body{padding:28px 24px 30px}
  .value-panel h3{letter-spacing:2px}
}

/* Legal card - small screens (2026-07-13) */
@media (max-width:600px){
  .legal-body{padding:30px 20px 34px;border-radius:8px}
  .section:has(.legal-body){padding:36px 0 48px}
  .legal-body h2{font-size:18px}
}
