/* Puntual: deep blue, brand green and an editorial rhythm. */
:root{--navy:#102b40;--ink:#173347;--blue:#126254;--muted:#536675;--line:#dce5e9;--pale:#f1f6f6;--accent:#8bd137}
body{background:#fff}h1,h2,h3{font-weight:600}h1{letter-spacing:-.05em}h2{letter-spacing:-.035em}p{line-height:1.7}.wrap{width:min(1200px,calc(100% - 64px))}
.top{background:#fffffffa;border-bottom:1px solid #e3eaed}.header{min-height:92px}.brand{font-size:2rem}.brand img{width:43px;height:43px}.header nav{gap:30px}.top .header nav a{font-weight:500;padding:8px 0}.header select{border:0;border-left:1px solid var(--line);border-radius:0;padding-left:20px;font-size:14px;background:transparent}.mobile-nav a{padding:4px 0}.btn{border-radius:5px;background:var(--navy);padding:15px 23px;font-size:15px;box-shadow:none}.btn:hover{background:#1e4b63;filter:none}.btn.light:hover{background:#edf4f3}.back,.text-link{color:var(--blue)}.eyebrow{font-size:12px;letter-spacing:.13em;color:var(--blue)}
.portal-hero{display:grid;grid-template-columns:1.2fr .85fr;gap:60px;align-items:center;padding:56px 0 42px}.portal-hero h1{font-size:clamp(3rem,4.8vw,4.6rem);line-height:1.08;margin:23px 0}.portal-hero h1 em{color:var(--blue);font-weight:500}.portal-hero p{max-width:580px;font-size:18px;line-height:1.7;margin-bottom:0}.portal-hero .eyebrow{display:block;max-width:450px}.hero-visual{margin:0;position:relative;overflow:hidden;align-self:stretch;min-height:330px;background:var(--navy);border-radius:6px 6px 64px 6px}.hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:49% center;filter:saturate(.6)}.hero-visual:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#102b40ed)}.hero-visual figcaption{position:absolute;bottom:30px;left:30px;right:24px;z-index:1;color:white;border-left:3px solid var(--accent);padding-left:18px}.hero-visual figcaption span{display:block;font-size:11px;letter-spacing:.16em;margin-bottom:8px}.hero-visual figcaption strong{font:500 25px/1.25 Manrope,sans-serif}
.area-section{padding-bottom:65px}.area-grid{gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}.area-card{background:white;border:0;border-radius:0;padding:25px;min-height:219px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .18s}.area-card:nth-child(4n){border-right:0}.area-card:nth-last-child(-n+4){border-bottom:0}.area-card:hover{background:#edf5f3}.area-number{color:var(--blue);font-size:12px;margin-bottom:25px;letter-spacing:.12em}.area-card h3{font-size:20px;font-weight:600;margin-bottom:10px;line-height:1.25}.area-card p{font-size:14px;line-height:1.6;max-width:230px}.area-arrow{border:1px solid var(--line);border-radius:50%;height:29px;width:29px;display:grid;place-items:center;top:21px;right:24px;color:var(--blue);font-size:17px}.area-card:hover .area-arrow{background:var(--navy);color:white;border-color:var(--navy)}
.intro-strip{background:var(--navy);padding:55px 0}.intro-strip .wrap{gap:90px;align-items:center}.intro-strip h2{font-size:2.35rem;max-width:450px;line-height:1.2}.intro-strip .eyebrow{color:var(--accent)}.intro-strip .text-link{color:white;border-bottom:1px solid #83a098;padding-bottom:5px;display:inline-block;margin-top:8px}.intro-strip p{color:#d2dde4}.footer{background:#f4f7f8;border-top:1px solid var(--line);padding:26px 0}.footer .wrap{font-size:13px;color:var(--muted)}
.service-head{padding:34px 0 38px}.service-head .back{font-size:14px;margin-bottom:34px}.service-heading h1{font-size:clamp(2.7rem,4.4vw,4rem);max-width:780px;line-height:1.08}.service-heading p{font-size:19px;max-width:750px}.service-heading{gap:50px}.service-problem{border-left:3px solid var(--accent);padding:4px 0 4px 22px;margin:26px 0 0;max-width:820px}.scope-grid{gap:0;padding-top:0;border-bottom:1px solid var(--line)}.scope-grid article{padding:35px 35px 35px 0}.scope-grid article+article{padding-left:45px;border-left:1px solid var(--line)}.scope-grid h2,.method-section h2,.area-faq h2{font-size:1.8rem;margin-top:0}.scope-grid ul{list-style:none;padding:0}.scope-grid li{position:relative;padding:7px 0 7px 22px;margin:0}.scope-grid li:before{content:'–';position:absolute;left:0;color:var(--blue)}.method-section{padding:40px 0 48px}.method-grid{gap:28px}.method-grid article{border-top:1px solid var(--line);padding:20px 0 0}.method-grid .num{font:500 15px Manrope,sans-serif;color:var(--blue);background:transparent;display:block;padding:0}.method-grid article p{margin:15px 0 10px}.deliverable{background:#edf5f2;border-left:3px solid var(--accent);border-radius:0;padding:25px 28px;margin-top:30px}.deliverable p{color:var(--ink);max-width:850px}.scope-note{margin-top:22px}
.case-section{background:var(--navy);padding:60px 0}.case-layout{gap:75px;grid-template-columns:.78fr 1.22fr}.case-layout aside h2{color:white;font-size:2.6rem;line-height:1.14;margin:18px 0 22px}.case-layout aside>.eyebrow{color:var(--accent)}.case-layout aside p{color:#d5e0e6}.case-layout aside .micro{color:#b8cbd6;margin-top:32px;max-width:360px}.case-card{border:0;border-radius:8px;padding:34px;box-shadow:0 16px 36px #03132220}.case-card h3{font-size:1.35rem;margin:25px 0}.case-steps{gap:15px}.case-steps li{font-size:14px;padding-bottom:15px;color:#596c78}.case-steps li[aria-current]{color:var(--blue);border-color:var(--blue)}.case-steps span{font-size:12px;letter-spacing:.1em}.field{font-size:15px}.field input,.field select,.field textarea{background:#fafcfc;border-color:#c7d5da;border-radius:4px;padding:13px 14px}.field input:focus,.field select:focus,.field textarea:focus,.area-faq input:focus{outline:2px solid var(--blue);outline-offset:2px}.case-card .save-actions{margin-top:28px;padding-top:18px;font-size:14px}.case-card .back{font-size:14px}.draft-badge{background:#e8f3ee;color:#155c48}.case-actions{margin-top:24px}
.area-faq{padding:55px 0}.area-faq input{border-radius:4px;background:#f8fafa}.area-faq details{padding:7px 0}.area-faq summary{font-weight:500}.area-faq .source{color:var(--blue)}.tools-heading{padding:36px 0}.tool-links a{background:#f1f6f5;border-color:#d8e5e0;color:var(--blue);border-radius:4px}.tool-links a:hover{background:#e3efea}.opening-card,.news-card{border-radius:6px}.about-layout{gap:80px}.about-layout img{height:380px;border-radius:5px 5px 64px 5px}.about-layout h1{line-height:1.1}.contact-page{padding-top:38px}.contact-options{padding:25px 0;border-top:1px solid var(--line);max-width:650px}.return-link{border-top:1px solid var(--line);font-size:14px}
@media(max-width:1050px){.portal-hero{gap:32px;grid-template-columns:1.15fr .85fr}.portal-hero h1{font-size:3.4rem}.hero-visual{min-height:350px}.area-card:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.area-card:nth-child(2n){border-right:0}.area-card:nth-last-child(-n+2){border-bottom:0}.area-card{min-height:190px}.area-card p{max-width:320px}.case-layout{gap:35px}.header nav{gap:20px}.service-heading{gap:12px}.service-heading>.btn{margin:8px 0}.about-layout{gap:35px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.header{min-height:75px;gap:10px}.brand{font-size:1.7rem}.brand img{width:36px;height:36px}.header .brand small{font-size:9px}.header select{padding-left:12px;font-size:13px;max-width:145px}.mobile-nav{padding:8px 18px;background:#f7fafa;font-size:14px}.portal-hero{grid-template-columns:1fr;gap:25px;padding:34px 0 28px}.portal-hero h1{font-size:clamp(2.6rem,10.5vw,3.6rem);margin:18px 0}.portal-hero p{font-size:16px;max-width:550px}.hero-visual{min-height:175px;height:175px;border-radius:5px 5px 40px 5px}.hero-visual img{object-position:center 57%}.hero-visual figcaption{bottom:22px;left:22px}.hero-visual figcaption strong{font-size:22px}.hero-visual figcaption span{font-size:10px}.area-card{padding:18px;min-height:221px}.area-card h3{font-size:18px;line-height:1.3}.area-card p{font-size:14px}.area-number{margin-bottom:26px}.area-arrow{right:16px;top:15px;width:26px;height:26px}.area-section{padding-bottom:35px}.intro-strip{padding:36px 0}.intro-strip .wrap{gap:24px}.intro-strip h2{font-size:2rem}.service-head{padding-top:25px}.service-head .back{margin-bottom:25px}.service-heading h1{font-size:2.65rem}.service-heading p{font-size:17px}.service-problem{margin-top:20px}.scope-grid article,.scope-grid article+article{padding:26px 0;border-left:0}.scope-grid article+article{border-top:1px solid var(--line)}.scope-grid{gap:0}.method-grid{gap:10px}.method-grid article{padding:16px 0 4px}.method-section{padding:30px 0}.case-section{padding:36px 0}.case-layout{grid-template-columns:1fr;gap:22px}.case-layout aside h2{font-size:2.1rem}.case-layout aside .micro{margin-top:18px;max-width:none}.case-card{padding:22px}.case-steps{gap:9px}.case-steps li{font-size:13px}.case-card .save-actions{gap:14px}.area-faq{padding:36px 0}.about-layout{gap:30px}.about-layout img{height:260px}.footer .wrap{font-size:13px}.intro-strip .wrap{grid-template-columns:1fr}}
@media(max-width:370px){.area-card:nth-child(n){border-right:0;border-bottom:1px solid var(--line)}.area-card:last-child{border-bottom:0}.area-card{min-height:160px}.hero-visual{height:160px;min-height:160px}.header select{max-width:130px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.area-card{transition:none}}
@media print{.case-section{background:white}.hero-visual{display:none}}

/* Azul corporativo: one whole-card link with a consistent service hierarchy. */
.area-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:18px;border:0;border-radius:0;overflow:visible}
.area-grid .area-card:nth-child(n){display:grid;grid-template-rows:40px minmax(3.9em,auto) 1fr auto;gap:18px;min-width:0;min-height:340px;height:100%;padding:26px 23px;background:var(--navy);border:1px solid #29485e;border-radius:12px;box-shadow:0 5px 14px #102b4014;color:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.area-card .service-icon{width:36px;height:36px;color:var(--accent);align-self:start}
.area-grid .area-card h3{color:#fff;font-size:1.25rem;font-weight:600;line-height:1.3;margin:0;letter-spacing:-.02em;overflow-wrap:break-word}
.area-grid .area-card p{color:#dce7ee;font-size:1rem;line-height:1.6;margin:0;max-width:none;overflow-wrap:break-word}
.area-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;font-size:.875rem;font-weight:600;color:#fff}
.area-grid .area-card .area-arrow{position:static;flex:0 0 34px;width:34px;height:34px;border-radius:50%;border:1px solid var(--accent);background:var(--accent);color:var(--navy);display:grid;place-items:center}
.area-arrow svg{width:20px;height:20px}
@media(hover:hover){.area-grid .area-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 10px 22px #102b4026}}
.area-grid .area-card:focus-visible{outline:3px solid #126254;outline-offset:4px;border-color:var(--accent);box-shadow:0 0 0 2px #fff}
@media(max-width:1050px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.area-grid{grid-template-columns:minmax(0,1fr);gap:16px}.area-grid .area-card:nth-child(n){padding:25px;min-height:320px}}
@media(prefers-reduced-motion:reduce){.area-grid .area-card:nth-child(n){transition:none}.area-grid .area-card:hover{transform:none}}

/* Ten equal cards: balanced pairs on medium screens; five per row on wide screens. */
.area-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.area-grid .area-card:nth-child(n){padding:24px 18px;min-height:380px}
.area-grid .area-card h3{font-size:1.15rem}
.catalog-note{font-size:.875rem;max-width:940px;margin:24px 0 0}
@media(max-width:1199px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-grid .area-card:nth-child(n){padding:26px;min-height:340px}}
@media(max-width:700px){.area-grid{grid-template-columns:minmax(0,1fr)}.area-grid .area-card:nth-child(n){padding:25px;min-height:340px}}
.area-grid .area-card:nth-child(n){grid-template-rows:40px minmax(5.2rem,auto) 1fr 54px}
.area-action{min-height:54px}

/* Official supplied logo: preserve the complete artwork and aspect ratio. */
.header .brand img.official-logo{display:block;width:132px;height:auto;max-width:100%;object-fit:contain}
.header .brand{padding:8px 0}
@media(max-width:700px){.header .brand img.official-logo{width:112px}.header{min-height:82px}}

/* Compact accessible language menu, shared across all views. */
.language-picker{position:relative;flex-shrink:0;color:#205f96;font-size:15px}
.language-picker button{display:flex;align-items:center;gap:10px;border:1px solid #d5e0e8;background:#fff;color:#205f96;border-radius:7px;padding:10px 12px;min-height:44px;line-height:1.4;text-align:left;cursor:pointer}
.language-picker img{width:28px;height:20px;object-fit:contain;flex:0 0 28px}
.language-chevron{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;margin-left:4px}
#language-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:204px;max-width:calc(100vw - 36px);padding:5px;background:#fff;border:1px solid #d5e0e8;border-radius:9px;box-shadow:0 6px 20px #102b401a}
#language-menu button{width:100%;border:0;border-radius:5px;min-height:46px}
#language-menu button[aria-checked="true"]{background:#edf5ff}
.language-check{margin-left:auto;width:16px;font-size:17px;font-weight:700}
.language-picker button:hover{background:#f2f7fc;filter:none}
.language-picker button:focus-visible{outline:2px solid #205f96;outline-offset:2px}
@media(max-width:700px){.language-picker{font-size:14px}.language-picker button{gap:8px;padding:9px 10px}}

/* Smaller language control, retaining legible labels and keyboard focus. */
.language-picker{font-size:14px}
.language-picker button{gap:6px;padding:6px 8px;min-height:34px;border-radius:5px}
.language-picker img{width:20px;height:15px;flex-basis:20px}
.language-chevron{width:12px;height:12px;margin-left:2px}
#language-menu{width:166px;top:calc(100% + 5px);padding:4px;border-radius:7px}
#language-menu button{min-height:36px}
.language-check{width:13px;font-size:14px}
@media(max-width:700px){.language-picker button{gap:6px;padding:6px 8px}}
.email-consultation{border-top:1px solid var(--line);margin-top:28px;padding-top:25px;max-width:700px}.email-consultation fieldset{border:0;padding:0;margin:0;min-width:0}.email-consultation fieldset:disabled{opacity:.75}.email-status{font-size:14px;white-space:normal}.email-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.email-consultation .field textarea{min-height:110px}.email-consultation button:disabled{opacity:.65;cursor:default}
.activity-field{min-width:0}.activity-field select{width:100%;max-width:100%}.activity-selected{font-size:.9rem;line-height:1.55;overflow-wrap:anywhere;color:var(--navy,#173f61)}.activity-field .source{display:inline-block;margin-bottom:20px}.activity-field input:focus-visible,.activity-field select:focus-visible{outline:3px solid #70a63c;outline-offset:3px}
.period-field{border:0;padding:0;margin:0;min-width:0}.period-field legend{font-weight:600}.period-controls{display:grid;grid-template-columns:1fr 1fr;gap:16px}.period-controls .field{min-width:0}.period-controls input,.period-controls select{width:100%;min-width:0}.period-field [hidden]{display:none}.period-field ul{list-style:none;padding:0}.period-field li{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #dce5eb;padding:6px 0}.period-field li span{overflow-wrap:anywhere}.period-field :focus-visible{outline:3px solid #70a63c;outline-offset:3px}
