
  :root{
    --ink:#0A2A33;
    --teal:#0E3A46;
    --teal-deep:#082430;
    --cream:#F5F0E6;
    --cream-soft:#ECE4D4;
    --orange:#E2632E;
    --orange-soft:#F2A67E;
    --sage:#7E9C95;
    --white:#FFFFFF;
    --line: rgba(10,42,51,0.12);
    --line-dark: rgba(245,240,230,0.16);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    background:var(--cream);
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:1200px; margin:0 auto; padding:0 32px;}
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    font-weight:500;
  }
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:500; line-height:1.05; letter-spacing:-0.01em;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Inter',sans-serif; font-weight:600; font-size:14.5px;
    padding:14px 26px; border-radius:3px;
    cursor:pointer; border:1px solid transparent;
    transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--orange); color:var(--white);}
  .btn-primary:hover{background:#c8531f;}
  .btn-ghost{border-color:currentColor; color:var(--white);}
  .btn-ghost:hover{background:rgba(255,255,255,0.1);}
  .btn-dark{border-color:var(--ink); color:var(--ink);}
  .btn-dark:hover{background:var(--ink); color:var(--white);}

  /* ---------- NAV ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(245,240,230,0.92); backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav{display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1200px; margin:0 auto;}
  .logo{display:flex; align-items:baseline; gap:9px;}
  .logo-mark{
    font-family:'Fraunces', serif; font-weight:600; font-size:26px; color:var(--teal);
    position:relative;
  }
  .logo-mark .dot{color:var(--orange);}
  .logo-word{font-family:'IBM Plex Mono', monospace; font-size:10.5px; letter-spacing:0.12em; color:var(--teal); text-transform:uppercase; line-height:1.3;}
  .nav-links{display:flex; gap:34px; align-items:center;}
  .nav-links a{font-size:14.5px; font-weight:500; color:var(--ink); opacity:0.8; transition:opacity .15s;}
  .nav-links a:hover{opacity:1;}
  .nav-cta{display:flex; align-items:center; gap:22px;}
  @media (max-width:900px){ .nav-links{display:none;} }

  /* ---------- HERO ---------- */
  .hero{
    position:relative; min-height:92vh; display:flex; align-items:flex-end;
    background:var(--teal-deep);
    overflow:hidden;
  }
  .hero-img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top right;
    opacity:0.85;
  }
  .hero-overlay{
    position:absolute; inset:0;
    background:linear-gradient(100deg, rgba(8,36,48,0.97) 8%, rgba(8,36,48,0.86) 38%, rgba(8,36,48,0.35) 68%, rgba(8,36,48,0.15) 100%);
  }
  .hero-spiral{position:absolute; right:-60px; top:-60px; width:520px; height:520px; opacity:0.16; pointer-events:none;}
  .hero-inner{position:relative; z-index:2; width:100%; padding:180px 32px 80px; max-width:1200px; margin:0 auto;}
  .hero .eyebrow{color:var(--orange-soft); margin-bottom:22px; display:block;}
  .hero h1{
    font-size:clamp(38px, 5.4vw, 72px);
    color:var(--white); max-width:820px; margin-bottom:26px;
  }
  .hero h1 em{font-style:italic; font-weight:500; color:var(--orange-soft);}
  .hero p.lede{
    font-size:18px; line-height:1.6; color:rgba(245,240,230,0.82);
    max-width:540px; margin-bottom:38px; font-weight:400;
  }
  .hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:52px;}
  .hero-founder{
    display:flex; align-items:center; gap:14px;
    padding-top:28px; border-top:1px solid var(--line-dark);
    max-width:560px;
  }
  .hero-founder img{width:48px; height:48px; border-radius:50%; object-fit:cover; border:2px solid var(--orange-soft);}
  .hero-founder .name{color:var(--white); font-size:14px; font-weight:600;}
  .hero-founder .role{color:rgba(245,240,230,0.6); font-size:12.5px; font-family:'IBM Plex Mono', monospace;}

  /* ---------- STAT STRIP ---------- */
  .stats{background:var(--teal); border-bottom:1px solid var(--line-dark);}
  .stats-grid{
    display:grid; grid-template-columns:repeat(4,1fr);
    max-width:1200px; margin:0 auto;
  }
  .stat{
    padding:38px 32px; text-align:left;
    border-left:1px solid var(--line-dark);
  }
  .stat:first-child{border-left:none;}
  .stat .num{font-family:'IBM Plex Mono', monospace; font-size:34px; color:var(--white); font-weight:500;}
  .stat .label{font-size:12.5px; color:rgba(245,240,230,0.65); margin-top:6px; letter-spacing:0.02em;}
  @media (max-width:800px){ .stats-grid{grid-template-columns:repeat(2,1fr);} .stat{padding:26px 20px;} }

  /* ---------- SECTION generic ---------- */
  section{padding:110px 0;}
  .section-head{max-width:640px; margin-bottom:64px;}
  .section-head .eyebrow{color:var(--orange); margin-bottom:16px;}
  .section-head h2{font-size:clamp(28px,3.4vw,44px); color:var(--teal);}
  .section-head p{font-size:16.5px; color:rgba(10,42,51,0.65); margin-top:18px; line-height:1.6;}

  /* ---------- SOLUTIONS ---------- */
  .solutions-grid{display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:6px; overflow:hidden;}
  .solution-col{padding:48px 44px; background:var(--white);}
  .solution-col + .solution-col{border-left:1px solid var(--line); background:var(--cream-soft);}
  .solution-col .tag{
    display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em;
    padding:5px 10px; border-radius:20px; margin-bottom:20px; text-transform:uppercase; font-weight:500;
  }
  .solution-col:nth-child(1) .tag{background:rgba(14,58,70,0.08); color:var(--teal);}
  .solution-col:nth-child(2) .tag{background:rgba(226,99,46,0.12); color:var(--orange);}
  .solution-col h3{font-size:26px; color:var(--teal); margin-bottom:14px;}
  .solution-col p{font-size:15px; line-height:1.65; color:rgba(10,42,51,0.68); margin-bottom:30px;}
  .chip-list{display:flex; flex-wrap:wrap; gap:10px;}
  .chip{
    font-size:13.5px; font-weight:500; padding:9px 16px; border-radius:3px;
    background:var(--white); border:1px solid var(--line); color:var(--ink);
  }
  .solution-col:nth-child(2) .chip{background:var(--white); border-color:rgba(226,99,46,0.25);}

  /* ---------- EXPERTISE STRIP ---------- */
  .expertise{background:var(--teal-deep); color:var(--white);}
  .expertise .section-head h2{color:var(--white);}
  .expertise .section-head p{color:rgba(245,240,230,0.7);}
  .expertise .section-head .eyebrow{color:var(--orange-soft);}
  .expertise-row{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); border-radius:6px; overflow:hidden;}
  .expertise-item{background:var(--teal); padding:32px 24px; min-height:220px; display:flex; flex-direction:column; justify-content:space-between; transition:background .2s;}
  .expertise-item:hover{background:var(--teal-deep);}
  .expertise-item .n{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--orange-soft);}
  .expertise-item h4{font-family:'Fraunces',serif; font-weight:500; font-size:18px; margin:14px 0 10px;}
  .expertise-item p{font-size:12.8px; line-height:1.55; color:rgba(245,240,230,0.68);}
  @media (max-width:900px){ .expertise-row{grid-template-columns:1fr 1fr;} }

  /* ---------- MARSH FEATURE ---------- */
  .marsh{background:var(--cream-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .marsh-inner{display:flex; align-items:center; gap:70px;}
  .marsh-mark{
    font-family:'Fraunces',serif; font-size:15px; font-weight:600; color:var(--teal);
    border:1px solid var(--line); padding:26px 30px; border-radius:6px; background:var(--white);
    flex-shrink:0; text-align:center; line-height:1.4;
  }
  .marsh-mark .yr{display:block; font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--orange); margin-top:8px; letter-spacing:0.06em;}
  .marsh-text h3{font-size:28px; color:var(--teal); margin-bottom:16px;}
  .marsh-text p{font-size:16px; line-height:1.7; color:rgba(10,42,51,0.7); max-width:640px;}
  @media (max-width:800px){ .marsh-inner{flex-direction:column; align-items:flex-start; gap:28px;} }

  /* ---------- ABOUT / TIMELINE ---------- */
  .about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:center;}
  .about-photo{position:relative;}
  .about-photo img{width:340px; height:340px; border-radius:50%; object-fit:cover; border:10px solid var(--white); box-shadow:0 20px 50px rgba(10,42,51,0.15);}
  .about-photo .blob{position:absolute; width:170px; height:170px; background:var(--orange); border-radius:50%; bottom:6px; left:-30px; z-index:-1; opacity:0.85;}
  .about-text .eyebrow{color:var(--orange); margin-bottom:16px;}
  .about-text h2{font-size:clamp(28px,3.4vw,42px); color:var(--teal); margin-bottom:22px;}
  .about-text p{font-size:16px; line-height:1.7; color:rgba(10,42,51,0.7); margin-bottom:36px; max-width:560px;}
  .about-text p strong{color:var(--teal);}
  .timeline{display:flex; gap:0; position:relative; margin-top:10px;}
  .timeline::before{content:''; position:absolute; top:8px; left:0; right:0; height:1px; background:var(--line);}
  .t-item{flex:1; position:relative; padding-top:26px;}
  .t-item::before{content:''; position:absolute; top:2px; left:0; width:13px; height:13px; border-radius:50%; background:var(--white); border:3px solid var(--orange);}
  .t-item .yr{font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--teal); font-weight:500;}
  .t-item .desc{font-size:13px; color:rgba(10,42,51,0.6); margin-top:6px; line-height:1.4;}
  @media (max-width:900px){ .about-grid{grid-template-columns:1fr;} .about-photo{margin:0 auto;} .timeline{flex-direction:column; gap:22px;} .timeline::before{display:none;} }

  /* ---------- WHY GRID ---------- */
  .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .why-item{background:var(--cream); padding:40px 30px;}
  .why-item .ic{width:38px; height:38px; margin-bottom:22px; color:var(--orange);}
  .why-item h4{font-family:'Fraunces',serif; font-size:19px; color:var(--teal); margin-bottom:10px; font-weight:500;}
  .why-item p{font-size:13.5px; line-height:1.55; color:rgba(10,42,51,0.62);}
  @media (max-width:900px){ .why-grid{grid-template-columns:1fr 1fr;} }

  /* ---------- TEAM BAND ---------- */
  .team{background:var(--teal); color:var(--white);}
  .team-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:center;}
  .team-photo{transform:rotate(-2deg); background:var(--white); padding:14px 14px 44px; border-radius:2px; box-shadow:0 24px 60px rgba(0,0,0,0.35); max-width:420px;}
  .team-photo img{width:100%; border-radius:1px;}
  .team-photo .cap{font-family:'Fraunces',serif; font-style:italic; font-size:13px; color:var(--ink); text-align:center; margin-top:14px;}
  .team-text .eyebrow{color:var(--orange-soft); margin-bottom:16px;}
  .team-text h2{font-size:clamp(26px,3.2vw,38px); color:var(--white); margin-bottom:20px;}
  .team-text > p{font-size:15.5px; line-height:1.7; color:rgba(245,240,230,0.72); margin-bottom:32px; max-width:560px;}
  .check-list{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .check-item{display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:rgba(245,240,230,0.88); line-height:1.4;}
  .check-item svg{flex-shrink:0; margin-top:2px; color:var(--orange-soft);}
  @media (max-width:900px){ .team-grid{grid-template-columns:1fr;} .team-photo{margin:0 auto;} .check-list{grid-template-columns:1fr;} }

  /* ---------- TESTIMONIALS ---------- */
  .testi-row{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
  .testi-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:32px; display:flex; flex-direction:column; gap:18px;}
  .stars{color:var(--orange); font-size:14px; letter-spacing:2px;}
  .testi-card p{font-size:14.5px; line-height:1.65; color:rgba(10,42,51,0.75); flex-grow:1;}
  .testi-who{display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid var(--line);}
  .avatar{width:36px; height:36px; border-radius:50%; background:var(--teal); color:var(--white); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:14px; font-weight:600;}
  .testi-who .nm{font-size:13.5px; font-weight:600; color:var(--teal);}
  .testi-who .role{font-size:11.5px; color:rgba(10,42,51,0.5); font-family:'IBM Plex Mono',monospace;}
  @media (max-width:900px){ .testi-row{grid-template-columns:1fr;} }

  /* ---------- PARTNERS MARQUEE ---------- */
  .partners{background:var(--cream-soft); padding:70px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden;}
  .partners .cap{text-align:center; color:rgba(10,42,51,0.5); font-size:12px; margin-bottom:34px; font-family:'IBM Plex Mono',monospace; letter-spacing:0.08em; text-transform:uppercase;}
  .marquee{display:flex; width:max-content; gap:64px; animation:scroll 32s linear infinite;}
  .marquee span{font-family:'Fraunces',serif; font-size:22px; font-weight:500; color:rgba(10,42,51,0.32); white-space:nowrap;}
  @keyframes scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* ---------- FINAL CTA ---------- */
  .cta-band{background:var(--teal-deep); color:var(--white); text-align:center; position:relative; overflow:hidden;}
  .cta-band h2{font-size:clamp(30px,4.4vw,54px); max-width:780px; margin:0 auto 26px; color:var(--white);}
  .cta-band .lede{font-size:16.5px; color:rgba(245,240,230,0.68); max-width:520px; margin:0 auto 40px;}
  .cta-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:46px;}
  .cta-contact{display:flex; gap:40px; justify-content:center; flex-wrap:wrap; padding-top:36px; border-top:1px solid var(--line-dark);}
  .cta-contact div{font-size:13.5px; color:rgba(245,240,230,0.6);}
  .cta-contact strong{display:block; color:var(--white); font-size:16px; margin-bottom:4px; font-weight:600;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--teal-deep); color:rgba(245,240,230,0.7); padding-top:70px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:50px; padding-bottom:60px; border-bottom:1px solid var(--line-dark);}
  .footer-brand .logo-mark{color:var(--white);}
  .footer-brand .logo-word{color:rgba(245,240,230,0.55);}
  .footer-brand p{font-size:13.5px; line-height:1.6; margin-top:18px; max-width:260px; color:rgba(245,240,230,0.55);}
  footer h5{font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(245,240,230,0.4); margin-bottom:18px;}
  footer ul{list-style:none;}
  footer ul li{margin-bottom:11px; font-size:13.5px;}
  footer ul li a:hover{color:var(--white);}
  .foot-bottom{display:flex; justify-content:space-between; padding:26px 0; font-size:12px; color:rgba(245,240,230,0.4); flex-wrap:wrap; gap:10px;}
  @media (max-width:800px){ .footer-grid{grid-template-columns:1fr 1fr; gap:36px;} }

  @media (max-width:600px){
    section{padding:70px 0;}
    .solutions-grid{grid-template-columns:1fr;}
    .solution-col + .solution-col{border-left:none; border-top:1px solid var(--line);}
    .hero-inner{padding:140px 20px 60px;}
    .marsh-inner{gap:24px;}
  }

