/* Direction éditoriale « portail de référence » — v3.4 */
.portal-intro,.featured-section,.directory-section{position:relative;overflow:hidden}
.portal-intro:before,.featured-section:before,.directory-section:before{position:absolute;right:-.02em;top:-.2em;color:rgba(7,19,41,.035);font-size:clamp(12rem,23vw,27rem);font-weight:950;line-height:1;letter-spacing:-.1em;pointer-events:none}
.portal-intro:before{content:"01"}.featured-section:before{content:"02"}.directory-section:before{content:"04"}
.portal-intro>.shell,.featured-section>.shell,.directory-section>.shell{position:relative;z-index:1}

@media(min-width:1051px){
  .journey-grid{grid-template-columns:repeat(4,1fr)}
  .journey-card{min-height:245px;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;align-items:start;padding:30px}
  .journey-card>span{width:42px;height:42px}
  .journey-card>div{grid-column:1/-1;align-self:end}
  .journey-card>div p{max-width:260px}
  .journey-card>i{grid-column:2;grid-row:1}

  .reference-grid{grid-template-columns:repeat(12,1fr);gap:22px}
  .reference-card{grid-column:span 3;min-height:365px}
  .reference-card:first-child{grid-column:span 6;min-height:410px;padding:42px;background:linear-gradient(145deg,#071329 0%,#0d2947 100%);border-color:#173957;color:#fff}
  .reference-card:first-child .reference-top>span{color:var(--acid);font-size:3rem}
  .reference-card:first-child .reference-top small{color:var(--cyan)}
  .reference-card:first-child h3{max-width:580px;font-size:clamp(2.4rem,3vw,3.6rem)}
  .reference-card:first-child p{max-width:680px;color:#d4e0ec;font-size:1.05rem}
  .reference-card:first-child ul{color:#b8c8d8;font-size:.91rem}
  .reference-card:first-child>a{color:var(--acid)}
  .reference-card:nth-child(4),.reference-card:nth-child(5),.reference-card:nth-child(6){grid-column:span 4}
  .reference-card:nth-child(7),.reference-card:nth-child(8){grid-column:span 6;min-height:310px}
  .reference-card:nth-child(7){background:#e8fafd}
  .reference-card:nth-child(8){background:#f2f5ff}
}

.reference-card{position:relative;overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s}
.reference-card:after{content:"";position:absolute;right:-52px;bottom:-52px;width:110px;height:110px;border:1px solid rgba(9,143,158,.14);border-radius:50%}
.reference-card:hover{transform:translateY(-5px);border-color:#9fdde4;box-shadow:0 24px 60px rgba(7,19,41,.11)}

.situation-section{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 8%,#12385c 0,transparent 28%),#071329}
.situation-section:after{content:"03";position:absolute;left:-.05em;bottom:-.25em;color:rgba(255,255,255,.025);font-size:25rem;font-weight:950;line-height:1;pointer-events:none}
.situation-layout{position:relative;z-index:1}
.situation-links a{position:relative}
.situation-links a:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;background:var(--acid);transition:.2s}
.situation-links a:hover:before{top:15%;height:70%}

.profile-section{background:#fff}
.profile-editorial{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(520px,.92fr);gap:24px}
.profile-visual{position:relative;min-height:650px;overflow:hidden;border-radius:20px;background:var(--navy)}
.profile-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.profile-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,14,31,.02) 25%,rgba(4,14,31,.94) 100%)}
.profile-visual__copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:48px;color:#fff}
.profile-visual__copy h2{max-width:650px;font-size:clamp(2.7rem,3.8vw,4.5rem)}
.profile-visual__copy p:not(.eyebrow){max-width:610px;color:#d6e1ec;font-size:1.05rem}
.profile-grid{grid-template-columns:1fr 1fr;gap:24px}
.profile-grid>a{position:relative;min-height:313px;display:flex;flex-direction:column;padding:32px;overflow:hidden}
.profile-grid>a:nth-child(1),.profile-grid>a:nth-child(4){background:#f3f8fb}
.profile-grid>a:after{content:"→";position:absolute;right:26px;top:30px;color:#9eb0c0;font-size:1.25rem}
.profile-grid>a b{margin-top:auto}

.tools-showcase{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 14%,#164269 0,transparent 31%),#0a1b34}
.tools-showcase:after{content:"OUTILS";position:absolute;right:-.02em;bottom:-.2em;color:rgba(255,255,255,.025);font-size:clamp(8rem,16vw,18rem);font-weight:950;letter-spacing:-.08em;pointer-events:none}
.tools-showcase>.shell{position:relative;z-index:1}
.tool-grid{grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);grid-template-rows:1fr 1fr}
.tool-card{min-height:0}
.tool-card--primary{grid-row:1/3;min-height:580px;padding:54px;background:linear-gradient(145deg,#0b9caf,#07536e)}
.tool-card--primary h3{max-width:580px;font-size:clamp(2.5rem,3.5vw,4.2rem)}
.tool-card--primary p{max-width:620px;font-size:1.08rem}
.tool-card:not(.tool-card--primary){padding:32px}
.tool-card:not(.tool-card--primary) h3{font-size:1.55rem}
.tool-card:hover{border-color:rgba(198,255,0,.65);transform:translateY(-3px)}

.method-proof{position:relative}
.method-proof:before{content:"";position:absolute;left:0;top:108px;width:7%;height:2px;background:var(--cyan)}
.proof-photo img{filter:saturate(.9) contrast(1.03)}
.proof-copy{padding-left:20px}
.proof-list>div{transition:.2s}
.proof-list>div:hover{padding-left:12px;background:#f4f9fb}

.directory-column{position:relative;border-radius:4px;border-top:4px solid var(--cyan);transition:.2s}
.directory-column:nth-child(2){border-top-color:#3489ff}.directory-column:nth-child(3){border-top-color:var(--acid)}.directory-column:nth-child(4){border-top-color:var(--navy)}
.directory-column:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(7,19,41,.09)}
.directory-column>a:hover{padding-left:7px;color:#087c89}

@media(max-width:1050px){
  .profile-editorial{grid-template-columns:1fr}
  .profile-visual{min-height:560px}
  .profile-grid{grid-template-columns:1fr 1fr}
  .tool-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .tool-card--primary{grid-row:auto;min-height:420px}
}
@media(max-width:700px){
  .portal-intro:before,.featured-section:before,.directory-section:before,.situation-section:after{display:none}
  .profile-visual{min-height:530px;border-radius:14px}
  .profile-visual__copy{padding:28px}
  .profile-visual__copy h2{font-size:2.55rem}
  .profile-grid{grid-template-columns:1fr}
  .profile-grid>a{min-height:245px}
  .tool-card--primary{min-height:430px;padding:32px}
  .tool-card--primary h3{font-size:2.5rem}
  .proof-copy{padding-left:0}
}
