/*
Theme Name: Michaël Costantino V2
Author: Michaël Costantino
Description: Site professionnel SI, infrastructure et création numérique. Thème indépendant sans dépendance Oshine.
Version: 1.0.9
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: michael-costantino-v2
*/

:root{--ink:#0b213a;--muted:#4b5c6a;--paper:#f6f4ef;--line:#d6d0c4;--accent:#945605}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}header{min-height:96px;display:flex;align-items:center;justify-content:space-between;padding:20px 56px;border-bottom:1px solid var(--line);gap:20px}.brand{font-weight:700;font-size:23px;letter-spacing:-1px}.brand>span{color:var(--accent);margin-left:14px}.brand .brand-name{font-size:14px;color:var(--ink);letter-spacing:0;font-weight:400;margin-left:12px}nav{display:flex;gap:32px;align-items:center;font-size:13px}.nav-contact{border:1px solid var(--ink);padding:10px 18px}.nav-contact span{margin-left:24px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;padding-block:82px 72px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin:0 0 26px}.dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(50px,5.4vw,78px);letter-spacing:-3.8px;line-height:1.04;font-weight:500;margin-bottom:28px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--accent)}.intro{font-size:17px;max-width:480px;color:var(--muted);line-height:1.8}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.button{background:var(--ink);color:white;padding:16px 22px;font-size:13px;display:inline-flex;gap:32px;align-items:center}.text-link{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:5px}.location{font-size:11px;color:var(--muted);margin:31px 0 0}.location span{margin:0 12px;color:#667686}.hero-panel{background:var(--ink);color:#f6f4ef;padding:28px;min-height:478px;position:relative;overflow:hidden}.panel-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#d4dce2}.orbit{height:285px;position:relative;display:grid;place-items:center}.orbit:before,.orbit:after,.orbit-inner{content:'';position:absolute;width:225px;height:225px;border:1px solid #617384;border-radius:50%}.orbit:after{width:260px;height:140px;transform:rotate(-35deg)}.orbit-inner{width:260px;height:140px;transform:rotate(35deg)}.orbit-center{z-index:1;background:var(--ink);font-size:21px;letter-spacing:3px;padding:12px}.orbit-center span{font-size:16px;color:#e7c58a;margin:0 12px}.node{position:absolute;width:9px;height:9px;border-radius:50%;background:#c39b5d;box-shadow:0 0 0 6px #c39b5d12}.n1{left:calc(50% - 106px);top:89px}.n2{right:calc(50% - 105px);top:192px}.n3{left:calc(50% - 50px);top:39px}.n4{right:calc(50% - 49px);bottom:36px}.panel-bottom{display:flex;justify-content:space-between;align-items:center}.panel-bottom p{line-height:1.5;font-family:Georgia,serif;font-size:24px;margin-bottom:20px}.panel-bottom strong{font-weight:400;color:#e7c58a}.cross{font-size:40px}.panel-tags{display:flex;gap:16px;border-top:1px solid #516374;padding-top:15px;font-size:10px;color:#d4dce2}.metrics{display:grid;grid-template-columns:repeat(4,1fr);padding-block:27px 33px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metrics>div{padding-left:30px;border-left:1px solid var(--line)}.metrics>div:first-child{padding-left:0;border:0}.metrics strong{font-size:35px;font-weight:500;letter-spacing:-1px}.metrics strong span{font-size:12px;letter-spacing:0;font-weight:400}.metrics p{font-size:10px;color:var(--muted);margin:3px 0 0}.section{padding-block:96px}.section-heading{display:grid;grid-template-columns:1.5fr 1fr;column-gap:60px;align-items:end;margin-bottom:40px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:18px}h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:-1.8px;line-height:1.17;font-weight:500;margin-bottom:0}.section-heading>p:last-child{font-size:14px;color:var(--muted);margin:0;max-width:350px}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project{border-top:2px solid var(--ink);padding-top:20px}.project-head{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.9px;color:var(--muted);margin-bottom:35px}h3{font-size:24px;font-weight:500;line-height:1.3;letter-spacing:-.6px}.project>p,.expertise-grid p{font-size:14px;color:var(--muted)}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}.tags span{border:1px solid var(--line);font-size:10px;padding:4px 9px}.career{background:#ece7de}.timeline{margin-top:45px}details{border-top:1px solid #d6d0c4}details:last-child{border-bottom:1px solid #d6d0c4}summary{display:grid;grid-template-columns:210px 1fr 26px;gap:22px;padding-block:24px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.date{font-size:12px;color:var(--muted);padding-top:4px}summary strong{font-size:20px;display:block;font-weight:500}summary span span{display:block;font-size:12px;color:var(--muted)}.plus{font-size:23px;font-weight:400}details[open] .plus{transform:rotate(45deg)}.detail{margin-left:232px;max-width:750px;padding:0 35px 23px 0;font-size:14px;color:var(--muted)}.detail p{margin:0}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.index{color:var(--accent);font-size:12px;display:block;margin-bottom:25px}.creative{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;border:1px solid #d6d0c4;background:#ece7de;padding:54px}.creative h2{margin-bottom:24px}.creative p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:530px}.creative-right{border-left:1px solid #d1c6b4;padding-left:50px}.creative-symbol{font-family:Georgia,serif;font-size:85px;line-height:1.1;letter-spacing:-7px;display:block;margin-bottom:20px}.creative-symbol span{color:var(--accent);font-style:italic}.creative-right p{font-weight:700}.creative ul{padding-left:18px;font-size:12px;color:var(--muted);line-height:2}.learning{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.learning h2{margin-bottom:30px}.learning>div>p:last-child{font-size:12px;color:var(--muted)}.courses>div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding:18px 0;gap:15px}.courses>div>span{font-size:11px;color:var(--accent)}.courses p{font-size:12px;color:var(--muted);margin:0}.courses strong{font-size:14px;color:var(--ink);font-weight:500}.contact{background:var(--ink);color:var(--paper);padding-block:75px}.contact .eyebrow{color:#e7c58a}.contact h2{font-size:clamp(36px,4.7vw,64px);margin-bottom:24px}.contact em{color:#e7c58a}.contact p:not(.eyebrow){color:#d4dce2;font-size:14px}.light{background:var(--paper);color:var(--ink);margin-top:12px}.contact-links{display:flex;gap:35px;flex-wrap:wrap;margin-top:38px;font-size:12px;color:#d4dce2}footer{display:flex;justify-content:space-between;gap:20px;padding-block:27px;font-size:10px;color:var(--muted)}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}section[id]{scroll-margin-top:25px}@media(min-width:1500px){.hero{padding-block:100px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}header{padding-inline:32px}.brand-name{display:none}.hero{gap:32px;grid-template-columns:1.2fr 1fr}h1{font-size:55px}.hero-panel{min-height:450px;padding:22px}.panel-top{font-size:8px}.metrics strong{font-size:29px}.metrics>div{padding-left:16px}.metrics strong span{display:block}.projects{gap:20px}.project h3{font-size:22px}.creative{gap:35px;padding:35px}.creative-right{padding-left:30px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}header{padding:18px 20px;min-height:76px}.brand{font-size:22px}.brand>span{margin-left:4px}nav{gap:14px;font-size:11px}nav>a:nth-child(3){display:none}.nav-contact{padding:7px 10px}.nav-contact span{margin-left:7px}.hero{grid-template-columns:1fr;padding-block:46px;gap:36px}.eyebrow{font-size:9px;letter-spacing:1.4px}h1{font-size:54px;letter-spacing:-2.8px}.intro{font-size:16px}.actions{gap:20px}.hero-panel{min-height:405px}.orbit{height:240px}.orbit:before{width:200px;height:200px}.panel-bottom p{font-size:22px}.metrics{grid-template-columns:1fr 1fr;gap:23px 10px}.metrics>div:nth-child(3){padding-left:0;border:0}.metrics strong{font-size:32px}.metrics strong span{display:inline;font-size:11px}.metrics p{font-size:9px}.section{padding-block:60px}.section-heading{grid-template-columns:1fr;gap:24px}.section-heading .eyebrow{margin:0}.section-heading>p:last-child{max-width:none}.projects,.expertise-grid{grid-template-columns:1fr;gap:35px}.project-head{margin-bottom:20px}.project h3{max-width:400px}.expertise-grid{margin-top:30px}.expertise-grid article{border-top:1px solid var(--line);padding-top:20px}.index{margin-bottom:15px}summary{grid-template-columns:1fr 24px;gap:8px;padding-block:20px}.date{grid-column:1/-1}.detail{margin-left:0;padding-right:10px}.timeline{margin-top:30px}.creative{grid-template-columns:1fr;padding:28px;gap:35px}.creative-right{padding-left:0;padding-top:25px;border-left:0;border-top:1px solid #d1c6b4}.creative-symbol{font-size:65px}.learning{grid-template-columns:1fr;gap:30px}.courses>div{grid-template-columns:85px 1fr}.contact{padding-block:54px}.contact-links{gap:18px}footer{flex-wrap:wrap}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.hero-panel,.actions,.contact,.skip,footer{display:none}.wrap{width:100%}.hero{display:block;padding:20px 0}h1{font-size:35px}.section{padding:24px 0}.creative{margin-top:20px}.project,details{break-inside:avoid}body{background:white}details:not([open]) .detail{display:block}.section-heading h2,h2{font-size:28px}}


.hero-name{font-size:15px;letter-spacing:.3px;margin-bottom:18px;color:var(--muted)}

.creative-shortcut{display:inline-block;font-size:11px;color:var(--accent);margin-top:14px;text-decoration:underline;text-underline-offset:4px}.creative-pillars{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;border-top:1px solid #d1c6b4;padding-top:32px}.creative-pillars h3{font-size:21px}.creative-pillars .index{margin-bottom:14px}.creative .creative-pillars p{font-size:13px;margin-bottom:0}@media(max-width:700px){.creative-pillars{grid-template-columns:1fr;gap:28px}}

.creative .studio-label{font-size:26px;font-weight:500;letter-spacing:.5px;color:var(--ink);margin-bottom:24px}

/* Preserve the visual identity when legacy builders load global typography. */
body.mc-v2,body.mc-v2 p,body.mc-v2 a,body.mc-v2 li,body.mc-v2 summary,body.mc-v2 span{font-family:Arial,Helvetica,sans-serif!important}
body.mc-v2 h1,body.mc-v2 h2,body.mc-v2 h3{font-family:Arial,Helvetica,sans-serif!important;font-weight:500!important}
body.mc-v2 em,body.mc-v2 .panel-bottom p,body.mc-v2 .panel-bottom strong{font-family:Georgia,'Times New Roman',serif!important}
body.mc-v2 .hero h1{line-height:1.04!important;letter-spacing:-3.8px!important}
body.mc-v2 h2{line-height:1.17!important}body.mc-v2 h3{line-height:1.3!important}
@media(max-width:700px){body.mc-v2 .hero h1{letter-spacing:-2.8px!important}}

.detail .role-context{font-weight:700;color:var(--ink);margin-bottom:16px;font-size:13px}.mission-list{padding-left:19px;margin:0}.mission-list li{padding-left:5px;margin-bottom:12px;line-height:1.8}.detail .tags{margin-top:22px}.career .detail{max-width:900px;padding-bottom:32px}.career summary strong{font-size:23px}.career summary span span{font-size:14px}.career .section-heading>p:last-child{max-width:390px}

/* Explicit foregrounds protect dark sections from legacy global heading styles. */
body.mc-v2 .contact h2,.contact h2{color:#f6f4ef!important}
body.mc-v2 .contact h2 em,.contact h2 em{color:#e7c58a!important}
body.mc-v2 .hero-panel .panel-bottom p,.hero-panel .panel-bottom p{color:#f6f4ef!important}
body.mc-v2 .hero-panel .panel-bottom strong,.hero-panel .panel-bottom strong{color:#e7c58a!important}

/* Palette from the supplied project-management CV: navy, ivory and gold. */
.hero-panel,.contact{background:#0c2232}.orbit-center{background:#0c2232}.dot{background:#c39b5d}.project{border-top-color:#c39b5d}.creative .eyebrow,.index,.courses>div>span{color:#945605}
.contact .eyebrow,.panel-bottom strong{color:#e7c58a}.hero-panel .node{background:#c39b5d;box-shadow:0 0 0 6px #c39b5d18}.contact .button.light{background:#e7c58a;color:#0b213a}.nav-contact{border-color:#b98d4e}

body.mc-v2{color:#0b213a!important}body.mc-v2 h1,body.mc-v2 h2,body.mc-v2 h3{color:#0b213a!important}


.profile-card{text-align:center;display:flex;flex-direction:column;align-items:center;padding:24px 20px;min-width:0}.portrait-frame{width:250px;height:250px;border-radius:50%;overflow:hidden;background:#e8e7e1;border:1px solid #c39b5d;outline:1px solid #d6d0c4;outline-offset:12px;margin:12px 0 34px}.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.35);object-position:center 44%}.profile-card .profile-name{font-size:25px;font-weight:500;color:#0b213a;margin:0 0 5px;letter-spacing:-.5px}.profile-card .profile-role{font-size:12px;color:#4b5c6a;margin:0}.profile-rule{width:45px;height:1px;background:#c39b5d;margin:24px 0 18px}.profile-card .profile-note{font-family:Georgia,'Times New Roman',serif!important;font-size:21px;color:#0b213a;line-height:1.5;margin:0 0 22px}.profile-skills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.profile-skills span{font-size:10px;color:#4b5c6a;border:1px solid #d6d0c4;padding:4px 10px}@media(max-width:1000px){.portrait-frame{width:210px;height:210px}}@media(max-width:700px){.profile-card{padding-block:20px 10px}.portrait-frame{width:220px;height:220px}}@media print{.profile-card{display:none}}

.portrait-frame img{transform:none;object-position:center 30%}
