/* A single visual language ties the page together: orbital lines, soft glass, and purposeful depth. */
.nav{position:sticky;top:0;z-index:150;background:#111210d9;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:background .3s,border-color .3s}
.hero{background:radial-gradient(ellipse at 79% 47%,#1c473b42 0,transparent 39%)}
.work{position:relative;isolation:isolate;background:radial-gradient(ellipse at 76% 9%,#35564216 0,transparent 31%)}
.discipline-strip{position:relative;background:linear-gradient(90deg,#171813,#171b16 50%,#171813)}
.project-art{isolation:isolate;transform-style:preserve-3d;user-select:none;-webkit-user-select:none;--pointer-x:50%;--pointer-y:50%;--card-rx:0deg;--card-ry:0deg}
.project-art:before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),#ffffff30,transparent 38%);mix-blend-mode:screen;transition:opacity .35s}
.project-art:hover:before{opacity:.7}
.ethos-window{transform:perspective(1000px) translateZ(22px) rotateX(var(--card-rx)) rotateY(calc(-8deg + var(--card-ry))) rotateZ(-3deg);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s}
.ethos-art:hover .ethos-window{transform:perspective(1000px) translateZ(42px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) rotateZ(-.6deg)}
.wellness-card{transform:perspective(1000px) translateZ(24px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) rotateZ(-7deg);transition:transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .65s}
.wellness-art:hover .wellness-card{transform:perspective(1000px) translateZ(48px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) rotateZ(-2deg)}
.finance-window{transform:perspective(1000px) translateZ(22px) rotateX(var(--card-rx)) rotateY(calc(8deg + var(--card-ry))) rotateZ(3deg);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s}
.finance-art:hover .finance-window{transform:perspective(1000px) translateZ(42px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) rotateZ(.5deg)}
.project-info{transition:filter .35s}
.project:hover .project-info{filter:brightness(1.08)}
.project h3{transition:letter-spacing .3s,color .3s}
.project:hover h3{letter-spacing:-.5px;color:#f7c3a0}
.section-heading h2 em,.journey h2 em{color:#95b995}
.about{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 83% 15%,#bdc9ad 0,transparent 30%),linear-gradient(130deg,#e7e8de,#dfe5d9 55%,#e9e9df)}
.about:after{content:"";position:absolute;z-index:-1;right:-180px;top:12%;width:470px;height:470px;border:1px solid #80927a35;border-radius:50%;box-shadow:0 0 0 26px #80927a0b,0 0 0 68px #80927a08;pointer-events:none}
.about-story p:first-child{max-width:480px}
.toolbox{position:relative;perspective:900px}
.toolbox-label{display:flex;align-items:center;gap:12px}
.toolbox-label:after{content:"";height:1px;flex:1;background:#aab5a0}
.skill-constellation{position:relative;isolation:isolate;display:grid;place-items:center;height:205px;margin:-1px 0 15px;overflow:hidden;perspective:800px;transform-style:preserve-3d;background:radial-gradient(ellipse at center,#d1ddce 0,#e7eadf78 44%,transparent 74%)}
.toolbox>.skill-constellation{display:block;border:0;padding:0}
.skill-constellation:before{content:"";position:absolute;width:125px;height:125px;border-radius:50%;background:#86a48b25;filter:blur(15px);animation:skill-breathe 5s ease-in-out infinite alternate}
.skill-orbit{position:absolute;width:230px;height:118px;border:1px solid #6e927568;border-radius:50%;transform-style:preserve-3d;animation:skill-orbit-turn 22s linear infinite}
.skill-orbit-a{transform:rotateX(67deg) rotateZ(-24deg)}
.skill-orbit-b{width:195px;height:145px;border-color:#b58b5360;transform:rotateX(72deg) rotateZ(48deg);animation-duration:29s;animation-direction:reverse}
.skill-center{position:relative;z-index:2;display:grid;place-items:center;width:69px;height:69px;border:1px solid #a3b8a0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f7f4de,#9fbaa3 62%,#708a75);color:#28463a;box-shadow:0 12px 24px #34594430,inset 0 0 0 6px #ffffff61;transform:translateZ(30px)}
.skill-center b{font-family:Georgia,serif;font-size:18px;font-weight:400;letter-spacing:-1px}
.skill-center small{margin-top:-18px;font-family:var(--mono);font-size:5px;letter-spacing:1.1px;color:#627f68}
.skill-chip{position:absolute;z-index:3;padding:8px 10px;border:1px solid #ffffffdc;border-radius:3px;background:linear-gradient(145deg,#f9f9ef,#dfe9dc);color:#45634f;font-family:var(--mono);font-size:6px;letter-spacing:.75px;box-shadow:0 7px 18px #30493419;transform:translateZ(34px);animation:skill-chip-float 4.8s ease-in-out infinite}
.toolbox>.skill-constellation>.skill-chip{position:absolute;left:auto;right:auto;top:auto;bottom:auto;color:#45634f}
.toolbox>.skill-constellation>.skill-interface{top:23%;left:14%}.toolbox>.skill-constellation>.skill-systems{top:25%;right:11%;animation-delay:-2.3s}.toolbox>.skill-constellation>.skill-intelligence{bottom:19%;left:11%;animation-delay:-1.4s}.toolbox>.skill-constellation>.skill-data{bottom:15%;right:14%;animation-delay:-3.5s}
.skill-star{position:absolute;top:12%;right:28%;color:#b98550;font-size:13px;font-style:normal;animation:spin 32s linear infinite}
.toolbox>div:not(.skill-constellation){transition:padding .28s,border-color .28s}
.toolbox>div:not(.skill-constellation):hover{padding-left:45px;border-color:#708872}
.milestones{position:relative}
.milestones>div{padding:12px 14px 8px;border:1px solid #c5cdbc70;border-radius:4px;transition:transform .3s,background .3s}
.milestones>div:hover{transform:translateY(-5px);background:#ffffff66}
.timeline{position:relative}
.timeline:before{content:"";position:absolute;left:calc(22.2% + 14px);top:20px;bottom:20px;width:1px;background:linear-gradient(#78947c,#78947c22 85%,transparent)}
.timeline article{position:relative;transition:padding .35s}
.timeline article:before{content:"";position:absolute;left:calc(22.2% + 10px);top:43px;width:9px;height:9px;border:1px solid #d9dfcd;border-radius:50%;background:#a9b990;box-shadow:0 0 0 5px #111210;transition:transform .3s,background .3s}
.timeline article:hover:before{transform:scale(1.45);background:var(--orange)}
.timeline article:hover .timeline-icon{color:var(--orange);transform:translate(3px,-3px)}
.timeline-icon{transition:transform .3s,color .3s}
.contact{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(123deg,#ff7748,#ff8655 54%,#f39a63)}
.contact:before,.contact:after{content:"";position:absolute;z-index:-1;right:-100px;top:-200px;width:580px;height:580px;border:1px solid #6e392536;border-radius:50%;box-shadow:0 0 0 28px #6e392510,0 0 0 72px #6e39250b,0 0 0 128px #6e392508;pointer-events:none}
.contact:after{right:7%;top:4%;width:19px;height:19px;border:0;background:#ffe0a4;box-shadow:0 0 0 7px #ffe0a426,0 0 25px #fff4bf;animation:contact-orbit 12s linear infinite;transform-origin:-225px 180px}
.contact h2>span{animation:contact-arrow 4s ease-in-out infinite}
.contact-bottom>a{transition:letter-spacing .3s}
.contact-bottom>a:hover{letter-spacing:.4px}
footer{position:relative;border-top:1px solid #30322c}
footer .logo{transition:transform .3s}
footer .logo:hover{transform:rotate(-7deg) scale(1.04)}
@keyframes skill-orbit-turn{from{rotate:0deg}to{rotate:360deg}}
@keyframes skill-chip-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes skill-breathe{from{scale:.82;opacity:.55}to{scale:1.14;opacity:.9}}
@keyframes contact-orbit{to{rotate:360deg}}
@keyframes contact-arrow{0%,100%{translate:0 0;rotate:0deg}50%{translate:8px -8px;rotate:7deg}}
@media(max-width:1000px){.timeline:before,.timeline article:before{left:calc(23% + 14px)}.skill-constellation{height:190px}}
@media(max-width:700px){.nav{margin:0;padding:0 6%}.project-art:before{display:none}.timeline:before{left:4px}.timeline article{padding-left:22px}.timeline article:before{left:0;top:34px}.skill-constellation{height:180px;margin-top:2px}.skill-orbit{width:200px;height:110px}.skill-orbit-b{width:174px;height:137px}.toolbox>.skill-constellation>.skill-interface{left:8%}.toolbox>.skill-constellation>.skill-systems{right:7%}.toolbox>.skill-constellation>.skill-intelligence{left:6%}.toolbox>.skill-constellation>.skill-data{right:8%}.contact:before{right:-330px;top:-155px}.contact:after{display:none}.milestones>div{padding:7px 8px 4px}}
@media(prefers-reduced-motion:reduce){.skill-orbit,.skill-center,.skill-chip,.skill-star,.contact:after,.contact h2>span{animation:none!important}.timeline article:hover:before,.milestones>div:hover,.toolbox>div:not(.skill-constellation):hover{transform:none}}
