*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --night:#0f1520;
  --night-mid:#1a2436;
  --night-border:#243047;
  --white:#fafafa;
  --paper:#f0ede8;
  --border:#e2ddd6;
  --ink:#1c2834;
  --mid:#7a8a96;
  --light:#b0bec8;
  --accent:#dc6822;
  --accent-deep:#b85518;
  --teal:#1c7b7b;
  --red:#b61c2f;
  --amber:#fbb040;
}

/* ── BASE ── */
body{font-family:'Epilogue',sans-serif;background:var(--white);color:var(--ink);overflow-x:hidden;font-weight:300;font-size:16px;}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}

/* ── LANGUAGE SWITCHER ── */
.language-switcher{display:flex;align-items:center;gap:0.3rem;margin-left:1rem;}
.lang-link{font-family:'DM Mono',monospace;font-size:0.7rem;letter-spacing:0.05em;color:var(--light);text-decoration:none;transition:color 0.18s;}
.lang-link:hover{color:#f1efed;}
.lang-link.active{color:var(--accent);}
.lang-sep{color:var(--night-border);font-size:0.7rem;}

/* ── LOGO SVGs ── */
.logo-icon{display:block;flex-shrink:0;}
.logo-full-dark .wordmark-text{fill:#f1efed;}
.logo-full-light .wordmark-text{fill:#1c2834;}

/* ── NAV ── */
.nav{display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;background:var(--night);border-bottom:1px solid var(--night-border);position:sticky;top:0;z-index:100;height:64px;gap:2rem;}
.nav-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0;}
.nav-wordmark{font-family:'Syne',sans-serif;font-weight:600;font-size:1.25rem;letter-spacing:.04em;color:#f1efed;}
.nav-menu{display:flex;align-items:center;gap:2rem;list-style:none;}
.nav-menu a{font-family:'Epilogue',sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--light);text-decoration:none;transition:color .18s;white-space:nowrap;}
.nav-menu a:hover{color:#f1efed;}
.nav-cta{font-family:'Epilogue',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:var(--accent);color:#fafafa;padding:.55rem 1.5rem;text-decoration:none;transition:background .18s;white-space:nowrap;flex-shrink:0;}
.nav-cta:hover{background:var(--accent-deep);}

/* ── HERO ── */
.hero{display:grid;grid-template-columns:52% 48%;min-height:600px;border-bottom:1px solid var(--border);}
.hero-left{padding:5rem 3.5rem;background:var(--night);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;}
.hero-geo{position:absolute;right:-80px;bottom:-80px;opacity:.04;pointer-events:none;}
.hero-eyebrow{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);}
.hero-h1{font-family:'Syne',sans-serif;font-weight:600;font-size:clamp(2.8rem,5vw,4.5rem);line-height:.98;letter-spacing:-.02em;color:#f1efed;margin-top:2rem;}
.hero-h1 em{color:var(--accent);font-style:normal;}
.hero-body{font-size:1rem;line-height:1.9;color:#7a90a4;font-weight:300;max-width:40ch;margin-top:1.8rem;}
.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:2.5rem;}
.btn{font-family:'Epilogue',sans-serif;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:.72rem 1.7rem;transition:background .18s,color .18s;display:inline-block;}
.btn-solid{background:var(--accent);color:#fafafa;}
.btn-solid:hover{background:var(--accent-deep);}
.btn-ghost{color:#7a90a4;border-bottom:0px solid var(--night-border);padding-left:0;padding-right:0;}
.btn-ghost:hover{color:#f1efed;}
.hero-right{display:flex;flex-direction:column;background:var(--paper);}
.hero-photo{flex:1;overflow:hidden;min-height:440px;display:flex;align-items:center;justify-content:center;}
.hero-photo-placeholder{width:100%;height:100%;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;}
.hero-photo-placeholder svg{opacity:.18;}
.hero-photo-placeholder p{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--light);text-align:center;}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--white);border-top:1px solid var(--border);}
.h-stat{padding:1.3rem 1.6rem;border-right:1px solid var(--border);}
.h-stat:last-child{border-right:none;}
.h-stat-n{font-family:'Syne',sans-serif;font-weight:600;font-size:2.4rem;color:var(--ink);line-height:1;}
.h-stat-n sup{font-size:.9rem;color:var(--accent);}
.h-stat-l{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);margin-top:.4rem;}

/* ── SLIDESHOW ── */
.hero-slideshow,.adv-slideshow{position:relative;width:100%;height:100%;min-height:400px;overflow:hidden;}
.slide{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 0.5s ease-in-out;}
.slide.active{opacity:1;}
.slideshow-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--paper);opacity:0;transition:opacity 0.3s;}
.slideshow-placeholder.visible{opacity:1;}
.slideshow-btn{position:absolute;top:50%;transform:translateY(-50%);color:#1c2834;background:transparent;border:none;padding:12px 18px;cursor:pointer;border-radius:50%;font-size:2.5rem;z-index:10;transition:color 0.2s ease;}
.slideshow-btn:hover{color:var(--amber);}
.prev-btn{left:20px;}
.next-btn{right:20px;}
.slideshow-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10;}
.dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.45);cursor:pointer;transition:background 0.2s;}
.dot.active{background:var(--accent);}

