/* =============================================================
   JHONNY MORENO MKT — jhonnymorenoautomkt.com
   1. Tokens  2. Reset  3. Utilities  4. Typography  5. Nav
   6. Components  7. Sections  8. Page-specific  9. RTL
   10. Responsive  11. Reduced-motion
   ============================================================= */

/* =============================================================
   1. Tokens
   ============================================================= */
:root{
  --negro:#0E0E0E;
  --negro-2:#161616;
  --negro-3:#1D1D1B;
  --blanco:#FAFAF8;
  --gris:#8A8A85;
  --gris-linea-d: rgba(250,250,248,.14);
  --gris-linea-l: rgba(14,14,14,.14);
  --acento:#FF5A1F;
  --acento-rgb: 255,90,31;

  --serif: 'Fraunces', serif;
  --sans: 'Space Grotesk', sans-serif;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-soft: cubic-bezier(0.25, 0.46, 0.45, 0.94);

  --nav-h: 76px;
  --container: 1180px;
  --radius: 2px;
}

/* =============================================================
   2. Reset & base — black-dominant by default sitewide
   ============================================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;}
html{
  -webkit-text-size-adjust:100%;
  tab-size:2;
  scroll-behavior:smooth;
  overflow-x:clip;
}
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  background:var(--negro);
  color:var(--blanco);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
  overscroll-behavior-y:none;
}
/* .theme-light: rare, occasional pause section on Workshop White instead of black */
.theme-light{ background:var(--blanco); color:var(--negro); }

img,svg,video{display:block;max-width:100%;}
img{height:auto;}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;}
a{color:inherit;text-decoration:none;}
p{text-wrap:pretty;}
ul,ol{list-style:none;}
input,textarea,select{font:inherit;color:inherit;}
h1,h2,h3,h4{text-wrap:balance;line-height:1.05;}
::selection{background:var(--acento);color:var(--blanco);}

:focus-visible{
  outline:2px solid var(--acento);
  outline-offset:3px;
  border-radius:2px;
}

.skip-link{
  position:fixed;top:-100px;left:1rem;
  padding:.7rem 1.1rem;background:var(--acento);color:var(--blanco);
  z-index:9999;font-weight:500;font-size:14px;
}
.skip-link:focus{top:1rem;}

/* =============================================================
   3. Utilities
   ============================================================= */
.container{max-width:var(--container);margin-inline:auto;padding-inline:24px;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.eyebrow{
  font-family:var(--sans);font-size:12px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--acento);font-weight:500;
}
.accent{color:var(--acento);}
.accent-italic{color:var(--acento);font-style:italic;font-weight:300;font-family:var(--serif);}
.section{padding:100px 0;}
.section-tight{padding:64px 0;}
.section-head{max-width:680px;margin-bottom:56px;}
.section-head .eyebrow{margin-bottom:16px;display:block;}
.section-head h2{margin-top:6px;}
.section-head p{margin-top:18px;color:var(--gris);font-size:17px;max-width:56ch;}
.section-head.center{margin-inline:auto;text-align:center;}
.section-head.tight-gap{margin-bottom:28px;}
.line-top{border-top:1px solid var(--gris-linea-d);}
.theme-light.line-top, .theme-light .line-top{border-top-color:var(--gris-linea-l);}
.center{text-align:center;margin-inline:auto;}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);}
.reveal.is-visible{opacity:1;transform:none;}
.reveal[data-split]{opacity:1;transform:none;}

/* =============================================================
   4. Typography
   ============================================================= */
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;}
h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.03;}
h2{font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.08;}
h3{font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.12;}
h4{font-size:1.05rem;font-family:var(--sans);font-weight:500;}
em,i{font-style:italic;}
.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:300;line-height:1.65;color:rgba(250,250,248,.72);max-width:60ch;}
.theme-light .lead{color:var(--gris);}

/* =============================================================
   5. Nav
   ============================================================= */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:var(--nav-h);display:flex;align-items:center;
  background:rgba(14,14,14,.86);backdrop-filter:blur(10px) saturate(140%);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
  border-bottom:1px solid transparent;
  transition:background .3s var(--ease-out), border-color .3s var(--ease-out);
}
.nav.is-scrolled{border-bottom-color:var(--gris-linea-d);}

