:root{
    --pine:#3A332A;
    --pine-deep:#201B15;
    --ivory:#F7F3EA;
    --sage:#EFE9DC;
    --brass:#B8863F;
    --brass-deep:#8C6428;
    --ink:#2A2A26;
    --ink-soft:#5B5A53;
    --line:#DDD7C8;
    --col:1120px;
    --pad:32px;
    --sec:96px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{font-family:'Inter',sans-serif; color:var(--ink); background:var(--ivory); line-height:1.6;}
  h1,h2,h3,.serif{font-family:'Fraunces',serif;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:var(--col); margin:0 auto; padding:0 var(--pad);}
  section{padding:var(--sec) 0;}
  .eyebrow{text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:600; color:var(--brass-deep);}
  .center{text-align:center;}
  .section-head{max-width:640px; margin:0 auto 52px; text-align:center;}
  .section-head h2{font-size:32px; font-weight:500; color:var(--pine-deep); margin-top:10px;}
  .section-head p{color:var(--ink-soft); font-size:15.5px; margin-top:14px;}
  .btn{display:inline-block; padding:13px 26px; border-radius:2px; font-size:14px; font-weight:600; letter-spacing:.01em; transition:all .15s ease; white-space:nowrap;}
  .btn-primary{background:var(--pine); color:var(--ivory);}
  .btn-primary:hover{background:var(--pine-deep);}
  .btn-ghost{border:1px solid var(--pine); color:var(--pine);}
  .btn-ghost:hover{background:var(--pine); color:var(--ivory);}

  /* Header */
  header{background:#000; border-bottom:1px solid rgba(255,255,255,.12);}
  .topbar{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0;}
  .brand{display:flex; align-items:center; gap:12px;}
  .brand img{height:52px; width:auto;}
  .brand-name{font-family:'Fraunces',serif; font-size:19px; font-weight:600; color:#fff; line-height:1.2;}
  .brand-sub{font-size:10.5px; letter-spacing:.07em; text-transform:uppercase; color:rgba(255,255,255,.65); text-align:center; margin-top:4px; white-space:nowrap;}
  nav{display:flex; align-items:center; gap:8px; font-size:13px; font-weight:500; flex-wrap:nowrap;}
  nav a{color:#fff; padding:8px 12px; border-radius:20px; white-space:nowrap; flex-shrink:0; transition:background .2s ease, color .2s ease;}
  nav a.active{background:var(--brass); color:#241D14;}
  nav a:hover:not(.active){background:rgba(255,255,255,.1);}
  nav a:hover:not(.active){color:var(--brass);}

  /* Questionnaire nav dropdown */
  .nav-dd{position:relative; display:inline-flex;}
  .nav-dd > .nav-link{display:inline-flex; align-items:center; gap:6px;}
  .nav-dd-caret{width:7px; height:7px; border-right:1.6px solid #fff; border-bottom:1.6px solid #fff; transform:rotate(45deg); margin-top:-3px; transition:transform .2s ease, border-color .2s ease; cursor:pointer; padding:6px; margin:-6px -6px -6px -2px; opacity:.85;}
  .nav-dd-caret:hover{border-color:var(--brass); opacity:1;}
  .nav-dd.open .nav-dd-caret{transform:rotate(225deg); margin-top:1px; border-color:var(--brass);}
  .nav-dd-menu{
    position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%) translateY(-6px);
    background:#1B160F; border:1px solid rgba(255,255,255,.14); border-radius:10px;
    min-width:210px; padding:8px; box-shadow:0 18px 40px -12px rgba(0,0,0,.6);
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s;
    z-index:80;
  }
  .nav-dd.open .nav-dd-menu{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); pointer-events:auto;}
  .nav-dd-item{
    display:block; width:100%; text-align:left; background:transparent; border:none;
    color:#E7E2D6; font-size:13.5px; font-weight:600; padding:10px 14px; border-radius:6px;
    cursor:pointer; font-family:'Inter',sans-serif; transition:background .15s ease, color .15s ease;
  }
  .nav-dd-item:hover{background:rgba(255,255,255,.08); color:var(--brass);}
  .nav-dd-item.active{color:var(--brass);}

  .topbar-cta{display:flex; align-items:center; gap:16px;}
  .phone-pill{font-size:14px; font-weight:600; color:#fff;}
  .lang-switch{display:flex; align-items:center; background:rgba(255,255,255,.1); border-radius:20px; padding:3px; gap:2px;}
  .lang-btn{border:none; background:transparent; color:rgba(255,255,255,.65); font-size:12px; font-weight:700; letter-spacing:.03em; padding:6px 12px; border-radius:16px; cursor:pointer; transition:background .2s ease, color .2s ease; font-family:'Inter',sans-serif;}
  .lang-btn.active{background:var(--brass); color:#241D14;}
  @media (max-width:860px){ .lang-btn{padding:6px 9px; font-size:11px;} }

  /* Hero — real photograph: misty pine forest at sunrise */
  .hero{
    position:relative; overflow:hidden; min-height:520px;
    display:flex; align-items:flex-start;
    background:
      linear-gradient(100deg, rgba(32,27,21,.72) 0%, rgba(32,27,21,.42) 40%, rgba(32,27,21,.16) 70%, rgba(32,27,21,.08) 100%),
      url('https://images.pexels.com/photos/34735091/pexels-photo-34735091.jpeg?auto=compress&cs=tinysrgb&w=1920') center 55% / cover no-repeat;
  }
  .hero-inner{position:relative; z-index:1; width:100%; padding:34px 0 32px;}
  .hero .eyebrow{color:var(--brass); opacity:.95;}
  .hero h1{
    font-size:50px; line-height:1.12; font-weight:600; color:#fff;
    letter-spacing:-.01em; margin:16px 0 34px; max-width:680px;
    text-shadow:0 2px 16px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.8);
  }
  .hero h1 em{font-style:italic; color:var(--brass); font-weight:500;}

  /* Animated looping process flow, sits inside the hero */
  .flow{
    position:relative; max-width:600px;
    display:grid; grid-template-columns:1fr 50px 1fr; grid-template-rows:auto 50px auto;
    align-items:center; gap:0 0; margin-bottom:50px;
  }
  .hero-cutout{position:absolute; right:8%; top:9%; height:58%; width:auto; z-index:0; pointer-events:none;}
  .hero-cutout img{height:100%; width:auto; display:block;}
  .flow-box{
    grid-row:1; background:#241D14; border:1px solid rgba(247,243,234,.5);
    box-shadow:0 4px 14px rgba(0,0,0,.35);
    border-radius:4px; padding:14px 16px;
    font-size:13.5px; font-weight:600; color:var(--brass); text-align:center;
    transition:opacity 1.4s ease, transform 1.4s ease, background .6s ease, border-color .6s ease, color .6s ease, box-shadow .6s ease;
    line-height:1.3;
    min-height:78px; display:flex; align-items:center; justify-content:center;
    opacity:0; transform:translateY(8px);
  }
  .flow-box.visible{
    opacity:1; transform:translateY(0);
  }
  .flow-box.active{
    background:var(--brass); border-color:var(--brass); color:#3A2E0E;
    box-shadow:0 10px 26px -6px rgba(184,147,95,.55);
  }
  #box1{grid-column:1; grid-row:1;}
  #box2{grid-column:3; grid-row:1;}
  #box3{grid-column:1; grid-row:3;}
  #box4{grid-column:3; grid-row:3;}
  .flow-arrow{display:flex; align-items:center; justify-content:center; color:rgba(247,243,234,.8); opacity:0; transition:opacity 1.2s ease;}
  .flow-arrow.visible{opacity:1; color:var(--brass);}
  .flow-arrow svg{width:34px; height:34px; filter:drop-shadow(0 1px 3px rgba(0,0,0,.6));}
  #arrowH1{grid-column:2; grid-row:1;}
  #arrowH2{grid-column:2; grid-row:3;}
  #arrowD{grid-column:1/4; grid-row:2; justify-self:center;}
  #arrowD svg{transform:rotate(135deg);}

  .hero-cta{display:flex; gap:14px; flex-wrap:wrap; align-items:center;}
  .btn-gold{background:var(--brass); color:#3A2E0E; padding:15px 30px; border-radius:26px; font-size:14.5px; font-weight:600;}
  .btn-gold:hover{background:#C9A05E;}
  .hero-loop-note{font-size:12px; color:rgba(247,243,234,.6); margin-top:4px;}

  @media (max-width:760px){
    .flow{grid-template-columns:1fr 30px 1fr; max-width:100%;}
    .flow-box{font-size:11.5px; padding:10px 8px; min-height:64px;}
    .hero h1{font-size:32px;}
    .hero-row{flex-direction:column; align-items:stretch;}
    .hero-portrait{width:140px; margin:0 auto;}
  }

  /* Review ribbon — reused component */
  .ribbon{background:var(--pine-deep); overflow:hidden; padding:20px 0; border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08);}
  .ribbon-inner{display:flex; align-items:center; gap:28px;}
  .ribbon-badge{
    flex:0 0 auto; display:flex; align-items:center; gap:10px; padding:0 28px 0 var(--pad);
    border-right:1px solid rgba(255,255,255,.14); white-space:nowrap;
  }
  .ribbon-badge .score{font-family:'Fraunces',serif; font-size:22px; font-weight:600; color:#fff;}
  .ribbon-badge .stars{color:var(--brass); font-size:14px; letter-spacing:1px;}
  .ribbon-badge .meta{font-size:11.5px; color:#9FAD9C; line-height:1.3;}
  .marquee-viewport{overflow:hidden; flex:1;}
  .marquee-track{display:flex; gap:16px; width:max-content; animation:scrollX 42s linear infinite;}
  .marquee-viewport:hover .marquee-track{animation-play-state:paused;}
  @keyframes scrollX{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  .review-pill{
    flex:0 0 auto; display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12); border-radius:24px; padding:10px 18px 10px 14px; max-width:340px;
  }
  .review-pill .stars{color:var(--brass); font-size:12px; letter-spacing:1px; flex:0 0 auto;}
  .review-pill p{font-size:12.5px; color:#DCE4D9; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .review-pill span{font-size:11px; color:#93A196; font-weight:600;}

  /* Why us */
  .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  .why-card{padding:28px 22px; background:#fff; border:1px solid var(--line); border-radius:4px; display:flex; flex-direction:column;}
  .why-card .icon{width:38px; height:38px; border-radius:50%; background:var(--sage); display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--pine-deep); font-family:'Fraunces',serif; font-weight:600; font-size:15px;}
  .why-card h3{font-size:16px; font-weight:600; color:var(--pine-deep); margin-bottom:8px; font-family:'Inter',sans-serif;}
  .why-card p{font-size:13.5px; color:var(--ink-soft);}

  /* Services */
  .services{background:var(--sage);}
  .service-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .service-card{background:var(--ivory); border:1px solid var(--line); padding:28px 26px; border-radius:4px; display:flex; flex-direction:column; transition:transform .15s ease, box-shadow .15s ease;}
  .service-card:hover{transform:translateY(-3px); box-shadow:0 12px 28px -12px rgba(32,27,21,.2);}
  .service-num{font-family:'Fraunces',serif; font-size:13px; color:var(--brass-deep); font-weight:600; margin-bottom:14px;}
  .service-card h3{font-size:17.5px; font-weight:500; color:var(--pine-deep); margin-bottom:10px;}
  .service-card p{font-size:13.5px; color:var(--ink-soft); margin-bottom:16px; flex:1;}
  .service-card a{font-size:13px; font-weight:600; color:var(--pine); border-bottom:1px solid var(--pine); align-self:flex-start;}

  /* Process */
  .process-wrap{display:flex; align-items:flex-start;}
  .process-step{flex:1; text-align:center; padding:0 18px; position:relative;}
  .process-line{flex:0 0 auto; width:40px; height:1px; background:var(--line); margin-top:23px;}
  .step-num{width:46px; height:46px; border-radius:50%; background:var(--pine); color:var(--ivory); font-family:'Fraunces',serif; font-weight:600; font-size:17px; display:flex; align-items:center; justify-content:center; margin:0 auto 18px;}
  .process-step h3{font-size:15.5px; font-weight:600; color:var(--pine-deep); margin-bottom:8px;}
  .process-step p{font-size:13px; color:var(--ink-soft);}

  /* About */
  .about-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
  .about-photo{border-radius:4px; overflow:hidden; border:1px solid var(--line); height:420px;}
  .about-photo img{height:100%; object-fit:cover; width:100%;}
  .credentials{display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 22px;}
  .cred-pill{font-size:12.5px; font-weight:600; color:var(--pine-deep); background:var(--sage); padding:7px 14px; border-radius:20px;}
  .about-quote{font-family:'Fraunces',serif; font-style:italic; font-size:18px; color:var(--pine-deep); border-left:3px solid var(--brass); padding-left:20px; margin:22px 0;}

  /* Testimonials */
  .testimonials{background:var(--pine-deep); color:var(--ivory);}
  .testimonials .section-head h2, .testimonials .eyebrow{color:var(--ivory);}
  .testimonials .section-head p{color:#C9D3CB;}
  .test-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .test-card{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); padding:26px 24px; border-radius:4px; display:flex; flex-direction:column;}
  .test-card .stars{color:var(--brass); font-size:13px; letter-spacing:1px; margin-bottom:12px;}
  .test-card p{font-size:14px; color:#E4E9E1; margin-bottom:16px; flex:1;}
  .test-name{font-size:13.5px; font-weight:600; color:var(--brass);}
  .test-more{display:block; text-align:center; margin-top:36px; font-size:13.5px; font-weight:600; color:var(--brass);}
  .test-more span{border-bottom:1px solid var(--brass); padding-bottom:2px;}

  /* Final CTA */
  .final-cta{background:var(--sage); text-align:center;}
  .final-cta h2{font-size:30px; color:var(--pine-deep); margin-bottom:14px;}
  .final-cta p{color:var(--ink-soft); max-width:520px; margin:0 auto 30px; font-size:15.5px;}
  .final-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

  footer{background:var(--pine-deep); color:#C9D3CB; padding:64px 0 28px; font-size:13.5px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; margin-bottom:44px;}
  .foot-grid h4{font-family:'Fraunces',serif; font-weight:500; color:#fff; font-size:15px; margin-bottom:14px;}
  .foot-grid a{display:block; color:#B7C1B9; padding:4px 0;}
  .foot-grid a:hover{color:#fff;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12px; color:#93A196;}
  .foot-bottom span:last-child{max-width:520px;}

  @media (max-width:860px){
    .hero-grid, .about-grid{grid-template-columns:1fr;}
    .why-grid, .service-grid{grid-template-columns:repeat(2,1fr);}
    .test-grid, .foot-grid{grid-template-columns:1fr;}
    .process-wrap{flex-direction:column; gap:28px;}
    .process-line{display:none;}
    nav{display:none;}
    .hero h1{font-size:32px;}
    .ribbon-badge{padding-right:18px;}
  }

  /* --- About Us view specific styles --- */
/* Breadcrumb */
  .breadcrumb{background:var(--pine-deep); padding:18px 0; font-size:13.5px; color:#B7C1B9;}
  .breadcrumb a{color:#B7C1B9;}
  .breadcrumb a:hover{color:var(--brass);}
  .breadcrumb span{margin:0 8px; opacity:.5;}
  .breadcrumb .current{color:var(--brass); font-weight:600;}

  /* About section */
  #view-about{background:var(--pine-deep); color:var(--ivory);}
  .aboutpg-section{padding:64px 0 80px;}
  .svcpg-section-embedded{padding:0 0 80px; background:var(--ivory);}
  .aboutpg-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:0; align-items:center;}
  .aboutpg-content{padding-right:56px; border-right:1px solid rgba(255,255,255,.14);}
  .eyebrow{text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:600; color:var(--brass);}
  .aboutpg-content h1{font-size:36px; font-weight:600; color:#fff; margin:14px 0 22px; line-height:1.2;}
  .aboutpg-content p.lead{font-size:15.5px; color:#D9DBD4; margin-bottom:34px;}
  .aboutpg-content p.lead .hl{color:var(--brass); font-weight:600;}
  .aboutpg-content h2{font-size:22px; font-weight:600; color:#fff; margin-bottom:14px;}
  .aboutpg-content p.bio{font-size:14.5px; color:#C7C9C2; margin-bottom:28px;}
  .aboutpg-edu-label{font-size:13px; font-weight:600; color:#fff; text-transform:uppercase; letter-spacing:.05em; margin-bottom:12px;}
  .aboutpg-edu-list{list-style:none; margin-bottom:36px;}
  .aboutpg-edu-list li{position:relative; padding-left:22px; font-size:14.5px; color:#D9DBD4; margin-bottom:10px;}
  .aboutpg-edu-list li::before{content:''; position:absolute; left:0; top:8px; width:7px; height:7px; border-radius:50%; background:var(--brass);}
  .aboutpg-cred-pills{display:flex; flex-wrap:wrap; gap:10px;}
  .aboutpg-cred-pill{font-size:12.5px; font-weight:600; color:#241D14; background:var(--brass); padding:8px 16px; border-radius:20px;}

  /* Portrait side */
  .aboutpg-photo-wrap{display:flex; flex-direction:column; align-items:center; gap:18px; padding-left:56px;}
  .aboutpg-label{text-align:center;}
  .aboutpg-label .role{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--brass); font-weight:600; margin-bottom:6px;}
  .aboutpg-label .name{font-family:'Fraunces',serif; font-size:26px; font-weight:600; color:#fff;}
  .aboutpg-photo{width:100%; max-width:360px; height:auto; border-radius:6px;}
  .aboutpg-content .eyebrow{color:var(--brass);}

  /* --- Services view specific styles --- */
  #view-services{background:var(--ivory); color:var(--ink);}
  .svcpg-breadcrumb{background:#fff; border-bottom:1px solid var(--line); padding:18px 0; font-size:13.5px; color:var(--ink-soft);}
  .svcpg-breadcrumb a{color:var(--ink-soft);}
  .svcpg-breadcrumb a:hover{color:var(--brass-deep);}
  .svcpg-breadcrumb span{margin:0 8px; opacity:.5;}
  .svcpg-breadcrumb .current{color:var(--brass-deep); font-weight:600;}
  .svcpg-hero{
    position:relative; overflow:hidden; padding:64px 0 56px;
    background:
      linear-gradient(100deg, rgba(32,27,21,.82) 0%, rgba(32,27,21,.6) 60%, rgba(32,27,21,.45) 100%),
      url('https://images.pexels.com/photos/34735091/pexels-photo-34735091.jpeg?auto=compress&cs=tinysrgb&w=1600') center 55% / cover no-repeat;
  }
  .svcpg-hero h1{position:relative; z-index:1; font-size:38px; font-weight:600; color:#fff;}
  .svcpg-grid{
    position:relative; z-index:1; display:grid; grid-template-columns:repeat(5,1fr); gap:24px;
    margin-top:-64px; padding-bottom:72px;
  }
  .svcpg-card{
    background:#fff; border-radius:6px; box-shadow:0 14px 32px -12px rgba(0,0,0,.25);
    padding:36px 22px 30px; text-align:center; display:flex; flex-direction:column; align-items:center;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .svcpg-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px -14px rgba(0,0,0,.32);}
  .svcpg-card svg{width:64px; height:64px; color:var(--brass); margin-bottom:22px;}
  .svcpg-card h3{font-size:17px; font-weight:600; color:var(--pine-deep); margin-bottom:12px;}
  .svcpg-card p{font-size:13.5px; color:var(--ink-soft); line-height:1.55; flex:1;}
  .svcpg-card a{display:inline-block; margin-top:16px; font-size:12.5px; font-weight:600; color:var(--brass-deep); border-bottom:1px solid var(--brass-deep);}
  @media (max-width:1000px){
    .svcpg-grid{grid-template-columns:repeat(2,1fr); margin-top:24px;}
  }
  @media (max-width:560px){
    .svcpg-grid{grid-template-columns:1fr;}
  }

  /* Insurance Plan Members page */
  .ins-hero{background:var(--pine-deep); padding:64px 0 56px; position:relative; overflow:hidden;}
  .ins-hero::after{content:""; position:absolute; right:-80px; top:-80px; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle, rgba(184,134,63,.22), transparent 70%);}
  .ins-hero-inner{position:relative; z-index:1; max-width:680px;}
  .ins-hero .eyebrow{color:var(--brass);}
  .ins-hero h1{font-size:36px; font-weight:600; color:#fff; margin-top:10px; line-height:1.18;}
  .ins-hero p{color:rgba(255,255,255,.78); font-size:15.5px; margin-top:16px; line-height:1.6;}
  .ins-hero-badges{display:flex; gap:10px; margin-top:26px; flex-wrap:wrap;}
  .ins-hero-badge{display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#fff; font-size:12.5px; font-weight:600; padding:7px 14px; border-radius:999px;}
  .ins-hero-badge svg{width:14px; height:14px; color:var(--brass);}

  .ins-tabs{display:flex; gap:10px; margin-bottom:32px; flex-wrap:wrap;}
  .ins-tab{flex:1; min-width:200px; background:#fff; border:1.5px solid var(--line); border-radius:3px; padding:16px 18px; cursor:pointer; text-align:left; transition:border-color .15s ease, box-shadow .15s ease;}
  .ins-tab:hover{border-color:var(--brass);}
  .ins-tab.active{border-color:var(--brass); box-shadow:0 0 0 1px var(--brass); background:#FDFAF3;}
  .ins-tab-name{font-family:'Fraunces',serif; font-weight:600; font-size:16.5px; color:var(--pine-deep);}
  .ins-tab-sub{font-size:12px; color:var(--ink-soft); margin-top:3px;}

  .ins-panel{display:none;}
  .ins-panel.active{display:block;}
  .ins-coverage-card{background:#fff; border:1px solid var(--line); border-radius:4px; padding:36px; display:grid; grid-template-columns:1fr 1fr; gap:36px;}
  .ins-coverage-card h3{font-family:'Fraunces',serif; font-size:13px; text-transform:uppercase; letter-spacing:.1em; color:var(--brass-deep); margin-bottom:16px;}
  .ins-check-list{list-style:none;}
  .ins-check-list li{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--ink); padding:8px 0; border-bottom:1px solid var(--sage);}
  .ins-check-list li:last-child{border-bottom:none;}
  .ins-check-list svg{width:17px; height:17px; flex-shrink:0; margin-top:2px; color:#3A7D5C;}
  .ins-check-list li.ins-x svg{color:var(--ink-soft);}
  .ins-need-box{background:var(--sage); border-radius:3px; padding:16px 18px; margin-top:22px; font-size:13px; color:var(--ink-soft);}
  .ins-need-box strong{color:var(--pine-deep); display:block; font-size:13.5px; margin-bottom:4px;}
  @media (max-width:760px){
    .ins-coverage-card{grid-template-columns:1fr;}
  }

  .ins-why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:8px;}
  .ins-why-card{padding:24px; border:1px solid var(--line); border-radius:3px; background:#fff;}
  .ins-why-card .num{font-family:'Fraunces',serif; font-size:26px; font-weight:600; color:var(--brass); margin-bottom:10px;}
  .ins-why-card h4{font-size:14.5px; font-weight:600; color:var(--pine-deep); margin-bottom:8px;}
  .ins-why-card p{font-size:13px; color:var(--ink-soft); line-height:1.55;}
  @media (max-width:760px){
    .ins-why-grid{grid-template-columns:1fr;}
  }

  /* --- News view specific styles --- */
  #view-news{background:var(--ivory); color:var(--ink);}
  .newspg-hero{
    position:relative; overflow:hidden; padding:64px 0 56px;
    background:
      linear-gradient(100deg, rgba(32,27,21,.82) 0%, rgba(32,27,21,.6) 60%, rgba(32,27,21,.45) 100%),
      url('https://images.pexels.com/photos/34735091/pexels-photo-34735091.jpeg?auto=compress&cs=tinysrgb&w=1600') center 55% / cover no-repeat;
  }
  .newspg-hero h1{position:relative; z-index:1; font-size:38px; font-weight:600; color:#fff;}
  .newspg-hero p{position:relative; z-index:1; color:#E7E2D6; font-size:14.5px; max-width:520px; margin-top:10px;}
  .newspg-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:56px 0 72px;}
  .newspg-card{background:#fff; border-radius:6px; overflow:hidden; box-shadow:0 10px 26px -12px rgba(0,0,0,.18); transition:transform .2s ease, box-shadow .2s ease;}
  .newspg-card:hover{transform:translateY(-4px); box-shadow:0 16px 34px -14px rgba(0,0,0,.25);}
  .newspg-card-img{height:190px; background-size:cover; background-position:center;}
  .newspg-card-body{padding:20px 22px 24px;}
  .newspg-date{font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--brass-deep); font-weight:600; margin-bottom:8px;}
  .newspg-card h3{font-size:16.5px; font-weight:600; color:var(--pine-deep); margin-bottom:10px; line-height:1.35;}
  .newspg-card p{font-size:13.5px; color:var(--ink-soft); line-height:1.55;}
  .newspg-card a{display:inline-block; margin-top:14px; font-size:12.5px; font-weight:600; color:var(--brass-deep); border-bottom:1px solid var(--brass-deep);}
  @media (max-width:900px){ .newspg-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .newspg-grid{grid-template-columns:1fr;} }
  /* Questionnaire view */
  .q-steps-strip{background:var(--sage); padding:26px 0 46px;}
  .q-steps-row{display:flex; align-items:center;}
  .q-step-dot-wrap{display:flex; flex-direction:column; align-items:center; position:relative;}
  .q-step-dot{width:14px; height:14px; border-radius:50%; background:#C9C2AE; border:2px solid #C9C2AE; z-index:1;}
  .q-step-dot-wrap.current .q-step-dot{width:20px; height:20px; background:var(--brass); border:5px solid var(--sage);}
  .q-step-label{position:absolute; top:24px; width:140px; text-align:center; font-size:11.5px; color:var(--ink-soft); left:50%; transform:translateX(-50%); line-height:1.3;}
  .q-step-line{flex:1; height:1px; background:#C9C2AE; margin:0 -1px;}
  @media (max-width:860px){ .q-steps-strip{display:none;} }

  .q-hero-heading{margin-top:52px; padding-left:36px;}
  .q-hero-heading h1{font-size:34px; font-weight:500; color:var(--pine-deep); line-height:1.2;}

  .q-card{
    background:#fff; border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,.06);
    padding:36px; display:grid; grid-template-columns:1fr 1fr; gap:40px;
    margin:26px 0 var(--sec);
  }
  @media (max-width:860px){ .q-card{grid-template-columns:1fr; padding:26px;} .q-hero-heading{padding-left:26px;} }
  .q-col h2{font-size:18px; font-weight:600; color:var(--pine-deep); margin-bottom:16px;}
  .q-process-step{
    background:var(--sage); border-radius:4px; padding:13px 16px; text-align:center;
    color:var(--brass-deep); font-weight:600; font-size:14px;
    transition:opacity 1.4s ease, transform 1.4s ease, background .6s ease, color .6s ease, box-shadow .6s ease;
    opacity:0; transform:translateY(8px);
  }
  .q-process-step.visible{opacity:1; transform:translateY(0);}
  .q-process-step.active{
    background:var(--brass); color:#3A2E0E;
    box-shadow:0 10px 26px -6px rgba(184,147,95,.45);
  }
  .q-process-arrow{text-align:center; color:#C9C2AE; font-size:17px; padding:3px 0; opacity:0; transition:opacity 1.2s ease, color .6s ease;}
  .q-process-arrow.visible{opacity:1; color:var(--brass-deep);}
  .q-start-btn{
    display:inline-flex; align-items:center; gap:10px; background:var(--brass); color:#fff;
    border:none; padding:13px 26px; border-radius:999px; font-size:14px; font-weight:600;
    cursor:pointer; text-decoration:none; margin-top:20px; transition:background .15s ease;
  }
  .q-start-btn:hover{background:var(--brass-deep);}
  .q-col-left-footer{margin-top:20px; padding-top:16px; border-top:1px solid var(--line); display:flex; justify-content:center;}

  .q-chatbox{border:1px solid var(--line); border-radius:10px; overflow:hidden; display:flex; flex-direction:column; height:100%; background:#FBFAF6;}
  .q-chatbox-header{background:var(--pine-deep); color:#fff; padding:14px 18px; display:flex; align-items:center; gap:10px;}
  .q-chatbox-header .q-dot{width:9px; height:9px; border-radius:50%; background:#5FBF6F;}
  .q-chatbox-header .q-title{font-family:'Fraunces',serif; font-size:14.5px; font-weight:700;}
  .q-chatbox-header .q-sub{font-size:11px; color:rgba(255,255,255,.65); margin-top:1px;}
  .q-chatbox-body{flex:1; padding:20px 18px; display:flex; flex-direction:column; gap:12px; min-height:200px;}
  .q-bubble{max-width:90%; padding:11px 15px; border-radius:14px; font-size:13.5px; line-height:1.55;
    background:#fff; border:1px solid var(--line); border-bottom-left-radius:4px; color:var(--ink);}
  .q-bubble strong{color:var(--brass-deep);}
  .q-chatbox-footer{padding:16px 18px; border-top:1px solid var(--line); background:#fff;}
  .q-chatbox-footer .q-hint{font-size:11.5px; color:var(--ink-soft); margin-top:10px; text-align:center;}
  .q-info-icon{display:inline-flex; width:15px; height:15px; border:1px solid var(--ink-soft); border-radius:50%; align-items:center; justify-content:center; font-size:10px; color:var(--ink-soft); margin-left:6px;}
