
  /* Single committed look (navy site mockup): every color is painted explicitly, no OS-theme switching. */
  :root{
    /* Sampled from the firm logo: lit navy wall + brushed silver lettering */
    --navy-deep:#061629;
    --navy:#0C2440;
    --navy-lit:#1E3F68;
    --accent:#1E3F68;
    --silver-hi:#F1F2F4;
    --silver:#D3D7DD;
    --silver-mid:#A8AFBA;
    --steel:#5E6776;
    --ink:#111A27;
    --ink-soft:#4E5766;
    --paper:#F5F6F8;
    --paper-alt:#E9ECF0;
    --card:#FFFFFF;
    --line:#D6DAE1;
    --amber:#F2C14E;
    --font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;
    --font-caps:"Cinzel", "Trajan Pro", Georgia, serif;
    --font-sans:"Archivo", -apple-system, "Segoe UI", sans-serif;
    --font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", monospace;
  }
  *{box-sizing:border-box;}
  body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;}
  img{display:block;max-width:100%;}
  a{color:inherit;}
  h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;margin:0;text-wrap:balance;line-height:1.15;}
  p{margin:0;}
  ul,ol{margin:0;padding:0;list-style:none;}
  .wrap{max-width:1180px;margin-inline:auto;padding-inline:16px;}
  :focus-visible{outline:3px solid var(--silver-mid);outline-offset:3px;}

  .eyebrow{font-family:var(--font-caps);font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px;margin-bottom:14px;}
  .eyebrow::before{content:"";width:32px;height:1px;background:currentColor;opacity:.7;flex-shrink:0;}
  .on-dark .eyebrow, .eyebrow.light{color:var(--silver);}

  /* header */
  .site-head{background:var(--navy);color:#fff;position:sticky;top:env(safe-area-inset-top,0px);z-index:40;border-bottom:1px solid rgba(255,255,255,.08);}
  .logo img{transition:width .2s ease;}
  .logo{display:block;flex-shrink:0;}
  .logo img{width:460px;max-width:calc(100vw - 150px);height:auto;transition:width .2s ease;}
  .hdr{display:flex;align-items:stretch;min-height:112px;padding-left:clamp(16px,3vw,48px);transition:min-height .2s ease;}
  .logo{align-self:center;margin-right:28px;}
  .site-head.scrolled .hdr{min-height:84px;}
  .site-head.scrolled .logo img{width:340px;}
  .nav{display:flex;align-items:center;gap:32px;margin-left:auto;padding-right:32px;font-family:var(--font-serif);font-size:20.5px;font-weight:500;font-variant-caps:small-caps;letter-spacing:.025em;}
  .nav a.link{color:#fff;text-decoration:none;padding:6px 0;border-bottom:1px solid transparent;white-space:nowrap;}
  .nav a.link:hover{border-bottom-color:var(--silver-mid);}
  .nav a.link.active{border-bottom-color:var(--silver);}
  .callbox{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;background:#fff;color:var(--navy);text-decoration:none;padding:0 26px;white-space:nowrap;font-family:var(--font-sans);font-weight:700;}
  .callbox:hover{background:var(--silver-hi);}
  .cb-k{font-size:15px;letter-spacing:.01em;}
  .cb-n{font-size:25px;letter-spacing:.01em;}
  .hdr-mobile{display:none;align-items:center;gap:10px;}
  .call-mini{font-family:var(--font-sans);font-weight:600;font-size:13px;color:var(--navy);background:linear-gradient(180deg,var(--silver-hi),var(--silver));border-radius:4px;padding:9px 14px;text-decoration:none;}
  .btn{font-family:var(--font-sans);font-weight:600;font-size:14px;padding:12px 22px;border-radius:4px;border:1.5px solid transparent;display:inline-block;text-decoration:none;cursor:pointer;line-height:1.2;}
  .btn-light{background:linear-gradient(180deg,var(--silver-hi) 0%,var(--silver) 55%,var(--silver-mid) 100%);color:var(--navy);border-color:rgba(255,255,255,.55);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 6px 18px -10px rgba(0,0,0,.6);}
  .btn-light:hover{background:linear-gradient(180deg,#fff 0%,var(--silver-hi) 60%,var(--silver) 100%);}
  .btn-line{border-color:var(--silver-mid);color:var(--silver-hi);background:transparent;}
  .btn-line:hover{background:rgba(255,255,255,.1);}
  .btn-navy{background:var(--navy);color:#fff;}
  .btn-navy:hover{background:var(--navy-lit);}
  .menu-btn{display:none;background:none;border:1.5px solid rgba(255,255,255,.6);color:#fff;font-family:var(--font-caps);font-size:12px;padding:9px 14px;border-radius:4px;cursor:pointer;}

  /* home hero */
  .hero{background:radial-gradient(ellipse 90% 70% at 50% -10%,var(--navy-lit) 0%,var(--navy) 48%,var(--navy-deep) 100%);color:#fff;position:relative;overflow:hidden;}
  .hero::before,.pagehead::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/></svg>");opacity:.06;pointer-events:none;}
  .pagehead{position:relative;overflow:hidden;background:radial-gradient(ellipse 80% 90% at 50% -20%,var(--navy-lit) 0%,var(--navy) 55%,var(--navy-deep) 100%) !important;}
  .pagehead .wrap{position:relative;}
  .hero-mark{position:absolute;top:50%;left:var(--mg-x,58%);width:var(--mg-w,440px);height:auto;transform:translate(-50%,-50%);opacity:.1;z-index:0;pointer-events:none;}
  .hero-grid > .hero-text,.hero-grid > .hero-photo{position:relative;z-index:1;}
  .hero .wrap{position:relative;z-index:2;padding-block:44px 92px;}
  .hero h1{font-size:clamp(34px,5vw,56px);max-width:18ch;margin-bottom:22px;color:#fff;}
  .hero .sub{font-size:18px;color:var(--silver);max-width:52ch;margin-bottom:34px;}
  .hero-actions{display:flex;gap:12px;flex-wrap:wrap;}

  /* doors */
  .doors{padding-block:0 64px;margin-top:-52px;position:relative;z-index:3;}
  .door-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .door{background:var(--card);border-top:4px solid var(--navy);padding:28px 26px 26px;display:flex;flex-direction:column;gap:12px;text-decoration:none;box-shadow:0 18px 40px -26px rgba(9,31,76,.55);transition:transform .15s ease;}
  .door:hover{transform:translateY(-3px);}
  .door:nth-child(2){border-top-color:var(--navy-lit);}
  .door:nth-child(3){border-top-color:var(--silver-mid);}
  .door .tag{font-family:var(--font-caps);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
  .door h3{font-size:23px;}
  .door p{font-size:15px;color:var(--ink);flex:1;}
  .door .more{font-family:var(--font-caps);font-size:12.5px;color:var(--navy);letter-spacing:.03em;}

  /* generic sections */
  .section{padding-block:64px;}
  .section.alt{background:var(--paper-alt);}
  .section h2{font-size:clamp(26px,3.2vw,36px);margin-bottom:16px;}
  .lead{font-size:18px;color:var(--ink-soft);max-width:62ch;}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}

  .about-card{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:var(--card);border:1px solid var(--line);padding:26px;}
  .monogram{width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 50% 30%,var(--navy-lit),var(--navy-deep));display:flex;align-items:center;justify-content:center;border:1px solid var(--silver-mid);}
  .monogram img{width:62%;height:auto;}
  .about-card h3{font-size:20px;margin-bottom:4px;}
  .about-card .meta{font-family:var(--font-caps);font-size:12px;color:var(--ink-soft);line-height:1.8;}

  /* inner page header */
  .pagehead{background:var(--navy);color:#fff;}
  .pagehead .wrap{padding-block:30px 36px;}
  .pagehead h1{font-size:clamp(30px,4.4vw,48px);max-width:22ch;margin-bottom:10px;color:#fff;}
  .pagehead + .section{padding-top:40px;}
  .pagehead p{font-size:18px;color:var(--silver);max-width:60ch;}

  /* business */
  .svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 56px;margin-top:36px;}
  .svc{border-top:1px solid var(--silver-mid);padding-top:18px;}
  .svc h3{font-size:20px;margin-bottom:8px;}
  .svc p{font-size:15.5px;color:var(--ink-soft);}
  .svc.wide{grid-column:1 / -1;}
  .ai-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:18px;}
  .ai-list li{background:var(--card);border:1px solid var(--line);padding:18px;font-size:14.5px;color:var(--ink-soft);}
  .ai-list b{display:block;font-family:var(--font-serif);font-size:16.5px;color:var(--ink);margin-bottom:6px;font-weight:600;}

  /* insurance */
  .steps li{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:20px 0;border-top:1px solid var(--line);}
  .steps li:last-child{border-bottom:1px solid var(--line);}
  .steps .n{font-family:var(--font-caps);font-size:26px;color:var(--accent);line-height:1.2;}
  .steps h4{font-size:19px;margin-bottom:4px;}
  .steps p{font-size:15.5px;color:var(--ink-soft);max-width:68ch;}
  .issues{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;}
  .issue{background:var(--card);border:1px solid var(--line);padding:22px;}
  .issue h4{font-size:18px;margin-bottom:6px;}
  .issue p{font-size:15px;color:var(--ink-soft);}
  .help-row{display:grid;grid-template-columns:280px 1fr;gap:28px;padding:20px 0;border-top:1px solid var(--line);}
  .help-row:last-child{border-bottom:1px solid var(--line);}
  .help-row h4{font-size:18px;}
  .help-row p{font-size:15.5px;color:var(--ink-soft);max-width:66ch;}

  /* estate */
  .long{display:grid;grid-template-columns:260px 1fr;gap:48px;padding-block:44px;border-top:1px solid var(--line);}
  .long:first-of-type{border-top:none;}
  .long h3{font-size:22px;position:sticky;top:20px;align-self:start;}
  .long .body{display:grid;gap:16px;max-width:68ch;font-size:16px;color:var(--ink-soft);}
  .long .body b{color:var(--ink);}
  .tick li{position:relative;padding-left:22px;font-size:15.5px;color:var(--ink-soft);}
  .tick li + li{margin-top:8px;}
  .tick li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:2px;background:var(--accent);}

  /* CTA band */
  .cta{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;border-top:1px solid rgba(211,215,221,.25);}
  .cta .wrap{padding-block:26px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
  .cta .wrap > div{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 36px;}
  .cta h2{font-size:clamp(24px,3vw,32px);color:#fff;max-width:34ch;}
  .cta p{color:var(--silver);font-size:17px;}

  /* contact */
  .contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start;}
  .c-list{display:grid;gap:22px;margin-top:26px;}
  .c-item .k{font-family:var(--font-caps);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;}
  .c-item .v{font-family:var(--font-serif);font-size:22px;}
  .c-item a{text-decoration:none;}
  .c-item a:hover{text-decoration:underline;}
  form.intake{background:var(--card);border:1px solid var(--line);padding:28px;display:grid;gap:16px;}
  .field{display:grid;gap:6px;}
  .field label{font-size:13px;font-weight:600;}
  .field input,.field select,.field textarea{font-family:var(--font-sans);font-size:15px;padding:11px 12px;border:1px solid #B9C3D4;border-radius:4px;background:#fff;color:var(--ink);width:100%;}
  .field textarea{min-height:120px;resize:vertical;}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .form-note{font-size:13px;color:var(--ink-soft);}

  /* footer */
  .site-foot{background:var(--navy-deep);color:var(--silver);}
  .site-foot .wrap{padding-block:16px 14px;max-width:1320px;}
  .foot-top{display:flex;justify-content:space-between;align-items:center;gap:12px 40px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14);}
  .foot-top img{width:230px;max-width:100%;height:auto;}
  .foot-links{display:flex;gap:40px;flex-wrap:wrap;font-size:14px;}
  .foot-links div{display:grid;gap:8px;align-content:start;}
  .foot-links b{font-family:var(--font-caps);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-weight:500;margin-bottom:2px;}
  .foot-links a{color:var(--silver);text-decoration:none;}
  .foot-links a:hover{color:#fff;text-decoration:underline;}
  .legal{padding-top:10px;font-size:12px;line-height:1.55;max-width:none;display:grid;gap:2px;color:var(--silver-mid);}

  @media (max-width:980px){
    .hero-mark{display:none;}
    .door-grid,.two,.contact-grid,.ai-list{grid-template-columns:1fr;}
    .svc-grid,.issues{grid-template-columns:1fr;}
    .long,.help-row{grid-template-columns:1fr;gap:12px;}
    .long h3{position:static;}
  }
  @media (max-width:1760px){
    .logo img{width:410px;}
    .nav{gap:26px;font-size:19px;padding-right:26px;}
    .callbox{padding:0 22px;}
    .cb-k{font-size:14px;}
    .cb-n{font-size:23px;}
  }
  @media (max-width:1600px){
    .logo img{width:370px;}
    .nav{gap:22px;font-size:18px;padding-right:22px;}
    .callbox{padding:0 18px;}
    .cb-k{font-size:13px;}
    .cb-n{font-size:21px;}
  }
  @media (max-width:1460px){
    .logo{margin-right:20px;}
    .logo img{width:345px;}
    .nav{gap:20px;font-size:17px;padding-right:18px;}
    .callbox{padding:0 16px;}
    .cb-k{font-size:12.5px;}
    .cb-n{font-size:20px;}
  }
  @media (max-width:1380px){
    .logo{margin-right:16px;}
    .logo img{width:300px;}
    .nav{gap:17px;font-size:16px;padding-right:14px;}
    .callbox{padding:0 14px;}
    .cb-k{font-size:12px;}
    .cb-n{font-size:19px;}
  }
  @media (max-width:1280px){
    .logo{margin-right:12px;}
    .logo img{width:340px;max-width:calc(100vw - 190px);}
    .hdr{min-height:96px;}
    .callbox{display:none;}
    .hdr{align-items:center;padding-right:16px;}
    .hdr-mobile{display:flex;margin-left:auto;}
    .menu-btn{display:block;}
    .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy);flex-direction:column;align-items:flex-start;gap:6px;padding:12px 16px 24px;border-top:1px solid rgba(255,255,255,.14);z-index:30;margin:0;}
    .nav.open{display:flex;}
    .nav a.link{padding:10px 0;font-size:16px;}
    .hdr{position:static;}
  }
  @media (max-width:560px){
    .row2{grid-template-columns:1fr;}
    .about-card{grid-template-columns:1fr;}
    .steps li{grid-template-columns:44px 1fr;}
    .doors{margin-top:-36px;}
  }

  /* practice pages (v2 copy) */
  .offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px;}
  .offer{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--navy);padding:28px 28px 26px;}
  .offer h3{font-size:21px;margin-bottom:14px;}
  .offer p{font-size:15.5px;color:var(--ink-soft);margin-bottom:12px;}
  .tick.two-col{columns:2;column-gap:28px;}
  .tick.two-col li{break-inside:avoid;margin-bottom:8px;}
  .tick.two-col li + li{margin-top:0;}
  .process{display:grid;grid-template-columns:repeat(3,1fr) 1.15fr;gap:24px;margin-top:34px;align-items:stretch;}
  .pstep{border-top:1px solid var(--silver-mid);padding-top:20px;}
  .pstep .n,.price .n,.step6 .n{font-family:var(--font-caps);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
  .pstep h3{font-size:23px;margin:8px 0 8px;}
  .pstep p{font-size:15.5px;color:var(--ink-soft);}
  .price{background:radial-gradient(ellipse 120% 90% at 50% 0,var(--navy-lit),var(--navy) 70%);color:#fff;padding:24px 26px 26px;border-top:1px solid var(--silver-mid);}
  .price .n{color:var(--silver);}
  .price h3{color:#fff;font-size:23px;margin:8px 0;}
  .price p{color:var(--silver);font-size:15.5px;}
  .steps6{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;counter-reset:none;}
  .step6{background:var(--card);border:1px solid var(--line);padding:24px 24px 26px;display:grid;gap:8px;align-content:start;}
  .step6 h4{font-size:19px;}
  .step6 p{font-size:15px;color:var(--ink-soft);}
  .step6.last{background:var(--navy);border-color:var(--navy);}
  .step6.last .n{color:var(--silver);} .step6.last h4{color:#fff;} .step6.last p{color:var(--silver);}
  .fee{position:relative;overflow:hidden;color:#fff;background:radial-gradient(ellipse 80% 120% at 50% -10%,var(--navy-lit) 0%,var(--navy) 55%,var(--navy-deep) 100%);border-top:1px solid rgba(211,215,221,.25);}
  .fee .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center;padding-block:64px;}
  .fee h2{font-size:clamp(32px,4.4vw,50px);color:#fff;}
  .fee p{color:var(--silver);font-size:17.5px;line-height:1.65;}
  @media (max-width:980px){
    .offer-grid,.process,.fee .wrap{grid-template-columns:1fr;}
    .steps6{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:640px){
    .steps6{grid-template-columns:1fr;}
    .tick.two-col{columns:1;}
  }

  /* insurance page, revision round 1 */
  .pagehead-split .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
  .pagehead-split h1{max-width:16ch;}
  .fee-box{background:rgba(255,255,255,.05);border:1px solid rgba(211,215,221,.35);border-top:2px solid var(--silver);padding:30px 32px 32px;display:grid;gap:14px;}
  .fee-box .eyebrow{margin-bottom:0;}
  .fee-box h2{font-size:clamp(28px,3vw,38px);color:#fff;}
  .pagehead .fee-box p{font-size:16.5px;color:var(--silver);line-height:1.65;max-width:none;}
  .intro-lg p{font-size:21px;line-height:1.6;color:var(--ink);}
  .intro-list{margin-top:14px;}
  .intro-list li{font-size:21px;color:var(--ink);}
  .intro-list li::before{top:.8em;width:14px;}
  .loss-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px;}
  .loss{margin:0;background:var(--card);border:1px solid var(--line);display:grid;grid-template-rows:auto 1fr;}
  .loss img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
  .loss figcaption{padding:22px 24px 26px;}
  .loss h4{font-size:22px;margin-bottom:8px;}
  .loss p{font-size:16px;color:var(--ink-soft);}
  @media (max-width:980px){
    .pagehead-split .wrap{grid-template-columns:1fr;gap:32px;}
  }
  @media (max-width:640px){
    .loss-grid{grid-template-columns:1fr;}
    .intro-lg p,.intro-list li{font-size:19px;}
  }

  /* flip cards: FGC service offerings */
  .flip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px;}
  .flip{perspective:1600px;height:440px;outline:none;cursor:pointer;}
  .flip:focus-visible{outline:3px solid var(--silver-mid);outline-offset:4px;}
  .flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.75,.25,1);}
  .flip:focus-visible .flip-inner,.flip.is-flipped .flip-inner{transform:rotateY(180deg);}
  @media (hover:hover){ .flip:hover .flip-inner{transform:rotateY(180deg);} }
  .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;}
  .front{justify-content:flex-end;gap:18px;padding:30px 28px;color:#fff;border-top:3px solid var(--silver);
    background:radial-gradient(ellipse 110% 80% at 30% 0%,var(--navy-lit) 0%,var(--navy) 55%,var(--navy-deep) 100%);box-shadow:0 18px 40px -26px rgba(6,22,41,.7);}
  .front::before{content:"";position:absolute;inset:0;background:url("/assets/img/mg-mark.0297e086ee.svg") no-repeat right -18px top 22px / 46% auto;opacity:.08;pointer-events:none;}
  .front h3{font-size:clamp(23px,1.9vw,28px);line-height:1.15;color:#fff;position:relative;}
  .flip-hint{font-family:var(--font-caps);font-size:12px;letter-spacing:.12em;white-space:nowrap;text-transform:uppercase;color:var(--silver);display:flex;align-items:center;gap:10px;position:relative;}
  .flip-hint::before{content:"";width:28px;height:1px;background:var(--silver-mid);}
  .h-touch{display:none;}
  @media (hover:none){ .h-hover{display:none;} .h-touch{display:inline;} }
  .back{transform:rotateY(180deg);background:var(--card);border:1px solid var(--line);border-top:3px solid var(--navy);padding:22px 22px 20px;gap:10px;overflow:auto;}
  .back-title{font-family:var(--font-caps);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
  .back p{font-size:14px;line-height:1.45;color:var(--ink-soft);}
  .back .tick li{font-size:14px;line-height:1.4;color:var(--ink);}
  .back .tick li + li{margin-top:6px;}
  @media (max-width:1200px){ .flip-grid{grid-template-columns:1fr 1fr;} .flip{height:360px;} }
  @media (max-width:640px){ .flip-grid{grid-template-columns:1fr;} .flip{height:460px;} }
  @media (prefers-reduced-motion:reduce){ .flip-inner{transition:none;} }

  /* revision round 3 */
  .pagehead .eyebrow{font-size:17px;letter-spacing:.16em;}
  .pagehead .eyebrow::before{width:40px;}
  .pagehead .slogan{font-family:"Cormorant Garamond","Cormorant",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(26px,2.7vw,36px);line-height:1.25;color:var(--silver-hi);letter-spacing:.005em;max-width:none;}
  .lead-xl{font-size:clamp(20px,1.85vw,25px);line-height:1.55;color:var(--ink);max-width:none;}
  .foot-rows{display:grid;gap:2px;justify-items:end;text-align:right;}
  .foot-nav,.foot-contact{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 22px;font-size:14px;}
  .foot-nav a{color:#fff;text-decoration:none;font-family:var(--font-serif);font-variant-caps:small-caps;letter-spacing:.02em;font-size:15px;}
  .foot-contact a,.foot-contact span{color:var(--silver);text-decoration:none;}
  .foot-nav a:hover,.foot-contact a:hover{text-decoration:underline;}
  @media (max-width:860px){ .foot-rows{justify-items:start;text-align:left;} .foot-nav,.foot-contact{justify-content:flex-start;} }

  /* service cards: title top-centre; white examples revealed on hover */
  .svc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:26px;}
  .svc-card{position:relative;overflow:hidden;min-height:440px;padding:30px 24px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;
    border-top:3px solid var(--silver);background:radial-gradient(ellipse 110% 80% at 50% 0%,var(--navy-lit) 0%,var(--navy) 55%,var(--navy-deep) 100%);box-shadow:0 18px 40px -26px rgba(6,22,41,.7);}
  .svc-card:focus-visible{outline:3px solid var(--silver-mid);outline-offset:4px;}
  .svc-card::before{content:"";position:absolute;inset:0;background:url("/assets/img/mg-mark.0297e086ee.svg") no-repeat center 62% / 52% auto;opacity:.045;transition:opacity .5s ease;pointer-events:none;}
  .svc-card h3{position:relative;z-index:2;font-size:clamp(22px,1.75vw,26px);line-height:1.18;color:#fff;}
  .svc-card h3::after{content:"";display:block;width:40px;height:1px;background:var(--silver-mid);margin:14px auto 0;}
  .svc-reveal{position:relative;z-index:2;align-self:stretch;margin-top:18px;text-align:left;display:grid;gap:10px;align-content:start;}
  .svc-reveal p{font-size:14px;line-height:1.45;color:var(--silver);}
  .svc-reveal .tick li{font-size:14px;line-height:1.38;color:#fff;}
  .svc-reveal .tick li + li{margin-top:6px;}
  .svc-reveal .tick li::before{background:var(--silver);}
  .svc-hint{position:absolute;left:0;right:0;bottom:24px;z-index:2;font-family:var(--font-caps);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);transition:opacity .3s ease;}
  .svc-card:hover .svc-hint,.svc-card:focus-visible .svc-hint,.svc-card.is-open .svc-hint{opacity:0;}
  .svc-card:hover::before,.svc-card:focus-visible::before,.svc-card.is-open::before{opacity:.04;}
  /* 1: slide up from the bottom */
  .fx-slide .svc-reveal{transform:translateY(620px);transition:transform .6s cubic-bezier(.2,.75,.25,1);}
  .fx-slide:hover .svc-reveal,.fx-slide:focus-visible .svc-reveal,.fx-slide.is-open .svc-reveal{transform:none;}
  /* 2: lines fade in one after another */
  .fx-cascade .svc-reveal > *, .fx-cascade .svc-reveal li{opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease;}
  .fx-cascade:hover .svc-reveal > *, .fx-cascade:hover .svc-reveal li,
  .fx-cascade:focus-visible .svc-reveal > *, .fx-cascade:focus-visible .svc-reveal li,
  .fx-cascade.is-open .svc-reveal > *, .fx-cascade.is-open .svc-reveal li{opacity:1;transform:none;}
  .fx-cascade .svc-reveal li:nth-child(1){transition-delay:.10s}.fx-cascade .svc-reveal li:nth-child(2){transition-delay:.17s}
  .fx-cascade .svc-reveal li:nth-child(3){transition-delay:.24s}.fx-cascade .svc-reveal li:nth-child(4){transition-delay:.31s}
  .fx-cascade .svc-reveal li:nth-child(5){transition-delay:.38s}.fx-cascade .svc-reveal li:nth-child(6){transition-delay:.45s}
  .fx-cascade .svc-reveal li:nth-child(7){transition-delay:.52s}.fx-cascade .svc-reveal li:nth-child(8){transition-delay:.59s}
  /* 3: wipe in from left to right */
  .fx-wipe .svc-reveal{clip-path:inset(0 100% 0 0);transition:clip-path .7s cubic-bezier(.65,0,.35,1);}
  .fx-wipe:hover .svc-reveal,.fx-wipe:focus-visible .svc-reveal,.fx-wipe.is-open .svc-reveal{clip-path:inset(0 0 0 0);}
  /* 4: circular reveal from the centre */
  .fx-iris .svc-reveal{clip-path:circle(0% at 50% 40%);opacity:.2;transition:clip-path .8s cubic-bezier(.65,0,.35,1),opacity .5s ease;}
  .fx-iris:hover .svc-reveal,.fx-iris:focus-visible .svc-reveal,.fx-iris.is-open .svc-reveal{clip-path:circle(150% at 50% 40%);opacity:1;}
  @media (max-width:1200px){ .svc-cards{grid-template-columns:1fr 1fr;} .svc-card{min-height:0;} .svc-card h3{max-width:none;} }
  @media (max-width:640px){ .svc-cards{grid-template-columns:1fr;} .svc-card{min-height:0;padding-bottom:28px;} }
  @media (prefers-reduced-motion:reduce){ .svc-reveal,.svc-reveal *,.svc-hint{transition:none !important;} }

  /* revision round 4: insurance page */
  .wrongful{border:1px solid rgba(211,215,221,.3);border-top:2px solid var(--silver);background:rgba(255,255,255,.04);padding:28px 30px 30px;}
  .pagehead .wrongful-lead{font-size:18.5px;line-height:1.6;color:var(--silver-hi);max-width:none;}
  .wrongful-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;}
  .wrongful-list li{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px 16px;border:1px solid rgba(211,215,221,.28);background:rgba(6,22,41,.35);}
  .wrongful-list svg{width:34px;height:34px;fill:none;stroke:var(--silver);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .wrongful-list span{font-family:var(--font-caps);font-size:15px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;}
  .loss-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:26px;border:1px solid var(--line);background:var(--card);}
  .loss-tab{position:relative;font-family:var(--font-serif);font-size:clamp(17px,1.6vw,22px);font-weight:600;color:var(--navy);background:transparent;border:0;border-right:1px solid var(--line);padding:22px 14px;cursor:pointer;transition:background .25s ease,color .25s ease;}
  .loss-tab:last-child{border-right:0;}
  .loss-tab:hover{background:var(--paper-alt);}
  .loss-tab.is-active{background:var(--navy);color:#fff;}
  .loss-tab.is-active::after{content:"";position:absolute;left:50%;bottom:-9px;width:18px;height:18px;background:var(--navy);transform:translateX(-50%) rotate(45deg);z-index:2;}
  .loss-tab:focus-visible{outline:3px solid var(--silver-mid);outline-offset:-3px;}
  .loss-stage{display:grid;margin-top:22px;}
  .loss-panel{grid-area:1 / 1;display:grid;grid-template-columns:1.35fr 1fr;background:var(--card);border:1px solid var(--line);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s linear .4s;}
  .loss-panel.is-active{opacity:1;visibility:visible;transition:opacity .4s ease;}
  .loss-panel img{width:100%;height:100%;min-height:440px;max-height:560px;object-fit:cover;display:block;}
  .loss-copy{padding:44px 44px;display:flex;flex-direction:column;justify-content:center;gap:18px;}
  .loss-copy h3{font-size:clamp(30px,3vw,42px);}
  .loss-copy h3::after{content:"";display:block;width:48px;height:2px;background:var(--silver-mid);margin-top:18px;}
  .loss-copy p{font-size:clamp(19px,1.6vw,23px);line-height:1.55;color:var(--ink-soft);}
  .fee-copy{display:grid;gap:18px;}
  .fee .fee-pledge{font-family:"Cormorant Garamond","Cormorant",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(22px,2.2vw,28px);line-height:1.35;color:var(--silver-hi);padding-top:16px;border-top:1px solid rgba(211,215,221,.25);}
  @media (max-width:980px){
    .loss-tabs{grid-template-columns:1fr 1fr;}
    .loss-tab:nth-child(2){border-right:0;}
    .loss-tab:nth-child(-n+2){border-bottom:1px solid var(--line);}
    .loss-tab.is-active::after{display:none;}
    .loss-panel{grid-template-columns:1fr;}
    .loss-panel img{min-height:0;aspect-ratio:4/3;height:auto;}
    .loss-copy{padding:28px 24px 30px;}
  }
  @media (max-width:520px){ .wrongful-list{grid-template-columns:1fr;} .wrongful-list li{flex-direction:row;justify-content:flex-start;padding:12px 16px;} }
  @media (prefers-reduced-motion:reduce){ .loss-panel,.loss-tab{transition:none;} }

  /* revision round 5: insurance page */
  .eyebrow.eyebrow-lg{font-size:17px;letter-spacing:.16em;}
  .eyebrow.eyebrow-lg::before{width:40px;}
  .lead-steps{font-size:clamp(19px,1.7vw,22px);color:var(--ink);max-width:none;}
  .stepper{display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:22px;margin-top:30px;}
  .cviewport{overflow:hidden;outline:none;}
  .cviewport:focus-visible{outline:3px solid var(--silver-mid);outline-offset:4px;}
  .ctrack{display:flex;margin:0;padding:0;transition:transform .7s cubic-bezier(.65,0,.35,1);will-change:transform;}
  .cstep{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center;min-height:340px;padding:48px 56px;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--navy);}
  .cstep-num{font-family:"Cormorant Garamond","Cormorant",Georgia,serif;font-weight:600;font-size:clamp(110px,11vw,170px);line-height:.8;color:var(--silver-mid);min-width:1ch;text-align:center;}
  .cstep-body{display:grid;gap:14px;max-width:62ch;}
  .cstep .n{font-family:var(--font-caps);font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);}
  .cstep h4{font-size:clamp(28px,2.8vw,38px);}
  .cstep p,.cstep .tick li{font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:var(--ink-soft);}
  .cstep .tick li::before{top:.8em;}
  .cstep.last{background:radial-gradient(ellipse 100% 120% at 30% 0,var(--navy-lit),var(--navy) 60%,var(--navy-deep));border-color:var(--navy);border-top-color:var(--silver);}
  .cstep.last .cstep-num{color:var(--silver);opacity:.6;}
  .cstep.last .n{color:var(--silver);} .cstep.last h4{color:#fff;} .cstep.last p{color:var(--silver-hi);}
  .cnav{width:58px;height:58px;border-radius:50%;border:1.5px solid var(--navy);background:var(--card);color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s ease,color .25s ease,opacity .25s ease;}
  .cnav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
  .cnav:hover:not(:disabled){background:var(--navy);color:#fff;}
  .cnav:disabled{opacity:.3;cursor:default;}
  .cnav:focus-visible{outline:3px solid var(--silver-mid);outline-offset:3px;}
  .cdots{grid-column:2;display:flex;justify-content:center;gap:10px;}
  .cdot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--navy);background:transparent;padding:0;cursor:pointer;transition:background .25s ease,transform .25s ease;}
  .cdot.is-active{background:var(--navy);transform:scale(1.2);}
  .fee .wrap{padding-block:40px;align-items:start;gap:56px;grid-template-columns:auto 1fr;}
  .fee h2{font-size:clamp(34px,3.6vw,48px);line-height:1.08;max-width:13ch;}
  .fee .fee-pledge{padding-top:14px;}
  @media (max-width:900px){
    .stepper{grid-template-columns:1fr 1fr;gap:16px;}
    .cviewport{grid-column:1 / -1;grid-row:1;}
    .cprev{grid-row:2;justify-self:start;} .cnext{grid-row:2;grid-column:2;justify-self:end;}
    .cdots{grid-row:2;grid-column:1 / -1;align-self:center;}
    .cstep{grid-template-columns:1fr;gap:10px;padding:30px 26px;min-height:0;align-items:start;}
    .cstep-num{font-size:84px;text-align:left;}
    .fee .wrap{grid-template-columns:1fr;gap:20px;}
    .fee h2{max-width:none;}
  }
  @media (prefers-reduced-motion:reduce){ .ctrack{transition:none;} }

  /* revision round 6: estate flip cards + about page */
  .ecard-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
  .ecard{perspective:1800px;height:450px;cursor:pointer;outline:none;}
  .ecard:focus-visible{outline:3px solid var(--silver-mid);outline-offset:4px;}
  .ecard-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.75,.25,1);}
  .ecard:focus-visible .ecard-inner,.ecard.is-flipped .ecard-inner{transform:rotateY(180deg);}
  @media (hover:hover){ .ecard:hover .ecard-inner{transform:rotateY(180deg);} }
  .ecard-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;}
  .ecard-front{background:var(--navy);box-shadow:0 18px 40px -26px rgba(6,22,41,.7);}
  .ecard-front img{width:100%;height:100%;object-fit:cover;display:block;}
  .ecard-cap{position:absolute;left:0;right:0;bottom:0;padding:70px 30px 26px;background:linear-gradient(180deg,rgba(6,22,41,0) 0%,rgba(6,22,41,.78) 45%,rgba(6,22,41,.94) 100%);display:grid;gap:10px;}
  .ecard-cap h3{font-size:clamp(26px,2.4vw,34px);color:#fff;}
  .ecard-hint{font-family:var(--font-caps);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);display:flex;align-items:center;gap:10px;}
  .ecard-hint::before{content:"";width:28px;height:1px;background:var(--silver-mid);}
  .ecard-back{transform:rotateY(180deg);background:var(--card);border:1px solid var(--line);border-top:3px solid var(--navy);padding:34px 36px;display:flex;flex-direction:column;justify-content:center;gap:14px;overflow:auto;}
  .ecard-back .back-title{font-size:15px;}
  .ecard-back p,.ecard-back .tick li{font-size:17px;line-height:1.55;color:var(--ink);}
  .ecard-back .tick li + li{margin-top:8px;}
  .ecard-back .tick li::before{top:.78em;}
  @media (max-width:1200px){ .ecard{height:480px;} }
  @media (max-width:860px){ .ecard-grid{grid-template-columns:1fr;} .ecard{height:520px;} .ecard-back{padding:26px 24px;justify-content:flex-start;} .ecard-back p,.ecard-back .tick li{font-size:16px;} }
  @media (prefers-reduced-motion:reduce){ .ecard-inner{transition:none;} }

  .bio{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:60px;align-items:start;}
  .bio-side{position:sticky;top:130px;display:grid;gap:24px;}
  .bio-photo{margin:0;border:1px solid var(--line);padding:10px;background:var(--card);box-shadow:0 22px 50px -32px rgba(6,22,41,.7);}
  .bio-photo img{width:100%;height:auto;display:block;}
  .bio-facts{margin:0;display:grid;gap:18px;border-top:2px solid var(--navy);padding-top:18px;}
  .bio-facts dt{font-family:var(--font-caps);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
  .bio-facts dd{margin:0 0 8px;font-size:15.5px;line-height:1.5;color:var(--ink);}
  .bio-text{display:grid;gap:20px;max-width:70ch;}
  .bio-text p{font-size:18px;line-height:1.7;color:var(--ink-soft);}
  .bio-text .bio-lead{font-size:clamp(21px,1.9vw,25px);line-height:1.55;color:var(--ink);}
  .bio-text .bio-approach{font-family:"Cormorant Garamond","Cormorant",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(23px,2.1vw,28px);line-height:1.4;color:var(--navy);border-left:2px solid var(--silver-mid);padding-left:22px;}
  .about-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid var(--silver-mid);}
  .text-link{font-family:var(--font-caps);font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;}
  @media (max-width:900px){ .bio{grid-template-columns:1fr;gap:32px;} .bio-side{position:static;max-width:420px;} }

  /* home hero: photo on the right, MG mark on the left */
  .hero-grid{position:relative;display:grid;grid-template-columns:1fr auto;gap:56px;align-items:center;}
  .hero .hero-slogan{font-family:"Cormorant Garamond","Cormorant",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(30px,3vw,42px);line-height:1.28;color:var(--silver-hi);max-width:20ch;padding-left:22px;border-left:2px solid var(--silver-mid);margin-top:8px;}
  .hero-photo{margin:0;width:clamp(260px,26vw,350px);background:rgba(255,255,255,.04);border:1px solid rgba(211,215,221,.4);padding:10px;box-shadow:0 30px 60px -30px rgba(0,0,0,.75);}
  .hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;display:block;}
  .hero-photo figcaption{font-family:var(--font-caps);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);text-align:center;padding:12px 0 4px;}
  @media (max-width:980px){ .hero-grid{grid-template-columns:1fr;gap:34px;} .hero-photo{width:min(300px,80vw);} .hero .hero-mark{display:none;} }

  /* scroll-triggered reveal ("animate on scroll") — homepage only; html.fx is set by script */
  @keyframes fxUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:none;}}
  @keyframes fxWord{from{transform:translateY(110%);}to{transform:none;}}
  @keyframes fxPhoto{from{clip-path:inset(100% 0 0 0);}to{clip-path:inset(0 0 0 0);}}
  @keyframes fxZoom{from{transform:scale(1.14);}to{transform:none;}}
  @keyframes fxMark{from{opacity:0;transform:translate(-50%,-50%) scale(.88);}to{opacity:.1;transform:translate(-50%,-50%);}}
  html.fx .reveal:not(.is-in){opacity:0;}
  html.fx .reveal.is-in{animation:fxUp .9s cubic-bezier(.2,.75,.25,1) var(--d,0s) backwards;}
  .reveal-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em;}
  .reveal-words .w > span{display:inline-block;}
  html.fx .reveal-words:not(.is-in) .w > span{transform:translateY(110%);}
  html.fx .reveal-words.is-in .w > span{animation:fxWord .85s cubic-bezier(.2,.75,.25,1) calc(var(--i) * 75ms + var(--d,0s)) backwards;}
  @keyframes fxFade{from{opacity:0;}to{opacity:1;}}
  html.fx .fx-photo:not(.is-in){opacity:0;}
  html.fx .fx-photo.is-in{animation:fxFade .6s ease var(--d,0s) backwards;}
  html.fx .fx-photo.is-in img{animation:fxPhoto 1.3s cubic-bezier(.65,0,.35,1) var(--d,0s) backwards, fxZoom 1.9s cubic-bezier(.2,.75,.25,1) var(--d,0s) backwards;}
  html.fx .fx-photo.is-in figcaption{animation:fxUp .8s cubic-bezier(.2,.75,.25,1) calc(var(--d,0s) + .9s) backwards;}
  html.fx .fx-mark:not(.is-in){opacity:0;}
  html.fx .fx-mark.is-in{animation:fxMark 2.2s ease-out .2s backwards;}

  /* revision round 8 */
  .pagehead .banner-slogan{font-family:"Cormorant Garamond","Cormorant",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(26px,2.5vw,34px);line-height:1.3;color:var(--silver-hi);max-width:26ch;justify-self:end;padding-left:26px;border-left:2px solid var(--silver-mid);}
  @media (max-width:980px){ .pagehead .banner-slogan{justify-self:start;} }

  .c-item .book-btn{font-family:var(--font-sans);font-size:15px;margin-top:4px;}
  .c-item .book-btn:hover{text-decoration:none;}
  .book-note{display:block;font-family:var(--font-sans);font-size:13px;color:var(--ink-soft);margin-top:8px;}

  /* privacy policy */
  .policy{max-width:780px;display:grid;gap:14px;}
  .policy .policy-lead{font-size:19px;line-height:1.65;color:var(--ink);}
  .policy h2{font-size:22px;margin:22px 0 0;}
  .policy p,.policy .tick li{font-size:16.5px;line-height:1.7;color:var(--ink-soft);}
  .policy b{color:var(--ink);}
  .policy a,.form-note a,.legal a{color:inherit;text-decoration:underline;text-underline-offset:2px;}

  /* practice card: FGC list + fee options */
  .door-body{flex:1;display:grid;gap:12px;align-content:start;}
  .door-body p{flex:none;}
  .door-list li{font-size:15px;color:var(--ink);}
  .door-list li + li{margin-top:5px;}
  .door .door-fees{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
  .door .door-fees span{font-family:var(--font-caps);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);border:1px solid var(--line);background:var(--paper);padding:4px 9px;white-space:nowrap;}
  @media (prefers-reduced-motion:reduce){.door,.hdr,.logo img{transition:none;}}

/* production additions */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#fff;color:var(--navy);padding:10px 14px;font:600 14px/1 var(--font-sans);text-decoration:none;border-radius:3px;}
.skip:focus{top:12px;}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden;}
.cf-turnstile{min-height:65px;}
.form-status{padding:12px 14px;font-size:15px;border-radius:4px;border:1px solid var(--line);background:var(--card);}
.form-status.ok{border-color:#2e7d4f;background:#eef8f1;color:#1d5234;}
.form-status.err{border-color:#a33;background:#fbefef;color:#6b1f1f;}
.intake button[disabled]{opacity:.6;cursor:wait;}
.nf{padding-block:90px 110px;text-align:left;}
.nf .links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:22px;}
