
.portfolio-main{background:var(--paper)}
.portfolio-hero{background:var(--ink);color:#f7f1f9;padding:86px 0 82px;overflow:hidden;position:relative}
.portfolio-hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid #af79d647;border-radius:50%;right:-175px;top:-245px;box-shadow:0 0 0 72px #a565d20b,0 0 0 145px #a565d208;pointer-events:none}
.portfolio-hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:8%;align-items:end;position:relative;z-index:1}
.portfolio-hero .section-tag{color:#ca9fe8}
.portfolio-hero h1{font:850 clamp(58px,6vw,96px)/.98 var(--display);letter-spacing:-.075em;margin:18px 0 30px;text-transform:uppercase}
.portfolio-hero h1 em{font-style:normal;color:#cf9df2}
.portfolio-hero p:not(.section-tag){max-width:680px;color:#d2d5df;font-size:18px;line-height:1.72}
.portfolio-hero-note{border-left:1px solid #80629c;padding:8px 0 8px 28px;color:#aeb6c7;font:700 12px/1.7 var(--mono);letter-spacing:.04em}
.portfolio-hero-note strong{display:block;color:#fff;font:850 25px/1.2 var(--ui);letter-spacing:-.03em;margin-bottom:10px}
.portfolio-index{padding:85px 0 110px}
.portfolio-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:end;border-bottom:1px solid #bdbab4;padding-bottom:26px;margin-bottom:31px}
.portfolio-toolbar h2{font:850 clamp(42px,4.7vw,72px)/1.03 var(--display);text-transform:uppercase;letter-spacing:-.065em;margin:0}
.portfolio-toolbar h2 span{color:#7533a8}
.portfolio-toolbar p{max-width:520px;color:#46546a;font-size:15px;line-height:1.65;margin:0}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.portfolio-filter{border:1px solid #aaa5a1;background:transparent;color:#2d394d;padding:8px 12px;cursor:pointer;font:750 11px var(--mono);letter-spacing:.025em}
.portfolio-filter:hover,.portfolio-filter[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.portfolio-card{grid-column:span 4;display:flex;flex-direction:column;min-height:390px;border:1px solid #c7c3bc;background:#f9f7f2;position:relative;overflow:hidden;transition:transform .2s,border-color .2s}
.portfolio-card.feature{grid-column:span 6;min-height:440px}
.portfolio-card:hover{transform:translateY(-3px);border-color:#8d6aa5}
.portfolio-card[hidden]{display:none!important}
.portfolio-card-media{height:205px;background:#101d30;position:relative;overflow:hidden;border-bottom:1px solid #c7c3bc;display:grid;place-items:center}
.portfolio-card.feature .portfolio-card-media{height:255px}
.portfolio-card-media img{width:100%;height:100%;object-fit:cover}
.portfolio-card-media .brand-collage{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%;align-items:center;background:#101d30;padding:30px;gap:20px}
.brand-collage img{object-fit:contain;max-height:170px}
.portfolio-card-body{padding:25px 25px 27px;display:flex;flex-direction:column;flex:1}
.portfolio-meta{display:flex;justify-content:space-between;gap:12px;color:#6a4a80;font:800 10px var(--mono);letter-spacing:.05em;margin-bottom:18px}
.portfolio-card h3{font:850 clamp(25px,2.3vw,34px)/1.08 var(--display);letter-spacing:-.045em;margin:0 0 13px}
.portfolio-card p{font-size:14px;line-height:1.66;color:#455167;margin:0 0 22px}
.portfolio-card .portfolio-open{margin-top:auto;color:#612d86;font:800 12px var(--mono);display:flex;justify-content:space-between;gap:12px}
.portfolio-card .portfolio-open span{font-size:18px}
.visual-tag{position:absolute;left:14px;bottom:13px;color:#e4daf0;background:#071220d9;border:1px solid #7d668d;padding:6px 8px;font:750 9px var(--mono);letter-spacing:.04em;z-index:3}
.visual-permisky{background:linear-gradient(145deg,#f1f2ef,#d9ddd9)}
.map-grid{position:absolute;inset:0;background-image:linear-gradient(#1c2e3e12 1px,transparent 1px),linear-gradient(90deg,#1c2e3e12 1px,transparent 1px);background-size:29px 29px}
.map-contour{position:absolute;border:2px solid #172a3a;border-radius:55% 42% 58% 35%;width:60%;height:54%;transform:rotate(-13deg)}
.map-route{position:absolute;width:58%;height:44%;border:3px solid transparent;border-top-color:#2168d2;border-right-color:#2168d2;border-radius:50%;transform:rotate(21deg)}
.map-pin{width:14px;height:14px;background:#ff9b42;border:3px solid #fff;box-shadow:0 0 0 1px #122537;border-radius:50%;position:absolute;left:53%;top:43%}
.visual-sigil{background:radial-gradient(circle at 50% 45%,#42345f,#152238 48%,#0a1523)}
.sigil-ring{width:155px;height:155px;border:1px solid #bc8adb;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 28px #9e61c610,0 0 0 60px #9e61c608}
.sigil-ring:before{content:"◈";font-size:72px;color:#d3a2ec;text-shadow:0 0 22px #b56be2}
.visual-roxane{background:radial-gradient(circle at 50% 50%,#263858,#0f1c31 70%)}
.roxane-net{position:absolute;inset:18%;border:1px solid #7969a1;border-radius:50%}
.roxane-net:before,.roxane-net:after{content:"";position:absolute;inset:18%;border:1px dashed #9a77b8;border-radius:50%}
.roxane-net:after{inset:36%;background:#ad77cf;border:0;box-shadow:0 0 28px #ae6ad9}
.roxane-node{position:absolute;width:9px;height:9px;background:#9be0df;border-radius:50%;box-shadow:0 0 12px #9be0df}
.roxane-node.n1{left:25%;top:23%}.roxane-node.n2{right:23%;top:34%}.roxane-node.n3{left:35%;bottom:20%}.roxane-node.n4{right:28%;bottom:23%}
.visual-manager{background:#17263a;padding:25px;display:block}
.manager-shell{height:100%;display:grid;grid-template-columns:30% 1fr;gap:12px}
.manager-nav{border:1px solid #5c6b7f;background:#0e1928}
.manager-board{display:grid;grid-template-rows:45px 1fr;gap:12px}.manager-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.manager-kpis i{background:#384c64;border:1px solid #687a91}.manager-gantt{border:1px solid #5e7186;background:repeating-linear-gradient(90deg,#142235 0 39px,#28364b 40px);position:relative}.manager-gantt:before,.manager-gantt:after{content:"";position:absolute;left:13%;top:26%;height:13px;width:57%;background:#a477c2}.manager-gantt:after{left:34%;top:59%;width:45%;background:#75c7c7}
.visual-bridge{background:#101d30}.bridge-flow{display:flex;align-items:center;justify-content:center;gap:15px;width:90%}.bridge-box{border:1px solid #8468a1;color:#efeaf4;padding:18px 14px;min-width:100px;text-align:center;font:750 10px var(--mono)}.bridge-arrow{color:#c997e7;font-size:24px}
.visual-cadeau{background:#0d272c}.visual-cadeau img{object-fit:cover}
.portfolio-empty{padding:28px;border:1px dashed #a9a39b;color:#5a6476;margin-top:20px}
.case-public-hero{padding:55px 0 80px;background:var(--ink);color:#f7f1f9}
.case-public-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:7%;align-items:center}
.case-public-copy .section-tag{color:#c797e4}.case-public-copy h1{font:850 clamp(52px,5.4vw,86px)/.98 var(--display);letter-spacing:-.07em;text-transform:uppercase;margin:19px 0 27px}.case-public-copy h1 em{font-style:normal;color:#cb98ed}.case-public-copy>p:not(.section-tag){color:#d1d5df;font-size:18px;line-height:1.72;max-width:680px}
.case-public-art{height:440px;position:relative;overflow:hidden;border:1px solid #62718a;background:#102036;display:grid;place-items:center}
.case-public-art img{width:100%;height:100%;object-fit:contain}
.case-public-art .visual-tag{left:auto;right:14px}
.case-data{background:#ddd9d1;border-bottom:1px solid #bbb7b0}.case-data .wrap{display:grid;grid-template-columns:repeat(3,1fr)}.case-data span{padding:18px 25px;border-right:1px solid #bab5ad;color:#4f5867;font:700 10px var(--mono)}.case-data span:first-child{border-left:1px solid #bab5ad}.case-data strong{display:block;color:#172538;margin-top:5px;font-size:12px}
.case-public-story{padding:90px 0;background:#f7f5ef}.case-public-story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;margin-top:18px}.case-public-story h2{font:850 clamp(40px,4.4vw,68px)/1.03 var(--display);letter-spacing:-.06em;margin:0;text-transform:uppercase}.case-public-story h2 em{font-style:normal;color:#703699}.case-public-story .story-copy p{font-size:17px;line-height:1.75;color:#3f4b60;margin:0 0 20px}
.case-public-features{padding:85px 0;background:#e9e6df}.case-public-features h2{font:850 clamp(37px,4vw,60px)/1.05 var(--display);letter-spacing:-.055em;text-transform:uppercase;margin:12px 0 31px}.case-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c6c1b9;border:1px solid #c6c1b9}.case-feature{background:#f8f5ef;padding:28px;min-height:235px}.case-feature>span{color:#6e3d8b;font:850 11px var(--mono)}.case-feature h3{font-size:24px;line-height:1.17;margin:26px 0 12px;letter-spacing:-.04em}.case-feature p{font-size:14px;color:#455166;line-height:1.68}
.case-public-note{margin-top:30px;border-left:4px solid #784399;padding:20px 24px;background:#f4f0f5;color:#3f4c60}.case-public-note strong{display:block;margin-bottom:6px}
.case-related{padding:70px 0;background:#fff}.case-related .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.case-related h2{font:850 clamp(32px,3.2vw,50px)/1.06 var(--display);margin:0;text-transform:uppercase}.case-related a{color:#5f2d82;font:800 12px var(--mono);border-bottom:1px solid #9e80ad;padding-bottom:7px}
@media(max-width:980px){.portfolio-hero-grid,.case-public-grid,.case-public-story-grid{grid-template-columns:1fr}.portfolio-hero-note{margin-top:25px}.portfolio-card,.portfolio-card.feature{grid-column:span 6}.case-public-art{max-width:700px}.case-data .wrap{grid-template-columns:1fr}.case-data span{border-left:1px solid #bab5ad;border-bottom:1px solid #bab5ad}.case-feature-grid{grid-template-columns:1fr 1fr}.case-feature:last-child{grid-column:1/-1}}
@media(max-width:650px){.portfolio-hero{padding:58px 0}.portfolio-hero h1{font-size:clamp(48px,13vw,68px)}.portfolio-index{padding:62px 0 82px}.portfolio-toolbar{display:block}.portfolio-toolbar p{margin-top:18px}.portfolio-card,.portfolio-card.feature{grid-column:1/-1;min-height:0}.portfolio-card-media,.portfolio-card.feature .portfolio-card-media{height:220px}.brand-collage{padding:18px!important}.case-public-hero{padding:40px 0 60px}.case-public-copy h1{font-size:clamp(43px,12vw,63px)}.case-public-art{height:310px}.case-public-story,.case-public-features{padding:65px 0}.case-feature-grid{grid-template-columns:1fr}.case-feature:last-child{grid-column:auto}.case-related .wrap{display:block}.case-related a{display:inline-block;margin-top:20px}.bridge-flow{gap:8px;transform:scale(.83)}.bridge-box{min-width:84px;padding:14px 9px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.portfolio-card{transition:none}.portfolio-card:hover{transform:none}}

.detail-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:25px 0;color:#657084;font:700 11px/1.5 var(--mono);letter-spacing:.02em}
.detail-breadcrumb a{color:#5e2f80;border-bottom:1px solid #ac92b9}
.detail-breadcrumb a:hover{color:#34174d}
.case-public-copy .detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:31px}
.case-public-copy .action-quiet{color:#e3dbe8;border-color:#8b7e98}
.case-public-copy .action-quiet:hover{color:#fff;border-color:#c49adf}
@media(max-width:650px){.detail-breadcrumb{padding:18px 0;font-size:9px}.case-public-copy .detail-actions{align-items:stretch;flex-direction:column}.case-public-copy .detail-actions a{width:100%;justify-content:space-between}}

.visual-hermes{background:radial-gradient(circle at 50% 42%,#273a4d,#101d2d 58%,#081421);padding:22px;display:grid;place-items:center}
.hermes-console{width:min(92%,360px);border:1px solid #496777;background:#09141f;box-shadow:0 18px 45px #02080f99;padding:16px;position:relative}
.hermes-console--large{width:min(86%,520px);padding:24px}
.hermes-prompt{display:block;color:#8ce4db;font:800 10px/1.4 var(--mono);letter-spacing:.08em;margin-bottom:15px}
.hermes-profiles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.hermes-profiles i{font-style:normal;border:1px solid #40566a;background:#122235;color:#e4ecf3;padding:11px 12px;font:750 10px var(--mono)}
.hermes-profiles i:last-child{border-color:#915db2;color:#e7c2ff}
.hermes-route{display:flex;gap:9px;margin:16px 0 4px}
.hermes-route b{height:3px;flex:1;background:#385469;position:relative}
.hermes-route b:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-radius:50%;background:#85ded7;box-shadow:0 0 10px #85ded7}
.hermes-endpoints{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.hermes-endpoints span{border-top:1px solid #415c70;padding-top:9px;color:#9faec0;font:700 9px var(--mono);text-align:center}
@media(max-width:650px){.hermes-console--large{width:92%;padding:16px}.hermes-endpoints{grid-template-columns:1fr}.hermes-endpoints span{text-align:left}}

.screen-media{background:#0b1727}
.screen-media img{width:100%;height:100%;object-fit:contain;background:#0b1727}
.case-public-art--screen{background:#0b1727;display:block;position:relative}
.case-public-art--screen img{width:100%;height:100%;object-fit:contain;background:#0b1727}
.case-public-art--screen:hover,.case-public-art--screen:focus-visible{border-color:#a868cf}


/* Hermès portfolio artwork — isolate real image from legacy visual-hermes styles */
.hermes-media{
  padding:0!important;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  background:#061126!important;
}
.hermes-media>img{
  display:block!important;
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:none!important;
}
.hermes-media>.visual-tag{z-index:4!important}
