/* ==========================================================================
   TrulyCertify — Components
   Buttons, cards, forms, popups, chatbot, badges
   ========================================================================== */

/* ===== Buttons ===== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.85rem 1.65rem;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.95rem;
  font-family: var(--font-sans);
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: background var(--t-fast), color var(--t-fast),
              transform var(--t-fast), box-shadow var(--t-fast),
              border-color var(--t-fast);
  letter-spacing: 0.005em;
  line-height: 1.3;
  white-space: nowrap;
}

.btn-primary {
  background: var(--accent);
  color: var(--white);
}
.btn-primary:hover {
  background: var(--accent-dark);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(30, 168, 137, 0.28);
}

.btn-dark {
  background: var(--primary-dark);
  color: var(--white);
}
.btn-dark:hover {
  background: var(--primary);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(6, 37, 40, 0.25);
}

.btn-outline {
  background: transparent;
  color: var(--primary);
  border: 1.5px solid var(--primary);
}
.btn-outline:hover {
  background: var(--primary);
  color: var(--white);
}

.btn-outline-light {
  background: transparent;
  color: var(--white);
  border: 1.5px solid rgba(255,255,255,0.45);
}
.btn-outline-light:hover {
  background: rgba(255,255,255,0.12);
  color: var(--white);
  border-color: var(--white);
}

.btn-ghost {
  background: transparent;
  color: var(--primary);
  border: none;
  padding: 0.65rem 0.9rem;
}
.btn-ghost:hover {
  background: rgba(13, 74, 78, 0.06);
  color: var(--primary-dark);
}

.btn-wa {
  background: #25d366;
  color: #fff;
}
.btn-wa:hover {
  background: #1ebd5b;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(37, 211, 102, 0.32);
}

.btn-large {
  padding: 1.05rem 2.1rem;
  font-size: 1.02rem;
}
.btn-small {
  padding: 0.55rem 1rem;
  font-size: 0.85rem;
}

.btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* ===== Cards ===== */
.card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1.75rem;
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
.card:hover {
  border-color: var(--border-strong);
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.card-icon {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, rgba(30, 168, 137, 0.12), rgba(13, 74, 78, 0.08));
  border-radius: 10px;
  display: grid;
  place-items: center;
  margin-bottom: 1.1rem;
  color: var(--accent);
}
.card-icon svg { width: 22px; height: 22px; }
.card h3 { font-size: 1.2rem; margin-bottom: 0.5rem; }
.card h4 { font-size: 1.1rem; margin-bottom: 0.5rem; }
.card p { color: var(--text-muted); font-size: 0.95rem; }

.card-feature {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 2rem 1.75rem;
  position: relative;
  overflow: hidden;
}
.card-feature::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--accent), var(--primary));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t);
}
.card-feature:hover::before { transform: scaleX(1); }
.card-feature:hover {
  border-color: rgba(30, 168, 137, 0.3);
  box-shadow: var(--shadow-md);
}

/* ===== Grids ===== */
.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
.grid-auto {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}

/* ===== Badges ===== */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(30, 168, 137, 0.10);
  color: var(--accent-dark);
  padding: 0.35rem 0.85rem;
  border-radius: 30px;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.badge-dark {
  background: rgba(6, 37, 40, 0.08);
  color: var(--primary);
}
.badge-light {
  background: rgba(255, 255, 255, 0.12);
  color: var(--accent-light);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.badge-dot::before {
  content: '';
  width: 6px;
  height: 6px;
  background: currentColor;
  border-radius: 50%;
  display: inline-block;
}

/* ===== Hero section (homepage) ===== */
.hero {
  background:
    radial-gradient(ellipse at top right, rgba(30, 168, 137, 0.08), transparent 50%),
    radial-gradient(ellipse at bottom left, rgba(13, 74, 78, 0.05), transparent 50%),
    var(--warm-white);
  padding: clamp(4rem, 9vw, 7rem) 0 clamp(3rem, 7vw, 5rem);
  position: relative;
  overflow: hidden;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 4rem;
  align-items: center;
}
.hero h1 {
  font-size: clamp(2.4rem, 5vw, 4rem);
  margin-bottom: 1.25rem;
  line-height: 1.1;
}
.hero h1 em {
  font-style: italic;
  color: var(--accent);
  font-weight: 500;
}
.hero .lead {
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  color: var(--text-muted);
  margin-bottom: 2rem;
  max-width: 540px;
}
.hero-trust-row {
  display: flex;
  gap: 1.75rem;
  margin-top: 2.5rem;
  flex-wrap: wrap;
  padding-top: 1.75rem;
  border-top: 1px solid var(--border);
}
.hero-trust-item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.hero-trust-item .num {
  font-family: var(--font-serif);
  font-size: 1.65rem;
  font-weight: 600;
  color: var(--primary);
  line-height: 1;
}
.hero-trust-item .lbl {
  font-size: 0.78rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 500;
}

/* Hero visual */
.hero-visual {
  position: relative;
  aspect-ratio: 1;
  max-width: 520px;
  margin-left: auto;
}
.hero-visual-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  border-radius: 24px;
  transform: rotate(-3deg);
  opacity: 0.95;
}
.hero-cert-card {
  position: absolute;
  inset: 1.75rem;
  background: var(--white);
  border-radius: 18px;
  box-shadow: 0 30px 80px rgba(6, 37, 40, 0.25);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cert-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.cert-seal {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, var(--accent), var(--primary));
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--white);
}
.cert-seal svg { width: 28px; height: 28px; }
.cert-status {
  background: rgba(30, 168, 137, 0.1);
  color: var(--accent-dark);
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.cert-status::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--accent);
  animation: pulse-dot 2s ease-in-out infinite;
}
@keyframes pulse-dot {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(30, 168, 137, 0.6); }
  50% { opacity: 0.7; box-shadow: 0 0 0 8px rgba(30, 168, 137, 0); }
}
.cert-card-body { padding: 1rem 0; }
.cert-card-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  margin-bottom: 0.3rem;
}
.cert-card-value {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--primary-dark);
  margin-bottom: 1rem;
  line-height: 1.2;
}
.cert-card-rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.cert-card-rows .cert-card-label { font-size: 0.68rem; }
.cert-card-rows .row-val {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--primary-dark);
}
.cert-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.75rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--border);
  font-size: 0.78rem;
  color: var(--text-muted);
}
.cert-card-footer .verified {
  color: var(--accent-dark);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

@media (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; gap: 3rem; }
  .hero-visual { max-width: 420px; margin: 0 auto; }
}

