/* Depth, light, and the wrapped owner portrait treatment. */
body{font-synthesis:none;-webkit-font-smoothing:antialiased}.site-header{transform:translateX(-50%) perspective(900px) rotateX(0deg);transition:transform .35s ease,background .35s ease}.site-header:hover{transform:translateX(-50%) translateY(-2px) perspective(900px) rotateX(1deg);background:rgba(31,43,56,.82)}.three-layer{position:absolute;z-index:1;inset:0;overflow:hidden;opacity:.7;pointer-events:none}.three-layer canvas{display:block;width:100%;height:100%}.sequence__copy,.sequence__meta{z-index:3}.sequence__copy h1,.sequence__copy h2{filter:drop-shadow(0 10px 26px rgba(0,0,0,.3))}.button--light{box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 30px rgba(0,0,0,.22)}.button--dark{box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 14px 25px rgba(0,0,0,.2)}.glass-card{position:relative;overflow:hidden;transform:translateZ(0);transition:border-color .35s ease,box-shadow .35s ease,transform .35s cubic-bezier(.2,.7,.2,1)}.glass-card:before{position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.11),transparent 25%,transparent 70%,rgba(169,145,255,.08));opacity:.65;content:"";pointer-events:none}.glass-card:hover{border-color:rgba(183,154,255,.4);box-shadow:0 24px 65px rgba(0,0,0,.2),0 0 0 1px rgba(183,154,255,.06);transform:translateY(-7px) perspective(800px) rotateX(1.5deg)}.service-card,.project-card,.process-card,.quote-card{transform-style:preserve-3d}.service-card>*{position:relative;z-index:1}.service-card__icon{box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 18px rgba(255,185,121,.12)}.section-heading h2 em,.sequence__copy h1 em,.sequence__copy h2 em,.contact-copy h2 em{text-shadow:0 0 30px rgba(183,154,255,.22)}.portrait-card{min-height:470px;border-color:rgba(222,231,246,.28);background:radial-gradient(circle at 52% 24%,rgba(201,205,255,.2),transparent 38%),linear-gradient(145deg,#e3e6f0 0%,#a6b4ca 47%,#61778f 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.68),0 28px 70px rgba(0,0,0,.2);transform-style:preserve-3d}.portrait-card:before{inset:10px;border-color:rgba(255,255,255,.5);border-radius:calc(var(--radius) - 7px);box-shadow:inset 0 0 30px rgba(255,255,255,.08)}.portrait-card:after{position:absolute;z-index:0;top:0;right:0;width:48%;height:100%;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22));content:"";pointer-events:none}.portrait-card__halo{display:none}.portrait-card__arch{position:absolute;z-index:1;top:20px;bottom:18px;left:28px;width:68%;overflow:hidden;border:1px solid rgba(255,255,255,.74);border-radius:48% 48% 22% 22% / 25% 25% 12% 12%;background:linear-gradient(160deg,rgba(237,242,255,.62),rgba(125,142,177,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.74),inset -18px 0 35px rgba(100,107,165,.11),0 15px 30px rgba(74,87,125,.15);transform:translateZ(20px)}.portrait-card__arch:after{position:absolute;inset:10px;border:1px solid rgba(255,255,255,.35);border-radius:inherit;content:""}.portrait-card__arch-glow{position:absolute;z-index:2;top:9%;left:-28%;width:105%;height:22%;border-radius:50%;background:rgba(255,255,255,.24);filter:blur(14px);transform:rotate(-16deg)}.portrait-card__arch img{position:absolute;z-index:1;bottom:-8px;left:50%;width:130%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 22px 18px rgba(23,35,53,.28));transform:translateX(-50%)}.portrait-card__orb{position:absolute;z-index:3;bottom:80px;left:10px;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff,rgba(202,190,255,.8) 38%,rgba(183,154,255,.15) 72%);box-shadow:0 0 25px rgba(203,191,255,.64);color:#a18bfa;font-size:18px;transform:translateZ(35px)}.portrait-card__orb:after{position:absolute;inset:-8px;border:1px solid rgba(255,255,255,.33);border-radius:50%;content:""}.portrait-card__stat,.portrait-card__impact{position:absolute;z-index:4;border:1px solid rgba(255,255,255,.55);border-radius:14px;background:rgba(239,243,252,.58);box-shadow:0 14px 28px rgba(78,93,124,.14),inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(14px);color:#172333;transform:translateZ(40px)}.portrait-card__stat{top:45px;right:12px;display:flex;flex-direction:column;gap:2px;width:76px;padding:12px 10px}.portrait-card__stat strong{font-size:25px;letter-spacing:-.08em}.portrait-card__stat span,.portrait-card__impact span{color:#536174;font:7px/1.35 'DM Mono',monospace}.portrait-card__impact{right:10px;bottom:105px;width:111px;padding:11px}.portrait-card__impact strong{display:block;margin:3px 0 7px;font-size:17px;letter-spacing:-.05em}.portrait-card__impact i{display:block;width:100%;height:18px;border-bottom:2px solid #9e8af8;clip-path:polygon(0 73%,18% 65%,30% 76%,47% 35%,62% 51%,76% 15%,100% 2%,100% 16%,80% 28%,64% 65%,47% 49%,31% 88%,17% 76%,0 86%);background:#9e8af8;opacity:.8}.portrait-card__label{z-index:5;right:13px;bottom:17px;padding:8px 10px;border-color:rgba(255,255,255,.5);background:rgba(30,45,63,.68);box-shadow:0 9px 20px rgba(0,0,0,.12);color:#d5deeb}.portrait-card__label strong{color:#fff}.stats-card{transform-style:preserve-3d}.stats-card div{transition:transform .3s ease}.stats-card div:hover{transform:translateX(4px)}.tool{transition:color .25s ease,transform .25s ease}.tool:hover{color:var(--ink);transform:translateY(-3px)}.tool__logo{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 18px rgba(0,0,0,.18);transition:transform .25s ease,box-shadow .25s ease}.tool:hover .tool__logo{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 23px rgba(183,154,255,.2);transform:rotate(-5deg) translateY(-2px)}.project-card__image:after{position:absolute;inset:0;background:linear-gradient(135deg,rgba(183,154,255,.14),transparent 36%,rgba(0,0,0,.22));content:"";pointer-events:none}.project-card__info{position:relative;z-index:1;background:rgba(14,24,34,.46)}.process-card span{display:inline-block;transition:transform .35s ease}.process-card:hover span{transform:translateZ(15px) scale(1.15)}.quote-card{transition-delay:var(--delay,0s)}.contact-form{transform-style:preserve-3d}.contact-form:after{position:absolute;top:-55%;right:-8%;width:190px;height:190px;border:1px solid rgba(183,154,255,.15);border-radius:50%;box-shadow:0 0 0 18px rgba(183,154,255,.03),0 0 0 36px rgba(183,154,255,.025);content:"";pointer-events:none}.contact-form>*{position:relative;z-index:1}.reveal.is-visible{transition-duration:.95s}@media(max-width:850px){.portrait-card__arch{width:72%;left:24px}.portrait-card__impact{right:9px}.three-layer{opacity:.45}}@media(max-width:520px){.portrait-card{min-height:450px}.portrait-card__arch{left:29px;width:69%}.portrait-card__stat{right:10px}.portrait-card__impact{right:9px;bottom:101px}.portrait-card__orb{left:9px}.three-layer{display:none}}@media(prefers-reduced-motion:reduce){.glass-card,.tool,.portrait-card,.site-header{transition:none}.three-layer{display:none}}
 .button svg{width:13px;height:13px;stroke-width:2}.portrait-card__arch img{mix-blend-mode:multiply}
 .reveal{opacity:1;transform:none}

/* Keep the desktop navigation inside the empty left side of the hero sequence. */
@media (min-width:1200px){
  .site-header{
    left:max(24px,calc((100vw - 1440px)/2 + 24px));
    width:660px;
    min-height:50px;
    gap:17px;
    padding:7px 9px 7px 12px;
    transform:perspective(900px) rotateX(0deg);
  }
  .site-header:hover{
    transform:translateY(-2px) perspective(900px) rotateX(1deg);
  }
  .site-nav{gap:17px;font-size:10px}
  .site-header .button--small{min-height:32px;padding:0 13px}
  .brand{gap:8px;font-size:9px}
  .brand__mark{width:26px;height:26px}
  .brand small{margin-left:6px;font-size:7px}
}

/* Collapse the header before it can cross the portrait safe zone. */
@media (min-width:851px) and (max-width:1199px){
  .site-header{top:14px;width:calc(100% - 40px);gap:14px}
  .site-nav{display:none}
  .site-header .button--small{margin-left:auto}
  .menu-toggle{display:block}
  .site-header.nav-open .site-nav{
    position:absolute;
    top:58px;
    left:0;
    right:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px;
    border:1px solid var(--line);
    border-radius:15px;
    background:#111d28;
  }
  .site-header.nav-open .site-nav a{padding:12px}
  .site-header.nav-open .site-nav a.is-active:after{display:none}
}

@media (max-width:520px){
  .three-layer{display:block;opacity:.28}
}

.tool__logo--code{color:#9ff0e3}
.tool__logo--vscode{color:#67b7ff}
.tool__logo--vscode svg{width:19px;height:19px;fill:currentColor}