.nav .container{display:flex;align-items:center;justify-content:space-between;gap:20px;}
.nav-brand{font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.01em;display:flex;align-items:center;gap:10px;line-height:1.15;}
.nav-brand img{width:34px;height:34px;border-radius:50%;object-fit:cover;}
.nav-brand .brand-sub{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);font-weight:500;}
.nav-links{display:flex;align-items:center;gap:1px;}
.nav-links a{
  font-size:13.5px;letter-spacing:.02em;position:relative;
  padding:9px 16px;border-radius:999px;color:var(--gris);
  transition:background .25s var(--ease-out), color .25s var(--ease-out);
}
.nav-links a:not(:last-child)::after{
  content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);
  width:1px;height:14px;background:var(--gris-linea-d);
}
.nav-links a:hover{color:var(--blanco);background:rgba(255,255,255,.06);}
.nav-links a[aria-current="page"]{color:var(--blanco);background:var(--acento);}
.nav-links a[aria-current="page"]::after{background:transparent;}

.nav-right{display:flex;align-items:center;gap:16px;}

/* language dropdown (desktop) */
.lang-dropdown{position:relative;}
.lang-current{
  display:flex;align-items:center;gap:7px;cursor:pointer;
  background:none;border:1px solid var(--gris-linea-d);color:var(--blanco);
  font-size:12px;letter-spacing:.06em;font-weight:500;
  padding:9px 14px;border-radius:999px;
  transition:border-color .25s var(--ease-out), background .25s var(--ease-out);
}
.lang-current:hover{border-color:var(--acento);}
.lang-chevron{width:11px;height:11px;flex-shrink:0;transition:transform .25s var(--ease-out);}
.lang-dropdown.is-open .lang-chevron{transform:rotate(180deg);}
.lang-menu{
  position:absolute;top:calc(100% + 10px);right:0;min-width:160px;
  background:var(--negro-3);border:1px solid var(--gris-linea-d);
  padding:6px;display:flex;flex-direction:column;gap:1px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .22s var(--ease-out), transform .22s var(--ease-out), visibility .22s;
  z-index:50;
}
.lang-dropdown.is-open .lang-menu{opacity:1;visibility:visible;transform:translateY(0);}
.lang-menu a{padding:9px 12px;font-size:13px;color:var(--gris);transition:background .2s, color .2s;}
.lang-menu a:hover{background:rgba(255,255,255,.06);color:var(--blanco);}
.lang-menu a[aria-current="true"]{color:var(--acento);}
html[dir="rtl"] .lang-menu{right:auto;left:0;}

/* language list (mobile menu, unchanged inline style) */
.lang-switch{display:flex;align-items:center;gap:5px;font-size:12px;letter-spacing:.06em;font-weight:500;flex-wrap:wrap;}
.lang-switch a{padding:4px 5px;color:var(--gris);}
.lang-switch a[aria-current="true"]{color:var(--blanco);border-bottom:1px solid var(--acento);}
.lang-switch .sep{color:var(--gris-linea-d);}

.nav-toggle{display:none;flex-direction:column;gap:5px;width:26px;}
.nav-toggle span{display:block;height:1.5px;background:currentColor;transition:transform .3s var(--ease-out),opacity .3s var(--ease-out);}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.nav-mobile{
  position:fixed;inset:var(--nav-h) 0 0 0;z-index:490;background:var(--negro);
  display:none;flex-direction:column;padding:36px 24px;gap:2px;overflow-y:auto;
}
.nav-mobile.is-open{display:flex;}
.nav-mobile a{
  font-family:var(--serif);font-size:26px;padding:14px 0;border-bottom:1px solid var(--gris-linea-d);
}
.nav-mobile .lang-switch{margin-top:24px;font-size:14px;}

