app-hero .prism-rig{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:center}app-hero .seam-plane{position:absolute;inset:0;transform:translateZ(calc(var(--prism-width) / 2 + 1px));pointer-events:none}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){app-hero .prism-rig{transform:rotateX(-2deg) rotateY(-3deg)}}app-hero .prism{--surface-grain: repeating-linear-gradient( 0deg, #dce8ce06 0 .6px, transparent .6px 1.8px, #0000000a 1.8px 2.2px, transparent 2.2px 4.7px );position:absolute;width:var(--prism-width);height:36%;left:calc(50% - var(--prism-width) / 2);transform-style:preserve-3d}app-hero .prism:before,app-hero .prism:after{content:"";position:absolute;left:0;width:100%;height:var(--prism-width);background:linear-gradient(140deg,#10130f,#1f261a);border:1px solid #39432c;backface-visibility:hidden;pointer-events:none}app-hero .prism:before{background:var(--surface-grain),var(--cap-top-fill, linear-gradient(140deg, #10130f, #1f261a));border-color:var(--cap-top-edge, #39432c);top:0;transform:translateY(-50%) rotateX(90deg)}app-hero .prism:after{background:var(--surface-grain),var(--cap-bottom-fill, linear-gradient(140deg, #10130f, #1f261a));border-color:var(--cap-bottom-edge, #39432c);top:100%;transform:translateY(-50%) rotateX(-90deg)}app-hero .prism-top{top:14%;transform:rotateY(45deg)}app-hero .prism-bottom{top:50%;transform:rotateY(-45deg)}app-hero .face{position:absolute;width:100%;height:100%;transform:rotateY(calc(var(--face) * 90deg)) translateZ(calc(var(--prism-width) / 2));background:var(--surface-grain),var(--face-fill, linear-gradient(140deg, #10130f, #1f261a));border:1px solid var(--face-edge, #39432c);box-shadow:inset 0 1px #ffffff08;backface-visibility:hidden;display:flex;align-items:flex-end;justify-content:flex-end;padding:.75rem}app-hero .prism-bottom .face{align-items:flex-start;justify-content:flex-start}@media(hover:none),(pointer:coarse){app-hero .face{background:var(--face-fill, linear-gradient(140deg, #10130f, #1f261a))}app-hero .prism:before{background:var(--cap-top-fill, linear-gradient(140deg, #10130f, #1f261a))}app-hero .prism:after{background:var(--cap-bottom-fill, linear-gradient(140deg, #10130f, #1f261a))}}app-hero .face span{font-family:var(--font-display);font-size:clamp(3.7rem,6vw,6rem);font-style:italic;line-height:1}app-hero .prism-light{position:absolute;height:48px;width:60%;left:20%;top:calc(50% - 24px);pointer-events:none;opacity:0;transform:scaleX(0)}app-hero .prism-light:before,app-hero .prism-light:after{content:"";position:absolute;pointer-events:none}app-hero .prism-light:before{inset:0;background:radial-gradient(ellipse at center,#dcffa473,#bdff4033 25%,#bdff4000 70%);filter:blur(3px)}app-hero .prism-light:after{left:0;right:0;top:calc(50% - 2px);height:4px;background:linear-gradient(90deg,transparent,rgba(189,255,64,.5) 20%,var(--color-accent) 38%,#f5ffdf 50%,var(--color-accent) 62%,rgba(189,255,64,.5) 80%,transparent);clip-path:polygon(0 50%,42% 0,58% 0,100% 50%,58% 100%,42% 100%);-webkit-mask-image:radial-gradient(ellipse at center,black 35%,transparent 85%);mask-image:radial-gradient(ellipse at center,black 35%,transparent 85%);filter:blur(.25px)}app-hero .tilt-control{margin-top:1rem;padding:.4rem .75rem;border:1px solid var(--color-line);border-radius:2rem;background:var(--color-bg);color:var(--color-muted);font:inherit;font-size:.75rem;cursor:pointer}app-hero .tilt-message{color:var(--color-muted);font-size:.75rem}app-hero .prism-scene{--prism-width: clamp(180px, 25vw, 330px);position:relative;height:490px;min-width:0;perspective:1100px;overflow:visible}app-hero .prism-area{min-width:0}app-hero .motion-choice{position:relative;text-align:center;color:var(--color-muted);font-size:.75rem}app-hero .motion-choice p{margin:.5rem 0 0}app-hero .motion-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;margin-top:.75rem}app-hero .motion-actions .tilt-control{margin:0;padding:.5rem;min-height:44px;border-color:transparent;background:transparent;text-decoration:underline;text-underline-offset:.25em}app-hero .motion-actions .tilt-control:hover{color:var(--color-accent)}app-hero .motion-toggle:disabled{cursor:wait;opacity:.65}app-hero .motion-off .prism{transform:rotateY(0)}@font-face{font-family:Manufacturing Consent;font-style:normal;font-weight:400;font-display:swap;src:url("./media/manufacturing-consent-XLGQBXGN.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-weight:400;font-display:swap;src:url("./media/chakra-petch-KUGXLNJZ.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--color-bg: #080908;--color-panel: #141614;--color-raised: #1c1f1b;--color-text: #f4f5ef;--color-muted: #b0b6aa;--color-line: #343a30;--color-accent: #bdff40;--color-error: #ffaaa0;--font-body: "Chakra Petch", sans-serif;--font-display: "Manufacturing Consent", Georgia, serif;--page-width: 1200px;--page-gutter: clamp(1.25rem, 5vw, 5rem);--header-height: 5.5rem}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + 1rem);-webkit-font-smoothing:antialiased}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.6}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.25em}a:hover{color:var(--color-accent)}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1}p{margin-bottom:1.25rem}::selection{background:var(--color-accent);color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:5px}app-root,app-home,app-hero,app-projects,app-about,app-gallery,app-contact,app-section-heading{display:block}.container{width:min(var(--page-width),100% - var(--page-gutter) * 2);margin-inline:auto}.section{padding-block:clamp(4rem,8vw,7rem);border-top:1px solid var(--color-line)}.section-heading{margin-bottom:clamp(2rem,4vw,3.5rem);max-width:48rem}.eyebrow{display:flex;align-items:center;gap:.8rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--color-muted);margin-bottom:1.25rem}.section-number{color:var(--color-accent)}.section-title{font-family:var(--font-display);font-size:clamp(2.75rem,6vw,5rem);font-weight:400;margin-bottom:1.25rem}.section-description{font-size:1.05rem;color:var(--color-muted);max-width:42rem;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:48px;padding:.8rem 1.3rem;border:1px solid var(--color-accent);border-radius:100px;color:var(--color-bg);background:var(--color-accent);font-weight:600;font-size:.9rem;text-decoration:none;transition:color .18s,background-color .18s,transform .18s}.button:hover{background:var(--color-bg);color:var(--color-accent)}.button-secondary{background:transparent;color:var(--color-text);border-color:var(--color-line)}.button-secondary:hover{border-color:var(--color-accent)}.text-link{display:inline-flex;align-items:center;gap:.75rem;color:var(--color-accent);text-decoration:none;padding-block:.4rem}.text-link:hover{color:var(--color-text);text-decoration:underline}.arrow{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:middle;transition:transform .18s}a:hover .arrow,button:hover .arrow{transform:translate(2px,-2px)}a:hover .arrow-down{transform:translateY(3px)}a:hover .arrow-up{transform:translateY(-3px)}.tag{display:inline-block;padding:.3rem .65rem;border:1px solid var(--color-line);border-radius:3px;font-size:.75rem;color:var(--color-muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:100;padding:.75rem 1rem;background:var(--color-accent);color:var(--color-bg);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media(max-width:599px){:root{--header-height: 7rem}}@media(max-width:699px){.section{padding-block:3rem}.section-heading{margin-bottom:1.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
