:root{
  --cream:#f7f3ee;
  --cream-dark:#efe8df;
  --ink:#1c1a18;
  --red:#b3382c;
  --red-dark:#8f2c22;
  --line:#ddd3c7;
  --muted:#6f665c;
  --wa:#25D366;
  --card-bg:#fff;
  --input-bg:#fff;
  --surface-dark:#1c1a18;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --cream:#161310;
  --cream-dark:#1e1a16;
  --ink:#f2ede4;
  --line:#3a342c;
  --muted:#a89e8f;
  --card-bg:#211d19;
  --input-bg:#221e1a;
  --surface-dark:#2a251f;
  color-scheme:dark;
}
:root[data-theme="dark"] header.on-dark{ background:linear-gradient(180deg,rgba(0,0,0,0.35),transparent); }
:root[data-theme="dark"] .service-card, :root[data-theme="dark"] .value-card{ background:var(--card-bg); }
:root[data-theme="dark"] .service-card:hover, :root[data-theme="dark"] .value-card:hover{ background:#2a251f; box-shadow:0 18px 34px rgba(0,0,0,0.35); }
:root[data-theme="dark"] input, :root[data-theme="dark"] select, :root[data-theme="dark"] textarea{ background:var(--input-bg); color:var(--ink); }
:root[data-theme="dark"] .icon-circle{ background:#2a251f; }
:root[data-theme="dark"] .fullhero{ background:#0e0c0a; }
:root[data-theme="dark"] a.plain{ color:var(--ink); }
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden; -webkit-text-size-adjust:100%; scroll-padding-top:80px;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:'Playfair Display', Georgia, serif;
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
}
.sans{ font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; }
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{ max-width:1200px; margin:0 auto; padding:0 32px; }

/* PRELOADER */
#pageLoader{
  position:fixed; inset:0; z-index:999; background:var(--cream);
  display:flex; align-items:center; justify-content:center;
  transition:opacity 0.35s ease, visibility 0.35s ease;
}
#pageLoader.hide{ opacity:0; visibility:hidden; pointer-events:none; }
#pageLoader svg{ width:40px; height:40px; animation:nvx-spin 0.9s linear infinite; }
#pageLoader circle{ stroke:var(--line); }
#pageLoader path{ stroke:var(--red); }
@keyframes nvx-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ #pageLoader svg{ animation:none; } }

/* THEME TOGGLE */
.theme-toggle{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--line);
  background:transparent; color:var(--ink); cursor:pointer;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  transition:background 0.2s ease, border-color 0.2s ease;
}
header.on-dark .theme-toggle{ border-color:rgba(255,255,255,0.35); color:#fff; }
.theme-toggle:hover{ background:rgba(120,110,95,0.12); }
.theme-toggle .ic-moon{ display:none; }
:root[data-theme="dark"] .theme-toggle .ic-sun{ display:none; }
:root[data-theme="dark"] .theme-toggle .ic-moon{ display:block; }

/* HEADER */
header{
  display:flex; align-items:center; gap:24px;
  padding:24px 32px;
  width:100%; max-width:100vw;
  position:relative; z-index:50;
}
.logo{ min-width:0; }
.header-actions{ min-width:0; }
header.on-dark{ position:absolute; top:0; left:0; right:0; color:#fff; }
header.on-dark .logo small, header.on-dark .header-tagline{ color:#e7e0d3; }
header.on-dark .menu-dot div, header.on-dark .menu-dot div::before, header.on-dark .menu-dot div::after{ background:#fff; }
header.on-dark .menu-dot{ border-color:rgba(255,255,255,0.4); }
header.on-dark nav a{ color:#fff; }

.logo{ font-size:22px; letter-spacing:0.5px; font-weight:700; line-height:1; white-space:nowrap; font-family:'Playfair Display', serif;}
.logo span{ color:var(--red); }
.logo small{ display:block; font-size:9px; letter-spacing:1.6px; color:var(--muted); font-weight:400; font-family:'Inter', sans-serif; margin-top:5px; white-space:nowrap;}
footer .logo{ margin-bottom:4px; }

.header-tagline{
  font-size:11px; letter-spacing:1px; color:var(--muted); border-left:1px solid var(--line); padding-left:20px;
  line-height:1.5; white-space:nowrap; margin-right:auto; font-family:'Inter', sans-serif;
}
@media (max-width:1100px){ .header-tagline{ display:none; } }

nav{ display:flex; gap:26px; font-family:'Inter', sans-serif; font-size:14px; flex-wrap:wrap; }
nav a{ white-space:nowrap; }
nav a{ position:relative; padding-bottom:4px; }
nav a.active{ color:var(--red); }
header.on-dark nav a.active{ color:#f2b3c1; }
nav a.active::after{ content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--red); }

.header-actions{ display:flex; align-items:center; gap:14px; margin-left:auto; }
.btn{
  font-family:'Inter', sans-serif;
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 22px; border-radius:999px; font-size:14px; font-weight:600;
  white-space:nowrap; border:none; cursor:pointer;
}
.btn-dark{ background:var(--surface-dark); color:#fff; }
.btn-dark:hover{ background:var(--red); }
.btn-outline{ border:1px solid var(--line); color:var(--ink); background:transparent; }
.btn-wa{ background:var(--wa); color:#fff; }
.btn-wa:hover{ background:#1ea952; }

.menu-dot{
  width:44px; height:44px; border-radius:12px; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; cursor:pointer; background:rgba(255,255,255,0.04);
  flex-direction:column; gap:5px; transition:background 0.2s ease, border-color 0.2s ease;
}
.menu-dot:hover{ border-color:var(--red); }
.menu-dot div{ width:18px; height:2px; background:var(--ink); position:relative; transition:transform 0.25s ease, opacity 0.2s ease, top 0.25s ease; }
.menu-dot div::before, .menu-dot div::after{ content:''; position:absolute; left:0; width:18px; height:2px; background:var(--ink); transition:transform 0.25s ease, top 0.25s ease; }
.menu-dot div::before{ top:-6px; }
.menu-dot div::after{ top:6px; }
header.on-dark .menu-dot{ background:rgba(255,255,255,0.08); }
.menu-dot.active div{ background:transparent; }
.menu-dot.active div::before{ top:0; transform:rotate(45deg); }
.menu-dot.active div::after{ top:0; transform:rotate(-45deg); }

.mobile-nav{
  display:flex; flex-direction:column; gap:2px;
  max-width:1200px; margin:0 auto; padding:0 20px;
  position:relative; z-index:60; background:var(--cream);
  max-height:0; overflow:hidden;
  transition:max-height 0.45s cubic-bezier(.65,0,.35,1), padding 0.45s cubic-bezier(.65,0,.35,1);
}
header.on-dark + .mobile-nav.open{ background:var(--surface-dark); }
.mobile-nav a{
  font-family:'Inter', sans-serif; font-size:15px; padding:14px 4px; border-bottom:1px solid var(--line); color:var(--ink);
  opacity:0; transform:translateY(16px);
  transition:color 0.2s ease, padding-left 0.2s ease, opacity 0.4s ease, transform 0.4s ease;
}
.mobile-nav.open a{ opacity:1; transform:translateY(0); }
.mobile-nav.open a:nth-child(1){ transition-delay:0.06s; }
.mobile-nav.open a:nth-child(2){ transition-delay:0.11s; }
.mobile-nav.open a:nth-child(3){ transition-delay:0.16s; }
.mobile-nav.open a:nth-child(4){ transition-delay:0.21s; }
.mobile-nav.open a:nth-child(5){ transition-delay:0.26s; }
.mobile-nav a.active{ color:var(--red); }
header.on-dark + .mobile-nav.open a{ color:#f2ede4; border-bottom-color:rgba(255,255,255,0.15); }
header.on-dark + .mobile-nav.open a.active{ color:#f2b3c1; }
.mobile-nav a:hover{ padding-left:10px; }
.mobile-nav.open{ max-height:400px; padding-top:6px; padding-bottom:10px; }

/* LANGUAGE SWITCH */
.lang-switch{ display:flex; align-items:center; border:1px solid var(--line); border-radius:999px; padding:3px; gap:2px; font-family:'Inter', sans-serif; flex-shrink:0; background:rgba(255,255,255,0.04); }
.lang-switch button{ border:none; background:none; cursor:pointer; font-size:12px; font-weight:600; letter-spacing:0.3px; padding:6px 11px; border-radius:999px; color:var(--muted); transition:background 0.2s ease, color 0.2s ease; font-family:'Inter', sans-serif; }
header.on-dark .lang-switch button{ color:#d8d0c2; }
.lang-switch button.active{ background:var(--surface-dark); color:#fff; }
header.on-dark .lang-switch button.active{ background:#fff; color:var(--ink); }
@media (max-width:900px){ .menu-dot{ display:flex; } }

/* FULL SCREEN HERO */
.fullhero{
  position:relative; width:100%;
  min-height:100vh; min-height:100svh; /* svh = real visible height on mobile (URL bar aware) */
  display:flex; flex-direction:column;
  background:#1c1a18; /* dark placeholder so there's no cream flash while the photo loads */
  color:#fff;
  isolation:isolate; overflow:hidden;
}
.fullhero > .hero-bg{
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover; object-position:center;
  opacity:0; transition:opacity 0.6s ease;
}
.fullhero > .hero-bg.loaded{ opacity:1; }
.fullhero::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,6,5,0.58) 0%, rgba(8,6,5,0.42) 40%, rgba(8,6,5,0.8) 100%);
  z-index:0;
}
.fullhero > *{ position:relative; z-index:1; }
.fullhero-body{
  flex:1; display:flex; align-items:center;
  padding:40px 32px 90px;
}
.fullhero-inner{
  max-width:1200px; margin:0 auto; width:100%;
}
.fullhero-text{
  display:inline-block; max-width:640px; width:100%; padding:30px 34px; border-radius:20px;
  background:rgba(6,5,4,0.5);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,0.1);
  overflow-wrap:break-word; box-sizing:border-box;
}
.fullhero-eyebrow{
  font-family:'Inter', sans-serif; font-size:12.5px; letter-spacing:2.5px; color:#f7d9d2; font-weight:700; margin-bottom:20px;
  opacity:0; animation:heroUp 0.8s cubic-bezier(.2,.7,.2,1) 0.05s forwards;
  overflow-wrap:break-word;
}
.fullhero h1{
  font-size:64px; line-height:1.08; font-weight:400; margin-bottom:24px; max-width:800px;
  opacity:0; animation:heroUp 0.9s cubic-bezier(.2,.7,.2,1) 0.18s forwards;
}
.fullhero h1 em{ font-style:italic; color:#f6b3a2; }
.fullhero p{
  font-family:'Inter', sans-serif; font-size:17px; max-width:520px; margin-bottom:0; color:#fbf8f2;
  opacity:0; animation:heroUp 0.9s cubic-bezier(.2,.7,.2,1) 0.32s forwards;
}
.fullhero-cta{ display:flex; gap:18px; flex-wrap:wrap; margin-top:34px; opacity:0; animation:heroUp 0.9s cubic-bezier(.2,.7,.2,1) 0.46s forwards; }
@keyframes heroUp{ from{ opacity:0; transform:translateY(22px);} to{ opacity:1; transform:translateY(0);} }
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){
  .fullhero-text{ background:rgba(6,5,4,0.72); }
}
.scroll-cue{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
  font-family:'Inter', sans-serif; font-size:11px; letter-spacing:2px; color:#f1ece2;
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
.scroll-cue .line{ width:1px; height:30px; background:rgba(255,255,255,0.6); animation:scrolldown 1.8s infinite; }
@keyframes scrolldown{ 0%{ transform:scaleY(0.2); transform-origin:top;} 50%{ transform:scaleY(1); transform-origin:top;} 51%{ transform-origin:bottom;} 100%{ transform:scaleY(0.2); transform-origin:bottom;} }

.stat-row{ display:flex; gap:44px; flex-wrap:wrap; margin-top:30px; opacity:0; animation:heroUp 0.9s cubic-bezier(.2,.7,.2,1) 0.6s forwards; }
.stat-row div b{ font-size:26px; display:block; font-family:'Inter', sans-serif; font-weight:700; text-shadow:0 2px 10px rgba(0,0,0,0.55); }
.stat-row div span{ font-family:'Inter', sans-serif; font-size:12.5px; color:#f0ece3; text-shadow:0 1px 6px rgba(0,0,0,0.5); }

/* STRIP */
.strip{ border-top:1px solid var(--line); }
.strip-inner{
  max-width:1200px; margin:0 auto; padding:26px 32px;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.strip-label{ font-family:'Inter', sans-serif; font-size:11.5px; letter-spacing:1.5px; color:var(--muted); }
.strip-label a{ display:inline-flex; align-items:center; gap:6px; }
.ic-arrow{ flex-shrink:0; transition:transform 0.25s ease; }
a:hover .ic-arrow, button:hover .ic-arrow{ transform:translate(2px,-2px); }
.brand-logos{ display:flex; gap:36px; flex-wrap:wrap; font-weight:700; font-size:17px; font-family:'Inter', sans-serif; color:#2b2823; opacity:0.75;}

/* SECTION HEAD */
.section-head{ max-width:640px; margin-bottom:50px; }
.section-head .eyebrow{ font-family:'Inter', sans-serif; color:var(--red); font-weight:700; font-size:12.5px; letter-spacing:2px; margin-bottom:14px; }
.section-head h2{ font-size:38px; font-weight:400; line-height:1.15; margin-bottom:16px; }
.section-head h2 em{ font-style:italic; color:var(--red); }
.section-head p{ font-family:'Inter', sans-serif; color:var(--muted); font-size:16px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* SERVICES GRID */
.services{ padding:90px 0; border-top:1px solid var(--line); }
.service-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--line);
  border:1px solid var(--line);
}
.service-grid .service-card:last-child:nth-child(3n+1){ grid-column:1 / -1; }
.service-card{
  background:var(--cream); padding:34px 30px; display:flex; flex-direction:column; gap:14px; min-height:220px;
}
.service-num{ font-family:'Inter', sans-serif; color:var(--red); font-size:13px; font-weight:700; }
.service-card h3{ font-size:21px; font-weight:400; }
.service-card p{ font-family:'Inter', sans-serif; color:var(--muted); font-size:14px; flex:1; }
.service-card .svc-link{ display:flex; align-items:center; gap:8px; font-family:'Inter', sans-serif; font-size:13px; font-weight:600; color:var(--ink); margin-top:auto; }
.service-arrow{ width:34px; height:34px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0;}

.svc-proof{
  font-size:10.5px; font-weight:700; letter-spacing:1.1px; line-height:1.5; color:var(--red);
  padding:10px 0 2px; border-top:1px dashed var(--line);
}

/* PROCESS */
.process{ padding:90px 0; border-top:1px solid var(--line); }
.process-list{ display:flex; flex-direction:column; }
.process-item{ display:flex; align-items:flex-start; gap:24px; padding:26px 0; border-bottom:1px solid var(--line); flex-wrap:wrap;}
.process-item:first-child{ border-top:1px solid var(--line); }
.proc-num{ font-family:'Inter', sans-serif; color:var(--red); font-weight:700; font-size:14px; width:28px; padding-top:4px;}
.proc-body{ flex:1; min-width:200px; }
.proc-body h3{ font-size:22px; font-weight:400; margin-bottom:4px; }
.proc-body p{ font-family:'Inter', sans-serif; color:var(--muted); font-size:14.5px; }
.proc-arrow{ display:none; }

/* VALUES */
.values-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:40px; }
.value-card{ background:var(--cream); padding:28px 24px; }
.value-icon{ width:44px; height:44px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--red); margin-bottom:14px; }
.value-card h4{ font-size:18px; font-weight:400; margin-bottom:4px; }
.value-card p{ font-family:'Inter', sans-serif; font-size:13.5px; color:var(--muted); }

/* STATS BAND */
.stats-band{ background:var(--ink); color:#f2ede4; padding:64px 0; }
.stats-band .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.stat-block b{ display:block; font-size:34px; font-weight:700; font-family:'Inter', sans-serif;}
.stat-block span{ font-family:'Inter', sans-serif; font-size:13px; color:#c9c1b5;}

/* MISSION BAND */
.mission-band{
  background:linear-gradient(135deg, #241a10, #150f0a); color:#fff; padding:80px 32px; margin:0;
  background-size:cover; background-position:center;
}
.mission-band .wrap{ display:flex; flex-direction:column; gap:14px; max-width:640px; }
.mission-band .eyebrow{ font-family:'Inter', sans-serif; font-size:12px; letter-spacing:2px; color:#f2b3c1; font-weight:700; }
.mission-band h2{ font-size:36px; font-weight:400; }
.mission-band p{ font-family:'Inter', sans-serif; color:#dcd3c4; font-size:15.5px; }

/* CONTACT */
.contact{ padding:90px 0; border-top:1px solid var(--line); }
.contact-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:60px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field{ margin-bottom:20px; }
.field label{ display:block; font-family:'Inter', sans-serif; font-size:12px; letter-spacing:1px; color:var(--muted); margin-bottom:8px; font-weight:600;}
.field input, .field textarea, .field select{
  width:100%; padding:14px 16px; border:1px solid var(--line); border-radius:10px; background:var(--input-bg); color:var(--ink);
  font-family:'Inter', sans-serif; font-size:14.5px; color:var(--ink);
}
.field textarea{ resize:vertical; min-height:110px; }
.form-note{ font-family:'Inter', sans-serif; font-size:12.5px; color:var(--muted); margin-top:12px; }
.contact-side{ display:flex; flex-direction:column; gap:30px; }
.contact-item{ display:flex; gap:16px; }
.icon-circle{
  width:46px; height:46px; border-radius:50%; border:1px solid var(--line); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; color:var(--red); font-size:18px;
}
.contact-item h4{ font-size:17px; font-weight:400; margin-bottom:3px; }
.contact-item p{ font-family:'Inter', sans-serif; font-size:13.5px; color:var(--muted); }
.contact-item a.plain{ text-decoration:underline; text-underline-offset:3px; }

/* LEGAL PAGES */
.legal-hero{ background:linear-gradient(135deg,#241a10,#150f0a); color:#fff; padding:170px 0 70px; }
.legal-hero .eyebrow{ color:#f2b3c1; font-weight:700; font-size:12.5px; letter-spacing:2px; margin-bottom:14px; }
.legal-hero h1{ font-size:56px; font-weight:400; line-height:1.1; margin-bottom:14px; }
.legal-hero h1 em{ font-style:italic; color:#f6b3a2; }
.legal-hero p{ color:#dcd3c4; font-size:14px; }
.legal-body{ padding:70px 0 80px; }
.legal-body .wrap{ max-width:820px; }
.legal-body h2{ font-size:24px; font-weight:400; margin:38px 0 10px; }
.legal-body p, .legal-body li{ font-family:'Inter', sans-serif; font-size:15px; color:var(--muted); line-height:1.75; }
.legal-body p{ margin-bottom:12px; }
.legal-body ul{ margin:8px 0 12px 22px; display:flex; flex-direction:column; gap:8px; }
.legal-body b{ color:var(--ink); font-weight:600; }
.legal-body a.plain{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
@media (max-width:900px){ .legal-hero{ padding:130px 0 50px; } .legal-hero h1{ font-size:38px; } .legal-body{ padding:48px 0 60px; } }

/* FOOTER */
footer{ border-top:1px solid var(--line); padding:50px 0 26px; }
.footer-top{ display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; margin-bottom:36px;}
.footer-tagline{ font-family:'Inter', sans-serif; color:var(--muted); font-size:14px; max-width:280px; margin-top:14px;}
.social-row{ display:flex; gap:12px; margin-top:18px; }
.social-row a{ width:36px; height:36px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--ink); }
.social-row a:hover{ background:var(--surface-dark); color:#fff; border-color:var(--surface-dark); }
.footer-cols{ display:flex; gap:70px; font-family:'Inter', sans-serif; font-size:13px; color:var(--muted); }
.footer-cols div{ display:flex; flex-direction:column; gap:8px; }
.footer-bottom{
  display:flex; justify-content:space-between; padding-top:20px; border-top:1px solid var(--line);
  font-family:'Inter', sans-serif; font-size:12.5px; color:var(--muted); flex-wrap:wrap; gap:10px;
}
.cta-band{
  background:var(--surface-dark); color:#fff; margin-top:40px; border-radius:18px; padding:40px 34px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px;
}
.cta-band h3{ font-size:26px; font-weight:400; }
.cta-band .btn-dark{ background:var(--red); }
.cta-band .btn-dark:hover{ background:#fff; color:var(--ink); }

/* WHATSAPP FLOATING BUTTON */
.wa-float{
  position:fixed; bottom:26px; right:26px; z-index:200;
  width:58px; height:58px; border-radius:50%; background:var(--wa); color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.25);
  transition:transform 0.25s ease, background 0.25s ease;
}
.wa-float::before{
  content:''; position:absolute; inset:0; border-radius:50%; background:var(--wa);
  animation:waPulse 2.6s ease-out infinite; z-index:-1;
}
@keyframes waPulse{ 0%{ transform:scale(1); opacity:0.55;} 100%{ transform:scale(1.9); opacity:0;} }
.wa-float:hover{ background:#1ea952; transform:translateY(-3px) scale(1.05); }

/* SCROLL REVEAL */
.reveal{ opacity:0; transform:translateY(28px) scale(0.98); transition:opacity 0.7s cubic-bezier(.2,.7,.2,1), transform 0.7s cubic-bezier(.2,.7,.2,1); will-change:transform, opacity; }
.reveal.is-visible{ opacity:1; transform:translateY(0) scale(1); will-change:auto; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .fullhero-eyebrow, .fullhero h1, .fullhero p, .fullhero-cta, .stat-row{ opacity:1; animation:none; }
  .wa-float::before{ animation:none; display:none; }
  .fullhero > .hero-bg{ transition:none; }
  html{ scroll-behavior:auto; }
}

/* PAGE-TO-PAGE TRANSITIONS
   Native cross-document View Transitions: gives full-page navigation a
   smooth cross-fade + gentle motion instead of a hard reload, so moving
   between pages feels like one continuous app rather than separate
   documents. Supported on modern Chromium browsers; everywhere else it
   silently falls back to a normal navigation, no JS required. */
@view-transition{ navigation:auto; }
::view-transition-group(root){ animation-duration:0.55s; animation-timing-function:cubic-bezier(.4,0,.2,1); }
::view-transition-old(root){ animation:nurvexPageOut 0.4s cubic-bezier(.4,0,.2,1) both; }
::view-transition-new(root){ animation:nurvexPageIn 0.55s cubic-bezier(.2,.7,.2,1) both; }
@keyframes nurvexPageOut{ from{ opacity:1; transform:scale(1);} to{ opacity:0; transform:scale(0.985);} }
@keyframes nurvexPageIn{ from{ opacity:0; transform:scale(1.015) translateY(10px);} to{ opacity:1; transform:scale(1) translateY(0);} }
@media (prefers-reduced-motion: reduce){
  ::view-transition-group(root), ::view-transition-old(root), ::view-transition-new(root){ animation:none !important; }
}

/* CARD MOTION */
.service-card, .value-card{ transition:transform 0.35s cubic-bezier(.2,.7,.2,1), box-shadow 0.35s ease, background 0.35s ease; }
.service-card:hover, .value-card:hover{ transform:translateY(-6px); background:var(--card-bg); box-shadow:0 18px 34px rgba(28,26,24,0.1); position:relative; z-index:2; }
.service-card .service-arrow{ transition:transform 0.3s ease, background 0.3s ease, color 0.3s ease; }
.service-card:hover .service-arrow{ background:var(--surface-dark); color:#fff; transform:translateX(3px); border-color:var(--surface-dark); }
.service-card .value-icon{ transition:transform 0.35s ease; }
.service-card:hover .value-icon{ transform:scale(1.1) rotate(-4deg); }
.process-item{ transition:background 0.3s ease, transform 0.3s ease; }
.process-item:hover{ background:rgba(179,56,44,0.04); transform:translateX(4px); }
.social-row a, .icon-circle{ transition:transform 0.25s ease, background 0.25s ease, color 0.25s ease; }
.social-row a:hover{ transform:translateY(-3px); }
.btn{ transition:transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease; }
.btn:hover{ transform:translateY(-2px); }
.brand-logos span{ display:inline-block; transition:opacity 0.25s ease, transform 0.25s ease; }
.brand-logos span:hover{ opacity:1; transform:translateY(-2px); }

/* RESPONSIVE */
@media (max-width: 1024px){
  .service-grid{ grid-template-columns:repeat(2,1fr); }
  .values-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 900px){
  .header-tagline{ display:none; }
  .header-actions{ gap:10px; }
  header{ flex-wrap:wrap; row-gap:12px; }
  nav{ order:3; width:100%; gap:14px 18px; font-size:13px; justify-content:flex-start; }
}
@media (max-width: 560px){
  .header-actions .btn{ display:none; }
  nav{ gap:10px 14px; font-size:12.5px; }
}
@media (max-width: 900px){
  .fullhero-text{ -webkit-backdrop-filter:none; backdrop-filter:none; background:rgba(6,5,4,0.62); }
  .fullhero h1{ font-size:40px; }
  .fullhero p{ font-size:15px; }
  .fullhero-text{ padding:24px 22px; border-radius:16px; max-width:100%; }

  /* Mobile gets its own card treatment: individual rounded cards in a
     2-up grid instead of the desktop's shared hairline table-grid
     squeezed into one column. */
  .service-grid, .values-grid{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:12px;
    background:none; border:none;
  }
  .service-grid .service-card:last-child:nth-child(3n+1){ grid-column:auto; }
  .service-card, .value-card{
    background:var(--cream); border:1px solid var(--line); border-radius:14px;
    box-shadow:0 2px 10px rgba(28,26,24,0.04);
  }
  .service-card{ padding:22px 18px; min-height:0; gap:10px; }
  .service-card h3{ font-size:17px; line-height:1.25; }
  .service-card p{ font-size:13px; line-height:1.5; }
  .service-card .svc-link{ font-size:12.5px; gap:6px; }
  .service-arrow{ width:28px; height:28px; }
  .value-card{ padding:20px 16px; }

  .values-grid{ margin-top:24px; }
  .process-item{ flex-wrap:wrap; }
  .stats-band .wrap{ grid-template-columns:repeat(2,1fr); }
  .contact-grid{ grid-template-columns:1fr; }
  .footer-top{ flex-direction:column; }
  .footer-cols{ gap:34px; flex-wrap:wrap; }
  header{ padding:18px 20px; }
  .wrap, .strip-inner{ padding-left:20px; padding-right:20px; }
  .fullhero-body{ padding:32px 20px 60px; align-items:flex-end; }
  .stat-row{ margin-top:22px; }
  .value-icon{ width:38px; height:38px; margin-bottom:10px; }
  .ic-arrow{ width:12px; height:12px; }
  .social-row svg{ width:14px; height:14px; }
}
@media (max-width: 460px){
  .service-grid, .values-grid{ grid-template-columns:repeat(2, 1fr); gap:8px; }
  .service-card{ min-height:0; padding:16px 12px; }
  .service-card h3{ font-size:14.5px; }
  .service-card p{ font-size:11.5px; line-height:1.42; }
  .service-card .svc-link{ font-size:11px; gap:4px; }
  .svc-proof{ font-size:9px; letter-spacing:0.6px; padding-top:8px; }
  .service-arrow{ width:24px; height:24px; }
  .value-icon{ width:34px; height:34px; }
}
@media (max-width: 640px){
  .section-head h2{ font-size:30px; }
  .strip-inner{ flex-direction:column; align-items:flex-start; gap:16px; }
  .brand-logos{ gap:22px; font-size:15px; }
  .mission-band h2{ font-size:28px; }
  .fullhero-cta{ flex-direction:column; align-items:stretch; }
  .fullhero-cta .btn{ justify-content:center; }
}
@media (max-width: 480px){
  .fullhero h1{ font-size:28px; }
  .fullhero-text{ padding:20px 18px; }
  .fullhero-eyebrow{ font-size:11px; letter-spacing:1.6px; }
  .stat-row{ gap:18px 24px; }
  .stat-row div b{ font-size:19px; }
  .stats-band .wrap{ grid-template-columns:1fr 1fr; gap:26px 16px; }
  .cta-band{ flex-direction:column; align-items:flex-start; }
  .cta-band h3{ font-size:22px; }
  .process-item{ gap:14px; }
  .field{ margin-bottom:16px; }
  .logo{ font-size:19px; }
  .wa-float{ width:46px; height:46px; bottom:16px; right:16px; }
  .wa-float svg{ width:22px; height:22px; }
  .menu-dot{ width:38px; height:38px; }
  .form-row{ grid-template-columns:1fr; gap:0; }
  .wa-float{ width:52px; height:52px; bottom:18px; right:18px; }
  .btn{ padding:12px 18px; font-size:13.5px; }
}

/* RTL / ARABIC */
html[dir="rtl"] body{ font-family:'Tahoma', 'Segoe UI', 'Inter', sans-serif; }
html[dir="rtl"] .sans{ font-family:'Tahoma', 'Segoe UI', 'Inter', sans-serif; }
html[dir="rtl"] .header-tagline{ border-left:none; border-right:1px solid var(--line); padding-left:0; padding-right:20px; }
html[dir="rtl"] .header-actions{ margin-left:0; margin-right:auto; }
html[dir="rtl"] nav a.active::after{ left:auto; right:0; }
html[dir="rtl"] .service-num{ left:auto; }
html[dir="rtl"] .ic-arrow{ transform:scaleX(-1); }
html[dir="rtl"] .footer-tagline, html[dir="rtl"] .fullhero p, html[dir="rtl"] .section-head p, html[dir="rtl"] .mission-band p{ direction:rtl; }