/* Section-level slideshow (about/realisations image areas) */
.adv-slideshow{min-height:300px;background:var(--paper);}
.adv-slideshow .slideshow-btn{color:rgba(28,40,52,.45);font-size:1.8rem;}
.adv-slideshow .slideshow-btn:hover{color:var(--accent);}
.adv-slideshow .dot{background:rgba(28,40,52,.25);}
.adv-slideshow .dot.active{background:var(--accent);}

/* ── TICKER ── */
.ticker{overflow:hidden;background:var(--night);border-bottom:1px solid var(--night-border);padding:.6rem 0;}
.ticker-track{display:flex;white-space:nowrap;animation:scroll 36s linear infinite;}
.ticker-track span{font-family:'Epilogue',sans-serif;font-size:.78rem;font-weight:300;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);padding:0 2rem;}
.ticker-track span.sep{color:var(--amber);padding:0 .3rem;font-size:.6rem;}
@keyframes scroll{to{transform:translateX(-50%);}}

/* ── INTRO ── */
.intro{display:grid;grid-template-columns:280px 1fr;gap:5rem;padding:4rem 3rem;background:var(--white);border-bottom:1px solid var(--border);align-items:center;}
.label{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;}
.intro-h2{font-family:'Syne',sans-serif;font-weight:600;font-size:1.55rem;color:var(--ink);line-height:1.2;letter-spacing:-.01em;}
.intro-body{font-size:.95rem;line-height:2;color:var(--mid);}
.intro-body strong{color:var(--ink);font-weight:500;}

/* ── SEC BAR ── */
.sec-bar{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 3rem;border-bottom:1px solid var(--border);background:var(--white);}
.sec-more{font-family:'Epilogue',sans-serif;font-size:.72rem;letter-spacing:.08em;color:var(--mid);text-decoration:none;border-bottom:1px solid var(--border);}
.sec-more:hover{color:var(--ink);}

/* ── EXPERTISES ── */
.expertises{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border);}
.exp{padding:3rem;border-right:1px solid var(--border);background:var(--white);transition:background .2s;}
.exp:last-child{border-right:none;}
.exp:hover{background:var(--paper);}
.exp-pole-label{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin-bottom:1.6rem;display:flex;align-items:center;gap:.5rem;}
.exp-h3{font-family:'Syne',sans-serif;font-weight:600;font-size:1.7rem;line-height:1.08;letter-spacing:-.01em;color:var(--ink);margin-bottom:1rem;}
.exp-desc{font-size:.9rem;line-height:1.9;color:var(--mid);margin-bottom:1.6rem;}
.exp-list{display:flex;flex-direction:column;gap:.4rem;}
.exp-svc{font-family:'Epilogue',sans-serif;font-size:.8rem;color:var(--light);display:flex;align-items:center;gap:.5rem;}
.exp-svc::before{content:'';width:3px;height:3px;background:var(--accent);border-radius:50%;flex-shrink:0;}