/* ===== Forms ===== */
.form-group {
  margin-bottom: 1.1rem;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}
.form-row-cc {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 0.5rem;
}
.form-label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 0.4rem;
}
.form-label .required { color: var(--danger); }
.form-input, .form-select, .form-textarea {
  width: 100%;
  padding: 0.75rem 0.95rem;
  border: 1.5px solid var(--border);
  border-radius: 6px;
  font-size: 0.94rem;
  font-family: inherit;
  color: var(--text);
  background: var(--white);
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(30, 168, 137, 0.15);
}
.form-textarea { min-height: 100px; resize: vertical; }
.form-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235a6e74' d='M6 8L0 0h12z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; }

.form-check {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin-bottom: 0.6rem;
  cursor: pointer;
}
.form-check input[type="checkbox"] {
  margin-top: 3px;
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
  flex-shrink: 0;
}
.form-check label {
  font-size: 0.85rem;
  color: var(--text-muted);
  line-height: 1.45;
  cursor: pointer;
}
.form-check a { color: var(--accent); text-decoration: underline; }

.form-error {
  display: none;
  font-size: 0.82rem;
  color: var(--danger);
  margin-top: 0.4rem;
}
.form-input.error, .form-select.error { border-color: var(--danger); }
.form-input.error + .form-error, .form-select.error + .form-error { display: block; }

.form-status {
  padding: 1rem 1.25rem;
  border-radius: 8px;
  margin-bottom: 1.25rem;
  font-size: 0.92rem;
  display: none;
}
.form-status.success { background: rgba(30, 168, 137, 0.1); color: var(--accent-dark); border: 1px solid rgba(30, 168, 137, 0.25); display: block; }
.form-status.error { background: rgba(185, 28, 28, 0.08); color: var(--danger); border: 1px solid rgba(185, 28, 28, 0.2); display: block; }

button:disabled { opacity: 0.45; cursor: not-allowed; }

/* ===== Lead popup modal ===== */
.popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(6, 37, 40, 0.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  opacity: 0;
  transition: opacity var(--t);
}
.popup-overlay.open { display: flex; opacity: 1; }

.popup-modal {
  background: var(--white);
  border-radius: 16px;
  width: 100%;
  max-width: 580px;
  max-height: 92vh;
  overflow-y: auto;
  box-shadow: 0 30px 80px rgba(6, 37, 40, 0.4);
  transform: translateY(20px) scale(0.96);
  transition: transform var(--t-slow);
}
.popup-overlay.open .popup-modal {
  transform: translateY(0) scale(1);
}

.popup-header {
  padding: 1.75rem 1.75rem 0.75rem;
  position: relative;
  border-bottom: 1px solid var(--border);
}
.popup-header h3 {
  font-size: 1.5rem;
  margin-bottom: 0.4rem;
  padding-right: 2rem;
}
.popup-header p {
  font-size: 0.92rem;
  color: var(--text-muted);
  margin-bottom: 1.25rem;
}
.popup-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: var(--warm-white);
  color: var(--text-muted);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background var(--t-fast), color var(--t-fast);
  font-size: 1.2rem;
  line-height: 1;
}
.popup-close:hover { background: var(--border); color: var(--text); }

.popup-body { padding: 1.5rem 1.75rem 1.75rem; }

.popup-footer-note {
  font-size: 0.78rem;
  color: var(--text-soft);
  margin-top: 0.85rem;
  text-align: center;
}

