@font-face{font-family:Manrope;src:url('./assets/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
:root{--forest:#123f38;--paper:#f4f4ea;--citron:#dde65a;--sage:#b5c7bb;--line:#82978c;--font:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:var(--forest);font:400 18px/28px var(--font)}h1,h2,h3,p,figure{margin:0}h1{font-size:56px;line-height:64px;font-weight:500;letter-spacing:-2px}h1 strong{font-weight:600}h2{font-size:36px;line-height:44px;font-weight:500;letter-spacing:-1px}h3{font-size:22px;line-height:30px;font-weight:500;letter-spacing:-.4px}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}a,button,summary{touch-action:manipulation}a{overflow-wrap:anywhere}img{display:block;max-width:100%;height:auto}button,summary{cursor:pointer}::selection{background:var(--citron);color:var(--forest)}:focus-visible{outline:3px solid var(--forest);outline-offset:4px;box-shadow:0 0 0 4px var(--paper)}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 64px));margin-inline:auto}.eyebrow,.schema-label{font-size:14px;line-height:20px;font-weight:600}.small{font-size:14px;line-height:22px}.skip{position:fixed;top:8px;left:16px;z-index:20;padding:12px 24px;background:var(--citron);transform:translateY(-150%)}.skip:focus{transform:none}.header{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:24px}.brand{flex-shrink:0}.brand img,.footer img{width:230px;height:auto}nav{display:flex;align-items:center;gap:40px}nav a{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:20px;font-weight:600;text-decoration:none}nav a:hover{text-decoration:underline}.nav-contact{gap:40px;padding:12px 20px;border:1px solid var(--forest)}.menu-toggle{display:none;border:1px solid var(--forest);background:transparent;color:var(--forest);min-height:44px;padding:8px 16px;font-size:14px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:80px;padding-block:48px}.hero-copy h1{margin-top:20px}.intro{max-width:540px;margin-block:24px}.hero-actions{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 24px;min-height:56px;border:1px solid var(--citron);background:var(--citron);color:var(--forest);font:600 14px/20px var(--font);text-decoration:none}.button:hover{background:var(--forest);color:var(--paper);border-color:var(--forest)}.button span{font-size:24px;line-height:24px}.text-link{display:inline-flex;align-items:center;min-height:44px;gap:16px;font-size:14px;line-height:20px;font-weight:600}.sectors{font-size:14px;line-height:20px;margin-top:16px}.hero-connection{position:relative;align-self:center;isolation:isolate}.connection-top,.connection-bottom{position:relative;padding:32px 40px}.connection-top{color:var(--paper);padding-bottom:56px}.connection-top::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--forest);clip-path:polygon(0 0,100% 0,100% calc(100% - 64px),calc(100% - 64px) 100%,0 100%)}.connection-bottom{margin-top:12px;padding-top:28px;padding-bottom:32px}.connection-bottom::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--citron);clip-path:polygon(0 0,calc(100% - 60px) 0,100% 60px,100% 100%,0 100%)}.hero-connection h2{font-size:32px;line-height:40px;margin-top:12px}.hero-connection p{font-size:16px;line-height:24px;margin-top:16px}.join-label{font-size:14px;line-height:20px;font-weight:600}.expertise{padding:32px 0 40px;border-top:1px solid var(--forest);display:grid;grid-template-columns:1fr 1.3fr;gap:24px 64px}.expertise-title h2{font-size:28px;line-height:36px;letter-spacing:-.7px;margin-top:12px}.competence-pair{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-self:center}.competence-pair h3{font-size:18px;line-height:26px;font-weight:600}.competence-pair p{font-size:16px;line-height:24px;margin-top:8px}.connection-mark{position:absolute;left:calc(50% - 16px);top:0;font-size:28px;line-height:32px}.continuity{grid-column:1/-1;font-size:16px;line-height:24px}.case-section{background:var(--forest);color:var(--paper)}.case-grid{padding-block:64px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.case-copy>.eyebrow{color:var(--citron)}.case-copy h2{margin-top:16px}.attribution{font-size:14px;line-height:22px;margin-top:20px;max-width:440px}.case-story{margin:28px 0 0}.case-story>div{display:grid;grid-template-columns:112px 1fr;gap:20px;padding-block:16px;border-top:1px solid var(--sage)}.case-story dt{font-size:14px;line-height:24px;font-weight:600;color:var(--citron)}.case-story dd{margin:0;font-size:16px;line-height:24px}.project-schema{position:relative;isolation:isolate;padding:24px 32px 32px;background:var(--paper);color:var(--forest)}.project-schema figcaption{margin-bottom:24px}.schema-input{position:relative;padding:24px 24px 40px;isolation:isolate}.schema-input::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--sage);clip-path:polygon(0 0,100% 0,100% calc(100% - 40px),calc(100% - 40px) 100%,0 100%)}.schema-input ul{list-style:none;display:flex;gap:12px 20px;flex-wrap:wrap;padding:0;margin:12px 0;font-size:20px;line-height:28px;font-weight:500}.schema-input>p:last-child{font-size:14px;line-height:22px}.schema-channel{display:flex;gap:16px;align-items:center;justify-content:center;padding-block:12px;font-size:14px;line-height:20px;font-weight:600}.schema-channel>span:first-child{font-size:24px}.schema-platform{position:relative;isolation:isolate;padding:28px 24px 24px}.schema-platform::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--citron);clip-path:polygon(0 0,calc(100% - 40px) 0,100% 40px,100% 100%,0 100%)}.schema-platform h3{font-size:26px;line-height:34px;margin-top:12px}.schema-platform>p:not(.schema-label){font-size:16px;line-height:24px;margin-top:16px}.schema-network{display:flex;gap:16px;margin-top:24px;border-top:1px solid var(--forest);padding-top:16px}.schema-network span{font-size:14px;line-height:20px;font-weight:600;flex:1}.schema-result{font-size:16px;line-height:24px;font-weight:600;margin-top:24px}.approach{padding-block:64px}.approach-heading{display:grid;grid-template-columns:1fr 1.3fr;gap:16px 64px}.approach-heading>.eyebrow{grid-column:1/-1}.approach-heading>p:last-child{max-width:560px}.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0;margin:32px 0}.phase{padding-top:20px;border-top:1px solid var(--forest);position:relative}.phase:not(:last-child)::after{content:'→';position:absolute;right:-28px;top:17px;font-size:20px}.phase p{font-size:16px;line-height:24px;margin-top:12px}.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:24px 0;border-top:1px solid var(--line);font-size:16px;line-height:24px}.tools strong{font-weight:600;display:block}.data-principle{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:16px;background:var(--sage);padding:24px 32px}.data-principle>p{font-size:18px;line-height:28px}.data-principle strong{font-weight:600}summary{font-size:14px;line-height:22px;font-weight:600;cursor:pointer;min-height:44px;padding-block:12px}details p{font-size:14px;line-height:22px;margin-top:8px}.contact-section{background:var(--paper);position:relative;border-top:1px solid var(--forest)}.contact-section::before{content:'';position:absolute;top:0;left:0;width:64px;height:64px;background:var(--citron);clip-path:polygon(0 0,100% 0,0 100%)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:64px}.contact h2{margin-block:16px 24px}.contact-copy>p:not(.eyebrow){max-width:430px}.contact-email{display:block;font-size:28px;line-height:36px;letter-spacing:-.7px;margin-top:32px}.contact-note{margin-top:24px}.form-heading{font-size:22px;line-height:30px;font-weight:500;margin-bottom:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label{display:block;font-size:14px;line-height:20px;font-weight:600;margin-top:16px}input,textarea{display:block;background:transparent;color:var(--forest);width:100%;min-width:0;border:1px solid var(--forest);border-radius:0;padding:10px 12px;margin-top:8px;line-height:24px;font-size:16px;font-weight:400}textarea{resize:vertical}textarea::placeholder{color:var(--forest);opacity:1}form .button{margin-top:20px}#contact-status:empty{display:none}#contact-status{margin-top:20px}#email-fallback{margin-top:12px}#email-copy{font-size:14px}.footer{background:var(--forest);color:var(--paper);padding-block:32px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:24px;border-bottom:1px solid var(--sage)}.footer-top>p{font-size:20px;line-height:28px}.footer-top strong{font-weight:600}.back-top{font-size:14px;min-height:44px;display:flex;align-items:center}.footer-bottom{display:flex;justify-content:space-between;gap:32px;padding-top:24px;font-size:14px;line-height:24px}.preview-label{font-size:12px;line-height:20px}
@media(max-width:1100px){.hero{gap:40px}.hero-actions{gap:4px 24px}.connection-top,.connection-bottom{padding-inline:28px}.expertise,.approach-heading{gap:24px 40px}.competence-pair{gap:32px}.case-grid,.contact{gap:40px}.case-story>div{grid-template-columns:1fr;gap:8px}.phases,.tools{gap:24px}.phase:not(:last-child)::after{right:-21px}.phase h3{font-size:20px;line-height:28px}}
@media(max-width:800px){.header-inner{min-height:80px;flex-wrap:wrap;gap:0}.brand img{width:204.26px}.js .menu-toggle{display:block}.header nav{width:100%;padding:12px 0 20px;gap:8px;flex-direction:column;align-items:stretch}.header nav a{padding:12px 16px}.js .header nav:not(.is-open){display:none}.nav-contact{justify-content:space-between}.hero{gap:32px;padding-block:32px}.hero h1{font-size:44px;line-height:52px;letter-spacing:-1.4px}.hero-connection h2{font-size:26px;line-height:34px}.connection-top,.connection-bottom{padding-inline:24px}.expertise{grid-template-columns:1fr;gap:24px;padding-bottom:32px}.competence-pair{gap:56px}.continuity{grid-column:1}.case-grid{gap:32px}.case-copy h2{font-size:28px;line-height:36px}.project-schema{padding:20px}.schema-input,.schema-platform{padding-inline:20px}.schema-input ul{font-size:18px;line-height:26px}.schema-platform h3{font-size:24px;line-height:32px}.case-grid,.approach,.contact{padding-block:48px}.approach-heading{grid-template-columns:1fr;gap:16px}.phases{gap:20px}.phase h3{font-size:18px;line-height:26px}.phase:not(:last-child)::after{display:none}.tools{gap:20px}.data-principle{padding:24px;gap:24px}.contact{gap:32px}.contact-email{font-size:24px;line-height:32px}.form-row{grid-template-columns:1fr;gap:0}.footer-bottom{flex-wrap:wrap}.footer-top{gap:24px}}
@media(max-width:600px){body{font-size:17px;line-height:27px}.container{width:calc(100% - 40px)}html{scroll-padding-top:96px}h1,.hero h1{font-size:36px;line-height:44px;letter-spacing:-1.2px}h2{font-size:28px;line-height:36px;letter-spacing:-.7px}h3{font-size:22px;line-height:30px}.hero{grid-template-columns:1fr;gap:24px;padding-block:24px 28px}.hero-copy h1{margin-top:16px}.intro{margin-block:20px}.hero-actions{display:grid;gap:8px}.hero-actions>.button{justify-content:space-between}.hero-actions>.text-link{width:fit-content}.sectors{margin-top:12px}.hero-connection{display:grid;grid-template-columns:1fr 1fr;gap:8px}.connection-top,.connection-bottom{padding:20px 16px 28px;margin:0}.hero-connection .eyebrow,.hero-connection p{display:none}.hero-connection h2{font-size:20px;line-height:28px;letter-spacing:-.4px;margin-top:0}.connection-bottom h2{margin-top:0}.join-label{display:block;font-size:12px;line-height:18px;margin-bottom:8px}.connection-top{display:flex;align-items:center}.connection-top::before{clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%)}.connection-bottom::before{clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%)}.expertise{padding-top:28px;gap:20px;padding-bottom:32px}.expertise-title h2{font-size:26px;line-height:34px}.competence-pair{gap:16px;grid-template-columns:1fr}.competence-pair article{padding-left:16px;border-left:2px solid var(--forest)}.competence-pair h3{font-size:18px;line-height:26px}.competence-pair p{margin-top:4px}.connection-mark{display:none}.continuity{font-size:16px;line-height:24px;border-top:1px solid var(--line);padding-top:16px}.case-grid{grid-template-columns:1fr;gap:32px;padding-block:40px}.case-copy h2{margin-top:12px}.attribution{margin-top:16px}.case-story{margin-top:24px}.case-story>div{grid-template-columns:88px 1fr;gap:16px;padding-block:12px}.case-story dd{font-size:17px;line-height:27px}.project-schema{padding:24px}.project-schema figcaption{margin-bottom:20px}.schema-input ul{gap:8px 16px}.schema-input{padding:20px 20px 32px}.schema-platform{padding:24px 20px 20px}.schema-result{margin-top:20px}.approach,.contact{padding-block:40px}.approach-heading h2 br{display:none}.phases{display:block;margin-block:24px}.phase{padding:16px 0;display:grid;grid-template-columns:1fr;gap:8px}.phase h3{font-size:22px;line-height:30px}.phase p{margin:0;font-size:17px;line-height:27px}.tools{grid-template-columns:1fr;gap:16px;padding-block:20px;font-size:17px;line-height:27px}.tools strong{display:inline}.data-principle{grid-template-columns:1fr;padding:24px;gap:8px;margin-top:12px}.contact{grid-template-columns:1fr;gap:32px}.contact-section::before{width:24px;height:24px}.contact h2{margin-block:12px 20px}.contact-email{margin-top:24px}.contact-note{margin-top:16px}.form-row{grid-template-columns:1fr 1fr;gap:16px}.footer-top{display:grid;grid-template-columns:1fr;gap:20px}.footer-bottom{display:grid;gap:16px}.footer-top>p{font-size:18px;line-height:26px}}
@media(max-width:360px){.menu-toggle{padding:8px 10px}.header-inner{column-gap:8px}.hero-connection h2{font-size:18px;line-height:26px}.connection-top,.connection-bottom{padding-inline:12px}.join-label{font-size:11px}.case-story>div{grid-template-columns:1fr;gap:4px}.project-schema{padding:20px}.schema-input,.schema-platform{padding-inline:16px}.schema-input ul{font-size:18px;gap:8px 12px}.schema-platform h3{font-size:22px;line-height:30px}.form-row{grid-template-columns:1fr;gap:0}.contact-email{font-size:22px}.data-principle{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Refinements after browser review: compact connection, unchanged type scale. */
@media(min-width:801px){.connection-top{padding-top:24px;padding-bottom:40px}.connection-bottom{padding-top:20px;padding-bottom:24px}.hero-connection h2{margin-top:8px}.hero-connection p{margin-top:12px}}
.ai-note{font-size:16px;line-height:24px;max-width:920px;margin:0 0 24px}
@media(max-width:600px){.hero{gap:16px}.connection-top,.connection-bottom{padding-top:20px;padding-bottom:20px}.join-label{display:none}.ai-note{font-size:17px;line-height:27px}}
/* The project is seen before its detailed account on a phone. */
.case-grid{grid-template-areas:'heading schema' 'story schema';column-gap:80px;row-gap:24px}
.case-copy{grid-area:heading}.case-story{grid-area:story;margin:0}.project-schema{grid-area:schema}
@media(max-width:1100px){.case-grid{column-gap:40px}}
@media(max-width:800px){.case-grid{column-gap:32px}}
@media(max-width:600px){.case-grid{grid-template-areas:'heading' 'schema' 'story';row-gap:24px}}
@media(max-width:360px){.menu-toggle{font-size:0;width:44px;padding:0}.menu-toggle span{font-size:22px;line-height:24px}}
/* Competences: title, complementary areas, then the shared commitment. */
.expertise {
  display: block;
  padding-block: 40px;
}
.expertise-title {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 32px;
  align-items: start;
  margin-bottom: 28px;
}
.expertise-title .eyebrow { padding-top: 8px; }
.expertise-title h2 {
  margin: 0;
  font-size: 32px;
  line-height: 40px;
}
.competence-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: stretch;
}
.competence-pair article {
  padding: 24px 32px;
  border: 1px solid var(--forest);
  background: var(--paper);
}
.competence-pair article:first-child { background: var(--sage); }
.competence-pair h3 { font-size: 22px; line-height: 30px; }
.competence-pair p { margin-top: 12px; max-width: 460px; font-size: 18px; line-height: 28px; }
.connection-mark {
  display: flex;
  position: absolute;
  top: calc(50% - 22px);
  left: calc(50% - 22px);
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--forest);
  background: var(--citron);
  color: var(--forest);
  font-size: 24px;
  line-height: 32px;
}
.continuity {
  margin-top: 16px;
  padding: 24px 32px;
  border: 0;
  border-left: 8px solid var(--citron);
  background: var(--forest);
  color: var(--paper);
  font-size: 26px;
  line-height: 36px;
  font-weight: 600;
  letter-spacing: -.4px;
}
@media (max-width: 800px) {
  .expertise-title { grid-template-columns: 1fr; gap: 12px; }
  .expertise-title .eyebrow { padding-top: 0; }
  .expertise-title h2 { font-size: 28px; line-height: 36px; }
  .competence-pair article { padding: 24px; }
  .competence-pair h3 { font-size: 20px; line-height: 28px; }
  .competence-pair p { font-size: 17px; line-height: 27px; }
  .continuity { font-size: 24px; line-height: 34px; padding: 24px; }
}
@media (max-width: 600px) {
  .expertise { padding-block: 28px 32px; }
  .expertise-title { margin-bottom: 20px; }
  .expertise-title h2 { font-size: 26px; line-height: 34px; }
  .competence-pair { grid-template-columns: 1fr; gap: 12px; }
  .competence-pair article { padding: 20px 24px; border-left-width: 1px; }
  .competence-pair article:first-child { padding-bottom: 28px; }
  .competence-pair article:last-child { padding-top: 28px; }
  .competence-pair p { margin-top: 8px; }
  .connection-mark { top: auto; bottom: auto; left: auto; right: 16px; width: 36px; height: 36px; transform: translateY(-50%); }
  .competence-pair { position: relative; }
  .connection-mark { display: none; }
  .continuity { padding: 20px 24px; border-left-width: 6px; font-size: 22px; line-height: 32px; margin-top: 12px; }
}
/* Data principle remains prominent without the removed technical disclosure. */
.data-principle {
  display: block;
  padding: 28px 32px;
  border-left: 8px solid var(--forest);
}
.data-principle > p {
  max-width: 960px;
  font-size: 24px;
  line-height: 34px;
  font-weight: 400;
  letter-spacing: -.3px;
}
.data-principle strong { font-weight: 700; }
@media (max-width: 600px) {
  .data-principle { padding: 24px; border-left-width: 6px; }
  .data-principle > p { font-size: 22px; line-height: 32px; }
}
/* A clear editorial label distinguishes the completed project case study. */
.case-copy > .eyebrow {
  display: inline-block;
  padding: 10px 20px;
  background: var(--citron);
  color: var(--forest);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  letter-spacing: .1px;
}
.case-copy h2 { margin-top: 20px; }
@media (max-width: 600px) {
  .case-copy > .eyebrow { padding: 8px 16px; }
  .case-copy h2 { margin-top: 16px; }
}
/* Direct contact options replace the draft form. */
.contact { align-items: start; }
.contact-methods { display: grid; gap: 12px; }
.contact-method {
  position: relative;
  display: block;
  padding: 20px 64px 24px 24px;
  border: 1px solid var(--forest);
  background: var(--paper);
  color: var(--forest);
  text-decoration: none;
}
.contact-method-label { display: block; font-size: 14px; line-height: 20px; font-weight: 600; }
.contact-method-value { display: block; margin-top: 8px; font-size: 26px; line-height: 36px; font-weight: 500; letter-spacing: -.5px; }
.contact-method-arrow { position: absolute; right: 24px; top: calc(50% - 16px); font-size: 28px; line-height: 32px; }
.contact-whatsapp { background: var(--citron); }
.contact-method:hover { background: var(--forest); color: var(--paper); }
.contact-method:hover .contact-method-value { text-decoration: underline; text-underline-offset: 5px; }
@media(max-width:800px){.contact-method{padding-right:48px}.contact-method-arrow{right:16px}.contact-method-value{font-size:22px;line-height:30px}}
@media(max-width:600px){.contact-method{padding:20px 48px 20px 20px}.contact-method-value{font-size:22px;line-height:32px}}
@media(max-width:360px){.contact-method{padding-inline:16px 40px}.contact-method-arrow{right:12px}.contact-method-value{font-size:19px;line-height:28px}}
/* Match the data banner to the project continuity banner. */
.data-principle {
  padding: 24px 32px;
  border-left: 8px solid var(--citron);
  background: var(--forest);
  color: var(--paper);
}
.data-principle > p {
  max-width: none;
  font-size: 26px;
  line-height: 36px;
  letter-spacing: -.4px;
}
@media (max-width: 800px) {
  .data-principle { padding: 24px; }
  .data-principle > p { font-size: 24px; line-height: 34px; }
}
@media (max-width: 600px) {
  .data-principle { padding: 20px 24px; border-left-width: 6px; }
  .data-principle > p { font-size: 22px; line-height: 32px; }
}
/* Language choice is part of the main navigation, with a clear current state. */
.language-switch {
  display: flex;
  align-items: center;
  border: 1px solid var(--forest);
  gap: 0;
  flex-shrink: 0;
}
.header .language-switch a {
  min-width: 44px;
  min-height: 44px;
  padding: 10px 12px;
  justify-content: center;
}
.language-switch a + a { border-left: 1px solid var(--forest); }
.language-switch a[aria-current="page"] { background: var(--forest); color: var(--paper); }
.language-switch a:hover { text-decoration: underline; }
@media(min-width:801px) and (max-width:1100px){.header nav{gap:24px}.header .nav-contact{gap:24px}}
@media(max-width:800px){.language-switch{align-self:flex-start;margin:8px 16px 0}}