/* ── PORTFOLIO ── */
.portfolio{border-bottom:1px solid var(--border);}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.pcard{border-right:1px solid var(--border);background:var(--white);overflow:hidden;transition:background .2s;}
.pcard:last-child{border-right:none;}
.pcard:hover{background:var(--paper);}
.pcard-visual{height:200px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.pcard-visual-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.pcard-body{padding:2rem 2.2rem;}
.pcard-sector{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem;}
.pcard-title{font-family:'Syne',sans-serif;font-weight:600;font-size:1.2rem;color:var(--ink);margin-bottom:.8rem;line-height:1.15;}
.pcard-desc{font-size:.88rem;line-height:1.85;color:var(--mid);margin-bottom:1.1rem;}
.pcard-tags{display:flex;flex-wrap:wrap;gap:.35rem;}
.ptag{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.07em;border:1px solid var(--border);color:var(--light);padding:.22rem .55rem;}

/* ── PROCESS ── */
.process{padding:5rem 3rem;background:var(--night);border-bottom:1px solid var(--night-border);}
.process .label{color:var(--accent);}
.process-h2{font-family:'Syne',sans-serif;font-weight:600;font-size:1.8rem;color:#f1efed;margin-top:.5rem;letter-spacing:-.01em;}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--night-border);margin-top:2.5rem;}
.step{padding:2.5rem 2rem;border-right:1px solid var(--night-border);}
.step:last-child{border-right:none;}
.step-n{font-family:'Syne',sans-serif;font-weight:400;font-size:2.8rem;color:var(--amber);line-height:1;margin-bottom:.8rem;}
.step-title{font-family:'Epilogue',sans-serif;font-weight:500;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#c8d8e4;margin-bottom:.6rem;}
.step-desc{font-size:.84rem;line-height:1.82;color:#4a6070;}

/* ── VALUES ── */
.values{background:var(--night);border-bottom:1px solid var(--night-border);}
.values-head{padding:2.5rem 3rem;border-bottom:1px solid var(--night-border);}
.values-h2{font-family:'Syne',sans-serif;font-weight:600;font-size:1.8rem;color:#f1efed;margin-top:.3rem;letter-spacing:-.01em;}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.val{padding:2.8rem 2.5rem;border-right:1px solid var(--night-border);}
.val:last-child{border-right:none;}
.val-letter{font-family:'Syne',sans-serif;font-weight:600;font-size:4.5rem;line-height:.9;color:var(--accent);margin-bottom:1.2rem;letter-spacing:-.02em;}
.val-name{font-family:'Epilogue',sans-serif;font-weight:500;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#8aa0b0;margin-bottom:.65rem;}
.val-desc{font-size:.84rem;line-height:1.82;color:#4a6070;}
.letter-a{color:#1c7b7b;}
.letter-d{color:#dc6822;}
.letter-v{color:#fbb040;}
.letter-r{color:#f0ede8;}

/* ── CTA ── */
.cta-band{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border);}
.cta-left{padding:5rem 3rem;background:var(--paper);}
.cta-h2{font-family:'Syne',sans-serif;font-weight:600;font-size:clamp(2rem,3vw,2.9rem);line-height:1.02;letter-spacing:-.02em;color:var(--ink);}
.cta-h2 em{color:var(--accent);font-style:normal;}
.cta-sub{font-size:.95rem;line-height:1.95;color:var(--mid);margin-top:1.2rem;max-width:38ch;}
.cta-right{padding:5rem 3rem;background:var(--white);border-left:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:1.8rem;}
.crow{display:flex;gap:1.4rem;align-items:flex-start;}
.crow-lbl{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);min-width:80px;padding-top:.2rem;}
.crow-val{font-size:.92rem;color:var(--ink);line-height:1.7;}
.crow-val a{color:var(--ink);text-decoration:none;}
.crow-val a:hover{color:var(--accent);}

/* ── FOOTER ── */
.footer{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;background:var(--night);}
.fcol{padding:3rem 2.5rem;border-right:1px solid var(--night-border);}
.fcol:last-child{border-right:none;}
.f-tagline{font-size:.82rem;line-height:1.85;color:#3a5060;max-width:24ch;margin-top:.8rem;}
.fcol h4{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem;}
.fcol a,.fcol p{font-size:.82rem;line-height:2.2;color:#3a5060;text-decoration:none;display:block;}
.fcol a:hover{color:#c8d8e4;}
.footer-bottom{padding:1rem 2.5rem;background:#080d14;display:flex;justify-content:space-between;align-items:center;}
.footer-bottom p{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.07em;color:#1e2e40;}

/* ── PAGE HERO (inner pages) ── */
.page-hero{background:var(--night);padding:5rem 3rem 4.5rem;border-bottom:1px solid var(--night-border);position:relative;overflow:hidden;}
.page-hero-geo{position:absolute;right:-60px;top:-60px;opacity:.04;pointer-events:none;}
.page-hero-eyebrow{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem;}
.page-hero h1{font-family:'Syne',sans-serif;font-weight:600;font-size:clamp(2.2rem,4.5vw,3.6rem);line-height:.98;letter-spacing:-.02em;color:#f1efed;max-width:20ch;}
.page-hero h1 em{color:var(--accent);font-style:normal;}
.page-hero-sub{font-size:.98rem;line-height:1.95;color:#7a90a4;font-weight:300;max-width:52ch;margin-top:1.5rem;}

/* ── CONTACT PAGE ── */
.contact-page{background:var(--white);padding:5rem 3rem;border-bottom:1px solid var(--border);}
.contact-header{margin-bottom:4.5rem;text-align:center;max-width:800px;margin-left:auto;margin-right:auto;}
.contact-header .label{display:inline-block;background:var(--paper);padding:0.3rem 1rem;margin-bottom:1rem;}
.contact-h1{font-family:'Syne',sans-serif;font-weight:600;font-size:clamp(2.6rem,5vw,4.2rem);line-height:1.05;letter-spacing:-0.02em;color:var(--ink);margin-top:.5rem;}
.contact-h1 em{color:var(--accent);font-style:normal;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;max-width:1400px;margin:0 auto;}
.contact-form-container{background:var(--paper);padding:3rem;border:1px solid var(--border);}
.contact-form-container h2{font-family:'Syne',sans-serif;font-weight:600;font-size:1.7rem;color:var(--ink);margin-bottom:.6rem;}
.contact-form-container > p{color:var(--mid);margin-bottom:2.5rem;font-size:.95rem;}
.form-group{margin-bottom:1.8rem;}
.form-group label{display:block;font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;}
.form-group input,.form-group textarea{width:100%;padding:1rem 1.1rem;font-family:'Epilogue',sans-serif;font-size:.95rem;background:var(--white);border:1px solid var(--border);transition:all 0.2s ease;color:var(--ink);}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(220,104,34,0.1);}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--light);font-weight:300;}
.contact-form button[type="submit"]{width:100%;margin-top:0;border-width:0;text-align:center;justify-content:center;}
.form-status{margin-top:1.2rem;text-align:center;font-size:.9rem;padding:.9rem;}
.form-status.success{background:rgba(28,123,123,.1);color:var(--teal);}
.form-status.error{background:rgba(182,28,47,.1);color:var(--red);}
.contact-info-container{display:flex;flex-direction:column;gap:2.5rem;}
.contact-details{background:var(--paper);padding:2.5rem;border:1px solid var(--border);}
.contact-info-item{display:flex;align-items:flex-start;gap:1.2rem;margin-bottom:2rem;padding-bottom:1.8rem;border-bottom:1px solid var(--border);}
.contact-info-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.contact-info-icon{font-size:1.6rem;flex-shrink:0;width:42px;}
.contact-info-content{flex:1;}
.contact-info-content h3{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;}
.contact-info-content p,.contact-info-content a{font-family:'Epilogue',sans-serif;font-size:1rem;color:var(--ink);text-decoration:none;line-height:1.6;}
.contact-info-content a:hover{color:var(--accent);}
.google-maps-card{background:var(--paper);border:1px solid var(--border);overflow:hidden;}
.google-maps-card h3{font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding:1.4rem 1.8rem .6rem;}
.google-maps{width:100%;height:300px;}
.google-maps iframe{width:100%;height:100%;display:block;}

/* ── SERVICES PAGE ── */
.pole-nav{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:64px;z-index:90;display:flex;align-items:stretch;}
.pole-nav-item{display:flex;align-items:center;gap:.55rem;padding:0 2.2rem;font-family:'Epilogue',sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);text-decoration:none;border-right:1px solid var(--border);border-bottom:2px solid transparent;height:52px;transition:color .18s,border-color .18s;}
.pole-nav-item:hover{color:var(--ink);border-bottom-color:var(--border);}
.pole-nav-item.active{color:var(--ink);border-bottom-color:var(--accent);}
.pole-nav-item:last-child{border-right:none;}
.pole-section{border-bottom:1px solid var(--border);}
.pole-header{display:grid;grid-template-columns:10px 1fr;}
.pole-header-content{padding:3rem;background:var(--white);border-bottom:1px solid var(--border);}
.pole-header-top{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem;}
.pole-title{font-family:'Syne',sans-serif;font-weight:600;font-size:2rem;letter-spacing:-.02em;color:var(--ink);}
.pole-desc{font-size:.95rem;line-height:2;color:var(--mid);max-width:68ch;}
.service-detail{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border);}
.service-detail:last-of-type{border-bottom:none;}
.service-detail-body{padding:3rem;background:var(--white);border-right:1px solid var(--border);}
.service-detail-meta{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem;}
.service-detail-title{font-family:'Syne',sans-serif;font-weight:600;font-size:1.5rem;letter-spacing:-.01em;color:var(--ink);margin-bottom:1rem;line-height:1.1;}
.service-detail-desc{font-size:.92rem;line-height:2;color:var(--mid);margin-bottom:1.6rem;}
.service-detail-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.6rem;}
.service-detail-list li{font-size:.86rem;color:var(--mid);list-style:none;display:flex;align-items:center;gap:.55rem;}
.service-detail-list li::before{content:'';width:3px;height:3px;background:var(--accent);border-radius:50%;flex-shrink:0;}
.service-tags{display:flex;flex-wrap:wrap;gap:.4rem;}
.service-tag{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.07em;border:1px solid var(--border);color:var(--light);padding:.24rem .6rem;}
.service-detail-visual{background:var(--paper);display:flex;align-items:center;justify-content:center;padding:3rem;min-height:300px;}
.service-visual-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;}
.service-visual-placeholder p{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--light);text-transform:uppercase;}
.service-secondary-grid{display:grid;grid-template-columns:repeat(3,1fr);}
.service-secondary-grid.two-col{grid-template-columns:repeat(2,1fr);}
.svc-compact{padding:2.2rem 2.5rem;border-right:1px solid var(--border);background:var(--white);}
.svc-compact:last-child{border-right:none;}
.svc-compact-meta{font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;}
.svc-compact-title{font-family:'Syne',sans-serif;font-weight:600;font-size:1.1rem;color:var(--ink);margin-bottom:.6rem;}
.svc-compact-desc{font-size:.86rem;line-height:1.82;color:var(--mid);}
.pole-cta{display:flex;align-items:center;justify-content:space-between;padding:2rem 3rem;background:var(--paper);border-top:1px solid var(--border);}
.pole-cta-text{font-size:.92rem;color:var(--mid);}
.pole-cta-text strong{color:var(--ink);font-weight:500;}

/* ── REALISATIONS PAGE ── */
.portfolio-placeholder{padding:5rem 3rem;background:var(--white);border-bottom:1px solid var(--border);}
.portfolio-placeholder-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;max-width:1400px;margin:0 auto;}
.portfolio-card{background:var(--paper);border:1px solid var(--border);transition:transform 0.2s,box-shadow 0.2s;}
.portfolio-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.06);}
.portfolio-card-image{height:260px;background:var(--white);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.portfolio-card-content{padding:2rem 2.2rem;}
.portfolio-card-category{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);display:inline-block;margin-bottom:.9rem;}
.portfolio-card-content h3{font-family:'Syne',sans-serif;font-weight:600;font-size:1.3rem;color:var(--ink);margin-bottom:.9rem;line-height:1.2;}
.portfolio-card-content p{font-size:.9rem;line-height:1.8;color:var(--mid);margin-bottom:1.2rem;}
.portfolio-tags{display:flex;flex-wrap:wrap;gap:.5rem;}
.portfolio-tag{font-family:'DM Mono',monospace;font-size:.54rem;letter-spacing:.07em;border:1px solid var(--border);color:var(--light);padding:.22rem .55rem;}
.more-projects{text-align:center;padding:4rem 2rem;margin-top:2.5rem;border-top:1px solid var(--border);}
.more-projects-text{font-family:'Epilogue',sans-serif;font-size:.92rem;color:var(--mid);line-height:1.7;}

/* ── ABOUT PAGE ── */
.about-content{background:var(--white);}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:5rem 3rem;border-bottom:1px solid var(--border);align-items:center;}
.about-label{font-family:'DM Mono',monospace;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);display:inline-block;margin-bottom:1.2rem;}
.about-label.center{display:block;text-align:center;}
.about-text h2{font-family:'Syne',sans-serif;font-weight:600;font-size:2rem;line-height:1.1;letter-spacing:-0.02em;color:var(--ink);margin-bottom:1.8rem;}
.about-text p{font-size:.95rem;line-height:1.9;color:var(--mid);margin-bottom:1.2rem;}
.about-visual{min-height:340px;display:flex;align-items:stretch;border:1px solid var(--border);overflow:hidden;}
.about-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;width:100%;background:var(--paper);padding:3rem;}
.about-placeholder p{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--light);text-transform:uppercase;}
.about-team{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:5rem 3rem;background:var(--paper);border-bottom:1px solid var(--border);align-items:center;}
.team-info h2{font-family:'Syne',sans-serif;font-weight:600;font-size:2rem;line-height:1.1;letter-spacing:-0.02em;color:var(--ink);margin-bottom:1.2rem;}
.team-info h2 em{color:var(--accent);font-style:normal;}
.team-info p{font-size:.95rem;line-height:1.9;color:var(--mid);margin-bottom:1.8rem;}
.team-visual{min-height:340px;display:flex;align-items:stretch;border:1px solid var(--border);overflow:hidden;}
.team-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;width:100%;background:var(--white);padding:3rem;}
.team-placeholder p{font-family:'DM Mono',monospace;font-size:.62rem;color:var(--light);text-transform:uppercase;}