/* =============================================================
   6. Components
   ============================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 26px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
  border:1px solid var(--blanco);color:var(--blanco);
  transition:background .3s var(--ease-out), color .3s var(--ease-out), border-color .3s var(--ease-out);
  white-space:nowrap;
}
.btn:hover{background:var(--blanco);color:var(--negro);}
.btn-solid{background:var(--blanco);color:var(--negro);}
.btn-solid:hover{background:var(--acento);border-color:var(--acento);color:var(--blanco);}
.btn-accent{background:var(--acento);border-color:var(--acento);color:var(--blanco);}
.btn-accent:hover{background:var(--blanco);border-color:var(--blanco);color:var(--negro);}
.theme-light .btn{border-color:var(--negro);color:var(--negro);}
.theme-light .btn:hover{background:var(--negro);color:var(--blanco);}
.theme-light .btn-solid{background:var(--negro);color:var(--blanco);}
.theme-light .btn-solid:hover{background:var(--acento);border-color:var(--acento);color:var(--blanco);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;}

.card{
  border:1px solid var(--gris-linea-d);padding:32px 28px;background:var(--negro-2);
  transition:border-color .3s var(--ease-out), transform .3s var(--ease-out);
}
.theme-light .card{border-color:var(--gris-linea-l);background:var(--blanco);}
.card:hover{border-color:var(--acento);transform:translateY(-4px);}
.card .num{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--acento);}
.card h3{margin-top:14px;}
.card p{margin-top:12px;color:var(--gris);font-size:14.5px;line-height:1.6;}

.tag{
  display:inline-block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--gris-linea-d);padding:7px 13px;color:var(--gris);
}
.tag-row{display:flex;flex-wrap:wrap;gap:10px;}

.list-dash{}
.list-dash li{padding:9px 0;border-bottom:1px solid var(--gris-linea-d);display:flex;gap:10px;font-size:14.5px;}
.list-dash li:last-child{border-bottom:none;}
.list-dash li::before{content:"—";color:var(--acento);flex-shrink:0;}

.quote-block{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.45;max-width:820px;
}
.quote-block .accent{font-style:italic;}

/* portrait / photo frames */
.photo-frame{position:relative;overflow:hidden;background:var(--negro-3);}
.photo-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(.85) contrast(1.02);transition:filter .5s var(--ease-out), transform .6s var(--ease-out);}
.photo-frame:hover img, .photo-frame.no-grayscale img{filter:grayscale(0);}
.photo-frame.color img{filter:none;}
.photo-frame img:hover{transform:scale(1.04);}
.photo-frame::after{
  content:"";position:absolute;inset:0;border:1px solid var(--gris-linea-d);pointer-events:none;
}

.avatar-circle{width:220px;height:220px;border-radius:50%;overflow:hidden;flex-shrink:0;}
.avatar-circle img{width:100%;height:100%;object-fit:cover;}

/* cutout portrait — transparent PNG floated over a glow, no card/frame */
.hero-cutout{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:360px;}
.hero-cutout::before{
  content:"";position:absolute;inset:8% 8% 0 8%;border-radius:50%;
  background:radial-gradient(closest-side, rgba(var(--acento-rgb),.22), transparent 72%);
  filter:blur(6px);
}
.hero-cutout img{position:relative;max-height:440px;width:auto;margin-inline:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.5));}

/* background-photo sections — full-bleed image with dark overlay, text stays on top */
.bg-photo{position:relative;background-size:cover;background-position:center;isolation:isolate;}
.bg-photo::before{content:"";position:absolute;inset:0;background:rgba(14,14,14,.86);z-index:0;}
.bg-photo.bg-photo-soft::before{background:linear-gradient(180deg, rgba(14,14,14,.55), rgba(14,14,14,.9));}
.bg-photo > .container{position:relative;z-index:1;}

/* subtle metal texture strip (very low opacity, decorative only) */
.texture-strip{position:relative;isolation:isolate;}
.texture-strip::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:url("/assets/img/texture-metal.jpg");background-size:cover;background-position:center;
  opacity:.14;mix-blend-mode:overlay;
}
.texture-strip > .container{position:relative;z-index:1;}

/* real client grid (Clients page + home) */
.client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.client-card{border:1px solid var(--gris-linea-d);padding:28px 26px;transition:border-color .3s var(--ease-out), transform .3s var(--ease-out);}
.client-card:hover{border-color:var(--acento);transform:translateY(-4px);}
.client-card .cc-name{font-family:var(--serif);font-size:1.2rem;}
.client-card .cc-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.client-card .cc-tag{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);border:1px solid var(--gris-linea-d);padding:5px 10px;}
.client-card .cc-tag.cc-service{color:var(--acento);border-color:rgba(var(--acento-rgb),.4);}
.client-card .cc-note{margin-top:14px;font-size:12.5px;color:var(--gris);font-style:italic;}
.client-card .cc-desc{margin-top:14px;font-size:13px;color:var(--gris);line-height:1.6;}
.cc-logo{width:64px;height:64px;background:var(--blanco);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:9px;margin-bottom:18px;}
.cc-logo img{max-width:100%;max-height:100%;object-fit:contain;}
.cc-social{display:flex;gap:8px;margin-top:18px;}
.cc-social a{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gris-linea-d);color:var(--gris);transition:border-color .25s var(--ease-out), color .25s var(--ease-out);}
.cc-social a:hover{border-color:var(--acento);color:var(--acento);}
.cc-social svg{width:14px;height:14px;}