@media (max-width: 560px) {
  .popup-modal { border-radius: 12px; }
  .popup-header { padding: 1.25rem 1.25rem 0.5rem; }
  .popup-body { padding: 1.25rem; }
  .form-row { grid-template-columns: 1fr; }
}

/* ===== Chatbot ===== */
.chatbot-toggle {
  position: fixed;
  bottom: 22px;
  right: 22px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--accent);
  color: var(--white);
  border: none;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(30, 168, 137, 0.4);
  z-index: 7000;
  display: grid;
  place-items: center;
  transition: transform var(--t-fast), background var(--t-fast), box-shadow var(--t-fast);
}
.chatbot-toggle:hover {
  background: var(--accent-dark);
  transform: scale(1.06);
  box-shadow: 0 12px 32px rgba(30, 168, 137, 0.5);
}
.chatbot-toggle svg { width: 24px; height: 24px; }
.chatbot-toggle .badge-pulse {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 10px;
  height: 10px;
  background: #ff5252;
  border: 2px solid var(--white);
  border-radius: 50%;
}

.chatbot-window {
  position: fixed;
  bottom: 22px;
  right: 22px;
  width: 340px;
  max-width: calc(100vw - 32px);
  height: 500px;
  max-height: calc(100vh - 100px);
  background: var(--white);
  border-radius: 14px;
  box-shadow: 0 25px 60px rgba(6, 37, 40, 0.3);
  z-index: 7100;
  display: none;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(20px);
  opacity: 0;
  transition: opacity var(--t), transform var(--t);
}
.chatbot-window.open {
  display: flex;
  opacity: 1;
  transform: translateY(0);
}

.chatbot-header {
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  color: var(--white);
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.chatbot-avatar {
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, var(--accent), var(--accent-light));
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 0.95rem;
}
.chatbot-title { flex: 1; }
.chatbot-title strong { display: block; font-size: 0.96rem; font-weight: 600; }
.chatbot-title small {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.76rem;
  color: rgba(255, 255, 255, 0.75);
}
.chatbot-title small::before {
  content: '';
  width: 6px;
  height: 6px;
  background: var(--accent-light);
  border-radius: 50%;
  animation: pulse-dot 2s ease-in-out infinite;
}
.chatbot-close-btn {
  background: transparent;
  color: rgba(255, 255, 255, 0.8);
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  transition: background var(--t-fast);
}
.chatbot-close-btn:hover { background: rgba(255, 255, 255, 0.15); color: var(--white); }

.chatbot-messages {
  flex: 1;
  overflow-y: auto;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  background: var(--warm-white);
}
.chat-msg {
  max-width: 86%;
  font-size: 0.9rem;
  line-height: 1.5;
  padding: 0.7rem 1rem;
  border-radius: 14px;
  word-wrap: break-word;
  animation: fade-in-up 0.3s ease forwards;
}
.chat-msg.bot {
  background: var(--white);
  border: 1px solid var(--border);
  border-bottom-left-radius: 4px;
  align-self: flex-start;
  color: var(--text);
}
.chat-msg.user {
  background: var(--primary);
  color: var(--white);
  border-bottom-right-radius: 4px;
  align-self: flex-end;
}
@keyframes fade-in-up {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.chat-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.25rem;
}
.chat-chip {
  background: var(--white);
  border: 1px solid var(--border);
  color: var(--primary);
  padding: 0.45rem 0.85rem;
  border-radius: 20px;
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--t-fast);
  font-family: inherit;
}
.chat-chip:hover {
  background: var(--accent);
  color: var(--white);
  border-color: var(--accent);
}

.chat-wa-btn {
  background: #25d366;
  color: #fff;
  border: none;
  padding: 0.65rem 1rem;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
  font-family: inherit;
  text-decoration: none;
  transition: background var(--t-fast);
}
.chat-wa-btn:hover { background: #1ebd5b; color: #fff; }

.chatbot-input-wrap {
  border-top: 1px solid var(--border);
  padding: 0.75rem 1rem;
  background: var(--white);
  display: flex;
  gap: 0.5rem;
}
.chatbot-input {
  flex: 1;
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 0.55rem 0.95rem;
  font-size: 0.9rem;
  font-family: inherit;
  outline: none;
}
.chatbot-input:focus { border-color: var(--accent); }
.chatbot-send {
  background: var(--accent);
  color: var(--white);
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background var(--t-fast);
}
.chatbot-send:hover { background: var(--accent-dark); }

@media (max-width: 480px) {
  .chatbot-window {
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    max-height: 100vh;
    border-radius: 0;
  }
}

/* ===== ISO standards grid ===== */
.iso-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1.5rem 1.5rem 1.5rem 1.5rem;
  position: relative;
  overflow: hidden;
  transition: all var(--t);
}
.iso-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--accent);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform var(--t);
}
.iso-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: rgba(30, 168, 137, 0.3);
}
.iso-card:hover::before { transform: scaleY(1); }
.iso-card h3 {
  font-size: 1.15rem;
  margin-bottom: 0.35rem;
}
.iso-card .iso-num {
  font-family: var(--font-serif);
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--accent);
  line-height: 1;
  margin-bottom: 0.6rem;
}
.iso-card .iso-desc {
  font-size: 0.88rem;
  color: var(--text-muted);
  line-height: 1.55;
  margin-bottom: 0.85rem;
}
.iso-card .iso-link {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--primary);
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.iso-card .iso-link:hover { color: var(--accent); }
.iso-card .iso-link::after { content: '→'; transition: transform var(--t-fast); }
.iso-card:hover .iso-link::after { transform: translateX(3px); }