/* Text-only About pages: one readable column without empty image space. */
.about-content--text-only .about-section,
.about-content--text-only .about-team{grid-template-columns:minmax(0,1fr);gap:0;}
.about-content--text-only .about-text,
.about-content--text-only .team-info{width:100%;max-width:54rem;margin-inline:auto;}

/* ── SOCIAL LINKS ── */
.social-links{display:flex;gap:1rem;margin-top:1rem;}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--white);border-radius:50%;color:var(--ink);text-decoration:none;transition:all 0.2s;border:1px solid var(--border);}
.social-link:hover{background:var(--accent);color:var(--white);border-color:var(--accent);}

/* ── RESPONSIVE TABLET ── */
@media(max-width:1024px){
  .nav{padding:0 1.5rem;gap:1rem;height:60px;}
  .nav-menu{gap:1rem;}
  .nav-menu a{font-size:.68rem;}
  .nav-cta{padding:.45rem 1rem;font-size:.65rem;}
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-left{padding:3.5rem 2rem;}
  .hero-body{font-size:.95rem;}
  .intro{grid-template-columns:1fr;gap:2rem;padding:3rem 2rem;}
  .expertises{grid-template-columns:1fr;}
  .exp{border-right:none;border-bottom:1px solid var(--border);padding:2.5rem 2rem;}
  .exp:last-child{border-bottom:none;}
  .portfolio-grid{grid-template-columns:1fr;}
  .pcard{border-right:none;border-bottom:1px solid var(--border);}
  .pcard:last-child{border-bottom:none;}
  .process{padding:3.5rem 2rem;}
  .process-steps{grid-template-columns:1fr;}
  .step{border-right:none;border-bottom:1px solid var(--night-border);padding:2rem 1.5rem;}
  .step:last-child{border-bottom:none;}
  .values-grid{grid-template-columns:repeat(2,1fr);}
  .val{padding:2rem 1.8rem;border-right:none;}
  .val:nth-child(odd){border-right:1px solid var(--night-border);}
  .val:nth-child(3),.val:nth-child(4){border-top:1px solid var(--night-border);}
  .cta-band{grid-template-columns:1fr;}
  .cta-left,.cta-right{padding:3rem 2rem;}
  .cta-right{border-left:none;border-top:1px solid var(--border);}
  .footer{grid-template-columns:repeat(2,1fr);}
  .fcol{padding:2rem 1.5rem;border-right:none;}
  .fcol:nth-child(odd){border-right:1px solid var(--night-border);}
  .fcol:nth-child(3),.fcol:nth-child(4){border-top:1px solid var(--night-border);}
  .contact-page{padding:3.5rem 2rem;}
  .contact-grid{grid-template-columns:1fr;gap:2.5rem;}
  .contact-form-container{padding:2rem;}
  .service-detail{grid-template-columns:1fr;}
  .service-detail-body{padding:2rem;border-right:none;border-bottom:1px solid var(--border);}
  .service-secondary-grid,.service-secondary-grid.two-col{grid-template-columns:1fr;}
  .svc-compact{border-right:none;border-bottom:1px solid var(--border);padding:1.8rem 2rem;}
  .svc-compact:last-child{border-bottom:none;}
  .pole-header-content{padding:2rem;}
  .pole-cta{flex-direction:column;align-items:flex-start;padding:1.8rem 2rem;gap:1.2rem;}
  .pole-nav{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  .pole-nav-item{padding:0 1.4rem;flex-shrink:0;}
  .about-section,.about-team{grid-template-columns:1fr;padding:3.5rem 2rem;gap:2.5rem;}
  .portfolio-placeholder{padding:3.5rem 2rem;}
  .portfolio-placeholder-grid{grid-template-columns:1fr;gap:2rem;}
  .page-hero{padding:3.5rem 2rem 3rem;}
  .sec-bar{padding:1rem 2rem;}
  .intro{gap:2.5rem;padding:3rem 2rem;}
  .values-head{padding:2rem 2rem;}
}

/* ── RESPONSIVE MOBILE ── */
@media(max-width:768px){
  .nav{flex-wrap:wrap;height:auto;padding:.9rem 1rem;gap:.8rem;}
  .nav-menu{order:3;width:100%;justify-content:space-between;gap:.5rem;flex-wrap:wrap;}
  .nav-menu a{font-size:.6rem;}
  .nav-cta{order:2;}
  .nav-brand{order:1;}
  .language-switcher{margin-left:0;order:2;}
  .hero-left{padding:2.5rem 1.2rem;}
  .hero-h1{font-size:clamp(2.2rem,7vw,3rem);}
  .hero-body{font-size:.9rem;margin-top:1.2rem;}
  .hero-actions{margin-top:1.8rem;}
  .btn{padding:.6rem 1.1rem;font-size:.65rem;}
  .h-stat{padding:1rem .8rem;text-align:center;}
  .h-stat-n{font-size:1.6rem;}
  .h-stat-l{font-size:.5rem;}
  .ticker-track span{font-size:.62rem;padding:0 1rem;}
  .intro{padding:2rem 1.2rem;}
  .intro-h2{font-size:1.35rem;}
  .intro-body{font-size:.88rem;line-height:1.8;}
  .sec-bar{padding:.9rem 1.2rem;}
  .label{font-size:.55rem;}
  .process{padding:3rem 1.2rem;}
  .process-h2{font-size:1.5rem;}
  .step-n{font-size:2.2rem;}
  .step-title{font-size:.7rem;}
  .step-desc{font-size:.78rem;}
  .values-head{padding:1.8rem 1.2rem;}
  .values-h2{font-size:1.5rem;}
  .values-grid{grid-template-columns:1fr;}
  .val{border-right:none;border-bottom:1px solid var(--night-border);padding:1.8rem 1.2rem;}
  .val:last-child{border-bottom:none;}
  .val-letter{font-size:3rem;}
  .footer{grid-template-columns:1fr;}
  .fcol{border-right:none;border-bottom:1px solid var(--night-border);padding:1.5rem 1.2rem;}
  .fcol:last-child{border-bottom:none;}
  .footer-bottom{flex-direction:column;gap:.5rem;text-align:center;padding:.9rem 1rem;}
  .footer-bottom p{font-size:.55rem;}
  .page-hero{padding:2.5rem 1.2rem 2rem;}
  .page-hero h1{font-size:clamp(1.8rem,6vw,2.8rem);}
  .page-hero-sub{font-size:.88rem;margin-top:1rem;}
  .contact-page{padding:2.5rem 1.2rem;}
  .contact-header{margin-bottom:3rem;}
  .contact-h1{font-size:clamp(2rem,6vw,2.8rem);}
  .slideshow-btn{padding:6px 10px;font-size:1.5rem;}
  .contact-info-item{flex-direction:column;gap:.6rem;}
  .google-maps{height:220px;}
  .portfolio-placeholder{padding:2.5rem 1.2rem;}
  .portfolio-card-image{height:200px;}
  .about-section,.about-team{padding:3rem 1.2rem;gap:2rem;}
  .exp{padding:2rem 1.2rem;}
}

/* ── SMALL MOBILE ── */
@media(max-width:480px){
  .nav-menu{justify-content:center;}
  .hero-h1{font-size:2rem;}
  .h-stat-n{font-size:1.3rem;}
  .intro-h2{font-size:1.1rem;}
  .cta-h2{font-size:1.5rem;}
}

/* ── LANGUAGE POPUP (homepage only, centered modal) ── */
.lang-popup-overlay{position:fixed;inset:0;background:rgba(15,21,32,.65);display:flex;align-items:center;justify-content:center;z-index:200;opacity:0;transition:opacity .25s ease;padding:1.5rem;}
.lang-popup-overlay.visible{opacity:1;}
.lang-popup{position:relative;background:var(--night);border:1px solid var(--night-border);padding:2.6rem 3rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;box-shadow:0 20px 60px rgba(0,0,0,.45);max-width:380px;width:100%;transform:translateY(14px) scale(.98);transition:transform .25s ease;}
.lang-popup-overlay.visible .lang-popup{transform:translateY(0) scale(1);}
.lang-popup-close{position:absolute;top:.7rem;right:1rem;background:none;border:none;color:var(--light);font-size:1.5rem;cursor:pointer;line-height:1;padding:.3rem;}
.lang-popup-close:hover{color:#f1efed;}
.lang-popup-text{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--light);margin:0;text-align:center;}
.lang-popup-choices{display:flex;gap:1rem;}
.lang-popup-btn{font-family:'Syne',sans-serif;font-weight:600;font-size:1.05rem;letter-spacing:.02em;text-decoration:none;color:#f1efed;border:1px solid var(--night-border);padding:.85rem 1.8rem;transition:background .18s,border-color .18s;min-width:84px;text-align:center;}
.lang-popup-btn:hover{background:var(--accent);border-color:var(--accent);}

@media(max-width:480px){
  .lang-popup{padding:2rem 1.6rem;}
  .lang-popup-choices{gap:.7rem;}
  .lang-popup-btn{padding:.75rem 1.2rem;min-width:70px;}
}

