html,body{margin:0;padding:0;width:100%;min-height:100%;overflow-x:hidden;scroll-behavior:smooth;background:#fff}
body{font-family:Poppins,Arial,sans-serif}
body.ancaModalOpen{overflow:hidden}

:root{
  --anca-blue:#00aeea;
  --anca-cyan:#00f5ff;
  --anca-purple:#b600ff;
  --anca-magenta:#ff007f;
  --anca-yellow:#ffe600;
  --anca-green:#39ff88;
  --anca-orange:#ff8a00;
  --anca-ink:#10162d;
  --anca-text:#56657c;
  --anca-line:#dbe5f1;
  --anca-soft:#f5f9ff;
  --anca-white:#fff;
  --anca-shadow:0 20px 54px rgba(31,51,91,.12);
  --anca-shadow-soft:0 12px 32px rgba(31,51,91,.09);
  --anca-nav:72px;
}
#ancaLab,#ancaLab *{box-sizing:border-box}
#ancaLab{width:100%;max-width:none;margin:0;overflow:hidden;color:var(--anca-ink);background:#fff;font-family:Poppins,Arial,sans-serif;line-height:1.5}
#ancaLab img,#ancaLab video{max-width:100%}
#ancaLab button,#ancaLab input,#ancaLab textarea,#ancaLab select{font:inherit}
#ancaLab button,#ancaLab a{-webkit-tap-highlight-color:transparent}
#ancaLab button:focus-visible,#ancaLab a:focus-visible,#ancaLab input:focus-visible,#ancaLab textarea:focus-visible,#ancaLab select:focus-visible{outline:3px solid rgba(182,0,255,.28);outline-offset:2px}
.ancaShell{width:min(calc(100% - 48px),1320px);margin-inline:auto}
.ancaSection{position:relative;padding:82px 0;content-visibility:auto;contain-intrinsic-size:900px}
.ancaCenter{width:min(100%,850px);margin:0 auto 38px;text-align:center}
.ancaKicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:12px;color:var(--anca-purple);font:900 11px Montserrat,Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase}
.ancaKicker:before,.ancaKicker:after{content:"";width:26px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--anca-magenta),var(--anca-purple))}
.ancaTitle{margin:0;color:var(--anca-ink);font:900 clamp(34px,4.6vw,62px)/1.03 Montserrat,Arial,sans-serif;letter-spacing:-2.5px}
.ancaGradientText{background:linear-gradient(95deg,var(--anca-magenta),var(--anca-cyan));background-size:180% 180%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ancaGradientFlow 7s ease infinite}
.ancaDescription{max-width:760px;margin:16px auto 0;color:var(--anca-text);font-size:16px;line-height:1.72}
@keyframes ancaGradientFlow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}