/* ===== Steps / Process ===== */
.steps {
  display: grid;
  gap: 1.5rem;
}
.steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  counter-reset: step;
}
.step {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 2rem 1.5rem 1.5rem;
  position: relative;
  counter-increment: step;
}
.step::before {
  content: counter(step, decimal-leading-zero);
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--accent);
  opacity: 0.65;
}
.step h4 { font-size: 1.05rem; margin-bottom: 0.5rem; padding-right: 2rem; }
.step p { font-size: 0.9rem; color: var(--text-muted); }

/* ===== FAQ Accordion ===== */
.faq-item {
  border-bottom: 1px solid var(--border);
  padding: 1.25rem 0;
}
.faq-item:first-child { border-top: 1px solid var(--border); }
.faq-question {
  width: 100%;
  background: transparent;
  border: none;
  text-align: left;
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--primary-dark);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0;
}
.faq-question .faq-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: var(--accent);
  transition: transform var(--t-fast);
}
.faq-item.open .faq-question .faq-icon { transform: rotate(45deg); }
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--t);
}
.faq-answer-inner {
  padding: 0.75rem 0 0.25rem;
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1.65;
}
.faq-item.open .faq-answer { max-height: 800px; }

/* ===== Country card grid ===== */
.countries-section {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.75rem;
}
.country-tile {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 1rem 1.1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--text);
  transition: all var(--t-fast);
}
.country-tile:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  color: var(--primary);
}
.country-tile .cc-badge {
  background: var(--warm-white);
  color: var(--primary);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 4px;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}
.country-tile .cc-name {
  font-size: 0.9rem;
  font-weight: 500;
}

/* ===== Stats banner ===== */
.stats-band {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  background: var(--primary-dark);
  color: var(--white);
  border-radius: 16px;
  padding: 2.5rem 2rem;
  position: relative;
  overflow: hidden;
}
.stats-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(30, 168, 137, 0.15), transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(30, 168, 137, 0.08), transparent 50%);
  pointer-events: none;
}
.stat-item {
  text-align: center;
  position: relative;
  z-index: 1;
}
.stat-item .num {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 500;
  color: var(--accent-light);
  line-height: 1;
  margin-bottom: 0.4rem;
}
.stat-item .lbl {
  font-size: 0.85rem;
  color: rgba(248, 246, 240, 0.75);
  letter-spacing: 0.04em;
}

@media (max-width: 700px) {
  .stats-band { grid-template-columns: 1fr 1fr; gap: 1.75rem 1rem; padding: 2rem 1.5rem; }
}

/* ===== Industry tiles ===== */
.industry-tile {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 1.5rem;
  transition: all var(--t);
}
.industry-tile:hover {
  border-color: var(--accent);
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.industry-icon {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, rgba(30, 168, 137, 0.12), rgba(13, 74, 78, 0.06));
  border-radius: 10px;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  color: var(--accent);
}
.industry-tile h4 { font-size: 1.1rem; margin-bottom: 0.5rem; }
.industry-tile p { font-size: 0.9rem; color: var(--text-muted); }

/* ===== Verify page ===== */
.verify-box {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 2.5rem;
  box-shadow: var(--shadow);
  margin: 0 auto;
  max-width: 720px;
}
.verify-input-row {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.verify-input-row input {
  flex: 1;
  padding: 1rem 1.1rem;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-size: 1rem;
  font-family: inherit;
  letter-spacing: 0.04em;
}
.verify-input-row input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(30,168,137,0.15); }
.verify-result {
  margin-top: 1.75rem;
  padding: 1.5rem;
  border-radius: 12px;
  display: none;
}
.verify-result.valid {
  background: rgba(30, 168, 137, 0.08);
  border: 1px solid rgba(30, 168, 137, 0.25);
  display: block;
}
.verify-result.invalid {
  background: rgba(217, 119, 6, 0.06);
  border: 1px solid rgba(217, 119, 6, 0.2);
  display: block;
}
.verify-status {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 500;
}
.verify-status.valid-status { color: var(--accent-dark); }
.verify-status.invalid-status { color: var(--warning); }
.verify-status-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: currentColor;
  color: var(--white);
}
.verify-status-icon svg { color: var(--white); width: 20px; height: 20px; }
.verify-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.5rem;
  margin-top: 1rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(30, 168, 137, 0.2);
}
.verify-details .lbl {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-muted);
  margin-bottom: 0.2rem;
}
.verify-details .val {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--primary-dark);
}

