:root{--p:#6D3DF5;--s:#EC4FA3;--a:#4F7CFF;--bg:#FBFAFF;--surface:#fff;--surface2:#F5F1FF;--text:#151328;--muted:#6C6880;--border:#E8E2F3;--success:#17B875;--radius:28px;--shadow:0 22px 70px rgba(65,42,117,.12);--font-h:Manrope,Inter,system-ui,sans-serif;--font-b:Inter,system-ui,sans-serif}.gm-theme{background:var(--bg);color:var(--text);font-family:var(--font-b);min-height:100vh;overflow-x:hidden}.gm-theme *{box-sizing:border-box}.gm-theme a{text-decoration:none;color:inherit}.gm-theme img{max-width:100%;display:block}.gm-theme button,.gm-theme input,.gm-theme textarea,.gm-theme select{font:inherit}.gm-shell{max-width:1180px;margin:0 auto;padding:0 24px}.gm-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(20px);border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.gm-header .gm-shell{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand-wrap{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{max-width:190px;max-height:44px;object-fit:contain}.brand-monogram{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--p),var(--s));display:grid;place-items:center;color:white;font-weight:900;letter-spacing:-.03em;box-shadow:0 10px 28px color-mix(in srgb,var(--p) 26%,transparent)}.brand-name{font-family:var(--font-h);font-weight:800;font-size:18px;white-space:nowrap}.brand-sub{font-size:12px;color:var(--muted);margin-top:2px}.header-link{display:flex;align-items:center;gap:8px;font-weight:750;font-size:14px;color:var(--muted)}.icon{width:20px;height:20px}.gm-hero{position:relative;padding:76px 0 48px}.gm-hero:before,.gm-hero:after{content:"";position:absolute;pointer-events:none;filter:blur(2px);border-radius:999px;opacity:.75}.gm-hero:before{width:420px;height:420px;left:-210px;top:80px;background:radial-gradient(circle,color-mix(in srgb,var(--p) 18%,transparent),transparent 70%)}.gm-hero:after{width:520px;height:520px;right:-250px;top:-60px;background:radial-gradient(circle,color-mix(in srgb,var(--s) 17%,transparent),transparent 70%)}.hero-card{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:calc(var(--radius) + 10px);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,var(--p) 4%),var(--surface));box-shadow:var(--shadow);padding:48px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.hero-card:before{content:"";position:absolute;inset:auto -120px -180px auto;width:440px;height:440px;border-radius:50%;background:conic-gradient(from 210deg,color-mix(in srgb,var(--p) 24%,transparent),color-mix(in srgb,var(--s) 20%,transparent),transparent 62%);filter:blur(18px);opacity:.7}.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.17em;font-weight:800;color:var(--p);text-transform:uppercase}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 6px color-mix(in srgb,var(--success) 12%,transparent)}.hero-title{font-family:var(--font-h);font-size:clamp(48px,7vw,86px);line-height:.95;letter-spacing:-.055em;margin:24px 0 18px;font-weight:900}.hero-role{font-family:var(--font-h);font-size:20px;font-weight:700;color:var(--p);margin-bottom:18px}.hero-desc{font-size:18px;line-height:1.65;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{min-height:52px;padding:0 22px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:850;border:1px solid transparent;transition:.2s ease;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--p),var(--s));color:white;box-shadow:0 14px 30px color-mix(in srgb,var(--p) 25%,transparent)}.btn-soft{background:var(--surface2);border-color:var(--border);color:var(--text)}.hero-visual{position:relative;display:grid;place-items:center;min-height:430px}.portrait-shell{position:relative;width:min(360px,80vw);aspect-ratio:1;border-radius:50%;padding:12px;background:linear-gradient(135deg,var(--p),var(--s),var(--a));box-shadow:0 28px 80px color-mix(in srgb,var(--p) 28%,transparent)}.portrait{width:100%;height:100%;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--surface2),color-mix(in srgb,var(--p) 12%,white));display:grid;place-items:center;border:8px solid var(--surface)}.portrait img{width:100%;height:100%;object-fit:cover}.portrait-initials{font-family:var(--font-h);font-size:86px;font-weight:900;background:linear-gradient(135deg,var(--p),var(--s));-webkit-background-clip:text;color:transparent}.float-note{position:absolute;padding:13px 16px;border-radius:18px;background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--border);box-shadow:0 12px 38px rgba(40,25,75,.09);font-weight:800;font-size:13px;backdrop-filter:blur(12px)}.note-a{left:0;top:12%}.note-b{right:-10px;bottom:14%}.gm-actions{padding:0 0 64px}.action-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.action-card{border:1px solid var(--border);background:var(--surface);border-radius:22px;min-height:110px;padding:18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;box-shadow:0 10px 30px rgba(45,30,80,.06);transition:.2s}.action-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--p) 35%,var(--border))}.action-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--surface2);color:var(--p)}.action-icon .icon{width:22px;height:22px}.action-label{font-size:14px;font-weight:850}.section{padding:72px 0}.section-head{max-width:760px;margin-bottom:32px}.section-kicker{font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--s);text-transform:uppercase;margin-bottom:10px}.section-title{font-family:var(--font-h);font-size:clamp(34px,5vw,58px);line-height:1.04;letter-spacing:-.04em;margin:0 0 14px}.section-body{font-size:17px;color:var(--muted);line-height:1.7}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.project{grid-column:span 4;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;box-shadow:0 12px 40px rgba(40,27,70,.06);display:flex;flex-direction:column;min-height:380px}.project.featured{grid-column:span 8}.project-media{height:190px;background:linear-gradient(135deg,var(--surface2),color-mix(in srgb,var(--p) 12%,var(--surface)));position:relative;overflow:hidden;display:grid;place-items:center}.project.featured .project-media{height:250px}.project-media img{width:100%;height:100%;object-fit:cover}.project-media .project-placeholder{width:70px;height:70px;border-radius:24px;background:linear-gradient(135deg,var(--p),var(--s));color:white;display:grid;place-items:center;box-shadow:0 20px 40px color-mix(in srgb,var(--p) 24%,transparent)}.project-placeholder .icon{width:34px;height:34px}.project-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}.project-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:800}.project-title{font-family:var(--font-h);font-size:25px;font-weight:900;letter-spacing:-.03em}.project-desc{color:var(--muted);line-height:1.6;font-size:15px;flex:1}.project-link{font-weight:900;color:var(--p);display:inline-flex;align-items:center;gap:8px;margin-top:8px}.feature-panel{border-radius:calc(var(--radius) + 8px);background:linear-gradient(135deg,color-mix(in srgb,var(--p) 10%,var(--surface)),color-mix(in srgb,var(--s) 9%,var(--surface)));border:1px solid var(--border);padding:40px;position:relative;overflow:hidden}.feature-panel:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;top:-120px;background:radial-gradient(circle,color-mix(in srgb,var(--s) 22%,transparent),transparent 70%)}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.chip{padding:10px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-weight:800;font-size:13px}.custom-card{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}.custom-copy{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:36px}.custom-visual{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(145deg,var(--surface2),color-mix(in srgb,var(--s) 12%,var(--surface)));overflow:hidden;min-height:340px;display:grid;place-items:center}.custom-visual img{width:100%;height:100%;object-fit:cover}.custom-placeholder{width:130px;height:130px;border-radius:38px;background:linear-gradient(135deg,var(--p),var(--s));display:grid;place-items:center;color:white;box-shadow:0 25px 60px color-mix(in srgb,var(--p) 25%,transparent)}.custom-placeholder .icon{width:56px;height:56px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.step{border:1px solid var(--border);background:var(--surface);border-radius:24px;padding:24px;min-height:230px}.step-num{font-size:12px;font-weight:900;color:var(--p);letter-spacing:.15em}.step-icon{width:48px;height:48px;border-radius:16px;background:var(--surface2);display:grid;place-items:center;color:var(--p);margin:24px 0 18px}.step h3{font-family:var(--font-h);font-size:21px;margin:0 0 10px}.step p{color:var(--muted);line-height:1.6;font-size:14px;margin:0}.contact-panel{border-radius:calc(var(--radius) + 8px);background:linear-gradient(135deg,var(--text),color-mix(in srgb,var(--p) 52%,#111));color:white;padding:48px;position:relative;overflow:hidden}.contact-panel .section-kicker{color:color-mix(in srgb,var(--s) 75%,white)}.contact-panel .section-body{color:rgba(255,255,255,.72)}.contact-panel .hero-actions{margin-top:28px}.contact-panel .btn-soft{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:white}.gm-footer{padding:34px 0 48px;color:var(--muted);font-size:14px}.footer-inner{border-top:1px solid var(--border);padding-top:28px;display:flex;justify-content:space-between;gap:24px;align-items:center}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand .brand-logo{max-width:150px}.footer-right{text-align:right}.custom-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:34px}.custom-block-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.custom-block img{border-radius:22px;width:100%;max-height:360px;object-fit:cover}.mobile-menu{display:none}.gm-nav{display:flex;align-items:center;gap:18px}.gm-nav a{font-size:13px;font-weight:800;color:var(--muted)}
@media(max-width:900px){.gm-shell{padding:0 18px}.gm-nav{display:none}.mobile-menu{display:flex;width:44px;height:44px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);align-items:center;justify-content:center}.hero-card{grid-template-columns:1fr;padding:30px;gap:30px}.hero-visual{min-height:330px;order:-1}.portrait-shell{width:min(280px,74vw)}.float-note{font-size:11px}.note-a{left:-4px}.note-b{right:-2px}.action-grid{grid-template-columns:repeat(2,1fr)}.project,.project.featured{grid-column:span 12}.project.featured .project-media,.project-media{height:210px}.custom-card{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}.footer-inner{align-items:flex-start;flex-direction:column}.footer-right{text-align:left}.custom-block-grid{grid-template-columns:1fr}.gm-hero{padding-top:34px}}
@media(max-width:560px){.gm-header .gm-shell{height:68px}.brand-sub{display:none}.brand-logo{max-width:145px;max-height:38px}.gm-hero{padding:20px 0 26px}.hero-card{padding:24px 20px;border-radius:28px}.hero-visual{min-height:270px}.portrait-shell{width:min(225px,68vw);padding:8px}.portrait{border-width:6px}.portrait-initials{font-size:60px}.float-note{padding:9px 11px;border-radius:13px}.hero-title{font-size:49px}.hero-role{font-size:16px}.hero-desc{font-size:16px}.hero-actions{display:grid;grid-template-columns:1fr}.btn{width:100%}.gm-actions{padding-bottom:38px}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-card{min-height:100px;padding:15px}.section{padding:48px 0}.section-title{font-size:38px}.section-body{font-size:15px}.feature-panel,.custom-copy{padding:26px 20px}.steps{grid-template-columns:1fr}.step{min-height:auto}.contact-panel{padding:32px 22px}.project-body{padding:19px}.project-title{font-size:23px}.custom-visual{min-height:250px}.footer-inner{padding-top:22px}.note-b{bottom:3%}.note-a{top:4%}}

