:root {
      --primary: #1f7a4c;
      --primary-dark: #145236;
      --accent: #f4f7f5;
      --text: #222;
      --muted: #666;
      --max-width: 1100px;
      --radius: 10px;
    }
    html {
      scroll-behavior: smooth;
      scroll-padding-top: 80px;
    }
    .skip-link {
      position: fixed;
      top: 0.5rem;
      left: 0.5rem;
      z-index: 100;
      padding: 0.65rem 1rem;
      border-radius: 6px;
      background: #ffffff;
      color: var(--primary-dark);
      transform: translateY(-150%);
    }
    .skip-link:focus { transform: translateY(0); }
    * { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--text);
      background: #ffffff;
      line-height: 1.6;
    }
    header {
      border-bottom: 1px solid #e3e3e3;
      background: #ffffff;
      position: sticky;
      top: 0;
      z-index: 10;
    }
    .nav-container {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0.75rem 1.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .logo {
      display: flex;
      align-items: center;
      gap: 0.6rem;
      text-decoration: none;
    }
    .logo img {
      width: 40px;
      height: 40px;
      object-fit: contain;
    }
    .logo-text {
      font-weight: 600;
      letter-spacing: 0.03em;
      color: var(--primary-dark);
    }
    #main-navigation > ul {
      list-style: none;
      display: flex;
      gap: 0.75rem;
      font-size: 0.85rem;
    }
    nav a {
      text-decoration: none;
      color: var(--muted);
      padding-bottom: 0.1rem;
      border-bottom: 2px solid transparent;
    }
    nav a:hover {
      color: var(--primary-dark);
      border-bottom-color: var(--primary);
    }
    .menu-toggle,
    .menu-backdrop {
      display: none;
    }
    .announcements-menu {
      position: relative;
    }
    .announcements-toggle {
      display: inline-flex;
      align-items: center;
      gap: .35rem;
      padding: 0 0 .1rem;
      border: 0;
      border-bottom: 2px solid transparent;
      background: transparent;
      color: var(--muted);
      font: inherit;
      cursor: pointer;
    }
    .announcements-toggle:hover,
    .announcements-toggle[aria-expanded="true"] {
      border-bottom-color: var(--primary);
      color: var(--primary-dark);
    }
    .announcements-dropdown {
      position: absolute;
      top: calc(100% + .8rem);
      right: 0;
      z-index: 30;
      display: none;
      width: min(330px, 86vw);
      max-height: 360px;
      margin: 0;
      padding: .55rem;
      overflow-y: auto;
      list-style: none;
      border: 1px solid #dce7e0;
      border-radius: 12px;
      background: #fff;
      box-shadow: 0 18px 38px rgba(20,82,54,.16);
    }
    .announcements-menu.is-open .announcements-dropdown {
      display: grid;
      gap: .2rem;
    }
    .announcements-dropdown a {
      display: block;
      padding: .7rem .8rem;
      border: 0;
      border-radius: 8px;
      color: #31483d;
      line-height: 1.35;
    }
    .announcements-dropdown a:hover {
      border: 0;
      background: #f0f6f2;
    }

    .hero {
      background: linear-gradient(135deg, #f4f7f5, #e7f3ec);
      padding: 3.5rem 1.5rem 3rem;
    }
    .hero-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: grid;
      grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr);
      gap: 2.5rem;
      align-items: center;
    }
    .hero h1{
	  color: #ffffff;
	  text-shadow: 0 3px 15px rgba(0,0,0,.45);
	}

	.hero-sub{
	  color: rgba(255,255,255,.92);
	  text-shadow: 0 2px 10px rgba(0,0,0,.4);
	}
    .hero-list {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
      margin-bottom: 1.75rem;
    }
    .hero-pill {
      background: #ffffff;
      border-radius: 999px;
      padding: 0.35rem 0.9rem;
      font-size: 0.85rem;
      border: 1px solid #d8e4dd;
      color: var(--primary-dark);
    }
    .btn-primary {
      display: inline-block;
      background: var(--primary);
      color: #ffffff;
      padding: 0.75rem 1.5rem;
      border-radius: 999px;
      text-decoration: none;
      font-weight: 500;
      box-shadow: 0 8px 18px rgba(20, 82, 54, 0.18);
    }
    .btn-primary:hover {
      background: var(--primary-dark);
    }
    .hero-card {
      background: #ffffff;
      border-radius: var(--radius);
      padding: 1.5rem;
      box-shadow: 0 10px 25px rgba(0,0,0,0.06);
      border: 1px solid #e3ebe6;
    }
    .hero-card h2 {
      font-size: 1.1rem;
      margin-bottom: 0.75rem;
      color: var(--primary-dark);
    }
    .hero-card p {
      font-size: 0.95rem;
      color: var(--muted);
      margin-bottom: 0.5rem;
    }

    section {
      padding: 3rem 1.5rem;
    }
    .latest-updates {
      background: linear-gradient(135deg,#f7faf8,#eaf5ee);
    }
    .updates-kicker,
    .announcement-kicker {
      margin-bottom: .35rem;
      color: var(--primary);
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .featured-announcement {
      display: grid;
      grid-template-columns: minmax(260px,.9fr) minmax(0,1.1fr);
      align-items: stretch;
      gap: 2rem;
      margin-top: 2.2rem;
      overflow: hidden;
      border: 1px solid #d8e4dd;
      border-radius: 24px;
      background: #fff;
      box-shadow: 0 18px 45px rgba(20,82,54,.1);
    }
    .featured-image-link img {
      display: block;
      width: 100%;
      height: 100%;
      min-height: 300px;
      object-fit: cover;
    }
    .featured-copy {
      align-self: center;
      padding: 2.5rem 2.5rem 2.5rem 0;
    }
    .featured-copy h3 {
      margin-bottom: 1rem;
      color: var(--primary-dark);
      font-size: clamp(1.55rem,3vw,2.2rem);
      line-height: 1.2;
    }
    .featured-copy p {
      margin-bottom: 1.2rem;
      color: var(--muted);
      font-size: 1.05rem;
    }
    .announcement-page {
      background: #f4f7f5;
    }
    .article-back-link {
      color: var(--primary-dark);
      font-weight: 700;
      text-decoration: none;
    }
    .announcement-article {
      width: min(920px,calc(100% - 2rem));
      margin: 2.5rem auto 5rem;
      overflow: hidden;
      border: 1px solid #d8e4dd;
      border-radius: 24px;
      background: #fff;
      box-shadow: 0 18px 50px rgba(20,82,54,.1);
    }
    .announcement-hero-image {
      display: block;
      width: 100%;
      max-height: 560px;
      object-fit: cover;
    }
    .announcement-article-body {
      padding: clamp(1.5rem,5vw,4rem);
    }
    .announcement-article h1 {
      margin-bottom: 1.5rem;
      color: var(--primary-dark);
      font-size: clamp(2rem,5vw,3.25rem);
      line-height: 1.15;
    }
    .announcement-prose {
      color: #36443c;
      font-size: 1.08rem;
      line-height: 1.8;
    }
    .announcement-prose h2,
    .announcement-prose h3 {
      margin: 1.8rem 0 .7rem;
      color: var(--primary-dark);
    }
    .announcement-prose p,
    .announcement-prose ul,
    .announcement-prose ol,
    .announcement-prose blockquote {
      margin: 0 0 1.1rem;
    }
    .announcement-prose ul,
    .announcement-prose ol {
      padding-left: 1.5rem;
    }
    .announcement-prose blockquote {
      padding: .8rem 1rem;
      border-left: 4px solid var(--primary);
      background: #f2f7f4;
    }
    .announcement-prose a {
      color: var(--primary);
    }
    .announcement-not-found {
      width: min(700px,calc(100% - 2rem));
      margin: 3rem auto;
      border-radius: 18px;
      background: #fff;
      text-align: center;
    }
    .announcement-not-found p {
      margin: .6rem 0 1.2rem;
    }
    .section-inner {
      max-width: var(--max-width);
      margin: 0 auto;
    }
    .section-title{
		font-size:2.3rem;
		color:var(--primary-dark);
		margin-bottom:.75rem;
		position:relative;
		display:inline-block;
	}

	.section-title::after{
		content:'';
		width:70px;
		height:4px;
		background:var(--primary);
		border-radius:999px;
		position:absolute;
		bottom:-10px;
		left:0;
	}
    .section-sub {
      color: var(--muted);
      margin-bottom: 1.75rem;
      max-width: 650px;
    }

    .grid-2 {
      display: grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
      gap: 2rem;
    }
    .card{
		background:#fff;
		border:none;
		border-radius:16px;
		padding:1.75rem;
		box-shadow:
			0 10px 30px rgba(0,0,0,.05);
		transition:.35s;
	}

	.card:hover{
		transform:translateY(-8px);
		box-shadow:
			0 20px 40px rgba(0,0,0,.12);
	}
    .card h3 {
      font-size: 1.1rem;
      margin-bottom: 0.5rem;
      color: var(--primary-dark);
    }
    .card p {
      font-size: 0.95rem;
      color: var(--muted);
      margin-bottom: 0.5rem;
    }
    .tag-list {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
      margin-top: 0.75rem;
    }
    .tag {
      font-size: 0.8rem;
      padding: 0.25rem 0.6rem;
      border-radius: 999px;
      background: var(--accent);
      color: var(--primary-dark);
      border: 1px solid #d8e4dd;
    }

    .services-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
      gap: 1.5rem;
    }

    .conditions-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1rem;
    }
    .conditions-grid li {
      list-style: none;
      padding: 0.6rem 0.75rem;
      border-radius: 999px;
      border: 1px solid #e3ebe6;
      font-size: 0.9rem;
      color: var(--muted);
      background: #ffffff;
    }

    .blog-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 1.5rem;
    }
    .blog-card h3 {
      font-size: 1.05rem;
      margin-bottom: 0.4rem;
      color: var(--primary-dark);
    }
    .blog-card p {
      font-size: 0.9rem;
      color: var(--muted);
    }

    .pricing-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr);
      gap: 2rem;
    }
    .price-list {
      list-style: none;
      font-size: 0.95rem;
      color: var(--muted);
    }
    .price-list li {
      margin-bottom: 0.5rem;
    }
    .price-label {
      font-weight: 600;
      color: var(--primary-dark);
    }
    .package-list {
      list-style: none;
      font-size: 0.9rem;
      color: var(--muted);
    }
    .package-list li {
      margin-bottom: 0.4rem;
    }
    .package-tag {
      font-weight: 600;
      color: var(--primary-dark);
    }

    .contact-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
      gap: 2rem;
    }
    .contact-info p {
      font-size: 0.95rem;
      color: var(--muted);
      margin-bottom: 0.4rem;
    }
    .contact-form {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    .contact-form label {
      font-size: 0.85rem;
      color: var(--muted);
    }
    .contact-form input,
    .contact-form textarea {
      width: 100%;
      padding: 0.6rem 0.75rem;
      border-radius: 6px;
      border: 1px solid #d8d8d8;
      font-size: 0.9rem;
      font-family: inherit;
    }
    .contact-form textarea {
      min-height: 120px;
      resize: vertical;
    }
    .btn-secondary {
      background: #ffffff;
      border-radius: 999px;
      border: 1px solid var(--primary);
      color: var(--primary-dark);
      padding: 0.6rem 1.3rem;
      font-size: 0.9rem;
      cursor: pointer;
    }
    .btn-secondary:hover {
      background: var(--accent);
    }

    footer {
      border-top: 1px solid #e3e3e3;
      padding: 1.5rem;
      font-size: 0.85rem;
      color: var(--muted);
      background: #fafafa;
    }
    .footer-inner {
      max-width: var(--max-width);
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 1.25rem;
    }

    .footer-copy {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
    }

    .social-section {
      padding: 0;
    }

    .social-section h2 {
      margin-bottom: 0.5rem;
      color: var(--primary-dark);
      font-size: 0.9rem;
      font-weight: 600;
    }

    .contact-social {
      margin-top: 1.25rem;
    }

    #contact .contact-social h2,
    #contact .contact-social a {
      color: #ffffff;
    }

    #contact .contact-social .social-links i {
      background: #ffffff;
      color: var(--primary-dark);
    }

    #contact .contact-social .social-links a:hover i {
      background: var(--accent);
    }

    .social-links {
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem;
    }

    .social-links a {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      color: var(--primary-dark);
      text-decoration: none;
      font-weight: 600;
    }

    .social-links i {
      display: inline-flex;
      width: 30px;
      height: 30px;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: var(--primary);
      color: #ffffff;
      transition: transform 0.25s ease, background-color 0.25s ease;
    }

    .social-links a:hover i {
      background: var(--primary-dark);
      transform: translateY(-2px);
    }

    @media (max-width: 900px) {
      .hero-inner,
      .grid-2,
      .pricing-grid,
      .contact-grid {
        grid-template-columns: minmax(0, 1fr);
      }
      header {
        position: static;
      }
      nav ul {
        flex-wrap: wrap;
        justify-content: flex-end;
      }
    }
	
	/* ------------------------------ */
	/* ANIMATIONS + PARALLAX + HOVER */
	/* ------------------------------ */

	/* Fade-in base */
	.fade-in {
	  opacity: 0;
	  transform: translateY(25px);
	  transition: opacity 1s ease, transform 1s ease;
	}

	.fade-in.visible {
	  opacity: 1;
	  transform: translateY(0);
	}

	#services .section-sub.fade-in {
	  transition-delay: 0.08s;
	}

	#services .card.fade-in {
	  transition-duration: 0.65s;
	}

	@media (min-width: 901px) {
	  #services .card.fade-in:nth-child(3n + 2) { transition-delay: 0.08s; }
	  #services .card.fade-in:nth-child(3n) { transition-delay: 0.16s; }
	}

	/* Parallax hero */
	.hero {
	  background-attachment: fixed;
	  background-size: cover;
	  background-position: center;
	}

	/* Card hover */
	.card {
	  transition: transform 0.35s ease, box-shadow 0.35s ease;
	}

	.card:hover {
	  transform: translateY(-8px);
	  box-shadow: 0 18px 35px rgba(0,0,0,0.12);
	}

	/* Button hover enhancement */
	.btn-primary, .btn-secondary {
	  transition: transform 0.25s ease, box-shadow 0.25s ease;
	}

	.btn-primary:hover, .btn-secondary:hover {
	  transform: translateY(-3px);
	  box-shadow: 0 10px 20px rgba(0,0,0,0.15);
	}

	/* Image hover */
	img {
	  transition: transform 0.4s ease;
	}

	img:hover {
	  transform: scale(1.03);
	}

	.hero{
		position: relative;
		width: 100%;
		min-height: 100vh;
		display: flex;
		align-items: center;
		overflow: hidden;
	}

	/* Slider */
	.hero-bg-slider{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.hero-bg-slider .slide{
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;

		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;

		opacity: 0;
		transition: opacity 1.5s ease-in-out;
	}

	.hero-bg-slider .slide.active{
		opacity: 1;
	}

	/* Overlay oscuro */
	.hero-overlay{
	  position: absolute;
	  inset: 0;
	  background: rgba(0,0,0,.60);
	  z-index: 1;
	}

	/* Contenido encima */
	.hero-inner{
		position: relative;
		z-index: 2;
		width: 100%;
	}

	/* Images */
	.hero-bg-slider .slide:nth-child(1){
		background-image:url('../img/slider1.jpg');
	}

	.hero-bg-slider .slide:nth-child(2){
		background-image:url('../img/slider2.jpg');
	}

	.hero-bg-slider .slide:nth-child(3){
		background-image:url('../img/slider3.jpg');
	}

	.hero-bg-slider .slide:nth-child(4){
		background-image:url('../img/slider4.jpg');
	}

	#about,
	#services,
	#blog,
	#contact{
		background:#fff;
	}

	
	#founder,
	#conditions,
	#pricing{
		background:linear-gradient(
			135deg,
			#f7faf8,
			#edf6f0
		);
	}
	#contact{
		background:
		  linear-gradient(
			135deg,
			#1f7a4c,
			#145236
		  );

		color:white;
	}

	#contact .section-title,
	#contact .section-sub,
	#contact p{
		color:white;
	}
	
	.stats{
		display:grid;
		/*grid-template-columns:repeat(4,1fr);*/
		gap:20px;
		text-align:center;
		margin:80px auto;
	}

	.stat h3{
		font-size:3rem;
		color:var(--primary);
	}

	.stat p{
		color:var(--muted);
	}
	
	/* ========================= */
	/* FOUNDER */
	/* ========================= */

	.founder-layout{
	display:grid;
	grid-template-columns:380px 1fr;
	gap:3rem;
	align-items:center;
	}

	.founder-photo img{
	width:100%;
	border-radius:20px;
	box-shadow:0 20px 40px rgba(0,0,0,.15);
	}

	.founder-badges{
	display:flex;
	flex-wrap:wrap;
	gap:.75rem;
	margin-top:1rem;
	}

	.founder-name {
	  margin-bottom: 0.25rem;
	  color: var(--primary-dark);
	  font-size: 1.45rem;
	}

	.founder-badges span{
	background:#f4f7f5;
	padding:.5rem .9rem;
	border-radius:999px;
	color:var(--primary-dark);
	font-size:.85rem;
	border:1px solid #d8e4dd;
	}

	/* ========================= */
	/* SERVICES */
	/* ========================= */

	.service-icon{
	width:60px;
	height:60px;
	border-radius:50%;
	background:#eaf5ee;
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:1rem;
	}

	.service-icon i{
	font-size:1.4rem;
	color:var(--primary);
	}

	#services .card{
	text-align:center;
	}

	/* ========================= */
	/* STATS */
	/* ========================= */

	.stats{
	background:#fff;
	}

	.stats-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:2rem;
	}

	.stat-card{
	text-align:center;
	padding:2rem;
	border-radius:16px;
	background:#fff;
	box-shadow:0 10px 25px rgba(0,0,0,.06);
	}

	.stat-card h3{
	font-size:3rem;
	color:var(--primary);
	line-height:1;
	}

	.stat-card p{
	margin-top:.75rem;
	color:var(--muted);
	}

	/* ========================= */
	/* TESTIMONIALS */
	/* ========================= */

	.testimonials{
	background:#f7faf8;
	}

	.testimonial-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1.5rem;
	}

	.testimonial-card{
	background:#fff;
	border-radius:16px;
	padding:2rem;
	box-shadow:0 10px 25px rgba(0,0,0,.05);
	}

	.testimonial-stars{
	color:#f4b400;
	margin-bottom:1rem;
	}

	.testimonial-name{
	font-weight:600;
	color:var(--primary-dark);
	margin-top:1rem;
	}

	/* ========================= */
	/* CONTACT CTA */
	/* ========================= */

	#contact{
	background:linear-gradient(
	135deg,
	#1f7a4c,
	#145236
	);
	}

	#contact .section-title,
	#contact .section-sub,
	#contact p,
	#contact label,
	#contact strong{
	color:white;
	}

	#contact .section-title::after{
	background:white;
	}

	#contact .contact-form input,
	#contact .contact-form textarea{
	border:none;
	}

	#contact .btn-secondary{
	background:white;
	color:var(--primary-dark);
	border:none;
	font-weight:600;
	}

	/* ========================= */
	/* MOBILE */
	/* ========================= */

	@media(max-width:900px){

		.founder-layout{
			grid-template-columns:1fr;
		}

		.stats-grid{
			grid-template-columns:repeat(2,1fr);
		}

		.testimonial-grid{
			grid-template-columns:1fr;
		}

	}

	.about-image img{
		width:100%;
		height:100%;
		object-fit:cover;
		border-radius:20px;
		box-shadow:0 20px 40px rgba(0,0,0,.12);
	}
	
	.services-grid{
	  display:grid;
	  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
	  gap:24px;
	  margin-top:50px;
	}

	.card{
	  background:#fff;
	  padding:32px 24px;
	  border-radius:22px;
	  text-align:center;
	  box-shadow:0 10px 30px rgba(0,0,0,.08);
	  transition:all .35s ease;
	  border:1px solid rgba(0,0,0,.05);
	}

	.card:hover{
	  transform:translateY(-8px);
	  box-shadow:0 20px 40px rgba(0,0,0,.15);
	}

	.service-icon{
	  width:75px;
	  height:75px;
	  margin:0 auto 20px;
	  border-radius:50%;
	  display:flex;
	  align-items:center;
	  justify-content:center;
	  background:linear-gradient(
		135deg,
		#6cbf84,
		#3a9d5d
	  );
	  color:white;
	  font-size:30px;
	  box-shadow:0 10px 20px rgba(58,157,93,.3);
	}

	.card h3{
	  margin-bottom:12px;
	  color:#1f3c2f;
	  font-size:1.25rem;
	}

	.card p{
	  color:#666;
	  line-height:1.7;
	}
	#conditions{
	  background:#f8fbf8;
	}

	.conditions-grid{
	  display:flex;
	  flex-wrap:wrap;
	  justify-content:center;
	  gap:20px;
	  margin-top:50px;
	}

	.condition-card{
	  flex:1 1 220px;
	  max-width:calc((100% - 60px) / 4);
	  background:white;
	  border-radius:20px;
	  padding:24px;
	  text-align:center;
	  box-shadow:0 10px 25px rgba(0,0,0,.08);
	  transition:all .3s ease;
	  border:1px solid rgba(0,0,0,.05);
	}

	.condition-card:hover{
	  transform:translateY(-6px);
	  box-shadow:0 18px 35px rgba(0,0,0,.12);
	}

	.condition-icon{
	  width:70px;
	  height:70px;
	  margin:0 auto 15px;
	  border-radius:50%;
	  background:linear-gradient(
		135deg,
		#6cbf84,
		#3a9d5d
	  );
	  color:white;
	  display:flex;
	  align-items:center;
	  justify-content:center;
	  font-size:28px;
	  box-shadow:0 10px 20px rgba(58,157,93,.25);
	}

	.condition-card span{
	  display:block;
	  font-size:1rem;
	  font-weight:600;
	  color:#23402f;
	}

	@media(max-width:768px){
	  #conditions{
		padding:35px 20px;
	  }

	  #conditions .conditions-grid{
		display:grid;
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:12px;
		margin-top:30px;
	  }

	  #conditions .condition-card{
		max-width:none;
		padding:18px 12px;
	  }
	}
	
	/* ==========================
	   BLOG SECTION
	========================== */

	
	/* Floating Leaves */

	.floating-leaf{
	  position:absolute;
	  color:#6cbf84;
	  opacity:.06;
	  z-index:1;
	  pointer-events:none;
	}

	.leaf1{
	  top:10%;
	  left:5%;
	  font-size:120px;
	}

	.leaf2{
	  bottom:10%;
	  right:6%;
	  font-size:140px;
	}

	/* Grid */

	.blog-grid{
	  display:grid;
	  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
	  gap:30px;
	  margin-top:50px;
	  position:relative;
	  z-index:2;
	}

	/* Cards */

	.blog-card{
	  position:relative;
	  background:rgba(255,255,255,.95);

	  padding:35px;
	  border-radius:24px;

	  box-shadow:
		0 10px 30px rgba(0,0,0,.08);

	  transition:all .35s ease;

	  overflow:hidden;
	}

	.blog-card:hover{
	  transform:translateY(-8px);

	  box-shadow:
		0 20px 40px rgba(0,0,0,.15);
	}

	.blog-card::before{
	  content:"";
	  position:absolute;
	  top:0;
	  left:0;

	  width:100%;
	  height:5px;

	  background:
		linear-gradient(
		  90deg,
		  #6cbf84,
		  #3a9d5d
		);
	}

	/* Icons */

	.blog-icon{
	  width:70px;
	  height:70px;

	  border-radius:50%;

	  display:flex;
	  align-items:center;
	  justify-content:center;

	  margin-bottom:20px;

	  background:
		linear-gradient(
		  135deg,
		  #6cbf84,
		  #3a9d5d
		);

	  color:white;
	  font-size:28px;

	  box-shadow:
		0 10px 20px rgba(58,157,93,.25);
	}

	/* Typography */

	.blog-card h3{
	  color:#23402f;
	  margin-bottom:15px;
	  font-size:1.25rem;
	}

	.blog-card p{
	  color:#666;
	  line-height:1.8;
	  margin-bottom:20px;
	}

	/* Button */

	.read-more{
	  color:#3a9d5d;
	  text-decoration:none;
	  font-weight:600;
	  transition:.3s;
	}

	.read-more:hover{
	  color:#2d7a47;
	  padding-left:6px;
	}

	.acupuncture-resources {
	  margin-top: 2rem;
	  padding: 1.5rem;
	  border: 1px solid #d8e4dd;
	  border-radius: 20px;
	  background: #f7faf8;
	}

	.resources-heading {
	  display: flex;
	  align-items: center;
	  gap: 1rem;
	  margin-bottom: 1rem;
	}

	.resources-heading > i {
	  color: var(--primary);
	  font-size: 1.75rem;
	}

	.resources-heading h3 {
	  color: var(--primary-dark);
	}

	.resources-heading p {
	  color: var(--muted);
	}

	.acupuncture-resources ul {
	  display: grid;
	  gap: 0.65rem;
	  list-style: none;
	}

	.acupuncture-resources a {
	  display: flex;
	  align-items: center;
	  justify-content: space-between;
	  gap: 1rem;
	  padding: 0.8rem 1rem;
	  border-radius: 10px;
	  background: #ffffff;
	  color: var(--primary-dark);
	  text-decoration: none;
	  font-weight: 600;
	}

	.acupuncture-resources a:hover {
	  background: #eaf5ee;
	}

	.contact-detail {
	  color: #ffffff;
	  text-underline-offset: 3px;
	}

	/* Mobile */

	@media(max-width:768px){

	  .blog-grid{
		grid-template-columns:1fr;
	  }

	  #blog::before,
	  #blog::after{
		opacity:.04;
		width:180px;
	  }

	  .leaf1,
	  .leaf2{
		display:none;
	  }
	}
	/****pricing*****/
	#pricing{
	  background:#f8fbf8;
	  padding:100px 35px;
	}

	.pricing-layout{
	  display:grid;
	  /*grid-template-columns:1.3fr .8fr;*/ 
	  gap:40px;
	  align-items:center;
	  margin-top:50px;
	}

	.pricing-grid{
	  display:grid;
	  gap:25px;
	}

	.pricing-card{
	  background:white;
	  padding:35px;
	  border-radius:24px;
	  box-shadow:0 10px 30px rgba(0,0,0,.08);
	}

	.pricing-card h3{
	  display:flex;
	  align-items:center;
	  gap:12px;
	  color:#23402f;
	  margin-bottom:25px;
	}

	.pricing-card h3 i{
	  color:#3a9d5d;
	}

	.pricing-image{
	  position:relative;
	}

	.pricing-image img{
	  width:100%;
	  height:650px;
	  object-fit:cover;

	  border-radius:30px;

	  box-shadow:
		0 20px 40px rgba(0,0,0,.15);
	}

	.pricing-image::after{
	  content:"";
	  position:absolute;
	  inset:0;

	  border-radius:30px;

	  background:
		linear-gradient(
		  to top,
		  rgba(58,157,93,.20),
		  rgba(58,157,93,.05)
		);
	}

	.price-list,
	.package-list{
	  list-style:none;
	  padding:0;
	}

	.price-list li,
	.package-list li{
	  padding:14px 0;
	  border-bottom:1px solid #eee;
	}

	.price-label{
	  font-weight:700;
	  color:#23402f;
	}

	@media(max-width:900px){

	  .pricing-layout{
		grid-template-columns:1fr;
	  }

	  .pricing-image img{
		height:350px;
	  }
	}
	#pricing{
	  position:relative;
	  padding:100px 35px;

	  background:
		linear-gradient(
		  rgba(18, 45, 32, .72),
		  rgba(18, 45, 32, .72)
		),
		url("../img/bamboo-forest.jpg");

	  background-size:cover;
	  background-position:center;
	  background-repeat:no-repeat;
	  background-attachment:fixed;
	}
	#pricing .section-title{
	  color:#fff;
	}

	#pricing .section-sub{
	  color:rgba(255,255,255,.9);
	}
	.pricing-card{
	  background:rgba(255,255,255,.15);

	  backdrop-filter:blur(18px);
	  -webkit-backdrop-filter:blur(18px);

	  border:1px solid rgba(255,255,255,.2);

	  border-radius:24px;

	  box-shadow:
		0 15px 40px rgba(0,0,0,.25);

	  color:white;
	}
	.pricing-card h3{
	  color:white;
	}

	.price-list li,
	.package-list li{
	  color:rgba(255,255,255,.95);
	  border-bottom:1px solid rgba(255,255,255,.15);
	}

	.price-label{
	  color:white;
	  font-weight:700;
	}
	.pricing-card h3 i{
	  color:#9be7af;
	  font-size:1.2rem;
	}
	.pricing-card{
	  transition:all .35s ease;
	}

	.pricing-card:hover{
	  transform:translateY(-8px);

	  background:rgba(255,255,255,.20);

	  box-shadow:
		0 25px 50px rgba(0,0,0,.35);
	}
	#pricing::before{
	  content:"";
	  position:absolute;
	  inset:0;

	  background:
		radial-gradient(
		  circle at top right,
		  rgba(120,255,170,.15),
		  transparent 40%
		);

	  pointer-events:none;
	}
	
	/* ==========================
	   STATS SECTION
	========================== */

	.stats{
	  padding:90px 0;
	  /*background:#f8fbf8;*/
	}

	/* Grid */

	.stats-grid{
	  display:grid;
	  /*grid-template-columns:repeat(auto-fit,minmax(220px,1fr));*/
	  grid-template-columns:repeat(4, 1fr);
	  gap:25px;
	}

	/* Cards */

	.stat-card{
	  position:relative;
	  overflow:hidden;

	  text-align:center;

	  padding:40px 25px;

	  background:white;

	  border-radius:24px;

	  box-shadow:
		0 10px 30px rgba(0,0,0,.08);

	  transition:all .35s ease;
	}

	.stat-card:hover{
	  transform:translateY(-8px);

	  box-shadow:
		0 20px 40px rgba(0,0,0,.15);
	}

	/* Decorative Top Border */

	.stat-card::before{
	  content:"";
	  position:absolute;
	  top:0;
	  left:0;

	  width:100%;
	  height:5px;

	  background:
		linear-gradient(
		  90deg,
		  #6cbf84,
		  #3a9d5d
		);
	}

	/* Icons */

	.stat-icon{
	  width:80px;
	  height:80px;

	  margin:0 auto 20px;

	  border-radius:50%;

	  display:flex;
	  align-items:center;
	  justify-content:center;

	  background:
		linear-gradient(
		  135deg,
		  #6cbf84,
		  #3a9d5d
		);

	  color:white;
	  font-size:32px;

	  box-shadow:
		0 10px 25px rgba(58,157,93,.25);
	}

	/* Numbers */

	.stat-card h3{
	  font-size:3rem;
	  font-weight:800;

	  color:#23402f;

	  margin-bottom:10px;
	}

	/* Text */

	.stat-card p{
	  color:#666;
	  line-height:1.6;
	  font-size:1rem;
	}

	/* Mobile */

	@media(max-width:992px){
	  .stats-grid{
		grid-template-columns:repeat(2, 1fr);
	  }
	}

	@media(max-width:768px){
	  .stats{
		padding:35px 20px;
	  }

	  .stats-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:15px;
	  }

	  .stat-card{
		padding:18px 12px;
	  }

	  .stat-card h3{
		font-size:2.5rem;
	  }

	}

	@media(max-width:576px){
	  .stats-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr));
	  }
	}
	
	/* ==========================
	   TESTIMONIALS (PREMIUM DARK BAMBOO)
	========================== */

	.testimonials{
	  position:relative;
	  overflow:hidden;
	  padding:100px 0;

	  /* ?? Dark overlay so bamboo stands out */
	  background:
		linear-gradient(
		  rgba(15, 35, 25, .78),
		  rgba(15, 35, 25, .78)
		),
		url("../img/bamboo-contact.jpg");

	  background-size:cover;
	  background-position:center;
	  background-repeat:no-repeat;
	  background-attachment:fixed;
	}

	/* bamboo sides more visible */
	.testimonials::before{
	  content:"";
	  position:absolute;
	  left:0;
	  bottom:0;

	  width:320px;
	  height:100%;

	  background-size:contain;

	  opacity:.14; /* ?? increased visibility */

	  pointer-events:none;
	}


	/* GRID */
	.testimonial-grid{
	  display:grid;
	  grid-template-columns:repeat(3, 1fr);
	  gap:30px;

	  margin-top:50px;

	  position:relative;
	  z-index:2;
	}

	@media(max-width:900px){
	  .testimonial-grid{
		grid-template-columns:1fr;
	  }
	}

	/* CARDS */
	.testimonial-card{
	  background:rgba(255,255,255,.10);

	  backdrop-filter:blur(16px);
	  -webkit-backdrop-filter:blur(16px);

	  border:1px solid rgba(255,255,255,.18);

	  border-radius:24px;

	  padding:35px;

	  box-shadow:0 20px 50px rgba(0,0,0,.35);

	  transition:.35s ease;
	}

	.testimonial-card:hover{
	  transform:translateY(-8px);

	  background:rgba(255,255,255,.16);

	  box-shadow:0 30px 70px rgba(0,0,0,.45);
	}

	/* STARS */
	.testimonial-stars{
	  color:#9be7af;
	  font-size:18px;

	  margin-bottom:15px;
	  letter-spacing:2px;
	}

	/* TEXT WHITE */
	.testimonial-card p{
	  color:rgba(255,255,255,.92);
	  line-height:1.8;

	  margin-bottom:20px;
	}

	/* NAME */
	.testimonial-name{
	  font-weight:700;
	  color:#ffffff;
	}

	/* SECTION TEXT */
	.testimonials .section-title{
	  color:#ffffff;
	}

	.testimonials .section-sub{
	  color:rgba(255,255,255,.85);
	}

	/* MOBILE */
	@media(max-width:600px){
	  .testimonials{
		padding-left:20px;
		padding-right:20px;
	  }

	  .testimonials .section-title{
		font-size:clamp(1.45rem, 7vw, 2rem);
		white-space:nowrap;
	  }

	  .testimonials::before,
	  .testimonials::after{
		opacity:.08;
		width:180px;
	  }
	}
	/*****	#contact******////

	#contact{
	  position:relative;
	  overflow:hidden;
	  padding:100px 0;

	  /* ?? bamboo soft background */
	  background:
		linear-gradient(
		  rgba(248, 251, 248, .92),
		  rgba(248, 251, 248, .92)
		),
		url("../img/bamboo-forest.jpg");

	  background-size:cover;
	  background-position:center;
	  background-repeat:no-repeat;
	  background-attachment:fixed;
	}

	/* decorative bamboo sides */
	#contact::before,
	#contact::after{
	  content:"";
	  position:absolute;
	  width:300px;
	  height:100%;
	  opacity:.10;
	  pointer-events:none;
	}

	#contact::before{
	  left:0;
	  bottom:0;
	  background-size:contain;
	}

	#contact::after{
	  right:0;
	  top:0;
	  background:url("../img/bamboo-right.png") no-repeat right top;
	  background-size:contain;
	}

	/* GRID */
	.contact-grid{
	  display:grid;
	  grid-template-columns:1fr 1fr;
	  gap:40px;
	  margin-top:50px;
	}

	@media(max-width:900px){
	  .contact-grid{
		grid-template-columns:1fr;
	  }
	}

	/* INFO CARD */
	.contact-info{
	  background: rgba(255, 255, 255, 0.1);
	  padding:35px;
	  border-radius:24px;

	  box-shadow:0 15px 40px rgba(0,0,0,.08);
	}

	.contact-info i{
	  color:#3a9d5d;
	  margin-right:8px;
	}

	/* FORM CARD */
	.contact-form{
	  background: rgba(255, 255, 255, 0.1);
	  padding:35px;
	  border-radius:24px;

	  box-shadow:0 15px 40px rgba(0,0,0,.08);
	}

	/* inputs */
	.contact-form input,
	.contact-form textarea{
	  width:100%;
	  padding:14px 16px;

	  border:1px solid #dfe7df;
	  border-radius:12px;

	  margin-top:8px;
	  margin-bottom:18px;

	  font-size:15px;

	  transition:.3s;
	}

	.contact-form input:focus,
	.contact-form textarea:focus{
	  outline:none;
	  border-color:#6cbf84;
	  box-shadow:0 0 0 4px rgba(108,191,132,.15);
	}

	/* button */
	.btn-primary,
	.btn-secondary{
	  display:inline-block;
	  padding:12px 20px;
	  border-radius:10px;
	  font-weight:600;
	  text-decoration:none;
	  cursor:pointer;
	  border:none;
	}

	.btn-primary{
	  background:#3a9d5d;
	  color:white;
	}

	.btn-primary:hover{
	  background:#2f7d49;
	}

	.btn-secondary{
	  background:#23402f;
	  color:white;
	}

	.btn-secondary:hover{
	  background:#1a2f21;
	}
	.map-container iframe{
	  box-shadow:0 10px 25px rgba(0,0,0,.15);
	  transition:.3s;
	}

	.map-container iframe:hover{
	  transform:scale(1.02);
	}
	
