@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin.woff2") format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"Lexend";src:url("fonts/lexend-latin.woff2") format("woff2");font-weight:300 500;font-display:swap}
@font-face{font-family:"Geist Mono";src:url("fonts/geistmono-latin.woff2") format("woff2");font-weight:400 500;font-display:swap}
:root{--canvas:#132139;--panel:#1B2A45;--panel-2:#223356;--accent:#E4F2B6;--accent-hover:#F2F9DA;--blue:#739CC8;--text:#EEF1EA;--text-2:#D3D9E2;--line:#7A869A;--hair:rgba(167,176,190,.15);--ease-out:cubic-bezier(.22,1,.36,1);--f-display:"Fraunces",ui-serif,Georgia,serif;--f-body:"Lexend",ui-sans-serif,system-ui,sans-serif;--f-mono:"Geist Mono",ui-monospace,monospace;--gutter:clamp(16px,4vw,56px);--r:22px}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;background:var(--canvas);scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;overflow-x:clip;color:var(--text);font:300 1.0625rem/1.7 var(--f-body);-webkit-font-smoothing:antialiased;background:radial-gradient(60vmax 60vmax at 10% 0%,rgba(115,156,200,.10),transparent 60%),radial-gradient(50vmax 50vmax at 100% 70%,rgba(228,242,182,.05),transparent 60%),var(--canvas);animation:pagein .7s var(--ease-out) both}
@keyframes pagein{from{opacity:0}}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-family:var(--f-display);font-weight:650;letter-spacing:-.018em}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-80px;z-index:200;background:var(--accent);color:var(--canvas);padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:500}
.skip:focus{top:16px}
.wrap{width:min(1180px,100% - 2*var(--gutter));margin-inline:auto}
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;padding:12px var(--gutter);background:rgba(19,33,57,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.nav-logo img{height:24px;width:auto}
/* Same menu as the main pages */
.nav-links{display:flex;gap:clamp(14px,1.8vw,28px);margin-left:auto}
.nav-links a{position:relative;font-size:.92rem;font-weight:400;color:var(--text-2);text-decoration:none;padding:6px 0;transition:color .3s var(--ease-out)}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-links a[aria-current="page"],.menu a[aria-current="page"]{color:var(--accent)}
.nav .btn{flex:none}
.nav-toggle{display:none;flex:none;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:rgba(19,33,57,.5);color:var(--text);font:500 .85rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.menu{position:fixed;inset:0;z-index:45;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:96px var(--gutter) 40px;background:rgba(19,33,57,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:opacity .45s var(--ease-out),visibility 0s linear .45s}
.menu a{font:650 clamp(1.8rem,7vw,2.6rem)/1.15 var(--f-display);color:var(--text);text-decoration:none;padding:6px 0;transform:translateY(12px);opacity:0;transition:transform .6s var(--ease-out),opacity .6s var(--ease-out)}
body.menu-open .menu{opacity:1;visibility:visible;transition:opacity .45s var(--ease-out),visibility 0s}
body.menu-open .menu a{transform:none;opacity:1}
@media (max-width:1080px){.nav-links{display:none}.nav .btn{margin-left:auto}.nav-toggle{display:inline-flex;align-items:center}}
@media (prefers-reduced-motion:reduce){.menu a{opacity:1;transform:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:.8em 1.35em;border-radius:999px;font:500 1rem/1.1 var(--f-body);text-decoration:none;white-space:nowrap;transition:transform .45s var(--ease-out),background-color .35s var(--ease-out)}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--accent);color:#070C18}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px)}
.btn-sm{min-height:44px;padding:.55em 1.1em;font-size:.92rem}
.hc-link{display:inline-flex;align-items:center;gap:.55em;min-height:44px;padding:.5em 1.05em;border-radius:999px;background:rgba(19,33,57,.5);border:1px solid rgba(115,156,200,.38);font:400 .95rem/1.1 var(--f-body);color:var(--text);text-decoration:none;white-space:nowrap;transition:border-color .35s var(--ease-out),transform .45s var(--ease-out)}
.hc-link svg{width:17px;height:17px;color:var(--accent)}
.hc-link:hover{border-color:var(--accent);transform:translateY(-2px)}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.kicker{display:inline-flex;align-items:center;gap:.75em;font:500 .74rem/1.2 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.kicker::before{content:"";width:22px;height:1px;background:currentColor}
.pd{color:var(--accent)}
.lede{color:var(--text-2);font-size:clamp(1.05rem,1rem + .3vw,1.22rem);max-width:56ch}
.p-hero{padding:clamp(48px,8vh,96px) 0 clamp(48px,7vh,80px)}
.p-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center}
.p-hero-txt{display:grid;gap:22px}
.p-hero h1{font-size:clamp(2.3rem,1.3rem + 3vw,4.2rem);line-height:1.02}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:400 .78rem/1.4 var(--f-mono);letter-spacing:.06em;color:var(--text-2)}
.crumbs a{text-decoration:none;border-bottom:1px solid var(--line)}
.crumbs a:hover{color:var(--accent)}
.p-hero-img{margin:0;border-radius:28px;overflow:hidden;border:1px solid var(--hair);box-shadow:0 30px 80px -40px rgba(0,0,0,.9);aspect-ratio:5/4}
.p-hero-img img,.p-hero-img video{display:block;width:100%;height:100%;object-fit:cover}
.p-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,5vw,72px);align-items:start;padding-bottom:clamp(64px,10vh,120px)}
.p-article{display:grid;gap:40px}
.p-intro{font-size:1.15rem;color:var(--text)}
.p-block{display:grid;gap:12px;padding-top:28px;border-top:1px solid var(--hair)}
.p-block h2{font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem);line-height:1.12}
.p-block p{color:var(--text-2)}
.p-tech{grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start;scroll-margin-top:90px}
.p-tech figure{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:5/4}
.p-tech figure img,.p-tech figure video{display:block;width:100%;height:100%;object-fit:cover}
.p-tech div{display:grid;gap:12px}
.p-tech .srv-tags{margin-top:6px}
.srv-tags{display:flex;flex-wrap:wrap;gap:8px}
.srv-tags a{display:inline-flex;align-items:center;min-height:40px;font-size:.86rem;padding:.4em .9em;border-radius:999px;background:rgba(115,156,200,.1);border:1px solid rgba(115,156,200,.22);text-decoration:none;transition:background-color .3s var(--ease-out),border-color .3s var(--ease-out),color .3s var(--ease-out),transform .35s var(--ease-out)}
.srv-tags a:hover{background:rgba(228,242,182,.12);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.p-aside{position:sticky;top:90px}
.p-card{display:grid;gap:18px;padding:28px;border-radius:var(--r);background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--hair)}
.p-card-t{font:650 1.45rem/1.2 var(--f-display)}
.p-contact{display:grid;gap:10px}
.p-contact a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-size:.95rem;min-height:36px}
.p-contact a:hover{color:var(--accent)}
.p-contact svg{width:18px;height:18px;color:var(--accent);flex:none}
.p-hours{font:400 .8rem/1.4 var(--f-mono);color:var(--text-2)}
.wa-note{font-size:.8rem;line-height:1.55;color:var(--text-2)}
.wa-note a{color:var(--text);text-underline-offset:3px}
.p-more{padding:0 0 clamp(64px,10vh,110px)}
.p-more .wrap{display:grid;gap:20px}
.p-more-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.p-more-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;padding:18px 22px;border-radius:18px;border:1px solid var(--hair);background:rgba(14,22,40,.6);text-decoration:none;font:650 1.15rem/1.2 var(--f-display);transition:border-color .35s var(--ease-out),transform .45s var(--ease-out)}
.p-more-list a:hover{border-color:var(--accent);transform:translateY(-3px)}
.p-more-list svg{width:16px;height:16px;flex:none;color:var(--accent)}
.foot{border-top:1px solid var(--hair);padding:56px 0 36px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:32px}
.foot img{width:190px}
.foot-tag{margin-top:16px;font:650 1.15rem/1.3 var(--f-display);color:var(--accent)}
.foot h2{font:500 .7rem/1.2 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.foot p{font-size:.95rem;color:var(--text-2)}
.foot a{text-decoration:none}
.foot a:hover{color:var(--accent)}
.foot-pro{margin-top:32px;font-size:.82rem;line-height:1.6;color:var(--text-2)}
.pend{color:#F2C14E;font-weight:500}
.foot-legal a{display:inline-block;padding:6px 0}
.foot-base{margin-top:40px;padding-top:20px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font:400 .72rem/1.5 var(--f-mono);color:#8A93A3}
@media (max-width:960px){.p-hero-grid,.p-body{grid-template-columns:1fr}.p-aside{position:static}.p-more-list{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.p-tech{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
/* Long explanatory text from Iván's website */
.p-block h3{font:650 clamp(1.15rem,1.05rem + .45vw,1.4rem)/1.3 var(--f-display);color:var(--text);margin-top:14px}
.p-block p+p{margin-top:2px}
.p-list{display:grid;gap:10px;margin:4px 0 6px}
.p-list li{position:relative;padding-left:20px;color:var(--text-2);line-height:1.6}
.p-list li::before{content:"";position:absolute;left:0;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.p-list strong{color:var(--text);font-weight:500}
.p-tech h3{font-size:1.12rem}
/* Links to the problem pages */
.p-block a:not(.btn){color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;transition:color .3s var(--ease-out)}
.p-block a:not(.btn):hover{color:var(--accent)}
.p-block .srv-tags a{text-decoration:none}
.p-more-k2{margin-top:22px}

/* ---------- Larger, lighter reading (client feedback) ---------- */
html{font-size:106.25%}
@media (max-width:620px){html{font-size:103%}}
/* Easier reading: slightly heavier body text */
body{font-weight:350}
strong,b{font-weight:500}
.p-block p,.p-list li{font-size:1.1rem;line-height:1.75}
.p-block p+p{margin-top:8px}
.p-hero .lede,.lede{color:var(--text);font-size:clamp(1.12rem,1.04rem + .35vw,1.3rem)}

/* ---------- Long texts that hold attention ---------- */
.p-block .p-num{display:flex;align-items:center;gap:12px;margin:0;font:500 .8rem/1 var(--f-mono);letter-spacing:.2em;color:var(--accent)}
.p-num::after{content:"";width:56px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}
.p-block h2{color:var(--text)}
.p-block p.p-lead{font-size:clamp(1.2rem,1.08rem + .45vw,1.42rem);line-height:1.6;font-weight:400;color:var(--text);padding:4px 0 4px 20px;border-left:3px solid var(--accent);margin:4px 0 6px}
.key{color:#fff;font-weight:500;text-shadow:0 0 14px rgba(228,242,182,.28)}
/* A light passes over the highlighted words now and then, like over the InCare logo on the intro */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .key{text-shadow:none;background-image:linear-gradient(100deg,#fff 0%,#fff 34%,#F2F9D4 43%,#E4F2B6 50%,#F2F9D4 57%,#fff 66%,#fff 100%);background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;filter:drop-shadow(0 0 10px rgba(228,242,182,.3))}
  .key.lit{animation:keyshine 6.5s cubic-bezier(.45,0,.2,1) infinite}
}
@keyframes keyshine{0%{background-position:100% 0}42%,100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.key.lit{animation:none}}
.p-block h3{display:flex;align-items:baseline;gap:12px}
.p-block h3::before{content:"";flex:none;width:18px;height:2px;border-radius:2px;background:var(--accent);transform:translateY(-.32em)}
.p-list--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0}
.p-list--grid li{padding:16px 18px 16px 40px;border-radius:16px;background:linear-gradient(160deg,rgba(115,156,200,.12),rgba(115,156,200,.04));border:1px solid var(--hair);transition:border-color .35s var(--ease-out),transform .45s var(--ease-out)}
.p-list--grid li:hover{border-color:rgba(228,242,182,.45);transform:translateY(-2px)}
.p-list--grid li::before{left:18px;top:1.62em}
.p-faq{gap:14px}
.p-qa{display:grid;gap:8px;padding:20px 22px;border-radius:18px;background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--hair)}
.p-qa h3{margin:0}
.p-qa p{margin:0}
.p-block{transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.p-block.pre{opacity:0;transform:translate3d(0,28px,0)}
@media (max-width:620px){.p-list--grid{grid-template-columns:1fr}.p-block p.p-lead{padding-left:16px}}
@media (prefers-reduced-motion:reduce){.p-block.pre{opacity:1;transform:none}}