/* portfolio (detailed case studies) */
.portfolio-list{display:flex;flex-direction:column;}
.portfolio-item{padding:36px 0;border-top:1px solid var(--gris-linea-d);}
.portfolio-item:last-child{border-bottom:1px solid var(--gris-linea-d);}
.pf-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.pf-logo{width:52px;height:52px;background:var(--blanco);border-radius:9px;display:flex;align-items:center;justify-content:center;padding:7px;flex-shrink:0;}
.pf-logo img{max-width:100%;max-height:100%;object-fit:contain;}
.pf-heading h3{font-size:1.2rem;font-family:var(--serif);}
.pf-role{color:var(--gris);font-size:13.5px;margin-top:3px;}
.pf-status{margin-left:auto;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border:1px solid var(--gris-linea-d);color:var(--gris);white-space:nowrap;}
.pf-status.current{color:var(--acento);border-color:rgba(var(--acento-rgb),.4);}
.pf-meta{color:var(--gris);font-size:12.5px;margin-top:16px;letter-spacing:.02em;}
.pf-body{margin-top:14px;max-width:72ch;}
.pf-body p{color:var(--gris);font-size:14.5px;line-height:1.75;margin-top:12px;}
.pf-body p:first-child{margin-top:0;}
.pf-skills{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;}
.pf-skills span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);border:1px solid var(--gris-linea-d);padding:5px 10px;}

/* under-construction (blog placeholder) */
.construction-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 0 10px;}
.construction-tape{
  display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  color:var(--negro);background:repeating-linear-gradient(45deg, var(--acento) 0 14px, var(--blanco) 14px 28px);
  padding:8px 18px;margin-top:28px;
}

/* FAQ accordion */
.faq-item{border-bottom:1px solid var(--gris-linea-d);}
.faq-item summary{
  list-style:none;cursor:pointer;padding:22px 0;display:flex;justify-content:space-between;
  align-items:center;font-family:var(--serif);font-size:1.05rem;gap:20px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-size:22px;color:var(--acento);transition:transform .3s var(--ease-out);flex-shrink:0;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item .faq-a{padding:0 0 24px;color:var(--gris);font-size:14.5px;max-width:66ch;line-height:1.65;}

/* WhatsApp / SMS floating button */
.contact-float{
  position:fixed;right:20px;bottom:20px;z-index:400;
  display:flex;align-items:center;gap:10px;padding:14px 20px;
  background:var(--blanco);color:var(--negro);font-size:13px;letter-spacing:.04em;
  border:1px solid var(--blanco);box-shadow:0 12px 30px rgba(0,0,0,.35);
  transition:background .3s var(--ease-out), transform .3s var(--ease-out);
}
.contact-float:hover{background:var(--acento);border-color:var(--acento);color:var(--blanco);transform:translateY(-2px);}
.contact-float svg{width:18px;height:18px;flex-shrink:0;}
.contact-float-sms{bottom:78px;}

/* Cookie consent banner */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:600;
  background:var(--negro-2);border-top:1px solid var(--gris-linea-d);
  padding:18px 20px;box-shadow:0 -8px 24px rgba(0,0,0,.35);
}
.cookie-banner[hidden]{display:none;}
.cookie-banner-inner{
  max-width:var(--container);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.cookie-banner p{margin:0;font-size:13.5px;line-height:1.6;color:var(--gris);max-width:640px;}
.cookie-banner a{color:var(--acento);text-decoration:underline;}
.cookie-banner-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-banner .btn{padding:10px 18px;font-size:12.5px;}

/* social icons */
.social-icons{display:flex;gap:12px;}
.social-icons a{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--gris-linea-d);color:var(--blanco);transition:border-color .3s var(--ease-out), color .3s var(--ease-out), transform .3s var(--ease-out);
}
.theme-light .social-icons a{border-color:var(--gris-linea-l);color:var(--negro);}
.social-icons a:hover{border-color:var(--acento);color:var(--acento);transform:translateY(-2px);}
.social-icons svg{width:17px;height:17px;}
.social-icons img{height:17px;width:auto;display:block;}

