:root{
    --ink:#3F4648;
    --ink-soft:#5B6467;
    --paper:#FFFFFF;
    --paper-raised:#F5F6F6;
    --line:#E3E5E5;
    --verdigris:#F4901D;
    --verdigris-dark:#D9760A;
    --brass:#6D797C;
    --brass-light:#FDECD3;
    --stone:#7C8689;
    --red-flag:#8B3A2E;
    --font-display:'Raleway',sans-serif;
    --font-body:'Raleway',sans-serif;
    --font-mono:'Raleway',sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-0.01em;color:var(--ink);}
  .eyebrow{
    font-family:var(--font-mono);
    font-size:12px;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--verdigris-dark);
    display:flex;align-items:center;gap:8px;
    margin-bottom:14px;
  }
  .eyebrow::before{content:'';width:14px;height:1px;background:var(--verdigris);}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    font-family:var(--font-body);font-weight:600;font-size:15px;
    padding:13px 24px;border-radius:2px;
    border:1px solid var(--ink);
    transition:all .18s ease;
    cursor:pointer;
  }
  .btn-primary{background:var(--verdigris);color:#fff;border-color:var(--verdigris);}
  .btn-primary:hover{background:var(--verdigris-dark);border-color:var(--verdigris-dark);}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--ink);}
  .phone-link{font-size:14px;color:var(--stone);align-self:center;border-bottom:1px solid transparent;}
  .phone-link:hover{color:var(--verdigris-dark);border-color:var(--verdigris);}

  /* ---- top strip ---- */
  .topstrip{
    background:var(--ink);color:var(--paper);
    font-family:var(--font-mono);font-size:12.5px;
    padding:8px 0;
  }
  .topstrip .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
  .topstrip a{color:var(--brass-light);}
  .topstrip .badges{display:flex;gap:18px;color:#B7BDB8;}

  /* ---- header ---- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }
  .navbar{display:flex;align-items:center;justify-content:space-between;padding:6px 0;}
  .logo img{height:48px;width:auto;display:block;}
  nav.mainnav{display:flex;gap:34px;font-size:15px;font-weight:500;}
  nav.mainnav a.nav-highlight{color:var(--verdigris);font-weight:600;}
  nav.mainnav a.nav-highlight:hover{color:var(--verdigris-dark);}
  nav.mainnav > div{position:relative;}
  .navcta{display:flex;align-items:center;gap:16px;}
  .navcta .phone{font-family:var(--font-mono);font-size:14px;color:var(--verdigris-dark);}
  .dropdown{
    display:none;position:absolute;top:100%;left:-16px;
    background:var(--paper-raised);border:1px solid var(--line);
    padding:18px 16px 16px;min-width:200px;box-shadow:0 12px 24px rgba(34,40,42,0.08);
  }
  nav.mainnav > div:hover .dropdown{display:block;}
  .dropdown a{display:block;padding:7px 8px;font-size:14px;font-weight:400;border-radius:2px;}
  .dropdown a:hover{background:var(--brass-light);color:var(--verdigris-dark);}

  /* ---- hero ---- */
  .hero{padding:96px 0 80px;position:relative;overflow:hidden;}
  .hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
  .hero h1{font-size:50px;line-height:1.08;margin-bottom:22px;}
  .hero h1 em{font-style:normal;color:var(--verdigris-dark);}
  .hero p.lede{font-size:18px;color:var(--ink-soft);max-width:480px;margin-bottom:32px;}
  .hero-ctas{display:flex;gap:14px;margin-bottom:44px;flex-wrap:wrap;}
  .trust-strip{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;}
  .trust-strip .stat{}
  .trust-strip .stat .num{font-family:var(--font-display);font-size:22px;font-weight:600;}
  .trust-strip .stat .lbl{font-size:12.5px;color:var(--stone);}
  .lattice-wrap{position:relative;}
  .lattice-wrap svg{width:100%;height:auto;}

  /* ---- route selector ---- */
  .routes{padding:88px 0;border-top:1px solid var(--line);}
  .section-head{max-width:600px;margin-bottom:52px;}
  .section-head h2{font-size:34px;line-height:1.15;}
  .section-head p{color:var(--ink-soft);font-size:16px;margin-top:14px;}
  .route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .route-card{background:var(--paper-raised);padding:32px 28px;transition:background .18s ease;position:relative;}
  .route-card:hover{background:var(--brass-light);}
  .route-card .idx{font-family:var(--font-mono);font-size:12px;color:var(--verdigris);margin-bottom:18px;display:block;}
  .route-card h3{font-size:19px;margin-bottom:10px;}
  .route-card p{font-size:14px;color:var(--stone);margin-bottom:18px;}
  .route-card .sub-links{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;}
  .route-card .sub-links a{font-size:13.5px;color:var(--ink-soft);border-bottom:1px solid transparent;}
  .route-card .sub-links a:hover{border-color:var(--verdigris);color:var(--verdigris-dark);}
  .route-card .explore{font-size:13.5px;font-weight:600;color:var(--verdigris-dark);display:inline-flex;align-items:center;gap:6px;}
  .more-services{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid var(--line);}
  .more-services .lbl{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:var(--stone);}
  .more-services a{font-size:14px;font-weight:500;color:var(--ink-soft);border-bottom:1px solid var(--line);}
  .more-services a:hover{color:var(--verdigris-dark);border-color:var(--verdigris);}

  /* ---- bridging callout ---- */
  .callout{
    background:var(--ink);color:var(--paper);
    padding:76px 0;position:relative;overflow:hidden;
  }
  .callout .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:2;}
  .callout .eyebrow{color:var(--brass-light);}
  .callout .eyebrow::before{background:var(--brass);}
  .callout h2{color:var(--paper);font-size:32px;line-height:1.18;margin-bottom:18px;}
  .callout p{color:#C7CBC6;font-size:16px;margin-bottom:24px;}
  .callout .split{display:flex;gap:0;border:1px solid #5B6467;}
  .callout .split > div{flex:1;padding:22px;}
  .callout .split > div:first-child{border-right:1px solid #5B6467;}
  .callout .split .tag{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--brass-light);margin-bottom:8px;display:block;}
  .callout .split p{font-size:14px;color:#C7CBC6;margin:0;}

  /* ---- why ---- */
  .why{padding:88px 0;border-top:1px solid var(--line);}
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 32px;margin-top:48px;}
  .why-item{border-left:2px solid var(--verdigris);padding-left:18px;}
  .why-item h4{font-size:17px;margin-bottom:8px;}
  .why-item p{font-size:14.5px;color:var(--stone);}

  /* ---- partners ---- */
  .partners{padding:60px 0;border-top:1px solid var(--line);}
  .partners .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;}
  .partners-list{display:flex;gap:34px;flex-wrap:wrap;font-family:var(--font-mono);font-size:13.5px;color:var(--stone);}
  .partners-list a:hover{color:var(--verdigris-dark);}

  /* ---- contact ---- */
  .contact{padding:88px 0;border-top:1px solid var(--line);}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
  .contact h2{font-size:32px;margin-bottom:16px;}
  .contact p{color:var(--ink-soft);margin-bottom:24px;max-width:420px;}
  .contact-methods{display:flex;flex-direction:column;gap:14px;}
  .contact-methods a{font-family:var(--font-mono);font-size:15px;display:flex;align-items:center;gap:10px;}
  form.callback{display:flex;flex-direction:column;gap:14px;}
  form.callback input,form.callback select{
    font-family:var(--font-body);font-size:15px;
    padding:12px 14px;border:1px solid var(--line);background:var(--paper-raised);
    border-radius:2px;color:var(--ink);
  }
  form.callback input:focus,form.callback select:focus{outline:none;border-color:var(--verdigris);}
  form.callback .consent{font-size:12.5px;color:var(--stone);display:flex;gap:8px;align-items:flex-start;}
  form.callback .consent a{text-decoration:underline;}

  /* ---- footer ---- */
  footer{background:var(--paper-raised);border-top:1px solid var(--line);padding:64px 0 32px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:32px;margin-bottom:48px;}
  .foot-col h5{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:0.06em;color:var(--stone);margin-bottom:16px;}
  .foot-col a{display:block;font-size:14px;margin-bottom:9px;color:var(--ink-soft);}
  .foot-col a:hover{color:var(--verdigris-dark);}
  .foot-brand .logo{margin-bottom:14px;}
  .foot-brand p{font-size:13.5px;color:var(--stone);max-width:260px;}
  .warning-box{
    border:1px solid var(--red-flag);background:#F7E9E6;color:var(--red-flag);
    padding:14px 18px;font-size:13px;font-weight:600;margin-bottom:28px;font-family:var(--font-mono);
  }
  .legal{font-size:12.5px;color:var(--stone);line-height:1.7;border-top:1px solid var(--line);padding-top:24px;}
  .legal p{margin-bottom:10px;}
  .legal a{text-decoration:underline;}

  @media (max-width:900px){
    nav.mainnav,.navcta .phone{display:none;}
    .hero-grid,.callout .wrap,.contact-grid{grid-template-columns:1fr;}
    .route-grid,.why-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    .hero h1{font-size:36px;}
  }

/* ---- inner service pages ---- */
.breadcrumb{font-size:13px;color:var(--stone);padding:22px 0 0;display:flex;gap:8px;align-items:center;}
.breadcrumb a:hover{color:var(--verdigris-dark);}
.page-hero{padding:36px 0 64px;}
.page-hero-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:48px;align-items:start;}
.page-hero h1{font-size:40px;line-height:1.12;margin-bottom:18px;}
.page-hero p.lede{font-size:17px;color:var(--ink-soft);margin-bottom:28px;max-width:520px;}
.page-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hero-card{background:var(--paper-raised);border:1px solid var(--line);padding:28px;}
.hero-card h3{font-size:16px;margin-bottom:14px;}
.hero-card ul{list-style:none;display:flex;flex-direction:column;gap:11px;}
.hero-card li{font-size:14px;color:var(--ink-soft);padding-left:20px;position:relative;}
.hero-card li::before{content:'';position:absolute;left:0;top:7px;width:8px;height:8px;background:var(--verdigris);}

