:root{
    --navy:#0A1F38;
    --navy-deep:#04101F;
    --navy-soft:#13315A;
    --gold:#B8862E;
    --gold-soft:#D9B273;
    --gold-deep:#8C621C;
    --cream:#F7F4EC;
    --paper:#FCFAF5;
    --ink:#1C2024;
    --slate:#5B6470;
    --line:rgba(10,31,56,0.13);
    --line-light:rgba(247,244,236,0.18);
    --maxw:1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Times New Roman',Times,serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3,h4{
    font-family:'Source Serif 4',serif;
    font-weight:600;
    margin:0;
    color:var(--navy);
    letter-spacing:-0.01em;
  }
  p{margin:0;}
  ul{margin:0;padding:0;list-style:none;}
  button{font-family:inherit;cursor:pointer;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

  /* ---------- Fluted column signature device ---------- */
  .flute{
    background-image:repeating-linear-gradient(
      90deg,
      transparent 0px, transparent 7px,
      var(--flute-c, rgba(184,134,46,0.5)) 7px, var(--flute-c, rgba(184,134,46,0.5)) 8.5px
    );
    -webkit-mask-image:linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
            mask-image:linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
  }
  .pillar-mark{
    width:14px;height:18px;flex:none;display:inline-block;
  }
  .pillar-mark svg{width:100%;height:100%;display:block;}

  /* ---------- Disclaimer gate ---------- */
  #gate{
    position:fixed;inset:0;z-index:999;
    background:var(--navy-deep);
    display:flex;align-items:center;justify-content:center;
    padding:28px;
    overflow-y:auto;
  }
  #gate.hidden{display:none;}
  .gate-card{
    max-width:560px;width:100%;
    background:var(--navy);
    border:1px solid var(--line-light);
    border-radius:2px;
    padding:44px 38px;
    text-align:left;
    position:relative;
    margin:auto;
  }
  .gate-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:4px;
    background:linear-gradient(90deg,var(--gold-deep),var(--gold-soft),var(--gold-deep));
  }
  .gate-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px;}
  .gate-logo{width:56px;height:56px;flex:none;}
  .gate-fname{display:block;color:var(--paper);font-family:'Source Serif 4',serif;font-size:1.15rem;line-height:1.3;}
  .gate-ftag{display:block;color:var(--gold-soft);font-size:0.68rem;letter-spacing:0.05em;text-transform:uppercase;font-weight:600;margin-top:3px;}
  .gate-card h2{color:var(--paper);font-size:1.5rem;margin-bottom:14px;}
  .gate-card p{color:rgba(247,244,236,0.78);font-size:0.92rem;line-height:1.7;margin-bottom:26px;}
  .gate-btn{
    background:var(--gold);
    color:var(--navy-deep);
    border:none;
    padding:13px 26px;
    font-weight:600;
    font-size:0.85rem;
    letter-spacing:0.04em;
    text-transform:uppercase;
    border-radius:1px;
    transition:background 0.2s ease;
  }
  .gate-btn:hover{background:var(--gold-soft);}

  /* ---------- Header ---------- */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(247,244,236,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-row{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 28px;
    max-width:var(--maxw);margin:0 auto;
  }
  .brand{display:flex;align-items:center;gap:10px;}
  .brand img{height:38px;width:auto;}
  nav.primary{display:flex;align-items:center;gap:16px;flex-wrap:nowrap;}
  nav.primary a{
    font-size:0.72rem;
    font-weight:600;
    letter-spacing:0.03em;
    text-transform:uppercase;
    color:var(--navy);
    padding:6px 0;
    border-bottom:1px solid transparent;
    transition:border-color 0.2s ease, color 0.2s ease;
    white-space:nowrap;
  }
  nav.primary a:hover{border-color:var(--gold);color:var(--gold-deep);}
  .nav-contact{
    display:flex;align-items:center;gap:18px;
  }
  .nav-call{
    font-size:0.78rem;font-weight:600;color:var(--navy-deep);
    background:var(--gold);
    border:1px solid var(--gold);
    padding:9px 18px;
    letter-spacing:0.03em;
    transition:background 0.2s ease,color 0.2s ease,border-color 0.2s ease;
  }
  .nav-call:hover{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--navy-deep);}
  .menu-toggle{display:none;background:none;border:none;padding:6px;}
  .menu-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    background:var(--navy);
    overflow:hidden;
  }
  .hero-grid{
    max-width:var(--maxw);margin:0 auto;
    padding:96px 28px 88px;
    display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;align-items:center;
    position:relative;z-index:2;
  }
  .hero-eyebrow{
    color:var(--gold-soft);
    font-size:0.78rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
    margin-bottom:22px;display:flex;align-items:center;gap:10px;
  }
  .hero-eyebrow .rule{width:34px;height:1px;background:var(--gold-soft);display:inline-block;}
  .hero h1{
    color:var(--paper);
    font-size:clamp(2.6rem,5vw,4.1rem);
    line-height:1.04;
    margin-bottom:24px;
  }
  .hero h1 em{
    font-style:italic;font-weight:400;color:var(--gold-soft);
  }
  .hero p.lead{
    color:rgba(247,244,236,0.82);
    font-size:1.1rem;
    max-width:480px;
    margin-bottom:34px;
    line-height:1.7;
  }
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 26px;
    font-size:0.82rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;
    border-radius:1px;transition:all 0.2s ease;
  }
  .btn-gold{background:var(--gold);color:var(--navy-deep);border:1px solid var(--gold);}
  .btn-gold:hover{background:transparent;color:var(--gold-soft);}
  .btn-outline{border:1px solid rgba(247,244,236,0.4);color:var(--paper);}
  .btn-outline:hover{border-color:var(--paper);background:rgba(247,244,236,0.06);}
  .btn-navy{border:1px solid var(--navy);color:var(--navy);}
  .btn-navy:hover{background:var(--navy);color:var(--paper);}

  .hero-art{position:relative;height:380px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
  .hero-flute{
    --flute-c:rgba(217,178,115,0.35);
    position:absolute;inset:0;
    width:100%;height:100%;
  }
  .hero-emblem{
    position:relative;z-index:2;
    width:64%;
    max-width:300px;
    max-height:100%;
    margin:0 auto;
    display:block;
    object-fit:contain;
    filter:drop-shadow(0 18px 34px rgba(0,0,0,0.35));
  }


  /* ---------- Section shared ---------- */
  section{padding:96px 0;}
  .eyebrow{
    color:var(--gold-deep);
    font-size:0.76rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
    display:flex;align-items:center;gap:10px;margin-bottom:16px;
  }
  .eyebrow .rule{width:30px;height:1px;background:var(--gold-deep);display:inline-block;}
  .section-head{max-width:680px;margin-bottom:54px;}
  .section-head h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;}
  .section-head p{color:var(--slate);font-size:1.05rem;margin-top:16px;line-height:1.7;}

  /* ---------- About ---------- */
  .about-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:start;}
  .about-copy p{color:var(--ink);margin-bottom:18px;font-size:1.02rem;line-height:1.8;}
  .about-copy p:last-child{margin-bottom:0;}
  .founder-line{
    margin-top:26px;padding-top:22px;border-top:1px solid var(--line);
    font-family:'Source Serif 4',serif;font-style:italic;color:var(--navy);font-size:1.05rem;
  }
  .side-panel{background:var(--paper);border:1px solid var(--line);padding:32px;}
  .side-panel h3{font-size:1.1rem;margin-bottom:18px;}
  .side-list li{
    display:flex;gap:12px;align-items:flex-start;
    padding:12px 0;border-bottom:1px solid var(--line);
    font-size:0.96rem;
  }
  .side-list li:last-child{border-bottom:none;}
  .side-list .pillar-mark{margin-top:2px;color:var(--gold-deep);}

  /* ---------- Mission / Vision ---------- */
  .mv-section{background:var(--navy);position:relative;overflow:hidden;}
  .mv-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;}
  .mv-col{padding:0 44px;}
  .mv-col:first-child{padding-left:0;}
  .mv-col:last-child{padding-right:0;}
  .mv-divider{width:1px;position:relative;}
  .mv-divider .flute{--flute-c:rgba(217,178,115,0.4);width:30px;height:100%;margin:0 auto;}
  .mv-col .eyebrow{color:var(--gold-soft);}
  .mv-col .eyebrow .rule{background:var(--gold-soft);}
  .mv-col h3{color:var(--paper);font-size:1.5rem;margin-bottom:18px;}
  .mv-col > p.intro{color:rgba(247,244,236,0.8);font-size:1rem;line-height:1.75;margin-bottom:26px;}
  .mv-col .sub-label{
    color:var(--gold-soft);font-size:0.74rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
    margin-bottom:14px;display:block;
  }
  .mv-list li{
    display:flex;gap:12px;padding:11px 0;
    color:rgba(247,244,236,0.78);font-size:0.94rem;line-height:1.6;
    border-bottom:1px solid rgba(247,244,236,0.1);
  }
  .mv-list li:last-child{border-bottom:none;}
  .mv-list .pillar-mark{margin-top:3px;color:var(--gold-soft);}

  .values-row{
    margin-top:74px;padding-top:54px;border-top:1px solid rgba(247,244,236,0.14);
    display:grid;grid-template-columns:repeat(4,1fr);gap:36px;
  }
  .value-item .pillar-mark{margin-bottom:14px;width:16px;height:20px;color:var(--gold-soft);}
  .value-item h4{color:var(--paper);font-size:1.05rem;margin-bottom:8px;font-weight:600;}
  .value-item p{color:rgba(247,244,236,0.68);font-size:0.9rem;line-height:1.6;}

  /* ---------- Practice areas ---------- */
  .practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .practice-card{background:var(--paper);padding:34px 30px;}
  .practice-card .pillar-mark{margin-bottom:18px;width:16px;height:20px;color:var(--gold-deep);}
  .practice-card .svc-icon{width:30px;height:30px;color:var(--gold-deep);}
  .practice-card h3{font-size:1.18rem;margin-bottom:10px;line-height:1.3;}
  .practice-card .desc{color:var(--slate);font-size:0.92rem;line-height:1.65;margin-bottom:18px;}
  details.svc{border-top:1px solid var(--line);}
  details.svc summary{
    list-style:none;cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;
    padding:13px 0 6px;
    font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--gold-deep);
  }
  details.svc summary::-webkit-details-marker{display:none;}
  details.svc summary .plus{
    width:16px;height:16px;position:relative;flex:none;
  }
  details.svc summary .plus::before,
  details.svc summary .plus::after{
    content:"";position:absolute;background:var(--gold-deep);
    transition:transform 0.2s ease;
  }
  details.svc summary .plus::before{left:0;top:7px;width:16px;height:1.5px;}
  details.svc summary .plus::after{left:7px;top:0;width:1.5px;height:16px;}
  details.svc[open] summary .plus::after{transform:scaleY(0);}
  details.svc .svc-list{padding:4px 0 14px;}
  details.svc .svc-list li{
    font-size:0.88rem;color:var(--ink);padding:6px 0;
    display:flex;gap:10px;align-items:flex-start;
    border-bottom:1px dashed var(--line);
  }
  details.svc .svc-list li:last-child{border-bottom:none;}
  details.svc .svc-list .dot{
    width:5px;height:5px;border-radius:50%;background:var(--gold);margin-top:7px;flex:none;
  }

  /* ---------- Jurisdictions ---------- */
  .juris-section{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .juris-inner{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center;}
  .juris-pills{display:flex;flex-wrap:wrap;gap:10px;}
  .juris-pills span{
    border:1px solid var(--navy);color:var(--navy);
    font-size:0.82rem;font-weight:600;padding:9px 16px;
    letter-spacing:0.02em;
  }
  .juris-pills .juris-more{
    border-style:dashed;
    color:var(--slate);
    font-weight:500;
    font-style:italic;
  }

  /* ---------- Team ---------- */
  .founder-card{
    display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:center;
    background:var(--navy);color:var(--paper);padding:44px;margin-bottom:1px;
  }
  .founder-portrait{
    width:100%;aspect-ratio:1/1;background:var(--navy-soft);
    display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(217,178,115,0.4);
  }
  .founder-portrait .pillar-mark{width:54px;height:68px;color:var(--gold-soft);}
  .founder-portrait.has-photo{padding:0;overflow:hidden;}
  .founder-portrait.has-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .founder-card .role-tag{
    color:var(--gold-soft);font-size:0.76rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:10px;display:block;
  }
  .founder-card h3{color:var(--paper);font-size:1.9rem;margin-bottom:14px;}
  .founder-card p{color:rgba(247,244,236,0.78);font-size:0.98rem;line-height:1.75;max-width:560px;}

  .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);}
  .team-grid > .team-card:last-child:nth-child(odd){grid-column:1 / -1;}
  .team-card{background:var(--paper);padding:30px 26px;}
  /* All avatars share the same footprint so name/role align across cards */
  .team-card .avatar{
    width:84px;height:84px;border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:18px;padding:0;overflow:hidden;
  }
  .team-card .avatar .pillar-mark{width:28px;height:35px;color:var(--gold-deep);}
  .team-card .avatar.has-photo img{width:100%;height:100%;object-fit:cover;display:block;}
  .team-card h4{font-size:1.04rem;margin-bottom:6px;}
  .team-card .role-tag{color:var(--gold-deep);font-size:0.76rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;}

  /* ---------- Contact ---------- */
  .contact-section{background:var(--navy);}
  .contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:54px;align-items:stretch;}
  .contact-section .eyebrow{color:var(--gold-soft);}
  .contact-section .eyebrow .rule{background:var(--gold-soft);}
  .contact-section h2{color:var(--paper);}
  .contact-section .section-head p{color:rgba(247,244,236,0.7);}
  .contact-block{display:flex;flex-direction:column;gap:26px;}
  .contact-item{display:flex;gap:16px;align-items:flex-start;border-top:1px solid rgba(247,244,236,0.14);padding-top:22px;}
  .contact-item:first-child{border-top:none;padding-top:0;}
  .contact-item .pillar-mark{margin-top:3px;width:14px;height:18px;color:var(--gold-soft);}
  .contact-item .label{
    color:var(--gold-soft);font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;display:block;margin-bottom:6px;
  }
  .contact-item a, .contact-item p{color:var(--paper);font-size:1rem;line-height:1.6;}
  .contact-item a:hover{color:var(--gold-soft);}
  .contact-section h2 em{font-style:normal;font-weight:600;color:var(--paper);font-family:'Source Serif 4',serif;}

  .contact-form-card{
    background:var(--paper);
    border:1px solid rgba(247,244,236,0.14);
    padding:34px 32px;
  }
  .cf-row{margin-bottom:18px;}
  .cf-row:last-of-type{margin-bottom:24px;}
  .cf-row label{
    display:block;font-size:0.78rem;font-weight:600;color:var(--navy);
    margin-bottom:7px;letter-spacing:0.02em;
  }
  .cf-row input, .cf-row textarea{
    width:100%;
    border:1px solid var(--line);
    background:var(--cream);
    color:var(--ink);
    font-family:'Times New Roman',Times,serif;
    font-size:0.94rem;
    padding:11px 13px;
    resize:vertical;
  }
  .cf-row input::placeholder, .cf-row textarea::placeholder{color:#9099a3;}
  .cf-row input:focus, .cf-row textarea:focus{
    outline:none;border-color:var(--gold);background:var(--paper);
  }
  .cf-status{display:none;padding:12px 16px;margin-bottom:18px;font-size:0.9rem;border-radius:2px;}
  .cf-status.visible{display:block;}
  .cf-status.success{background:rgba(184,134,46,0.12);border:1px solid var(--gold);color:var(--navy);}
  .cf-status.error{background:rgba(180,40,40,0.08);border:1px solid #b42828;color:#7a1d1d;}
  .btn-send:disabled{opacity:0.6;cursor:not-allowed;}
  .cf-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
  .btn-send{
    border:none;
    background:linear-gradient(120deg,var(--navy),var(--gold-deep));
    color:var(--paper);
    padding:13px 28px;
    font-size:0.82rem;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;
    transition:opacity 0.2s ease;
  }
  .btn-send:hover{opacity:0.88;}
  .btn-emailus{
    border:1px solid var(--navy);color:var(--navy);
    padding:12px 24px;
    font-size:0.82rem;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;
    transition:background 0.2s ease,color 0.2s ease;
  }
  .btn-emailus:hover{background:var(--navy);color:var(--paper);}

  /* ---------- Footer ---------- */
  footer{background:var(--navy-deep);padding:56px 0 30px;}
  .footer-top{
    display:flex;justify-content:space-between;align-items:flex-start;
    padding-bottom:36px;border-bottom:1px solid rgba(247,244,236,0.12);
    flex-wrap:wrap;gap:30px;
  }
  .footer-brand{display:flex;align-items:center;gap:12px;}
  .footer-brand img{height:42px;}
  .footer-brand-text{display:flex;flex-direction:column;gap:3px;}
  .footer-brand .fb-name{color:var(--paper);font-family:'Source Serif 4',serif;font-size:1.1rem;letter-spacing:0.01em;}
  .footer-brand .fb-tagline{color:var(--gold-soft);font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;font-weight:600;}
  footer nav{display:flex;gap:26px;flex-wrap:wrap;}
  footer nav a{color:rgba(247,244,236,0.65);font-size:0.82rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;}
  footer nav a:hover{color:var(--gold-soft);}
  .footer-disclaimer{
    padding-top:28px;
    color:rgba(247,244,236,0.5);
    font-size:0.78rem;line-height:1.75;max-width:920px;
  }
  .footer-bottom{
    margin-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    color:rgba(247,244,236,0.4);font-size:0.78rem;
  }

  /* ---------- Reveal on scroll ---------- */
  .reveal{opacity:0;transform:translateY(18px);transition:opacity 0.7s ease, transform 0.7s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .reveal{opacity:1;transform:none;transition:none;}
  }

  /* ---------- Responsive ---------- */
  @media (max-width:980px){
    nav.primary{display:none;}
    .menu-toggle{display:block;}
    .hero-grid{grid-template-columns:1fr;}
    .hero-art{height:240px;margin-top:20px;}
    .about-grid{grid-template-columns:1fr;gap:40px;}
    .mv-grid{grid-template-columns:1fr;gap:50px;}
    .mv-divider{display:none;}
    .values-row{grid-template-columns:repeat(2,1fr);}
    .practice-grid{grid-template-columns:repeat(2,1fr);}
    .juris-inner{grid-template-columns:1fr;gap:30px;}
    .founder-card{grid-template-columns:1fr;text-align:left;}
    .founder-portrait{max-width:160px;}
    .team-grid{grid-template-columns:repeat(2,1fr);}
    .contact-grid{grid-template-columns:1fr;}
  }
  @media (max-width:600px){
    .nav-call{display:none;}
    section{padding:64px 0;}
    .practice-grid{grid-template-columns:1fr;}
    .values-row{grid-template-columns:1fr;}
    .team-grid{grid-template-columns:1fr;}
    .hero-grid{padding:48px 22px 56px;}
    .gate-card{padding:32px 24px;}
  }

  /* mobile nav drawer */
  .mobile-nav{
    display:none;position:fixed;inset:0;z-index:200;background:var(--navy);
    flex-direction:column;padding:90px 32px 32px;
  }
  .mobile-nav.open{display:flex;}
  .mobile-nav a{
    color:var(--paper);font-family:'Source Serif 4',serif;font-size:1.6rem;padding:14px 0;
    border-bottom:1px solid rgba(247,244,236,0.12);
  }
  .mobile-close{
    position:absolute;top:24px;right:28px;background:none;border:none;color:var(--paper);font-size:1.8rem;
  }

/* ---------- intl-tel-input override to match form styling ---------- */
.iti{display:block;width:100%;}
.iti__tel-input{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.92);
  font-family:'Source Serif 4',serif;
  font-size:0.96rem;
  color:var(--ink);
}
.iti__tel-input:focus{outline:none;border-color:var(--gold);background:var(--paper);}
.iti__country-list{font-family:'Source Serif 4',serif;font-size:0.92rem;}
.iti--separate-dial-code .iti__selected-country{background:transparent;}