/* ---------- PAGE HERO (interior pages) ---------- */
.page-hero{background:var(--teal-deep); color:var(--white); padding:150px 0 70px; position:relative; overflow:hidden;}
.page-hero .crumb{font-family:'IBM Plex Mono',monospace; font-size:12px; color:rgba(245,240,230,0.5); margin-bottom:18px;}
.page-hero .crumb a{color:rgba(245,240,230,0.5);}
.page-hero .crumb a:hover{color:var(--white);}
.page-hero h1{font-size:clamp(32px,4.6vw,54px); color:var(--white); max-width:760px;}
.page-hero p.lede{font-size:16.5px; color:rgba(245,240,230,0.72); max-width:600px; margin-top:20px; line-height:1.65;}

/* ---------- ICON CARD GRID (products/services) ---------- */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.card-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.icard{background:var(--white); padding:38px 32px;}
.icard .tag{display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--orange); margin-bottom:14px;}
.icard h3{font-family:'Fraunces',serif; font-size:21px; color:var(--teal); margin-bottom:12px; font-weight:500;}
.icard p{font-size:14px; line-height:1.6; color:rgba(10,42,51,0.65);}
@media (max-width:900px){ .card-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .card-grid{grid-template-columns:1fr;} }

/* ---------- STEP LIST (claims process) ---------- */
.steps{counter-reset:step; display:flex; flex-direction:column; gap:0;}
.step{display:grid; grid-template-columns:64px 1fr; gap:26px; padding:34px 0; border-bottom:1px solid var(--line);}
.step:first-child{padding-top:0;}
.step:last-child{border-bottom:none;}
.step .num{counter-increment:step; font-family:'Fraunces',serif; font-size:34px; color:var(--orange); font-weight:500;}
.step .num::before{content:counter(step, decimal-leading-zero);}
.step h3{font-family:'Fraunces',serif; font-size:20px; color:var(--teal); margin-bottom:8px; font-weight:500;}
.step p{font-size:14.5px; line-height:1.65; color:rgba(10,42,51,0.65); max-width:600px;}

