/* Interaction layer: decorative motion never gates access to content. */
.signal-field{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.7}
.nav{position:relative}.nav-contact{font:11px var(--mono);color:#b1c5d5;margin-left:auto;margin-right:30px}.nav-contact:hover{color:var(--orange)}
.hero-layout{padding-top:85px;padding-bottom:90px}.hero-copy{position:relative;z-index:1}
.hero-portrait{perspective:1000px;padding:24px;isolation:isolate}
.hero-portrait:before{inset:0 0 40px;border:1px solid #56e0ed33;transform:rotate(-5deg);background:linear-gradient(145deg,#56e0ed06,transparent 60%)}
.hero-portrait:after{content:'';position:absolute;inset:8% -8% 5%;z-index:-1;background:radial-gradient(ellipse,#167c9d30,transparent 68%);filter:blur(20px)}
.portrait-frame{transform:rotateX(var(--portrait-x,0deg)) rotateY(var(--portrait-y,0deg));transition:transform .35s ease-out;clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,12% 100%,0 88%);border:0;background:#090f18}
.portrait-frame img{filter:saturate(.65);mask-image:linear-gradient(180deg,#000 65%,transparent 100%)}
.portrait-index{right:18px;top:auto;bottom:28px;border:0;background:none;color:#8bd9e9;font-size:9px}
.hero-portrait figcaption{margin-top:8px;position:relative}.hero-portrait figcaption:before{content:'';width:5px;height:5px;background:var(--orange);box-shadow:0 0 10px var(--orange);flex:none}
.hero-portrait figcaption>span:first-child{margin-right:auto}
.hero-rail{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding:22px 0;font:10px/1.6 var(--mono);letter-spacing:1px;color:#92aabc}.hero-rail strong{font-weight:400;color:#d2e9f5}.hero-rail a{color:var(--orange)}
.rail-line{height:1px;flex:1;max-width:220px;background:linear-gradient(90deg,#56e0ed60,transparent)}
.project-grid{grid-template-columns:1fr;gap:40px}.project{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:38px;padding:26px;overflow:hidden;background:radial-gradient(ellipse at var(--card-x,0%) var(--card-y,0%),#3c809516,transparent 65%),#0d1722}
.project-stage{grid-column:1;grid-row:1/7;align-self:center;padding:25px 18px;background:linear-gradient(140deg,#243d37,#101e24);perspective:1000px}
.stage-offshore{background:linear-gradient(140deg,#173953,#101c2b)}
.project-browser{transform:rotateY(-5deg) rotateX(3deg);transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s}.project-stage:hover .project-browser,.project-stage:focus-visible .project-browser{transform:rotateY(0) rotateX(0) translateY(-5px);box-shadow:0 25px 55px #0007}
.project-title{margin-top:10px}.project-title h3{font-size:30px}.project>p{font-size:14px}.project .project-role{margin-bottom:14px}.project .text-link{justify-self:start}.project:focus-within{border-color:#56e0ed77}
.build-detail{grid-column:2;border-top:1px solid var(--line);margin:17px 4px 4px;font-size:13px;color:#a5b5c6}.build-detail summary{padding:16px 0;cursor:pointer;color:#c5e3ef;font:11px var(--mono);list-style:none;display:flex;justify-content:space-between;gap:15px}.build-detail summary::-webkit-details-marker{display:none}.build-detail summary:after{content:'+';color:var(--orange)}.build-detail[open] summary:after{content:'−'}.build-detail summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.build-detail p{line-height:1.8;margin:0 0 16px}
.approach{padding:0 0 85px;background:#0b121d}.approach-heading{font:11px var(--mono);color:#8eacbe;letter-spacing:1px;border-top:1px solid var(--line);padding-top:35px;margin:0 0 25px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.approach-step>span{font:11px var(--mono);color:var(--orange)}.approach-step h3{font:700 23px var(--display);letter-spacing:-.5px;margin:15px 0 12px}.approach-step p{font-size:14px;line-height:1.8;color:#9bb0c2;margin:0;max-width:310px}
.footer{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 100%,#12324280,transparent 65%),#070c14}.contact-heading{font:700 clamp(2rem,4.5vw,4.4rem)/1.1 var(--display);letter-spacing:-.05em;margin:0 0 24px;max-width:750px}.contact-heading span{color:var(--orange)}
.hero-cta .cta-icon{transition:transform .25s}.hero-cta:hover .cta-icon{transform:rotate(-8deg)}
@media(min-width:761px){.project:nth-child(2) .project-stage{grid-column:2}.project:nth-child(2)>:not(.project-stage){grid-column:1}.project:nth-child(2) .project-stage{grid-row:1/7}}
@media(max-width:1000px){.project{column-gap:24px;padding:20px}.project-title{flex-wrap:wrap;gap:10px}.project-title h3{font-size:26px}.hero-portrait{padding:14px}.nav-contact{margin-right:10px}}
@media(max-width:760px){.nav-contact{display:none}.hero-layout{padding:48px 0 40px}.hero-portrait{max-width:400px;padding:20px}.hero-portrait figcaption{font-size:8px;gap:8px}.hero-portrait figcaption>span:first-child{font-size:7px}.hero-rail{font-size:8px;gap:12px;letter-spacing:.4px}.rail-line{display:none}.project{display:flex;flex-direction:column;padding:14px;gap:0}.project-stage{width:100%;padding:20px 12px}.project-title{margin-top:24px;flex-wrap:nowrap}.project-title h3{font-size:25px}.project-browser{transform:none}.build-detail{margin-top:14px}.approach{padding-bottom:50px}.approach-grid{grid-template-columns:1fr;gap:25px}.approach-step{display:grid;grid-template-columns:28px 1fr;column-gap:12px}.approach-step>span{padding-top:5px}.approach-step h3{margin:0 0 9px;font-size:21px}.approach-step p{grid-column:2;max-width:none}.contact-heading{font-size:34px}}
@media(prefers-reduced-motion:reduce){.portrait-frame,.project-browser,.project-stage:hover .project-browser,.hero-cta:hover .cta-icon{transform:none}}