/* v5.1 editor-total overrides */
.gm-shell{max-width:var(--content-w,1160px)}
.gm-header .gm-shell{height:var(--header-h,78px)}
.brand-wrap .brand-logo{max-width:var(--logo-header-w,160px)}
.hero-card{padding:var(--hero-pad,48px)}
.btn{border-radius:var(--btn-radius,18px)}
.action-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.action-card{border-radius:var(--action-radius,22px)}
.section{padding:var(--section-space,72px) 0}
.portrait-shell{width:min(var(--portrait-size,360px),80vw)}
.hero-logo-wrap{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:3;width:min(var(--logo-hero-w,190px),72%);display:grid;place-items:center}
.hero-logo-wrap .hero-logo{max-width:100%;max-height:74px;object-fit:contain}
.footer-brand .brand-logo{max-width:var(--logo-footer-w,150px)}
.portrait .portrait-asset.contain{object-fit:contain;padding:17%;object-position:center}
.hero-body{font-size:15px;margin-top:10px}
.hero-align-center .hero-copy{text-align:center}.hero-align-center .hero-copy .hero-desc{margin-left:auto;margin-right:auto}.hero-align-center .hero-actions{justify-content:center}.hero-align-center .eyebrow{justify-content:center}
.note-top-left{left:0;top:12%}.note-top-right{right:0;top:12%}.note-bottom-left{left:0;bottom:14%}.note-bottom-right{right:-10px;bottom:14%}
.feature-title{max-width:790px}.feature-body{max-width:750px}.custom-title{font-size:36px}.contact-title{max-width:820px}.contact-body{max-width:720px}.block-title{font-size:40px}
@media(max-width:900px){
  .visual-first-mobile .hero-visual{order:-1}.visual-first-mobile .hero-copy{order:0}
  body:not(.visual-first-mobile) .hero-visual{order:0}
  .hero-logo-wrap{top:-4px}
  .note-top-left{left:-4px;top:4%}.note-top-right{right:-2px;top:4%}.note-bottom-left{left:-4px;bottom:3%}.note-bottom-right{right:-2px;bottom:3%}
  .action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .gm-header .gm-shell{height:min(var(--header-h,68px),78px)}
  .brand-wrap .brand-logo{max-width:min(var(--logo-header-w,145px),160px)}
  .hero-card{padding:min(var(--hero-pad,24px),28px) 20px}
  .portrait-shell{width:min(var(--portrait-size,225px),68vw)}
  .section{padding:min(var(--section-space,48px),60px) 0}
  .hero-logo-wrap{width:min(var(--logo-hero-w,160px),65%)}
}


