/* José Canto · josecanto.es */
:root{--bg:#141714;--bg-2:#1b201b;--ink:#f4f4ed;--muted:#a8ada5;--lime:#c5f47b;--paper:#f3f3ec;--dark:#20271f;--line:rgba(239,244,230,.15);--max:1200px;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--bg);font-family:"Inter","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}a:focus-visible,button:focus-visible{outline:3px solid #84aaeb;outline-offset:6px}::selection{background:var(--lime);color:var(--bg)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.13}button{color:inherit}.container{width:min(var(--max),calc(100% - 96px));margin-inline:auto}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:-80px;left:20px;background:var(--lime);color:var(--bg);padding:12px 20px;z-index:100}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;background:rgba(20,23,20,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);z-index:30}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px}.monogram{width:48px;height:48px;border:1px solid #768363;border-radius:12px;display:grid;place-content:center;position:relative;letter-spacing:-3px;font-size:29px;line-height:1;font-weight:750;padding-right:4px}.monogram span{position:absolute;right:6px;bottom:7px;color:var(--lime);letter-spacing:0}.brand-name{font-size:17px;font-weight:650;letter-spacing:-.4px;line-height:1.2}.brand-caption{display:block;font-size:8px;letter-spacing:1.5px;color:var(--muted);font-weight:500;margin-top:6px}.desktop-nav{display:flex;gap:34px;align-items:center}.desktop-nav a{font-size:13px;color:#bfc4ba;transition:color .2s;display:flex;align-items:center;gap:7px}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--lime)}.nav-dot{width:5px;height:5px;border-radius:50%;background:var(--lime)}.header-contact{display:flex;align-items:center;gap:22px;border:1px solid #606951;padding:10px 17px;border-radius:6px;font-size:13px;transition:background .2s,color .2s}.header-contact:hover{background:var(--lime);color:var(--bg)}.header-contact .icon{width:16px;height:16px}.menu-toggle{display:none;background:none;border:1px solid var(--line);width:44px;height:44px;border-radius:6px;padding:12px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:5px 0;transition:transform .2s}.mobile-nav{padding:8px 24px 24px;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:12px;color:#cbd0c4}.mobile-nav a:hover{color:var(--lime)}.hero{padding-top:78px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;display:flex;align-items:center;gap:9px}.status-dot{width:6px;height:6px;background:var(--lime);border-radius:50%;display:inline-block;box-shadow:0 0 0 4px rgba(197,244,123,.08);flex-shrink:0}h1{font-weight:650;font-size:clamp(68px,6.85vw,96px);letter-spacing:-6px;line-height:1.02;margin-top:29px}h1 em{font-style:normal;color:var(--lime)}.hero-role{font-size:18px;font-weight:550;letter-spacing:-.4px;margin-top:24px}.hero-role span{margin:0 4px;color:#6c7565}.hero-description{color:var(--muted);font-size:15px;max-width:440px;margin-top:16px;line-height:1.8}.hero-actions{margin-top:31px;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{min-height:50px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:12px;line-height:1.4;font-weight:650;padding:15px 21px;border-radius:6px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-lime{background:var(--lime);color:#182011}.button-lime:hover{background:#d3fc99}.text-link{display:inline-flex;align-items:center;gap:11px;font-size:12px;font-weight:550;line-height:1.4;padding:8px 0;background:none;border:0}.text-link .icon{width:16px;height:16px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-note{display:flex;align-items:center;gap:9px;font-size:10px;color:#929a8b;margin-top:26px}.small-line{width:20px;height:1px;background:#647455}.hero-art{height:485px;border:1px solid #3b4631;border-radius:18px;background:radial-gradient(ellipse at 50% 45%,#35472d 0%,#25311f 36%,#20271c 69%);position:relative;isolation:isolate;overflow:hidden}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#b6d68c0a 1px,transparent 1px),linear-gradient(90deg,#b6d68c0a 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(ellipse,#000 25%,transparent 80%);z-index:-1}.art-top{display:flex;justify-content:space-between;align-items:center;position:absolute;top:24px;left:25px;right:25px;color:#c3cfb4;font-size:8px;letter-spacing:1.6px}.art-top>span:first-child{display:flex;align-items:center;gap:7px}.art-top i{display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%}.art-top>span:last-child{color:#7a8b6c}.orbit{position:absolute;left:50%;top:49%;border:1px solid #8bac6030;transform:translate(-50%,-50%);border-radius:50%;z-index:-1}.orbit-one{width:232px;height:232px}.orbit-two{width:350px;height:350px}.orbit-three{width:466px;height:466px;opacity:.4}.connector-lines{position:absolute;width:100%;height:100%;inset:0;z-index:-1}.core-tile{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-5deg);display:flex;align-items:center;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#d4ff9d,#a9d964);border:1px solid #ddffba;border-radius:21px;width:188px;height:183px;color:#243318;box-shadow:10px 14px 0 #162211,0 22px 60px #0005}.core-tile>svg{width:44px;height:40px;margin-bottom:15px}.core-tile strong{font-weight:750;font-size:31px;letter-spacing:-1px}.core-tile>span{font-size:6px;letter-spacing:1px;margin-top:7px;font-weight:650}.satellite{position:absolute;background:#1a2218;box-shadow:0 8px 20px #0002;border:1px solid #566745;display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:9px;font-size:12px;line-height:1.25}.satellite small{display:block;color:#96a28a;font-size:8px;margin-top:5px;font-weight:400}.satellite-code{top:89px;left:24px;transform:rotate(-7deg)}.satellite-icon{font:18px monospace;color:var(--lime);letter-spacing:-3px;margin-right:2px}.satellite-api{top:115px;right:19px;transform:rotate(7deg);padding:12px 16px;z-index:2}.api-mark{color:var(--lime);font:21px monospace}.satellite-abap{bottom:77px;left:44px;right:67px;transform:rotate(3deg);font-size:14px;padding:16px 18px;background:#20291b}.satellite-abap small{font-size:9px}.satellite-abap>.icon{margin-left:auto;width:17px;height:17px;color:var(--lime)}.abap-dot{width:31px;height:31px;border-radius:9px;background:#c5f47b15;border:1px solid #6e8d4e;position:relative}.abap-dot:before,.abap-dot:after{content:"";position:absolute;background:var(--lime)}.abap-dot:before{width:13px;height:1px;left:8px;top:14px}.abap-dot:after{height:13px;width:1px;left:14px;top:8px}.art-bottom{position:absolute;bottom:20px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.3px;color:#91a77d}.art-bottom>span:last-child{color:#c6d9b1}.art-cursor{color:var(--lime)}.hero-footer{display:flex;justify-content:space-between;align-items:center;margin-top:73px;padding-block:23px;border-top:1px solid var(--line);color:#9ba393;font-size:10px}.scroll-hint{display:flex;align-items:center;gap:30px;font-size:8px;letter-spacing:1.3px}.scroll-hint>span:last-child{color:var(--lime);font-size:19px}.hero-footer p{font-size:10px}.hero-index{font-size:8px;letter-spacing:1.6px}.tech-ribbon{background:var(--lime);color:#26331a;overflow:hidden}.ribbon-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:20px;white-space:nowrap}.ribbon-inner>span:not(.ribbon-star){font-size:16px;font-weight:650;letter-spacing:-.4px}.ribbon-star{font-size:21px;line-height:1;font-weight:400}.section{padding:96px 0}.section-light{background:var(--paper);color:var(--dark)}.section-label{display:flex;align-items:center;gap:24px;font-size:9px;letter-spacing:1.8px;font-weight:650;margin-bottom:47px;line-height:1.4}.label-rule{height:1px;flex:1;background:currentColor;opacity:.18}h2{font-size:clamp(32px,3.5vw,45px);font-weight:550;letter-spacing:-1.8px;line-height:1.15}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.muted-heading{color:#858c7e}.about-copy{max-width:520px}.about-copy p{font-size:14px;color:#6c7465;line-height:1.85;margin-top:16px}.about-copy p.large-copy{font-size:21px;font-weight:500;color:var(--dark);letter-spacing:-.6px;line-height:1.45;margin-top:0}.about-copy strong{font-weight:550;color:var(--dark)}.profile-facts{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:61px;padding:28px 0;border-top:1px solid #d8ddcf;border-bottom:1px solid #d8ddcf}.fact{display:flex;align-items:center;gap:22px;padding-left:34px;border-left:1px solid #d8ddcf}.fact:first-child{padding-left:0;border-left:0}.fact>strong{font-size:47px;line-height:1;font-weight:550;letter-spacing:-3px;white-space:nowrap}.fact>strong>span{font-size:31px;vertical-align:top;color:#7b915d;font-weight:400;margin-left:2px}.fact>span{font-size:11px;line-height:1.6;color:#66715b}.skills-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:57px}.skills-heading h3{font-size:21px;letter-spacing:-.7px;font-weight:550}.skills-heading>span{font-size:8px;letter-spacing:1.5px;color:#7d8673}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:29px}.skill-group{position:relative;padding:25px 0 0;border-top:1px solid #cdd3c4}.skill-number{position:absolute;right:0;top:26px;font-size:9px;color:#8d9780}.skill-group h4{font-size:15px;letter-spacing:-.2px;margin-bottom:18px;font-weight:600}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags>span{padding:5px 9px;border:1px solid #d5dbcb;border-radius:4px;font-size:10px;font-weight:500;line-height:1.3}.skill-group p{font-size:12px;line-height:1.8;color:#747e68;margin-top:17px;max-width:310px}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:58px}.section-intro>p{font-size:13px;color:var(--muted);line-height:1.8;max-width:360px}.timeline{border-top:1px solid var(--line)}.experience-item{display:grid;grid-template-columns:300px 1fr;border-bottom:1px solid var(--line);padding:37px 0;gap:40px}.experience-date{font-size:10px;letter-spacing:.7px;color:#c0c8b6;padding-left:22px;position:relative;line-height:1.7;padding-top:5px}.timeline-dot{height:6px;width:6px;background:#c5f47b;position:absolute;left:0;top:10px;border-radius:50%}.date-duration{display:block;font-size:7px;letter-spacing:1.2px;color:#7d8b70;margin-top:8px}.experience-title{display:flex;justify-content:space-between;gap:25px}.experience-title h3{font-size:24px;letter-spacing:-.7px;font-weight:550}.job-role{font-size:13px;margin-top:8px;color:var(--lime)}.company-long{font-size:10px;color:#8e9a83;margin-top:6px;line-height:1.4}.job-index{font-size:12px;color:#6b785e;font-family:monospace}.experience-detail>p{font-size:13px;color:var(--muted);margin-top:20px;max-width:650px}.experience-detail ul{padding-left:16px;margin:13px 0 20px;font-size:12px;line-height:1.8;color:#a8b09d}.experience-detail li{padding-left:4px;margin-block:4px}.experience-detail li::marker{color:#627a46}.tags-dark>span{border-color:#38412f;color:#a8b697;font-size:9px;padding:5px 10px}.certifications-section{background:#e4ecd9;color:#25311e;position:relative;overflow:hidden}.certification-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.eyebrow-dark{font-size:8px;letter-spacing:1.4px;color:#6d7e5b;margin-bottom:19px}.certification-copy h2{font-size:45px}.sap-text{color:#5d7c35}.certification-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;max-width:340px;color:#6d7c5d;margin-top:22px}.dark-link{color:#354928;margin-top:23px;gap:18px}.certificate-card{border-radius:var(--radius);padding:26px;background:#fffef8;border:1px solid #cbd7bc;box-shadow:0 14px 30px #3d512807}.certificate-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.certificate-brand{font-weight:800;font-style:italic;letter-spacing:-1.5px;font-size:23px;line-height:1}.certificate-brand span{font-style:normal;display:block;font-size:6px;letter-spacing:2px;font-weight:500;margin-top:7px}.certificate-status{display:inline-flex;align-items:center;gap:5px;font-size:9px;line-height:1;padding:7px 10px;border:1px solid #cddcbd;border-radius:30px;color:#5c7b36;background:#edf5e5}.certificate-status .icon{width:12px;height:12px;stroke-width:2}.certificate-main{display:flex;align-items:center;gap:24px;padding-block:33px}.certificate-emblem{width:78px;height:90px;padding:6px;background:#e9f1e0;border-radius:8px;color:#698d43;flex-shrink:0}.certificate-emblem>svg{width:100%;height:100%}.certificate-code{font-family:monospace;font-size:11px;letter-spacing:1px;color:#8d9a7e;line-height:1.2;margin-bottom:10px}.certificate-main h3{font-size:21px;font-weight:550;letter-spacing:-.6px}.certificate-issued{font-size:11px;color:#849077;margin-top:11px}.certificate-bottom{border-top:1px solid #e1e6d8;padding-top:17px;display:flex;justify-content:space-between;align-items:center;gap:12px}.certificate-bottom>span{font-size:7px;letter-spacing:1.6px;color:#96a386}.certificate-bottom .text-link{font-size:10px}.certificate-bottom .icon{width:13px;height:13px}.sap-training{display:flex;align-items:center;gap:14px;border:1px solid #c2cfb3;border-radius:10px;padding:17px 20px;margin-top:13px}.training-icon{width:34px;height:34px;border-radius:8px;border:1px solid #c2cfb3;display:grid;place-content:center;color:#708b51;flex-shrink:0}.training-icon .icon{width:19px;height:19px}.sap-training h3{font-size:12px;font-weight:600}.sap-training p{font-size:9px;color:#839374;margin-top:6px;line-height:1.4}.sap-training p>span{margin:0 4px}.training-status{font-size:8px;border:1px solid #b9c9a7;border-radius:20px;padding:5px 9px;white-space:nowrap;margin-left:auto}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.education-grid .section-label{margin-bottom:32px}.education-caption{font-size:13px;color:#7e8972;margin-top:22px;line-height:1.8}.education-item{padding:26px 0;border-top:1px solid #d2d9c8}.education-item:first-child{padding-top:0;border-top:0}.education-item:last-child{padding-bottom:0}.education-date{font-size:9px;color:#7d8c6d;letter-spacing:.8px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.education-current{font-size:7px;padding:3px 6px;background:#e5edd9;color:#526f33;border-radius:4px}.education-item h3{font-size:20px;font-weight:550;letter-spacing:-.5px;line-height:1.35;margin-top:11px}.education-item p{font-size:12px;color:#7c886e;margin-top:9px}.contact-section{padding-bottom:80px}.contact-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:center}.contact-layout h2{font-size:clamp(46px,5vw,67px);letter-spacing:-3px;margin-top:22px}.contact-layout h2>span{color:var(--lime)}.contact-layout p:not(.eyebrow){font-size:13px;color:#a5af9a;line-height:1.8;margin-top:20px}.contact-layout .button{margin-top:26px;gap:54px}.contact-method{display:flex;align-items:center;gap:17px;padding:22px 0;border-bottom:1px solid var(--line)}.contact-method>.icon{color:#8ba075;width:19px;height:19px}.contact-method>div>span{display:block;font-size:7px;letter-spacing:1.5px;color:#919e84;margin-bottom:8px;line-height:1}.contact-method>div>a{font-size:18px;font-weight:500;letter-spacing:-.4px;overflow-wrap:anywhere;line-height:1.3}.contact-method>div>a:hover{color:var(--lime)}.copy-email{margin-left:auto;background:none;border:1px solid #384230;border-radius:6px;padding:10px;color:#a6b897;display:grid;place-content:center;min-width:40px;min-height:40px}.copy-email:hover{color:var(--lime);border-color:#88a869}.copy-email>.icon{width:16px;height:16px}.contact-arrow{margin-left:auto}.cv-contact{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#9ca98f;margin-top:27px;gap:12px}.cv-contact strong{font-size:12px;color:#d1dbc6;display:block;margin-top:6px;font-weight:500}.cv-contact strong>span{font-size:7px;color:#7e8b70;border:1px solid #3b4532;border-radius:3px;padding:2px 4px;margin-left:8px;vertical-align:middle}.cv-contact>.icon{width:18px;height:18px;color:var(--lime)}.cv-contact:hover strong{color:var(--lime)}.site-footer{border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:97px}.footer-brand{font-size:18px;font-weight:600;letter-spacing:-.6px}.footer-brand>span{color:var(--lime)}.footer-inner p{font-size:10px;color:#7f8a73}.footer-links{display:flex;align-items:center;gap:25px;font-size:9px;color:#9aa58f}.footer-links button{border:0;background:none;color:inherit;padding:10px 0;font-size:inherit}.footer-links a:hover,.footer-links button:hover{color:var(--lime)}.detail-dialog{padding:0;border:1px solid #465138;border-radius:18px;background:#1c231b;color:var(--ink);width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 48px);box-shadow:0 30px 100px #0006}.detail-dialog::backdrop{background:#090e0bd9;backdrop-filter:blur(5px)}.dialog-inner{padding:39px;position:relative}.dialog-close{position:absolute;right:15px;top:15px;border:1px solid #48543c;border-radius:50%;width:35px;height:35px;background:none;display:grid;place-content:center}.dialog-close .icon{width:16px;height:16px}.dialog-kicker{display:block;color:#a1b28b;font-size:8px;letter-spacing:1.8px;margin-bottom:22px;padding-right:20px}.dialog-inner h2{font-size:29px;letter-spacing:-1px;line-height:1.2}.dialog-lead{font-size:13px;color:#a2af95;margin-top:18px;line-height:1.75}.certificate-data{margin:26px 0}.certificate-data>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #394630;font-size:12px}.certificate-data dt{color:#a0b08e}.certificate-data dd{margin:0;text-align:right}.dialog-inner>.button{margin-bottom:18px;width:100%}.privacy-copy{font-size:13px;color:#b4c0aa;line-height:1.8}.privacy-copy p{margin-top:18px}.privacy-copy a{color:var(--lime);overflow-wrap:anywhere}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,30px);max-width:calc(100% - 32px);width:max-content;padding:13px 22px;background:var(--lime);color:#28351c;border-radius:8px;font-size:12px;box-shadow:0 8px 30px #0003;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100}.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.hero{padding-top:95px}.hero-footer{margin-top:85px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.hero-grid{gap:35px}.hero-art{height:450px}h1{font-size:79px;letter-spacing:-4.8px}.hero-role{font-size:16px}.hero-actions{gap:15px}.hero-actions .button{padding-inline:16px;gap:12px;font-size:11px}.hero-actions .text-link{font-size:11px}.satellite-code{left:17px;font-size:10px}.satellite-api{right:12px;font-size:10px}.core-tile{width:167px;height:170px}.satellite-abap{left:30px;right:37px}.about-grid,.certification-layout,.education-grid{gap:50px}.fact{gap:16px;padding-left:26px}.fact>strong{font-size:41px}.fact>span{font-size:10px}.skills-grid{gap:24px}.experience-item{grid-template-columns:235px 1fr;gap:25px}.contact-layout{gap:42px}.contact-method>div>a{font-size:16px}.desktop-nav{gap:23px}}
@media(max-width:900px){.brand-caption{display:none}.brand-name{font-size:15px}.desktop-nav{gap:20px}.desktop-nav a{font-size:11px}.header-contact{font-size:11px;gap:10px;padding:9px 12px}.header-inner{height:80px}.hero{padding-top:52px}.hero-grid{gap:28px}.hero-art{height:400px}.hero h1{font-size:67px;letter-spacing:-4px}.hero-description{font-size:13px}.hero-role{font-size:14px}.eyebrow{font-size:8px;letter-spacing:1.3px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px;margin-top:25px}.hero-actions .button{min-height:45px;padding:13px 16px}.hero-note{margin-top:17px;font-size:8px}.hero-footer{margin-top:48px}.core-tile{width:145px;height:145px}.core-tile strong{font-size:25px}.core-tile>svg{width:35px;height:33px;margin-bottom:12px}.core-tile>span{font-size:5px}.satellite{padding:11px;font-size:9px;gap:7px}.satellite-code{top:75px;left:13px}.satellite-api{top:105px;right:10px}.satellite small{font-size:7px}.satellite-abap{bottom:70px;right:25px;left:25px;font-size:12px}.satellite-abap small{font-size:8px}.art-top{left:18px;right:18px;font-size:6px}.art-bottom{left:18px;right:18px;font-size:5px}.section{padding:72px 0}.ribbon-inner{gap:15px}.ribbon-inner>span:not(.ribbon-star){font-size:13px}.ribbon-star{font-size:17px}.section-label{margin-bottom:35px}.about-grid{gap:35px}h2{font-size:33px;letter-spacing:-1.4px}.about-copy p.large-copy{font-size:18px}.about-copy p{font-size:12px}.profile-facts{margin-top:42px;padding-block:24px}.fact{gap:12px;padding-left:18px}.fact>strong{font-size:35px}.fact>strong>span{font-size:24px}.fact>span{font-size:9px}.skills-heading h3{font-size:18px}.skills-heading>span{font-size:6px}.skills-grid{gap:20px}.skill-group h4{font-size:13px}.tags>span{font-size:9px;padding:4px 7px}.skill-group p{font-size:11px}.section-intro{margin-bottom:40px}.section-intro>p{font-size:11px}.experience-item{grid-template-columns:190px 1fr;gap:20px}.experience-date{font-size:8px;letter-spacing:.5px}.experience-title h3{font-size:21px}.job-role{font-size:11px}.experience-detail>p{font-size:12px}.experience-detail ul{font-size:11px}.certification-layout{gap:35px}.certification-copy h2{font-size:34px}.certification-copy>p:not(.eyebrow){font-size:12px}.certificate-card{padding:20px}.certificate-main{gap:17px}.certificate-main h3{font-size:17px}.certificate-emblem{width:64px;height:77px}.certificate-status{font-size:8px;padding:6px 7px}.certificate-brand{font-size:21px}.sap-training{gap:9px;padding:14px}.sap-training h3{font-size:10px}.sap-training p{font-size:8px}.training-status{font-size:7px;padding:4px 6px}.education-item h3{font-size:17px}.education-date{font-size:8px}.education-item p{font-size:11px}.contact-layout{gap:35px}.contact-layout h2{font-size:49px}.contact-layout p:not(.eyebrow){font-size:11px}.contact-method{gap:12px}.contact-method>div>a{font-size:14px}.contact-method>div>span{font-size:6px}.copy-email{padding:8px;min-width:34px;min-height:34px}.contact-layout .eyebrow{font-size:7px}.contact-layout .button{font-size:11px}}
@media(max-width:700px){html{scroll-padding-top:89px}.container{width:calc(100% - 40px)}.header-inner{height:74px;gap:14px}.brand{gap:10px}.monogram{width:40px;height:40px;font-size:25px;border-radius:10px}.monogram span{right:5px;bottom:5px}.brand-name{font-size:15px}.brand-caption{display:block;font-size:6px;letter-spacing:1px;margin-top:4px}.desktop-nav{display:none}.header-contact{margin-left:auto;padding:8px 11px;min-height:38px;gap:10px}.menu-toggle{display:block;width:39px;height:39px;padding:9px}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}.hero{padding-top:42px}.hero-grid{grid-template-columns:1fr;gap:35px}.eyebrow{font-size:8px;letter-spacing:1.2px}.hero h1{font-size:clamp(67px,12.8vw,86px);letter-spacing:-4.5px;margin-top:25px;line-height:1.02}.hero-role{font-size:16px;margin-top:23px;line-height:1.5}.hero-description{font-size:14px;max-width:440px}.hero-actions{flex-direction:row;align-items:center;gap:22px;margin-top:25px}.hero-actions .button{font-size:11px;gap:12px;padding-inline:16px}.hero-actions .text-link{font-size:11px}.hero-note{font-size:9px;margin-top:20px}.hero-art{height:380px;width:100%;max-width:520px;margin-inline:auto}.core-tile{width:167px;height:167px}.core-tile strong{font-size:28px}.core-tile>svg{width:40px;height:37px}.core-tile>span{font-size:5.5px}.satellite-code{left:26px;top:71px;font-size:11px}.satellite-api{top:92px;right:24px;font-size:11px}.satellite small{font-size:8px}.satellite-abap{bottom:63px;left:36px;right:46px;font-size:13px;padding:13px 15px}.art-top{top:21px;left:23px;right:23px;font-size:7px}.art-bottom{left:23px;right:23px;font-size:6px;bottom:18px}.hero-footer{margin-top:34px;padding-block:16px}.hero-footer p{display:none}.scroll-hint{font-size:7px;gap:20px}.hero-index{font-size:7px}.ribbon-inner{gap:17px;padding-block:18px;width:100%;padding-inline:20px;justify-content:flex-start;overflow:auto;scrollbar-width:none}.ribbon-inner::-webkit-scrollbar{display:none}.ribbon-inner>span:not(.ribbon-star){font-size:13px}.ribbon-star{font-size:15px}.section{padding:62px 0}.section-label{font-size:8px;letter-spacing:1.6px;margin-bottom:30px;gap:20px}.about-grid{grid-template-columns:1fr;gap:26px}h2{font-size:35px;letter-spacing:-1.5px}.about-copy{max-width:none}.about-copy p.large-copy{font-size:19px}.about-copy p{font-size:13px;line-height:1.9;margin-top:17px}.profile-facts{margin-top:31px;padding-block:22px;gap:14px}.fact{padding-left:16px;display:block}.fact>strong{font-size:36px;letter-spacing:-2px}.fact>strong>span{font-size:23px}.fact>span{display:block;margin-top:11px;font-size:8px;line-height:1.55}.skills-heading{margin-top:38px}.skills-heading h3{font-size:20px}.skills-heading>span{display:none}.skills-grid{grid-template-columns:1fr;gap:24px;margin-top:25px}.skill-group{padding-top:22px}.skill-group h4{font-size:15px;margin-bottom:16px}.skill-number{top:25px}.tags>span{font-size:10px;padding:5px 9px}.skill-group p{font-size:12px;max-width:none;margin-top:13px}.section-intro{display:block;margin-bottom:32px}.section-intro>p{font-size:12px;margin-top:20px}.experience-item{grid-template-columns:1fr;gap:19px;padding-block:29px}.experience-date{font-size:9px;padding-top:0}.timeline-dot{top:5px}.date-duration{display:inline;margin-top:0;margin-left:12px;font-size:6px}.experience-title h3{font-size:22px}.experience-title{gap:20px}.job-role{font-size:12px}.experience-detail>p{font-size:13px;margin-top:19px}.experience-detail ul{font-size:12px;margin-top:12px}.tags-dark>span{font-size:9px}.certification-layout{grid-template-columns:1fr;gap:30px}.certification-copy h2{font-size:37px}.certification-copy>p:not(.eyebrow){font-size:13px;max-width:380px;margin-top:17px}.eyebrow-dark{font-size:7px;margin-bottom:14px}.dark-link{font-size:11px;margin-top:15px}.certificate-card{padding:23px}.certificate-brand{font-size:24px}.certificate-status{font-size:9px;padding:7px 10px}.certificate-main{padding-block:29px;gap:22px}.certificate-emblem{width:72px;height:84px}.certificate-main h3{font-size:20px}.certificate-code{font-size:10px}.certificate-issued{font-size:11px}.certificate-bottom{padding-top:13px}.certificate-bottom>span{font-size:7px}.certificate-bottom .text-link{font-size:11px}.sap-training{padding:16px;gap:11px}.sap-training h3{font-size:12px}.sap-training p{font-size:9px}.training-status{font-size:8px;padding:5px 9px}.education-grid{grid-template-columns:1fr;gap:34px}.education-grid .section-label{margin-bottom:27px}.education-caption{font-size:12px;margin-top:17px}.education-item{padding-block:23px}.education-item h3{font-size:19px}.education-date{font-size:9px}.education-item p{font-size:12px}.contact-layout{grid-template-columns:1fr;gap:28px}.contact-layout h2{font-size:52px;margin-top:20px}.contact-layout .eyebrow{font-size:7px}.contact-layout p:not(.eyebrow){font-size:13px;margin-top:17px}.desktop-break{display:none}.contact-layout .button{font-size:12px;margin-top:24px;gap:60px}.contact-method{gap:15px;padding-block:22px}.contact-method>div>a{font-size:18px}.contact-method>div>span{font-size:7px}.copy-email{min-width:40px;min-height:40px;padding:11px}.cv-contact{margin-top:23px;font-size:10px}.cv-contact strong{font-size:12px}.footer-inner{min-height:128px;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-block:24px}.footer-brand{font-size:18px}.footer-inner p{text-align:right;font-size:9px}.footer-links{grid-column:1 / -1;justify-content:space-between;font-size:9px;gap:20px}.footer-links button{padding:0}.dialog-inner{padding:31px 24px}.dialog-inner h2{font-size:27px}.dialog-close{top:13px;right:13px}.dialog-kicker{font-size:7px}.privacy-copy{font-size:12px}}
@media(max-width:380px){.container{width:calc(100% - 32px)}.brand-caption{display:none}.header-contact{font-size:10px;gap:5px;padding-inline:8px}.header-contact .icon{width:13px;height:13px}.header-inner{gap:10px}.brand-name{font-size:13px}.hero h1{font-size:65px;letter-spacing:-4px}.hero-role{font-size:14px}.hero-actions{gap:16px}.hero-actions .button{font-size:10px;padding-inline:13px;gap:9px}.hero-actions .text-link{font-size:10px}.hero-art{height:355px}.satellite-code{left:15px;font-size:10px}.satellite-api{right:15px;font-size:10px}.satellite-abap{left:25px;right:30px;bottom:56px}.fact>strong{font-size:31px}.fact>strong>span{font-size:20px}.fact>span{font-size:7px}.fact{padding-left:12px}.profile-facts{gap:8px}.certificate-card{padding:19px}.certificate-main{gap:15px}.certificate-main h3{font-size:18px}.certificate-emblem{width:62px;height:78px}.sap-training{gap:9px;padding:13px}.sap-training h3{font-size:10px}.training-status{font-size:7px;padding:4px 7px}.training-icon{width:28px;height:28px}.contact-layout h2{font-size:46px}.contact-method>div>a{font-size:16px}.copy-email{min-width:36px;min-height:36px;padding:9px}.date-duration{font-size:5px;margin-left:9px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion-mode="on"]){scroll-behavior:auto}html:not([data-motion-mode="on"]) *,html:not([data-motion-mode="on"]) *::before,html:not([data-motion-mode="on"]) *::after{transition:none!important;animation:none!important}}
@media print{.site-header,.hero-art,.hero-footer,.tech-ribbon,.contact-section,.site-footer,.hero-actions,.hero-note,.detail-dialog,.toast,.skip-link,.certificate-details{display:none!important}body,.section,.hero{background:#fff!important;color:#222!important}.container{width:100%}.hero{padding-top:0}.hero-grid,.about-grid,.certification-layout,.education-grid{display:block}.section{padding:25px 0}.section-label{margin-bottom:15px}.hero h1{font-size:55px}.hero h1 em,.job-role,.sap-text{color:#40552d}.hero-description,.hero-role,.about-copy p,.experience-detail p,.experience-detail ul,.section-intro>p{color:#444}.experience-item{break-inside:avoid;grid-template-columns:170px 1fr;gap:20px;border-color:#ccc;padding-block:20px}.certificates{margin-top:20px}.certificate-card,.sap-training{break-inside:avoid}.profile-facts{margin-top:20px}.skills-heading{margin-top:25px}h2{font-size:28px}.skills-grid{gap:20px}.section-intro{margin-bottom:20px}.education-list{margin-top:20px}.education-item{padding-block:17px}.hero-description{max-width:650px}}

/* Integration Suite y movimiento: capas pequeñas, transform y opacity. */
.hero-integration{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:7px 11px;margin-top:12px;border:1px solid #485c34;border-radius:30px;color:var(--lime);background:#c5f47b07;font-size:11px;line-height:1.3;font-weight:500}.hero-integration>.icon{width:15px;height:15px}.hero-integration>span{font-size:9px;color:#9cac8b}.hero-art .satellite-api{top:65px;right:20px;gap:8px}.hero-art .satellite-api>.api-mark{font-size:18px}.hero-art{--motion-play-state:paused}.hero-art[data-motion="running"]{--motion-play-state:running}.motion-supported .orbit-one{border-top-color:#a5cf6a88;animation:jc-orbit 28s linear infinite;animation-play-state:var(--motion-play-state)}.motion-supported .orbit-two{border-right-color:#a5cf6a55;animation:jc-orbit 43s linear infinite reverse;animation-play-state:var(--motion-play-state)}.motion-supported .orbit-one::after,.motion-supported .orbit-two::after{content:"";position:absolute;width:5px;height:5px;background:#d0ff8a;border-radius:50%;box-shadow:0 0 10px #baf17a66;top:-3px;left:50%}.motion-supported .orbit-two::after{width:3px;height:3px;opacity:.6}.motion-supported .core-tile{animation:jc-core-float 7s ease-in-out infinite;animation-play-state:var(--motion-play-state)}.motion-supported .satellite-code{--satellite-angle:-7deg;animation:jc-satellite-float 8s ease-in-out infinite;animation-play-state:var(--motion-play-state)}.motion-supported .satellite-api{--satellite-angle:7deg;animation:jc-satellite-float 9s ease-in-out -3s infinite;animation-play-state:var(--motion-play-state)}.hero-art.motion-supported::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(to bottom,transparent,transparent 47%,#c5f47b08 49.6%,#dcffa855 50%,transparent 50.4%);animation:jc-scan 13s linear infinite;animation-play-state:var(--motion-play-state)}.motion-supported .art-top i{animation:jc-signal 4s ease-in-out infinite;animation-play-state:var(--motion-play-state)}.tech-ribbon .ribbon-inner{gap:clamp(12px,1.7vw,25px)}.certificate-card{transition:transform .25s ease,border-color .25s ease}.certificate-card:hover{transform:translateY(-3px);border-color:#9fb886}
@keyframes jc-orbit{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes jc-core-float{0%,100%{transform:translate(-50%,-50%) translateY(0) rotate(-5deg)}50%{transform:translate(-50%,-50%) translateY(-6px) rotate(-3deg)}}
@keyframes jc-satellite-float{0%,100%{transform:translateY(0) rotate(var(--satellite-angle))}50%{transform:translateY(-5px) rotate(var(--satellite-angle))}}
@keyframes jc-scan{0%{transform:translateY(-100%);opacity:0}8%{opacity:.35}85%{opacity:.35}100%{transform:translateY(100%);opacity:0}}
@keyframes jc-signal{0%,100%{opacity:1}50%{opacity:.35}}
@media(max-width:900px) and (min-width:701px){.hero-art .satellite-api{top:53px;right:13px;font-size:9px}.hero-art .satellite-api small{font-size:7px}.hero-art .satellite-api>.api-mark{font-size:15px}.hero-integration{font-size:10px}.hero-integration>span{font-size:8px}}
@media(max-width:700px){.hero-art .satellite-api{top:60px;right:20px;font-size:10px}.hero-art .satellite-api small{font-size:7px}.hero-art .satellite-api>.api-mark{font-size:17px}.hero-integration{font-size:11px}}
@media(max-width:380px){.hero-art .satellite-api{top:57px;right:15px;font-size:9px}.hero-art .satellite-api small{font-size:6px}.hero-art .satellite-code{font-size:9px}.hero-integration{font-size:10px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion-mode="on"]) .hero-art::after{display:none}html:not([data-motion-mode="on"]) .certificate-card:hover{transform:none}}
@media print{.hero-integration{border:0;padding:0;color:#40552d;background:none}.hero-integration>span{color:#40552d}.hero-art::after{display:none}}

/* Movimiento ampliado: red de partículas, flujo de datos y reacciones al cursor. */
.motion-surface{--motion-play-state:paused}.motion-surface[data-motion="running"]{--motion-play-state:running}.hero{position:relative;isolation:isolate}.hero-network{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.7;pointer-events:none}.hero.motion-supported .hero-network{display:block}.hero>.hero-grid,.hero>.hero-footer{position:relative;z-index:1}.hero-art{transition:transform .3s ease}.hero-art[data-tilt]{transform:perspective(950px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.hero h1 em{display:inline-block;position:relative}.hero.motion-supported h1 em::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;color:var(--lime);text-shadow:0 0 23px #a6ee785c;animation:jc-text-glow 3.6s ease-in-out infinite;animation-play-state:var(--motion-play-state)}.motion-supported .orbit-one{animation-duration:8s;border-top-color:#c5f47bd9}.motion-supported .orbit-two{animation-duration:14s;border-right-color:#c5f47b99}.motion-supported .orbit-three{animation:jc-orbit 22s linear infinite;animation-play-state:var(--motion-play-state);border-style:dashed;opacity:.6}.motion-supported .orbit-one::after{width:8px;height:8px;top:-4px;box-shadow:0 0 13px #c5f47b99}.motion-supported .orbit-two::after{width:5px;height:5px;top:-3px;opacity:1}.motion-supported .core-tile{animation-duration:4.2s}.motion-supported .satellite-code{animation-duration:4.8s}.motion-supported .satellite-api{animation-duration:5.7s}.motion-supported .satellite-abap{--satellite-angle:3deg;animation:jc-satellite-float 5.2s ease-in-out -1s infinite;animation-play-state:var(--motion-play-state)}.hero-art.motion-supported::after{animation-duration:5.5s}.core-halo{display:none;position:absolute;left:50%;top:48%;width:230px;height:230px;border:2px solid #b9f17e;border-radius:50%;z-index:-1;pointer-events:none}.motion-supported .core-halo{display:block;animation:jc-sonar 3.4s ease-out infinite;animation-play-state:var(--motion-play-state)}.signal-packets{display:none}.motion-supported .signal-packets{display:block}.motion-supported .data-packet{stroke:#efffd2;stroke-width:1;animation-duration:3s;animation-timing-function:linear;animation-iteration-count:infinite;animation-play-state:var(--motion-play-state)}.packet-one{animation-name:jc-packet-one}.packet-two{animation-name:jc-packet-two;animation-delay:-1.4s}.packet-three{animation-name:jc-packet-three;animation-delay:-.8s}.ribbon-viewport{overflow-x:auto;scrollbar-width:none}.ribbon-viewport::-webkit-scrollbar{display:none}.ribbon-track{display:flex;width:max-content}.tech-ribbon .ribbon-inner{width:max-content;min-width:100vw;flex-shrink:0;margin:0;padding:21px 36px;gap:34px;justify-content:space-around;overflow:visible}.ribbon-copy{display:none}.tech-ribbon.motion-supported .ribbon-viewport{overflow:hidden}.tech-ribbon.motion-supported .ribbon-copy{display:flex}.tech-ribbon.motion-supported .ribbon-track{animation:jc-ribbon-travel 30s linear infinite;animation-play-state:var(--motion-play-state)}.experience-item.motion-supported .timeline-dot::after{content:"";position:absolute;inset:-3px;border:1px solid #c5f47b;border-radius:50%;animation:jc-node-pulse 2.8s ease-out infinite;animation-play-state:var(--motion-play-state)}.certificate-emblem{position:relative;isolation:isolate}.certificate-card.motion-supported .certificate-emblem::after{content:"";position:absolute;inset:-7px;border:1px solid transparent;border-top-color:#6b9642;border-bottom-color:#91ae6e;border-radius:50%;animation:jc-badge-orbit 5s linear infinite;animation-play-state:var(--motion-play-state);pointer-events:none}.certificate-card{position:relative;overflow:hidden}.motion-on .certificate-card:hover{transform:translateY(-7px) rotate(-.6deg);border-color:#8aaa64}.motion-on .certificate-card::after,.motion-on .button-lime::after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:35%;background:linear-gradient(90deg,transparent,#eaffcd66,transparent);pointer-events:none;transform:translateX(-180%) skewX(-20deg);opacity:0}.motion-on .certificate-card:hover::after,.motion-on .button-lime:hover::after{animation:jc-hover-sheen .85s ease-out}.button-lime{position:relative;overflow:hidden}.skill-group{transition:transform .25s ease}.motion-on .skill-group:hover{transform:translateY(-4px)}
@keyframes jc-core-float{0%,100%{transform:translate(-50%,-50%) translateY(0) rotate(-5deg)}50%{transform:translate(-50%,-50%) translateY(-13px) rotate(0deg)}}
@keyframes jc-satellite-float{0%,100%{transform:translateY(0) rotate(var(--satellite-angle))}50%{transform:translateY(-10px) rotate(calc(var(--satellite-angle) + 2deg))}}
@keyframes jc-scan{0%{transform:translateY(-100%);opacity:0}10%{opacity:.75}85%{opacity:.75}100%{transform:translateY(100%);opacity:0}}
@keyframes jc-text-glow{0%,100%{opacity:.1}50%{opacity:.7}}
@keyframes jc-sonar{0%{transform:translate(-50%,-50%) scale(.65);opacity:.65}100%{transform:translate(-50%,-50%) scale(1.55);opacity:0}}
@keyframes jc-packet-one{0%{transform:translate(128px,165px);opacity:0}10%{opacity:1}40%{transform:translate(190px,165px)}85%{opacity:1}100%{transform:translate(260px,235px);opacity:0}}
@keyframes jc-packet-two{0%{transform:translate(390px,150px);opacity:0}10%{opacity:1}40%{transform:translate(328px,150px)}85%{opacity:1}100%{transform:translate(260px,235px);opacity:0}}
@keyframes jc-packet-three{0%{transform:translate(260px,235px);opacity:0}10%{opacity:1}55%{transform:translate(260px,370px)}85%{opacity:1}100%{transform:translate(135px,370px);opacity:0}}
@keyframes jc-ribbon-travel{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes jc-node-pulse{0%{transform:scale(.65);opacity:.7}100%{transform:scale(2.4);opacity:0}}
@keyframes jc-badge-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes jc-hover-sheen{0%{transform:translateX(-180%) skewX(-20deg);opacity:0}20%{opacity:1}100%{transform:translateX(430%) skewX(-20deg);opacity:0}}
@media(max-width:700px){.tech-ribbon .ribbon-inner{padding:19px 23px;gap:24px}.hero-network{opacity:.55}.motion-supported .orbit-three{animation:none}.core-halo{width:205px;height:205px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion-mode="on"]) .hero-network,html:not([data-motion-mode="on"]) .core-halo,html:not([data-motion-mode="on"]) .signal-packets,html:not([data-motion-mode="on"]) .hero h1 em::after,html:not([data-motion-mode="on"]) .ribbon-copy{display:none!important}html:not([data-motion-mode="on"]) .hero-art,html:not([data-motion-mode="on"]) .certificate-card,html:not([data-motion-mode="on"]) .skill-group{transform:none!important}html:not([data-motion-mode="on"]) .ribbon-track{transform:none!important}html:not([data-motion-mode="on"]) .certificate-emblem::after,html:not([data-motion-mode="on"]) .timeline-dot::after{display:none!important}}
@media print{.hero-network,.core-halo,.signal-packets,.hero h1 em::after,.ribbon-copy{display:none!important}.hero-art,.certificate-card,.skill-group,.ribbon-track{transform:none!important}}


/* Credencial SAP oficial: imagen íntegra, sin dependencias de terceros. */
.certification-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px}
.certificate-card--official .certificate-main{display:grid;grid-template-columns:148px minmax(0,1fr);gap:24px;padding-block:27px}
.official-badge{display:block;line-height:0;border-radius:9px;transition:transform .25s ease}
.official-badge img{display:block;width:100%;height:auto;border-radius:9px}
.official-badge:hover{transform:translateY(-3px)}
.certificate-card--official .certificate-code{font-family:inherit;font-size:9px;font-weight:650;letter-spacing:1.8px;color:#658249;margin-bottom:10px}
.certificate-card--official h3{font-size:26px;line-height:1.15;letter-spacing:-.8px}
.certificate-specialty{font-size:12px;color:#526c3c;margin-top:10px;font-weight:550;line-height:1.5}
.certificate-holder{font-size:11px;color:#7c886f;margin-top:12px;line-height:1.5}
.certificate-dates{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 0 23px;margin:0}
.certificate-dates dt{font-size:7px;letter-spacing:1.5px;color:#7a896b;margin-bottom:8px}
.certificate-dates dd{margin:0;font-size:11px;color:#465b35;line-height:1.5}
.certificate-card--official .certificate-issued{font-size:inherit;color:inherit;margin:0}
.certificate-card--official .certificate-bottom{flex-wrap:wrap;gap:9px 18px}
.certificate-card--official .certificate-bottom .text-link{min-height:32px;font-size:10px;gap:6px}
.certificate-card--official .certificate-verify{color:#334b20;font-weight:650}
.certificate-card--official .certificate-details{margin-left:auto;color:#6c7c5c}
#certificate-dialog .certificate-data dd{max-width:65%;line-height:1.55}
@media(max-width:1000px) and (min-width:701px){
 .certification-layout{gap:30px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 .certificate-card--official .certificate-main{grid-template-columns:112px minmax(0,1fr);gap:17px}
 .certificate-card--official h3{font-size:22px}
 .certificate-card--official .certificate-bottom{column-gap:12px}
}
@media(max-width:700px){
 .certification-layout{grid-template-columns:minmax(0,1fr);gap:30px}
 .certificate-card--official .certificate-main{grid-template-columns:128px minmax(0,1fr);gap:23px;padding-block:25px}
 .certificate-card--official h3{font-size:25px}
 .certificate-card--official .certificate-bottom .text-link{font-size:11px}
 .certificate-dates{padding-bottom:21px}
}
@media(max-width:400px){
 .certificate-card--official .certificate-main{grid-template-columns:108px minmax(0,1fr);gap:16px}
 .certificate-card--official h3{font-size:22px}
 .certificate-specialty{font-size:11px}
 .certificate-holder{font-size:10px}
 .certificate-card--official .certificate-bottom{column-gap:14px}
 .certificate-card--official .certificate-bottom .text-link{font-size:10px}
 .certificate-card--official .certificate-details{margin-left:0}
}
@media print{
 .certificate-card--official .certificate-main{grid-template-columns:100px minmax(0,1fr)}
 .certificate-card--official .certificate-bottom{display:none}
}

/* Preferencias de analítica, visibles solo con GA4 configurado en el dominio propio. */
.cookie-banner{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:120;display:flex;align-items:center;gap:32px;width:min(1050px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:25px 28px;background:#20281f;color:#f4f4ed;border:1px solid #60734f;border-radius:16px;box-shadow:0 15px 65px #0008}
.cookie-copy{flex:1;min-width:0}.cookie-kicker{font-size:8px;letter-spacing:1.8px;color:#c5f47b;margin:0 0 7px}.cookie-copy h2{font-size:20px;letter-spacing:-.5px;line-height:1.3;margin:0 0 9px}.cookie-copy>p:not(.cookie-kicker){font-size:12px;line-height:1.65;color:#c0c9b9;margin:0}.cookie-info{background:none;border:0;border-bottom:1px solid #a7b299;color:#e1e9d8;padding:0;font-size:11px;margin-top:10px}
.cookie-actions{display:grid;grid-template-columns:1fr;gap:9px;flex:0 0 185px}.cookie-choice{border:1px solid #c5f47b;color:#ecf5df;background:#303e25;border-radius:6px;padding:12px 15px;font-size:12px;font-weight:600;min-height:44px}.cookie-choice:hover{background:#405532}.cookie-cancel{background:none;border:0;color:#c0c9b9;font-size:11px;padding:6px}.privacy-copy h3{font-size:16px;margin:24px 0 10px}.privacy-copy a{text-decoration:underline;text-underline-offset:3px}.privacy-copy code{overflow-wrap:anywhere;font-size:11px}
@media(max-width:700px){.cookie-banner{bottom:12px;width:calc(100% - 24px);padding:21px;display:block;max-height:calc(100dvh - 24px)}.cookie-copy h2{font-size:19px}.cookie-actions{grid-template-columns:1fr 1fr;margin-top:17px;gap:10px}.cookie-choice{font-size:11px;padding:11px 9px}.cookie-cancel{grid-column:1/-1}.footer-links{flex-wrap:wrap;gap:15px}}
@media print{.cookie-banner,#cookie-settings{display:none!important}}
