:root{--ink:#123247;--muted:#526b79;--teal:#11799b;--green:#21a68f;--mint:#8be5d2;--line:#dae8ec;--pale:#f0f7f8;scroll-behavior:smooth;scroll-padding-top:100px}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}
button,a,summary{touch-action:manipulation}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.15;letter-spacing:-.045em}
p{color:var(--muted)}
.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:16px;background:white;padding:12px;z-index:30}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);z-index:20}
.nav-shell{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:700;letter-spacing:-1px;flex-shrink:0}
.brand img{border-radius:7px;display:block}
.brand small{font-size:13px;color:var(--teal);font-weight:500;letter-spacing:1px}
nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}
nav a:hover,.text-link:hover,.site-footer>a:last-child:hover{color:var(--teal)}
.login-link{padding-left:28px;border-left:1px solid var(--line)}
.login-link i{margin-left:8px}
.menu-toggle{display:none}
.hero{overflow:hidden;background:radial-gradient(ellipse at 85% 45%,#dff4ee 0,transparent 45%),linear-gradient(115deg,#f7fafc,#eff8f7)}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;align-items:center;padding-block:90px 66px}
.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--teal);margin-bottom:25px;display:flex;align-items:center;gap:9px}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;flex-shrink:0}
h1{font-size:clamp(43px,4.2vw,62px);line-height:1.1;letter-spacing:-3px}
h1 em{font-style:normal;color:var(--teal)}
.hero-description{margin-top:26px;font-size:17px;max-width:475px;line-height:1.8}
.hero-description strong{color:var(--ink)}
.actions{display:flex;align-items:center;gap:24px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:51px;padding:13px 23px;border:0;border-radius:5px;font-size:13px;font-weight:700;cursor:pointer}
.primary{background:var(--teal);color:#fff;box-shadow:0 6px 16px #11799b16}
.primary:hover{background:#0b627e}
.text-link{font-size:13px;font-weight:700}
.text-link span{margin-left:10px}
.hero-notes{display:flex;flex-wrap:wrap;gap:19px;margin-top:28px;color:var(--muted);font-size:11px}
.hero-notes i{color:var(--green);margin-right:4px}
.archive-scene{position:relative;padding:35px 0 60px 12px;isolation:isolate}
.scene-orbit{position:absolute;border:1px solid #b8dcd7;border-radius:50%;z-index:-1}
.orbit-one{width:480px;height:480px;top:-25px;left:10px}
.orbit-two{width:580px;height:580px;top:-75px;left:-40px;opacity:.45}
.archive-window{background:white;border:1px solid #cbdfe4;border-radius:12px;overflow:hidden;transform:rotate(-3deg);box-shadow:0 30px 65px #12324720}
.window-top{height:56px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;font-size:14px}
.window-top i{color:var(--mint);margin-right:7px;font-size:19px}
.window-top b{font-weight:400;color:var(--mint);font-size:11px}
.window-dots{color:#8ca8b5;letter-spacing:3px}
.window-body{display:flex;min-height:315px}
.window-rail{width:52px;background:#f2f7f8;display:flex;align-items:center;flex-direction:column;gap:26px;padding-top:25px;color:#8aa0ac;border-right:1px solid #e2ecef}
.window-rail i:first-child{color:var(--teal)}
.archive-content{flex:1;padding:20px;min-width:0}
.archive-heading{font-size:14px;font-weight:700;display:flex;justify-content:space-between;margin-bottom:15px}
.archive-heading i{color:#8299a5}
.scan-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.scan-tile{border-radius:6px;background:linear-gradient(135deg,#123247,#21596d);height:118px;color:white;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;overflow:hidden}
.scan-tile:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 15px,#ffffff06 16px)}
.scan-tile>i{font-size:33px;line-height:1.4;color:#8be5d2}
.scan-tile span{font-size:12px}
.scan-tile small{font-size:9px;color:#a8c2ce;letter-spacing:1px}
.study-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f4;font-size:11px;font-weight:600}
.study-row small{display:block;color:#7b919d;font-size:9px;font-weight:400}
.file-icon{background:#edf7f7;color:var(--teal);width:30px;height:32px;display:grid;place-items:center;border-radius:5px;font-size:16px}
.study-row>i{color:var(--green);margin-left:auto}
.window-bottom{font-size:9px;color:#6c8795;padding-top:16px;display:flex;align-items:center;gap:7px}
.window-bottom .status-dot{width:5px;height:5px}
.retention-card{position:absolute;right:-15px;bottom:27px;display:flex;align-items:center;gap:16px;padding:18px 25px;background:white;box-shadow:0 15px 45px #1232471c;border:1px solid #dae8e9;border-radius:8px;transform:rotate(2deg)}
.retention-icon{width:49px;height:49px;background:#e6f6f0;border-radius:50%;color:#168c73;display:grid;place-items:center;font-size:25px}
.retention-card strong{display:block;font-size:26px;line-height:1.2;letter-spacing:-1px}
.retention-card small{font-size:10px;color:#607b89}
.illustration-note{font-size:9px;position:absolute;left:30px;bottom:8px;color:#6a858f}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding-block:23px;border-top:1px solid #d3e4e6}
.hero-bottom>span{font-size:9px;letter-spacing:1.6px;color:#647f8a}
.hero-bottom p{font-size:12px;color:#456679}
.hero-bottom p span{padding-inline:18px;color:#a2b9c2}
.section{padding-block:92px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:42px}
.section-heading .eyebrow{margin-bottom:17px}
h2{font-size:clamp(32px,3vw,42px);font-weight:600}
.section-heading>p{max-width:400px;font-size:14px;line-height:1.85}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.benefit{position:relative;border:1px solid var(--line);border-radius:8px;padding:30px}
.feature-icon{display:grid;place-items:center;width:46px;height:46px;color:var(--teal);background:#eaf6f6;border-radius:8px;font-size:23px}
.card-number{position:absolute;right:27px;top:32px;color:#718a97;font-size:11px}
.benefit h3{margin-top:25px;font-size:23px}
.benefit p{font-size:14px;margin-block:15px 27px}
.feature-detail{font-size:10px;color:var(--teal);font-weight:600;border-top:1px solid var(--line);padding-top:17px;display:block}
.services-section{background:var(--ink);color:white;padding-block:85px}
.services-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}
.services-intro .eyebrow{color:var(--mint)}
.services-intro h2{font-size:36px}
.services-intro p:not(.eyebrow){color:#b4c9d1;font-size:14px;margin-block:24px;max-width:320px}
.services-intro .text-link{color:var(--mint)}
.service-list article{display:flex;gap:18px;border-bottom:1px solid #ffffff23;padding-block:26px}
.service-list article:first-child{padding-top:0}
.service-list article:last-child{border-bottom:0;padding-bottom:0}
.service-index{font-size:11px;color:#8aa7b5;margin-top:3px;flex-shrink:0}
.service-list article>i{margin-left:auto;font-size:23px;color:var(--mint)}
.tag{font-size:8px;letter-spacing:1px;color:var(--mint);display:inline-block;margin-bottom:10px}
.tag.upcoming{padding:2px 8px;border:1px solid #9bb8c5;border-radius:3px;color:#cbdee5}
.service-list h3{font-size:22px;margin-bottom:12px;letter-spacing:-.5px}
.service-list p{font-size:13px;color:#b4c9d1;line-height:1.8}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.steps li{border-top:1px solid #bcd6dc;padding-top:24px}
.steps li>span{color:var(--teal);font-size:12px}
.steps h3{margin-block:17px 14px;font-size:20px;letter-spacing:-.5px}
.steps p{font-size:14px}
.faq-section{padding-block:80px;background:var(--pale)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.faq-grid>div>p:last-child{font-size:13px;margin-top:26px}
.faq-grid a{color:var(--teal);text-decoration:underline;text-underline-offset:4px}
.faq-list details{border-bottom:1px solid #cddfe3;padding:21px 0}
.faq-list details:first-child{padding-top:0}
.faq-list summary{cursor:pointer;font-size:15px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:25px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';color:var(--teal);font-size:21px;line-height:1}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{font-size:13px;line-height:1.85;padding-top:14px;max-width:95%}
.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:54px;background:#f4f9fa;border:1px solid var(--line);border-radius:10px}
.contact-copy{padding-top:20px}
.contact-copy>p:not(.eyebrow){font-size:14px;margin-block:24px;max-width:340px}
.contact-mail{color:var(--teal);font-size:18px;overflow-wrap:anywhere}
.contact-mail i{margin-left:8px}
.contact-copy .contact-footnote{font-size:12px!important;margin-top:40px!important}
.contact-footnote a{text-decoration:underline;text-underline-offset:3px}
form{background:white;padding:28px;border:1px solid var(--line);border-radius:7px;min-width:0}
.form-heading h3{font-size:20px;letter-spacing:-.5px}
.form-heading p{font-size:12px;margin-block:8px 22px}
label{display:block;font-size:11px;font-weight:600;margin:13px 0 5px}
input,textarea{display:block;width:100%;border:1px solid #cbdce2;border-radius:4px;background:#fff;color:var(--ink);padding:10px 12px;font-size:13px;min-height:43px}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:#6a808d}
.form-note{font-size:10px;line-height:1.7;margin-block:14px}
.form-note:empty{display:none}
form .button{width:100%;gap:12px}
.site-footer{border-top:1px solid var(--line);padding-block:28px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.site-footer .brand{font-size:20px}
.site-footer p{font-size:11px}
.site-footer>a:last-child{font-size:12px;font-weight:600}
@media(min-width:1500px){.hero-grid{padding-block:110px 90px}
}
@media(max-width:1050px){.container{width:calc(100% - 56px)}
nav{gap:18px}
.login-link{padding-left:18px}
.hero-grid{gap:25px}
h1{font-size:46px;letter-spacing:-2px}
.actions{gap:16px}
.hero-notes{gap:12px}
.services-grid,.faq-grid{gap:45px}
.contact-panel{padding:35px;gap:35px}
.archive-content{padding:15px}
.retention-card{right:-5px}
.hero-description{font-size:16px}
.hero-bottom p span{padding-inline:8px}
}
@media(max-width:780px){.container{width:calc(100% - 40px)}
.nav-shell{min-height:74px;flex-wrap:wrap;gap:0}
.brand{font-size:23px}
.brand img{width:42px;height:42px}
.menu-toggle{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:white;border-radius:5px;padding:7px 10px;font-size:12px;color:var(--ink)}
.menu-toggle i{font-size:22px}
nav{display:none;flex-basis:100%;padding:16px 0 22px;align-items:stretch;gap:0}
nav a{padding:12px 0}
.menu-toggle[aria-expanded=true]+nav{display:flex;flex-direction:column}
.login-link{border-left:0;border-top:1px solid var(--line);margin-top:8px}
.hero-grid{grid-template-columns:1fr;padding-top:54px;gap:30px}
.hero-copy{max-width:580px}
h1{font-size:clamp(41px,7.4vw,56px)}
.hero-description{max-width:510px}
.archive-scene{width:min(470px,95%);margin:0 auto;padding-top:25px}
.hero-bottom{display:block}
.hero-bottom p{margin-top:10px}
.section{padding-block:62px}
.section-heading{display:block;margin-bottom:30px}
.section-heading>p{margin-top:23px;max-width:520px}
.benefit-grid{grid-template-columns:1fr;gap:13px}
.benefit{padding:25px}
.benefit p{margin-bottom:20px}
.benefit h3{margin-top:18px}
.services-grid,.faq-grid{grid-template-columns:1fr;gap:38px}
.services-section,.faq-section{padding-block:60px}
.services-intro p:not(.eyebrow){max-width:500px}
.services-intro h2{font-size:34px}
.steps{grid-template-columns:1fr;gap:25px}
.steps li{position:relative;padding-left:42px}
.steps li>span{position:absolute;left:0;top:30px}
.steps h3{margin-top:0}
.contact-panel{grid-template-columns:1fr;gap:25px;padding:25px}
.contact-copy{padding-top:0}
.contact-copy .contact-footnote{margin-top:20px!important}
.site-footer{flex-wrap:wrap}
.site-footer p{order:3;flex-basis:100%}
.eyebrow{margin-bottom:20px}
}
@media(max-width:380px){.container{width:calc(100% - 30px)}
h1{font-size:37px}
.actions{align-items:start;flex-direction:column;gap:15px}
.hero-notes{gap:10px;font-size:10px}
.archive-content{padding:12px}
.window-rail{width:35px}
.scan-tile{height:100px}
.study-row{font-size:10px}
.study-row small{font-size:8px}
.contact-panel{padding:19px}
form{padding:20px}
.button{padding-inline:15px}
.hero-bottom p{font-size:11px}
}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}
}


/* Capturas reales recortadas: los archivos no incluyen la cabecera del paciente. */
.viewer-window { margin: 0; overflow: hidden; border: 1px solid #284958; border-radius: 12px; background: #080e1a; box-shadow: 0 30px 65px #12324730; transform: rotate(-2deg); }
.viewer-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; color: #fff; background: #123247; font-size: 13px; }
.viewer-title i { color: #8be5d2; margin-right: 7px; }
.viewer-title b { color: #8be5d2; font-weight: 400; font-size: 11px; }
.viewer-badge { font-size: 8px; letter-spacing: 1.5px; color: #b9d9e1; }
.viewer-toolbar { display: block; width: 100%; height: auto; background: #0c1d47; }
.viewer-display { display: flex; justify-content: center; padding: 12px 25px; background: #000; }
.viewer-radiograph { width: 280px; max-width: 100%; aspect-ratio: 214 / 253; background: #000 url('../img/visor-preview.jpg') 3.76% 44.68% / 224.3% 192.9% no-repeat; }
.viewer-window figcaption { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 12px; font-size: 9px; color: #b9d9e1; background: #123247; }
.viewer-window figcaption i { color: #8be5d2; }
.viewer-scene .retention-card { bottom: 4px; right: -18px; padding: 14px 20px; }
.viewer-scene .illustration-note { bottom: -19px; left: 12px; }
@media (max-width: 780px) { .viewer-scene { padding-bottom: 46px; } .viewer-scene .retention-card { right: -6px; bottom: 12px; } .viewer-scene .illustration-note { bottom: -8px; font-size: 8px; } }