.content-section{padding:56px 0;border-top:1px solid var(--line);}
.content-section.tight{padding:40px 0;}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.prose h2{font-size:26px;margin-bottom:16px;}
.prose h3{font-size:18px;margin:24px 0 10px;}
.prose p{font-size:15.5px;color:var(--ink-soft);margin-bottom:14px;max-width:640px;}
.prose ul{margin:0 0 14px 0;padding-left:20px;color:var(--ink-soft);font-size:15.5px;}
.prose li{margin-bottom:6px;}

.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:32px 0;}
.fact-card{background:var(--paper-raised);padding:22px;}
.fact-card .num{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--verdigris-dark);margin-bottom:6px;}
.fact-card .lbl{font-size:13px;color:var(--stone);}

.steps{counter-reset:step;display:flex;flex-direction:column;gap:0;margin-top:28px;}
.step{display:flex;gap:20px;padding:20px 0;border-top:1px solid var(--line);}
.step:first-child{border-top:none;}
.step .n{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--verdigris);min-width:32px;}
.step h4{font-size:16px;margin-bottom:6px;}
.step p{font-size:14.5px;color:var(--stone);margin:0;}

.faq{margin-top:24px;}
.faq-item{border-top:1px solid var(--line);padding:18px 0;}
.faq-item summary{font-size:15.5px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:20px;color:var(--verdigris);}
.faq-item[open] summary::after{content:'–';}
.faq-item p{font-size:14.5px;color:var(--stone);margin-top:12px;max-width:640px;}

