/* N5S · Nocturne. Corporate orange, mineral navy and technical linework. */
:root{--ink:#eef3f8;--muted:#a7b7c9;--line:#ffffff25;--paper:#0b1826;--orange:#ff6b19;--cyan:#53c4ce;--surface:#102236;--panel:#12273d;color:var(--ink);background:#07121e}
body{background:#07121e;color:var(--ink)}
.header{background:linear-gradient(#050e19e8,#07142192);border-bottom:1px solid #ffffff20;backdrop-filter:blur(14px)}
.header nav{gap:22px}.header nav a{font-size:13px}.header .brand>span{font-size:9px}.header-actions{gap:22px}.nav-cta{background:#ffffff06;border-color:#ffffff30}
.hero{min-height:860px}.hero h1{font-weight:500;text-shadow:0 4px 50px #0004}.hero:before{background:linear-gradient(90deg,#06101df0,#06101d89 47%,#06101d10 85%),linear-gradient(0deg,#07121e,transparent 50%)}
.hero-grid{background-image:linear-gradient(90deg,#a3c8e70c 1px,transparent 1px);background-size:25% 100%}
/* Layered frames move independently across the existing corporate photograph. */
.hero-geometry{position:absolute;width:46vw;aspect-ratio:1;right:-4vw;top:17%;pointer-events:none;z-index:-1;transform:rotate(-28deg)}
.hero-geometry span{position:absolute;inset:0;border:1px solid #ff6b1980;background:linear-gradient(120deg,#ff6b1906,transparent 55%);animation:geometry-drift 14s ease-in-out infinite alternate;will-change:transform}
.hero-geometry span:before{content:"";position:absolute;left:-1px;top:-1px;width:18%;height:18%;border-top:2px solid #ff9a58;border-left:2px solid #ff9a58;filter:drop-shadow(0 0 7px #ff6b1944)}
.hero-geometry span:after{content:"";position:absolute;right:-3px;bottom:-3px;width:5px;height:5px;background:#ff9a58;box-shadow:0 0 14px #ff6b1966}
.hero-geometry span:nth-child(2){inset:17%;border-color:#53c4ce77;animation:geometry-counter 18s ease-in-out infinite alternate;animation-delay:-7s}
.hero-geometry span:nth-child(2):before{border-color:#79d5db;left:auto;top:auto;right:-1px;bottom:-1px;border-top:0;border-left:0;border-right:2px solid #79d5db;border-bottom:2px solid #79d5db}
.hero-geometry span:nth-child(2):after{background:#79d5db;box-shadow:0 0 14px #53c4ce66;right:auto;bottom:auto;left:-3px;top:-3px}
.hero-geometry span:nth-child(3){inset:34%;border-color:#ff6b19bb;animation:geometry-inner 11s ease-in-out infinite alternate;animation-delay:-4s;background:linear-gradient(120deg,#ff6b1914,transparent)}
.hero-geometry:before{content:"";position:absolute;width:19%;aspect-ratio:1;left:-9%;bottom:3%;border:1px solid #53c4ce88;animation:geometry-satellite 13s ease-in-out infinite alternate;animation-delay:-5s;background:#53c4ce05}
.hero-geometry:after{content:"";width:8px;height:8px;position:absolute;right:8%;top:8%;background:var(--orange);box-shadow:0 0 25px #ff6b19;border-radius:50%;animation:geometry-signal 8s ease-in-out infinite alternate}
.service-rail{background:#0a1726;position:relative}.service-rail a{border-color:#ffffff18;transition:background .3s}.service-rail a:hover{background:#ff6b1912}
.about,.capabilities,.method,.contact-section{background:#0b1826;color:#eef3f8;overflow:hidden;isolation:isolate}.section{border-top:1px solid #ffffff12}
.about{background:radial-gradient(ellipse at 95% 10%,#273c50 0%,transparent 54%),#0b1826}.about>*:not(.blueprint-trace){position:relative;z-index:1}
.about:after{content:"";position:absolute;width:65%;height:75%;right:-30%;bottom:-40%;border:90px solid #ffffff03;transform:rotate(-35deg);z-index:0;pointer-events:none}
.blueprint-trace{position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:linear-gradient(#8198ad0d 1px,transparent 1px),linear-gradient(90deg,#8198ad0d 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,transparent 25%,#000)}
.blueprint-trace i{position:absolute;right:-170px;top:80px;width:700px;height:700px;border:1px solid #99bed133;border-radius:50%;animation:orbit 70s linear infinite}.blueprint-trace i:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange);position:absolute;top:15%;left:15%;box-shadow:0 0 30px #ff6b19}.blueprint-trace i:nth-child(2){width:500px;height:500px;right:-70px;top:180px;border-style:dashed;animation-direction:reverse}.blueprint-trace i:nth-child(3){width:300px;height:300px;right:30px;top:280px}
.about .section-label,.capabilities .section-label,.method .section-label,.contact-section .section-label,.about .mini-index,.service-no,.step-top span,.capabilities .text-link{color:var(--orange)}
.principles{gap:18px}.principles article{background:linear-gradient(145deg,#1a3043b3,#0a192999);border:1px solid #ffffff19;padding:30px;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%);position:relative}.principles article:after{content:"";position:absolute;top:0;left:0;width:42px;height:2px;background:var(--orange)}.principles h3{margin-top:28px}.principles p{color:#a7b7c9}
.manifesto{padding:32px;border:1px solid #ff6b1930;background:linear-gradient(105deg,#ff6b1911,transparent);margin-top:32px}.manifesto p{color:#eef3f8}
.capabilities{background:linear-gradient(125deg,#07121e 35%,#132438)}.capabilities:before,.method:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(120deg,transparent 0,transparent 169px,#9cbad106 170px,transparent 171px);z-index:-1}
.service-list,.service{border-color:#ffffff24}.service{padding:0 24px;background:#ffffff02}.service[open]{background:#172b3b66;border-left:2px solid var(--orange)}.service-title small{color:#8ea5bb}.plus{border-color:#fff4}.plus:before,.plus:after{background:#c2d0db}.service-content{padding:4px 0 35px 48px}.service-detail{padding-right:24px}.service-photo{clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
.node-section{background:radial-gradient(ellipse at 85% 35%,#12374b88,transparent 52%),#061521}.node-system{position:relative}.node-system:before,.node-system:after{content:"";position:absolute;inset:10%;border:1px solid #ffffff0d;transform:rotate(45deg);pointer-events:none}.node-system:after{inset:0;transform:rotate(20deg)}.orbital-core{background:radial-gradient(circle,#16394f,#091725);box-shadow:0 0 110px #36c3d028}.orbital-label{background:#0a1e2b}.node-word{font-weight:400}.node-glow{animation:signal-pulse 8s ease-in-out infinite}
.method{background:#0e1d2d}.steps{gap:18px}.steps article{padding:28px 23px;background:linear-gradient(145deg,#23374966,#0c182644);border:1px solid #ffffff20;border-top:2px solid #ff6b1966}.step-top{border-color:#ffffff20}.steps h3{color:#eef3f8}.steps p{color:#a7b7c9}
.selected-projects{background:linear-gradient(140deg,#132638,#081420);overflow:hidden}.project-all{margin-top:25px;color:var(--orange)}.home-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.project-card{min-width:0;background:linear-gradient(140deg,#172c40,#0a1929);border:1px solid #ffffff1b;overflow:hidden;transition:transform .35s,border-color .35s;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%)}.project-card:hover{transform:translateY(-6px);border-color:#ff6b1980}.project-image{position:relative;aspect-ratio:1.8;overflow:hidden;background:#172b3b}.project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06101dd9,transparent 70%);pointer-events:none}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s;filter:saturate(.75) contrast(1.05)}.project-card:hover img{transform:scale(1.04)}.project-id{position:absolute;top:17px;left:17px;z-index:1;background:#051323cb;border:1px solid #ffffff33;padding:7px 10px;font-size:10px;letter-spacing:1px}.photo-label{position:absolute;left:17px;bottom:14px;font-size:10px;color:#d1dce6;z-index:1;letter-spacing:.2px}.project-copy{padding:25px}.project-meta{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;font-size:11px;color:var(--orange);line-height:1.7}.project-meta span{color:#a2b6c7}.project-copy h3{font-size:24px;letter-spacing:-.7px;line-height:1.18;font-weight:500;margin:17px 0}.project-summary{font-size:14px;line-height:1.8;color:#afbdcc}.project-discipline{display:block;margin-top:25px;padding-top:17px;border-top:1px solid #ffffff1f;text-transform:uppercase;font-size:9px;letter-spacing:1.4px;color:#88a5bc}.compact .project-copy{padding:25px}.compact .project-copy h3{font-size:25px}.compact .project-summary{font-size:14px}.experience{background:#061320}.experience .section-label{color:var(--orange)}.reference-area{display:none}.experience .sectors{margin-top:30px}.credentials{background:#102436;border:1px solid #ffffff20;padding:30px;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}.credentials strong{color:#eef3f8}
.contact-section,.project-contact{background:radial-gradient(ellipse at 0 100%,#ff6b1917,transparent 50%),linear-gradient(130deg,#132c40,#081522);color:#f4f7fa}.contact-section:after{content:"";pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0,transparent 110px,#ffffff04 111px,transparent 112px);z-index:-1}.contact-actions p{color:#b2c0cc}.primary{background:linear-gradient(100deg,#fc5e11,#ff902f);color:#071421;box-shadow:0 8px 35px #ff6b1917}.primary:hover{background:#ff9958;transform:translateY(-2px)}
/* Project atlas */
.projects-page .header{position:relative;background:#07131e}.project-header .projects-nav{color:var(--orange)}.projects-hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:580px;overflow:hidden;background:#07131e;position:relative}.project-hero-text{padding:85px 40px 85px var(--pad);position:relative;z-index:1}.project-hero-text .eyebrow{color:var(--orange);font-size:11px}.projects-hero h1{font-size:clamp(48px,5.4vw,84px);font-weight:500;letter-spacing:-.055em;line-height:1.08;margin:27px 0}.projects-hero h1 em{color:var(--orange);font-style:normal}.project-hero-text>p:not(.eyebrow){color:#afc0cf;font-size:17px;line-height:1.8;max-width:440px}.project-hero-links{display:flex;align-items:center;gap:24px;margin-top:35px;flex-wrap:wrap}.project-hero-photo{position:relative;isolation:isolate;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);min-height:500px}.project-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60%;animation:cinema 35s ease-in-out infinite alternate}.project-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07131e9c,transparent 70%),linear-gradient(0deg,#07131e,transparent 50%)}.project-hero-photo>span{position:absolute;bottom:27px;left:35px;font-size:10px;color:#bed0e0;z-index:1}.corner-label{position:absolute;top:30px;right:30px;font-size:9px;letter-spacing:2px;z-index:1;writing-mode:vertical-rl;color:#f2f6f8}
.project-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:0 var(--pad);background:#0e2030;border-block:1px solid #ffffff21}.project-stats>div{display:flex;align-items:center;gap:22px;padding:32px;border-right:1px solid #ffffff20}.project-stats>div:first-child{border-left:1px solid #ffffff20}.project-stats strong{font-size:45px;color:var(--orange);font-weight:400;letter-spacing:-2px}.project-stats span{font-size:12px;line-height:1.7;max-width:150px;color:#b4c4d3}.featured-projects{background:radial-gradient(ellipse at 100% 0,#253c5133,transparent 50%),#091624}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.featured-grid .project-card:first-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.featured-grid .project-card:first-child .project-image{aspect-ratio:auto;min-height:420px}.featured-grid .project-card:first-child .project-copy{align-self:center;padding:32px}.featured-grid .project-card:first-child h3{font-size:30px}.featured-grid .project-card:first-child .project-summary{font-size:15px}
.register-section{background:linear-gradient(135deg,#102234,#081420)}.register-controls{display:grid;grid-template-columns:1.5fr 1fr .8fr;gap:18px;padding:23px;background:#071522;border:1px solid #ffffff21}.register-controls label{display:flex;flex-direction:column;gap:11px;font-size:11px;color:#b2c4d4;letter-spacing:.3px}.register-controls input,.register-controls select{background:#132639;color:#f3f6f9;font:inherit;font-size:14px;border:1px solid #ffffff25;border-radius:0;padding:14px;width:100%;min-height:48px}.register-controls input:focus-visible,.register-controls select:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.register-controls input::placeholder{color:#8ca1b6}.register-controls select{color-scheme:dark}.result-count{font-size:12px;color:#9ab0c3;margin:20px 0 35px}.register-group{margin-bottom:16px;border:1px solid #ffffff20;background:#0c1b2b}.register-group summary{display:flex;gap:18px;align-items:center;cursor:pointer;padding:26px;list-style:none;background:linear-gradient(100deg,#183048,#102135)}.register-group summary::-webkit-details-marker{display:none}.register-group summary>span:first-child{color:var(--orange);font-size:11px}.register-group summary h3{font-size:21px;font-weight:500;letter-spacing:-.5px}.register-group summary b{font-size:12px;border:1px solid #ffffff25;border-radius:50%;height:30px;min-width:30px;display:grid;place-items:center;font-weight:400;margin-left:auto;color:#bed0dd}.register-chevron{color:var(--orange);font-size:22px}.register-group[open] .register-chevron{transform:rotate(180deg)}.register-heading,.register-row{display:grid;grid-template-columns:65px minmax(0,1.8fr) minmax(0,1.2fr) 150px;gap:20px;align-items:center;padding:20px 26px}.register-heading{font-size:9px;letter-spacing:1.4px;color:#86a2b9;border-bottom:1px solid #ffffff20;background:#071522}.register-row{border-bottom:1px solid #ffffff10;min-height:75px}.register-row:last-child{border:0}.row-id{font-size:10px;color:#7f9cb4}.row-title{font-size:14px;line-height:1.6;color:#e4edf4}.row-client{font-size:12px;color:#99b1c5;line-height:1.7}.row-date{font-size:12px;color:#f2a274}.register-row:hover{background:#16304766}.experience-scope{border-left:2px solid var(--orange);padding:6px 0 6px 25px;margin-top:35px;max-width:950px}.experience-scope>span{font-size:10px;letter-spacing:1.5px;color:#91acbf}.experience-scope p{color:#94aabd;font-size:12px;line-height:1.8;margin-top:12px}.empty-results{padding:40px;font-size:17px;color:#b6c8d7;background:#0d1d2e}.project-contact h2{margin:30px 0;max-width:940px}.project-contact .button{margin-top:15px}
/* Review alternatives retain the same palette and content. */
:root[data-theme="graphite"]{--surface:#20242a;--panel:#232a31;--paper:#15191e}.graphite-unused{display:none}[data-theme="graphite"] .about,[data-theme="graphite"] .capabilities,[data-theme="graphite"] .method,[data-theme="graphite"] .featured-projects,[data-theme="graphite"] .register-section,[data-theme="graphite"] .selected-projects{background:radial-gradient(ellipse at 100% 0,#63492c24,transparent 60%),#161b21}[data-theme="graphite"] .project-card,[data-theme="graphite"] .principles article,[data-theme="graphite"] .register-group summary{background:linear-gradient(140deg,#30343b,#171d25)}[data-theme="graphite"] .hero-geometry{transform:rotate(-12deg)}
[data-theme="blueprint"] .about,[data-theme="blueprint"] .capabilities,[data-theme="blueprint"] .method,[data-theme="blueprint"] .featured-projects,[data-theme="blueprint"] .register-section,[data-theme="blueprint"] .selected-projects{background-image:linear-gradient(#73b4d408 1px,transparent 1px),linear-gradient(90deg,#73b4d408 1px,transparent 1px),radial-gradient(ellipse at 100% 0,#11506e44,transparent 60%);background-color:#092035;background-size:48px 48px,48px 48px,100% 100%}[data-theme="blueprint"] .project-card,[data-theme="blueprint"] .principles article{background:#0a263ddd;border-color:#5fa8cc33}[data-theme="blueprint"] .hero-geometry span{border-color:#53c4ce55}
@keyframes geometry-drift{from{transform:translate3d(-38px,-14px,0) rotate(-4deg)}to{transform:translate3d(38px,24px,0) rotate(7deg)}}
@keyframes geometry-counter{from{transform:translate3d(35px,-30px,0) rotate(8deg)}to{transform:translate3d(-32px,32px,0) rotate(-8deg)}}
@keyframes geometry-inner{from{transform:translate3d(-26px,24px,0) rotate(-8deg)}to{transform:translate3d(29px,-25px,0) rotate(10deg)}}
@keyframes geometry-satellite{from{transform:translate3d(0,25px,0) rotate(0)}to{transform:translate3d(55px,-25px,0) rotate(12deg)}}
@keyframes geometry-signal{from{transform:translate3d(-25px,0,0);opacity:.65}to{transform:translate3d(38px,38px,0);opacity:1}}@keyframes signal-pulse{0%,100%{opacity:.55}50%{opacity:1}}
@media(max-width:1200px){.header{gap:18px}.header .brand>span{display:none}.header nav{gap:18px}.header-actions{gap:17px}.home-project-grid{gap:17px}.project-copy{padding:22px}.project-copy h3{font-size:22px}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-grid .project-card:first-child{grid-column:span 1;display:block}.featured-grid .project-card:first-child .project-image{aspect-ratio:1.8;min-height:0}.featured-grid .project-card:first-child .project-copy{padding:22px}.featured-grid .project-card:first-child h3{font-size:22px}.project-stats>div{padding:24px 18px}.projects-hero{grid-template-columns:1.2fr 1fr}}
@media(max-width:850px){.hero-geometry{width:75vw;right:-25vw;top:24%}.header nav a{font-size:20px}.principles article{padding:23px}.service{padding:0 18px}.service-content{padding-left:0}.service-detail{padding-right:0}.steps article{padding:23px 18px}.home-project-grid{grid-template-columns:1fr}.compact{display:grid;grid-template-columns:1fr 1.1fr}.compact .project-image{height:100%;aspect-ratio:auto;min-height:310px}.projects-hero{grid-template-columns:1fr}.project-hero-text{padding:65px var(--pad)}.projects-hero h1{font-size:64px}.project-hero-photo{position:absolute;inset:0;z-index:0;opacity:.38;clip-path:none;min-height:0}.project-hero-photo:after{background:linear-gradient(90deg,#07131eee,#07131e66)}.project-hero-photo>span,.corner-label{display:none}.project-stats strong{font-size:35px}.project-stats span{font-size:11px}.project-stats>div{gap:13px;padding:24px 12px}.register-controls{grid-template-columns:1fr 1fr}.register-controls label:first-child{grid-column:span 2}.register-heading,.register-row{grid-template-columns:50px 1.6fr 1fr 100px;gap:12px;padding:17px}.register-group summary{padding:22px}.credentials{padding:26px}.project-copy h3{font-size:24px}}
@media(max-width:580px){.hero{min-height:790px}.hero-geometry{top:38%;right:-40%;width:110vw;opacity:.55}.principles{gap:12px}.principles article{padding:25px}.principles h3{margin:0}.manifesto{padding:25px}.service{padding:0 14px}.service-title{font-size:23px}.service>summary{gap:11px}.service-no{min-width:12px}.service-photo p{font-size:25px}.steps{gap:15px}.steps article{padding:20px 16px}.steps h3{font-size:21px}.steps p{font-size:14px}.compact{display:block}.compact .project-image{aspect-ratio:1.7;height:auto;min-height:0}.compact .project-copy h3{font-size:26px}.home-project-grid{gap:22px}.credentials{padding:25px}.projects-hero h1{font-size:48px}.project-hero-text{padding-top:65px;padding-bottom:65px}.project-hero-text>p:not(.eyebrow){font-size:16px}.project-stats{padding:0 15px;gap:0}.project-stats>div{flex-direction:column;align-items:flex-start;gap:8px;padding:24px 13px}.project-stats strong{font-size:35px}.project-stats span{font-size:10px;line-height:1.6}.featured-grid{grid-template-columns:1fr;gap:23px}.featured-grid .project-card:first-child h3,.project-copy h3{font-size:26px}.featured-grid .project-card:first-child .project-copy,.project-copy{padding:25px}.project-summary,.featured-grid .project-card:first-child .project-summary{font-size:15px}.register-controls{padding:18px;grid-template-columns:1fr}.register-controls label:first-child{grid-column:auto}.register-controls label{font-size:12px}.register-group summary{padding:20px 15px;gap:12px}.register-group summary h3{font-size:18px}.register-heading{display:none}.register-row{grid-template-columns:48px 1fr;gap:7px 12px;padding:22px 17px;align-items:start}.row-id{padding-top:5px}.row-title{font-size:15px}.row-client{grid-column:2}.row-date{grid-column:2;font-size:12px}.project-contact h2{font-size:37px}.experience-scope{padding-left:18px}.register-group{margin-bottom:14px}.project-hero-links{gap:22px}.project-image{aspect-ratio:1.7}}
@media(prefers-reduced-motion:reduce){.hero-geometry span,.hero-geometry:before,.hero-geometry:after,.blueprint-trace i,.node-glow{animation:none}.project-card:hover,.primary:hover{transform:none}}
@media(max-width:580px){.register-controls input,.register-controls select{font-size:16px}}

.photo-credit-link{display:inline-block;margin-left:9px;text-decoration:underline;text-underline-offset:3px;color:#a7b7c9}.photo-credit-link:hover{color:var(--orange)}

.project-copy .photo-credit{font-size:12px;line-height:1.5;margin:0 0 12px;color:#b9c8d6}.photo-credit a{text-decoration:underline;text-underline-offset:3px}