/* stat / marquee */
.marquee-wrap{overflow:hidden;border-top:1px solid var(--gris-linea-d);border-bottom:1px solid var(--gris-linea-d);padding:22px 0;}
.marquee-track{display:flex;gap:60px;white-space:nowrap;width:max-content;animation:marquee 28s linear infinite;}
.marquee-track span{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--gris);}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* forms */
.form-field{margin-bottom:20px;}
.form-field label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);margin-bottom:8px;}
.form-field input,.form-field textarea,.form-field select{
  width:100%;padding:13px 14px;border:1px solid var(--gris-linea-d);background:transparent;color:inherit;
  font-size:15px;transition:border-color .3s var(--ease-out);
}
.form-field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23FF5A1F'><path d='M5 7l5 6 5-6z'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;}
.theme-light .form-field input,.theme-light .form-field textarea,.theme-light .form-field select{border-color:var(--gris-linea-l);}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--acento);outline:none;}
.form-field textarea{resize:vertical;min-height:120px;}
.form-field select:disabled{opacity:.8;cursor:not-allowed;background-image:none;color:var(--blanco);border-color:rgba(var(--acento-rgb),.4);}
.theme-light .form-field select:disabled{color:var(--negro);}
.form-field .locked-note{margin-top:8px;font-size:12px;color:var(--acento);letter-spacing:.02em;}

/* personalized greeting + FAQ shown when a service is locked on Become a Client */
.service-greeting-card{margin-top:28px;padding:22px 24px;border:1px solid rgba(var(--acento-rgb),.4);background:rgba(var(--acento-rgb),.06);max-width:640px;}
.service-greeting-card p{color:var(--gris);font-size:14.5px;line-height:1.7;}
.service-greeting-card p b{color:var(--blanco);font-weight:500;}
.service-faq-card{margin-bottom:20px;}
.service-faq-card .faq-item{padding:14px 0;}
.service-faq-card .faq-item summary{font-size:14px;}
.service-faq-card .faq-a{font-size:13.5px;}
.form-field input[type="file"]{padding:11px 14px;font-size:13px;}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
.form-note{font-size:13px;color:var(--gris);margin-top:6px;}
.checkbox-row{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;}
.checkbox-row input{width:auto;margin-top:4px;accent-color:var(--acento);}
.checkbox-row label{font-size:14.5px;color:var(--blanco);text-transform:none;letter-spacing:normal;margin-bottom:0;}
.theme-light .checkbox-row label{color:var(--negro);}
.form-submit-note{display:flex;align-items:center;gap:10px;margin-top:26px;font-size:13px;color:var(--gris);}
.form-error{display:none;margin-top:16px;padding:12px 16px;border:1px solid var(--acento);border-radius:6px;color:var(--acento);font-size:13px;line-height:1.5;}
.form-error a{color:var(--acento);text-decoration:underline;}
.form-submit-note .dot{width:6px;height:6px;border-radius:50%;background:var(--acento);flex-shrink:0;}

/* =============================================================
   7. Sections
   ============================================================= */
.hero{
  min-height:100svh;display:flex;align-items:center;
  padding-top:calc(var(--nav-h) + 40px);padding-bottom:60px;position:relative;
  overflow:hidden;
}
.hero-media{position:absolute;inset:0;z-index:0;background:var(--negro);}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover;}
.hero-media video{opacity:.35;}
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(14,14,14,.55) 0%, rgba(14,14,14,.78) 55%, rgba(14,14,14,.96) 100%);
}
.hero > .container{position:relative;z-index:1;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;}
.hero-solo{max-width:760px;}
.hero-kicker{display:flex;align-items:center;gap:10px;margin-bottom:22px;}
.hero-kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--acento);}
.hero h1{margin-top:4px;}
.hero .lead{margin-top:26px;}
.hero .btn-row{margin-top:36px;}
.hero-photo{aspect-ratio:4/5;}

/* authority bar */
.authority-bar{padding:30px 0;border-top:1px solid var(--gris-linea-d);border-bottom:1px solid var(--gris-linea-d);}
.authority-list{display:flex;flex-wrap:wrap;gap:26px 40px;}
.authority-item{display:flex;flex-direction:column;gap:7px;flex:1 1 220px;}
.authority-item .dot{width:6px;height:6px;border-radius:50%;background:var(--acento);flex-shrink:0;}
.authority-item .ai-top{display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:500;letter-spacing:.02em;color:var(--blanco);}
.authority-item .ai-detail{font-size:12.5px;letter-spacing:.03em;color:var(--gris);padding-left:15px;line-height:1.5;}
.authority-item b{color:var(--blanco);font-weight:500;}
.theme-light .authority-item .ai-top{color:var(--negro);}
.theme-light .authority-item b{color:var(--negro);}

