  :root{
    --deep:#152A33;
    --deep-dark:#0C1B21;
    --gold:#ffbc1f;
    --gold-light:#f6b10e;
    --cream:#FAF6EC;
    --card:#FFFFFF;
    --ink:#26302E;
    --ink-soft:#5E6866;
    --sage:#EFEBDD;
    --line:#E3DAC3;
    --radius:14px;
    --shadow: 0 22px 48px -26px rgba(12,27,33,0.4);
    --wa:#2FAE60;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter',sans-serif;
    background:var(--cream);
    color:var(--ink);
    line-height:1.6;
    overflow-x:hidden;
    padding-bottom:0;
  }
  img{max-width:100%;display:block;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  .container{max-width:1180px;margin:0 auto;padding:0 24px;}
  .eyebrow{
    font-family:'Inter',sans-serif;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:12px;
    font-weight:600;
    color:var(--gold);
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--gold);}
  h1,h2,h3,h4{
    font-family:'Fraunces',serif;
    font-weight:600;
    color:var(--deep-dark);
    line-height:1.15;
  }
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:8px 30px;border-radius:999px;font-weight:600;font-size:15px;
    border:1px solid transparent;cursor:pointer;transition:.25s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--gold);color:var(--deep-dark);}
  .btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);}
  .btn-outline{border-color:rgba(250,246,239,.4);color:var(--cream);}
  .btn-outline:hover{background:rgba(250,246,239,.1);}
  .btn-dark-outline{border-color:var(--deep);color:var(--deep);}
  .btn-dark-outline:hover{background:var(--deep);color:var(--cream);}
  .btn-wa{background:var(--wa);color:#fff;}
  .btn-wa:hover{background:#279254;transform:translateY(-2px);}

  /* ===== SCROLL REVEAL ===== */
  .rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);}
  .rv.in{opacity:1;transform:translateY(0);}
  .rv.d1{transition-delay:.08s;}
  .rv.d2{transition-delay:.16s;}
  .rv.d3{transition-delay:.24s;}
  .rv.d4{transition-delay:.32s;}
  @media (prefers-reduced-motion: reduce){
    .rv{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
  }

  /* ===== HEADER ===== */
  header{position:sticky;top:0;z-index:100;}
  .topbar{
    background:var(--deep-dark);color:#cfe0da;font-size:13px;
    padding:8px 0;overflow:hidden;position:relative;
  }
  .topbar .container{display:flex;justify-content:space-between;align-items:center;gap:20px;}
  .topbar a{color:#cfe0da;flex-shrink:0;}
  .marquee{flex:1;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
  .marquee-track{display:inline-flex;gap:26px;animation:scroll-left 26s linear infinite;}
  .marquee-track span{display:inline-flex;align-items:center;gap:26px;color:#B9C9C2;font-size:12.5px;}
  .marquee-track b{color:var(--gold-light);}
  @keyframes scroll-left{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .topbar .loc{flex-shrink:0;font-size:12.5px;color:#B9C9C2;}
  .navwrap{
    padding:16px 0;background:rgba(250,246,239,.92);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .navwrap .container{display:flex;align-items:center;justify-content:space-between;gap:20px;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand img.logo-img{height:65px;width:auto;flex-shrink:0;}
  .brand .mark{
    width:46px;height:46px;border-radius:50%;
    background:var(--deep);display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .brand .mark svg{width:24px;height:24px;}
  .brand .name{font-family:'Fraunces',serif;font-size:19px;font-weight:600;color:var(--deep-dark);line-height:1.2;}
  .brand .sub{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);}
  .footer-brand .logo-chip{background:var(--cream);border-radius:12px;padding:5px 16px;display:inline-block;margin-bottom:16px;}
  .footer-brand .logo-chip img.logo-img{height:65px;width:auto;display:block;}
  nav.desknav ul{display:flex;gap:34px;font-size:14.5px;font-weight:500;color:var(--ink);}
  nav.desknav a{position:relative;padding:4px 0;}
  nav.desknav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold);transition:.25s;}
  nav.desknav a:hover::after{width:100%;}
  .nav-actions{display:flex;align-items:center;gap:16px;}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
  .burger span{width:24px;height:2px;background:var(--deep-dark);display:block;transition:.25s;}

  /* ===== MOBILE OFF-CANVAS MENU ===== */
  .mwrap{position:fixed;inset:0;z-index:200;visibility:hidden;}
  .mwrap.open{visibility:visible;}
  .mscrim{position:absolute;inset:0;background:rgba(9,39,36,.55);opacity:0;transition:opacity .3s;}
  .mwrap.open .mscrim{opacity:1;}
  .mpanel{
    position:absolute;top:0;left:0;bottom:0;width:min(340px,86vw);background:var(--deep-dark);
    color:var(--cream);display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);
  }
  .mwrap.open .mpanel{transform:translateX(0);}
  .mp-hd{display:flex;align-items:center;justify-content:space-between;padding:22px 22px;border-bottom:1px solid rgba(255,255,255,.1);}
  .mp-hd .name{font-family:'Fraunces',serif;font-size:18px;color:#fff;}
  .mp-x{background:none;border:1px solid rgba(255,255,255,.25);color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;}
  .mp-sc{flex:1;overflow-y:auto;padding:14px 22px;}
  .mp-a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-size:15.5px;border-bottom:1px solid rgba(255,255,255,.08);color:#E4EBE3;}
  .mp-grp{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-light);margin:20px 0 8px;}
  .mp-contact a{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:14px;color:#C9D9D2;}
  .mp-ft{padding:20px 22px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:10px;}

  /* ===== HERO ===== */
  .hero{
    position:relative;background:var(--deep);color:var(--cream);
    overflow:hidden;
    padding:90px 0 70px;
  }
  .spine-deco{
    position:absolute;right:-40px;top:0;bottom:0;width:340px;opacity:.14;
    pointer-events:none;
  }
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;position:relative;z-index:2;}
  .hero h1{color:#fff;font-size:clamp(34px,4.4vw,54px);margin-bottom:20px;}
  .hero h1 em{font-style:normal;color:var(--gold-light);}
  .hero p.lead{font-size:17px;color:#D9E4DE;max-width:520px;margin-bottom:32px;}
  .hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:46px;}
  .stat-row{display:flex;gap:0;border-top:1px solid rgba(255,255,255,.15);padding-top:28px;flex-wrap:wrap;}
  .stat{flex:1;min-width:110px;padding-right:20px;}
  .stat .num{font-family:'Fraunces',serif;font-size:30px;color:var(--gold-light);font-weight:600;}
  .stat .label{font-size:12.5px;color:#B9C9C2;text-transform:uppercase;letter-spacing:.06em;margin-top:4px;}
  .hero-media{position:relative;}
  .hero-media .frame{
    border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
    border:6px solid rgba(255,255,255,.08);
  }
  .hero-media img{aspect-ratio:4/5;object-fit:cover;width:100%;}
  .hero-badge{
    position:absolute;left:-24px;bottom:26px;background:var(--card);color:var(--ink);
    border-radius:12px;padding:16px 20px;box-shadow:var(--shadow);
    display:flex;align-items:center;gap:12px;max-width:230px;
    animation:floaty 4.5s ease-in-out infinite;
  }
  @keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
  .hero-badge .icon{
    width:40px;height:40px;border-radius:50%;background:var(--sage);
    display:flex;align-items:center;justify-content:center;color:var(--deep);flex-shrink:0;
  }
  .hero-badge .t{font-size:13px;font-weight:600;color:var(--deep-dark);}
  .hero-badge .s{font-size:11.5px;color:var(--ink-soft);}

  /* ===== SECTION GENERIC ===== */
  section{padding:88px 0;}
  .section-head{max-width:640px;margin-bottom:52px;}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  .section-head h2{font-size:clamp(26px,3vw,38px);}
  .section-head p{color:var(--ink-soft);font-size:16px;margin-top:14px;}

  /* ===== ABOUT ===== */
  .about{background:var(--card);}
  .about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center;}
  .about-media{position:relative;}
  .about-media img{border-radius:var(--radius);box-shadow:var(--shadow);}
  .about-media::before{
    content:"";position:absolute;top:-18px;left:-18px;right:18px;bottom:18px;
    border:2px solid var(--gold);border-radius:var(--radius);z-index:-1;
  }
  .about-text p{color:var(--ink-soft);margin-bottom:20px;font-size:15.5px;}
  .feature-list{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;}
  .feature-item{border-left:2px solid var(--gold);padding-left:16px;}
  .feature-item h4{font-size:16px;margin-bottom:6px;}
  .feature-item p{font-size:14px;color:var(--ink-soft);margin:0;}

  /* ===== VALUES ===== */
  .values{background:var(--sage);}
  .values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  .value-card{background:var(--card);border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow);transition:.3s;}
  .value-card:hover{transform:translateY(-6px);}
  .value-card .num{font-family:'Fraunces',serif;color:var(--gold);font-size:14px;letter-spacing:.1em;margin-bottom:14px;display:block;}
  .value-card h3{font-size:20px;margin-bottom:10px;}
  .value-card p{color:var(--ink-soft);font-size:14.5px;}

  /* ===== SERVICES ===== */
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .service-card{
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:32px 28px;transition:.25s;
  }
  .service-card:hover{border-color:var(--gold);box-shadow:var(--shadow);transform:translateY(-4px);}
  .service-card .icon{
    width:52px;height:52px;border-radius:12px;background:var(--sage);color:var(--deep);
    display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:.3s;
  }
  .service-card:hover .icon{background:var(--gold);color:#fff;}
  .service-card h3{font-size:18.5px;margin-bottom:8px;}
  .service-card > p{color:var(--ink-soft);font-size:14px;margin-bottom:16px;}
  .service-card ul li{font-size:13.5px;color:var(--ink-soft);padding-left:16px;position:relative;margin-bottom:6px;}
  .service-card ul li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--gold);}

  /* ===== WHY CHOOSE ===== */
  .why{background:var(--deep-dark);color:var(--cream);}
  .why .section-head p{color:#B9C9C2;}
  .why .section-head h2{color:#fff;}
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .why-item{
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
    border-radius:12px;padding:22px 22px;display:flex;gap:14px;align-items:flex-start;transition:.3s;
  }
  .why-item:hover{background:rgba(255,255,255,.08);border-color:var(--gold);}
  .why-item .chk{
    width:26px;height:26px;border-radius:50%;background:var(--gold);flex-shrink:0;
    display:flex;align-items:center;justify-content:center;margin-top:2px;
  }
  .why-item p{font-size:14.5px;color:#E4EBE3;}

  /* ===== PROCESS ===== */
  .process{background:var(--cream);}
  .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
  .process-grid::before{
    content:"";position:absolute;top:26px;left:8%;right:8%;height:1px;
    background:repeating-linear-gradient(to right, var(--gold) 0 8px, transparent 8px 16px);
  }
  .process-step{padding:0 18px;position:relative;text-align:left;}
  .process-step .step-num{
    width:52px;height:52px;border-radius:50%;background:var(--deep);color:var(--gold-light);
    font-family:'Fraunces',serif;font-size:19px;display:flex;align-items:center;justify-content:center;
    margin-bottom:20px;position:relative;z-index:2;border:5px solid var(--cream);
  }
  .process-step h4{font-size:17px;margin-bottom:8px;}
  .process-step p{font-size:14px;color:var(--ink-soft);}

  /* ===== TESTIMONIALS ===== */
  .testi{background:var(--sage);}
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .testi-card{background:var(--card);border-radius:var(--radius);padding:30px 26px;box-shadow:var(--shadow);}
  .testi-card .quote-mark{font-family:'Fraunces',serif;font-size:44px;color:var(--gold);line-height:1;margin-bottom:6px;}
  .testi-card p.quote{font-size:14.5px;color:var(--ink);margin-bottom:20px;}
  .testi-person{display:flex;align-items:center;gap:12px;}
  .testi-person .avatar{
    width:42px;height:42px;border-radius:50%;background:var(--deep);color:#fff;
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:15px;
  }
  .testi-person .name{font-size:14px;font-weight:600;}
  .testi-person .loc{font-size:12.5px;color:var(--ink-soft);}

  /* ===== FAQ ===== */
  .faq-wrap{max-width:820px;margin:0 auto;}
  details.faq{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;overflow:hidden;}
  details.faq summary{
    list-style:none;cursor:pointer;padding:20px 24px;font-weight:600;font-size:15.5px;
    display:flex;justify-content:space-between;align-items:center;color:var(--deep-dark);
  }
  details.faq summary::-webkit-details-marker{display:none;}
  details.faq summary::after{content:"+";font-size:22px;color:var(--gold);transition:.3s;font-weight:400;}
  details.faq[open] summary::after{transform:rotate(45deg);}
  details.faq .fa-body{padding:0 24px 20px;color:var(--ink-soft);font-size:14.5px;}

    /* ===== AWARENESS VIDEOS ===== */
  .videos{background:var(--sage);}
  .videos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .video-card{
    background:var(--card);border-radius:var(--radius);overflow:hidden;
    box-shadow:var(--shadow);transition:.3s;border:1px solid var(--line);
  }
  .video-card:hover{transform:translateY(-6px);}
  .video-frame{position:relative;width:100%;padding-top:56.25%;background:var(--deep-dark);}
  .video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
  .video-card-foot{
    padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  }
  .video-card-foot h4{font-size:14.5px;font-family:'Inter',sans-serif;font-weight:600;color:var(--deep-dark);}
  .video-card-foot .yt-badge{
    display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;
    color:#fff;background:#FF0000;padding:5px 10px;border-radius:999px;flex-shrink:0;
  }
  .videos-cta{text-align:center;margin-top:40px;}
  @media (max-width:980px){
    .videos-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:760px){
    .videos-grid{grid-template-columns:1fr;}
  }


  /* ===== CTA BANNER ===== */
  .cta-banner{
    background:linear-gradient(120deg,var(--deep),var(--deep-dark));
    color:#fff;border-radius:20px;margin:0 24px;padding:56px 50px;
    display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;
    max-width:1132px;margin-left:auto;margin-right:auto;
  }
  .cta-banner h2{color:#fff;font-size:clamp(24px,2.6vw,32px);max-width:520px;}
  .cta-banner p{color:#C9D9D2;margin-top:10px;}
  .cta-actions{display:flex;gap:14px;flex-wrap:wrap;}

  /* ===== CONTACT / FOOTER ===== */
  footer{background:var(--deep-dark);color:#B9C9C2;padding-top:80px;}
  .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1);}
  .footer-brand .name{font-family:'Fraunces',serif;color:#fff;font-size:21px;margin-bottom:14px;}
  .footer-brand p{font-size:14px;line-height:1.7;}
  .footer-col h4{color:#fff;font-size:15px;margin-bottom:18px;font-family:'Inter',sans-serif;font-weight:600;}
  .footer-col ul li{margin-bottom:11px;font-size:14px;}
  .footer-col ul li a:hover{color:var(--gold-light);}
  .footer-map{border-radius:10px;overflow:hidden;height:150px;margin-top:14px;filter:grayscale(.3);}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:13px;flex-wrap:wrap;gap:10px;}
  .socials{display:flex;gap:14px;}
  .socials a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;transition:.25s;}
  .socials a:hover{border-color:var(--gold);color:var(--gold);}

  /* ===== BACK TO TOP ===== */
  .back-top{
    position:fixed;right:22px;bottom:96px;z-index:150;width:46px;height:46px;border-radius:50%;
    background:var(--deep);color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow);
    display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(10px);
    transition:.3s;
  }
  .back-top.show{opacity:1;pointer-events:auto;transform:translateY(0);}

  /* ===== MOBILE BOTTOM NAV ===== */
  .mbot{display:none;}
  @media (max-width:760px){
    .mbot{
      display:block;position:fixed;left:0;right:0;bottom:0;z-index:150;
      background:var(--card);border-top:1px solid var(--line);
      box-shadow:0 -8px 24px -12px rgba(9,39,36,.25);
      padding-bottom:env(safe-area-inset-bottom,0);
    }
    .mbot ul{display:flex;align-items:center;justify-content:space-around;padding:8px 6px;}
    .mbot li a{
      display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;
      color:var(--ink-soft);font-weight:500;padding:4px 6px;
    }
    .mbot li a.on{color:var(--deep);}
    .mbot li.fab a{
      background:var(--wa);width:52px;height:52px;border-radius:50%;color:#fff;
      display:flex;align-items:center;justify-content:center;margin-top:-26px;
      box-shadow:0 8px 18px -4px rgba(47,174,96,.6);
    }
    .mbot li.fab a em{display:none;}
    body{padding-bottom:78px;}
    .back-top{bottom:88px;right:16px;}
  }

  /* ===== RESPONSIVE ===== */
  @media (max-width:980px){
    .hero-grid,.about-grid{grid-template-columns:1fr;}
    .hero-media{order:-1;max-width:420px;margin:0 auto;}
    .values-grid,.services-grid,.why-grid,.testi-grid{grid-template-columns:repeat(2,1fr);}
    .process-grid{grid-template-columns:repeat(2,1fr);row-gap:36px;}
    .process-grid::before{display:none;}
    .footer-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:760px){
    nav.desknav{display:none;}
    .burger{display:flex;}
    .nav-actions .btn-primary{display:none;}
    .topbar .loc{display:none;}
    .hero{padding:50px 0 50px;}
    .hero-badge{position:static;margin-top:16px;max-width:100%;}
    section{padding:60px 0;}
    .values-grid,.services-grid,.why-grid,.testi-grid,.process-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;gap:32px;}
    .cta-banner{flex-direction:column;text-align:center;padding:40px 26px;}
    .cta-actions{justify-content:center;}
    .about-media::before{display:none;}
    .stat-row{gap:16px;}
    .stat{min-width:45%;}
  }
  @media (max-width:420px){
    .hero-cta,.footer-bottom,.cta-actions{flex-direction:column;align-items:stretch;}
    .btn{width:100%;}
  }
  .form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
}
.form-row > .form-field{
  min-width:0;   /* ఇదే key fix — grid item ని shrink అవ్వనిస్తుంది */
}
.form-field select,
.form-field input,
.form-field textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
/* CF7 wrapper span ni full width చేయాలి */
.contact-form .wpcf7-form-control-wrap{
  display:block;
  width:100%;
}

/* box-sizing fix - padding వల్ల width overflow కాకుండా */
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  box-sizing:border-box;
}

/* CF7 core CSS lo select ki extra margin/width ఉంటే override */
.contact-form select.wpcf7-form-control{
  width:100%;
}
.wpcf7 form.invalid .wpcf7-response-output {
  border: 0 !important;
  margin: 0;
}