.contact-form-wrapper {
    padding: 0px;
    border-radius: 14px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
}

.contact-form-wrapper form{
	height: 100%;
}

.contact-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #2a4d3f; /* verde profundo elegante */
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 12px 14px;
    margin-bottom: 18px;
    border-radius: 10px;
    border: 1px solid #cdd8d2;
    font-size: 15px;
    background: #f7faf8;
    transition: 0.3s;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #4c8f75;
    box-shadow: 0 0 0 3px rgba(76,143,117,0.2);
    outline: none;
}

.contact-form textarea {
    min-height: 120px;
    resize: vertical;
}

.btn-secondary {
    width: 100%;
    background: #4c8f75; /* verde profesional */
    color: #fff;
    padding: 14px;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s;
}

.btn-secondary:hover {
    background: #3b725c;
}

.about-care-card,
.contact-intro,
.contact-call,
.contact-map {
  margin-top: 20px;
}

.contact-map {
  display: block;
  width: 100%;
  height: 220px;
  border: 0;
  border-radius: 16px;
}

:focus-visible {
  outline: 3px solid #f4b400;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
  .fade-in { opacity: 1; transform: none; }
}

/* Mobile navigation */
@media (max-width: 900px) {
  header {
    position: sticky;
  }

  .nav-container {
    min-height: 68px;
    padding: 0.65rem 1rem;
  }

  .logo {
    position: relative;
    z-index: 13;
  }

  .logo-text {
    font-size: 0.95rem;
  }

  .menu-toggle {
    position: relative;
    z-index: 13;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 44px;
    padding: 0.55rem 0.8rem;
    border: 1px solid #d5e2da;
    border-radius: 999px;
    background: #f4f7f5;
    color: var(--primary-dark);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
  }

  .menu-toggle-icon {
    display: grid;
    gap: 4px;
    width: 20px;
  }

  .menu-toggle-icon span {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  #main-navigation {
    position: fixed;
    z-index: 12;
    top: 68px;
    right: 0;
    left: 0;
    width: 100%;
    height: calc(100dvh - 68px);
    padding: 0.75rem 1rem 2rem;
    overflow-y: auto;
    background: #fff;
    border-top: 1px solid #e6eee9;
    box-shadow: 0 16px 30px rgba(20, 82, 54, 0.12);
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.22s ease, opacity 0.22s ease, visibility 0.22s;
  }

  #main-navigation.is-open {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }

  #main-navigation > ul {
    display: grid;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    gap: 0;
    justify-content: stretch;
  }

  #main-navigation a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
    padding: 0.8rem 0.65rem;
    border: 0;
    border-bottom: 1px solid #e8efeb;
    border-radius: 0;
    color: #31483d;
    font-size: 1rem;
    font-weight: 600;
  }

  #main-navigation a::after {
    content: "\203A";
    color: #78a18c;
    font-size: 1.55rem;
    font-weight: 400;
    line-height: 1;
  }

  #main-navigation a:hover,
  #main-navigation a:focus-visible {
    padding-left: 0.9rem;
    background: #f4f8f5;
    color: var(--primary-dark);
  }

  #main-navigation .nav-contact > a {
    justify-content: center;
    min-height: 50px;
    margin-top: 1rem;
    border: 0;
    border-radius: 999px;
    background: var(--primary);
    color: #fff;
  }

  #main-navigation .nav-contact > a::after {
    display: none;
  }

  #main-navigation .nav-contact > a:hover,
  #main-navigation .nav-contact > a:focus-visible {
    padding-left: 0.65rem;
    background: var(--primary-dark);
  }

  .menu-backdrop {
    position: fixed;
    z-index: 11;
    top: 68px;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    border: 0;
    background: rgba(16, 35, 26, 0.32);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s;
  }

  .menu-backdrop.is-open {
    opacity: 1;
    visibility: visible;
  }

  body.menu-open {
    overflow: hidden;
  }

  #main-navigation .announcements-menu {
    margin-top: .75rem;
  }

  #main-navigation .announcements-toggle {
    justify-content: space-between;
    width: 100%;
    min-height: 54px;
    padding: .8rem .65rem;
    border: 0;
    border-bottom: 1px solid #e8efeb;
    color: #31483d;
    font-weight: 700;
  }

  #main-navigation .announcements-dropdown {
    position: static;
    display: none;
    width: 100%;
    max-height: none;
    padding: .25rem 0 .5rem 1rem;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #main-navigation .announcements-menu.is-open .announcements-dropdown {
    display: grid;
  }

  #main-navigation .announcements-dropdown a {
    min-height: 48px;
    padding: .65rem;
    font-size: .92rem;
  }
}

@media (max-width: 720px) {
  .featured-announcement {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .featured-image-link img {
    min-height: 230px;
    max-height: 340px;
  }
  .featured-copy {
    padding: 1.5rem;
  }
}
