

@font-face { font-family: 'Poppins'; src: url('fonts/poppins-latin-normal-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0000-00FF; }
@font-face { font-family: 'Poppins'; src: url('fonts/poppins-latin-normal-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0000-00FF; }
@font-face { font-family: 'Poppins'; src: url('fonts/poppins-latin-normal-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0000-00FF; }
@font-face { font-family: 'Poppins'; src: url('fonts/poppins-latin-normal-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0000-00FF; }

@font-face { font-family: 'Poppins'; src: url('fonts/poppins-latin-ext-normal-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0100-024F; }
@font-face { font-family: 'Poppins'; src: url('fonts/poppins-latin-ext-normal-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0100-024F; }
@font-face { font-family: 'Poppins'; src: url('fonts/poppins-latin-ext-normal-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0100-024F; }
@font-face { font-family: 'Poppins'; src: url('fonts/poppins-latin-ext-normal-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0100-024F; }

@font-face { font-family: 'Poppins'; src: url('fonts/poppins-devanagari-normal-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0900-097F; }
@font-face { font-family: 'Poppins'; src: url('fonts/poppins-devanagari-normal-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0900-097F; }
@font-face { font-family: 'Poppins'; src: url('fonts/poppins-devanagari-normal-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0900-097F; }
@font-face { font-family: 'Poppins'; src: url('fonts/poppins-devanagari-normal-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0900-097F; }

:root{
  --bg:#ffffff;
  --bg-2:#f7f8fb;
  --bg-3:#eef1ef;
  --bg-4:#162415;
  --card:#ffffff;
  --txt:#111827;
  --muted:#6b7280;
  --brand:#cf2d16;
  --brand-2:#cf2d16;
  --border:#e5e7eb;
  --max:1024px;
  --gap:20px;
  --shadow:0 6px 20px rgba(0,0,0,.06);
}

* {
	box-sizing:border-box;
}

html,body {
	margin:0;
	padding:0;
}
body {
	font:16px/1.6 "Poppins",sans-serif;
	color:var(--txt);
	background:var(--bg);
}
img {
	max-width:100%;
	height:auto;
	display:block;
}
a {
	color:var(--brand);
	text-decoration:none;
}
a:hover {
	text-decoration:underline;
}

.skip {
	position:absolute;
	left:-9999px;
	top:auto;
}
.skip:focus {
	left:12px;
	top:12px;
	background:#111;
	color:#fff;
	padding:8px 12px;
	border-radius:8px;
}

.wrap {
	max-width:var(--max);
	margin:0 auto;
	padding:0 20px;
}
.row {
	display:flex;
	align-items:start;
	gap:12px;
}
.grid {
	display:grid;
	gap:var(--gap);
}

/* Header */
.hdr {
	position:sticky;
	top:0;
	z-index:60;
	background:rgba(255,255,255);
}
.hdr__row {
	justify-content:space-between;
	padding:18px 0;
}
.logo img {
	display: block;
    width: auto;
    max-width: 70%;
    max-height: 73px;
    margin-left: 1.0vw;
}
.logo-title {
    font-size: 30px;
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 0 20px;
    color: #32aa27;
    color: #555;
    text-transform: uppercase;
}
a.logo, a.logo:hover {
	text-decoration: none; 
}

/* Desktop nav */
.nav {
	display:flex;
	gap:18px;
	margin-top: 6px;
	margin-right: 22px;
}
.nav__link {
	padding:8px 10px;
	color: #555;
	font-size: 14px;
    font-stretch: semi-expanded;
    font-weight: 500;
    letter-spacing: 0.06em;
  	transition: color 0.3s ease;
}
.nav__link.active,
.nav__link:hover {
	color: #32aa27;
	text-decoration-line: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 10px;
	animation: underline-move 0.3s ease forwards;
}

@keyframes underline-move {
  from { text-underline-offset: 14px; text-decoration-color: #fff; }
  to   { text-underline-offset: 8px; text-decoration-color: #32aa27; }
}

.nav__link.nav_contact {
	color: #000;
	border: 2px solid #000;
	text-transform: uppercase;
	padding: 8px 26px;
	font-size: 16px;
    font-weight: 600;
    margin-top: -4px;
}
.nav__link.nav_contact:hover {
	border: 2px solid #32aa27;
	background-color: #32aa27;
	color: #fff;
	text-decoration-line: none;
}

/* Mobile hamburger (hidden on desktop) */
.hamburger {
	display:none;
	position:relative;
	width:44px;
	height:44px;
	border:1px solid var(--border);
	border-radius:10px;
	background:#fff;
	margin-right: 4vw;
}
.hamburger span {
	position:absolute;
	left:10px;
	right:10px;
	height:2px;
	background:#111827;
	transition:transform .2s ease,opacity .2s ease,top .2s ease;
}
.hamburger span:nth-child(1) { top:14px; }
.hamburger span:nth-child(2) { top:21px; }
.hamburger span:nth-child(3) { top:28px; }
.hamburger.is-open span:nth-child(1) { top:21px;transform:rotate(45deg); }
.hamburger.is-open span:nth-child(2) { opacity:0; }
.hamburger.is-open span:nth-child(3) { top:21px;transform:rotate(-45deg); }

body.no-scroll {
	overflow:hidden;
}

/* Mobile nav drawer */
.mnav {
	position:fixed;
	inset:0;
	z-index:50;
	display:block;
}
.mnav[hidden] {
	display:none;
}
.mnav__backdrop {
	position:absolute;
	inset:0;
	background:rgba(17,24,39,.4);
	opacity:0;
	transition:opacity .2s ease;
}
.mnav__panel {
  position:absolute;
  right:0;
  top:0;
  height:100%;
  width:min(82vw,380px);
  background:#fff;
  border-left:1px solid var(--border);
  transform:translateX(100%);
  box-shadow:-8px 0 24px rgba(0,0,0,.12);
  transition:transform .2s ease;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  padding:20px;
}
.mnav.open .mnav__backdrop { opacity:1; }
.mnav.open .mnav__panel { transform:translateX(0); }
.mnav__nav { 
	display:flex;
	flex-direction:column;
	gap:6px;
	width:100%;
	padding-top: 29vw;
}
.mnav__link { 
	padding:12px 10px;
	border-radius:8px;
	color:#111827;
}
.mnav__link:hover { 
	background:rgba(17,24,39,.06);
	text-decoration:none;
}

/* Hero with fixed background image */
.hero {
	position:relative;
	padding:27vh 0;
  	background: linear-gradient(0deg,rgba(0, 0, 0, 0.7),rgba(0, 0, 0, 0.3)),url('media/91fa2028-88b4-11f0-ba10-0242ac110002-jpg-hero_image.jpg') center/cover no-repeat;
  	background-attachment: fixed;
}
.hero .grid {
	grid-template-columns:1.85fr .15fr;
	align-items:center;
}
.hero__copy h1 {
	font-size:clamp(28px,4vw,62px);
	font-weight: bold;
	line-height:1.25;
	margin:0 0 10px;
	color: #fff;
}
.hero__copy h2 {
	font-size: 24px;
	font-weight: normal;
	line-height:1.25;
	margin:0 0 10px;
	color: #fff;
}
.muted { color:var(--muted); }
.hero .btn { margin-top:10px; }
.hero__img img {
	border-radius:16px;
	box-shadow:var(--shadow);
}

/**** About ****/
.about {
	padding:36px 0;
	border-top:1px solid var(--border);
	border-bottom:1px solid var(--border);
	background:#fff;
}
.about .grid {
	grid-template-columns:1.1fr .9fr;
	align-items:center;
}
.about__copy {
	
}
p.lead {
	font-size: 18px;
	color: #555;
	padding-right: 4vw;
}
img.sobre {
	width: 70%;
	margin-bottom: 2vw;
}
.about__img {
	height: 25vw;
	box-shadow:var(--shadow);
	background-image: url('media/91c45632-88b4-11f0-9853-0242ac110002-jpg-hero_image.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	overflow: hidden;
	margin-inline-start: 20px;
    margin-inline-end: 20px;
    margin-right: 0;
}
.about__img img {
	visibility: hidden;
}

/**** Cards ****/
.features {
	padding:36px 0;
	background:var(--bg-3);
}
.features p.muted,
.contact p.muted {
	color: #32aa27;
	padding: 0;
    margin: 0;
    text-transform: uppercase;
    font-weight: 600;
}
.features h2,
.contact h2 {
	font-size: 30px;
	font-weight: 600;
	margin: 0;
	line-height: 1.2;
}
.contact h2 {
	line-height: 1.3;
    padding-bottom: 1.5vw;
    padding-top: 0.5vw;
}
.cards {
	grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
	margin-top:24px;
}
.card {
  background:var(--card);
  border:1px solid var(--border);
  box-shadow:0 5px 20px 0 rgba(0, 0, 0, 0.15);
  border-radius:0; /* square corners */
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card__media {
	aspect-ratio:16/12;
	overflow:hidden;
	background:#f3f4f6;
	margin: 0;
}
.card__media img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .25s ease;
}
.card__body { padding:16px; }
.card:hover {
	transform:scale(1.04);
	box-shadow:0 12px 28px rgba(0,0,0,.12);
/*	border-color:var(--brand); */
}
.card:hover .card__media img { transform:scale(1.04); }
.card h3 { margin:0 0 6px; }
.cards article:hover {
	transform:scale(1.04);
}
.card:hover .card__body h3 {
	color: #32aa27;
}

/* Buttons */
.btn {
	display:inline-block;
	padding:12px 30px;
	background:#32aa27;
	color:#fff;
	font-weight:600;
	text-transform: uppercase;
	letter-spacing: 1px;
	border-radius: 2px;
	line-height: 1.5;
	border:0;
}
.btn:hover {
	background:var(--brand-2);
	text-decoration:none;
	cursor: pointer;
}
.btn--ghost {
	background:transparent;
	border:1px solid var(--border);
	color:#111827;
}

/* Contact */
.contact {
	padding:56px 0;
	background:var(--bg);
}
.contact__grid {
	grid-template-columns:1fr 1fr;
	align-items:center;
	gap: 4vw;
}
.contact__sub {
	margin-top:-6px;
	margin-bottom:14px;
	color:var(--muted);
}
.form {
	display:grid;
	gap:14px;
	max-width:620px;
}
.form__row {
	display:grid;
	gap:6px;
}
.input,.textarea {
	width:100%;
	padding:12px 12px;
	border-radius:0;
	border:1px solid var(--border);
	background:#fff;
	color:#111827;
}
.input:focus,.textarea:focus {
	outline:2px solid var(--brand);
	outline-offset:2px;
}
.form__check {
	display:flex;
	align-items:flex-start;
	gap:10px;
}
.form__msg {
	margin-top:8px
}
.form__msg { margin-top: .75rem; }
.form__msg.is-error { color: #b00020; }
.form__msg.is-success { color: #1b5e20; }
.input.has-error, .textarea.has-error { outline: 2px solid #b00020; }
.field-error { color:#b00020; font-size:.9rem; margin:.25rem 0 0; }

.contact__right {
	display:grid;
	gap:16px;
}
.contact__card {
	border:1px solid var(--border);
	padding: 0 2vw;
	background:#f6f6f6;
}
.contact__card a {
	color: #111;
}
.contact-details__row {
	margin-top: 1.5vw;
}
.contact-details__title {
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1;
    font-style: normal;
    margin-bottom: 10px;
    color: #111;
}
.contact-details__phone, 
.contact-details__email, 
.contact-details__address {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 0;
}
.contact-details__phone, 
.contact-details__email {
    margin-top: 4px;
}
.contact-details__phone svg, 
.contact-details__email svg, 
.contact-details__address svg {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    fill: #595959;
    margin-top: 2px;
}

svg:not(:root) {
    overflow: hidden;
}


/* Info */
.info {
	padding:36px 0;
	background:var(--bg-4);
	border-top:1px solid var(--border);
}
.info .grid {
	grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

/* Footer */
.ftr {
	padding:24px 0;
	border-top:1px solid var(--border);
	color: #fff;
	background:var(--bg-4);
}
.ftr a {
	color: #fff;
}
.ftr .row {
	justify-content:space-between;
}
.ftr address {
	font-style: normal;
}
.logo-footer {
    width: 30%;
    height: auto !important;
    padding-top: 20px;
}


/* Lang Switcher Dropdown */
.lang-dropdown {
  position: relative;
  margin-left: auto;
  margin-right: 1.5rem;
  margin-top: 5px;
}
.lang-dropdown__btn {
  display: flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 6px 10px;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--txt);
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.lang-dropdown__btn:hover {
  border-color: #32aa27;
}
.lang-dropdown__label {
  text-transform: uppercase;
}
.lang-dropdown__menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  min-width: 140px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s ease;
  z-index: 100;
  display: flex;
  flex-direction: column;
  padding: 8px 0;
}
.lang-dropdown__menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.lang-item {
  padding: 8px 16px;
  color: var(--txt);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease;
}
.lang-item:hover {
  background: #f3f4f6;
  text-decoration: none;
}
.lang-item.is-active {
  color: #32aa27;
  font-weight: 600;
  background: rgba(50, 170, 39, 0.05);
}

@media (max-width: 768px) {
  .lang-dropdown {
    margin-right: 1.5rem;
    margin-top: 0;
  }
}

/* Responsive */
@media (max-width:1024px) {
  .nav--desktop {
  	display:none
  }
  .hamburger {
  	display:inline-block
  }
}
@media (max-width:860px) {
  .hero {
    padding: 12vh 0;
  }
  .hero .grid {
  	grid-template-columns:1fr
  }
  .about .grid {
  	grid-template-columns:1fr
  }
  .contact__grid {
  	grid-template-columns:1fr
  }
  .ftr .row {
    display: block;
  }
  .about__img {
    height: 300px;
    margin-inline-start: 0;
    margin-inline-end: 0;
  }
  .contact__right {
  	display: none;
  }
  .ftr h3 {
	margin: 0;
    padding: 0;
  }
  .ftr address h3 {
	margin: 6vw 0 0.5vw 0;
    padding: 0;
  }
  .logo-footer img {
  	margin-top: 8vw;
    margin-bottom: 2vw;
  }
}
