/* Phocea Solutions — production 2.2.0. Visual continuity with the approved homepage. */
:root{--solutions-serif:var(--phocea-serif);--solutions-sans:var(--phocea-sans);--solutions-hand:var(--phocea-hand);--solutions-violet:var(--phocea-violet);--solutions-ink:var(--phocea-ink);--solutions-paper:var(--phocea-paper);--solutions-line:var(--phocea-line);--solutions-muted:var(--phocea-muted)}
body.phocea-solutions{overflow-x:hidden}.solutions-main{position:relative;isolation:isolate}.solutions-main:before{content:"";position:absolute;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(circle at 72% 8%,rgba(120,57,238,.035),transparent 20%),radial-gradient(circle at 18% 47%,rgba(17,16,14,.025),transparent 18%)}
.solutions-main .wrap{position:relative}.solutions-kicker{margin:0 0 12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:var(--solutions-violet)}
.solutions-hero{min-height:650px;padding:clamp(52px,6vw,92px) 0 clamp(58px,6vw,86px);display:grid;grid-template-columns:minmax(460px,.88fr) minmax(600px,1.12fr);gap:clamp(24px,4vw,72px);align-items:center}.solutions-hero-copy{padding-left:2.2%;max-width:780px}.solutions-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;margin:0 0 22px}.solutions-eyebrow span{color:var(--solutions-violet);margin-left:8px;position:relative}.solutions-eyebrow span:after{content:"";position:absolute;inset:-4px -9px;border:1.6px solid var(--solutions-violet);border-radius:50%;transform:rotate(-4deg)}.solutions-hero h1{font:700 clamp(50px,4.2vw,80px)/.96 var(--solutions-serif);letter-spacing:-.05em;margin:0 0 26px;max-width:850px}.solutions-hero h1 em,.solutions-bridge h2 em,.solutions-catalog-intro h2 em,.solutions-flow h2 em,.solutions-start h2 em{font-style:normal;position:relative}.solutions-hero h1 em:after{content:"";position:absolute;left:-1%;right:-3%;bottom:-5px;height:3px;background:var(--solutions-violet);transform:rotate(-1deg)}.solutions-lead{font-size:15.5px;line-height:1.7;color:#302d29;max-width:690px;margin:0 0 22px}.solutions-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.solutions-chips a{font-size:10.5px;font-weight:800;border:1px solid var(--solutions-line);border-radius:999px;padding:8px 11px;background:rgba(255,255,255,.6);transition:.2s}.solutions-chips a:hover{border-color:rgba(120,57,238,.45);color:var(--solutions-violet);transform:translateY(-2px)}.solutions-actions{display:flex;gap:10px;flex-wrap:wrap}
.solutions-orbit{height:500px;position:relative;overflow:hidden;border:1px solid rgba(25,22,18,.10);border-radius:16px;background:rgba(255,255,255,.18);box-shadow:inset 0 0 70px rgba(255,255,255,.5);transform-style:preserve-3d}.solutions-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(20,18,15,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(20,18,15,.052) 1px,transparent 1px);background-size:34px 31px;mask-image:radial-gradient(circle at center,#000 25%,transparent 78%)}.solutions-network{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.solutions-network path,.solutions-network circle{fill:none;stroke:rgba(17,16,14,.16);stroke-width:1.4;stroke-dasharray:4 7;vector-effect:non-scaling-stroke}.solutions-network circle{stroke:rgba(120,57,238,.22);stroke-dasharray:2 8}.solutions-orbit-center{position:absolute;left:50%;top:50%;width:190px;height:190px;translate:-50% -50%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(120,57,238,.3);background:rgba(247,244,238,.92);box-shadow:0 22px 55px rgba(17,16,14,.08),0 0 0 13px rgba(120,57,238,.025)}.solutions-orbit-center:before{content:"";position:absolute;inset:10px;border:1px dashed rgba(17,16,14,.15);border-radius:50%}.solutions-orbit-center img{position:relative;width:128px;height:auto;object-fit:contain}.solutions-orbit-center span{position:relative;font:13px var(--solutions-hand);transform:rotate(-3deg);color:#37322e}.solution-node{position:absolute;width:158px;min-height:90px;border:1px solid rgba(25,22,18,.14);border-radius:10px;background:rgba(255,255,255,.82);padding:10px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 32px rgba(17,16,14,.045);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;background-color .25s ease;z-index:3}.solution-node img{width:56px;height:56px;object-fit:contain;filter:grayscale(.1)}.solution-node span{font:700 12px/1.12 var(--solutions-serif)}.solution-node:hover,.solution-node.is-active{transform:translateY(-5px) rotate(-.5deg);border-color:rgba(120,57,238,.42);background:#fff;box-shadow:0 20px 40px rgba(17,16,14,.08)}.node-web{left:4%;top:8%;transform:rotate(-2deg)}.node-app{right:4%;top:7%;transform:rotate(2deg)}.node-ai{right:2%;top:44%;transform:rotate(-1deg)}.node-seo{right:14%;bottom:6%;transform:rotate(2deg)}.node-hosting{left:5%;bottom:8%;transform:rotate(-2deg)}.orbit-note{position:absolute;font:12px var(--solutions-hand);color:#3e3934;z-index:2}.orbit-note-one{left:18%;top:45%;transform:rotate(-5deg)}.orbit-note-two{right:23%;bottom:31%;transform:rotate(5deg);color:var(--solutions-violet)}
.solutions-bridge{padding:clamp(70px,8vw,128px) 0 clamp(74px,8vw,130px);display:grid;grid-template-columns:90px minmax(420px,1.2fr) minmax(340px,.8fr);gap:clamp(24px,4vw,68px);align-items:end;border-top:1px solid rgba(17,16,14,.13)}.solutions-bridge-index{font:700 12px var(--solutions-sans);color:var(--solutions-violet);letter-spacing:.08em;align-self:start;padding-top:8px}.solutions-bridge h2{font:700 clamp(34px,3.4vw,58px)/1.02 var(--solutions-serif);letter-spacing:-.04em;margin:0}.solutions-bridge h2 em:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--solutions-violet);transform:rotate(-1deg)}.solutions-bridge-copy{margin:0;color:#3d3833;font-size:14px;line-height:1.75;max-width:520px}
.solutions-catalog{padding:0 0 clamp(100px,10vw,170px);display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.55fr);gap:clamp(54px,7vw,130px);align-items:start}.solutions-catalog-intro{position:sticky;top:116px;padding-top:24px}.solutions-catalog-intro h2{font:700 clamp(36px,3.5vw,62px)/.98 var(--solutions-serif);letter-spacing:-.045em;margin:0 0 24px}.solutions-catalog-intro>p:not(.solutions-kicker){font-size:14px;line-height:1.68;color:#4b453e;max-width:380px}.solutions-hand-note{display:block;margin-top:34px;font:14px var(--solutions-hand);color:var(--solutions-violet);transform:rotate(-4deg)}.solutions-catalog-intro>img{width:105px;margin:3px 0 0 120px;transform:rotate(9deg);opacity:.78}.solutions-list{display:grid}.solution-panel{min-height:250px;border-top:1px solid rgba(17,16,14,.15);display:grid;grid-template-columns:56px 145px minmax(0,1fr);gap:26px;align-items:center;padding:36px 4px;position:relative;transition:transform .38s ease,background-color .38s ease,border-color .38s ease}.solution-panel:last-child{border-bottom:1px solid rgba(17,16,14,.15)}.solution-panel:before{content:"";position:absolute;inset:8px -18px;border-radius:14px;background:linear-gradient(90deg,rgba(120,57,238,.00),rgba(120,57,238,.00));z-index:-1;transition:.35s}.solution-panel.is-active{transform:translateX(10px);border-color:rgba(120,57,238,.36)}.solution-panel.is-active:before,.solution-panel:hover:before{background:linear-gradient(90deg,rgba(120,57,238,.05),rgba(255,255,255,.48) 60%,transparent)}.solution-panel-number{align-self:start;padding-top:12px;font-size:11px;font-weight:900;letter-spacing:.1em;color:var(--solutions-violet)}.solution-panel-icon{display:flex;flex-direction:column;align-items:center;gap:0}.solution-panel-icon img{width:118px;height:98px;object-fit:contain;transition:transform .3s ease}.solution-panel:hover .solution-panel-icon img{transform:translateY(-4px) rotate(-1deg)}.solution-panel-icon span{font:13px var(--solutions-hand);transform:rotate(-4deg)}.solution-panel-label{margin:0 0 6px!important;font-size:10px!important;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:var(--solutions-violet)!important}.solution-panel-copy h3{font:700 clamp(24px,2vw,34px)/1.05 var(--solutions-serif);letter-spacing:-.025em;margin:0 0 12px}.solution-panel-copy>p{font-size:13px;line-height:1.63;color:#454039;max-width:680px;margin:0 0 14px}.solution-panel-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}.solution-panel-tags span{font-size:9.5px;font-weight:800;border:1px solid rgba(25,22,18,.13);border-radius:999px;padding:6px 9px;background:rgba(255,255,255,.55)}.solution-panel-link{font-size:11px;font-weight:900;color:var(--solutions-violet);display:inline-flex;align-items:center;gap:8px}.solution-panel-link span{transition:transform .2s}.solution-panel-link:hover span{transform:translateX(4px)}
.solutions-flow{position:relative;background-image:var(--phocea-cta-bg);background-size:cover;background-position:center;color:#fff;margin:0 0 clamp(88px,9vw,150px);overflow:hidden}.solutions-flow:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,13,17,.82),rgba(10,13,17,.64),rgba(10,13,17,.86));pointer-events:none}.solutions-flow-inner{min-height:470px;padding:clamp(66px,7vw,105px) 0;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);gap:clamp(45px,7vw,120px);align-items:center}.solutions-flow-head{position:relative;z-index:1}.solutions-flow .solutions-kicker{color:#b99cff}.solutions-flow h2{font:700 clamp(38px,3.6vw,64px)/.98 var(--solutions-serif);letter-spacing:-.045em;margin:0 0 24px}.solutions-flow h2 em{color:#c4a9ff}.solutions-flow-head>p:last-child{font-size:13px;line-height:1.7;color:#c9c3bc;max-width:460px}.solutions-flow-track{position:relative;z-index:1;display:grid;grid-template-columns:1fr 48px 1fr 48px 1fr 48px 1fr;align-items:center;gap:10px}.solutions-flow-track i{font:30px var(--solutions-hand);font-style:normal;text-align:center;color:#9d73ff}.flow-step{min-height:180px;border-top:1px solid rgba(255,255,255,.22);padding:20px 8px 8px;display:flex;flex-direction:column}.flow-step span{font-size:10px;letter-spacing:.1em;color:#a98cff;font-weight:900}.flow-step b{font:700 clamp(23px,1.8vw,31px) var(--solutions-serif);margin-top:auto}.flow-step p{font-size:11px;color:#c9c3bc;margin:7px 0 0}.solutions-flow-doodle{position:absolute;right:2%;bottom:4%;width:120px;opacity:.65;filter:invert(1) grayscale(1) brightness(2)}
.solutions-start{padding:0 0 clamp(84px,9vw,140px)}.solutions-start-head{display:grid;grid-template-columns:minmax(430px,1.15fr) minmax(320px,.65fr);gap:clamp(40px,8vw,130px);align-items:end;margin-bottom:36px}.solutions-start h2{font:700 clamp(36px,3.4vw,58px)/1 var(--solutions-serif);letter-spacing:-.04em;margin:0}.solutions-start h2 em:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--solutions-violet);transform:rotate(-1deg)}.solutions-start-head>p{font-size:13px;line-height:1.7;color:#47413b;margin:0;max-width:500px}.solutions-start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.start-card{min-height:250px;border:1px solid var(--solutions-line);border-radius:10px;background:rgba(255,255,255,.5);padding:24px;display:flex;flex-direction:column;transition:.28s;position:relative;overflow:hidden}.start-card:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-72px;top:-74px;background:rgba(120,57,238,.05);transition:.3s}.start-card:hover{transform:translateY(-6px);border-color:rgba(120,57,238,.35);box-shadow:0 20px 42px rgba(17,16,14,.07)}.start-card:hover:after{scale:1.35}.start-card>span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--solutions-violet)}.start-card h3{font:700 27px/1.05 var(--solutions-serif);margin:28px 0 12px}.start-card p{font-size:12px;line-height:1.62;color:#4b453f;margin:0 0 24px}.start-card b{font-size:11px;color:var(--solutions-violet);margin-top:auto}
.solutions-reveal{opacity:0;transform:translateY(22px);transition:opacity .68s ease,transform .68s cubic-bezier(.2,.7,.2,1)}.solutions-reveal.is-visible{opacity:1;transform:none}
body.phocea-solutions .phocea-global-cta{margin-top:0}
@media(max-width:1200px){.solutions-hero{grid-template-columns:1fr 1.05fr;gap:26px}.solutions-orbit{height:450px}.solution-node{width:142px}.solution-node img{width:48px;height:48px}.solutions-bridge{grid-template-columns:58px 1.1fr .9fr}.solutions-catalog{grid-template-columns:230px 1fr;gap:50px}.solution-panel{grid-template-columns:44px 120px 1fr;gap:18px}.solutions-flow-inner{grid-template-columns:1fr;gap:46px}.solutions-flow-track{max-width:1000px}.solutions-start-head{grid-template-columns:1fr .7fr}}
@media(max-width:900px){.solutions-hero{grid-template-columns:1fr;padding-top:42px}.solutions-hero-copy{padding-left:0}.solutions-orbit{height:430px}.solutions-bridge{grid-template-columns:1fr;gap:20px}.solutions-bridge-index{display:none}.solutions-catalog{grid-template-columns:1fr;gap:12px}.solutions-catalog-intro{position:relative;top:auto;padding:0 0 32px}.solutions-catalog-intro>img{display:none}.solutions-hand-note{margin-top:18px}.solution-panel{grid-template-columns:42px 110px 1fr}.solutions-flow-track{grid-template-columns:1fr 36px 1fr;gap:6px}.solutions-flow-track .flow-step:nth-of-type(3),.solutions-flow-track .flow-step:nth-of-type(4),.solutions-flow-track i:nth-of-type(2),.solutions-flow-track i:nth-of-type(3){margin-top:26px}.solutions-flow-track{display:flex;flex-wrap:wrap}.solutions-flow-track .flow-step{flex:1 1 calc(50% - 30px)}.solutions-flow-track i{flex:0 0 24px}.solutions-start-head{grid-template-columns:1fr;gap:20px}.solutions-start-grid{grid-template-columns:1fr 1fr}.start-card:last-child{grid-column:1/-1}}
@media(max-width:620px){.solutions-hero{min-height:0;padding:34px 0 64px}.solutions-hero h1{font-size:44px}.solutions-lead{font-size:13px}.solutions-actions{flex-direction:column}.solutions-actions .button{width:100%}.solutions-orbit{height:450px;border-radius:12px}.solutions-orbit-center{width:150px;height:150px}.solutions-orbit-center img{width:104px}.solution-node{width:120px;min-height:74px;padding:8px}.solution-node img{width:38px;height:38px}.solution-node span{font-size:10px}.node-web{left:2%;top:6%}.node-app{right:2%;top:8%}.node-ai{right:1%;top:47%}.node-seo{right:8%;bottom:4%}.node-hosting{left:2%;bottom:7%}.orbit-note{display:none}.solutions-bridge{padding:62px 0 74px}.solutions-bridge h2{font-size:38px}.solutions-catalog{padding-bottom:90px}.solutions-catalog-intro h2{font-size:42px}.solution-panel{grid-template-columns:36px 1fr;gap:12px;padding:28px 0}.solution-panel-icon{grid-column:2;align-items:flex-start;flex-direction:row;gap:8px}.solution-panel-icon img{width:74px;height:62px}.solution-panel-icon span{align-self:center}.solution-panel-copy{grid-column:2}.solution-panel.is-active{transform:none}.solutions-flow{margin-bottom:78px}.solutions-flow-inner{padding:60px 0}.solutions-flow h2{font-size:40px}.solutions-flow-track{display:grid;grid-template-columns:1fr;gap:0}.solutions-flow-track i{transform:rotate(90deg);padding:4px}.flow-step{min-height:130px}.solutions-start{padding-bottom:80px}.solutions-start h2{font-size:40px}.solutions-start-grid{grid-template-columns:1fr}.start-card:last-child{grid-column:auto}.start-card{min-height:220px}}
@media(prefers-reduced-motion:reduce){.solutions-reveal{opacity:1;transform:none;transition:none}.solutions-orbit,.solution-node,.solution-panel,.start-card,.solution-panel-icon img{transition:none!important;transform:none!important}}

/* Production 2.3 refinement: compact need cards after visual validation. */
.solutions-start-grid{align-items:stretch}.start-card{min-height:215px;padding:22px 24px}.start-card h3{margin:21px 0 10px}.start-card p{margin-bottom:18px}.solutions-start-head{margin-bottom:30px}
@media(max-width:620px){.start-card{min-height:195px}}

/* Phocea refinements 2.13 — grounded in staging capture review */

/* A living network, not a flat empty schematic. */
.solutions-orbit{background:radial-gradient(circle at 50% 50%,rgba(120,57,238,.10),transparent 39%),linear-gradient(155deg,rgba(255,255,255,.7),rgba(247,244,238,.50));box-shadow:inset 0 0 60px rgba(255,255,255,.8),0 22px 64px rgba(20,16,25,.07)}
.solutions-orbit:after{content:'WEB · IA · CODE · VISIBILITÉ · INFRA';position:absolute;left:50%;bottom:19px;transform:translateX(-50%);font:800 11px var(--solutions-sans);letter-spacing:.14em;color:rgba(25,22,18,.5);white-space:nowrap;pointer-events:none}
.solutions-orbit-center{z-index:2;box-shadow:0 20px 58px rgba(120,57,238,.13),0 0 0 18px rgba(120,57,238,.035)}
.solutions-orbit.is-animated .solutions-orbit-center:before{animation:phoceaCorePulse 5s ease-in-out infinite}
.solutions-orbit.is-animated .solutions-network path{animation:phoceaNetworkFlow 12s linear infinite;stroke:rgba(120,57,238,.36);stroke-width:1.7}
.solutions-orbit.is-animated .solutions-network circle{animation:phoceaNetworkFlow 16s linear reverse infinite}
.solutions-orbit .solution-node{transition:transform .45s cubic-bezier(.18,.75,.24,1),box-shadow .35s,border-color .35s,background .35s}
.solutions-orbit .solution-node.is-active{box-shadow:0 18px 40px rgba(120,57,238,.18);border-color:rgba(120,57,238,.65);background:#fff;transform:translateY(-8px) scale(1.045)}
@keyframes phoceaNetworkFlow{to{stroke-dashoffset:-150}}
@keyframes phoceaCorePulse{50%{border-color:rgba(120,57,238,.6);box-shadow:0 0 0 10px rgba(120,57,238,.05)}}
@media(prefers-reduced-motion:reduce){.solutions-orbit-center:before,.solutions-network path,.solutions-network circle{animation:none!important}}

