
:root {
  --navy:#073575; --navy-deep:#041f4a; --blue:#0b63b6; --cyan:#19a8dd;
  --text:#18263a; --muted:#5e6a79; --soft:#f5f8fc; --white:#fff; --line:#dbe4ee;
  --shadow:0 18px 45px rgba(7,53,117,.10); --max:1240px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--text);background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
h1,h2,h3{margin:0;color:var(--navy);font-family:Georgia,"Times New Roman",serif;line-height:1.06;font-weight:700}
h1{font-size:clamp(2.55rem,5vw,4.65rem);letter-spacing:-.035em;max-width:11ch} h2{font-size:clamp(2rem,3.5vw,3.2rem);letter-spacing:-.025em} h3{font-size:clamp(1.25rem,1.8vw,1.6rem)} p{margin:0}
.eyebrow{display:inline-block;font-size:.76rem;font-weight:850;letter-spacing:.16em;color:var(--blue);margin-bottom:14px;text-transform:uppercase}.eyebrow.light{color:#9edcff}
.siteHeader{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(7,53,117,.08)}
.navWrap{height:76px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:34px}.brand{display:inline-flex}.brand img{width:116px;height:50px;object-fit:contain;mix-blend-mode:multiply}.desktopNav{display:flex;justify-content:flex-end;gap:clamp(18px,2.3vw,34px);font-size:.94rem;font-weight:700}.desktopNav a{position:relative;padding:26px 0 24px}.desktopNav a:hover,.desktopNav a.active{color:var(--blue)}.desktopNav a.active:after{content:"";position:absolute;left:0;right:0;bottom:15px;height:2px;background:var(--blue);border-radius:2px}
.mobileMenuButton{display:none;width:44px;height:44px;border:0;background:transparent;padding:8px;cursor:pointer;align-items:center;justify-content:center}.burger{width:24px;height:18px;display:grid;align-content:space-between}.burger span{height:2px;background:var(--navy);border-radius:2px;display:block;transition:.2s}.mobileMenuButton[aria-expanded="true"] .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}.mobileMenuButton[aria-expanded="true"] .burger span:nth-child(2){opacity:0}.mobileMenuButton[aria-expanded="true"] .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobilePanel{display:none;position:fixed;top:68px;left:0;right:0;background:white;border-bottom:1px solid var(--line);box-shadow:0 16px 30px rgba(7,53,117,.10);padding:10px 20px 22px;z-index:70}.mobilePanel.open{display:grid}.mobilePanel a{padding:13px 4px;border-bottom:1px solid #edf1f6;font-weight:750;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:8px;font-weight:800;border:1px solid transparent;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btnPrimary{background:var(--navy);color:white;box-shadow:0 8px 22px rgba(7,53,117,.16)}.btnPrimary:hover{background:var(--blue)}.btnSecondary{background:white;color:var(--navy);border-color:#b7c6da}.btnWhite{background:white;color:var(--navy)}
.hero{padding:58px 0 66px}.heroGrid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(38px,5vw,70px);align-items:center}.heroCopy>p{font-size:clamp(1.05rem,1.4vw,1.22rem);color:var(--muted);max-width:57ch;margin:22px 0 26px}.heroActions{display:flex;gap:12px;flex-wrap:wrap}.trustLine{margin-top:22px;color:var(--navy);font-size:.91rem;font-weight:800}.heroVisual{position:relative;min-height:455px;border-radius:26px 0 26px 26px;overflow:hidden;box-shadow:0 24px 55px rgba(7,53,117,.17)}.heroVisual:before{content:"";position:absolute;inset:0 auto 0 0;width:12px;background:linear-gradient(var(--cyan),var(--navy));z-index:2}.heroVisual img{width:100%;height:455px;object-fit:cover}
.section{padding:clamp(58px,7vw,86px) 0}.sectionSoft{background:var(--soft)}.sectionHead{margin-bottom:34px}.sectionHead h2{max-width:16ch}.sectionHead>p{max-width:700px;color:var(--muted);font-size:1.04rem;margin-top:14px}.sectionHead.center{text-align:center}.sectionHead.center h2,.sectionHead.center p{margin-left:auto;margin-right:auto}
.areaGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.areaCard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;min-height:230px;display:flex;flex-direction:column;box-shadow:0 4px 16px rgba(7,53,117,.035);transition:.2s}.areaCard:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#b8cadf}.areaCard h3{margin:18px 0 12px}.areaCard p{color:var(--muted)}.areaCard .more{margin-top:auto;padding-top:20px;color:var(--blue);font-weight:850}.status{align-self:flex-start;background:#e9f4ff;color:var(--blue);border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.status.muted{background:#eef1f5;color:#6f7884}
.valuesSection{background:linear-gradient(135deg,var(--navy),#0b4e98);color:#fff}.valuesSection h2{color:#fff}.valueGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.valueItem{display:flex;gap:14px}.valueItem h3{font-family:inherit;color:#fff;font-size:1.02rem;margin-bottom:5px}.valueItem p{color:#d7e5f4;font-size:.92rem}.check{flex:0 0 40px;width:40px;height:40px;border:1px solid #8eb8df;border-radius:50%;display:grid;place-items:center}
.targetGrid,.processGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.targetGrid article,.processGrid>div{padding-top:20px;border-top:1px solid #aab8c9}.targetGrid h3,.processGrid h3{margin-bottom:8px}.targetGrid p,.processGrid p{color:var(--muted)}.processGrid span{display:block;color:var(--blue);font-size:.78rem;font-weight:900;letter-spacing:.12em;margin-bottom:10px}
.compactBand{padding:42px 0;background:#fff}.compactGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}.compactGrid h2{font-size:clamp(1.9rem,3vw,2.7rem)}.compactGrid p{color:var(--muted);font-size:1.02rem}.inlineLink{display:inline-flex;margin-top:14px;color:var(--blue);font-weight:850}
.ctaSection{padding:62px 0;background:var(--navy);color:white}.ctaGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center}.ctaSection h2{color:white;max-width:15ch}.ctaSection p{margin-top:14px;color:#d7e5f4}.contactCard{justify-self:end;width:min(100%,390px);display:grid;gap:13px;padding:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px}.contactLink{font-size:1.22rem;font-weight:850}.contactCard span{color:#d8e6f5;font-size:.92rem}
footer{padding:34px 0;background:var(--navy-deep);color:#ccd9e8}.footerGrid{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:28px}.footerGrid strong{color:#fff}.footerGrid p{margin-top:7px;font-size:.9rem}.footerGrid a:hover{text-decoration:underline}.legalLinks{display:flex;gap:12px;flex-wrap:wrap;margin-top:7px}
.pageHero{padding:52px 0 54px;background:linear-gradient(180deg,#f8fbff 0,#fff 100%)}.pageHeroGrid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.pageHero h1{max-width:12ch;font-size:clamp(2.55rem,4.5vw,4.2rem)}.pageHero p{margin:20px 0 24px;color:var(--muted);font-size:1.08rem;max-width:62ch}.pageHeroAside{background:var(--navy);color:white;border-radius:18px;padding:30px}.pageHeroAside h3{color:white;font-family:inherit;font-size:1.15rem}.pageHeroAside p{color:#d7e5f4;margin:10px 0 0}.quickFacts{display:grid;gap:12px;margin-top:18px}.quickFacts div{display:flex;gap:10px;align-items:flex-start}.quickFacts b{color:#fff}.quickFacts span{color:#cfe0f2}
.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.serviceCard{border:1px solid var(--line);border-radius:12px;padding:24px;min-height:210px}.serviceCard h3{margin:18px 0 10px}.serviceCard p{color:var(--muted)}.number{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:850;font-size:.8rem}.twoCol{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.twoCol p{color:var(--muted)}.bulletList{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:11px}.bulletList li:before{content:"✓";color:var(--blue);font-weight:900;margin-right:10px}.infoBox{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:26px}.infoBox h3{margin-bottom:10px}.infoBox p+p{margin-top:10px}
.contactLayout{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px}.contactDetails{display:grid;gap:18px}.contactItem{padding:20px;border:1px solid var(--line);border-radius:12px}.contactItem strong{display:block;color:var(--navy);margin-bottom:4px}.contactFormMock{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:26px}.contactFormMock p{color:var(--muted)}
.legal{padding:54px 0 74px}.legal .container{max-width:900px}.legal h1{max-width:none;font-size:clamp(2.4rem,4vw,3.6rem);margin-bottom:28px}.legal h2{font-size:1.55rem;margin:30px 0 10px;max-width:none}.legal h3{font-size:1.12rem;margin:22px 0 8px}.legal p,.legal li{color:#435065}.legal ul{padding-left:20px}.legal .notice{background:#fff7e9;border:1px solid #ead2a1;border-radius:10px;padding:16px 18px;color:#6a5226;margin-bottom:24px}.legal a{color:var(--blue);text-decoration:underline}
@media(max-width:980px){.desktopNav{display:none}.navWrap{height:68px;grid-template-columns:44px 1fr 44px;gap:0}.brand{grid-column:2;justify-self:center}.brand img{width:104px;height:44px}.mobileMenuButton{display:flex;grid-column:3;justify-self:end}.heroGrid,.pageHeroGrid{grid-template-columns:1fr 1fr;gap:34px}.heroVisual,.heroVisual img{min-height:390px;height:390px}.areaGrid,.serviceGrid{grid-template-columns:repeat(2,1fr)}.valueGrid{grid-template-columns:repeat(2,1fr)}.footerGrid{grid-template-columns:1.2fr 1fr 1fr}}
@media(max-width:760px){.container{width:min(calc(100% - 28px),var(--max))}.hero{padding:36px 0 42px}.heroGrid,.pageHeroGrid,.ctaGrid,.compactGrid,.twoCol,.contactLayout{grid-template-columns:1fr}.heroCopy>p{margin:16px 0 20px}.heroVisual{margin-top:2px;min-height:285px;border-radius:18px}.heroVisual img{height:285px;min-height:285px}.heroActions{display:grid;grid-template-columns:1fr 1fr}.heroActions .btn{padding:0 14px}.trustLine{margin-top:17px;font-size:.84rem}.section{padding:50px 0}.sectionHead{margin-bottom:26px}.areaGrid,.targetGrid,.processGrid,.serviceGrid{grid-template-columns:1fr}.areaCard{min-height:195px;padding:22px}.valueGrid{grid-template-columns:1fr;gap:22px}.valueItem{padding-right:0}.compactBand{padding:36px 0}.ctaSection{padding:48px 0}.contactCard{justify-self:stretch;width:100%;padding:20px}.footerGrid{grid-template-columns:1fr;gap:22px}.pageHero{padding:38px 0 42px}.pageHeroAside{padding:22px}.legal{padding:40px 0 58px}.desktopOnly{display:none}}
@media(max-width:430px){h1{font-size:2.5rem}h2{font-size:2rem}.container{width:calc(100% - 24px)}.heroActions{grid-template-columns:1fr}.heroVisual,.heroVisual img{height:245px;min-height:245px}.section{padding:44px 0}.areaCard{padding:20px}.btn{min-height:46px}.pageHero h1{font-size:2.5rem}}


/* Release V3: navigation, layout robustness and contact conversion */
.desktopNav{gap:clamp(16px,2vw,30px)}
.mobilePanel a.active{color:var(--blue);font-weight:850}
.pageHeroGrid>*{min-width:0}
.pageHero h1{hyphens:auto;overflow-wrap:break-word}
.contactLayout{align-items:start}
.contactFormMock{align-self:start}
.contactActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.contactActions .btn{flex:1 1 220px}
a:focus-visible,button:focus-visible{outline:3px solid rgba(11,99,182,.32);outline-offset:3px;border-radius:6px}
@media(max-width:1120px) and (min-width:981px){
  .desktopNav{gap:16px;font-size:.9rem}
  .pageHeroGrid{grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);gap:36px}
  .pageHero h1{font-size:clamp(2.55rem,4.2vw,3.75rem)}
}
@media(max-width:760px){
  .contactActions{display:grid;grid-template-columns:1fr;gap:10px}
  .contactActions .btn{width:100%}
}


/* Release V4: refined contact actions */
.contactFormMock .bulletList{margin-bottom:0}
.contactActions{display:grid;grid-template-columns:1fr;gap:14px;margin-top:34px;max-width:390px}
.contactActions .btn{width:100%;flex:none;justify-content:flex-start;gap:12px;padding:0 20px;text-align:left}
.contactActionIcon{width:22px;height:22px;display:inline-grid;place-items:center;flex:0 0 22px}
.contactActionIcon svg{width:100%;height:100%;display:block}
.whatsappIcon{color:#20a85a}
.whatsappBtn:hover{border-color:#8bcfa8;background:#f7fcf9}
@media(max-width:430px){.contactActions{max-width:none;margin-top:30px}.contactActions .btn{padding:0 16px;font-size:.94rem}}

/* Release V4.1: robust stacked contact CTAs + inline SVG icons */
.contactFormMock .contactActions{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:16px !important;margin-top:32px !important;max-width:390px !important}
.contactFormMock .contactActions .contactActionBtn{display:flex !important;width:100% !important;justify-content:flex-start !important;align-items:center !important;gap:12px !important;flex:none !important}
.contactFormMock .contactActions svg{display:block !important;flex:none !important}
@media(max-width:760px){.contactFormMock .contactActions{max-width:none !important}}


/* Release V5: mobile hero polish, clean word wrapping and CTA fit */
.mobileCtaLabel{display:none}
.pageHero h1{hyphens:none !important;overflow-wrap:normal !important;word-break:normal !important;text-wrap:balance;max-width:14ch}
@media(max-width:760px){
  .heroVisual{height:285px !important;min-height:285px !important}
  .heroVisual img{height:285px !important;min-height:285px !important}
  .pageHero h1{font-size:clamp(2.25rem,9.5vw,3.05rem);line-height:1.03;max-width:100%}
  .heroActions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:10px}
  .heroActions .btn{min-width:0;padding:0 10px;font-size:clamp(.78rem,3.25vw,.95rem);white-space:nowrap}
  .desktopCtaLabel{display:none}
  .mobileCtaLabel{display:inline}
}
@media(max-width:430px){
  .heroActions{grid-template-columns:minmax(0,1fr) minmax(0,1.22fr)}
  .heroActions .btn{padding:0 8px;font-size:.82rem}
  .heroVisual,.heroVisual img{height:245px !important;min-height:245px !important}
  .pageHero h1{font-size:clamp(2.1rem,10.5vw,2.65rem)}
}


/* Release V6: repository hygiene; V5 responsive UX retained */

/* Release V7: unified consultation CTA */
.ctaOnlyCard{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:140px;
}
.ctaOnlyCard .btn{
  width:100%;
  max-width:340px;
  text-align:center;
}
@media (max-width: 760px){
  .ctaOnlyCard{
    min-height:auto;
    padding:22px;
  }
  .ctaOnlyCard .btn{
    max-width:none;
  }
}

/* Release V9: homepage competence section */
.headlineLine { display: block; }
@media (min-width: 761px) {
  .headlineLine { white-space: nowrap; }
}