/* pain points grid */
.pain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--gris-linea-d);border:1px solid var(--gris-linea-d);}
.pain-item{background:var(--negro);padding:34px 30px;}
.pain-item .x{color:var(--acento);font-family:var(--serif);font-style:italic;font-size:1.3rem;}
.pain-item p{margin-top:14px;font-size:15px;line-height:1.6;}

/* three fronts / services grid */
.fronts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.service-card{border:1px solid var(--gris-linea-d);padding:30px 26px;transition:border-color .3s var(--ease-out), transform .3s var(--ease-out);display:flex;flex-direction:column;}
.service-card:hover{border-color:var(--acento);transform:translateY(-4px);}
.service-card .sc-icon{width:40px;height:40px;color:var(--acento);margin-bottom:18px;}
.service-card .sc-icon svg{width:100%;height:100%;}
.service-card h3{font-size:1.15rem;}
.service-card p{margin-top:10px;color:var(--gris);font-size:14px;line-height:1.6;flex:1;}
.service-card .sc-more{margin-top:18px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--acento);}

/* process steps / methodology */
.steps-row{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.step{border-top:2px solid var(--acento);padding-top:20px;}
.step .n{font-size:12px;color:var(--acento);letter-spacing:.1em;}
.step h4{margin-top:10px;font-family:var(--serif);font-weight:500;font-size:1.1rem;}
.step p{margin-top:8px;color:var(--gris);font-size:13.5px;}

/* certifications bar */
.certs-bar{padding:40px 0;}
.certs-row{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;}
.cert-badge{display:flex;align-items:center;gap:10px;color:var(--gris);font-size:13px;letter-spacing:.04em;}
.cert-badge svg{width:22px;height:22px;color:var(--acento);flex-shrink:0;}
.certs-caption{text-align:center;margin-top:20px;font-size:13px;color:var(--gris);letter-spacing:.02em;}

/* results / testimonials */
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.testimonial-card{border:1px solid var(--gris-linea-d);padding:32px 28px;display:flex;flex-direction:column;}
.testimonial-card .t-quote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.1rem;line-height:1.55;flex:1;}
.testimonial-card .t-meta{margin-top:22px;padding-top:18px;border-top:1px solid var(--gris-linea-d);}
.testimonial-card .t-name{font-size:14px;font-weight:500;}
.testimonial-card .t-role{font-size:12.5px;color:var(--gris);margin-top:2px;}
.country-badges{display:flex;flex-wrap:wrap;gap:10px;}

/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog-card{border:1px solid var(--gris-linea-d);display:flex;flex-direction:column;transition:border-color .3s var(--ease-out), transform .3s var(--ease-out);}
.blog-card:hover{border-color:var(--acento);transform:translateY(-4px);}
.blog-card .photo-frame{aspect-ratio:16/10;}
.blog-card .bc-body{padding:24px 24px 28px;flex:1;display:flex;flex-direction:column;}
.blog-card .bc-cat{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--acento);}
.blog-card h3{margin-top:12px;font-size:1.15rem;}
.blog-card p{margin-top:10px;color:var(--gris);font-size:13.5px;flex:1;}
.blog-card .bc-read{margin-top:16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--acento);}
.blog-cta-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:48px;}

/* plans */
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.plans-grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.plan{border:1px solid var(--gris-linea-d);display:flex;flex-direction:column;transition:border-color .3s var(--ease-out), transform .3s var(--ease-out);}
.plan:hover{border-color:var(--acento);transform:translateY(-4px);}
.plan.feat{border-color:var(--acento);}
.plan-head{padding:28px 26px 22px;border-bottom:1px solid var(--gris-linea-d);}
.plan-head .num{font-size:12px;letter-spacing:.16em;color:var(--acento);}
.plan-head h3{margin-top:10px;}
.plan-head .purpose{color:var(--gris);font-size:13.5px;margin-top:12px;min-height:44px;}
.plan-feat-tag{display:inline-block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:var(--acento);color:var(--blanco);padding:4px 9px;margin-top:12px;}
.plan-body{padding:24px 26px;flex:1;}
.blk-label{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--acento);margin-bottom:12px;}
.plan-body ul li{font-size:13.5px;padding:7px 0;border-bottom:none;display:flex;gap:8px;align-items:flex-start;}
.plan-body ul li::before{content:"›";color:var(--acento);}
.plan-foot{padding:20px 26px;border-top:1px solid var(--gris-linea-d);}
.plan-foot .follow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);margin-bottom:14px;}
.plan-foot .follow b{color:inherit;}

/* portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.portfolio-card{border:1px solid var(--gris-linea-d);}
.portfolio-card .photo-frame{aspect-ratio:4/3;}
.portfolio-card .pc-body{padding:22px 24px;}
.portfolio-card .pc-cat{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--acento);}
.portfolio-card h3{margin-top:10px;font-size:1.2rem;}
.portfolio-card p{margin-top:8px;color:var(--gris);font-size:13.5px;}
.portfolio-card .pc-go{display:inline-block;margin-top:16px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--acento);}

/* footer */
.site-footer{padding:70px 0 34px;border-top:1px solid var(--gris-linea-d);}
.footer-top{display:grid;grid-template-columns:1.3fr .7fr .7fr .9fr;gap:40px;padding-bottom:50px;}
.footer-brand{font-family:var(--serif);font-size:1.5rem;}
.footer-brand p{margin-top:16px;color:var(--gris);font-size:14px;max-width:36ch;}
.footer-brand .social-icons{margin-top:22px;}
.footer-col h5{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--acento);margin-bottom:16px;}
.footer-col a,.footer-col p{display:block;font-size:14px;color:var(--gris);padding:6px 0;}
.footer-col a:hover{color:var(--blanco);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:28px;border-top:1px solid var(--gris-linea-d);font-size:12px;letter-spacing:.04em;color:var(--gris);}
.footer-bottom .legal-links{display:flex;gap:18px;flex-wrap:wrap;}
.footer-bottom a:hover{color:var(--blanco);}

/* page hero (interior pages) */
.page-hero{padding:calc(var(--nav-h) + 70px) 0 70px;position:relative;overflow:hidden;}
.page-hero .eyebrow{margin-bottom:16px;}
.page-hero > .container{position:relative;z-index:1;}

/* CTA final */
.cta-final{padding:110px 0;text-align:center;}
.cta-final h2{max-width:16ch;margin-inline:auto;}
.cta-final p{margin:20px auto 36px;color:var(--gris);max-width:46ch;}
.cta-final .btn-row{justify-content:center;}

/* =============================================================
   8. Page-specific
   ============================================================= */
.split-2{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:start;}
.split-2-rev{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;}
.credo{border-left:2px solid var(--acento);padding:20px 0 20px 24px;}
.credo .mono{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--acento);}
.credo p{margin-top:10px;font-size:1.05rem;font-family:var(--serif);font-style:italic;font-weight:300;line-height:1.5;}

.what-includes{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--gris-linea-d);}
.wi-col{padding:32px;}
.wi-col:first-child{border-right:1px solid var(--gris-linea-d);}

.privacy-body{max-width:74ch;}
.privacy-body h2{font-size:1.5rem;margin-top:48px;margin-bottom:16px;}
.privacy-body h2:first-child{margin-top:0;}
.privacy-body p, .privacy-body li{color:var(--gris);font-size:15px;line-height:1.75;margin-bottom:14px;}
.privacy-body li{padding-left:18px;position:relative;}
.privacy-body li::before{content:"—";color:var(--acento);position:absolute;left:0;}
.privacy-body ul{margin-bottom:14px;}

.bento-story{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;}
.story-photos{display:flex;justify-content:center;}
.photo-frame-deco{position:relative;max-width:380px;width:100%;margin:20px 0;}
.photo-frame-deco::before{
  content:"";position:absolute;top:-16px;left:-16px;width:64px;height:64px;
  border-top:2px solid var(--acento);border-left:2px solid var(--acento);z-index:2;pointer-events:none;
}
.photo-frame-deco::after{
  content:"";position:absolute;bottom:-16px;right:-16px;width:64px;height:64px;
  border-bottom:2px solid var(--acento);border-right:2px solid var(--acento);z-index:2;pointer-events:none;
}
.photo-frame-deco .photo-frame{aspect-ratio:3/4;position:relative;z-index:1;}
html[dir="rtl"] .photo-frame-deco::before{left:auto;right:-16px;border-left:none;border-right:2px solid var(--acento);}
html[dir="rtl"] .photo-frame-deco::after{right:auto;left:-16px;border-right:none;border-left:2px solid var(--acento);}

