/* MICAVIA V2 · refinement of the approved visual identity. */
:root { --v2-ink:#0a2c4d; --v2-aqua:#04b9d5; --v2-border:#dce6e9; }
html { scroll-padding-top:106px; }
html:focus-within { scroll-behavior:smooth; }
:focus-visible { outline:3px solid #04b9d5; outline-offset:4px; }
img { max-width:100%; }
a { text-underline-offset:4px; }

/* Landing: compact evidence strip */
.hero__description { max-width:580px; }
.proof-strip { background:#eff7f7; border-top:1px solid #d7e6e9; border-bottom:1px solid #d7e6e9; }
.proof-strip__inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.proof-strip__inner>div { display:flex; align-items:center; gap:17px; padding:25px 26px; border-right:1px solid #d7e6e9; }
.proof-strip__inner>div:first-child { padding-left:0; }
.proof-strip__inner>div:last-child { border:0; }
.proof-strip strong { flex-shrink:0; color:#0b4265; font-size:clamp(1.3rem,2vw,1.9rem); line-height:1; font-weight:760; letter-spacing:-.04em; }
.proof-strip span { max-width:195px; color:#55748a; font-size:.75rem; line-height:1.45; }

/* Homepage projects: real screenshots carefully framed, without demo links */
.work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.work-card--photo { min-width:0; }
.work-card__visual--real { position:relative; height:270px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:linear-gradient(135deg,#071e3b 0%,#0b3b59 68%,#125d66 100%); }
.work-card__visual--real:after { content:""; position:absolute; inset:30px -25% auto auto; width:300px;height:300px;border:1px solid rgba(118,221,235,.22);border-radius:50%; }
.work-card__visual--real img { position:relative; z-index:1; width:auto;height:235px; min-width:130px; object-fit:cover; object-position:top; border:5px solid #f7fbfb; border-radius:14px 14px 4px 4px; box-shadow:0 22px 35px rgba(0,0,0,.35); transition:transform .4s ease; }
.work-card--photo:hover .work-card__visual--real img { transform:translateY(-5px); }
.work-card__workno { position:absolute;top:22px;left:25px;z-index:2;font-size:.68rem;letter-spacing:.19em;text-transform:uppercase;font-weight:700;color:#8ddef1; }
.work-card__visual--real .work-card__corner { z-index:2; max-width:75%; white-space:normal; text-align:left; }
.cred-teaser { border-top:1px solid #dce8e9; }
.cred-teaser__inner { display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:80px; }
.cred-teaser h2 { margin:15px 0 18px; }
.cred-teaser p { max-width:490px; color:#637486; line-height:1.75; }
.cred-teaser .link-arrow { display:inline-flex;margin-top:18px; }
.cred-teaser__names { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px; }
.cred-teaser__names span { padding:15px 18px;background:#f6faf9;border:1px solid #dbe9e9;line-height:1.4;color:#183e58;font-weight:650;font-size:.82rem; }

/* Case studies: problem / intervention / outcomes */
.case-studies { padding-top:75px; }
.case-studies .project-disclaimer { max-width:1000px;margin:0 auto 62px;padding:17px 22px;border-left:3px solid var(--v2-aqua);background:#edf7f7;color:#446277;line-height:1.7;font-size:.86rem; }
.case-study { scroll-margin-top:115px; border-top:1px solid #d9e4e7; padding:64px 0 78px; }
.case-study__intro { max-width:920px; margin-bottom:37px; }
.case-study__eyebrow { display:flex; align-items:center; gap:17px; color:#42778b; font-size:.77rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.case-no {display:grid;place-items:center; width:43px;height:43px;border:1px solid #bce0e6;border-radius:50%;color:#087e9d;letter-spacing:0;font-size:.85rem;}
.case-study h2 { font-size:clamp(2rem,4vw,3.7rem);margin:14px 0 8px;line-height:1.1; }
.case-study__headline { font-size:clamp(1.05rem,1.65vw,1.44rem); font-weight:620; line-height:1.48;letter-spacing:-.02em;color:#31546c; }
.case-study__columns { display:grid;grid-template-columns:.83fr 1.17fr;gap:52px;align-items:start; }
.case-story>div { margin-bottom:24px; }
.case-story h3 { margin:0 0 9px;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:#096e8a; }
.case-story p {margin:0;color:#536b79;line-height:1.75;font-size:.93rem; }
.check-list { margin:0; padding:0; list-style:none;display:grid;gap:11px; }
.check-list li {position:relative; padding-left:21px;color:#2e4b60;font-size:.89rem;line-height:1.55; }
.check-list li:before {content:"";position:absolute;left:0;top:8px;width:8px;height:8px;background:#1bb2c4;border-radius:2px;transform:rotate(45deg);}
.case-meta { padding-top:21px;border-top:1px solid #d9e4e7;display:grid;gap:13px; }
.case-story .case-meta p { margin:0; display:flex;flex-direction:column;gap:4px;line-height:1.5; }
.case-meta strong {font-size:.69rem;letter-spacing:.09em;text-transform:uppercase;color:#5c8497; }
.case-meta span { color:#315068; }
.case-gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;background:#f2f7f5;border:1px solid #dce8e4;padding:22px;border-radius:11px;overflow:hidden; }
.case-shot {min-width:0;margin:0;display:flex;flex-direction:column; }
.case-shot img {width:100%;height:330px;object-fit:cover;object-position:top;border:5px solid #fff;border-radius:12px;box-shadow:0 12px 20px rgba(14,50,69,.12);background:#fff; }
.case-shot figcaption {margin-top:11px;color:#5c7681;font-size:.68rem;line-height:1.45; }
#educaspe .case-gallery {grid-template-columns:.7fr 1.3fr;grid-template-rows:auto auto;}
#educaspe .case-gallery .case-shot:first-child {grid-row:span 2;}
#educaspe .case-gallery .case-shot:first-child img {height:414px;}
#educaspe .case-gallery .case-shot:nth-child(n+2) img {height:172px;object-fit:contain;}
#educaspe .case-gallery .case-shot:nth-child(n+2) figcaption {margin-top:6px;}
.case-study:nth-of-type(even) { position:relative; }
.case-study:nth-of-type(even):before {content:"";position:absolute;z-index:-1;inset:0 calc(-1 * max(16px,(100vw - 1160px)/2));background:linear-gradient(110deg,rgba(235,247,248,.55),rgba(255,255,255,0));pointer-events:none;}
.case-conclusion {display:grid;grid-template-columns:1fr auto;align-items:center;gap:22px;background:#eef7f8;border:1px solid #d0e5e9;padding:38px 40px;}
.case-conclusion h2 {font-size:clamp(1.5rem,2.4vw,2.3rem);margin:0 0 9px;}
.case-conclusion p {color:#4c6776;line-height:1.7;margin:0;max-width:630px;}
.case-conclusion .btn {justify-self:end;white-space:nowrap;}

/* Human profile and training credentials */
.field-story__inner {display:grid;grid-template-columns:.82fr 1.18fr;gap:87px;align-items:center;}
.field-story__photo {position:relative;overflow:hidden; background:#e2eeec;box-shadow:16px 16px 0 #d9e9e9;}
.field-story__photo img {display:block;width:100%;height:420px;object-fit:cover;object-position:center top;}
.field-story__photo span {position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(4,30,52,.86));padding:47px 22px 20px;color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.06em;}
.field-story h2 {margin:16px 0 21px;}
.field-story p {max-width:620px;color:#596d7a;line-height:1.8;}
.milestone {margin-top:24px;border-left:3px solid #08bed9;background:#edf8f9;padding:18px 20px;display:grid;gap:7px;}
.milestone strong {font-size:.86rem;color:#143d58;}
.milestone span {font-size:.84rem;color:#4c6979;line-height:1.65;}
.training-section {background:#f4f7f6;}
.training-intro {max-width:920px;margin-bottom:37px;}
.training-intro h2 {margin:16px 0 19px;}
.training-intro h2 em {font-style:normal;color:#05a6c2;}
.training-intro p {font-size:.95rem;line-height:1.8;color:#557180;max-width:790px;}
.training-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.training-category {min-width:0;background:#fff;border:1px solid #dce8e8;padding:28px 25px;box-shadow:0 9px 28px rgba(26,64,80,.035);}
.training-category__eyebrow {color:#18809c;font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;}
.training-category h3 {margin:12px 0 20px;color:#123754;font-size:1.26rem;line-height:1.35;}
.training-category ul {list-style:none;margin:0;padding:0;}
.training-category li {padding:13px 0;border-top:1px solid #e8eff0;display:grid;gap:5px;}
.training-category li strong {color:#27465d;font-size:.89rem;font-weight:650;line-height:1.45;overflow-wrap:anywhere;}
.training-category li span {color:#7a8792;font-size:.73rem;line-height:1.55;}
.training-footnote {color:#607785;max-width:970px;font-size:.81rem;line-height:1.7;margin:24px 0 14px;}

/* Multi-channel contact, no public demos */
.contact-actions {display:grid;gap:12px;margin:29px 0 0;}
.contact-actions>.btn {justify-content:space-between;}
.contact-action {display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 19px;background:rgba(255,255,255,.085);border:1px solid rgba(255,255,255,.23);border-radius:5px;color:#fff;text-decoration:none;transition:background .2s;}
.contact-action:hover {background:rgba(255,255,255,.16);}
.contact-action strong {font-weight:650;font-size:.85rem;}
.contact-action span {color:#d6ebf0;font-size:.84rem;line-height:1.5;text-align:right;}
.contact-disclaimer {margin-top:24px;color:#a8c8d5;font-size:.74rem;line-height:1.55;}
.legal-updated {margin-top:38px;}

/* Tablet & phone */
@media(max-width:1100px){
 .case-study__columns {gap:28px;grid-template-columns:.8fr 1.2fr;}
 .case-gallery {padding:12px;gap:9px;}
 .case-shot img {height:270px;}
 .field-story__inner{gap:46px;}
 .training-category{padding:24px 20px;}
 .cred-teaser__inner{gap:45px;}
}
@media(max-width:850px){
 .proof-strip__inner>div{padding:22px 13px;flex-direction:column;align-items:flex-start;gap:6px;}
 .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .cred-teaser__inner {grid-template-columns:1fr;gap:28px;}
 .case-study__columns {grid-template-columns:1fr;gap:17px;}
 .case-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
 .case-story>div{margin:0;}
 .case-meta{grid-column:1/-1;}
 .case-shot img {height:350px;}
 .field-story__inner{grid-template-columns:1fr;}
 .field-story__photo{max-width:570px;}
 .training-grid {grid-template-columns:1fr 1fr;}
 .training-category:last-child{grid-column:1/-1;}
 .case-conclusion{grid-template-columns:1fr;}
 .case-conclusion .btn{justify-self:start;}
}
@media(max-width:580px){
 .proof-strip__inner {grid-template-columns:1fr 1fr;}
 .proof-strip__inner>div{padding:16px 0;gap:5px;}
 .proof-strip__inner>div:nth-child(2){border:0;padding-left:18px;}
 .proof-strip__inner>div:last-child{grid-column:1/-1;border-top:1px solid #d7e6e9;flex-direction:row;align-items:center;gap:12px;}
 .proof-strip strong{font-size:1.34rem;}
 .proof-strip span{font-size:.7rem;}
 .work-grid{grid-template-columns:1fr;}
 .work-card__visual--real{height:230px;}
 .work-card__visual--real img{height:190px;}
 .cred-teaser__names{grid-template-columns:1fr 1fr;gap:7px;}
 .cred-teaser__names span{padding:12px 10px;font-size:.72rem;}
 .case-studies{padding-top:45px;}
 .case-studies .project-disclaimer{padding:14px 15px;margin-bottom:20px;}
 .case-study{padding:40px 0 48px;}
 .case-story{grid-template-columns:1fr;gap:8px;}
 .case-story>div{margin-bottom:13px;}
 .case-study__columns{gap:12px;}
 .case-study__eyebrow{font-size:.65rem;gap:11px;}
 .case-gallery{gap:7px;padding:10px;grid-template-columns:repeat(2,minmax(0,1fr));}
 .case-shot img{height:260px;border-width:3px;}
 .case-gallery .case-shot:nth-child(3){grid-column:1/-1;max-width:53%;justify-self:center;}
 #educaspe .case-gallery {grid-template-columns:1fr 1fr;}
 #educaspe .case-shot:first-child img{height:270px!important;}
 #educaspe .case-gallery .case-shot:nth-child(n+2) img{height:111px;}
 #educaspe .case-gallery .case-shot:nth-child(3){grid-column:2;max-width:100%;}
 .case-shot figcaption{font-size:.62rem;}
 .case-conclusion{padding:25px 22px;}
 .case-conclusion .btn{width:100%;white-space:normal;}
 .field-story__photo img{height:330px;}
 .field-story__inner{gap:35px;}
 .training-grid{grid-template-columns:1fr;}
 .training-category:last-child{grid-column:auto;}
 .contact-action{flex-direction:column;align-items:flex-start;gap:5px;}
 .contact-action span{text-align:left;}
}
@media(prefers-reduced-motion:reduce){.work-card__visual--real img{transition:none;}}
/* Prevent decorative alternate-case background from enlarging the viewport. */
.case-study:nth-of-type(even):before { inset:0; }

/* Compatibility with the current GitHub founder portrait design */
.founder__insignia--portrait{height:480px;background:linear-gradient(150deg,#edf5f2,#dcebed);border:1px solid #d1e1e1;}
.founder__insignia--portrait .founder__portrait-frame{width:min(73%,330px);aspect-ratio:4/5;border:8px solid rgba(255,255,255,.93);border-radius:24px;box-shadow:0 22px 48px rgba(6,27,51,.18);background-color:#dce9e8;background-image:url("../img/michel-affedjou-portrait.jpg"),url("../logos/micavia-symbol.svg");background-position:center 17%,center;background-size:cover,63% auto;background-repeat:no-repeat;}
@media(max-width:850px){.founder__insignia--portrait{height:380px;}}
@media(max-width:580px){.founder__insignia--portrait{height:345px;}}