

:root{
  --bg:#fffdfc;
  --surface:#ffffff;
  --surface-2:#fff4f2;
  --text:#1d1a19;
  --muted:#5f5552;
  --line:rgba(188,143,143,.22);
  --line-strong:rgba(210,180,140,.42);
  --brand:#d2b48c;
  --brand-dark:#bc8f8f;
  --accent:#bc8f8f;
  --dark:#3c2f2d;
  --dark-soft:#53433f;
  --shadow:0 18px 45px rgba(70,46,43,.09);
  --radius:24px;
  --radius-sm:16px;
  --container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(var(--container),calc(100% - 2rem));margin:0 auto}
.skip-link{
  position:absolute;left:-9999px;top:auto
}
.skip-link:focus{
  left:1rem;top:1rem;z-index:999;background:#fff;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--line)
}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid rgba(201,186,169,.45)
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:88px
}
.brand{display:flex;align-items:center;gap:.85rem;min-width:0}
.brand img{border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.brand strong{display:block;font-size:1rem}
.brand span{display:block;color:var(--muted);font-size:.85rem}
.site-nav{display:flex;align-items:center;gap:1.1rem}
.site-nav a{font-size:.95rem;color:var(--muted)}
.site-nav a:hover,.site-nav a.is-active{color:var(--text)}
.nav-cta{margin-left:.35rem}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:.25rem;cursor:pointer}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--text);border-radius:999px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  border-radius:999px;padding:.95rem 1.35rem;font-weight:700;border:1px solid transparent;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--brand-dark);color:#fff;box-shadow:var(--shadow)}
.btn-secondary{background:#fff;border-color:var(--line);color:var(--text)}
.hero-actions,.inline-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:.85rem}
.page-hero{
  padding:4rem 0 2rem;
  background:
    radial-gradient(circle at top left, rgba(199,170,136,.22), transparent 35%),
    radial-gradient(circle at top right, rgba(123,156,173,.12), transparent 28%);
}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--muted);font-size:.92rem;margin-bottom:1rem}
.breadcrumbs span{opacity:.8}
.kicker{
  margin:0 0 .45rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:800;
  color:var(--brand-dark);
}
h1,h2,h3,h4{
  font-family:"Cormorant Garamond", Georgia, serif;
  margin:0 0 .85rem;
  letter-spacing:-.02em;
  line-height:1.05;
}
h1{font-size:clamp(2.5rem,5.5vw,4.6rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:clamp(1.35rem,2.2vw,1.9rem)}
h4{font-size:1.2rem}
p{margin:0 0 1rem;color:var(--muted)}
.page-intro{max-width:820px;font-size:1.08rem}
.section{padding:4.6rem 0}
.section-soft{background:linear-gradient(180deg,var(--surface-2),#f8f5f2)}
.section-dark{background:linear-gradient(180deg,var(--dark),var(--dark-soft));color:#fff}
.section-dark p,.section-dark .kicker{color:rgba(255,255,255,.8)}
.section-heading{max-width:780px;margin:0 auto 2rem;text-align:center}
.section-heading.light h2,.section-heading.light .kicker{color:#fff}
.split{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:2rem;
  align-items:center;
}
.split.reverse{grid-template-columns:.92fr 1.08fr}
.copy,.content-narrow{max-width:760px}
.content-narrow{margin:0 auto}
.image-card{
  background:var(--surface);
  border:1px solid rgba(201,186,169,.45);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.image-card img{width:100%;height:auto;object-fit:cover}
.image-card figcaption{
  padding:1rem 1.1rem;
  border-top:1px solid rgba(201,186,169,.45);
  font-size:.88rem;
  color:var(--muted);
  background:#fff;
}
.grid{
  display:grid;gap:1.25rem
}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-4{grid-template-columns:repeat(4,1fr)}
.cards-5{grid-template-columns:repeat(5,1fr)}
.card{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(201,186,169,.45);
  border-radius:var(--radius-sm);
  padding:1.35rem;
  box-shadow:var(--shadow);
}
.card.compact{padding:1.15rem}
.card-tag{
  display:inline-flex;
  padding:.25rem .6rem;
  border-radius:999px;
  background:var(--surface-2);
  border:1px solid var(--line);
  margin-bottom:.7rem;
  font-size:.76rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em
}
.feature-list,.hours-list,.site-footer ul,.article-aside ul{
  margin:0;padding-left:1.2rem;color:var(--muted)
}
.feature-list li,.hours-list li,.site-footer li,.article-aside li{margin-bottom:.65rem}
.check-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  margin-top:1.4rem
}
.check-grid div,.contact-list div{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;
}
.check-grid strong,.contact-list strong{display:block;margin-bottom:.25rem}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem
}
.stats-grid article{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  border-radius:18px;
  padding:1.25rem
}
.stats-grid strong{display:block;font-size:2rem;color:#fff}
.cta-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:32px;
  box-shadow:var(--shadow);
  padding:2rem;
  display:flex;justify-content:space-between;gap:1.5rem;align-items:center
}
.faq-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem
}
.faq-card{
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.35rem;box-shadow:var(--shadow)
}
.form-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  align-items:start
}
.contact-form{
  display:grid;gap:1rem
}
.contact-form label{
  display:grid;gap:.45rem;font-weight:600;color:var(--text)
}
.contact-form input,.contact-form select,.contact-form textarea{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  padding:.95rem 1rem;
  border-radius:16px;
  color:var(--text)
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{
  outline:2px solid rgba(123,156,173,.25);
  border-color:var(--accent)
}
.form-note{
  font-size:.93rem;
  color:var(--muted);
  background:rgba(199,170,136,.12);
  border-left:4px solid var(--brand);
  padding:1rem 1.1rem;
  border-radius:12px
}
.map-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:1rem;box-shadow:var(--shadow)
}
.map-card iframe{
  width:100%;
  min-height:420px;
  border:none;
  border-radius:18px;
  margin-bottom:1rem
}
.text-link{font-weight:700;color:var(--brand-dark)}
.article-layout{
  display:grid;grid-template-columns:1.3fr .7fr;gap:1.5rem;align-items:start
}
.article-body{
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.6rem 1.8rem;box-shadow:var(--shadow)
}
.article-body h2{margin-top:1.4rem}
.article-aside .aside-card{
  position:sticky;top:110px;
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.35rem;box-shadow:var(--shadow)
}
.article-cta-box{
  margin-top:2rem;padding:1.4rem;background:var(--surface-2);border:1px solid var(--line);border-radius:20px
}
.site-footer{
  margin-top:3rem;
  background:#161f27;
  color:#fff;
  padding-top:3rem
}
.site-footer h2{
  font-family:Inter,sans-serif;
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:rgba(255,255,255,.82)
}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr .8fr .8fr .8fr;
  gap:1.5rem
}
.footer-grid p,.site-footer li,.site-footer a{color:rgba(255,255,255,.78)}
.footer-brand{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}
.footer-brand img{border-radius:16px}
.footer-bottom{
  margin-top:2rem;
  padding:1rem 0 1.5rem;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap
}
.footer-bottom nav{display:flex;gap:1rem;flex-wrap:wrap}
.whatsapp-float,.back-to-top{
  position:fixed;right:1rem;display:grid;place-items:center;
  width:52px;height:52px;border-radius:999px;border:none;
  box-shadow:var(--shadow);z-index:30
}
.whatsapp-float{
  bottom:1rem;background:#1fa463;color:#fff;font-weight:800
}
.back-to-top{
  bottom:4.9rem;background:#fff;color:var(--text);cursor:pointer;opacity:0;visibility:hidden;transition:.25s
}
.back-to-top.is-visible{opacity:1;visibility:visible}
.site-nav .btn{font-size:.95rem}
@media (max-width:1100px){
  .cards-5{grid-template-columns:repeat(3,1fr)}
  .cards-4{grid-template-columns:repeat(2,1fr)}
  .split,.split.reverse,.form-layout,.article-layout,.footer-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .container{width:min(var(--container),calc(100% - 1.1rem))}
  .menu-toggle{display:flex}
  .site-nav{
    position:absolute;top:88px;left:0;right:0;
    background:rgba(255,255,255,.98);
    border-bottom:1px solid var(--line);
    padding:1rem;
    display:none;
    flex-direction:column;
    align-items:flex-start
  }
  .site-nav.is-open{display:flex}
  .cta-panel{padding:1.35rem}
  .cards-3,.cards-4,.cards-5,.faq-grid,.check-grid,.stats-grid{grid-template-columns:1fr}
  h1{font-size:2.4rem}
  .section{padding:3.5rem 0}
  .page-hero{padding:3rem 0 1rem}
}


/* Production refinements */
p, .page-intro, .footer-note, .card p, .faq-card p, .article-body p, .article-cta-box p, .form-note, .image-card figcaption, .contact-list span, .hours-list li, .feature-list li, .site-footer li {text-align:justify;text-justify:inter-word;hyphens:auto;}
.section-heading p{text-align:center;}
.card h3 + p{text-align:justify;}
.contact-list{display:grid;gap:.8rem;margin:1rem 0 1.25rem;}
.contact-list a{word-break:break-word;}
.whatsapp-float{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:164px;height:auto;padding:.9rem 1.1rem;border-radius:999px;font-weight:800;line-height:1;right:1rem;bottom:1rem;gap:.5rem;}
.whatsapp-float::before{content:"✆";font-size:1rem;line-height:1;}
.back-to-top{bottom:5.35rem;}
@media (max-width:760px){.whatsapp-float{min-width:auto;padding:.85rem 1rem;font-size:.95rem;right:.75rem;bottom:.75rem}.back-to-top{right:.75rem;bottom:4.85rem}}


/* Final content refinements */
.image-card figcaption{display:none;}
.card ul{margin:.25rem 0 0 1.1rem;color:var(--muted);padding:0}
.card ul li{margin-bottom:.45rem}


/* Landing palette refinement */
body{background:#fffdfc;}
.site-header{border-bottom:1px solid rgba(210,180,140,.16);}
.page-hero{
  padding:4rem 0 2rem;
  background:linear-gradient(180deg,#fff8f6 0%, #fff2ef 48%, #ffffff 100%);
}
.section-soft{background:linear-gradient(180deg, rgba(255,228,225,0.45), rgba(255,255,255,0.96));}
.btn-primary{background:var(--brand-dark);color:#fff;box-shadow:0 14px 30px rgba(188,143,143,.24)}
.btn-primary:hover{background:#b48484}
.btn-secondary{background:#fff;border-color:rgba(188,143,143,.28)}
.text-link{color:var(--brand-dark)}
.site-footer{background:linear-gradient(180deg,#433532,#312725);}

/* Cleaner menu */
.header-inner{gap:.8rem;}
.site-nav{gap:.45rem; flex-wrap:wrap; justify-content:flex-end;}
.site-nav a{white-space:nowrap;}
.site-nav a:not(.btn){
  font-size:.9rem;
  font-weight:600;
  color:var(--muted);
  padding:.55rem .82rem;
  border-radius:999px;
  transition:background .2s ease,color .2s ease, transform .2s ease;
}
.site-nav a:not(.btn):hover,.site-nav a.is-active{background:rgba(255,228,225,.78); color:var(--text)}
.nav-cta{margin-left:.2rem}
.brand strong{font-size:.98rem}
.brand span{font-size:.82rem}

/* Media gallery */
.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.media-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.media-card img{width:100%;aspect-ratio:1/1;object-fit:cover}
.media-card .media-copy{padding:1rem}
.media-card h3{margin-bottom:.45rem;font-size:1.2rem}
.media-card p{margin:0;font-size:.96rem}
.media-split{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.media-split .image-card img{aspect-ratio:1/1;object-fit:cover}

@media (max-width:1180px){
  .site-nav a:not(.btn){font-size:.87rem;padding:.5rem .72rem}
}
@media (max-width:980px){
  .media-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .site-nav{justify-content:flex-start; gap:.2rem}
  .site-nav a:not(.btn){padding:.45rem .2rem; background:none; border-radius:0}
  .media-grid,.media-split{grid-template-columns:1fr}
}


/* v4 refinements */
.header-inner{min-height:92px}
.brand{flex:1 1 auto}
.site-nav{gap:.25rem;align-items:center}
.lang-switch{display:inline-flex;align-items:center;gap:.35rem;margin-left:.35rem;padding-left:.55rem;border-left:1px solid var(--line)}
.lang-switch a{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:.4rem .45rem;border-radius:999px}
.lang-switch a:hover,.lang-switch a.is-active{background:rgba(255,228,225,.78);color:var(--text)}
.menu-meta{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.page-hero h1{max-width:980px}
.page-intro{max-width:840px}
.media-card,.image-card,.card,.cta-panel,.faq-card,.article-body,.map-card,.aside-card{box-shadow:0 14px 36px rgba(70,46,43,.07)}
.media-card img,.media-split .image-card img{aspect-ratio:4/3;object-fit:cover}
.media-grid{grid-template-columns:repeat(3,1fr)}
.site-nav a:not(.btn){font-size:.88rem;padding:.55rem .75rem}
.whatsapp-float{background:#25D366}
@media (max-width:1100px){.site-nav a:not(.btn){font-size:.84rem;padding:.5rem .58rem}.lang-switch{border-left:none;padding-left:0;margin-left:0}}
@media (max-width:760px){.lang-switch{display:flex;margin-top:.25rem}.menu-meta{width:100%;justify-content:flex-start}.media-grid{grid-template-columns:1fr}.site-nav a:not(.btn){padding:.45rem 0}}


/* ===================================
   V6 ENHANCEMENTS — NCI Automation
   =================================== */

/* --- Body font upgrade --- */
body {
  font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* --- Scroll reveal --- */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .65s ease, transform .65s ease;
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: .12s; }
.reveal-delay-2 { transition-delay: .24s; }
.reveal-delay-3 { transition-delay: .36s; }

/* --- Hero split --- */
.hero-split {
  background: linear-gradient(155deg, #fff8f5 0%, #fdf3ef 40%, #fff 100%);
  padding: 5rem 0 3.5rem;
  overflow: hidden;
}
.hero-split-inner {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 3rem;
  align-items: center;
}
.hero-copy { max-width: 620px; }
.hero-copy h1 { font-size: clamp(2.6rem, 5vw, 4.2rem); margin-bottom: 1.1rem; }
.hero-copy .page-intro { font-size: 1.08rem; margin-bottom: 1.75rem; }
.trust-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1.4rem;
}
.trust-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .38rem .85rem;
  background: rgba(188,143,143,.1);
  border: 1px solid rgba(188,143,143,.22);
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 600;
  color: var(--brand-dark);
}
.hero-image-frame {
  position: relative;
  border-radius: var(--radius);
  overflow: visible;
  margin: 0;
}
.hero-image-frame img {
  width: 100%;
  border-radius: var(--radius);
  box-shadow: 0 30px 80px rgba(70,46,43,.14);
  object-fit: cover;
  aspect-ratio: 4/5;
  display: block;
}
.hero-badge {
  position: absolute;
  bottom: -1rem;
  left: -1.2rem;
  background: #fff;
  border: 1px solid rgba(201,186,169,.5);
  border-radius: 18px;
  padding: .85rem 1.2rem;
  display: flex;
  align-items: center;
  gap: .75rem;
  box-shadow: 0 12px 40px rgba(70,46,43,.1);
  max-width: 240px;
}
.hero-badge .badge-icon { font-size: 1.5rem; line-height: 1; }
.hero-badge strong { display: block; font-size: .88rem; color: var(--text); }
.hero-badge span { display: block; font-size: .76rem; color: var(--muted); }

/* --- Trust bar --- */
.trust-bar {
  background: #fff;
  border-top: 1px solid rgba(210,180,140,.18);
  border-bottom: 1px solid rgba(210,180,140,.18);
  padding: 1rem 0;
}
.trust-bar-inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
}
.trust-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .88rem;
  font-weight: 500;
  color: var(--muted);
  white-space: nowrap;
}
.trust-icon { font-size: 1rem; }
.trust-divider {
  width: 1px;
  height: 24px;
  background: rgba(210,180,140,.3);
  flex-shrink: 0;
}

/* --- Card icon --- */
.card-icon {
  font-size: 1.6rem;
  margin-bottom: .6rem;
  display: block;
}

/* --- Testimonials --- */
.testimonials-section {}
.testimonial-card {
  background: #fff;
  border: 1px solid rgba(201,186,169,.45);
  border-radius: var(--radius-sm);
  padding: 1.5rem;
  box-shadow: 0 12px 36px rgba(70,46,43,.06);
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.testimonial-stars {
  color: #e9a736;
  font-size: 1.05rem;
  letter-spacing: .05em;
}
.testimonial-card blockquote {
  margin: 0;
  padding: 0;
}
.testimonial-card blockquote p {
  font-size: .97rem;
  line-height: 1.7;
  color: var(--text);
  font-style: italic;
  text-align: left;
  margin: 0;
}
.testimonial-author {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: auto;
  padding-top: .75rem;
  border-top: 1px solid rgba(210,180,140,.18);
}
.author-initial {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--surface-2);
  border: 1px solid rgba(188,143,143,.25);
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: .95rem;
  color: var(--brand-dark);
  flex-shrink: 0;
}
.testimonial-author strong { display: block; font-size: .9rem; color: var(--text); }
.testimonial-author span { display: block; font-size: .8rem; color: var(--muted); }
.testimonials-disclaimer {
  text-align: center !important;
  font-size: .78rem;
  color: var(--muted);
  margin-top: 1.5rem;
  opacity: .65;
}

/* --- Stat number & icon --- */
.stat-number {
  display: block;
  font-size: 2.6rem;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.02em;
}
.stat-icon {
  display: block;
  font-size: 2rem;
  color: rgba(255,255,255,.8);
  margin-bottom: .2rem;
}
.stats-grid article { padding: 1.5rem; }
.stats-grid span { font-size: .9rem; color: rgba(255,255,255,.8); line-height: 1.5; }

/* --- WhatsApp float with icon --- */
.whatsapp-float {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .9rem 1.2rem;
  min-width: auto;
  width: auto;
  height: auto;
  border-radius: 999px;
  background: #25D366;
  color: #fff;
  font-weight: 700;
  font-size: .95rem;
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  animation: waFloat 3s ease-in-out infinite;
}
@keyframes waFloat {
  0%,100% { box-shadow: 0 4px 20px rgba(37,211,102,.4); }
  50% { box-shadow: 0 4px 30px rgba(37,211,102,.65); transform: translateY(-2px); }
}

/* --- Responsive hero split --- */
@media (max-width: 960px) {
  .hero-split-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .hero-image-frame { max-width: 480px; margin: 0 auto; }
  .hero-badge { left: 0; bottom: -1rem; }
}
@media (max-width: 760px) {
  .hero-split { padding: 3rem 0 2.5rem; }
  .trust-bar-inner { flex-direction: column; align-items: flex-start; gap: .65rem; }
  .trust-divider { display: none; }
  .trust-item { white-space: normal; }
  .testimonial-card blockquote p { text-align: left; }
}


/* ===================================
   V6.1 — Image sizing + design polish
   =================================== */

/* --- Global image height control --- */
.hero-image-frame img {
  max-height: 520px;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.section-split .image-card img,
.image-card img {
  max-height: 460px;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

/* Split alt (reversed) — about photo */
.section-split.alt .image-card img {
  max-height: 440px;
  object-position: center 20%;
}

/* Media grid images — keep square but cap height */
.media-card img {
  max-height: 300px;
  object-fit: cover;
  width: 100%;
}

/* Figcaption — show with refined style */
.image-card figcaption {
  display: block !important;
  padding: .7rem 1rem;
  border-top: 1px solid rgba(201,186,169,.3);
  font-size: .8rem;
  color: var(--muted);
  background: #fff;
  font-style: italic;
}

/* Contact page — map iframe height */
.map-card iframe { min-height: 360px; }

/* --- Form states --- */
.form-success,
.form-error {
  display: none;
  padding: 1.25rem 1.4rem;
  border-radius: 18px;
  margin-top: 1rem;
  font-size: .95rem;
  font-weight: 500;
}
.form-success {
  background: rgba(31,164,99,.08);
  border: 1px solid rgba(31,164,99,.3);
  color: #0f6a3d;
}
.form-error {
  background: rgba(188,50,50,.07);
  border: 1px solid rgba(188,50,50,.25);
  color: #8b1f1f;
}
.form-success.is-visible,
.form-error.is-visible { display: block; }

/* Submit button loading state */
.btn[disabled] {
  opacity: .6;
  cursor: not-allowed;
  transform: none !important;
}

/* --- Refined contact form layout --- */
.contact-form-wrapper {
  background: #fff;
  border: 1px solid rgba(201,186,169,.4);
  border-radius: var(--radius);
  padding: 2rem;
  box-shadow: 0 14px 40px rgba(70,46,43,.07);
}
.contact-dual {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 1fr;
  margin-top: 1.5rem;
}
.contact-dual .btn { justify-content: center; }
.contact-or {
  text-align: center;
  font-size: .82rem;
  color: var(--muted);
  position: relative;
}
.contact-or::before,
.contact-or::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 42%;
  height: 1px;
  background: var(--line);
}
.contact-or::before { left: 0; }
.contact-or::after { right: 0; }

/* --- Better card hover --- */
.card {
  transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 50px rgba(70,46,43,.11);
}

/* --- Testimonial card hover --- */
.testimonial-card {
  transition: transform .2s ease, box-shadow .2s ease;
}
.testimonial-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 48px rgba(70,46,43,.09);
}

/* --- Better section-dark stats --- */
.section-dark .stats-grid article {
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.06);
  border-radius: 20px;
  transition: background .2s ease;
}
.section-dark .stats-grid article:hover {
  background: rgba(255,255,255,.1);
}

/* --- Hero badge refinement --- */
.hero-badge {
  bottom: 1.2rem;
  left: 1.2rem;
}

/* --- Page hero interior pages — small refinement --- */
.page-hero h1 {
  font-size: clamp(2rem, 4vw, 3.4rem);
}

/* --- Footer note text-align fix --- */
.footer-note { text-align: left !important; }

/* --- Whatsapp float on all pages (SVG version from v6) --- */
.whatsapp-float svg { flex-shrink: 0; }

@media (max-width: 760px) {
  .contact-dual { grid-template-columns: 1fr; }
  .contact-form-wrapper { padding: 1.35rem; }
  .hero-image-frame img { max-height: 380px; }
  .section-split .image-card img,
  .image-card img { max-height: 320px; }
  .media-card img { max-height: 240px; }
}


/* ===================================
   Contact page v6.1
   =================================== */

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
}
.contact-left { display: flex; flex-direction: column; gap: 1.5rem; }
.contact-right { position: sticky; top: 108px; }

.contact-info-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem;
}
.contact-info-card {
  background: #fff;
  border: 1px solid rgba(201,186,169,.4);
  border-radius: 18px;
  padding: 1.1rem 1.2rem;
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  box-shadow: 0 8px 24px rgba(70,46,43,.05);
}
.contact-info-icon { font-size: 1.2rem; line-height: 1; flex-shrink: 0; margin-top: .1rem; }
.contact-info-card strong { display: block; font-size: .88rem; margin-bottom: .3rem; color: var(--text); }
.contact-info-card p { margin: 0; font-size: .86rem; line-height: 1.55; }
.contact-info-card a { color: var(--brand-dark); font-weight: 500; }

.form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.contact-form label .req { color: var(--brand-dark); }

.form-actions-row {
  display: flex;
  gap: .85rem;
  flex-wrap: wrap;
  align-items: center;
}
.btn-wa-alt {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .9rem 1.25rem;
  border-radius: 999px;
  font-weight: 700;
  background: rgba(37,211,102,.1);
  border: 1px solid rgba(37,211,102,.3);
  color: #1a7a48;
  transition: background .2s ease, transform .2s ease;
  font-size: .95rem;
}
.btn-wa-alt:hover { background: rgba(37,211,102,.18); transform: translateY(-1px); }

.map-card { position: relative; }
.map-details { padding: .85rem 0 .35rem; }
.map-details p { margin: 0; font-size: .9rem; line-height: 1.6; }

@media (max-width: 1100px) {
  .contact-grid { grid-template-columns: 1fr; }
  .contact-right { position: static; }
}
@media (max-width: 680px) {
  .contact-info-cards { grid-template-columns: 1fr; }
  .form-row-2 { grid-template-columns: 1fr; }
  .form-actions-row { flex-direction: column; }
  .form-actions-row .btn, .form-actions-row .btn-wa-alt { width: 100%; justify-content: center; }
}