.timeline{border-left:1px solid var(--gris-linea-d);padding-left:28px;}
.timeline-item{padding-bottom:34px;position:relative;}
.timeline-item::before{content:"";position:absolute;left:-33px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--acento);}
.timeline-item .t-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--acento);}
.timeline-item h4{margin-top:8px;font-family:var(--serif);font-weight:500;}
.timeline-item p{margin-top:8px;color:var(--gris);font-size:14.5px;}

.calendar-embed{border:1px solid var(--gris-linea-d);min-height:640px;background:var(--negro-2);}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.contact-info-list{margin-top:28px;}
.contact-info-list .ci-item{padding:20px 0;border-bottom:1px solid var(--gris-linea-d);}
.contact-info-list .ci-item .ci-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acento);}
.contact-info-list .ci-item .ci-value{margin-top:8px;font-family:var(--serif);font-size:1.2rem;}

/* =============================================================
   9. RTL (Arabic)
   ============================================================= */
html[dir="rtl"] body{font-family:var(--sans);}
html[dir="rtl"] .credo{border-left:none;border-right:2px solid var(--acento);padding:20px 24px 20px 0;}
html[dir="rtl"] .timeline{border-left:none;border-right:1px solid var(--gris-linea-d);padding-left:0;padding-right:28px;}
html[dir="rtl"] .timeline-item::before{left:auto;right:-33px;}
html[dir="rtl"] .list-dash li::before,
html[dir="rtl"] .privacy-body li::before{content:"—";}
html[dir="rtl"] .privacy-body li{padding-left:0;padding-right:18px;}
html[dir="rtl"] .privacy-body li::before{left:auto;right:0;}
html[dir="rtl"] .nav-mobile a{border-bottom:1px solid var(--gris-linea-d);}
html[dir="rtl"] .wi-col:first-child{border-right:none;border-left:1px solid var(--gris-linea-d);}
html[dir="rtl"] .skip-link{left:auto;right:1rem;}
html[dir="rtl"] .contact-float{right:auto;left:20px;}

/* =============================================================
   10. Responsive
   ============================================================= */
@media (max-width:1279px){
  .footer-top{grid-template-columns:1fr 1fr;}
  .footer-brand{grid-column:1/-1;}
  .services-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:959px){
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
  .nav-right .lang-dropdown,.nav-right .btn-solid{display:none;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-photo{order:-1;max-width:280px;margin-inline:auto;}
  .split-2,.split-2-rev,.contact-grid{grid-template-columns:1fr;}
  .fronts-grid,.plans-grid,.portfolio-grid,.results-grid,.blog-grid,.client-grid{grid-template-columns:1fr 1fr;}
  .steps-row{grid-template-columns:repeat(3,1fr);}
  .pain-grid{grid-template-columns:1fr;}
  .what-includes{grid-template-columns:1fr;}
  .wi-col:first-child{border-right:none;border-bottom:1px solid var(--gris-linea-d);}
  html[dir="rtl"] .wi-col:first-child{border-left:none;border-bottom:1px solid var(--gris-linea-d);}
  .bento-story{grid-template-columns:1fr;}
  .form-grid-2{grid-template-columns:1fr;}
  .authority-list{justify-content:flex-start;}
}
@media (max-width:719px){
  .section{padding:70px 0;}
  .fronts-grid,.plans-grid,.plans-grid-4,.portfolio-grid,.services-grid,.results-grid,.blog-grid,.client-grid{grid-template-columns:1fr;}
  .steps-row{grid-template-columns:1fr 1fr;}
  .footer-top{grid-template-columns:1fr;gap:32px;}
  .contact-float span{display:none;}
  .contact-float{padding:14px;border-radius:50%;}
  .certs-row{gap:26px;}
}
@media (max-width:539px){
  .container{padding-inline:18px;}
  .hero{padding-top:calc(var(--nav-h) + 20px);}
}

/* =============================================================
   11. Reduced motion — only intrusive effects
   ============================================================= */
@media (prefers-reduced-motion: reduce){
  .marquee-track{animation:none;}
  html{scroll-behavior:auto;}
}

/* View Transitions (multi-page) */
@view-transition{ navigation: auto; }
::view-transition-old(root){ animation: 220ms fadeOut var(--ease-out); }
::view-transition-new(root){ animation: 260ms fadeIn var(--ease-out); }
@keyframes fadeOut{ to{ opacity:0; } }
@keyframes fadeIn{ from{ opacity:0; } }