/* ---------- CONTACT PAGE ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start;}
.contact-info .item{display:flex; gap:16px; padding:22px 0; border-bottom:1px solid var(--line);}
.contact-info .item:first-child{padding-top:0;}
.contact-info .ic{width:22px; height:22px; color:var(--orange); flex-shrink:0; margin-top:2px;}
.contact-info h4{font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--teal); margin-bottom:6px;}
.contact-info p{font-size:14.5px; line-height:1.55; color:rgba(10,42,51,0.68);}
.contact-info a{color:rgba(10,42,51,0.68);}
.contact-info a:hover{color:var(--orange);}
.form-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:40px;}
.form-card h3{font-family:'Fraunces',serif; font-size:22px; color:var(--teal); margin-bottom:8px; font-weight:500;}
.form-card > p{font-size:14px; color:rgba(10,42,51,0.6); margin-bottom:28px;}
.f-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.f-field{display:flex; flex-direction:column; gap:6px;}
.f-field.full{grid-column:1 / -1;}
.f-field label{font-size:12.5px; font-weight:600; color:var(--teal);}
.f-field input, .f-field select, .f-field textarea{
  font-family:'Inter',sans-serif; font-size:14.5px; padding:12px 14px; border-radius:3px;
  border:1px solid var(--line); background:var(--cream); color:var(--ink);
}
.f-field input:focus, .f-field select:focus, .f-field textarea:focus{outline:none; border-color:var(--orange);}
.form-card .btn-primary{width:100%; justify-content:center; margin-top:8px; font-size:15px;}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr; gap:50px;} }
@media (max-width:600px){ .f-row{grid-template-columns:1fr;} .page-hero{padding:130px 0 50px;} }