.related{padding:56px 0;border-top:1px solid var(--line);}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px;}
.related-card{background:var(--paper-raised);padding:22px;}
.related-card h4{font-size:15px;margin-bottom:6px;}
.related-card a{font-size:13px;color:var(--verdigris-dark);font-weight:600;}

.cta-band{background:var(--ink);color:var(--paper);padding:56px 0;text-align:center;}
.cta-band h2{color:var(--paper);font-size:28px;margin-bottom:12px;}
.cta-band p{color:#C9CCCD;margin-bottom:24px;}

@media (max-width:900px){
  .page-hero-grid,.content-grid{grid-template-columns:1fr;}
  .fact-grid{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:1fr 1fr;}
}

/* ---- photography ---- */
.page-photo{width:100%;}
.page-photo img{width:100%;height:auto;display:block;max-height:420px;object-fit:cover;}
.photo-caption{font-family:var(--font-mono);font-size:12px;color:var(--stone);margin-top:8px;}

.adviser-section{padding:64px 0;border-top:1px solid var(--line);}
.adviser-grid{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;}
.adviser-photo{width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid var(--brass-light);}
.adviser-grid h2{font-size:26px;margin-bottom:10px;}
.adviser-grid p{color:var(--ink-soft);font-size:15px;max-width:560px;margin-bottom:16px;}

.contact-adviser{display:flex;align-items:center;gap:16px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line);}
.contact-adviser img{width:64px;height:64px;border-radius:50%;object-fit:cover;}
.contact-adviser .name{font-weight:700;font-size:15px;}
.contact-adviser .role{font-size:13px;color:var(--stone);}

@media (max-width:700px){
  .adviser-grid{grid-template-columns:1fr;text-align:center;justify-items:center;}
}

/* ---- regulatory risk warnings ---- */
.risk-warning{
  border:3px solid var(--red-flag);
  background:#FBF0EE;
  color:var(--red-flag);
  padding:18px 22px;
  font-weight:700;
  font-size:17px;
  line-height:1.5;
  margin:0 0 32px 0;
}
.risk-warning p{margin:0 0 8px 0;font-weight:700;}
.risk-warning p:last-child{margin-bottom:0;}
