@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#101012;--panel:#171719;--muted:#99999f;--pink:#006B5B;--line:#ffffff12}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:#f1f0f2;font-family:'DM Sans',sans-serif;font-size:14px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{color:inherit}a{text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #006B5B;outline-offset:5px}button{border:0}header,main,footer{max-width:1440px;margin:auto}header{height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 58px}.wordmark{font-family:Manrope,sans-serif;font-size:21px;font-weight:800;letter-spacing:-1px}.wordmark span{color:var(--pink)}.wordmark i{font-size:9px;vertical-align:top;margin-left:4px;font-style:normal}nav{display:flex;align-items:center;gap:36px;font-size:12px;color:#b6b4ba}.nav-contact{background:#ffffff0b;border:1px solid var(--line);padding:11px 16px;border-radius:8px;color:#eee}.nav-contact span{margin-left:20px}.ambient{position:absolute;top:150px;left:18%;width:62%;height:520px;background:linear-gradient(110deg,#16384488,#006B5B55);filter:blur(150px);pointer-events:none;z-index:-1}main{padding:0 48px}.dashboard{display:grid;grid-template-columns:1fr 1.38fr 1fr;gap:10px;padding:10px;border:1px solid #ffffff0d;border-radius:24px;background:#09090b;box-shadow:0 30px 100px #0006;height:620px}.panel{border:1px solid #ffffff08;background:var(--panel);border-radius:15px;overflow:hidden}.left-col{display:grid;grid-template-rows:1fr 82px 65px;gap:10px}.intro{padding:28px 24px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 0 0,#39303e55,transparent 70%),#171719}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:600;color:#b3afb8}.green-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b5d4b1;margin-right:5px;box-shadow:0 0 10px #b5d4b144}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(35px,3.6vw,53px);line-height:1.07;letter-spacing:-2.7px;margin-top:28px;font-weight:600}h1 span{color:#99969e}.intro-bottom{margin-top:auto}.intro p{color:#b2aeb8;font-size:12px;line-height:1.7;margin:24px 0 18px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{font-size:9px;border:1px solid #ffffff16;border-radius:30px;padding:5px 9px;color:#bab6c0}.location{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:radial-gradient(at 100% 20%,#52514c33,transparent 70%),#171719}.location b{font-size:11px;font-weight:500}.location small{display:block;font-size:9px;color:#827f88;margin-top:6px}.globe{font-size:62px;line-height:1;color:#6b686f;transform:rotate(-25deg)}.contact-bar{display:flex;padding:10px;gap:8px}.primary{background:#f0eef0;color:#161318;border-radius:8px;padding:13px 19px;font-weight:600;font-size:12px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;transition:.2s}.primary:hover{background:#006B5B;box-shadow:0 0 25px #006B5B22}.contact-bar .primary{flex:1;font-size:10px;padding:10px 12px}.about-link{width:39px;display:grid;place-items:center;background:#ffffff08;border-radius:8px;font-size:18px}.stage{position:relative;background:radial-gradient(ellipse at 6% 0,#1e4749a8,transparent 52%),radial-gradient(ellipse at 100% 0,#48396a77,transparent 52%),#131315;display:flex;flex-direction:column;align-items:center;perspective:1000px}.stage-top{width:100%;display:flex;justify-content:space-between;padding:23px 22px;font-size:7px;letter-spacing:1px;color:#a6a0ad}.live{font-size:6px;color:#b1aab9}.stars{position:absolute;inset:80px 20px;background-image:radial-gradient(#ffffff40 .65px,transparent .65px);background-size:31px 31px;mask-image:linear-gradient(transparent,#000,transparent)}.lanyard{position:absolute;top:0;left:52%;width:21px;height:105px;background:linear-gradient(90deg,#08080b,#292932,#09090c);transform:rotate(12deg);box-shadow:3px 4px 8px #0006}.pass{position:relative;width:77%;max-width:306px;height:380px;margin-top:39px;transform:rotate(-8deg) rotateY(-13deg);border-radius:19px;padding:8px;background:linear-gradient(130deg,#85828d88,#19191d 35%,#55566188 70%,#24232c);border:1px solid #bfb6d34d;box-shadow:15px 22px 30px #0008,inset 1px 1px 3px #ffffff4d;transition:transform .25s ease-out;will-change:transform}.pass:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,#ffffff0a 30%,transparent 45%,#fff1 80%,transparent);border-radius:19px;pointer-events:none}.clip{position:absolute;left:43%;top:-23px;width:45px;height:31px;border:6px solid #46454d;border-radius:7px;transform:rotate(-3deg);box-shadow:2px 3px 5px #0006}.pass-inner{background:#222128;height:100%;border-radius:12px;overflow:hidden}.pass-head{height:56px;display:flex;align-items:center;justify-content:space-between;padding:15px;color:#d9d0dd}.pass-head b{font-size:16px;letter-spacing:-1px}.pass-head span{font-size:5px;letter-spacing:1px;line-height:1.7}.landscape{position:relative;height:242px;overflow:hidden;background:linear-gradient(#4d314f,#bf7f85 56%,#492c4a)}.sun{position:absolute;top:29px;right:33px;width:62px;height:62px;border-radius:50%;background:#e3a18e;box-shadow:0 0 60px #efa69466}.mountain{position:absolute;bottom:-10px;width:140%;height:150px;clip-path:polygon(0 80%,16% 48%,30% 65%,47% 9%,59% 33%,69% 15%,85% 60%,100% 24%,100% 100%,0 100%)}.back{background:#56455e;left:-10px;bottom:23px;transform:scaleX(-1)}.front{background:linear-gradient(#282c3b,#13151e);left:-30px;height:140px}.film-title{position:absolute;left:19px;top:49px}.film-title small{font-size:7px;letter-spacing:3px}.film-title strong{display:block;font-size:43px;line-height:.98;letter-spacing:-2px;margin-top:7px;font-family:Manrope,sans-serif;font-weight:800}.frame-corners{position:absolute;inset:12px;border:1px solid #ffffff35}.timecode{position:absolute;bottom:18px;left:22px;font:6px monospace;letter-spacing:1px}.pass-foot{height:62px;display:flex;align-items:center;justify-content:space-between;padding:13px 16px}.pass-foot small{display:block;font-size:6px;color:#a59ca9;letter-spacing:1px}.pass-foot b{font-size:16px;display:block;margin-top:4px;font-weight:500}.barcode{font-size:21px;letter-spacing:-3px;opacity:.6}.stage-bottom{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:auto;padding:0 27px 21px}.stage-bottom span{font-size:9px;line-height:1.6;color:#8c8793}.stage-bottom b{font-weight:400;color:#d3cdd8}.stage-bottom button{width:35px;height:35px;background:#ffffff08;border:1px solid #ffffff10;color:#b3aaba;border-radius:50%;font-size:22px}.stage-caption{width:100%;font-size:6px;letter-spacing:1.6px;color:#6e6975;padding:16px 24px;border-top:1px solid #ffffff08;display:flex;justify-content:space-between}.right-col{display:grid;grid-template-rows:1fr 245px;gap:10px}.craft{padding:24px 22px;display:flex;flex-direction:column}.section-label{font-size:8px;letter-spacing:1.1px;color:#a39ca8;display:flex;align-items:center;justify-content:space-between}.section-label span{font-size:15px;color:#c6bccb}.orbit{height:215px;position:relative;width:100%;margin:auto}.orbit-ring{position:absolute;width:157px;height:157px;border:1px solid #ffffff09;border-radius:50%;top:25px;left:50%;transform:translateX(-50%)}.orbit-ring:after{content:'';position:absolute;inset:26px;border:1px dashed #ffffff10;border-radius:50%}.orbit-center{position:absolute;top:89px;left:50%;transform:translateX(-50%);font-family:Manrope;font-size:30px;letter-spacing:-2px;text-align:center;color:#d2c7d5}.orbit-center span{display:block;font:5px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:3px;color:#706b78}.orbit-item{position:absolute;border:1px solid #ffffff0b;background:#1d1b20;border-radius:10px;display:grid;place-items:center;width:39px;height:39px;color:#c8bdcf;box-shadow:0 10px 20px #0003;font-size:18px}.top{top:9px;left:calc(50% - 20px);font-size:11px}.left{top:69px;left:calc(50% - 95px);font-size:12px}.right{top:69px;right:calc(50% - 95px)}.low-left{top:150px;left:calc(50% - 66px);color:#006B5B}.low-right{top:150px;right:calc(50% - 66px)}.craft p{font-size:10px;color:#8c8492;text-align:center}.project-list{padding:20px}.project-list .section-label{margin-bottom:13px}.project-list>a{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #ffffff05}.project-list>a:last-child{border:0}.mini{width:36px;height:39px;border-radius:7px;display:grid;place-items:center;font-size:21px;font-weight:700;flex-shrink:0}.thumb-a{background:linear-gradient(140deg,#006B5B,#006B5B);color:#221b24}.thumb-b{background:linear-gradient(140deg,#65797c,#1c2c34);color:#c3d1ce}.thumb-c{background:linear-gradient(140deg,#006B5B,#22202d);color:#006B5B}.project-list b{font-size:11px;font-weight:500}.project-list small{display:block;font-size:8px;color:#8d8593;margin-top:4px}.project-list i{font-style:normal;margin-left:auto;color:#756a7b;font-size:13px}.under-dashboard{display:flex;justify-content:space-between;padding:22px 11px;color:#6e6777;font-size:7px;letter-spacing:1.4px}.work-section{padding:95px 10px 85px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:35px}h2{font-size:47px;line-height:1.15;font-weight:500;letter-spacing:-2px}h2 span{color:#77707f}.section-heading h2{margin-top:18px}.work-description p{color:#9b929f;line-height:1.7;font-size:12px;margin-bottom:20px}.filters{display:flex;gap:5px}.filters button{background:transparent;color:#89808f;border-radius:30px;padding:8px 13px;font-size:10px;border:1px solid #ffffff10}.filters .active{background:#e9e3ec;color:#211a26}.work-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:20px;align-items:start}.work-card{padding:0;background:transparent;text-align:left;min-width:0}.art{height:360px;position:relative;border-radius:12px;overflow:hidden;transition:transform .4s;text-align:left}.work-card:hover .art{transform:translateY(-6px)}.sample{position:absolute;top:15px;left:16px;font-size:6px;letter-spacing:1.4px;color:#ffffffa0;z-index:2}.art-one{background:radial-gradient(ellipse at 10% 100%,#006B5B,transparent 60%),#a8a0b3;color:#006B5B}.art-one:after{content:'';width:180px;height:180px;border:1px solid #006B5B33;border-radius:50%;position:absolute;right:-70px;top:72px;box-shadow:0 0 0 30px #006B5B0a,0 0 0 60px #006B5B0a}.art-kicker{position:absolute;top:65px;left:25px;font-size:7px;letter-spacing:2px}.art-one strong{position:absolute;left:23px;top:93px;font-size:55px;line-height:.94;letter-spacing:-3px}.art-one em{color:#fbecf4;font-style:normal}.play{position:absolute;right:18px;bottom:18px;border:1px solid #ffffff40;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:18px;z-index:2}.art-meta{position:absolute;bottom:25px;left:20px;font-size:6px;letter-spacing:1.7px}.art-two{background:radial-gradient(at 90% 0,#372a51,transparent 65%),#19171f}.chrome-disc{position:absolute;top:58px;left:calc(50% - 70px);width:140px;height:140px;border-radius:50%;background:conic-gradient(from 20deg,#514158,#006B5B,#3d3548,#a090ab,#312639,#006B5B,#514158);box-shadow:0 0 60px #006B5B1a;transform:rotate(-30deg) scaleY(.7)}.chrome-disc:after{content:'';position:absolute;inset:45px;background:#201c2b;border-radius:50%}.art-two strong{position:absolute;top:210px;left:25px;font-size:29px;line-height:1.1;letter-spacing:-1px;font-weight:500}.art-two em{font-style:normal;color:#006B5B}.art-three{height:284px;background:radial-gradient(ellipse at 65% 15%,#dfa48b88,transparent 40%),linear-gradient(#76667a,#bf968e 53%,#2a3541 54%,#151f2b)}.horizon{position:absolute;inset:100px -20px -20px;background:linear-gradient(#4f5d67,#1d2933);clip-path:polygon(0 52%,10% 44%,21% 55%,35% 20%,43% 40%,56% 10%,67% 35%,74% 25%,87% 50%,100% 22%,100% 100%,0 100%)}.art-three strong{position:absolute;left:26px;top:93px;font-size:36px;letter-spacing:-1.6px;line-height:1.1;font-weight:500}.vlog-small{position:absolute;left:27px;top:71px;font-size:6px;letter-spacing:2px}.work-info{display:flex;justify-content:space-between;margin-top:15px;align-items:center;gap:8px}.work-info b{font-size:11px;font-weight:500}.work-info>span{font-size:8px;color:#8c8295}.demo-note{font-size:9px;color:#6f6578;margin-top:22px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line);padding:75px 10px}.approach h2{font-size:34px;margin:24px 0}.approach-title>p{max-width:320px;color:#998f9f;font-size:12px;line-height:1.8}.steps article{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:24px 0}.steps article:first-child{padding-top:0}.steps article>span{font-size:9px;color:#006B5B;padding-top:5px}.steps h3{font-size:16px;letter-spacing:-.4px;font-weight:500}.steps p{font-size:11px;line-height:1.8;color:#908696;max-width:320px;margin-top:9px}.steps i{margin-left:auto;font-style:normal;color:#006B5B}.final-cta{padding:70px 20px 85px;text-align:center;position:relative;background:radial-gradient(ellipse at 50% 110%,#006B5B55,transparent 65%);border-radius:20px}.final-cta h2{font-size:65px;margin:25px 0 33px;letter-spacing:-3px}.final-cta em{font-family:Georgia,serif;font-weight:400;color:#006B5B}.final-cta .primary{min-width:220px}footer{margin-top:30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:30px 58px 40px}footer .wordmark{font-size:15px}footer>span,footer>a:last-child{font-size:9px;color:#8f8597}dialog{background:#1a171e;color:#f1edf3;border:1px solid #ffffff20;padding:38px;border-radius:18px;width:440px;max-width:calc(100% - 32px);box-shadow:0 30px 100px #000a}dialog::backdrop{background:#09060dbb;backdrop-filter:blur(12px)}dialog .close{position:absolute;right:18px;top:14px;font-size:25px;background:none;color:#aaa}dialog h2{margin:20px 0;font-size:38px}dialog p{font-size:12px;color:#ada0b5;line-height:1.7}form{margin-top:20px;display:grid;gap:14px}label{display:grid;gap:7px;font-size:10px;color:#c5b7cc}input,textarea,select{background:#100e14;border:1px solid #ffffff18;color:#eee;border-radius:7px;padding:11px;font:12px 'DM Sans',sans-serif;width:100%}textarea{resize:vertical}form small{font-size:9px;color:#97859f}#project-contact{margin-top:25px}[hidden]{display:none!important}
@media(min-width:1500px){.dashboard{height:665px}.pass{height:410px;margin-top:52px}.landscape{height:272px}.film-title{top:65px}.film-title strong{font-size:49px}}@media(max-width:1050px){header{padding:0 30px}main{padding:0 24px}.dashboard{grid-template-columns:1fr 1.25fr;height:610px}.right-col{display:none}.intro{padding:25px}.work-grid{gap:14px}.work-info{align-items:start;flex-direction:column}.art-one strong{font-size:44px}.art-three strong{font-size:29px}.approach{gap:35px}.stage-top{font-size:6px}}@media(max-width:650px){header{height:85px;padding:0 22px}.wordmark{font-size:18px}nav{gap:18px}nav>a{display:none}.nav-contact{font-size:10px}main{padding:0 12px}.dashboard{display:flex;flex-direction:column;height:auto;padding:8px;gap:8px;border-radius:20px}.left-col{display:contents}.intro{min-height:350px;padding:27px}.intro h1{font-size:53px;letter-spacing:-2.7px;margin-top:22px}.intro-bottom{margin-top:20px}.intro p{margin:0 0 16px}.location{display:none}.contact-bar{order:3}.stage{height:570px;order:2}.pass{margin-top:30px;height:375px;width:270px}.landscape{height:237px}.stage-caption{display:none}.stage-bottom{padding-bottom:25px}.under-dashboard{font-size:6px;padding:18px 4px}.under-dashboard>span:first-child{display:none}.work-section{padding:65px 9px 55px}.section-heading{display:block}h2{font-size:38px}.work-description{display:flex;justify-content:space-between;align-items:end;margin-top:25px}.work-description p{font-size:10px;margin:0}.filters button{padding:7px 10px;font-size:9px}.work-grid{grid-template-columns:1fr 1fr;gap:15px 10px}.wide{grid-column:1/-1}.art{height:290px}.art-one strong{font-size:38px;left:15px;top:100px}.art-kicker{left:15px;font-size:6px}.art-two strong{font-size:22px;left:15px;top:190px}.chrome-disc{width:110px;height:110px;left:calc(50% - 55px)}.chrome-disc:after{inset:36px}.art-meta{font-size:5px;left:12px}.sample{font-size:4px;left:12px}.play{width:26px;height:26px;font-size:14px;right:10px;bottom:16px}.art-three{height:250px}.art-three strong{font-size:35px}.work-info{gap:5px}.work-info b{font-size:10px}.demo-note{font-size:8px;line-height:1.6}.approach{grid-template-columns:1fr;padding:50px 9px;gap:35px}.approach h2{font-size:31px}.final-cta{padding:50px 8px 65px}.final-cta h2{font-size:46px;letter-spacing:-2px}.final-cta .eyebrow{font-size:7px}footer{padding:25px 22px;flex-wrap:wrap;gap:18px}footer>span{display:none}dialog{padding:28px}.stage-top{padding:22px;font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.pass{will-change:auto}}

/* Profile dashboard */
.dashboard {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.48fr) minmax(0, 1fr);
  height: clamp(550px, 50vw, 680px);
  border-radius: 18px;
  box-shadow: 0 12px 38px #05040b80;
}
.panel { border-radius: 11px; background-color: #141416; }
.intro { padding: clamp(19px, 2vw, 30px); background: radial-gradient(ellipse at 22% 0, #31433743, transparent 50%), #141416; }
.intro h1 { font-size: clamp(36px, 4.1vw, 63px); line-height: .98; letter-spacing: -.075em; font-weight: 800; margin-top: 20px; }
.intro h1 span { color: #b5d4b1; }
.intro p { font-size: 13px; max-width: 27ch; }
.reel-button { align-self: flex-start; margin-top: 22px; border-radius: 99px; }
.tags span { font-size: 10px; }
.location { position: relative; padding: 12px 17px; background: #141416; }
.location-copy { position: relative; z-index: 1; text-shadow: 0 1px 4px #000; }
.location b { font-size: 13px; font-weight: 700; }
.location small { font-size: 10px; color: #a6a3ad; }
.location-map { position: absolute; height: 100%; width: auto; max-width: 68%; object-fit: cover; object-position: right; inset: 0 0 0 auto; }
.contact-bar .primary, .about-link { border-radius: 99px; }
.contact-bar .primary { font-size: 12px; padding-inline: 16px; }

/* The light moves beneath the fixed grid and credential. */
.stage {
  isolation: isolate;
  display: grid;
  grid-template-rows: 1fr 64px;
  justify-items: center;
  align-items: center;
  perspective: 950px;
  background: #111112;
}
.stage::before, .stage::after {
  content: '';
  position: absolute;
  inset: -12% -16% 0;
  z-index: -2;
  pointer-events: none;
}
.stage::before {
  background: radial-gradient(ellipse 58% 50% at 12% 11%, #487b4c, #294b33 28%, transparent 83%);
  animation: stage-green-drift 10s ease-in-out infinite;
}
.stage::after {
  background: radial-gradient(ellipse 61% 52% at 88% 11%, #263c90, #18265d 37%, transparent 86%);
  animation: stage-blue-drift 13s ease-in-out infinite;
}
@keyframes stage-green-drift {
  0%, 100% { transform: translate(0, 0); opacity: .86; }
  42% { transform: translate(12%, 7%); opacity: 1; }
  73% { transform: translate(5%, 2%); opacity: .93; }
}
@keyframes stage-blue-drift {
  0%, 100% { transform: translate(-9%, 4%); opacity: .94; }
  38% { transform: translate(2%, -2%); opacity: .81; }
  74% { transform: translate(-13%, 8%); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .stage::before, .stage::after { animation: none; }
}
.stars {
  z-index: -1;
  inset: 12px 14px;
  background-image: radial-gradient(circle at center, #dce6ed35 .85px, #cbdcf00a 2.1px, transparent 2.75px);
  background-size: calc(100% / 8) calc(100% / 10);
  mask-image: none;
  pointer-events: none;
}
@property --pass-yaw { syntax: '<angle>'; inherits: true; initial-value: -15deg; }
@property --pass-pitch { syntax: '<angle>'; inherits: true; initial-value: 5deg; }
@property --pass-roll { syntax: '<angle>'; inherits: true; initial-value: 3deg; }

.pass-mount {
  --anchor-height: 13px;
  position: relative;
  width: min(60%, 315px);
  margin-top: 27px;
  transform-style: preserve-3d;
}
.pass-mount::after {
  content: '';
  position: absolute;
  top: calc(-1 * var(--anchor-height));
  left: 50%;
  width: 9px;
  height: 9px;
  transform: translate(-50%, -50%) translateZ(5px);
  border: 1px solid #c8d8e889;
  border-radius: 50%;
  background: radial-gradient(circle at 32% 26%, #e1e9f0, #77879a 38%, #303a48 79%);
  box-shadow: 0 0 0 3px #0f161b8c, 0 1px 6px #020307;
  pointer-events: none;
}
.pass {
  --half-depth: 4px;
  --pass-yaw: -15deg;
  --pass-pitch: 5deg;
  --pass-roll: 3deg;
  width: 100%;
  height: auto;
  max-width: none;
  aspect-ratio: .73;
  margin: 0;
  padding: 0;
  border-radius: 16px;
  transform-origin: 50% calc(-1 * var(--anchor-height));
  transform: rotateZ(var(--pass-roll)) rotateX(var(--pass-pitch)) rotateY(var(--pass-yaw));
  transform-style: preserve-3d;
  border: 0;
  background: none;
  box-shadow: none;
  transition: --pass-yaw .6s cubic-bezier(.22,1,.36,1), --pass-pitch .6s cubic-bezier(.22,1,.36,1), --pass-roll .6s cubic-bezier(.22,1,.36,1);
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.pass::after { content: none; }
.pass.is-dragging { cursor: grabbing; transition: none; }
.pass-mount { transform-origin: 50% calc(-1 * var(--anchor-height)); }
.pass:focus-visible { outline: 2px solid #b6d8df; outline-offset: 8px; }
.pass-face {
  position: absolute;
  inset: 0;
  padding: 17px 9px 9px;
  border: 1px solid #bdcddd91;
  border-radius: inherit;
  backface-visibility: hidden;
  background:
    linear-gradient(135deg, #d5ebff32, transparent 24% 69%, #b2c3ed36),
    linear-gradient(115deg, #35414aa6, #101319b0 38%, #181d2dba 76%, #405064c9);
  box-shadow: inset 0 0 0 2px #101319a6, inset 0 2px 4px #d9f3ff45, 6px 12px 25px #0005;
}
.pass-front { transform: translateZ(var(--half-depth)); }
.pass-back {
  transform: rotateY(180deg) translateZ(var(--half-depth));
}
.pass-liner {
  display: grid;
  place-items: center;
  isolation: isolate;
  height: 100%;
  border: 1px solid #f9f8ff99;
  border-radius: 8px;
  background:
    radial-gradient(ellipse 63% 48% at calc(65% - sin(var(--pass-yaw)) * 48%) 68%, #fff8d9a8, #e4ddff80 25%, #b9d9fb55 49%, transparent 77%),
    linear-gradient(150deg, #f1f0f1, #c9cad3 60%, #e0dfe6);
  box-shadow: inset 0 0 10px #f8f5ff73, 0 0 0 1px #1618229e;
}
.pass-signature {
  display: block;
  width: 82%;
  height: auto;
  transform: translateX(-5%);
  filter: brightness(1.17) contrast(1.16);
  mix-blend-mode: multiply;
  pointer-events: none;
}
.pass-edge {
  position: absolute;
  background: linear-gradient(90deg, #303642b3, #879bbcc7 50%, #363e4bb3);
  pointer-events: none;
}
.pass-edge-top, .pass-edge-bottom {
  inset-inline: 12px;
  height: calc(var(--half-depth) * 2);
  transform: translateY(-50%) rotateX(90deg);
}
.pass-edge-top { top: 0; }
.pass-edge-bottom { top: 100%; }
.pass-edge-left, .pass-edge-right {
  inset-block: 12px;
  width: calc(var(--half-depth) * 2);
  transform: translateX(-50%) rotateY(90deg);
}
.pass-edge-left { left: 0; }
.pass-edge-right { left: 100%; }
.clip {
  top: -25px;
  left: calc(50% - 16px);
  width: 32px;
  height: 30px;
  border: 4px solid #505661a0;
  border-bottom: 0;
  border-radius: 9px 9px 3px 3px;
  background: linear-gradient(150deg, #3e465a60, #11131a99);
  box-shadow: inset 0 0 0 1px #01030977, 3px 4px 8px #0005;
}
.pass-inner { position: relative; border-radius: 8px; background: #151821; box-shadow: 0 0 0 1px #ccdded61, 0 0 0 2px #080b1280; }
.pass-inner img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.pass-inner::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(#10101986, transparent 31%, transparent 71%, #0a0b12bb); }
.pass-face::after {
  content: '';
  position: absolute;
  z-index: 2;
  inset: 3px;
  border: 1px solid #e5f1ff52;
  border-radius: 12px;
  box-shadow: inset 0 1px 2px #effaff50, inset 1px 0 3px #b7d5ed37, inset 0 -1px 2px #02060c4d;
  background:
    linear-gradient(118deg, transparent 32%, #cde7ff12 40%, #f3fbff45 48%, #e8f6ff1c 51%, transparent 63%)
      calc(50% + sin(var(--pass-yaw)) * 51%) 50% / 195% 100% no-repeat,
    radial-gradient(ellipse 65% 26% at calc(22% + sin(var(--pass-yaw)) * 27%) calc(5% - sin(var(--pass-pitch)) * 22%), #e5f6ff36, transparent 78%),
    linear-gradient(145deg, #dbefff16, transparent 26% 80%, #b0c7ff14);
  pointer-events: none;
}
.portrait-brand, .portrait-role { position: absolute; z-index: 1; color: #fff; text-shadow: 0 1px 10px #0005; }
.wordmark span, .portrait-brand span { color: #006B5B; }
.portrait-brand {
  top: 5%;
  inset-inline: 7%;
  font: 600 clamp(12px, 1.25vw, 19px)/1 Manrope, sans-serif;
  letter-spacing: .055em;
}
.portrait-brand span { margin-inline-start: .13em; }
.portrait-role { bottom: 5%; inset-inline: 7%; display: flex; justify-content: space-between; font-size: 8px; letter-spacing: .16em; }
.stage-bottom { position: relative; justify-content: center; align-self: stretch; margin: 0; padding: 0 18px 15px; text-align: center; }
.stage-bottom span { font-size: 10px; color: #a29eaa; }
.stage-bottom b { font-size: 12px; color: #e4e1e8; font-weight: 600; }
.stage-bottom button { position: absolute; right: 15px; top: 9px; font-size: 18px; }
.stage-bottom button:hover { background: #ffffff17; color: #fff; }

.section-label { font-size: 10px; letter-spacing: .09em; color: #006B5B; }
.section-label span { color: #006B5B; }
.primary:hover { color: #fff; }
.profile-fact .thumb-a { background: linear-gradient(140deg, #cba6bc, #49343f); color: #221b24; }
.profile-fact .thumb-b { background: linear-gradient(140deg, #65797c, #1c2c34); color: #c3d1ce; }
.profile-fact .thumb-c { background: linear-gradient(140deg, #4a3c6c, #22202d); color: #b4a8d3; }
.craft-grid { --cell: clamp(42px, 4.6vw, 67px); margin: auto; padding: 10px 0; }
.craft-row { display: flex; justify-content: center; gap: 4px; }
.craft-row + .craft-row { margin-top: calc(var(--cell) * -.17); }
.craft-row > :is(span, a) {
  --tile-fill: linear-gradient(160deg, #252527, #121214);
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  width: var(--cell);
  aspect-ratio: .88;
  color: #d1d1d4;
  transition: transform .22s ease-out, filter .22s ease-out;
}
.craft-row > :is(span, a)::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background: var(--tile-fill);
}
.craft-row > .craft-core {
  --tile-fill: linear-gradient(145deg, #363638, #171719 70%);
  color: #f4f4f5;
}
.craft-row svg {
  display: block;
  width: 44%;
  aspect-ratio: 1;
  fill: currentColor;
}
.craft-core svg { width: 49%; }
.craft-row > a:focus-visible { filter: drop-shadow(0 0 8px #80d69b85); }
.craft-row .instagram-mark { fill: none; stroke: url(#instagram-brand); stroke-width: 1.8; }
.craft-row .adobe-mark rect { fill: none; stroke: currentColor; stroke-width: 1.35; }
.craft-row .adobe-mark text {
  text-anchor: middle;
  font: 700 12px/1 Manrope, sans-serif;
  letter-spacing: -.35px;
}
@media (hover: hover) {
  .craft-row > :is(span, a):hover {
    z-index: 1;
    transform: scale(1.1);
    filter: drop-shadow(0 0 8px #80d69b65);
  }
}
@media (prefers-reduced-motion: reduce) {
  .craft-row > :is(span, a):hover { transform: none; }
}
.project-list > a { border-radius: 7px; transition: background .2s; }
.profile-fact { display: flex; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid #ffffff08; }
.profile-fact:last-child { border-bottom: 0; }
.profile-fact .mini { font-size: 13px; letter-spacing: .04em; }
.education-icon { display: block; width: 23px; height: 23px; }
.project-list > a:hover { background: #ffffff0b; }
.project-list b, .craft p { font-size: 13px; }
.project-list small { font-size: 10px; color: #aaa3af; }
.under-dashboard { color: #a59baa; }
.demo-note { color: #a59baa; font-size: 11px; }
.work-info b { font-size: 13px; }
.work-info > span { font-size: 10px; color: #aaa0b3; }
.project-entry { min-width: 0; }
.project-entry .work-card { width: 100%; }
.project-art {
  height: clamp(180px, 31vw, 380px);
  transition: transform .42s cubic-bezier(.22,1,.36,1), box-shadow .42s ease;
}
@media (hover: hover) {
  .project-entry .work-card:hover .project-art {
    box-shadow: 0 0 18px #006B5B55, 0 0 42px #006B5B26;
  }
}
.project-entry .work-card:focus-visible .project-art {
  box-shadow: 0 0 18px #006B5B55, 0 0 42px #006B5B26;
}
.project-art strong {
  position: absolute;
  top: auto;
  bottom: 25px;
  left: 20px;
  font: 700 clamp(20px, 3.2vw, 42px)/1 Manrope, sans-serif;
  letter-spacing: -.04em;
}
.project-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.project-art img { transition: transform .42s cubic-bezier(.2,.7,.2,1); }
.project-art .play { transition: transform .25s ease, background .25s ease; }
@media (hover: hover) {
  .work-card:hover .project-art img { transform: scale(1.035); }
  .work-card:hover .project-art .play { transform: scale(1.12); background: #006B5Bc9; }
}
.project-art .play { background: #1111167d; color: #fff; font-size: 12px; }
#project-dialog { text-align: center; }
#project-dialog h2 { font-size: clamp(21px, 4vw, 30px); margin: 0 20px 18px; }
#project-dialog video {
  display: block;
  max-width: 100%;
  max-height: 64dvh;
  width: auto;
  margin: 0 auto;
  border-radius: 10px;
  background: #09090b;
}
#video-error a { text-decoration: underline; }
#inquiry-dialog { width: 490px; max-height: calc(100dvh - 30px); overflow-y: auto; }
#inquiry-dialog h2 { font-size: 30px; letter-spacing: -1px; padding-right: 18px; margin-top: 4px; }
.inquiry-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
#inquiry-form label { font-size: 12px; }
#inquiry-form input, #inquiry-form select, #inquiry-form textarea { font-size: 16px; }
#inquiry-form small { font-size: 11px; line-height: 1.6; }
.inquiry-compose-link { font-size: 12px; color: #83e2cc; text-decoration: underline; }
@media (max-width: 390px) { .inquiry-fields { grid-template-columns: 1fr; } }
.client-reels {
  padding: clamp(38px, 7vw, 90px) 0 38px;
  border-block: 1px solid var(--line);
  text-align: center;
  background: radial-gradient(ellipse at center, #1b222322, transparent 65%);
}
.client-carousel {
  --reel-width: clamp(120px, 25vw, 248px);
  position: relative;
  margin-top: 26px;
  overflow: hidden;
}
.client-reel-track {
  position: relative;
  height: calc(var(--reel-width) * 1.78 + 30px);
  perspective: 900px;
}
.client-reel {
  --offset: 0%;
  --angle: 0deg;
  --size: 1;
  --depth: 20px;
  --tone: #344944;
  position: absolute;
  inset: 50% auto auto 50%;
  display: grid;
  place-items: center;
  width: var(--reel-width);
  aspect-ratio: 9 / 16;
  padding: 0;
  border: 1px solid #ffffff24;
  border-radius: 20px;
  overflow: hidden;
  color: #e0ede8;
  background: radial-gradient(ellipse at 45% 20%, var(--tone), #141416 76%);
  box-shadow: 0 18px 38px #0007;
  transform: translate(-50%, -50%) translateX(var(--offset)) translateZ(var(--depth)) rotateY(var(--angle)) scale(var(--size));
  transition: transform .62s cubic-bezier(.22,1,.36,1), opacity .44s ease, box-shadow .44s ease;
  z-index: 3;
}
.client-reel:nth-child(2n) { --tone: #32394d; }
.client-reel:nth-child(3n) { --tone: #493d38; }
.client-reel[data-offset="-1"] { --offset: -53%; --angle: 19deg; }
.client-reel[data-offset="1"] { --offset: 53%; --angle: -19deg; }
.client-reel[data-offset="-2"] { --offset: -99%; --angle: 28deg; }
.client-reel[data-offset="2"] { --offset: 99%; --angle: -28deg; }
.client-reel[data-offset="0"] { box-shadow: 0 20px 48px #0009, 0 0 26px #006B5B13; }
.client-reel:is([data-offset="-1"], [data-offset="1"]) { --size: .9; --depth: -35px; z-index: 2; opacity: .58; }
.client-reel:is([data-offset="-2"], [data-offset="2"]) { --size: .8; --depth: -80px; z-index: 1; opacity: .33; }
.client-reel:focus-visible { opacity: 1; }
.client-reel.is-recycling { transition: none; opacity: 0; }
.client-reel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.client-preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
}
.client-preview.is-playing { opacity: 1; }
.client-reel-placeholder {
  display: grid;
  place-items: center;
  width: 46px;
  aspect-ratio: 1;
  border: 1px solid #ffffff24;
  border-radius: 50%;
  background: #0a0a0c70;
  font-size: 15px;
}
.client-reel-state {
  z-index: 1;
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 11px;
  border-radius: 99px;
  background: #09090bba;
  color: #e0e0e4;
  font-size: 10px;
}
.client-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 42px;
  aspect-ratio: 1;
  border: 1px solid #ffffff26;
  border-radius: 50%;
  background: #171719e6;
  color: #f1f0f2;
  font-size: 18px;
}
.client-arrow:hover { background: #303a37; }
.client-prev { left: clamp(2px, 3vw, 38px); }
.client-next { right: clamp(2px, 3vw, 38px); }
.client-reel-caption { color: #b1abb6; font-size: 12px; margin-top: 13px; }

@keyframes dialog-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes dialog-backdrop-out { from { opacity: 1; } to { opacity: 0; } }
dialog[open]::backdrop { animation: dialog-backdrop-in .24s ease-out; }
dialog[data-closing]::backdrop { animation: dialog-backdrop-out .16s ease-in forwards; }

.final-cta { isolation: isolate; overflow: hidden; background: transparent; }
.final-cta::before {
  content: '';
  position: absolute;
  inset: 18% 0 -45%;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 80%, #006B5B66, transparent 66%);
  animation: inquiry-glow 8s ease-in-out infinite;
}
@keyframes inquiry-glow {
  0%, 100% { transform: scale(.97); opacity: .65; }
  50% { transform: scale(1.045); opacity: .85; }
}
@media (prefers-reduced-motion: reduce) {
  .final-cta::before, dialog[open]::backdrop { animation: none; }
  .project-art img, .project-art .play, .client-reel { transition: none; }
  .work-card:hover .project-art img, .work-card:hover .project-art .play { transform: none; }
}
.steps h3 { font-size: 18px; }
.steps p { font-size: 13px; color: #a9a0b0; }

@media (min-width: 951px) and (max-width: 1120px) {
  .craft, .project-list { padding: 17px 14px; }
  .craft-grid { --cell: 49px; }
  .project-list small { font-size: 9px; }
}
@media (min-width: 951px) and (max-width: 1050px) {
  .right-col { display: grid; }
}
@media (max-width: 950px) {
  .dashboard { grid-template-columns: minmax(0, 1fr) minmax(0, 1.32fr); grid-template-rows: minmax(500px, auto) auto; height: auto; }
  .right-col { display: grid; grid-column: 1 / -1; grid-template-columns: 1fr 1.32fr; grid-template-rows: auto; }
  .craft { min-height: 240px; }
}
@media (max-width: 650px) {
  .intro { min-height: 0; }
  .intro h1 { font-size: clamp(43px, 11vw, 60px); letter-spacing: -.07em; }
  .intro-bottom { margin-top: 22px; }
  .location { display: flex; order: 3; min-height: 63px; }
  .location-map { height: 100%; }
  .stage { height: clamp(345px, 106vw, 490px); }
  .pass-mount { width: min(60%, 250px); }
  .portrait-brand { font-size: clamp(12px, 3.6vw, 17px); }
  .contact-bar { order: 4; }
  .right-col { order: 5; grid-template-columns: 1fr; }
  .craft { display: none; }
  .project-list { padding: 16px; }
  .work-info b { font-size: 12px; }
  .work-section .filters { margin-top: 15px; }
  .project-art strong { left: 12px; bottom: 20px; }
  .under-dashboard { font-size: 8px; }
}