/* v5.2: controles de logos + contraste legible de botones */
.gm-theme .btn-primary,.gm-theme a.btn-primary{color:var(--btn-primary-text,#fff)}
.gm-theme .btn-soft,.gm-theme a.btn-soft{color:var(--btn-soft-text,var(--text))}
.gm-theme .contact-panel .btn-soft,.gm-theme .contact-panel a.btn-soft{color:#fff}


/* v5.3: responsive móvil a ancho completo + logo de header móvil independiente */
.gm-shell{width:100%}
.brand-wrap .brand-logo{width:var(--logo-header-w,160px);max-width:min(44vw,400px);height:auto;object-fit:contain;object-position:left center}
@media(max-width:900px){
  .gm-shell{width:100%;max-width:none!important;padding-left:max(var(--mobile-pad,14px),14px);padding-right:max(var(--mobile-pad,14px),14px)}
  .gm-header .gm-shell{width:100%;max-width:none!important}
  .hero-card,.feature-panel,.custom-card,.contact-panel,.custom-block{width:100%;max-width:none}
  .hero-card{grid-template-columns:minmax(0,1fr);}
  .hero-copy,.hero-visual{min-width:0;width:100%}
  .work-grid,.action-grid,.steps{width:100%;min-width:0}
}
@media(max-width:560px){
  .gm-shell{padding-left:var(--mobile-pad,14px);padding-right:var(--mobile-pad,14px)}
  .gm-header .gm-shell{padding-left:max(var(--mobile-pad,14px),16px);padding-right:max(var(--mobile-pad,14px),16px);gap:12px}
  .brand-wrap{flex:1;min-width:0;overflow:visible}
  .brand-wrap .brand-logo{width:min(var(--logo-header-mobile-w,190px),52vw);max-width:none!important;max-height:56px;height:auto}
  .mobile-menu{flex:0 0 46px;width:46px;height:46px}
  .gm-hero{width:100%;padding-top:18px}
  .hero-card{width:100%;padding:min(var(--hero-pad,24px),26px) 20px;gap:26px}
  .hero-visual{width:100%;min-height:285px;padding-inline:2px}
  .portrait-shell{width:min(var(--portrait-size,235px),74vw)}
  .float-note{max-width:56%;line-height:1.2;white-space:normal;text-align:center}
  .note-top-left{left:0}.note-top-right{right:0}.note-bottom-left{left:0}.note-bottom-right{right:0}
  .hero-title{font-size:clamp(44px,13vw,58px)}
  .hero-desc{max-width:none}
  .action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .action-card{min-width:0}
}
@media(max-width:380px){
  .brand-wrap .brand-logo{width:min(var(--logo-header-mobile-w,180px),50vw)}
  .hero-card{padding-left:16px;padding-right:16px}
  .portrait-shell{width:min(var(--portrait-size,220px),72vw)}
  .float-note{font-size:10px;max-width:58%}
}


/* v5.4: responsive real para teléfonos, incluso si Chrome solicita sitio de escritorio */
html,body{margin:0;padding:0;width:100%;max-width:none;min-width:0}
.gm-theme{width:100%;max-width:none;min-width:0}
@media (max-width:900px),(hover:none) and (pointer:coarse) and (max-width:1200px){
  .gm-shell{width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:clamp(12px,4vw,20px)!important}
  .hero-card{width:100%!important;max-width:none!important;min-width:0!important;grid-template-columns:minmax(0,1fr)!important}
  .hero-copy,.hero-visual,.action-grid,.work-grid,.steps{width:100%!important;min-width:0!important}
  .project,.project.featured{grid-column:1/-1!important}
  .custom-card,.custom-block-grid{grid-template-columns:minmax(0,1fr)!important}
}
.gm-phone .gm-shell{width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;padding-inline:var(--mobile-pad,14px)!important}
.gm-phone .brand-wrap .brand-logo{width:min(max(var(--logo-header-mobile-w,220px),205px),62vw)!important;max-width:none!important;max-height:62px!important}
.gm-phone .hero-card{width:100%!important;grid-template-columns:minmax(0,1fr)!important;padding:clamp(18px,5vw,24px)!important}
.gm-phone .hero-visual{width:100%!important;min-height:clamp(280px,82vw,390px)!important}
.gm-phone .portrait-shell{width:min(var(--portrait-size,300px),78vw)!important;max-width:330px!important}
.gm-phone .hero-title{font-size:clamp(44px,13vw,62px)!important}
.gm-phone .action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
