.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-636 .elementor-element.elementor-element-20ed62f{padding:50px 0px 50px 0px;text-align:center;}.elementor-636 .elementor-element.elementor-element-20ed62f .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:60px;font-weight:300;color:#FFFFFF;}/* Start custom CSS for html, class: .elementor-element-de365a9 */:root{
    --bg: #F6F4EE;
    --paper: #FFFFFF;
    --ink: #26312D;
    --ink-soft: #5C6B65;
    --line: #E1DFD3;
    --teal: #3F6E64;
    --teal-deep: #2A4A43;
    --teal-tint: #EAF1EE;
    --amber: #BD8A55;
    --amber-tint: #F7EEE1;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:'Inter',-apple-system,'Segoe UI',sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.6;
  }
  h1,h2,h3{
    font-family:'Fraunces',Georgia,serif;
    font-weight:600;
    letter-spacing:-0.01em;
    margin:0;
    color:var(--teal-deep);
  }
  a{color:inherit; text-decoration:none;}
  img,svg{max-width:100%; display:block;}
  .wrap{max-width:1120px; margin:0 auto; padding:0 32px;}

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

  /* ---------- nav ---------- */
  nav{
    position:sticky; top:0; z-index:50;
    background: rgba(246,244,238,0.9);
    backdrop-filter: blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:1120px; margin:0 auto; padding:18px 32px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .brand{
    display:flex; align-items:center; gap:10px;
    font-family:'Fraunces',serif; font-weight:600; font-size:19px; color:var(--teal-deep);
  }
  .brand .mark{
    width:30px; height:30px; flex-shrink:0;
  }
  .brand .sub{
    display:block; font-family:'Inter',sans-serif; font-weight:500; font-size:10px;
    letter-spacing:.14em; text-transform:uppercase; color:var(--amber); margin-top:1px;
  }
  .nav-cta{
    background:var(--teal-deep); color:#fff; padding:10px 22px; border-radius:100px;
    font-size:13.5px; font-weight:600; transition: background .25s ease, transform .25s ease;
    white-space:nowrap;
  }
  .nav-cta:hover{ background:var(--teal); transform: translateY(-1px); }

  /* ---------- hero ---------- */
  .hero{
    padding: 88px 0 72px;
    position:relative;
    overflow:hidden;
  }
  .hero-grid{
    display:grid; grid-template-columns: 1.05fr 0.95fr; gap:56px; align-items:center;
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
    color:var(--teal); background:var(--teal-tint); padding:7px 14px; border-radius:100px;
    margin-bottom:22px;
  }
  .eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--amber); }
  h1.hero-title{
    font-size: 44px; line-height:1.14; margin-bottom:20px; max-width:560px;
  }
  h1.hero-title .accent{ color:var(--amber); }
  .hero-sub{
    font-size:16.5px; color:var(--ink-soft); max-width:480px; margin-bottom:30px;
  }
  .hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:30px; }
  .btn-primary{
    background:var(--teal-deep); color:#fff; padding:14px 28px; border-radius:100px;
    font-size:14.5px; font-weight:600; transition: background .25s ease, transform .25s ease;
    box-shadow: 0 8px 20px rgba(42,74,67,0.18);
  }
  .btn-primary:hover{ background:var(--teal); transform: translateY(-1px); }
  .btn-ghost{
    padding:14px 24px; border-radius:100px; font-size:14.5px; font-weight:600;
    border:1px solid var(--line); color:var(--teal-deep); transition: border-color .25s ease, background .25s ease;
  }
  .btn-ghost:hover{ background:var(--paper); border-color:var(--teal); }
  .hero-trust{
    font-size:13px; color:var(--ink-soft); display:flex; align-items:center; gap:10px;
  }
  .hero-trust svg{ width:16px; height:16px; flex-shrink:0; color:var(--teal); }

  /* hero graphic: gentle pulse / consultation motif */
  .hero-art{
    position:relative;
    background: var(--paper);
    border:1px solid var(--line);
    border-radius:20px;
    padding:34px 30px 26px;
    box-shadow: 0 20px 50px rgba(38,49,45,0.06);
  }
  .hero-art svg{ width:100%; height:auto; }
  .pulse-path{
    stroke-dasharray: 600;
    stroke-dashoffset: 600;
    animation: draw 2.6s ease-out forwards, glow 3.2s ease-in-out 2.6s infinite;
  }
  @keyframes draw{ to{ stroke-dashoffset:0; } }
  @keyframes glow{
    0%,100%{ opacity:1; }
    50%{ opacity:.55; }
  }
  .pulse-dot{
    animation: beat 2.4s ease-in-out infinite;
    transform-origin: center;
  }
  @keyframes beat{
    0%,100%{ transform:scale(1); }
    50%{ transform:scale(1.35); }
  }
  @media (prefers-reduced-motion: reduce){
    .pulse-path, .pulse-dot{ animation:none !important; stroke-dashoffset:0; }
  }
  .art-caption{
    display:flex; justify-content:space-between; align-items:center;
    margin-top:18px; padding-top:16px; border-top:1px solid var(--line);
    font-size:12px; color:var(--ink-soft);
  }
  .art-caption strong{ color:var(--teal-deep); font-weight:600; }

  /* ---------- section shared ---------- */
  section{ padding: 40px 0; }
  .section-head{ max-width:620px; margin-bottom:44px; }
  .section-kicker{
    font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
    color:var(--amber); margin-bottom:12px; display:block;
  }
  .section-head h2{ font-size:30px; line-height:1.25; margin-bottom:12px; }
  .section-head p{ color:var(--ink-soft); font-size:15.5px; }

  /* ---------- services ---------- */
  .services{ background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .services-grid{
    display:grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
  }
  .service-card{
    padding: 26px 24px; border:1px solid var(--line); border-radius:14px;
    background: var(--bg);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .service-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(38,49,45,0.08);
    border-color: var(--teal);
  }
  .service-icon{
    width:42px; height:42px; border-radius:10px; background:var(--teal-tint);
    display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }
  .service-icon svg{ width:22px; height:22px; color:var(--teal-deep); }
  .service-card h3{ font-size:16px; margin-bottom:8px; line-height:1.35; }
  .service-card p{ font-size:13.5px; color:var(--ink-soft); margin:0; }

  /* ---------- how it works ---------- */
  .steps{
    position:relative;
  }
  .steps-line{
    position:absolute; top:34px; left:0; right:0; height:2px;
    background: linear-gradient(90deg, var(--line) 0%, var(--teal) 15%, var(--teal) 85%, var(--line) 100%);
    z-index:0;
  }
  .steps-grid{
    display:grid; grid-template-columns: repeat(4,1fr); gap:24px; position:relative; z-index:1;
  }
  .step{ text-align:left; }
  .step-num{
    width:68px; height:68px; border-radius:50%; background:var(--paper); border:2px solid var(--teal);
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces',serif; font-size:22px; font-weight:600; color:var(--teal-deep);
    margin-bottom:18px;
  }
  .step h3{ font-size:16px; margin-bottom:8px; }
  .step p{ font-size:13.5px; color:var(--ink-soft); margin:0; }

  @media (max-width: 860px){
    .steps-line{ display:none; }
    .steps-grid{ grid-template-columns: 1fr; gap:36px; }
  }

  /* ---------- who benefits ---------- */
  .benefit{ background:var(--teal-deep); color:#F3F1E9; }
  .benefit .section-head h2{ color:#fff; }
  .benefit .section-head p{ color:#CBD9D3; }
  .benefit .section-kicker{ color:#E3B98A; }
  .benefit-grid{
    display:grid; grid-template-columns: repeat(2, 1fr); gap:14px 32px;
  }
  .benefit-item{
    display:flex; align-items:flex-start; gap:14px; padding:16px 0;
    border-bottom: 1px solid rgba(255,255,255,0.12);
  }
  .benefit-item svg{ width:20px; height:20px; flex-shrink:0; color:var(--amber); margin-top:2px; }
  .benefit-item span{ font-size:14.5px; color:#EDEAE0; }

  /* ---------- CTA band ---------- */
  .cta-band{
    background: var(--amber-tint);
    border-top:1px solid var(--line);
  }
  .cta-inner{
    text-align:center; max-width:640px; margin:0 auto;
  }
  .cta-inner h2{ font-size:28px; margin-bottom:14px; }
  .cta-inner p{ color:var(--ink-soft); font-size:15px; margin-bottom:30px; }

  /* ---------- footer ---------- */
  footer{
    padding: 44px 0 34px; border-top:1px solid var(--line);
  }
  .footer-inner{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
  }
  .footer-brand{ font-family:'Fraunces',serif; font-weight:600; color:var(--teal-deep); font-size:15px; }
  .footer-note{ font-size:12px; color:var(--ink-soft); max-width:520px; }
  .footer-links{ display:flex; gap:22px; font-size:13px; color:var(--ink-soft); }
  .footer-links a:hover{ color:var(--teal-deep); }

  @media (max-width: 900px){
    .hero-grid{ grid-template-columns:1fr; }
    .services-grid{ grid-template-columns: repeat(2,1fr); }
    .benefit-grid{ grid-template-columns:1fr; }
    h1.hero-title{ font-size:34px; }
  }
  @media (max-width: 560px){
    .services-grid{ grid-template-columns:1fr; }
    .wrap{ padding:0 20px; }
    .nav-inner{ padding:16px 20px; }
    section{ padding:56px 0; }
  }/* End custom CSS */