@import url("https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&display=swap");

:root{
  --graphite:#1f2b33;
  --graphite-2:#293841;
  --ink:#102d44;
  --muted:#607584;
  --line:#d8e2e8;
  --soft:#f5f8fa;
  --white:#fff;
  --services:#b94b53;
  --services-dark:#963b42;
  --solutions:#2f7198;
  --solutions-dark:#245b7b;
  --shadow:0 16px 45px rgba(20,48,66,.10);
  --header:70px;
  --footer:34px;
  --max:1320px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
html{background:#fff}
body{font-family:"Sora",Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-weight:500;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
button,a,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.shell{height:100dvh;display:grid;grid-template-rows:var(--header) minmax(0,1fr) var(--footer);overflow:hidden}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto;min-width:0}

/* header */
header{background:#15232c;border-bottom:1px solid rgba(255,255,255,.08);z-index:60;box-shadow:0 8px 24px rgba(10,24,34,.10)}
.header-row{height:var(--header);display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:0;color:#fff;font-family:"Sora",sans-serif;font-weight:800;letter-spacing:.11em}
.brand-signal{display:grid;grid-template-columns:8px 8px 8px;gap:3px;height:24px;align-items:stretch}
.brand-signal i{display:block;width:8px!important;height:24px!important;background:var(--services);transform:skewX(-16deg)}
.brand-signal i:nth-child(2){background:var(--solutions)}
.brand-signal i:nth-child(3){background:var(--services)}
.brand-text{display:grid;gap:1px;text-align:left}.brand-name{font-size:1.48rem;font-family:"Sora",sans-serif;font-weight:800;letter-spacing:.145em;line-height:1}.brand-baseline{font-size:7px;letter-spacing:.125em;color:#9db0bc;font-weight:600;white-space:nowrap}
.signature{display:none}
.nav{margin-left:auto;display:flex;align-items:center;gap:3px}
.nav button{border:0;background:transparent;color:#b8c7cf;font-weight:600;font-size:.78rem;padding:13px 12px 11px;border-bottom:2px solid transparent}
.nav button:hover,.nav button.active{color:#fff;border-bottom-color:var(--services)}
.lang{font-size:.72rem;font-weight:700;text-decoration:none;color:#fff;padding:9px;border:1px solid rgba(255,255,255,.16)}
.menu-toggle{display:none;margin-left:auto;width:42px;height:38px;border:1px solid rgba(255,255,255,.18);background:#21323d;color:#fff}

/* frame */
main{position:relative;min-height:0;overflow:hidden}
.panel{display:none;position:absolute;inset:0;overflow:hidden;background:#fff}
.panel.active{display:block;animation:fadeIn .24s ease both}
@keyframes fadeIn{from{opacity:.3}to{opacity:1}}
.kicker{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:700}
.top-mark{display:flex;gap:4px}
.top-mark span{width:29px;height:29px;display:grid;place-items:center;color:#fff;font-size:.74rem;font-weight:900;background:var(--services)}
.top-mark span:nth-child(2){background:var(--solutions)}
.top-line{height:3px;width:72px;background:linear-gradient(90deg,var(--services) 0 33.33%,var(--solutions) 33.33% 66.66%,var(--services) 66.66%)}

/* HOME */
.home{height:100%;display:grid;grid-template-columns:minmax(0,.86fr) minmax(500px,1.14fr);background:var(--graphite);color:#fff}
.home-copy{padding:clamp(38px,5vh,62px) clamp(28px,4vw,58px) 22px max(28px,calc((100vw - var(--max))/2 + 24px));display:flex;flex-direction:column;min-width:0}
.home h1{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:clamp(3.25rem,5.5vw,5.85rem);line-height:.915;letter-spacing:-.065em;margin:0 0 18px;font-weight:700}
.home h1 .t,.home h1 .p{color:#df737a}
.home h1 .o{color:#67a9cf}
.home-lead{margin:0;max-width:610px;color:#d4dce1;font-size:clamp(.93rem,1.12vw,1.05rem);line-height:1.5}
.entity-cards{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:650px}
.entity-card{position:relative;text-align:left;min-height:112px;padding:17px 18px 15px;border:1px solid rgba(255,255,255,.16);color:#fff;overflow:hidden;box-shadow:0 12px 28px rgba(5,18,27,.16)}
.entity-card:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--services)}
.entity-card.solutions:before{background:var(--solutions)}
.entity-card.services{background:linear-gradient(145deg,rgba(185,75,83,.28),rgba(255,255,255,.055))}.entity-card.solutions{background:linear-gradient(145deg,rgba(47,113,152,.32),rgba(255,255,255,.055))}
.entity-card:after{content:"→";position:absolute;right:14px;top:13px;font-size:1rem;opacity:.75}
.entity-card small{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#d9e2e7;margin-bottom:8px;font-weight:600}
.entity-card strong{display:block;font-size:1.02rem;letter-spacing:.025em;font-weight:800}
.entity-card span{display:block;font-size:12px;line-height:1.4;color:#d4dee3;margin-top:6px;max-width:260px;font-weight:500}
.entity-card:hover{background:rgba(255,255,255,.075)}

.home-visual{position:relative;overflow:hidden;background:#34444e}
.home-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,31,40,.16),rgba(16,31,40,.01) 48%,rgba(16,31,40,.10)),linear-gradient(180deg,rgba(14,28,38,.02),rgba(14,28,38,.48)),url("https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&q=88&w=1800");background-size:cover;background-position:center}
.photo-caption{position:absolute;left:28px;top:27px;z-index:2;display:flex;align-items:center;gap:12px;color:#fff}
.photo-caption span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;padding:7px 9px;background:rgba(22,35,44,.54);backdrop-filter:blur(8px)}
.home-top-actions{position:absolute;left:28px;right:28px;bottom:26px;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.top-action{min-height:72px;border:1px solid rgba(255,255,255,.34);background:rgba(27,39,47,.50);backdrop-filter:blur(7px);color:#fff;text-align:left;padding:12px 14px}
.top-action em{font-style:normal;font-size:1.38rem;font-weight:950;line-height:1;color:#df737a}
.top-action:nth-child(2) em{color:#72b1d6}
.top-action strong{display:block;margin-top:4px;font-size:11px;letter-spacing:.10em}
.top-action:hover{background:rgba(27,39,47,.72)}

/* OFFER */
.offer-page{height:100%;background:linear-gradient(145deg,#f3f7f9 0,#fff 72%)}
.offer-wrap{height:100%;padding:clamp(22px,3vh,32px) 0;display:grid;grid-template-rows:62px minmax(185px,.9fr) minmax(180px,.72fr);gap:14px}
.offer-head{display:flex;justify-content:space-between;align-items:end;gap:20px}
.offer-head h2,.projects-head h2{font-family:"Sora",Inter,ui-sans-serif,sans-serif;margin:0;color:var(--ink);font-size:clamp(2rem,3.6vw,3.5rem);line-height:.96;letter-spacing:-.05em}
.signature2{font-size:.72rem;color:#738897;margin-bottom:5px}
.offer-mobile-tabs{display:none}
.top-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-height:0}
.top-card{position:relative;overflow:hidden;border:0;color:#fff;text-align:left;background:#35454f;min-height:0}
.top-card:after{content:"";position:absolute;inset:0;border:2px solid transparent;pointer-events:none}
.top-card.active:after{border-color:rgba(255,255,255,.92)}
.top-card .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s ease}
.top-card:hover .bg{transform:scale(1.035)}
.top-card.t .bg{background-image:linear-gradient(180deg,rgba(24,34,41,.06),rgba(26,36,44,.88)),url("https://images.unsplash.com/photo-1758873269035-aae0e1fd3422?auto=format&fit=crop&fm=jpg&q=80&w=1400")}
.top-card.o .bg{background-image:linear-gradient(180deg,rgba(18,38,48,.08),rgba(23,50,65,.90)),url("https://images.pexels.com/photos/1181354/pexels-photo-1181354.jpeg?auto=compress&dpr=1&h=900&w=1500")}
.top-card.p .bg{background-image:linear-gradient(180deg,rgba(20,31,38,.06),rgba(27,39,47,.90)),url("https://images.pexels.com/photos/7691719/pexels-photo-7691719.jpeg?auto=compress&dpr=1&h=900&w=1500")}
.entity-badge{position:absolute;top:12px;right:12px;z-index:2;padding:6px 8px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.10em;text-transform:uppercase}
.entity-badge.services{background:var(--services)}
.entity-badge.solutions{background:var(--solutions)}
.top-card-content{position:absolute;left:0;right:0;bottom:0;padding:17px 19px;display:flex;gap:14px;align-items:flex-end}
.top-letter{font-size:4rem;line-height:.8;font-weight:950;color:#e17379}
.top-card.o .top-letter{color:#72b2d6}
.top-card h3{margin:0 0 6px;font-size:.95rem;letter-spacing:.09em}
.top-keywords{display:flex;flex-wrap:wrap;gap:5px}
.top-keywords span{font-size:10px;padding:4px 6px;border:1px solid rgba(255,255,255,.26);background:rgba(12,20,25,.12)}

.offer-detail{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(310px,.72fr);gap:10px;min-height:0}
.detail-main{background:#fff;border:1px solid var(--line);padding:19px 21px;display:grid;grid-template-rows:auto auto 1fr;gap:6px;min-height:0}
.detail-main h3{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:1.32rem;line-height:1.14;margin:0}
.detail-main p{font-size:13px;color:var(--muted);margin:0;line-height:1.4}
.detail-list{display:grid;grid-template-columns:repeat(3,1fr);gap:5px 18px;align-content:end}
.detail-list div{font-size:12px;color:#3f5a6b;border-bottom:1px solid #edf2f4;padding:6px 0}
.detail-list div:before{content:"";display:inline-block;width:16px;height:2px;background:var(--services);vertical-align:middle;margin-right:7px}
.detail-side{color:#fff;padding:18px 20px;display:grid;align-content:center;background:var(--services)}
.detail-side.solutions{background:var(--solutions)}
.entity-name{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:.78;margin-bottom:11px}
.detail-side ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 15px}
.detail-side li{font-size:12px;line-height:1.25;padding:0 0 6px;border-bottom:1px solid rgba(255,255,255,.2)}

/* REFERENCES */
.refs{height:100%;display:grid;grid-template-columns:minmax(270px,25%) minmax(0,75%);background:#f5f8fa}
.refs-aside{position:relative;overflow:hidden;background:var(--graphite);color:#fff}
.refs-bg{position:absolute;inset:0;background:radial-gradient(circle at 16% 18%,rgba(47,113,152,.22),transparent 28%),radial-gradient(circle at 82% 78%,rgba(185,75,83,.18),transparent 24%),linear-gradient(145deg,#17252e,#22343f)}
.refs-copy{position:absolute;left:25px;right:25px;bottom:25px;z-index:2}
.refs-copy h2{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:clamp(2.1rem,3.5vw,3.7rem);line-height:.95;letter-spacing:-.055em;margin:12px 0 9px}
.refs-copy p{font-size:12px;line-height:1.45;color:#d3dde3;margin:0}
.refs-main{padding:clamp(22px,3vh,34px) clamp(24px,3vw,38px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:13px;min-width:0}
.refs-head{display:flex;align-items:end;justify-content:space-between;gap:16px}
.refs-head h3{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:clamp(1.7rem,2.8vw,2.7rem);letter-spacing:-.045em;margin:0}
.refs-head span{font-size:11px;color:#788c99}
.ref-wall{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:8px;min-height:0}
.ref-name{position:relative;background:#fff;border:1px solid #d3dee4;display:flex;align-items:center;justify-content:center;padding:12px 10px;text-align:center;font-size:12px;font-weight:700;color:#233f52;letter-spacing:.005em;transition:.18s ease;box-shadow:0 5px 15px rgba(21,49,65,.045)}
.ref-name:before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:transparent}
.ref-name:nth-child(3n+1):hover:before{background:var(--services)}
.ref-name:nth-child(3n+2):hover:before{background:var(--solutions)}
.ref-name:nth-child(3n):hover:before{background:#91a5b1}
.ref-name:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(24,57,78,.08)}
.refs-bottom{display:flex;justify-content:space-between;gap:18px;align-items:center;color:#7b8e9a}
.sector-line{font-size:11px;font-weight:760;color:#536a79}
.refs-bottom>span{font-size:10px}

/* PROJECTS */
.projects{height:100%;background:linear-gradient(135deg,#e9eff2 0%,#f8fafb 48%,#edf2f4 100%)}
.projects-wrap{height:100%;padding:clamp(22px,3vh,32px) 0;display:grid;grid-template-rows:62px minmax(0,1fr);gap:14px}
.projects-head{display:flex;justify-content:space-between;align-items:end;gap:20px}
.project-tabs{display:flex;gap:5px}
.project-tab,.offer-mobile-tab{border:1px solid var(--line);background:#fff;color:var(--ink);width:42px;height:38px;font-weight:900;font-size:12px}
.project-tab.active,.offer-mobile-tab.active{color:#fff;background:var(--services);border-color:var(--services)}
.project-tab[data-group="O"].active,.offer-mobile-tab[data-offer-tab="O"].active{background:var(--solutions);border-color:var(--solutions)}
.projects-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(350px,.82fr);gap:10px;min-height:0}
.mission-side{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-height:0}
.mission-card{position:relative;overflow:hidden;border:1px solid #d5e0e6;background:rgba(255,255,255,.94);padding:14px 16px;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;min-height:0;box-shadow:0 7px 20px rgba(25,54,72,.055)}
.mission-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--services)}.mission-card[data-group="O"]:before{background:var(--solutions)}.mission-letter{font-size:2.25rem;line-height:1;font-weight:800;color:var(--services)}
.mission-card[data-group="O"] .mission-letter{color:var(--solutions)}
.mission-card h4{font-size:13px;margin:0 0 4px;font-weight:700}
.mission-card p{font-size:11px;line-height:1.4;color:#536d7d;margin:0;font-weight:500}
.project-more{display:none;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:12px;font-weight:700;padding:8px;margin-top:6px}
.deliverable-panel{padding:18px;background:linear-gradient(145deg,var(--services-dark),var(--services));color:#fff;display:grid;grid-template-rows:auto minmax(0,1fr);box-shadow:0 10px 28px rgba(94,38,44,.16)}
.deliverable-panel.solutions{background:linear-gradient(145deg,var(--solutions-dark),var(--solutions));box-shadow:0 10px 28px rgba(31,78,105,.16)}
.deliverables{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-content:center}
.deliverable{border:1px solid rgba(255,255,255,.17);padding:9px 10px;background:rgba(255,255,255,.045);font-size:10px;line-height:1.25}
.deliverable b{display:block;font-size:11px;margin-bottom:3px;font-weight:700}
.deliverable span{opacity:.77}

/* CONTACT */
.contact{height:100%;display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);background:linear-gradient(145deg,#f4f8fa,#fff)}
.contact-aside{position:relative;overflow:hidden;background:var(--graphite);color:#fff}
.contact-bg{position:absolute;inset:0;background:radial-gradient(circle at 18% 22%,rgba(185,75,83,.18),transparent 26%),radial-gradient(circle at 82% 70%,rgba(47,113,152,.22),transparent 30%),linear-gradient(145deg,#17252e,#22343f)}
.contact-copy{position:absolute;left:25px;right:25px;bottom:25px;z-index:2}
.contact-copy h2{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:clamp(2.1rem,3.5vw,3.7rem);line-height:.95;letter-spacing:-.055em;margin:12px 0 9px}
.contact-copy p{font-size:12px;line-height:1.45;color:#d3dde3;margin:0}
.contact-main{padding:clamp(22px,3.5vh,38px) max(26px,calc((100vw - var(--max))/2 + 24px)) 22px clamp(24px,3.8vw,48px);display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:12px;align-items:center}
.contact-info{display:grid;gap:12px}
.contact-info h3{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:clamp(1.65rem,2.7vw,2.7rem);line-height:1.04;letter-spacing:-.04em;margin:0}
.modes{display:flex;flex-wrap:wrap;gap:6px}
.mode{font-size:10px;border:1px solid #cfdae1;padding:6px 8px;color:#536a79;background:#fff}
.mail{font-size:.96rem;font-weight:700;text-decoration:none}
.contact-entities{display:grid;gap:7px;margin-top:3px}
.contact-entity{position:relative;border:1px solid var(--line);background:#fff;padding:12px 13px}
.contact-entity:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--services)}
.contact-entity.solutions:before{background:var(--solutions)}
.contact-entity strong{display:block;font-size:12px}.contact-entity span{font-size:10px;color:#718491}
.form-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:18px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}
.field{display:grid;gap:4px}.field.full{grid-column:1/-1}
label{font-size:11px;font-weight:800;color:#587080}
input,select,textarea{width:100%;border:1px solid #cad9e1;background:#fff;padding:10px 11px;color:var(--ink);font-size:13px}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(47,113,152,.18);border-color:var(--solutions)}
textarea{min-height:72px;resize:none}
.submit{grid-column:1/-1;border:0;background:var(--graphite);color:#fff;padding:11px 13px;font-size:13px;font-weight:700}
.form-note{grid-column:1/-1;font-size:10px;color:#718692;line-height:1.35}

/* footer + mobile */
footer{background:#14212a;color:#b8c7cf}
.footer-row{height:var(--footer);display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px}
.footer-links{display:flex;gap:16px}.footer-links a{text-decoration:none;color:#d8e2e7}
.mobile-menu{display:none;position:absolute;inset:var(--header) 0 var(--footer) 0;background:rgba(22,33,42,.99);z-index:50;padding:24px}
.mobile-menu.open{display:grid;align-content:start;gap:7px}
.mobile-menu button,.mobile-menu a{background:transparent;border:1px solid #4a5e6b;color:#fff;text-align:left;padding:14px;font-weight:800;text-decoration:none;font-size:14px}

@media(max-width:1080px){
 .signature{display:none}
 .home{grid-template-columns:1fr}
 .home-visual{position:absolute;inset:0;opacity:.33}
 .home-copy{position:relative;z-index:2;max-width:780px}
 .home-top-actions,.photo-caption{display:none}
 .refs{grid-template-columns:225px minmax(0,1fr)}
 .ref-wall{grid-template-columns:repeat(5,1fr)}
 .contact-main{grid-template-columns:.78fr 1.22fr}
}
@media(max-width:820px){
 :root{--header:62px;--footer:32px}
 .container{width:calc(100% - 30px)}
 .nav,.header-row>.lang{display:none}.menu-toggle{display:block}
 .brand-name{font-size:1.2rem}.brand-baseline{display:none}
 .panel{overflow-y:auto;overscroll-behavior:contain}
 .home-copy{padding:34px 22px 18px}.home h1{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:clamp(2.9rem,10vw,4.8rem)}
 .entity-cards{max-width:690px}
 .offer-wrap,.projects-wrap{height:auto;min-height:100%;padding:20px 15px 28px}
 .offer-wrap{grid-template-rows:auto auto auto auto;gap:11px}
 .offer-head .signature2{display:none}.offer-head h2{font-size:2rem}
 .offer-mobile-tabs{display:flex;gap:5px}
 .top-cards{gap:7px}.top-letter{font-size:3.1rem}
 .detail-list{grid-template-columns:1fr 1fr}
 .refs{height:auto;min-height:100%;grid-template-columns:1fr}.refs-aside{display:none}
 .refs-main{min-height:100%;padding:22px 16px 28px}.ref-wall{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(70px,1fr)}
 .projects-layout{grid-template-columns:minmax(0,1fr) 320px}.mission-card{padding:12px 13px;grid-template-columns:38px 1fr}
 .contact{height:auto;min-height:100%;grid-template-columns:1fr}.contact-aside{display:none}
 .contact-main{min-height:100%;padding:24px 16px 28px;grid-template-columns:.8fr 1.2fr;align-items:start}
}
@media(max-width:590px){
 .container{width:calc(100% - 24px)}
 .home{height:auto;min-height:100%}
 .home-copy{min-height:100%;padding:30px 18px 20px}
 .home h1{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:clamp(2.55rem,12.3vw,3.65rem);margin-bottom:16px}
 .home-lead{font-size:14px}
 .entity-cards{margin-top:28px;grid-template-columns:1fr;gap:7px}
 .entity-card{min-height:82px;padding:12px 14px}.entity-card span{font-size:11px}
 .offer-wrap{padding:16px 12px 26px}
 .offer-head h2{font-size:1.65rem}
 .offer-mobile-tabs{justify-content:flex-end}
 .top-cards{display:block;min-height:205px}.top-card{display:none;height:205px}.top-card.active{display:block;width:100%}
 .top-card-content{padding:14px 15px}.top-letter{font-size:3.25rem}
 .top-card h3{font-size:14px}.top-keywords span{font-size:10px;padding:3px 5px}
 .offer-detail{grid-template-columns:1fr;gap:7px}
 .detail-main{padding:15px}.detail-main h3{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:1.12rem}.detail-main p{font-size:12px}
 .detail-list{grid-template-columns:1fr 1fr;gap:2px 12px}.detail-list div{font-size:11px;padding:5px 0}
 .detail-side{padding:14px 15px}.detail-side ul{grid-template-columns:1fr 1fr}.detail-side li{font-size:11px}
 .refs-main{padding:18px 12px 26px}.refs-head h3{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:1.58rem}.refs-head span{display:none}
 .ref-wall{grid-template-columns:repeat(2,1fr);gap:6px;grid-auto-rows:minmax(60px,1fr)}.ref-name{font-size:12px}
 .refs-bottom{display:grid;gap:6px}.sector-line{font-size:11px}
 .projects-wrap{padding:16px 12px 26px}.projects-head h2{font-size:1.55rem}
 .projects-layout{grid-template-columns:1fr;gap:8px}.mission-grid{grid-template-columns:1fr;gap:6px}
 .mission-card{padding:11px 12px;grid-template-columns:34px 1fr;gap:8px}
 .mission-card:nth-child(n+5){display:none}.mission-grid.expanded .mission-card:nth-child(n+5){display:grid}
 .mission-letter{font-size:1.65rem}.mission-card h4{font-size:13px}.mission-card p{font-size:11px}
 .project-more{display:block}.deliverable-panel{padding:14px}.deliverables{gap:6px}.deliverable{padding:8px;font-size:10px}.deliverable b{font-size:11px}
 .contact-main{padding:18px 12px 26px;grid-template-columns:1fr;gap:14px}.contact-info h3{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:1.55rem}.contact-info .mail{font-size:14px}
 .form-card{padding:14px}.form{grid-template-columns:1fr;gap:8px}.field.full{grid-column:auto}.submit,.form-note{grid-column:auto}
 .footer-row>span{display:none}.footer-links{width:100%;justify-content:center;gap:12px}.footer-links a{font-size:10px}
}
@media(max-height:650px) and (min-width:821px){
 .panel{overflow-y:auto}
 .home-copy{padding-top:30px}.home h1{font-family:"Sora",Inter,ui-sans-serif,sans-serif;font-size:3.8rem}
 .offer-wrap,.projects-wrap{height:auto;min-height:100%;padding-top:16px;padding-bottom:20px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* V6.5.2 targeted identity/consistency fixes */
.home-visual:after{content:"";position:absolute;left:28px;top:27px;width:72px;height:3px;background:linear-gradient(90deg,var(--services) 0 33.33%,var(--solutions) 33.33% 66.66%,var(--services) 66.66%);z-index:3}
.photo-caption,.home-top-actions{display:none!important}
.top-card.t .bg{background-image:linear-gradient(180deg,rgba(24,34,41,.06),rgba(26,36,44,.88)),url("https://images.unsplash.com/photo-1758873269035-aae0e1fd3422?auto=format&fit=crop&fm=jpg&q=80&w=1400")}
.refs-copy .top-mark,.contact-copy .top-mark{display:none}
.refs-copy:before,.contact-copy:before{content:"";display:block;width:72px;height:3px;margin-bottom:12px;background:linear-gradient(90deg,var(--services) 0 33.33%,var(--solutions) 33.33% 66.66%,var(--services) 66.66%)}
.entity-card,.top-card,.detail-main,.detail-side,.ref-name,.mission-card,.deliverable-panel,.contact-entity,.form-card{border-radius:2px}
.ref-name{overflow:hidden;padding:10px 9px}
.ref-name.has-logo{background:#fff}
.ref-name .logo-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:10px;font-size:12px;font-weight:700;color:#526a79;text-align:center}
.ref-name img{position:relative;z-index:1;display:block;max-width:82%;max-height:48px;object-fit:contain;background:#fff}
.ref-name img[src*="galderma"]{max-height:42px}
.ref-name img[src*="ipsen"]{max-height:54px}
.ref-name img[src*="credit-agricole"]{max-height:54px}
.ref-name img[src*="michaelpage"]{max-height:42px}
@media(max-width:590px){.home-visual:after{left:18px;top:20px}.ref-name img{max-width:84%;max-height:42px}.ref-name .logo-fallback{font-size:11px}}

/* V6.5.4 targeted refinement */
.top-card.t .bg{background-position:center 46%}
.top-card.o .bg{background-position:center 42%}
.top-card.p .bg{background-position:center 48%}

/* Client-logo stage: successful logo and fallback can never overlap. */
.ref-name.has-logo{position:relative;isolation:isolate;overflow:hidden;padding:13px 12px}
.ref-name.has-logo img{
  position:absolute;inset:0;margin:auto;
  width:auto;height:auto;max-width:78%;max-height:43px;
  object-fit:contain;background:transparent;z-index:2;
}
.ref-name.has-logo.logo-error img{display:none!important}
.ref-name.has-logo.logo-error::after{
  content:attr(data-name);position:absolute;inset:0;
  display:grid;place-items:center;padding:10px;text-align:center;
  color:#334f60;font-size:12px;font-weight:750;z-index:1;
}
.ref-name.has-logo:not(.logo-error)::after{content:none}
.ref-name .logo-fallback{display:none!important}

/* Optical correction by logo proportions, without altering the marks. */
.ref-name[data-name="SGD Pharma"] img,
.ref-name[data-name="Curium Pharma"] img,
.ref-name[data-name="Société Générale"] img,
.ref-name[data-name="Crédit Agricole"] img,
.ref-name[data-name="MCA Ingénierie"] img{max-width:84%;max-height:45px}
.ref-name[data-name="AXA"] img,
.ref-name[data-name="CEA"] img{max-width:62%;max-height:48px}
.ref-name[data-name="Allianz"] img,
.ref-name[data-name="Novartis"] img,
.ref-name[data-name="Solvay"] img{max-width:75%;max-height:45px}
.ref-name[data-name="Galderma"] img,
.ref-name[data-name="Michael Page"] img{max-width:80%;max-height:40px}
.ref-name[data-name="Ipsen"] img{max-width:76%;max-height:48px}
.ref-name[data-name="Télévision Par Satellite"] img{max-width:68%;max-height:46px}
@media(max-width:590px){
 .ref-name.has-logo img{max-width:80%;max-height:38px}
 .ref-name.has-logo.logo-error::after{font-size:11px}
}

/* V6.5.5B — targeted refinement, original V6.5 geometry preserved */
:root{--paper:#edf2f4;--paper2:#f4f7f8;--card:#fbfcfc}
.offer-page{
 background:
 radial-gradient(circle at 84% 12%,rgba(47,113,152,.055),transparent 25%),
 radial-gradient(circle at 12% 88%,rgba(185,75,83,.045),transparent 23%),
 linear-gradient(135deg,#e9eff2 0%,#f6f8f9 48%,#edf2f4 100%)!important}
.detail-main{background:var(--card)!important}
.refs-main{
 background:
 radial-gradient(circle at 88% 12%,rgba(47,113,152,.045),transparent 24%),
 linear-gradient(135deg,#eaf0f2 0%,#f6f8f9 54%,#edf2f4 100%)}
.ref-name{background:var(--card)!important}
.projects{
 background:
 radial-gradient(circle at 86% 10%,rgba(47,113,152,.05),transparent 25%),
 radial-gradient(circle at 10% 90%,rgba(185,75,83,.045),transparent 24%),
 linear-gradient(135deg,#e6edef 0%,#f5f7f8 50%,#eaf0f2 100%)!important}
.mission-card{background:linear-gradient(145deg,#fcfdfd,#f0f4f5)!important}
.contact{background:linear-gradient(135deg,#e8eef1,#f5f8f9)!important}

/* Reference logo robustness: never leave a mysterious empty cell */
.ref-name.has-logo{background:#fbfcfc!important}
.ref-name.has-logo.logo-pending::after,
.ref-name.has-logo.logo-error::after{
 content:attr(data-name);position:absolute;inset:0;display:grid;place-items:center;
 padding:10px;text-align:center;color:#4f6675;font-size:12px;font-weight:700;z-index:1}
.ref-name.has-logo.logo-loaded::after{content:none}
.ref-name.has-logo.logo-loaded img{z-index:2}
.ref-name.has-logo.logo-error img{display:none!important}

/* Contact: one statement + one form, no duplicated offer cards */
.contact{grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr)!important}
.contact-copy{left:32px;right:32px;bottom:34px}
.contact-copy h2{max-width:330px}
.contact-copy p{max-width:340px;font-size:13px}
.contact-main{
 display:block!important;
 padding:clamp(28px,4.6vh,48px) max(34px,calc((100vw - var(--max))/2 + 24px)) 28px clamp(36px,5vw,64px)!important}
.contact-simple-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.contact-simple-head h3{
 font-family:"Sora",Inter,ui-sans-serif,sans-serif;
 font-size:clamp(1.8rem,2.8vw,2.75rem);line-height:1.03;letter-spacing:-.045em;margin:0}
.contact-simple-meta{display:grid;justify-items:end;gap:6px;text-align:right}
.contact-simple-meta .mail{font-size:14px;font-weight:800}
.contact-simple-meta span{font-size:10px;color:#748793;max-width:310px}
.contact-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.contact-tag{
 border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.06);
 padding:5px 7px;color:#dce5e9;font-size:10px;font-weight:700}
.contact .form-card{
 max-width:820px;margin-left:0;padding:18px 20px;
 box-shadow:0 14px 38px rgba(18,47,65,.08);background:rgba(251,252,252,.97)}
.contact .form{grid-template-columns:1fr 1fr 1fr;gap:8px 10px}
.contact .field.full{grid-column:1/-1}
.contact .field.topic{grid-column:1/-1}
.contact .field.message{grid-column:1/-1}
.contact textarea{min-height:82px}
.contact .submit{grid-column:1/2}
.contact .form-note{grid-column:2/-1;align-self:center}

@media(max-width:820px){
 .contact-main{padding:24px 16px 28px!important}
 .contact-simple-head{align-items:flex-start}
 .contact .form{grid-template-columns:1fr 1fr}
}
@media(max-width:590px){
 .contact-simple-head{display:grid;gap:8px;margin-bottom:12px}
 .contact-simple-meta{justify-items:start;text-align:left}
 .contact .form{grid-template-columns:1fr}
 .contact .field,.contact .field.full,.contact .field.topic,.contact .field.message,
 .contact .submit,.contact .form-note{grid-column:1}
 .contact textarea{min-height:92px}
}
