@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap');
:root { --bg:#0A0A0A; --surface:#141414; --text:#F5F5F5; --muted:#858585; --stroke:#202020; --accent-a:#89AACC; --accent-b:#4E85BF; --roof:#B14E28; --font-body:'Inter',system-ui,sans-serif; --font-display:'Instrument Serif',Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--bg); }
body { margin:0; overflow-x:clip; color:var(--text); background:var(--bg); font:400 16px/1.55 var(--font-body); -webkit-font-smoothing:antialiased; }
body::before { content:''; position:fixed; inset:0; z-index:90; pointer-events:none; opacity:.05; background:radial-gradient(circle at 18% 22%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 72% 64%,#fff 0 1px,transparent 1.5px); background-size:23px 27px,31px 37px; mix-blend-mode:screen; }
a { color:inherit; }
img { display:block; max-width:100%; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:.94; letter-spacing:-.045em; }
h1,h2 { font-weight:500; }
.portfolio-shell { min-height:100svh; overflow:hidden; }
.portfolio-container { width:min(1200px,calc(100% - 3rem)); margin-inline:auto; }
.portfolio-skip { position:fixed; z-index:10001; top:-4rem; left:1rem; padding:.7rem 1rem; background:var(--text); color:var(--bg); }
.portfolio-skip:focus { top:1rem; }
.portfolio-loader { position:fixed; z-index:9999; inset:0; display:grid; padding:2rem; background:var(--bg); transition:opacity .6s ease,visibility .6s ease; }
.portfolio-loader.is-done { opacity:0; visibility:hidden; pointer-events:none; }
.loader-label { align-self:start; color:var(--muted); font-size:.7rem; letter-spacing:.3em; text-transform:uppercase; }
.loader-word { position:absolute; top:50%; left:50%; color:#ffffffcc; font:italic clamp(2.3rem,6vw,5.5rem)/1 var(--font-display); transform:translate(-50%,-50%); }
.loader-counter { align-self:end; justify-self:end; font:clamp(4rem,12vw,9rem)/.8 var(--font-display); font-variant-numeric:tabular-nums; }
.loader-progress { position:absolute; right:2rem; bottom:1.2rem; left:2rem; height:3px; overflow:hidden; background:#ffffff16; }
.loader-progress span { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,var(--accent-a),var(--accent-b)); box-shadow:0 0 8px #89aacc59; }
.portfolio-header { position:fixed; z-index:100; top:0; right:0; left:0; display:flex; justify-content:center; padding:1rem 1rem 0; pointer-events:none; }
.portfolio-nav { display:flex; align-items:center; gap:.15rem; padding:.45rem .55rem; border:1px solid #ffffff1a; border-radius:999px; background:#141414b8; box-shadow:0 12px 36px #0000001a; backdrop-filter:blur(18px); pointer-events:auto; transition:box-shadow .3s ease,background .3s ease; }
.portfolio-nav.is-scrolled { background:#141414e8; box-shadow:0 16px 42px #00000066; }
.portfolio-mark { display:grid; width:2.25rem; height:2.25rem; place-items:center; border:2px solid transparent; border-radius:50%; background:linear-gradient(var(--bg),var(--bg)) padding-box,linear-gradient(135deg,var(--accent-a),var(--accent-b)) border-box; font:italic 1.05rem/1 var(--font-display); transition:transform .3s ease; }
.portfolio-mark:hover { transform:scale(1.1) rotate(8deg); }
.portfolio-divider { width:1px; height:1.2rem; margin:0 .3rem; background:var(--stroke); }
.portfolio-links { display:flex; align-items:center; gap:.1rem; }
.portfolio-links a,.portfolio-hi { padding:.6rem .85rem; border:0; border-radius:999px; color:var(--muted); background:transparent; font-size:.73rem; font-weight:600; text-decoration:none; transition:color .25s ease,background .25s ease; }
.portfolio-links a:hover,.portfolio-links a[aria-current='page'] { color:var(--text); background:#ffffff0d; }
.portfolio-hi { position:relative; color:var(--bg); background:var(--text); }
.portfolio-hi:hover { color:var(--text); background:var(--bg); }
.portfolio-main { position:relative; z-index:1; }
.portfolio-hero { position:relative; min-height:100svh; display:grid; align-items:center; overflow:hidden; padding:7rem 0 5rem; }
.portfolio-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#00000020 0%,#0000002b 42%,var(--bg) 100%); pointer-events:none; }
.portfolio-hero-media { position:absolute; inset:0; }
.portfolio-hero-media img { width:100%; height:100%; object-fit:cover; object-position:66% center; filter:saturate(.58) contrast(1.18) brightness(.55); transform:scale(1.035); }
.portfolio-hero-media::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 64% 42%,transparent 0 16%,#0000004a 70%),linear-gradient(90deg,#000000d9 0%,#00000060 45%,#00000036 100%); }
.portfolio-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.02fr .98fr; align-items:end; gap:4rem; }
.portfolio-kicker { margin:0 0 2rem; color:var(--muted); font-size:.68rem; letter-spacing:.28em; text-transform:uppercase; }
.portfolio-kicker::before { content:''; display:inline-block; width:.48rem; height:.48rem; margin-right:.6rem; border-radius:50%; vertical-align:middle; background:var(--accent-a); box-shadow:0 0 0 .25rem #89aacc20; }
.portfolio-hero h1 { max-width:8.4ch; margin:0 0 1.3rem; font-size:clamp(4.4rem,10vw,10rem); }
.portfolio-hero h1 em { color:#d8e8f7; font-style:italic; }
.portfolio-role { margin:0; color:var(--muted); font-size:1rem; }
.portfolio-role em { display:inline-block; color:var(--text); font:italic 1.65rem/1 var(--font-display); }
.portfolio-hero-copy { max-width:35rem; }
.portfolio-hero-copy > p:not(.portfolio-kicker):not(.portfolio-role) { max-width:33rem; margin:1.8rem 0 2rem; color:#b0b0b0; font-size:clamp(.9rem,1.5vw,1.05rem); }
.portfolio-actions { display:flex; flex-wrap:wrap; gap:.8rem; }
.portfolio-button { display:inline-flex; min-height:3.2rem; align-items:center; justify-content:center; gap:.5rem; padding:.8rem 1.4rem; border:1px solid var(--stroke); border-radius:999px; text-decoration:none; font-size:.78rem; font-weight:700; transform:translate3d(0,0,0); transition:transform .38s cubic-bezier(.22,1,.36,1),border-color .3s ease,background .3s ease,box-shadow .3s ease; }
.portfolio-button:hover { transform:translate3d(0,-6px,18px) scale(1.035); box-shadow:0 18px 38px #00000040; }
.portfolio-button:active { transform:translate3d(0,-1px,2px) scale(.985); }
.portfolio-button span { display:inline-block; transition:transform .32s cubic-bezier(.22,1,.36,1); }
.portfolio-button:hover span { transform:translateX(.35rem); }
.portfolio-button.primary { color:var(--bg); background:var(--text); }
.portfolio-button.primary:hover { color:var(--text); border-color:var(--accent-a); background:var(--bg); }
.portfolio-button.outline { color:var(--text); background:#00000028; }
.portfolio-button.outline:hover { border-color:var(--accent-a); background:#ffffff0b; }
.portfolio-console { --spot-x:50%; --spot-y:50%; position:relative; min-height:26rem; padding:1.2rem; border:1px solid #ffffff35; border-radius:1.3rem; background:#0d0f12a8; box-shadow:0 30px 90px #00000066; backdrop-filter:blur(12px); transform:perspective(1100px) rotateY(-5deg); transform-style:preserve-3d; transition:box-shadow .35s ease,border-color .35s ease; }
.portfolio-console::before { content:''; position:absolute; inset:0; border-radius:inherit; opacity:0; background:radial-gradient(circle 14rem at var(--spot-x) var(--spot-y),#89aacc32,transparent 70%); transition:opacity .25s ease; pointer-events:none; }
.portfolio-console:hover { border-color:#89aacc9c; box-shadow:0 42px 110px #0000009c,0 0 0 1px #89aacc22; }
.portfolio-console:hover::before { opacity:1; }
.portfolio-console::after { content:''; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(125deg,#ffffff1a,transparent 34%,#89aacc0a 80%); pointer-events:none; }
.console-top { display:flex; align-items:center; justify-content:space-between; color:#8ca9c5; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; }
.console-dot { display:inline-block; width:.5rem; height:.5rem; margin-right:.4rem; border-radius:50%; background:var(--accent-a); box-shadow:0 0 14px var(--accent-a); }
.console-globe { position:absolute; top:30%; left:50%; width:12rem; height:12rem; border:1px solid #4e85bf99; border-radius:50%; transform:translateX(-50%); box-shadow:inset 0 0 28px #4e85bf44,0 0 40px #4e85bf22; }
.console-globe::before,.console-globe::after { content:''; position:absolute; inset:1.2rem 2.7rem; border:1px solid #89aacc99; border-radius:50%; transform:rotate(45deg); }
.console-globe::after { inset:2.7rem 1.2rem; transform:rotate(-45deg); }
.console-orbit { position:absolute; inset:-1.6rem; border:1px solid var(--roof); border-radius:50%; transform:rotateX(67deg) rotateZ(-12deg); }
.console-cta { position:absolute; right:1.2rem; bottom:1.3rem; left:1.2rem; display:flex; align-items:center; justify-content:center; min-height:2.7rem; border:1px solid #ffffff33; border-radius:999px; color:#d9e7f5; background:#ffffff0c; font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.portfolio-trust { position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3.5rem; }
.trust-tile { min-height:7rem; padding:1.2rem; border:1px solid #ffffff14; border-radius:1rem; background:#0d0d0db8; backdrop-filter:blur(10px); }
.trust-tile strong { display:block; font-size:1rem; }
.trust-tile span { display:block; margin-top:.5rem; color:#878787; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
.portfolio-section { padding:6rem 0; }
.portfolio-section-header { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.6rem; }
.portfolio-eyebrow { display:flex; align-items:center; gap:.6rem; color:var(--muted); font-size:.68rem; letter-spacing:.25em; text-transform:uppercase; }
.portfolio-eyebrow::before { content:''; width:.48rem; height:.48rem; border-radius:50%; background:var(--accent-b); box-shadow:0 0 0 .25rem #4e85bf20; }
.portfolio-section h2 { margin:.7rem 0 0; font-size:clamp(2.8rem,6vw,5.8rem); }
.portfolio-section h2 em { color:#b9d3ed; font-style:italic; }
.portfolio-subtext { max-width:31rem; margin:0; color:var(--muted); font-size:.9rem; }
.bento-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1.25rem; }
.bento-card { position:relative; min-height:22rem; overflow:hidden; border:1px solid var(--stroke); border-radius:1.4rem; background:var(--surface); transform-style:preserve-3d; transition:border-color .35s ease,box-shadow .35s ease; }
.bento-card:nth-child(1),.bento-card:nth-child(4) { grid-column:span 7; }
.bento-card:nth-child(2),.bento-card:nth-child(3) { grid-column:span 5; }
.bento-card img { width:100%; height:100%; min-height:22rem; object-fit:cover; filter:saturate(.7) contrast(1.1); transition:transform .9s cubic-bezier(.22,1,.36,1),filter .5s ease; }
.bento-card:hover { border-color:#89aacc8a; box-shadow:0 30px 62px #00000070; }
.bento-card:hover img { transform:scale(1.11) translate3d(0,-1.5%,18px); filter:saturate(.95) contrast(1.12); }
.bento-card::after { content:''; position:absolute; inset:0; opacity:.18; background:radial-gradient(circle,#000 1px,transparent 1.4px); background-size:4px 4px; mix-blend-mode:multiply; pointer-events:none; }
.bento-card-overlay { position:absolute; z-index:2; inset:0; display:flex; align-items:center; justify-content:center; opacity:0; background:linear-gradient(180deg,#00000012,#000000c7); backdrop-filter:blur(12px); transition:opacity .4s ease; }
.bento-card:hover .bento-card-overlay { opacity:1; }
.bento-label { padding:.8rem 1rem; border:1px solid transparent; border-radius:999px; color:var(--text); background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(90deg,var(--accent-a),var(--accent-b)) border-box; font-size:.75rem; transform:translate3d(0,1rem,20px) scale(.94); transition:transform .45s cubic-bezier(.22,1,.36,1); }
.bento-card:hover .bento-label { transform:translate3d(0,0,30px) scale(1); }
.bento-label em { font:italic 1.2rem/1 var(--font-display); }
.bento-caption { position:absolute; z-index:3; right:1.1rem; bottom:1rem; left:1.1rem; color:#fff; font-size:.72rem; font-weight:700; }
.journal-list { display:grid; gap:.75rem; }
.journal-item { display:grid; grid-template-columns:1fr auto auto; gap:1rem; align-items:center; padding:.85rem 1.1rem; border:1px solid var(--stroke); border-radius:999px; background:#ffffff04; transition:border-color .3s ease,background .3s ease,transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s ease; }
.journal-item:hover { border-color:#89aacc8a; background:var(--surface); box-shadow:0 14px 30px #00000038; transform:translate3d(.7rem,-.2rem,14px); }
.journal-title { font-weight:600; }
.journal-meta { color:var(--muted); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.journal-arrow { color:var(--accent-a); font-size:1.2rem; }
.explorations { position:relative; min-height:230vh; }
.exploration-pin { position:sticky; z-index:2; top:0; display:grid; min-height:100svh; place-items:center; padding:5rem 0; pointer-events:none; }
.exploration-copy { max-width:32rem; text-align:center; pointer-events:auto; }
.exploration-copy h2 { font-size:clamp(3.6rem,8vw,8rem); }
.exploration-copy p { color:var(--muted); }
.exploration-columns { position:absolute; z-index:3; inset:0; display:grid; grid-template-columns:1fr 1fr; justify-items:center; gap:clamp(2rem,14vw,12rem); padding:10rem 4vw; pointer-events:none; }
.exploration-column { display:grid; align-content:space-between; gap:22rem; width:min(20rem,100%); }
.exploration-column:nth-child(2) { padding-top:18rem; }
.explore-card { width:100%; aspect-ratio:1; overflow:hidden; border:1px solid #ffffff22; border-radius:1.4rem; box-shadow:0 28px 70px #0008; background:var(--surface); transform:rotate(var(--rotation,0deg)); pointer-events:auto; transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .3s ease,box-shadow .3s ease; }
.explore-card:hover { border-color:var(--accent-a); box-shadow:0 42px 86px #000b; transform:rotate(0deg) translate3d(0,-.6rem,20px) scale(1.06); }
.explore-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.7) contrast(1.15); }
.portfolio-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--stroke); background:var(--stroke); }
.portfolio-stat { position:relative; padding:2.3rem; overflow:hidden; background:var(--bg); transition:background .3s ease,transform .35s cubic-bezier(.22,1,.36,1); }
.portfolio-stat::before { content:''; position:absolute; top:1rem; left:1rem; width:.45rem; height:.45rem; border-radius:50%; background:var(--accent-a); box-shadow:0 0 0 .25rem #89aacc18; }
.portfolio-stat:hover { z-index:1; background:#12161b; transform:translate3d(0,-.45rem,12px); }
.portfolio-stat strong { display:block; font:italic clamp(3.5rem,8vw,7rem)/.85 var(--font-display); }
.portfolio-stat span { display:block; margin-top:.8rem; color:var(--muted); font-size:.7rem; letter-spacing:.17em; text-transform:uppercase; }
.portfolio-contact { position:relative; overflow:hidden; padding:7rem 0 2rem; }
.portfolio-contact::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 100%,#28415c44,transparent 58%),linear-gradient(180deg,transparent,#000); pointer-events:none; }
.marquee { position:relative; overflow:hidden; margin:0 -10vw 6rem; padding:1.2rem 0; border-block:1px solid var(--stroke); color:#b9d3ed; white-space:nowrap; font:italic clamp(2rem,5vw,4.8rem)/1 var(--font-display); }
.marquee span { display:inline-block; min-width:100%; animation:portfolio-marquee 38s linear infinite; }
@keyframes portfolio-marquee { to { transform:translateX(-100%); } }
.contact-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr .85fr; gap:5rem; align-items:start; }
.portfolio-contact h2 { max-width:10ch; font-size:clamp(3.8rem,9vw,9rem); }
.portfolio-contact h2 em { color:#b9d3ed; }
.portfolio-contact p { max-width:34rem; color:var(--muted); }
.contact-form { display:grid; gap:.9rem; padding:1.5rem; border:1px solid #ffffff22; border-radius:1.2rem; background:#141414c7; backdrop-filter:blur(16px); }
.contact-form label { color:var(--muted); font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; margin-top:.35rem; padding:.85rem 0; border:0; border-bottom:1px solid var(--stroke); outline:0; color:var(--text); background:transparent; }
.contact-form textarea { min-height:6rem; resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--accent-a); }
.contact-status { min-height:1.2rem; margin:0; color:var(--accent-a); font-size:.75rem; }
.portfolio-partners { position:relative; overflow:hidden; padding:1.4rem 0; border-block:1px solid var(--stroke); background:linear-gradient(90deg,#101820,#0a0a0a 45%,#111820); }
.partner-strip-heading { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; margin:0 0 1rem; color:#a8b7c6; font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; }
.partner-strip-heading span:last-child { color:#6f7f8d; letter-spacing:.08em; }
.partner-list { display:grid; grid-template-columns:repeat(5,1fr); gap:.7rem; margin:0; padding:0; list-style:none; }
.partner-list li { display:grid; min-height:4.2rem; place-items:center; padding:.65rem; border:1px solid #ffffff1c; border-radius:.85rem; color:#d8e8f7; background:#ffffff05; font:italic clamp(1rem,2vw,1.55rem)/1 var(--font-display); letter-spacing:.02em; text-align:center; transition:transform .35s cubic-bezier(.22,1,.36,1),background .3s ease,border-color .3s ease; }
.partner-list li:hover { border-color:#89aacc8a; background:#89aacc12; transform:translate3d(0,-.38rem,12px) rotateX(5deg); }
.portfolio-footer { position:relative; z-index:1; display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-top:5rem; padding-top:1.2rem; border-top:1px solid var(--stroke); color:var(--muted); font-size:.72rem; }
.availability { display:flex; align-items:center; gap:.5rem; }
.availability::before { content:''; width:.5rem; height:.5rem; border-radius:50%; background:#53d08c; box-shadow:0 0 0 5px #53d08c1c; }
.mobile-dock { display:none; }
.portfolio-reduced-motion *, .portfolio-reduced-motion *::before,.portfolio-reduced-motion *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
@media (max-width: 850px) { .portfolio-container { width:min(100% - 1.4rem,1200px); } .portfolio-links a:nth-child(n+3) { display:none; } .portfolio-hero-grid,.contact-grid { grid-template-columns:1fr; gap:2rem; } .portfolio-hero h1 { font-size:clamp(4rem,17vw,7rem); } .portfolio-console { min-height:20rem; transform:none; } .portfolio-trust { margin-top:2rem; } .bento-card:nth-child(n) { grid-column:span 6; } .exploration-columns { gap:2rem; padding-inline:1rem; } .explore-card { max-width:13rem; } }
@media (max-width: 560px) { body { padding-bottom:5.9rem; } .portfolio-header { padding-top:.5rem; } .portfolio-nav { width:100%; justify-content:space-between; gap:.1rem; } .portfolio-mark { width:2.25rem; height:2.25rem; font-size:.9rem; } .portfolio-divider { display:none; } .portfolio-links a { padding-inline:.55rem; font-size:.65rem; } .portfolio-links a:nth-child(n+2) { display:none; } .portfolio-hi { min-height:2.55rem; padding-inline:.7rem; font-size:.65rem; white-space:nowrap; } .portfolio-hero { min-height:auto; padding-top:6.5rem; padding-bottom:3rem; } .portfolio-hero-grid { align-items:start; } .portfolio-hero h1 { max-width:8ch; font-size:clamp(3.5rem,16vw,5.25rem); } .portfolio-hero-copy > p:not(.portfolio-kicker):not(.portfolio-role) { margin-bottom:1.45rem; } .portfolio-console { display:none; } .portfolio-trust { grid-template-columns:1fr; gap:.7rem; margin-top:1.5rem; } .trust-tile { min-height:0; padding:1rem; } .portfolio-section { padding:4.5rem 0; } .portfolio-section-header { align-items:start; flex-direction:column; margin-bottom:1.8rem; } .bento-grid { grid-template-columns:1fr; } .bento-card:nth-child(n) { grid-column:1; min-height:20rem; } .bento-card img { min-height:20rem; } .bento-card-overlay { align-items:flex-end; justify-content:flex-start; padding:1rem; opacity:1; background:linear-gradient(180deg,transparent 40%,#000000b8); backdrop-filter:none; } .bento-label { transform:none; } .bento-caption { bottom:3.9rem; } .journal-item { grid-template-columns:1fr auto; border-radius:1rem; } .journal-meta { grid-column:1; } .journal-arrow { grid-column:2; grid-row:1 / span 2; } .explorations { min-height:auto; padding:1rem 0 4.5rem; } .exploration-pin { position:relative; min-height:auto; padding:3rem 1.2rem 2rem; } .exploration-copy { max-width:28rem; } .exploration-copy h2 { font-size:clamp(3.1rem,15vw,5rem); } .exploration-columns { position:relative; inset:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; width:min(100% - 1.4rem,34rem); margin:0 auto; padding:0; } .exploration-column { gap:.85rem; width:100%; } .exploration-column:nth-child(2) { padding-top:2rem; } .explore-card { max-width:none; margin:0; } .portfolio-stats { grid-template-columns:1fr; } .portfolio-stat { padding:1.6rem; } .partner-list { grid-template-columns:repeat(2,1fr); } .partner-strip-heading { align-items:flex-start; flex-direction:column; } .contact-form { padding:1rem; } .portfolio-footer { align-items:flex-start; flex-direction:column; padding-bottom:2rem; } .mobile-dock { position:fixed; z-index:120; right:.7rem; bottom:max(.7rem,env(safe-area-inset-bottom)); left:.7rem; display:flex; gap:.5rem; padding:.5rem; border:1px solid #ffffff25; border-radius:999px; background:#141414ee; backdrop-filter:blur(18px); } .mobile-dock a { flex:1; min-height:2.75rem; padding:.65rem .5rem; border-radius:999px; color:var(--text); background:#ffffff0e; font-size:.68rem; text-align:center; text-decoration:none; } .mobile-dock a:first-child { color:var(--bg); background:var(--text); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .portfolio-reduced-motion .exploration-columns { position:relative; padding-top:2rem; } .portfolio-reduced-motion .exploration-pin { min-height:auto; padding-bottom:2rem; } .portfolio-reduced-motion .portfolio-loader { display:none; } }

/* High-contrast luminous pass */
:root { --bg:#07090c; --surface:#f8fbff; --text:#fff; --muted:#c8d4e0; --stroke:#ffffff2e; --accent-a:#bee4ff; --accent-b:#4f9fff; --roof:#e76532; --ink:#08111b; }
h1,h2 { font-weight:700; }
.portfolio-hero-grid { grid-template-columns:minmax(0,46rem); align-items:end; }
.portfolio-hero-copy { max-width:46rem; }
.hero-glass-card { position:relative; padding:clamp(1.4rem,3vw,2.4rem); border:1px solid #ffffff40; border-radius:1.5rem; background:linear-gradient(135deg,#060a10d9,#101a25b8); box-shadow:0 32px 90px #000b,0 0 0 1px #8cc6ff16 inset; backdrop-filter:blur(18px) saturate(1.25); transform-style:preserve-3d; }
.hero-glass-card::after { content:''; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(115deg,#ffffff26,transparent 28%,transparent 70%,#67afff18); pointer-events:none; }
.portfolio-hero h1,.portfolio-section h2,.exploration-copy h2,.portfolio-contact h2 { color:#fff; background:linear-gradient(108deg,#fff 0 36%,#cdeaff 53%,#70b2ff 72%,#fff 96%); background-size:180% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 10px 34px #55a7ff30); animation:heading-shimmer 8s ease-in-out infinite alternate; }
.portfolio-hero h1 em,.portfolio-section h2 em,.exploration-copy h2 em,.portfolio-contact h2 em { color:inherit; -webkit-text-fill-color:transparent; }
@keyframes heading-shimmer { to { background-position:100% 0; } }
.portfolio-role { color:#eaf4ff; }
.portfolio-hero-copy > p:not(.portfolio-kicker):not(.portfolio-role) { max-width:38rem; color:#f3f8fd; font-size:clamp(1rem,1.5vw,1.12rem); }
.trust-tile { min-height:7.5rem; padding:1.25rem; border:1px solid #fff; color:var(--ink); background:linear-gradient(145deg,#fff,#eaf5ff); box-shadow:0 24px 60px #0007,0 0 32px #7db9ff1f; transform-style:preserve-3d; transition:transform .38s cubic-bezier(.22,1,.36,1),box-shadow .38s ease; }
.trust-tile:hover { transform:translate3d(0,-.55rem,24px) rotateX(4deg); box-shadow:0 34px 80px #0009,0 0 46px #7db9ff45; }
.trust-tile span { color:#415366; font-weight:700; }
.portfolio-subtext { padding:1.15rem 1.25rem; border:1px solid #fff; border-radius:1rem; color:#142130; background:linear-gradient(145deg,#fff,#edf7ff); box-shadow:0 20px 55px #0005; font-size:.95rem; font-weight:600; }
.bento-label { color:var(--ink); box-shadow:0 16px 36px #0007; font-weight:700; }
.journal-item { padding:1rem 1.2rem; border:1px solid #fff; color:var(--ink); background:linear-gradient(100deg,#fff,#edf7ff); box-shadow:0 12px 28px #0004; }
.journal-item:hover { border-color:#9fd5ff; background:#fff; box-shadow:0 24px 50px #0007,0 0 30px #69afff2e; transform:translate3d(.7rem,-.3rem,18px) rotateX(2deg); }
.journal-meta { color:#506176; font-weight:700; }
.bright-copy-card { padding:clamp(1.4rem,3vw,2.4rem); border:1px solid #fff; border-radius:1.5rem; color:var(--ink); background:linear-gradient(145deg,#fff,#e9f5ff); box-shadow:0 30px 90px #0009,0 0 50px #70b6ff25; }
.bright-copy-card p { color:#24364a; }
.bright-copy-card .portfolio-eyebrow { color:#285f9a; }
.bright-copy-card .portfolio-button.primary { color:#fff; background:#08111b; }
.portfolio-stat { color:var(--ink); background:linear-gradient(145deg,#fff,#eaf5ff); transition:background .3s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease; }
.portfolio-stat:hover { background:#fff; box-shadow:0 28px 60px #0008,0 0 36px #69afff35; transform:translate3d(0,-.45rem,18px) rotateX(3deg); }
.portfolio-stat span { color:#485a6e; font-weight:700; }
.contact-form { border:1px solid #fff; color:var(--ink); background:linear-gradient(145deg,#fff,#eaf5ff); box-shadow:0 32px 80px #0008,0 0 44px #69afff25; backdrop-filter:none; }
.contact-form label { color:#40546b; font-weight:700; }
.contact-form input,.contact-form select,.contact-form textarea { border-bottom-color:#9aabba; color:var(--ink); }
.contact-status { color:#285f9a; }
.nav-cta-short { display:none; }
@media (max-width:560px) {
  .portfolio-header { padding-inline:.45rem; }
  .portfolio-nav { position:relative; width:100%; }
  .portfolio-links,.portfolio-divider { display:none; }
  .portfolio-hi { position:absolute; right:.45rem; margin-left:auto; padding:.62rem .78rem; font-size:.62rem; }
  .nav-cta-long { display:none; }
  .nav-cta-short { display:inline; }
  .portfolio-hero { padding-top:6rem; }
  .portfolio-hero-grid { width:calc(100% - 1rem); }
  .hero-glass-card { width:100%; max-width:100%; padding:1.15rem; overflow:hidden; }
  .portfolio-hero h1 { max-width:none; font-size:clamp(2.75rem,12.5vw,3.4rem); line-height:.86; letter-spacing:-.055em; }
  .portfolio-role { font-size:.86rem; }
  .portfolio-role em { font-size:1.35rem; }
  .portfolio-hero-copy > p:not(.portfolio-kicker):not(.portfolio-role) { font-size:.93rem; }
  .portfolio-actions { display:grid; grid-template-columns:1fr; }
  .portfolio-button { width:100%; }
  .portfolio-trust { grid-template-columns:1fr; width:calc(100% - 1rem); }
  .portfolio-subtext { padding:1rem; }
  .portfolio-section h2 { font-size:clamp(2.7rem,12vw,3.5rem); }
  .portfolio-section h2 em { display:block; }
}