/* Botones Base */
.ancaBtn{min-height:44px;padding:10px 18px;border:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#fff!important;background:linear-gradient(100deg,var(--anca-magenta),var(--anca-purple));box-shadow:0 8px 20px rgba(182,0,255,.2);font:900 12px Montserrat,Arial,sans-serif;text-decoration:none!important;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,filter .18s ease,background .18s ease,color .18s ease}
.ancaBtn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.ancaBtn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.ancaBtn.isLight{color:var(--anca-ink)!important;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.75);box-shadow:none}
.ancaBtn.isSoft{color:var(--anca-ink)!important;background:#f2f6fb;border:1px solid var(--anca-line);box-shadow:none}
.ancaBtn.isOutline{color:var(--anca-purple)!important;background:#fff;border:1px solid rgba(182,0,255,.28);box-shadow:none}
.ancaBtn.isSmall{min-height:38px;padding:8px 12px;font-size:10px}
.ancaBtn i { font-size:18px; line-height:1; }

.ancaActionToolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:nowrap}

/* Navegación */
.ancaNavDesktop{position:fixed;inset:0 0 auto;height:var(--anca-nav);z-index:100000;background:rgba(255,255,255,.9);border-bottom:1px solid rgba(62,87,125,.12);box-shadow:0 5px 18px rgba(31,51,91,.07);backdrop-filter:blur(16px)}
.ancaNavDesktop:after,.ancaNavMobile:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--anca-cyan),var(--anca-purple),var(--anca-magenta))}
.ancaNavInner{width:min(calc(100% - 48px),1320px);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
.ancaNavLogo img{height:48px!important;width:auto!important;display:block}
.ancaNavLinks{display:flex;align-items:center;gap:21px}
.ancaNavLinks a{color:#3a4862!important;font:800 11px Montserrat,Arial,sans-serif;text-decoration:none!important;text-transform:uppercase}
.ancaNavLinks a:hover{color:var(--anca-purple)!important}
.ancaNavActions{display:flex;align-items:center;gap:10px}
.ancaSocials{display:flex;align-items:center;gap:10px}
.ancaSocials a{color:#506078!important;font-size:21px;text-decoration:none!important}
.ancaLangBtn{background:rgba(182,0,255,.08);border:1px solid rgba(182,0,255,.2);color:var(--anca-ink);font:900 11px Montserrat,Arial,sans-serif;padding:7px 14px;border-radius:11px;cursor:pointer;transition:all .2s;outline:none;display:inline-flex;align-items:center;gap:6px}
.ancaLangBtn:hover{background:var(--anca-purple);color:#fff}
.ancaNavMobile{display:none}

/* Hero */
.ancaHero{position:relative;min-height:720px;padding:calc(var(--anca-nav) + 60px) 0 62px;display:flex;align-items:center;overflow:hidden;background:#000}
.ancaHeroVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1!important;filter:none!important;z-index:1}
.ancaHeroGrid{position:relative;z-index:5;width:min(calc(100% - 48px),1320px);margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:52px}
.ancaHeroCopy{max-width:760px}
.ancaHeroTitle{margin:0;font:900 clamp(48px,6.2vw,86px)/0.98 Montserrat,Arial,sans-serif;letter-spacing:-3px}
.ancaHeroTitle span{display:block;background:linear-gradient(90deg, #b600ff 0%, #ff007f 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none!important}
.ancaHeroText{max-width:680px;margin:21px 0 0;color:#ffffff;font-size:18px;line-height:1.68;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,0.6)}
.ancaHeroButtons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ancaHeroBrand{min-height:450px;display:grid;place-items:center}
.ancaHeroLogo{width:min(100%,680px)!important;height:auto!important;object-fit:contain;filter:none!important}

/* Proceso */
.ancaPaths{background:#fff}
.ancaPathTrack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;max-width:1100px;margin:auto}
.ancaPathCard{display:flex;flex-direction:column;border:1px solid rgba(69,96,137,.14);border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--anca-shadow-soft);transition:transform .3s ease,box-shadow .3s ease}
.ancaPathCard:hover{transform:translateY(-4px);box-shadow:var(--anca-shadow)}
.ancaPathImage{width:100%;height:auto;aspect-ratio:1/1;overflow:hidden;position:relative;background:#000}
.ancaPathImage img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .35s ease}
.ancaPathCard:hover .ancaPathImage img{transform:scale(1.02)}
.ancaPathBody{padding:30px;display:flex;flex-direction:column;flex-grow:1}
.ancaPathTag{align-self:flex-start;padding:6px 12px;border-radius:999px;color:var(--anca-purple);background:rgba(182,0,255,.08);font:900 10px Montserrat,Arial,sans-serif;text-transform:uppercase}
.ancaPathCard:nth-child(2) .ancaPathTag{color:#007b90;background:rgba(0,174,234,.1)}
.ancaPathBody h3{margin:15px 0 0;font:900 24px/1.15 Montserrat,Arial,sans-serif;letter-spacing:-.8px;color:var(--anca-ink)}
.ancaPathBody p{margin:12px 0 0;color:var(--anca-text);font-size:14px;line-height:1.68}

/* Constructor */
.ancaLabSection{background:linear-gradient(180deg,#fff,#f8fbff)}
.ancaWorkspace{width:min(100%,1260px);margin:auto;overflow:hidden;border:1px solid rgba(69,96,137,.15);border-radius:28px;background:#fff;box-shadow:var(--anca-shadow)}
.ancaStepNav{padding:12px;display:grid;grid-template-columns:repeat(6,minmax(126px,1fr));gap:8px;overflow-x:auto;background:linear-gradient(90deg,rgba(0,245,255,.06),rgba(182,0,255,.06),rgba(255,0,127,.05));border-bottom:1px solid rgba(69,96,137,.12);scrollbar-width:thin}
.ancaStepBtn{min-height:45px;padding:9px;border:1px solid rgba(69,96,137,.14);border-radius:12px;color:#536179;background:#fff;font:900 10px Montserrat,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.ancaStepBtn.active{color:#fff;border-color:transparent;background:linear-gradient(100deg,var(--anca-magenta),var(--anca-purple));box-shadow:0 8px 18px rgba(182,0,255,.18)}
.ancaPanel{display:none;padding:38px}
.ancaPanel.active{display:block}

/* Header de panel general */
.ancaPanelHead{max-width:920px;margin-bottom:24px}
.ancaPanelHead h3{margin:0;font:900 clamp(24px,3.5vw,38px)/1.05 Montserrat,Arial,sans-serif;letter-spacing:-1px}
.ancaPanelHead p{margin:8px 0 0;color:var(--anca-text);font-size:14px;line-height:1.68;font-weight:500}

/* Estilos de Formulario y Casillas (Escritorio / Móvil) */
.ancaCard{border:1px solid rgba(69,96,137,.15);border-radius:21px;background:#fff;box-shadow:var(--anca-shadow-soft)}
.ancaFormCard{padding:25px}
.ancaFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ancaField{display:flex;flex-direction:column;gap:7px}
.ancaField.full{grid-column:1/-1}
.ancaField label{color:#2e3b54;font-size:12px;font-weight:800}
.ancaField input,.ancaField select,.ancaField textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid #d5e0ed;border-radius:12px;color:var(--anca-ink);background:#fff;outline:0;font-size:13px;font-family:Poppins,sans-serif;}
.ancaField textarea{min-height:120px;resize:vertical}
.ancaField input:focus,.ancaField select:focus,.ancaField textarea:focus{border-color:var(--anca-purple);box-shadow:0 0 0 4px rgba(182,0,255,.09)}
.ancaValBox{display:none;} /* Se activa solo en móvil */

/* Área Dividida para la Idea + IA (Escritorio) */
.ancaIdeaSplitBox{display:grid;grid-template-columns:1fr;gap:14px;border:1px solid #d5e0ed;border-radius:14px;padding:12px;background:#f9fbff;transition:all 0.3s ease;}
.ancaIdeaSplitBox.has-ai{grid-template-columns:1.2fr 0.8fr;}
.ancaIdeaSplitBox textarea{border:none!important;background:transparent!important;padding:4px!important;min-height:120px;box-shadow:none!important;}
.ancaAiSplitResult{display:none;border-left:1px solid #dbe5f1;padding-left:14px;font-size:12.5px;color:#2b3853;line-height:1.55;overflow-y:auto;max-height:160px;}
.ancaIdeaSplitBox.has-ai .ancaAiSplitResult{display:block}
.ancaAiSplitResult strong{display:block;color:var(--anca-purple);font-size:11px;font-family:Montserrat,sans-serif;margin-bottom:4px;text-transform:uppercase}

.ancaNotice{display:none;margin-top:14px;padding:12px 14px;border:1px solid #a9e9c7;border-radius:12px;color:#17603b;background:#ebfff3;font-size:12px;font-weight:700}
.ancaNotice.show{display:block}

/* Color */
.ancaColorLayout{display:grid;grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr);gap:22px}
.ancaColorEditor{padding:24px}
.ancaActiveColor{padding:12px;border:1px solid var(--anca-line);border-radius:14px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;background:#f8fbff}
.ancaActiveDot{grid-row:1/3;width:35px;height:35px;border:3px solid #fff;border-radius:50%;background:#b600ff;box-shadow:0 4px 12px rgba(31,51,91,.18)}
.ancaActiveColor strong{font:900 11px Montserrat,Arial,sans-serif}
.ancaActiveColor span{color:#68758b;font:800 10px Montserrat,Arial,sans-serif}
.ancaWheel{position:relative;width:min(100%,330px);aspect-ratio:1;margin:18px auto 0;border:5px solid #fff;border-radius:50%;background:conic-gradient(#ff0000,#ffff00,#00ff00,#00ffff,#0000ff,#ff00ff,#ff0000);box-shadow:inset 0 0 0 1px rgba(18,35,70,.14),0 13px 30px rgba(31,51,91,.17);cursor:crosshair;touch-action:none}
.ancaWheel:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#fff 0%,rgba(255,255,255,.82) 18%,rgba(255,255,255,0) 68%);pointer-events:none}
.ancaMarker{position:absolute;z-index:2;width:27px;height:27px;padding:0;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;background:#b600ff;box-shadow:0 3px 9px rgba(0,0,0,.4);font:900 10px Montserrat,Arial,sans-serif;transform:translate(-50%,-50%);cursor:grab}
.ancaMarker.active{width:33px;height:33px;border-width:4px;box-shadow:0 0 0 3px rgba(255,0,127,.35),0 5px 12px rgba(0,0,0,.4)}
.ancaColorControls{margin-top:18px;display:grid;gap:13px}
.ancaHexRow{display:grid;grid-template-columns:1fr auto;gap:8px}
.ancaHexRow input{min-width:0;min-height:42px;padding:9px 11px;border:1px solid #cfdaea;border-radius:11px;color:var(--anca-ink);font:900 12px Montserrat,Arial,sans-serif;text-transform:uppercase}
.ancaSatLumRow{display:block;} /* Escritorio normal, Móvil se ajusta */
.ancaRange{margin-bottom:10px;}
.ancaRange label{display:flex;justify-content:space-between;margin-bottom:5px;color:#34425c;font-size:11px;font-weight:800}
.ancaRange input{width:100%;accent-color:var(--anca-purple)}
.ancaPaletteCard{padding:24px}
.ancaPaletteCard h4{margin:0 0 15px;font:900 19px Montserrat,Arial,sans-serif}
.ancaPalette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border-radius:17px;box-shadow:0 12px 28px rgba(31,51,91,.12)}
.ancaSwatch{position:relative;min-height:230px;padding:13px 8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;cursor:pointer}
.ancaSwatch.selected{box-shadow:inset 0 0 0 4px rgba(255,255,255,.9)}
.ancaSwatchRole,.ancaSwatchCode{padding:5px 7px;border:0;border-radius:999px;color:#fff;background:rgba(15,22,45,.58);font:800 9px Montserrat,Arial,sans-serif;backdrop-filter:blur(7px)}
.ancaSwatchCode{cursor:pointer}
.ancaSwatch input[type="color"]{position:absolute;inset:9px 9px auto auto;width:29px;height:29px;padding:0;border:2px solid rgba(255,255,255,.9);border-radius:50%;overflow:hidden;background:transparent;cursor:pointer}
.ancaHarmonyArea{margin-top:18px;padding-top:17px;border-top:1px solid var(--anca-line)}
.ancaHarmonyArea strong{display:block;color:#34425c;font:900 11px Montserrat,Arial,sans-serif;text-transform:uppercase}
.ancaHarmonyGrid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ancaHarmonyBtn{min-height:39px;padding:8px;border:1px solid #d7e1ed;border-radius:11px;color:#46546d;background:#fff;font:800 9px Montserrat,Arial,sans-serif;cursor:pointer}
.ancaHarmonyBtn.active{color:#fff;border-color:transparent;background:linear-gradient(100deg,var(--anca-magenta),var(--anca-purple))}
.ancaColorMeta{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ancaMetaBox{padding:12px;border:1px solid var(--anca-line);border-radius:12px;background:#f8fbff}
.ancaMetaBox strong{display:block;font:900 9px Montserrat,Arial,sans-serif;text-transform:uppercase}
.ancaMetaBox span{display:block;margin-top:5px;color:#5f6e85;font-size:11px}

/* Tipografía */
.ancaTypographyLayout{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);gap:22px}
.ancaTypeEditor{padding:23px}
.ancaTypeGroup{margin-bottom:15px;padding:14px;border:1px solid var(--anca-line);border-radius:14px;background:#f9fbff}
.ancaTypeGroup h5{margin:0 0 11px;font:900 11px Montserrat,Arial,sans-serif;text-transform:uppercase}
.ancaTypeGrid{display:grid;grid-template-columns:1fr 110px;gap:9px}
.ancaTypeGrid label{display:block;margin-bottom:5px;color:#40506a;font-size:10px;font-weight:800}
.ancaTypeGrid select{width:100%;min-height:41px;padding:8px 10px;border:1px solid #d3deeb;border-radius:10px;background:#fff;font-size:11px}
.ancaTypePreview{min-height:440px;padding:36px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(circle at 85% 18%,rgba(0,245,255,.12),transparent 30%),radial-gradient(circle at 10% 90%,rgba(255,0,127,.09),transparent 31%),#fff}
.ancaTypePreview h4{margin:0;font-size:clamp(40px,5vw,67px);line-height:1.02;letter-spacing:-2px;color:var(--anca-ink)}
.ancaTypePreview p{max-width:680px;margin:20px 0 0;color:#5c6a81;font-size:15px;line-height:1.72}

/* Estilos */
.ancaStyleGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.ancaStyleOption{min-height:180px;padding:20px 14px;border:0;border-radius:19px;color:#fff;background:linear-gradient(145deg,var(--anca-purple),var(--anca-magenta));box-shadow:0 12px 26px rgba(182,0,255,.18);text-align:center;cursor:pointer;transition:transform .18s ease,filter .18s ease}
.ancaStyleOption:hover{transform:translateY(-2px);filter:brightness(1.05)}
.ancaStyleOption.active{color:#000!important;background:linear-gradient(135deg,#FFD700 0%,#FF8A00 100%)!important;box-shadow:0 13px 28px rgba(255,138,0,.35)!important;font-weight:900!important}
.ancaStyleOption i{font-size:36px}
.ancaStyleOption strong{display:block;margin-top:10px;font:900 14px Montserrat,Arial,sans-serif}
.ancaStyleOption span{display:block;margin-top:7px;font-size:10.5px;line-height:1.45;opacity:.86}
.ancaStyleTools{margin-top:18px;display:flex;flex-direction:column;gap:14px}
.ancaToolBox{padding:17px;border:1px solid var(--anca-line);border-radius:15px;background:#f8fbff}
.ancaToolBox label{display:flex;justify-content:space-between;gap:12px;color:#34425c;font-size:12px;font-weight:800}
.ancaToolBox input{width:100%;margin-top:14px;accent-color:var(--anca-purple)}

/* Vista previa */
.ancaPreview{--p1:#b600ff;--p2:#00f5ff;--p3:#ff007f;--pbg:#f6f9ff;--pt:#10162d;--radius:20px;overflow:hidden}
.ancaPreviewNav{min-height:68px;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;color:var(--pt);background:var(--p1)}
.ancaPreviewBrand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:900}
.ancaPreviewBrand i{font-size:28px}
.ancaPreviewMenu{display:flex;gap:17px;font-size:11px;font-weight:600}
.ancaPreviewBody{padding:50px;color:var(--pt);background:var(--pbg)}
.ancaPreviewBody h4{max-width:780px;margin:0;font-size:clamp(40px,5.2vw,68px);line-height:1.02;letter-spacing:-2.3px}
.ancaPreviewSlogan{max-width:680px;margin:18px 0 0;font-size:16px;line-height:1.68;opacity:0.85}
.ancaPreviewButtons{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px}
.ancaPreviewButton{padding:11px 17px;border-radius:var(--radius);font-size:12px;font-weight:800;border:0;color:var(--pt)}
.ancaPreviewButton.main{background:var(--p2)}
.ancaPreviewButton.second{background:var(--p3);color:#fff}
.ancaPreviewCards{margin-top:34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.ancaPreviewCard{padding:20px;border-radius:var(--radius);background:#fff;box-shadow:0 10px 25px rgba(0,0,0,.06)}
.ancaPreviewCard i{color:var(--p1);font-size:29px}
.ancaPreviewCard strong{display:block;margin-top:9px;font-size:13px;color:var(--pt)}
.ancaPreviewCard span{display:block;margin-top:6px;font-size:11px;line-height:1.5;opacity:0.75;color:var(--pt)}

/* Ficha técnica */
.ancaTechnicalSheet{overflow:hidden;border:1px solid #d6e0eb;border-radius:20px;background:#fff;box-shadow:var(--anca-shadow-soft)}
.ancaSheetHeader{padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:22px;color:#fff;background:linear-gradient(110deg,#0b1730,#281046 65%,#5c0758)}
.ancaSheetHeader img{width:112px!important;height:auto!important;filter:drop-shadow(0 8px 18px rgba(0,0,0,.2))}
.ancaSheetContact{text-align:right;color:rgba(255,255,255,.87);font-size:10.5px;line-height:1.55}
.ancaSheetBody{padding:27px}
.ancaSheetIdentity{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding-bottom:21px;border-bottom:1px solid var(--anca-line)}
.ancaSheetIdentity h4{margin:0;font-size:34px;line-height:1.1}
.ancaSheetIdentity p{margin:8px 0 0;color:#637087;font-size:13px}
.ancaSheetIcon{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--anca-purple),var(--anca-magenta));font-size:38px}
.ancaGuideGrid{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ancaGuideItem{padding:15px;border:1px solid #e0e7f0;border-radius:13px;background:#f9fbfe}
.ancaGuideItem.full{grid-column:1/-1}
.ancaGuideItem strong{display:block;color:#32415b;font:900 9px Montserrat,Arial,sans-serif;text-transform:uppercase}
.ancaGuideItem span{display:block;margin-top:6px;color:#5c6a81;font-size:12px;line-height:1.55}
.ancaGuidePalette{margin-top:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.ancaGuideColor{min-height:62px;padding:7px;border-radius:10px;display:flex;align-items:flex-end;justify-content:center;color:#fff;font:900 8px Montserrat,Arial,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.45)}

/* Sección Final Rectangular Verde Neón + Doble Marco Delgado Blanco */
.ancaFinal{background:#fff}
.ancaSparkCard{
  position:relative;
  width:min(100%,1080px);
  margin:auto;
  padding:64px 50px;
  text-align:center;
  color:#ffffff!important;
  background:linear-gradient(135deg,#39ff88 0%,#0cc865 28%,#092418 68%,#06160e 100%);
  border:1px solid rgba(255,255,255,0.8);
  outline:2px solid rgba(57,255,136,0.5);
  outline-offset:-8px;
  border-radius:32px;
  box-shadow:0 24px 60px rgba(12,40,22,0.22);
}
.ancaSparkCard h2{margin:0;font:900 clamp(32px,4.5vw,56px)/1.1 Montserrat,Arial,sans-serif;letter-spacing:-2px;color:#ffffff!important;text-shadow:0 2px 10px rgba(0,0,0,0.3)}
.ancaSparkActions{margin-top:30px;display:flex;justify-content:center;align-items:center;flex-wrap:nowrap;gap:14px}
.ancaSparkCard .ancaBtn{height:52px;color:#ffffff!important;background:rgba(0,0,0,0.32);border:1px solid rgba(255,255,255,0.6);box-shadow:0 8px 20px rgba(0,0,0,0.25);backdrop-filter:blur(6px);flex:1;max-width:280px;font-size:13px}
.ancaSparkCard .ancaBtn.isQuote{color:#10162d!important;background:var(--anca-yellow)!important;border-color:var(--anca-yellow)!important}

/* Modales Nativos / Móvil (Generales) */
.ancaDataModal{
  position:fixed;inset:0;z-index:100005;
  background:rgba(10,15,30,0.8);
  backdrop-filter:blur(6px);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.ancaDataModal.open{display:flex;}
.ancaDataModalCard{
  width:100%;
  max-width:400px;
  background:#fff;
  border-radius:20px;
  padding:24px;
  box-shadow:0 25px 60px rgba(0,0,0,0.3);
  position:relative;
  display:flex;
  flex-direction:column;
  gap:16px;
  max-height:85vh;
}
.ancaDataModalCard h4{margin:0;font:900 18px Montserrat,Arial,sans-serif;color:var(--anca-ink)}
.ancaDataModalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px;}
.ancaDataModalActions .ancaBtn{min-width:44px;padding:0;width:44px;justify-content:center}
.md-scrollable{overflow-y:auto;max-height:50vh;padding-right:5px;}
.md-scrollable::-webkit-scrollbar{width:6px;}
.md-scrollable::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px;}
.ancaListOption{
  width:100%;text-align:left;padding:12px;border:1px solid #eee;border-radius:10px;margin-bottom:8px;background:#fff;color:#333;font:600 13px Poppins,sans-serif;cursor:pointer;
}
.ancaListOption.active{background:#f9f0ff;border-color:var(--anca-purple);color:var(--anca-purple);font-weight:700;}

/* Modal Cotización */
.ancaQuoteModal{display:none;position:fixed;inset:0;z-index:100008;align-items:center;justify-content:center;padding:16px;background:rgba(16,22,45,.68);backdrop-filter:blur(8px)}
.ancaQuoteModal.open{display:flex}
.ancaQuoteCard{position:relative;width:min(100%,480px);max-height:calc(100vh - 32px);overflow:auto;padding:36px 28px;border:1px solid rgba(255,255,255,.3);border-radius:24px;color:#fff;background:radial-gradient(circle at 85% 85%,rgba(0,245,255,.28),transparent 40%),linear-gradient(145deg,#ff007f,#b600ff 52%,#00aeea);box-shadow:0 30px 80px rgba(16,22,45,.35)}
.ancaQuoteClose{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;background:rgba(255,255,255,.18);font-size:22px;display:grid;place-items:center;cursor:pointer}
.ancaQuoteCard h3{margin:0;font:900 28px/1.1 Montserrat,Arial,sans-serif;text-align:center}
.ancaQuoteCard p{margin:8px 0 20px;color:rgba(255,255,255,.9);font-size:13px;text-align:center}
.ancaQuoteForm{display:grid;gap:12px}
.ancaQuoteForm input,.ancaQuoteForm select,.ancaQuoteForm textarea{width:100%;min-height:46px;padding:11px 14px;border:0;border-radius:12px;color:#10162d;background:#fff;font-size:13px;font-weight:600}
.ancaQuotePhoneRow{display:grid;grid-template-columns:110px 1fr;gap:8px}
.ancaQuoteForm textarea{min-height:95px;resize:vertical}
.ancaQuoteSubmit{width:100%;min-height:48px;border:0;border-radius:12px;color:var(--anca-purple)!important;background:#fff!important;font:900 13px Montserrat,Arial,sans-serif;cursor:pointer;margin-top:6px}
.ancaQuoteSubmit:hover{background:var(--anca-yellow)!important;color:#10162d!important}

/* FAQ y footer */
.ancaFaqList{width:min(100%,900px);margin:34px auto 0;display:grid;gap:10px}
.ancaFaq{overflow:hidden;border:1px solid var(--anca-line);border-radius:14px;background:#fff}
.ancaFaqQuestion{width:100%;min-height:60px;padding:16px 18px;border:0;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--anca-ink);background:#fff;font:900 12px Montserrat,Arial,sans-serif;text-align:left;cursor:pointer}
.ancaFaqQuestion i{color:var(--anca-purple);font-size:22px;transition:transform .2s ease}
.ancaFaqAnswer{max-height:0;padding:0 18px;overflow:hidden;transition:max-height .25s ease,padding .25s ease}
.ancaFaqAnswer p{margin:0;color:#5c6a81;font-size:13px;line-height:1.65}
.ancaFaq.open .ancaFaqAnswer{max-height:260px;padding:0 18px 17px}
.ancaFaq.open .ancaFaqQuestion i{transform:rotate(45deg)}
.ancaFooter{border-top:1px solid var(--anca-line);background:#fff}
.ancaFooterGrid{padding:58px 0 42px;display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:42px}
.ancaFootLogo{width:165px!important;height:auto!important}
.ancaFootAbout{max-width:360px;margin:15px 0 18px;color:#627087;font-size:12.5px;line-height:1.65}
.ancaFooter h4{margin:0 0 14px;font:900 12px Montserrat,Arial,sans-serif;text-transform:uppercase}
.ancaFootList{margin:0;padding:0;display:grid;gap:9px;list-style:none}
.ancaFootList a,.ancaFootList li{display:flex;align-items:center;gap:7px;color:#5c6a81!important;font-size:12px;text-decoration:none!important}
.ancaFootList i{color:var(--anca-purple);font-size:18px}
.ancaFootCard{padding:22px;border:1px solid rgba(69,96,137,.15);border-radius:20px;background:#fff;box-shadow:var(--anca-shadow-soft)}
.ancaFootCard h3{margin:0;font:900 21px Montserrat,Arial,sans-serif}
.ancaFootCard p{margin:10px 0 17px;color:#647188;font-size:12px}
.ancaFootBottom{padding:17px 0;border-top:1px solid var(--anca-line)}
.ancaFootBottomInner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.ancaFootBottom p{margin:0;color:#8995a8;font-size:10.5px}
.ancaBackTop{min-height:36px;padding:8px 12px;border:0;border-radius:10px;color:#fff;background:linear-gradient(100deg,var(--anca-purple),var(--anca-magenta));font:900 9px Montserrat,Arial,sans-serif;cursor:pointer}
.ancaWhatsApp{position:fixed;right:22px;bottom:22px;z-index:99998;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff!important;background:linear-gradient(135deg,#39f282,#079e51);box-shadow:0 11px 26px rgba(25,230,106,.31);font-size:32px;text-decoration:none!important}

/* Responsive Tablet y Menor */
@media(max-width:1100px){
  :root{--anca-nav:64px}
  .ancaNavDesktop{display:none}
  .ancaNavMobile{position:fixed;inset:0 0 auto;z-index:100000;height:var(--anca-nav);padding:0 17px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);box-shadow:0 5px 18px rgba(31,51,91,.08);backdrop-filter:blur(16px)}
  .ancaNavMobileLogo img{height:43px!important;width:auto!important;display:block}
  .ancaMobileActions{display:flex;align-items:center;gap:8px}
  .ancaMenuToggle{width:42px;height:39px;padding:0;border:1px solid rgba(182,0,255,.2);border-radius:11px;display:grid;place-content:center;gap:4px;background:#f7f2ff;cursor:pointer}
  .ancaMenuToggle span{width:19px;height:2px;background:var(--anca-purple);transition:transform .2s ease,opacity .2s ease}
  .ancaMenuToggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .ancaMenuToggle.open span:nth-child(2){opacity:0}
  .ancaMenuToggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .ancaMobileMenu{position:fixed;top:var(--anca-nav);right:12px;width:min(330px,calc(100vw - 24px));padding:14px;border:1px solid rgba(182,0,255,.16);border-radius:16px;display:grid;gap:7px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);background:rgba(255,255,255,.98);box-shadow:0 20px 45px rgba(31,51,91,.17);transition:.2s ease}
  .ancaMobileMenu.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .ancaMobileMenu a{min-height:40px;padding:10px 12px;border-radius:10px;display:flex;align-items:center;color:#3e4c65!important;background:#f7faff;font:800 11px Montserrat,Arial,sans-serif;text-decoration:none!important}
  .ancaHero{min-height:auto;padding:96px 0 50px}
  .ancaHeroGrid{grid-template-columns:1fr;text-align:center;gap:24px}
  .ancaHeroCopy{margin:auto;display:flex;flex-direction:column;align-items:center}
  .ancaHeroBrand{order:-1;min-height:auto}
  .ancaHeroLogo{width:min(54%,330px)!important}
  .ancaDiagnosticLayout,.ancaColorLayout,.ancaTypographyLayout{grid-template-columns:1fr}
  .ancaStyleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ancaFooterGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ancaFootCard{grid-column:1/-1}
}

/* =========================================================================
   REGLAS MÓVIL ESTRICTAS (max-width: 760px)
========================================================================== */
@media(max-width:760px){
  .ancaShell,.ancaHeroGrid{width:min(calc(100% - 26px),1320px)}
  .ancaSection{padding:54px 0;contain-intrinsic-size:700px}
  .ancaCenter{margin-bottom:27px}
  .ancaKicker{font-size:9px}
  .ancaTitle{font-size:clamp(29px,8.5vw,42px);letter-spacing:-1.5px}
  .ancaDescription{margin-top:11px;font-size:13px;line-height:1.6}
  .ancaOnlyDesktop{display:none!important}
  .ancaOnlyMobile{display:flex!important}

  /* Hero */
  .ancaHero{padding:84px 0 38px}
  .ancaHeroBrand{margin-bottom:2px}
  .ancaHeroLogo{width:min(76%,250px)!important}
  .ancaHeroTitle{margin-top:2px;font-size:clamp(32px,9vw,46px);letter-spacing:-1.5px}
  .ancaHeroText{margin-top:5px;font-size:12.5px;line-height:1.5}
  .ancaHeroButtons{width:100%;margin-top:18px;display:flex;flex-wrap:nowrap;justify-content:center;gap:8px}
  .ancaHeroButtons .ancaBtn{width:50%;min-height:44px;padding:9px 8px;font-size:10px;line-height:1.2;text-align:center;}

  /* Tarjetas Slider Horizontal */
  .ancaPathTrack{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 7vw 13px;margin:0 calc(50% - 50vw)}
  .ancaPathTrack::-webkit-scrollbar{display:none}
  .ancaPathCard{flex:0 0 84vw;display:flex;flex-direction:column;min-height:0;scroll-snap-align:center}
  .ancaPathImage{height:auto;aspect-ratio:1/1}
  .ancaPathBody{padding:18px}
  .ancaPathBody h3{font-size:18px}
  .ancaPathBody p{font-size:12px}
  .ancaPathDots{display:flex;justify-content:center;gap:7px;margin-top:12px}
  .ancaPathDot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#cbd5e3;cursor:pointer}
  .ancaPathDot.active{background:var(--anca-purple);transform:scale(1.18)}

  /* Constructor Nav Tabs */
  .ancaWorkspace{border-radius:20px}
  .ancaStepNav{padding:9px;grid-template-columns:repeat(6,90px);gap:6px;}
  .ancaStepBtn{padding:6px;font-size:10.5px;}
  .ancaPanel{padding:20px 14px}
  
  .ancaPanelHead{margin-bottom:18px}
  .ancaPanelHead h3{font-size:22px;letter-spacing:-.8px}
  .ancaPanelSubRow{margin-top:6px;}
  .ancaPanelSubRow p{font-size:12px}
  
  .ancaCard{padding:16px}
  .ancaDiagnosticLayout{gap:14px}

  /* Pestaña 1: Tu negocio - Modal Interno */
  .ancaFormGrid{grid-template-columns:1fr;gap:0;}
  .ancaField{flex-direction:row;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--anca-line);gap:10px;}
  .ancaField.full{flex-direction:row;}
  .ancaField label{font-size:12px;max-width:45%;margin:0;}
  .ancaField .ancaHelp{display:none!important}
  /* Ocultar inputs nativos en móvil, mostrar cuadro de valor */
  .ancaField input, .ancaField select, .ancaField textarea {display:none!important;}
  .ancaValBox{display:block;width:55%;height:38px;line-height:36px;padding:0 12px;background:#f0f4f8;border-radius:8px;color:var(--anca-ink);font-size:12.5px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border:1px solid transparent;}
  .ancaValBox:empty::before{content:"Tocar para editar";color:#888;font-size:11px;}

  /* Resultado IA en Pestaña 1 Mobile */
  .ancaIdeaSplitBox{display:block;padding:0;border:0;background:transparent;}
  .ancaAiSplitResult{display:block;width:100%;margin-top:16px;padding:14px;background:#10162d;color:#fff;border-radius:14px;border:none;max-height:none;}
  .ancaAiSplitResult strong{color:var(--anca-cyan);font-size:11px;}
  .ancaAiSplitResult span{color:rgba(255,255,255,0.85);font-size:12px;}

  /* Barra Acción Universal en Mobile */
  .ancaActionToolbar{justify-content:center;gap:8px;margin-top:16px;}
  .ancaIconActionBtn{flex:1;min-width:0;padding:10px;min-height:44px;}
  .ancaIconActionBtn span{font-size:11px;}
  .ancaIconActionBtn.isDanger span{display:none;} /* El botón de borrar (papelera) oculta texto */
  .ancaIconActionBtn::after{display:none!important;} /* Sin tooltip en móvil */

  /* Pestaña 2: Colores */
  .ancaColorLayout{gap:14px}
  .ancaColorEditor{padding:16px;}
  .ancaWheel{width:min(100%,250px);margin-top:10px;}
  .ancaHexRow{grid-template-columns:1fr auto;gap:8px}
  .ancaHexRow input{min-height:38px;padding:8px 10px;font-size:12px}
  .ancaHexRow .ancaBtn{width:38px;height:38px;padding:0;display:flex;}
  .ancaHexRow .ancaBtn span{display:none;}
  .ancaSatLumRow{display:flex;gap:12px;}
  .ancaRange{flex:1;}
  .ancaRange label{display:block;}
  .ancaRange label span, .ancaRange label strong {font-size:10px; display:inline-block; margin-bottom:2px;}
  
  /* Paleta en Horizontal Compacta */
  .ancaPaletteCard{padding:16px;}
  .ancaPalette{display:flex;flex-direction:row;height:48px;border-radius:10px;}
  .ancaSwatch{flex:1;min-height:48px;padding:0;border-radius:0;}
  .ancaSwatchRole, .ancaSwatchCode {display:none!important;}

  /* Armonías en 1 columna horizontalmente largas */
  .ancaHarmonyGrid{grid-template-columns:1fr;gap:6px;}
  .ancaHarmonyBtn{min-height:38px;font-size:12.5px;padding:8px;text-align:center;}
  .ancaColorMeta{grid-template-columns:1fr;gap:8px;}

  /* Pestaña 3: Tipografía */
  .ancaTypographyLayout{gap:14px;}
  .ancaTypeGroup{padding:14px 12px;}
  .ancaTypeGrid{grid-template-columns:1fr;} /* Label y caja de valor custom */
  .ancaTypePreview{min-height:auto;padding:24px 16px;}
  .ancaTypePreview h4{font-size:28px;}
  .ancaTypePreview p{font-size:13.5px;line-height:1.5;}

  /* Pestaña 4: Estilos */
  .ancaStyleGrid{grid-template-columns:1fr 1fr;gap:10px;}
  .ancaStyleOption{min-height:130px;padding:14px 10px;}
  .ancaStyleOption i{font-size:28px;}
  .ancaStyleOption strong{font-size:12px;margin-top:8px;}
  .ancaStyleOption span{font-size:9.5px;margin-top:4px;}
  .ancaStyleTools{grid-template-columns:1fr;}
  .ancaToolBox{padding:14px;}
  .ancaToolBox label{display:block;}
  .ancaToolBox label span, .ancaToolBox label strong {display:inline-block; font-size:11px;}
  
  /* Pestaña 5: Vista Previa */
  .ancaPreviewNav{padding:12px;flex-direction:column;align-items:flex-start;gap:10px;}
  .ancaPreviewBrand{font-size:16px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .ancaPreviewMenu{width:100%;justify-content:space-between;font-size:11px;margin:0;}
  .ancaPreviewBody{padding:24px 16px;}
  .ancaPreviewBody h4{font-size:28px;}
  .ancaPreviewSlogan{font-size:14px;margin-top:12px;}
  .ancaPreviewCards{grid-template-columns:1fr;gap:10px;margin-top:24px;}
  .ancaPreviewCard{padding:14px;display:flex;align-items:center;gap:14px;}
  .ancaPreviewCard i{font-size:26px;margin:0;}
  .ancaPreviewCard strong{font-size:12px;margin:0;}
  .ancaPreviewCard span{display:none;} /* Textos breves en las filas */
  
  /* Pestaña 6: Ficha */
  .ancaSheetHeader{padding:16px;align-items:flex-start;}
  .ancaSheetHeader img{width:90px!important;}
  .ancaSheetContact{font-size:9px;}
  .ancaSheetBody{padding:16px;}
  .ancaSheetIdentity{grid-template-columns:1fr auto;}
  .ancaSheetIdentity h4{font-size:24px;}
  .ancaSheetIcon{width:54px;height:54px;font-size:28px;}
  .ancaGuideGrid{grid-template-columns:1fr;}
  .ancaGuideItem.full{grid-column:auto;}
  .ancaGuidePalette{grid-template-columns:1fr;}
  .ancaGuideColor{min-height:40px;align-items:center;}

  /* Final CTA */
  .ancaFinal{padding:40px 0;}
  .ancaSparkCard{padding:34px 20px;border-radius:24px;}
  .ancaSparkCard h2{font-size:24px;line-height:1.2;}
  .ancaSparkCard p{display:none;}
  .ancaSparkActions{display:flex;flex-direction:row;gap:10px;margin-top:24px;}
  .ancaSparkCard .ancaBtn{flex:1;max-width:none;padding:12px 6px;font-size:10.5px;}

  /* Fix z-index para modales nativos móviles */
  .ancaDataModal{padding:16px;}
  .ancaDataModalCard{padding:20px;gap:14px;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  #ancaLab *,#ancaLab *:before,#ancaLab *:after{animation:none!important;transition:none!important}
}


/* =========================
   ANCA LAB V2 · Tool System
   ========================= */
.ancaToolCardV2{border:1px solid #e4eaf2!important;box-shadow:0 10px 28px rgba(31,51,91,.07)!important}
.ancaToolHeaderV2{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.ancaToolHeaderV2 h4{margin:2px 0 0;font:800 19px Montserrat,Arial,sans-serif}
.ancaToolEyebrow{display:block;color:#7a879a;font:800 9px Montserrat,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.ancaColorIdentity{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid #e1e7ef;border-radius:12px;background:#fff}
.ancaColorIdentity strong{font:800 11px Montserrat,Arial,sans-serif}
.ancaNeutralStrip{margin-top:14px;display:flex;align-items:center;gap:8px}
.ancaNeutralStrip>span{margin-right:auto;color:#667085;font-size:11px;font-weight:700}
.ancaNeutralStrip button{width:30px;height:30px;border:1px solid #d5dce7;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer}
.ancaNeutralStrip button:nth-of-type(1){background:#fff}
.ancaNeutralStrip button:nth-of-type(2){background:#f3f4f6}
.ancaNeutralStrip button:nth-of-type(3){background:#9ca3af}
.ancaNeutralStrip button:nth-of-type(4){background:#374151}
.ancaNeutralStrip button:nth-of-type(5){background:#111827}
.ancaPaletteV2{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;box-shadow:none!important}
.ancaPaletteV2 .ancaSwatch{min-height:0!important;padding:0!important;display:block!important;background:transparent!important;border-radius:14px!important;overflow:visible!important;box-shadow:none!important}
.ancaPaletteV2 .ancaSwatch.selected{box-shadow:none!important}
.ancaSwatchColorBlock{height:96px;border-radius:12px;border:1px solid rgba(15,23,42,.07);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.ancaSwatch.selected .ancaSwatchColorBlock{outline:3px solid #111827;outline-offset:2px}
.ancaSwatchMetaV2{padding:9px 2px 0}
.ancaSwatchMetaV2 strong{display:block;color:#1f2937;font:800 10px Montserrat,Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ancaSwatchMetaV2 button{margin-top:4px;padding:0;border:0;background:none;color:#667085;font:700 10px Montserrat,Arial,sans-serif;cursor:pointer}
.ancaSwatchMetaV2 input[type="color"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ancaHarmonyAreaV2{margin-top:22px}
.ancaSubheadV2{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ancaSubheadV2 strong{font:800 11px Montserrat,Arial,sans-serif}
.ancaSubheadV2 span{color:#667085;font-size:11px}
.ancaHarmonyScroll{display:flex!important;gap:8px!important;overflow-x:auto;padding:2px 0 7px;scrollbar-width:thin}
.ancaHarmonyScroll .ancaHarmonyBtn{flex:0 0 auto;min-height:36px;padding:8px 12px;border-radius:999px;font-size:10px}
.ancaContrastPill{padding:7px 10px;border-radius:999px;background:#f2f4f7;color:#475467;font:800 10px Montserrat,Arial,sans-serif}

.ancaTypographyLayoutV2{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)}
.ancaTypeRoleBlock{padding:15px 0;border-top:1px solid #eaecf0}
.ancaTypeRoleBlock:first-child{padding-top:0;border-top:0}
.ancaTypeRoleHead{margin-bottom:9px}
.ancaTypeRoleHead strong{display:block;margin-top:3px;font:800 13px Montserrat,Arial,sans-serif}
.ancaFontPicker{position:relative}
.ancaFontPickerButton{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d8e0ea;border-radius:11px;display:flex;align-items:center;justify-content:space-between;background:#fff;color:#101828;font:700 12px Montserrat,Arial,sans-serif;cursor:pointer}
.ancaFontMenu{position:absolute;z-index:40;top:calc(100% + 7px);left:0;right:0;padding:9px;border:1px solid #dbe3ee;border-radius:13px;background:#fff;box-shadow:0 18px 40px rgba(16,24,40,.15)}
.ancaFontSearchWrap{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #e0e6ef;border-radius:9px}
.ancaFontSearchWrap input{width:100%;height:38px;border:0;outline:0;background:transparent;font-size:12px}
.ancaFontList{max-height:250px;margin-top:8px;overflow-y:auto;overscroll-behavior:contain}
.ancaFontOption{width:100%;padding:9px 10px;border:0;border-radius:8px;display:flex;align-items:center;justify-content:space-between;background:#fff;color:#344054;text-align:left;font-size:12px;cursor:pointer}
.ancaFontOption:hover,.ancaFontOption.active{background:#f2f4f7;color:#101828}
.ancaFontOption small{color:#98a2b3;font-size:10px}
.ancaWeightRow{margin-top:10px;display:grid;grid-template-columns:60px 1fr;align-items:center;gap:10px}
.ancaWeightRow label{color:#667085;font-size:11px;font-weight:700}
.ancaWeightRow select{min-height:38px;border:1px solid #d8e0ea;border-radius:9px;background:#fff;padding:7px 9px;font-size:11px}
.ancaTypeStatus{margin-top:12px;padding:10px 11px;border-radius:10px;display:flex;gap:8px;background:#f8fafc;color:#667085;font-size:10.5px;line-height:1.45}
.ancaTypeStatus i{color:#0f9f6e;font-size:16px}
.ancaTypePreviewV2{min-height:390px}
.ancaTypeSampleLine{margin-top:26px;padding-top:18px;border-top:1px solid #e7ebf1;display:flex;justify-content:space-between;gap:12px;color:#667085;font-size:11px}

.ancaShapeLab{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);gap:20px}
.ancaShapeControls{padding:22px}
.ancaControlGroupV2{padding:14px 0;border-top:1px solid #eaecf0}
.ancaControlGroupV2:first-child{padding-top:0;border-top:0}
.ancaSegmentedV2{margin-top:8px;display:flex;flex-wrap:wrap;gap:7px}
.ancaSegmentedV2 button{min-height:36px;padding:8px 11px;border:1px solid #d8e0ea;border-radius:9px;background:#fff;color:#475467;font:700 10px Montserrat,Arial,sans-serif;cursor:pointer}
.ancaSegmentedV2 button.active{border-color:#111827;background:#111827;color:#fff}
.ancaShapePreview{padding:24px;background:#fbfcfe}
.ancaShapeDemoCard{--demo-radius:14px;--demo-border:1px;--demo-shadow:0 10px 25px rgba(16,24,40,.08);--demo-pad:22px;padding:var(--demo-pad);border:var(--demo-border) solid #dde4ed;border-radius:var(--demo-radius);background:#fff;box-shadow:var(--demo-shadow)}
.ancaShapeDemoIcon{width:42px;height:42px;border-radius:var(--demo-radius);display:grid;place-items:center;background:#111827;color:#fff;font-size:20px}
.ancaShapeDemoCard strong{display:block;margin-top:16px;font:800 18px Montserrat,Arial,sans-serif}
.ancaShapeDemoCard p{margin:8px 0 0;color:#667085;font-size:12px;line-height:1.55}
.ancaShapeDemoActions{margin-top:17px;display:flex;gap:8px;flex-wrap:wrap}
.ancaShapeDemoActions button{min-height:38px;padding:9px 13px;border:1px solid #111827;border-radius:var(--demo-radius);background:#111827;color:#fff;font-weight:700}
.ancaShapeDemoActions button.secondary{background:#fff;color:#111827}
.ancaShapeExplanation{margin-top:12px;color:#667085;font-size:11px}

.ancaSymbolLayout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:20px}
.ancaSymbolBrief{padding:22px}
.ancaSymbolBrief label{display:block;margin-bottom:8px;color:#344054;font:800 12px Montserrat,Arial,sans-serif}
.ancaSymbolBrief textarea{width:100%;min-height:130px;padding:12px;border:1px solid #d8e0ea;border-radius:11px;resize:vertical;font-size:12px;line-height:1.55}
.ancaSymbolAnalyze{margin-top:10px;width:100%}
.ancaSymbolReading{margin-top:12px;padding:12px;border-radius:11px;background:#f8fafc}
.ancaSymbolReading strong{display:block;font:800 10px Montserrat,Arial,sans-serif}
.ancaSymbolReading span{display:block;margin-top:5px;color:#667085;font-size:10.5px;line-height:1.5}
.ancaIconBrowser{padding:22px}
.ancaIconCount{padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#667085;font:800 10px Montserrat,Arial,sans-serif}
.ancaIconSearchWrap{display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #d8e0ea;border-radius:10px}
.ancaIconSearchWrap input{width:100%;height:40px;border:0;outline:0;background:transparent;font-size:12px}
.ancaIconGrid{margin-top:12px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-height:310px;overflow-y:auto;padding-right:3px}
.ancaIconOption{aspect-ratio:1;border:1px solid #e2e8f0;border-radius:10px;display:grid;place-items:center;background:#fff;color:#344054;font-size:24px;cursor:pointer}
.ancaIconOption:hover,.ancaIconOption.active{border-color:#111827;background:#f8fafc;color:#111827}
.ancaIconNote{margin-top:10px;color:#98a2b3;font-size:9.5px;line-height:1.45}
.ancaSelectedSymbolBar{margin-top:14px;padding:12px 14px;border:1px solid #e4e9f0;border-radius:13px;display:flex;align-items:center;justify-content:space-between;background:#fff}
.ancaSelectedSymbolBar strong{display:block;margin-top:3px;font:800 11px Montserrat,Arial,sans-serif}
.ancaSelectedIconPreview{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#111827;color:#fff;font-size:25px}

.ancaReportDisclaimer{margin:12px 0 0;color:#667085;font-size:10.5px;line-height:1.55}

@media(max-width:900px){
  .ancaTypographyLayoutV2,.ancaShapeLab,.ancaSymbolLayout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .ancaColorLayoutV2{grid-template-columns:1fr!important}
  .ancaPaletteV2{grid-template-columns:repeat(5,minmax(72px,1fr))!important;overflow-x:auto!important;padding:4px 2px 8px}
  .ancaSwatchColorBlock{height:68px}
  .ancaFontMenu{position:fixed;z-index:120;left:14px;right:14px;top:auto;bottom:14px;max-height:60vh}
  .ancaFontList{max-height:42vh}
  .ancaTypePreviewV2{min-height:300px;padding:24px}
  .ancaTypePreviewV2 h4{font-size:clamp(32px,11vw,48px)}
  .ancaIconGrid{grid-template-columns:repeat(5,minmax(0,1fr));max-height:290px}
  .ancaSegmentedV2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ancaSegmentedV2 button{width:100%}
}