/* ===== Why us list ===== */
.why-list {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 1.25rem;
}
.why-list li {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin: 0;
}
.why-list .why-num {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(30, 168, 137, 0.12);
  color: var(--accent-dark);
  display: grid;
  place-items: center;
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 1.05rem;
}
.why-list h4 { font-size: 1.05rem; margin-bottom: 0.3rem; }
.why-list p { font-size: 0.92rem; color: var(--text-muted); }

/* ===== CTA band ===== */
.cta-band {
  background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
  color: var(--white);
  border-radius: 20px;
  padding: clamp(2.5rem, 5vw, 4rem);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(30, 168, 137, 0.2), transparent 50%),
    radial-gradient(circle at 85% 80%, rgba(30, 168, 137, 0.1), transparent 50%);
  pointer-events: none;
}
.cta-band > * { position: relative; z-index: 1; }
.cta-band h2 { color: var(--white); margin-bottom: 0.75rem; }
.cta-band p { color: rgba(248, 246, 240, 0.85); max-width: 620px; margin: 0 auto 1.75rem; }
.cta-band .btn-row { justify-content: center; }

/* ===== Author / blog cards ===== */
.blog-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all var(--t);
}
.blog-card:hover {
  border-color: var(--border-strong);
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.blog-card-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
  position: relative;
  display: grid;
  place-items: center;
  color: var(--white);
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}
.blog-card-body { padding: 1.4rem 1.5rem 1.5rem; flex: 1; display: flex; flex-direction: column; }
.blog-card-cat {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 0.5rem;
}
.blog-card h3 { font-size: 1.15rem; margin-bottom: 0.5rem; }
.blog-card h3 a { color: var(--primary-dark); }
.blog-card h3 a:hover { color: var(--accent); }
.blog-card p { font-size: 0.9rem; color: var(--text-muted); margin-bottom: 1rem; flex: 1; }
.blog-card-meta {
  font-size: 0.78rem;
  color: var(--text-soft);
  display: flex;
  gap: 0.75rem;
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border);
}

/* ===== Two column rich content ===== */
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
@media (max-width: 850px) {
  .two-col { grid-template-columns: 1fr; gap: 2rem; }
}

/* ===== Legal text pages ===== */
.legal-content {
  max-width: 800px;
  margin: 0 auto;
}
.legal-content h2 {
  font-size: 1.6rem;
  margin: 2.5rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--border);
}
.legal-content h3 { font-size: 1.2rem; margin: 1.75rem 0 0.75rem; }
.legal-content p { margin-bottom: 1rem; line-height: 1.75; }
.legal-content ul, .legal-content ol { margin-bottom: 1rem; line-height: 1.75; }
.legal-content ul li, .legal-content ol li { margin-bottom: 0.5rem; }
.legal-content .updated {
  background: var(--warm-white);
  padding: 0.85rem 1rem;
  border-radius: 8px;
  font-size: 0.88rem;
  color: var(--text-muted);
  display: inline-block;
  margin-bottom: 2rem;
}


/* ============================================================
   ADDITIONAL STYLES FOR INNER PAGES
   ============================================================ */

