:root{--ink:#061b2c;--ink-soft:#0d2a40;--gold:#c89c53;--gold-light:#e3c88f;--paper:#f3f0e9;--white:#fff;--text:#132635;--muted:#63717b;--line:rgba(6,27,44,.18);--pad:clamp(1.25rem,5.5vw,6rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--gold-light);padding:.7rem 1rem}.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;height:92px;padding:0 var(--pad);background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.logo{display:inline-flex;flex-direction:column;width:max-content;color:var(--ink);line-height:1}.logo-main{font:400 1.85rem Georgia,serif;letter-spacing:.03em}.logo-main span{margin-right:.17em;color:var(--gold);letter-spacing:-.2em}.logo-sub{margin-top:.34rem;color:var(--ink);font-size:.62rem;letter-spacing:.55em;text-align:center}.site-header nav{display:flex;gap:clamp(1.35rem,2.8vw,3rem);font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.site-header nav a{position:relative}.site-header nav a:after{position:absolute;right:0;bottom:-.5rem;left:0;height:1px;background:var(--gold);content:"";transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:1.15rem}.lang-switch{border:0;background:transparent;font-size:.72rem;font-weight:800;cursor:pointer}.header-cta{display:inline-flex;gap:.8rem;align-items:center;padding:.72rem 1.05rem;background:var(--ink);color:var(--white);font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.header-cta b{color:var(--gold-light);font-size:.85rem}
.hero{position:relative;display:grid;grid-template-columns:53% 47%;min-height:calc(100vh - 92px);background:var(--ink);color:var(--white)}.hero-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,8.5rem) var(--pad)}.eyebrow{margin:0 0 1.5rem;color:var(--gold);font-size:.69rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase}.hero h1,.manifesto h2,.services h2,.approach h2,.morocco-copy h2,.contact h2{margin:0;font:400 clamp(3.4rem,6.7vw,7.7rem)/.94 Georgia,'Times New Roman',serif;letter-spacing:-.055em}.hero h1 em{color:var(--gold-light);font-weight:400}.hero-bottom{display:grid;grid-template-columns:minmax(230px,480px) auto;gap:2rem;align-items:end;margin-top:clamp(3rem,7vw,7rem)}.hero-bottom p{margin:0;color:rgba(255,255,255,.67);font-size:1.03rem}.round-link{display:grid;width:58px;height:58px;border:1px solid rgba(255,255,255,.35);border-radius:50%;place-items:center;transition:.25s}.round-link:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);transform:translateY(3px)}.hero-visual{position:relative;margin:0;overflow:hidden}.hero-visual:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,27,44,.28),transparent 38%),linear-gradient(0deg,rgba(6,27,44,.62),transparent 38%);content:""}.hero-visual img{height:100%;object-fit:cover;object-position:center}.hero-visual figcaption{position:absolute;right:2rem;bottom:1.6rem;left:2rem;z-index:2;display:flex;justify-content:space-between;color:rgba(255,255,255,.85);font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero-visual figcaption b{color:var(--gold-light)}.hero-note{position:absolute;right:calc(47% - 92px);bottom:0;z-index:3;width:185px;padding:1.3rem 1.5rem;background:var(--gold-light);color:var(--ink)}.hero-note span{font-size:.65rem;font-weight:800}.hero-note p{margin:.75rem 0 0;font:400 1rem/1.3 Georgia,serif}
.section{padding:clamp(5.5rem,10vw,10rem) var(--pad)}.section-index{display:flex;gap:1.2rem;align-items:center;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.section-index span{color:var(--gold)}.section-index p{margin:0}.section-index:after{width:70px;height:1px;background:var(--line);content:""}.manifesto{display:grid;grid-template-columns:130px 1.25fr .58fr;gap:clamp(2rem,5vw,6rem);background:var(--paper)}.manifesto h2{font-size:clamp(2.7rem,5vw,5.7rem);line-height:1.02}.manifesto-side{align-self:end;padding-bottom:.6rem}.manifesto-side>p{margin:0;color:var(--muted)}.text-link{display:flex;justify-content:space-between;margin-top:2.4rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.text-link b{color:var(--gold);font-size:1rem}
.services{display:grid;grid-template-columns:130px .8fr 1.2fr;gap:clamp(2rem,5vw,6rem);background:var(--ink);color:var(--white)}.section-index.light{color:rgba(255,255,255,.5)}.section-index.light:after{background:rgba(255,255,255,.2)}.services-heading h2{font-size:clamp(3rem,5.5vw,6.6rem)}.service-list{border-top:1px solid rgba(255,255,255,.2)}.service-row{display:grid;grid-template-columns:46px minmax(180px,.8fr) 1fr;gap:1.5rem;align-items:start;padding:1.65rem 0;border-bottom:1px solid rgba(255,255,255,.2)}.service-row>span{color:var(--gold-light);font-size:.65rem}.service-row h3{margin:0;font:400 1.45rem/1.2 Georgia,serif}.service-row p{margin:0;color:rgba(255,255,255,.58);font-size:.88rem}
.work-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:410px 410px;gap:2px;padding:2px;background:var(--ink)}.work-gallery figure{position:relative;margin:0;overflow:hidden}.gallery-main{grid-row:1/3}.gallery-tall{grid-column:2}.gallery-small{grid-column:2}.work-gallery img{height:100%;object-fit:cover;transition:transform .65s}.work-gallery figure:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,27,44,.75),transparent 50%);content:""}.work-gallery figure:hover img{transform:scale(1.025)}.work-gallery figcaption{position:absolute;right:1.7rem;bottom:1.5rem;left:1.7rem;z-index:2;display:flex;justify-content:space-between;color:var(--white);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.work-gallery figcaption b{color:var(--gold-light)}
.portfolio{background:var(--paper)}.portfolio-head{display:grid;grid-template-columns:130px 1fr;gap:clamp(2rem,5vw,6rem);align-items:start}.portfolio h2{margin:0;font:400 clamp(3rem,5.5vw,6.6rem)/.96 Georgia,'Times New Roman',serif;letter-spacing:-.055em}.gallery-filters{display:flex;flex-wrap:wrap;gap:.65rem;margin:3.5rem 0 2rem;padding-left:calc(130px + clamp(2rem,5vw,6rem))}.gallery-filters button{padding:.72rem 1rem;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.2s}.gallery-filters button:hover,.gallery-filters button:focus-visible,.gallery-filters button.active{background:var(--ink);border-color:var(--ink);color:var(--white)}.portfolio-grid{display:grid;grid-auto-rows:330px;grid-template-columns:repeat(3,1fr);gap:2px}.portfolio-item{position:relative;display:block;min-width:0;padding:0;overflow:hidden;border:0;background:var(--ink);cursor:zoom-in;text-align:left}.portfolio-item.wide{grid-column:span 2}.portfolio-item.tall{grid-row:span 2}.portfolio-item[hidden]{display:none}.portfolio-item img{height:100%;object-fit:cover;transition:transform .65s,filter .3s}.portfolio-item:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,27,44,.78),transparent 48%);content:""}.portfolio-item:hover img,.portfolio-item:focus-visible img{transform:scale(1.035);filter:saturate(1.07)}.portfolio-item>span{position:absolute;right:1.25rem;bottom:1.15rem;left:1.25rem;z-index:2;display:flex;justify-content:space-between;align-items:end;color:var(--white);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.portfolio-item>span b{color:var(--gold-light);font-size:.75rem}.portfolio-item>span em{font-style:normal}.gallery-dialog{width:min(1100px,94vw);max-height:92vh;padding:0;border:0;background:#03131f;color:var(--white);box-shadow:0 30px 100px rgba(0,0,0,.55)}.gallery-dialog::backdrop{background:rgba(3,19,31,.88);backdrop-filter:blur(8px)}.gallery-dialog img{width:100%;max-height:82vh;object-fit:contain}.gallery-dialog p{margin:0;padding:1rem 1.3rem;color:rgba(255,255,255,.75);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.dialog-close{position:absolute;top:.8rem;right:.8rem;z-index:2;display:grid;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(3,19,31,.72);color:var(--white);font-size:1.5rem;line-height:1;cursor:pointer;place-items:center}
.approach{display:grid;grid-template-columns:130px .9fr 1.1fr;gap:clamp(2rem,5vw,6rem);background:var(--white)}.approach h2{font-size:clamp(2.9rem,5vw,5.8rem);line-height:1}.steps{margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.steps li{display:grid;grid-template-columns:45px 1fr;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line)}.steps li>span{color:var(--gold);font-size:.65rem;font-weight:800}.steps h3{margin:0;font:400 1.5rem Georgia,serif}.steps p{margin:.35rem 0 0;color:var(--muted);font-size:.88rem}
.morocco-panel{position:relative;min-height:680px;overflow:hidden;background:var(--ink);color:var(--white)}.morocco-panel>img{position:absolute;inset:0;height:100%;object-fit:cover}.morocco-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,27,44,.97),rgba(6,27,44,.53) 72%,rgba(6,27,44,.15))}.morocco-copy{position:relative;z-index:2;max-width:940px;padding:clamp(7rem,13vw,12rem) var(--pad)}.morocco-copy h2{font-size:clamp(3rem,6vw,6.8rem)}.morocco-copy>p:last-child{max-width:590px;margin:2rem 0 0;color:rgba(255,255,255,.68)}
.contact{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(3rem,7vw,8rem);background:var(--paper)}.contact .section-index{margin-bottom:clamp(3rem,7vw,7rem)}.contact h2{font-size:clamp(3rem,5.4vw,6rem);line-height:.98}.contact-text{max-width:540px;margin:2rem 0;color:var(--muted)}.contact-links{margin-top:2.5rem;border-top:1px solid var(--line)}.contact-links a{display:block;padding:1rem 0;border-bottom:1px solid var(--line)}.contact-links small,.contact-links b{display:block}.contact-links small{color:var(--muted);font-size:.65rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.contact-links b{margin-top:.2rem;font-size:.92rem;overflow-wrap:anywhere}.whatsapp-button{display:flex;justify-content:space-between;max-width:430px;margin-top:2rem;padding:1rem 1.2rem;background:var(--ink);color:var(--white);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.whatsapp-button b{color:var(--gold-light)}.form-panel{min-height:730px;padding:2rem;background:var(--white);box-shadow:0 24px 80px rgba(6,27,44,.12)}.form-heading{padding:.3rem .3rem 1.6rem}.form-heading>span{color:var(--gold);font-size:.65rem;font-weight:800;letter-spacing:.15em}.form-heading h3{margin:.4rem 0 0;font:400 2.2rem Georgia,serif}.form-panel iframe{width:100%;min-height:610px;border:0;background:var(--white)}
footer{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:2rem;align-items:center;padding:2.5rem var(--pad);background:#03131f;color:rgba(255,255,255,.55);font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.footer-logo{color:var(--white)}.footer-logo .logo-sub{color:var(--gold-light)}footer p{margin:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-content{min-height:650px}.hero-visual{min-height:630px}.hero-note{right:0}.manifesto,.services,.approach{grid-template-columns:100px 1fr}.manifesto-side,.service-list,.steps{grid-column:2}.work-gallery{grid-template-rows:350px 350px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr}footer{grid-template-columns:1.2fr 1fr 1fr}footer p:last-child{display:none}}
@media(max-width:680px){.site-header{height:76px;padding:0 1rem}.logo-main{font-size:1.55rem}.header-cta{display:none}.hero{min-height:auto}.hero-content{min-height:570px;padding:4rem 1.2rem}.hero h1{font-size:clamp(3.3rem,15vw,5.2rem)}.hero-bottom{grid-template-columns:1fr;margin-top:3.3rem}.round-link{display:none}.hero-visual{min-height:510px}.hero-note{width:160px}.section{padding:5rem 1.2rem}.manifesto,.services,.approach{grid-template-columns:1fr;gap:2.5rem}.manifesto .section-index,.services .section-index,.approach .section-index{grid-column:1}.manifesto-side,.service-list,.steps{grid-column:1}.manifesto h2,.services h2,.approach h2{font-size:clamp(2.7rem,12vw,4.2rem)}.service-row{grid-template-columns:34px 1fr}.service-row p{grid-column:2}.work-gallery{display:block;padding:0}.work-gallery figure{min-height:480px;border-bottom:2px solid var(--ink)}.work-gallery .gallery-small{min-height:410px}.portfolio-head{grid-template-columns:1fr}.gallery-filters{margin:2rem 0 1.3rem;padding-left:0}.portfolio-grid{display:block}.portfolio-item,.portfolio-item.wide,.portfolio-item.tall{width:100%;height:380px;margin-bottom:2px}.morocco-panel{min-height:610px}.morocco-copy{padding:7rem 1.2rem}.contact{padding-top:5rem}.form-panel{min-height:680px;padding:.8rem}.form-panel iframe{min-height:600px}footer{grid-template-columns:1fr;padding:2.4rem 1.2rem}footer p:nth-of-type(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.reveal{opacity:1;transform:none}}
.hero h1{font-size:clamp(2.65rem,3.55vw,3.5rem)}
#hero-title>[data-i18n="heroLine1"]{white-space:nowrap}
@media(max-width:680px){.hero h1{font-size:clamp(1.6rem,8vw,3.5rem)}}

.clients{display:grid;grid-template-columns:130px minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,5vw,6rem);align-items:center;background:var(--paper);scroll-margin-top:110px}.clients .section-index{font-size:.875rem}.clients h2{margin:0;font:400 clamp(2.7rem,4.5vw,5.3rem)/1.05 Georgia,serif;letter-spacing:-.04em}.client-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--gold);border-bottom:1px solid var(--line)}.client-list li{padding:2rem 1rem;text-align:center}.client-name{font:400 clamp(2.5rem,4vw,4.5rem)/1.2 Georgia,serif;letter-spacing:.12em;color:var(--ink)}@media(min-width:1051px) and (max-width:1400px){.site-header{gap:1rem}.site-header nav{gap:1.1rem}.header-cta{max-width:170px;white-space:normal}}@media(max-width:1050px){.clients{grid-template-columns:100px 1fr}.client-list{grid-column:2}}@media(max-width:680px){.clients{grid-template-columns:1fr;gap:2rem;scroll-margin-top:90px}.client-list{grid-column:1}.client-list li{padding:2rem 1rem}}

.clients{grid-template-columns:130px minmax(0,1fr);align-items:start}.client-list{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:0;gap:0 2rem}.client-list li{display:grid;min-height:130px;align-items:center;padding:1.8rem .5rem;border-top:1px solid var(--gold);border-bottom:1px solid var(--line)}.client-name{font-size:clamp(1.6rem,3vw,3rem);letter-spacing:.08em}.clients h2{max-width:900px}@media(max-width:1050px){.clients{grid-template-columns:100px minmax(0,1fr)}.client-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.2rem}}@media(max-width:680px){.clients{grid-template-columns:1fr}.client-list{grid-column:1;gap:0 1rem}.client-list li{min-height:110px}.client-name{font-size:1.7rem}}

.client-list{gap:1rem}.client-list li{min-height:170px;padding:1.5rem;background:var(--white);border-top:1px solid var(--gold);border-bottom:1px solid var(--line)}.client-logo{width:100%;height:120px;object-fit:contain}.client-logo[alt="GIZ"]{max-width:140px;justify-self:center}.client-logo[alt="ADFM"]{max-width:300px;justify-self:center}@media(max-width:680px){.client-list li{min-height:130px;padding:1rem .65rem}.client-logo{height:90px}.client-logo[alt="GIZ"]{max-width:100px}.client-list li:last-child{grid-column:1/-1}.client-logo[alt="ADFM"]{max-width:280px}}
@media(max-width:680px){.client-list li:nth-last-child(2){grid-column:1/-1}.client-logo[alt="GGGI"]{max-width:190px;justify-self:center}}
.form-panel{min-height:0;align-self:center;scroll-margin-top:110px}.form-intro{color:var(--muted);font-size:1rem}.form-open{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding:1rem 1.25rem;background:var(--ink);color:var(--white);font-weight:700}.form-open>span:last-child{color:var(--gold-light)}.form-open:hover{background:var(--ink-soft)}.form-open:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.form-note{font-size:.875rem;color:var(--muted)}
