:root{
      --blue:#2f3879;
      --blue-deep:#111a4a;
      --green:#4c9d2f;
      --green-deep:#2f6b39;
      --ink:#17213a;
      --muted:#5e626b;
      --paper:#f8f6f1;
      --white:#ffffff;
      --line:rgba(17,26,74,.13);
      --serif:"Marcellus", Georgia, serif;
      --sans:"Inter", Arial, sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      background:var(--paper);
      font-family:var(--sans);
      font-weight:400;
      line-height:1.55;
      -webkit-font-smoothing:antialiased;
    }

    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}

    .shell{width:min(1400px,calc(100% - 56px));margin:auto}

    header{
      position:absolute;
      z-index:20;
      top:0;left:0;right:0;
      padding:28px 0;
    }
    .nav{display:flex;justify-content:flex-end;align-items:center;gap:46px}
    .nav a{
      font-size:.76rem;
      text-transform:uppercase;
      letter-spacing:.08em;
      font-weight:600;
      position:relative;
      padding-bottom:5px;
    }
    .nav a::after{
      content:"";
      position:absolute;left:0;bottom:0;
      width:0;height:1px;background:var(--green-deep);
      transition:width .35s cubic-bezier(.4,0,.2,1);
    }
    .nav a:hover::after,.nav a.active::after{width:100%}
    .nav a.active{color:var(--green-deep)}
    .nav-divider{width:1px;height:12px;background:var(--line)}

    .hero{
      min-height:670px;
      display:grid;
      grid-template-columns:minmax(380px,1fr) minmax(430px,.9fr);
      align-items:center;
      gap:90px;
      padding:120px 0 64px;
    }
    .brand-panel{display:flex;justify-content:center;align-items:flex-start;min-height:420px;align-self:flex-start;margin-top:-105px}
    .brand-panel img{
      width:min(450px,80%);
      height:auto;
      object-fit:contain;
    }
    .hero-copy{padding-right:6vw}
    .hero h1{
      margin:0;
      max-width:620px;
      font:400 clamp(3.2rem,5.2vw,6.4rem)/1.08 var(--serif);
      letter-spacing:0em;
      color:var(--blue-deep);
    }
    .accent-line{width:42px;height:1px;background:var(--green-deep);margin:32px 0 24px}
    .hero p{
      max-width:510px;
      margin:0;
      font:400 clamp(1rem,1.4vw,1.28rem)/1.6 var(--serif);
      color:#4f5259;
    }
    .text-link{
      display:inline-flex;align-items:center;gap:18px;
      margin-top:34px;padding-bottom:6px;
      border-bottom:1px solid var(--green-deep);
      color:var(--green-deep);
      text-transform:uppercase;letter-spacing:.08em;
      font-size:.76rem;font-weight:600;
    }
    .text-link span{font-size:1.2rem;line-height:1}

    .principles{border-top:1px solid rgba(17,26,74,.05);background:#fbfaf7}
    .principles-grid{
      display:grid;grid-template-columns:repeat(3,1fr);
      padding:26px 0 34px;
    }
    .principle{padding:0 54px;min-height:132px;border-left:1px solid var(--line)}
    .principle:first-child{border-left:0}
    .num{font:400 2rem/1 var(--serif);color:var(--green-deep)}
    .mini-line{width:28px;height:1px;background:var(--green-deep);margin:12px 0}
    .principle h2{margin:0 0 10px;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;color:var(--blue-deep)}
    .principle p{margin:0;color:var(--muted);font-size:.9rem;max-width:285px}

    .practice{background:linear-gradient(135deg,var(--blue-deep),#081334);color:white;padding:36px 0 42px}
    .section-kicker{text-align:center;text-transform:uppercase;letter-spacing:.24em;font-size:.78rem;font-weight:500}
    .practice .section-kicker{color:#fff}
    .practice .mini-line{margin:14px auto 28px;background:var(--green)}
    .practice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
    .practice-item{
      min-height:78px;display:flex;align-items:center;
      padding:12px 28px;border-left:1px solid rgba(76,157,47,.55);
      font:400 1rem/1.45 var(--serif);
    }
    .practice-item:nth-child(4n+1){border-left:0}

    .consultation{padding:64px 0 54px;text-align:center;background:#fbfaf7}
    .consultation .mini-line{margin:0 auto 18px}
    .consultation h2{margin:0 0 10px;font:400 1.35rem/1.2 var(--serif);letter-spacing:.03em;text-transform:uppercase;color:var(--blue-deep)}
    .consultation p{margin:0 auto 24px;max-width:560px;color:var(--muted)}
    .button{
      display:inline-flex;align-items:center;gap:22px;
      border:1px solid rgba(47,107,57,.65);
      padding:15px 26px;color:var(--green-deep);
      text-transform:uppercase;letter-spacing:.08em;font-size:.73rem;font-weight:600;
    }

    footer{border-top:1px solid var(--line);padding:28px 0 16px;background:#f8f6f1}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .6fr;gap:34px;align-items:start}
    .footer-logo img{width:250px;max-height:90px;object-fit:contain;object-position:left center}
    footer h3{margin:0 0 8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green-deep)}
    footer p,footer a{display:block;margin:0 0 5px;font-size:.78rem;color:#484c55}
    .linkedin{font-weight:700;font-size:1.15rem;color:var(--blue-deep);text-align:center;padding-top:18px}
    .copyright{border-top:1px solid var(--line);margin-top:18px;padding-top:12px;text-align:center;font-size:.7rem;color:#70737a}

    @media (max-width:980px){
      header{position:relative;padding:20px 0}
      .nav{justify-content:center;gap:22px;flex-wrap:wrap}
      .nav-bar{flex-direction:column;gap:16px}
      .hero{grid-template-columns:1fr;gap:25px;padding:24px 0 60px;text-align:center}
      .brand-panel{min-height:260px;align-self:auto;margin-top:0;align-items:center}
      .brand-panel img{width:min(500px,88%)}
      .hero-copy{padding:0;display:flex;flex-direction:column;align-items:center}
      .principles-grid{grid-template-columns:1fr}
      .principle{border-left:0;border-top:1px solid var(--line);padding:28px 16px;min-height:auto;text-align:center}
      .principle:first-child{border-top:0}
      .principle p{margin:auto}
      .practice-grid{grid-template-columns:repeat(2,1fr)}
      .practice-item:nth-child(4n+1){border-left:1px solid rgba(76,157,47,.55)}
      .practice-item:nth-child(2n+1){border-left:0}
      .footer-grid{grid-template-columns:1fr 1fr}
    }

    /* ---------- Interior pages ---------- */
    .brand-panel a,.footer-logo a{display:block}

    .nav-bar{display:flex;align-items:center;justify-content:space-between;gap:24px}
    .mini-logo{display:block;flex-shrink:0}
    .mini-logo img{height:30px;width:auto;display:block}
    header.solid{
      position:relative;
      background:var(--paper);
      border-bottom:1px solid var(--line);
      padding:24px 0;
    }
    .page-header{
      position:relative;
      padding:64px 0;
      border-bottom:1px solid var(--line);
      background:#fbfaf7;
    }
    .page-header .eyebrow{
      display:block;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;
      font-weight:600;color:var(--green-deep);margin-bottom:18px;
    }
    .page-header h1{
      margin:0;max-width:760px;
      font:400 clamp(2.2rem,4.2vw,3.6rem)/1.15 var(--serif);
      color:var(--blue-deep);
    }
    .page-header p{
      margin:22px 0 0;max-width:560px;
      font:400 1.05rem/1.7 var(--serif);color:#4f5259;
    }

    .bio{padding:70px 0;background:var(--paper)}
    .bio-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
    .bio-portrait{
      aspect-ratio:4/5;background:linear-gradient(160deg,#eae7dd,#f4f2ea);
      border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
      color:#a9a498;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;text-align:center;padding:24px;
    }
    .bio-copy h2{margin:0 0 20px;font:400 1.5rem/1.3 var(--serif);color:var(--blue-deep)}
    .bio-copy p{margin:0 0 20px;color:var(--muted);font-size:.98rem;max-width:62ch}
    .bio-copy p strong{color:var(--ink);font-weight:600}
    .bio-facts{margin-top:34px;border-top:1px solid var(--line);padding-top:28px}
    .bio-facts dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green-deep);margin-bottom:4px}
    .bio-facts dd{margin:0 0 20px;font:400 1.05rem/1.4 var(--serif);color:var(--ink)}

    @media (max-width:860px){
      .bio-grid{grid-template-columns:1fr}
      .bio-portrait{max-width:280px}
    }

    /* Contact form */
    .contact-wrap{padding:70px 0 90px;background:var(--paper)}
    .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
    .contact-info dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green-deep);margin-bottom:6px}
    .contact-info dd{margin:0 0 26px;font:400 1.1rem/1.5 var(--serif);color:var(--ink)}
    .contact-info dd a{border-bottom:1px solid var(--line)}
    .contact-info dd a:hover{border-color:var(--green-deep);color:var(--green-deep)}

    form.consult-form{display:flex;flex-direction:column;gap:20px}
    .field label{
      display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;
      color:var(--muted);margin-bottom:8px;
    }
    .field input,.field textarea{
      width:100%;border:1px solid var(--line);background:var(--white);
      padding:13px 14px;font-family:var(--sans);font-size:.95rem;color:var(--ink);
      border-radius:0;
    }
    .field textarea{min-height:130px;resize:vertical}
    .field input:focus,.field textarea:focus{outline:none;border-color:var(--green-deep)}
    .submit-btn{
      align-self:flex-start;
      display:inline-flex;align-items:center;gap:18px;
      border:1px solid var(--green-deep);background:var(--green-deep);
      padding:15px 28px;color:#fff;
      text-transform:uppercase;letter-spacing:.08em;font-size:.73rem;font-weight:600;
      cursor:pointer;transition:background .3s ease,color .3s ease;
    }
    .submit-btn:hover{background:transparent;color:var(--green-deep)}
    .form-note{font-size:.78rem;color:#8a8d94;margin-top:2px}

    @media (max-width:860px){
      .contact-grid{grid-template-columns:1fr;gap:40px}
    }

    /* Legal text page */
    .legal{padding:70px 0 100px;background:var(--paper)}
    .legal-body{max-width:74ch}
    .legal-body h2{font:400 1.2rem/1.3 var(--serif);color:var(--blue-deep);margin:38px 0 12px}
    .legal-body h2:first-child{margin-top:0}
    .legal-body p,.legal-body li{color:var(--muted);font-size:.95rem;line-height:1.8}
    .legal-body ul{padding-left:22px;margin:0 0 18px}
    .legal-updated{font-size:.78rem;color:#8a8d94;margin-bottom:8px}

    @media (max-width:620px){
      .shell{width:min(100% - 32px,1400px)}
      .nav{justify-content:center;flex-wrap:wrap;gap:16px}
      .hero{min-height:auto;padding-top:18px}
      .brand-panel{min-height:210px}
      .hero h1{font-size:3.05rem}
      .hero p{font-size:1.03rem}
      .practice-grid{grid-template-columns:1fr}
      .practice-item,.practice-item:nth-child(n){border-left:0;border-top:1px solid rgba(76,157,47,.35);justify-content:center;text-align:center}
      .practice-item:first-child{border-top:0}
      .footer-grid{grid-template-columns:1fr;text-align:center}
      .footer-logo img{margin:auto}
      .linkedin{padding-top:0}
    }