/* Page hero variants */
.lead-light{color:rgba(248,246,240,0.88);max-width:760px;font-size:1.125rem;margin:1.25rem 0 0}
.eyebrow-light{color:#1ea889;display:inline-block;margin-bottom:1rem;text-transform:uppercase;font-weight:600;font-size:.78rem;letter-spacing:1.6px}
.lead-muted{color:#4a5d65;font-size:1.075rem;max-width:780px;margin-bottom:1rem}
.container-narrow{max-width:860px}
.muted{color:#6b7c84;font-size:.92rem}
code{background:#f2efe7;color:#062528;padding:.15rem .4rem;border-radius:4px;font-size:.92em;font-family:'JetBrains Mono',ui-monospace,monospace}

/* Breadcrumb */
.breadcrumb{margin-bottom:1.5rem}
.breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem;font-size:.875rem}
.breadcrumb li{color:rgba(248,246,240,.75)}
.breadcrumb li+li::before{content:"›";margin-right:.5rem;color:rgba(248,246,240,.45)}
.breadcrumb a{color:rgba(248,246,240,.92);text-decoration:none;border-bottom:1px solid rgba(30,168,137,.55)}
.breadcrumb a:hover{color:#1ea889}
.breadcrumb [aria-current]{color:#fff;font-weight:500}

/* ISO Standards detail list (iso-standards.html) */
.iso-detail-list{display:flex;flex-direction:column;gap:3rem}
.iso-detail{background:#fff;border:1px solid #e6e0d2;border-radius:14px;padding:2.25rem 2rem;box-shadow:0 4px 18px rgba(13,74,78,.04)}
.iso-detail-head{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}
.iso-detail-code{display:inline-block;background:linear-gradient(135deg,#0d4a4e,#1ea889);color:#fff;padding:.35rem .85rem;border-radius:999px;font-weight:600;font-size:.78rem;letter-spacing:1.2px;text-transform:uppercase;width:fit-content}
.iso-detail-head h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:1.625rem;color:#062528;margin:0;line-height:1.2}
.iso-detail-desc{color:#3c4f57;font-size:1.025rem;line-height:1.7;margin-bottom:1.25rem}
.iso-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem;background:#f8f6f0;border-radius:10px}
.iso-detail-grid h3{font-family:'Inter',sans-serif;font-size:.82rem;text-transform:uppercase;letter-spacing:1.4px;color:#0d4a4e;font-weight:600;margin:0 0 .4rem}
.iso-detail-grid p{margin:0;color:#3c4f57;font-size:.95rem;line-height:1.6}
@media (max-width:760px){.iso-detail-grid{grid-template-columns:1fr}}

/* Services blocks */
.service-block{position:relative;padding:2.25rem 2rem 2.25rem 4.75rem;background:#fff;border:1px solid #e6e0d2;border-radius:14px;margin-bottom:2rem;box-shadow:0 4px 18px rgba(13,74,78,.04)}
.service-num{position:absolute;top:2.25rem;left:1.5rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#0d4a4e,#1ea889);color:#fff;font-family:'Fraunces',serif;font-weight:500;font-size:1.05rem}
.service-block h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:1.55rem;color:#062528;margin:0 0 .4rem;line-height:1.25}
.service-features{display:flex;flex-direction:column;gap:.7rem;margin-top:1.25rem}
.service-features>div{padding:.8rem 1rem;background:#f8f6f0;border-radius:8px;font-size:.97rem;color:#3c4f57;line-height:1.55;border-left:3px solid #1ea889}
.service-features strong{color:#062528}
@media (max-width:600px){
  .service-block{padding:2rem 1.25rem 1.75rem;padding-top:4.5rem}
  .service-num{top:1.5rem;left:1.5rem}
}

/* How It Works — large steps */
.step-large{display:grid;grid-template-columns:auto 1fr;gap:1.75rem;align-items:start;padding:2.25rem 0;border-bottom:1px solid #e6e0d2}
.step-large:last-of-type{border-bottom:0}
.step-large .step-num{width:3.75rem;height:3.75rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,#062528,#0d4a4e);color:#1ea889;font-family:'Fraunces',serif;font-weight:500;font-size:1.4rem;flex-shrink:0;box-shadow:0 6px 20px rgba(13,74,78,.12)}
.step-large .step-body h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:1.6rem;color:#062528;margin:0 0 .4rem;line-height:1.2}
.step-bullets{margin:1rem 0 1rem;padding-left:1.25rem;color:#3c4f57}
.step-bullets li{margin-bottom:.45rem;line-height:1.65}
.step-bullets li::marker{color:#1ea889}
.step-bullets strong{color:#062528}
.step-meta{display:inline-block;padding:.5rem .85rem;background:#f2efe7;border-radius:8px;font-size:.85rem;color:#3c4f57}
.step-meta strong{color:#062528}
@media (max-width:600px){
  .step-large{grid-template-columns:1fr;gap:1rem}
  .step-large .step-num{width:3rem;height:3rem;font-size:1.15rem}
}

/* Verify page */
.verify-form{margin-bottom:0}
.verify-label{display:block;font-weight:600;font-size:.92rem;color:#062528;margin-bottom:.6rem}
.verify-input-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:stretch}
.verify-input-row input{padding:.95rem 1.1rem;font-size:1.05rem;border:1.5px solid #d4cdb8;border-radius:10px;font-family:'JetBrains Mono',ui-monospace,monospace;background:#fff;color:#062528;transition:border-color .15s ease}
.verify-input-row input:focus{outline:0;border-color:#1ea889;box-shadow:0 0 0 3px rgba(30,168,137,.15)}
.verify-hint{margin:.85rem 0 0;font-size:.875rem;color:#6b7c84}
.verify-hint code{font-weight:600}
.verify-result{margin-top:1.5rem}
.verify-result:empty{display:none}
.verify-card{padding:1.5rem;border-radius:12px}
.verify-card.success{background:#e8f7f0;border:1.5px solid #1ea889}
.verify-card.error{background:#fef2ee;border:1.5px solid #d56145}
.verify-card h3{margin:0 0 .5rem;font-family:'Fraunces',serif;font-weight:500;color:#062528}
.verify-card .verify-detail{display:grid;grid-template-columns:160px 1fr;gap:.35rem 1rem;margin:.85rem 0;font-size:.95rem}
.verify-card .verify-detail dt{font-weight:600;color:#062528}
.verify-card .verify-detail dd{margin:0;color:#3c4f57}
@media (max-width:600px){
  .verify-input-row{grid-template-columns:1fr}
  .verify-card .verify-detail{grid-template-columns:1fr}
}

/* Industries */
.industry-detail-list{display:flex;flex-direction:column;gap:2rem}
.industry-detail{background:#fff;border:1px solid #e6e0d2;border-radius:14px;padding:2rem;box-shadow:0 4px 18px rgba(13,74,78,.04)}
.industry-detail h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:1.55rem;color:#062528;margin:0 0 .85rem;line-height:1.2}
.industry-desc{color:#3c4f57;line-height:1.7;margin-bottom:1.25rem}
.industry-meta{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:1.25rem;background:#f8f6f0;border-radius:10px;margin-bottom:1.5rem}
.meta-label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:1.4px;color:#0d4a4e;font-weight:600;margin-bottom:.3rem}
.meta-value{display:block;color:#3c4f57;line-height:1.55;font-size:.95rem}
@media (max-width:760px){.industry-meta{grid-template-columns:1fr}}

/* About — stats band */
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:4rem 0;padding:2.5rem 1.5rem;background:linear-gradient(135deg,#062528 0%,#0d4a4e 100%);border-radius:16px;color:#fff}
.stats-band>div{text-align:center;padding:.5rem}
.stat-num{display:block;font-family:'Fraunces',serif;font-weight:500;font-size:2.5rem;line-height:1.1;color:#1ea889;margin-bottom:.35rem}
.stat-lbl{display:block;font-size:.85rem;color:rgba(248,246,240,.85);letter-spacing:.5px}
@media (max-width:720px){.stats-band{grid-template-columns:repeat(2,1fr)}}

/* Legal entity card */
.legal-entity-card{background:#f8f6f0;border-left:4px solid #1ea889;padding:1.5rem 1.75rem;border-radius:0 12px 12px 0;margin:1.5rem 0}
.legal-entity-card h3{font-family:'Fraunces',serif;font-weight:500;color:#062528;margin:0 0 .5rem;font-size:1.2rem}
.legal-entity-card p{margin:.5rem 0;color:#3c4f57;font-size:.97rem}

/* FAQ details */
.faq-list{display:flex;flex-direction:column;gap:.65rem}
.faq-item{border:1px solid #e6e0d2;border-radius:10px;background:#fff;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}
.faq-item[open]{border-color:#1ea889;box-shadow:0 4px 18px rgba(13,74,78,.07)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;font-family:'Inter',sans-serif;color:#062528}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .faq-q{font-weight:500;font-size:1.025rem;line-height:1.4;flex:1}
.faq-item .faq-icon{font-family:'Fraunces',serif;font-size:1.5rem;color:#1ea889;line-height:1;flex-shrink:0;transition:transform .2s ease}
.faq-item[open] .faq-icon{transform:rotate(45deg)}
.faq-item .faq-a{padding:0 1.25rem 1.25rem;color:#3c4f57;line-height:1.7}
.faq-item .faq-a p{margin:0}
.faq-item .faq-a a{color:#0d4a4e;text-decoration:underline}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem;align-items:start}
.contact-form-wrap{background:#fff;border:1px solid #e6e0d2;border-radius:14px;padding:2rem;box-shadow:0 4px 18px rgba(13,74,78,.04)}
.contact-form-wrap h2{font-family:'Fraunces',serif;font-weight:500;color:#062528;margin:0 0 .5rem}
.contact-aside{display:flex;flex-direction:column;gap:1rem}
.contact-card{background:#f8f6f0;border-left:3px solid #1ea889;padding:1.25rem 1.4rem;border-radius:0 10px 10px 0}
.contact-card h3{font-family:'Fraunces',serif;font-weight:500;color:#062528;margin:0 0 .55rem;font-size:1.1rem}
.contact-card p,.contact-card address{margin:.4rem 0;color:#3c4f57;font-style:normal;line-height:1.6;font-size:.95rem}
.contact-link{display:inline-block;color:#0d4a4e;font-weight:500;text-decoration:none;border-bottom:2px solid rgba(30,168,137,.4);padding-bottom:1px}
.contact-link:hover{color:#1ea889;border-bottom-color:#1ea889}
@media (max-width:920px){.contact-grid{grid-template-columns:1fr}}

/* Form rows for inline forms (re-used by popup) */
.lead-form{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}
.lead-form label{font-weight:500;color:#062528;font-size:.92rem;display:block;margin-bottom:.35rem}
.lead-form input[type=text],.lead-form input[type=email],.lead-form input[type=tel],.lead-form select,.lead-form textarea{width:100%;padding:.7rem .85rem;font-size:.97rem;border:1.5px solid #d4cdb8;border-radius:8px;background:#fff;color:#062528;font-family:inherit;transition:border-color .15s ease;box-sizing:border-box}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:0;border-color:#1ea889;box-shadow:0 0 0 3px rgba(30,168,137,.12)}
.lead-form textarea{resize:vertical;min-height:80px;font-family:inherit}
.req{color:#d56145}
.form-row-split{display:grid;grid-template-columns:130px 1fr;gap:.75rem;align-items:end}
.form-col-cc select{padding:.7rem .5rem}
.consent-row{display:flex;flex-direction:column;gap:.65rem;padding:1rem;background:#f8f6f0;border-radius:8px;margin-top:.5rem}
.consent-check{display:flex;gap:.65rem;align-items:flex-start;font-size:.875rem;color:#3c4f57;line-height:1.5;font-weight:400;cursor:pointer}
.consent-check input[type=checkbox]{margin-top:.2rem;width:18px;height:18px;accent-color:#1ea889;flex-shrink:0;cursor:pointer}
.consent-check a{color:#0d4a4e;text-decoration:underline}
.btn-block{width:100%;display:block}
.form-status{margin-top:.5rem;padding:.5rem 0;font-size:.92rem;min-height:1.2em}
.form-status.success{color:#168568;font-weight:500}
.form-status.error{color:#d56145}
@media (max-width:480px){.form-row-split{grid-template-columns:110px 1fr}}

/* Legal content */
.legal-content h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:1.4rem;color:#062528;margin:2.25rem 0 .85rem;line-height:1.25}
.legal-content h2:first-child{margin-top:0}
.legal-content p,.legal-content li{color:#3c4f57;line-height:1.75}
.legal-content ul{padding-left:1.25rem}
.legal-content ul li{margin-bottom:.45rem}
.legal-content ul li::marker{color:#1ea889}
.legal-content a{color:#0d4a4e;text-decoration:underline}
.legal-content strong{color:#062528}

/* Stats helper for hero */
.eyebrow{display:inline-block;font-size:.78rem;text-transform:uppercase;letter-spacing:1.6px;font-weight:600;color:#0d4a4e}



/* ============================================================
   COUNTRY LANDING PAGE STYLES
   ============================================================ */
.country-facts{background:#f8f6f0;border:1px solid #e6e0d2;border-radius:14px;padding:1.75rem}
.country-facts h3{font-family:'Fraunces',serif;font-weight:500;color:#062528;margin:0 0 1rem;font-size:1.2rem}
.country-facts-list{margin:0;display:grid;gap:.75rem}
.country-facts-list dt{font-size:.78rem;text-transform:uppercase;letter-spacing:1.4px;color:#0d4a4e;font-weight:600;margin-top:.5rem}
.country-facts-list dt:first-child{margin-top:0}
.country-facts-list dd{margin:.2rem 0 0;color:#3c4f57;line-height:1.55;font-size:.95rem}

.industries-strip{margin:4rem 0;padding:2.5rem;background:#fff;border:1px solid #e6e0d2;border-radius:14px;box-shadow:0 4px 18px rgba(13,74,78,.04)}
.industries-strip h2{font-family:'Fraunces',serif;font-weight:500;color:#062528;margin:0 0 1.25rem;font-size:1.55rem}
.country-industry-list{margin:0;padding-left:1.5rem;color:#3c4f57;line-height:2;columns:2;column-gap:2rem}
.country-industry-list li{margin-bottom:.2rem;break-inside:avoid}
.country-industry-list strong{color:#062528}
.country-industry-list li::marker{color:#1ea889;font-weight:600}
@media (max-width:680px){.country-industry-list{columns:1}}

.iso-strip{margin:4rem 0}
.iso-strip h2{font-family:'Fraunces',serif;font-weight:500;color:#062528;margin:0 0 1.25rem;font-size:1.55rem}
.iso-strip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.85rem}
.iso-chip{display:block;padding:1rem 1.25rem;background:#fff;border:1.5px solid #e6e0d2;border-radius:10px;text-decoration:none;transition:all .15s ease}
.iso-chip strong{display:block;font-family:'Fraunces',serif;font-weight:500;color:#062528;font-size:1.1rem;margin-bottom:.2rem}
.iso-chip span{display:block;font-size:.85rem;color:#6b7c84}
.iso-chip:hover{border-color:#1ea889;transform:translateY(-2px);box-shadow:0 8px 22px rgba(13,74,78,.08)}

.country-faqs{margin:4rem 0 2rem}
.country-faqs h2{font-family:'Fraunces',serif;font-weight:500;color:#062528;margin:0 0 1.25rem;font-size:1.55rem}



/* ============================================================
   BLOG EMPTY STATE
   ============================================================ */
.blog-empty-state{display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem;align-items:start}
.blog-empty-card{background:#fff;border:1px solid #e6e0d2;border-radius:14px;padding:2.5rem;box-shadow:0 4px 18px rgba(13,74,78,.04)}
.blog-empty-card h2{font-family:'Fraunces',serif;font-weight:500;color:#062528;margin:0 0 .75rem;font-size:1.8rem}
.blog-empty-card p{color:#3c4f57;line-height:1.7;margin-bottom:1rem}
.blog-empty-hint{background:#f8f6f0;border-left:4px solid #1ea889;padding:1.5rem 1.75rem;border-radius:0 12px 12px 0}
.blog-empty-hint h3{font-family:'Fraunces',serif;font-weight:500;color:#062528;margin:0 0 .75rem;font-size:1.15rem}
.blog-empty-hint a{color:#0d4a4e;text-decoration:underline}
@media (max-width:900px){.blog-empty-state{grid-template-columns:1fr}}
