:root{color-scheme:dark;--bg: #100f0d;--bg-soft: #171512;--bg-panel: #1d1a16;--text: #f4efe7;--text-soft: #c9bda9;--text-muted: #8f8577;--line: #38332c;--line-bright: #8a5f42;--accent: #f28a2e;--accent-soft: #b95f2d;--shadow: rgba(0, 0, 0, .5);--font-display: Georgia, "Times New Roman", serif;--font-sans: "Segoe UI", Arial, sans-serif;--cursor-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M6 3L6 25L12.5 18.7L16.4 28L20.5 26.2L16.5 17.3L25 17.3Z' fill='%23070605' stroke='%23fffaf2' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 6 3, auto;--max-width: 1420px}*{box-sizing:border-box}html{min-width:320px;overflow-x:clip;background:var(--bg);scroll-behavior:smooth;cursor:var(--cursor-default)}body{margin:0;min-width:320px;min-height:100vh;overflow-x:clip;background:radial-gradient(circle at 50% -10%,rgba(242,138,46,.045),transparent 32rem),var(--bg);color:var(--text);font-family:var(--font-sans);letter-spacing:0;cursor:var(--cursor-default)}body::selection{background:var(--accent);color:#17120d}a,button{color:inherit;cursor:var(--cursor-default);font:inherit}a{text-decoration:none}button{border:0;background:transparent}img,video{display:block;max-width:100%}:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.site-main:focus{outline:none}.media{width:100%;height:100%;object-fit:cover;background:#201d18}.navigation-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:104px;padding:0 4vw;background:radial-gradient(circle at 50% 100%,rgba(242,138,46,.08),transparent 18rem),#0c0b0af0;border-bottom:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.navigation-top:before{position:absolute;left:4vw;right:4vw;bottom:0;pointer-events:none;content:""}.navigation-top:before{height:1px;background:linear-gradient(90deg,transparent,rgba(242,138,46,.48),transparent)}.navigation ul{display:flex;align-items:center;gap:clamp(1.1rem,2vw,2.4rem);margin:0;padding:0;list-style:none}.navigation a{display:inline-flex;align-items:center;min-height:40px;color:var(--text-muted);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease}.navigation a:hover,.navigation a[aria-current=page]{color:var(--accent)}.nav-mark{color:var(--text)!important;font-family:var(--font-display);font-size:1.05rem!important;letter-spacing:.03em!important;text-transform:none!important}.nav-brand{gap:0;min-height:82px}.nav-brand-copy{display:grid;gap:.32rem}.nav-brand-name{color:var(--text);font-family:var(--font-display);font-size:1.82rem;letter-spacing:.2em;line-height:1}.nav-brand-role{color:var(--accent);font-family:var(--font-sans);font-size:.82rem;letter-spacing:.16em;line-height:1.35;max-width:34rem}body:has(.work-page) .navigation-top,body:has(.project-detail) .navigation-top,body:has(.about-page) .navigation-top{min-height:104px}body:has(.work-page) .navigation-top ul,body:has(.project-detail) .navigation-top ul,body:has(.about-page) .navigation-top ul{gap:clamp(1.6rem,3vw,4rem)}body:has(.work-page) .navigation-top ul a,body:has(.project-detail) .navigation-top ul a,body:has(.about-page) .navigation-top ul a{min-height:72px;font-size:1.04rem;letter-spacing:.24em}body:has(.work-page) .navigation-top .nav-mark,body:has(.project-detail) .navigation-top .nav-mark,body:has(.about-page) .navigation-top .nav-mark{font-size:1.05rem!important}.home-shell{min-height:100svh;display:grid;grid-template-columns:minmax(240px,24vw) minmax(0,1fr);background:var(--bg)}.home-intro{display:flex;flex-direction:column;justify-content:flex-start;gap:0;min-width:0;padding:clamp(4.5rem,12vh,9rem) clamp(2rem,3vw,4rem) clamp(2rem,3vw,4rem);background:#12110f;border-right:1px solid var(--line)}.home-intro h1,.page-heading h1,.detail-header h1,.not-found h1{margin:0;font-family:var(--font-display);font-weight:400;letter-spacing:0}.home-intro h1{font-size:clamp(2.15rem,3.2vw,3.35rem);font-weight:400;letter-spacing:.16em;line-height:1;text-transform:uppercase;white-space:nowrap}.home-role{margin:2.1rem 0 0;color:var(--accent);font-size:clamp(.68rem,.86vw,.8rem);letter-spacing:.18em;line-height:1.55;text-transform:uppercase}.home-summary{max-width:22rem;margin:1rem 0 0;color:var(--text-soft);font-size:clamp(.78rem,1.05vw,.98rem);line-height:1.55}.navigation-home ul{display:grid;align-items:start;gap:1.05rem}.navigation-home{margin-top:clamp(5rem,11vh,8rem)}.navigation-home a{min-width:clamp(10rem,12vw,13rem);min-height:72px;font-size:clamp(1.5rem,1.9vw,1.75rem);line-height:1.2;letter-spacing:.16em}.home-visuals{display:grid;grid-template-rows:1fr;min-height:100svh}.home-visual-panel{position:relative;min-height:0;overflow:hidden;isolation:isolate;background:#211e1a}.home-panel-link{position:absolute;top:0;right:0;bottom:0;left:0;display:block}.home-visual-panel:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;content:"";background:linear-gradient(180deg,#0000001f,#0000007a),linear-gradient(90deg,rgba(0,0,0,.28),transparent 55%)}.home-visual-panel .media{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .7s ease,filter .3s ease}.panel-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:#0000;transition:background .26s ease}.panel-copy{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;align-content:center;justify-items:center;gap:.9rem;padding:clamp(1.4rem,4vw,4rem);text-align:center}.panel-title{font-family:var(--font-display);font-size:clamp(1.2rem,2.3vw,2.6rem);font-weight:400;letter-spacing:.08em;line-height:1.02;transition:transform .26s ease,color .26s ease}.panel-description{max-width:30rem;color:var(--text-soft);font-size:clamp(.9rem,1.33vw,1.33rem);line-height:1.35;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}.panel-transition-shade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;background:radial-gradient(circle at 50% 45%,#00000070,#000000e0),#080706b8;opacity:0;transition:opacity .52s ease}.home-visual-panel.is-transitioning .panel-transition-shade{opacity:1;transition-duration:.42s}.home-visual-panel:hover .media,.home-visual-panel:focus-within .media{transform:scale(1.035)}.home-visual-panel:hover .panel-shade,.home-visual-panel:focus-within .panel-shade{background:#00000038}.home-visual-panel:hover .panel-title,.home-visual-panel:focus-within .panel-title{color:#fffaf2;transform:translateY(-2px)}.home-visual-panel:hover .panel-description,.home-visual-panel:focus-within .panel-description{opacity:1;transform:translateY(0)}.home-visuals:has(.home-visual-panel:hover) .home-visual-panel:not(:hover) .media{filter:brightness(.68) saturate(.84)}.panel-controls{position:absolute;right:clamp(.8rem,1.8vw,1.4rem);bottom:clamp(.8rem,1.8vw,1.4rem);z-index:7;display:inline-flex;gap:.4rem;padding:.28rem;background:#100f0d94;border:1px solid rgba(244,239,231,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel-control{position:relative;display:grid;place-items:center;width:clamp(1.55rem,2.4vw,2rem);height:clamp(1.55rem,2.4vw,2rem);color:var(--text);opacity:.76;transition:opacity .18s ease,background .18s ease,color .18s ease}.panel-control:hover,.panel-control:focus-visible{color:var(--accent);opacity:1;background:#f4efe714}.panel-control span{display:block}.panel-control-previous span,.panel-control-next span{width:.55rem;height:.55rem;border-top:1.5px solid currentColor;border-left:1.5px solid currentColor}.panel-control-previous span{transform:translate(.12rem) rotate(-45deg)}.panel-control-next span{transform:translate(-.12rem) rotate(135deg)}.panel-control-play span{width:0;height:0;margin-left:.12rem;border-top:.38rem solid transparent;border-bottom:.38rem solid transparent;border-left:.58rem solid currentColor}.panel-control-play.is-playing span{width:.54rem;height:.72rem;margin-left:0;border:0;border-left:.18rem solid currentColor;border-right:.18rem solid currentColor}.page{width:min(var(--max-width),calc(100% - 8vw));margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}body:has(.work-page) .page{padding-top:clamp(1.8rem,3vw,3rem)}.work-page,.about-page{padding-bottom:clamp(3rem,5vw,5rem)}.page-narrow{width:min(820px,calc(100% - 8vw))}.page-heading{margin-bottom:clamp(2.4rem,6vw,5rem)}.page-heading h1,.detail-header h1,.not-found h1{font-size:clamp(3.6rem,9vw,9rem);line-height:.88}.eyebrow{margin:0 0 .8rem;color:var(--accent);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.category-timeline{position:sticky;top:72px;z-index:15;margin:0 0 clamp(1rem,2vw,1.8rem);padding:.7rem 0 .95rem;isolation:isolate;background:transparent}body:has(.work-page) .category-timeline{top:112px}body:has(.work-page) .category-timeline:before{content:"";position:absolute;inset:-.45rem calc(50% - 50vw) -.7rem;z-index:-2;background:linear-gradient(180deg,#100f0df5,#100f0de0 62%,#100f0d9e),radial-gradient(circle at 18% 0%,rgba(242,138,46,.055),transparent 36%),radial-gradient(circle at 82% 0%,rgba(213,177,123,.045),transparent 38%);box-shadow:0 18px 44px #00000038;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}body:has(.work-page) .category-timeline:after{content:"";position:absolute;inset:auto calc(50% - 50vw) -2.6rem;z-index:-1;height:2.8rem;background:linear-gradient(180deg,#100f0d9e,#100f0d00);pointer-events:none}.category-timeline ul{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,5vw,6rem);width:min(100%,980px);margin:0 auto;padding:0;list-style:none}.timeline-line{position:absolute;left:0;right:0;top:1.22rem;height:1px;background:linear-gradient(90deg,transparent,rgba(242,138,46,.56),transparent);box-shadow:0 0 18px #f28a2e29}.category-timeline li{position:relative}.category-timeline button{display:grid;justify-items:center;gap:.52rem;width:100%;color:#b8ad9d;text-align:center;transition:color .18s ease}.category-timeline button:hover,.category-timeline button.is-active{color:var(--text)}.category-timeline button.is-active{color:var(--accent)}.timeline-dot{width:12px;height:12px;border:1px solid rgba(201,189,169,.82);border-radius:50%;background:#100f0d;box-shadow:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.category-timeline button.is-active .timeline-dot{border-color:#ffe2c2f5;background:#ffd7a2;box-shadow:0 0 0 4px #f28a2e29,0 0 18px #f28a2ed1,0 0 34px #f28a2e57;transform:scale(1.08)}.category-timeline button:hover .timeline-dot,.category-timeline button:focus-visible .timeline-dot{border-color:#ffd6a8e6}.category-timeline button.is-active:hover .timeline-dot,.category-timeline button.is-active:focus-visible .timeline-dot{box-shadow:0 0 0 4px #f28a2e29,0 0 18px #f28a2ed1,0 0 34px #f28a2e57}.timeline-label{max-width:18rem;font-size:clamp(.78rem,1vw,.98rem);letter-spacing:.16em;line-height:1.2;text-transform:uppercase}.work-sections{display:grid;gap:clamp(5rem,11vw,10rem);width:min(calc(100vw - clamp(2rem,4vw,5rem)),1760px);margin-left:50%;transform:translate(-50%)}.work-section{padding-top:clamp(1rem,2vw,2rem);scroll-margin-top:240px}.cg-work-groups{display:grid;gap:clamp(4rem,8vw,7rem);margin-top:clamp(1rem,2.8vw,2.6rem)}.work-subsection{display:grid;gap:clamp(1rem,2vw,1.8rem)}.work-subsection h3{display:inline-grid;justify-items:center;justify-self:center;gap:.82rem;margin:0;color:var(--text);font-family:var(--font-sans);font-size:clamp(1rem,1.28vw,1.25rem);font-weight:400;letter-spacing:.2em;line-height:1.2;text-align:center;text-transform:uppercase}.work-subsection h3:after{width:100%;max-width:22rem;height:1px;background:linear-gradient(90deg,transparent,rgba(242,138,46,.72),transparent);content:""}.section-label-row{display:flex;align-items:end;justify-content:flex-start;gap:2rem;margin-bottom:clamp(1.4rem,3vw,2.4rem);border-bottom:1px solid var(--line);padding-bottom:1rem}.section-label-row h2{margin:0;color:#d5b17b;font-family:var(--font-sans);font-size:clamp(.92rem,1.2vw,1.12rem);font-weight:400;letter-spacing:.28em;line-height:1.2;text-transform:uppercase}.section-credit-link-row{display:flex;justify-content:center;margin:calc(clamp(1.4rem,3vw,2.4rem)*-.45) 0 clamp(1rem,2vw,1.8rem)}.section-credit-link{color:var(--accent);font-size:clamp(.78rem,.95vw,.92rem);letter-spacing:.16em;line-height:1.2;text-transform:uppercase;transition:color .18s ease,opacity .18s ease}.section-credit-link:after{content:" ↗"}.section-credit-link:hover,.section-credit-link:focus-visible{color:var(--text)}.project-grid{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:clamp(.9rem,1.4vw,1.5rem)}.project-row-break{flex:0 0 100%;width:100%;height:0}.project-card{display:grid;gap:.8rem;flex:0 1 min(100%,var(--project-card-basis));width:min(100%,var(--project-card-basis));min-width:0}.project-card-featured{flex-basis:min(100%,var(--project-card-basis))}.project-card-static{cursor:default}.project-media-wrap{position:relative;display:block;overflow:hidden;aspect-ratio:var(--project-cover-ratio);background:var(--bg-panel);border:1px solid rgba(213,177,123,.18);box-shadow:inset 0 0 0 1px #0000007a;transition:border-color .22s ease,box-shadow .22s ease}.project-media-wrap .media{transition:transform .5s ease,filter .26s ease}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000094,#000000c2),radial-gradient(circle at 50% 45%,#0000002e,#000000a3);opacity:0;transition:opacity .26s ease}.project-hover-info{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;align-content:center;justify-items:center;gap:.62rem;padding:clamp(1rem,3vw,2.5rem);text-align:center;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}.project-hover-info span:first-child,.project-mobile-info span:first-child{color:var(--text);font-family:var(--font-display);font-weight:400;font-size:clamp(1.35rem,2.4vw,2.6rem);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.72)}.project-hover-info span:nth-child(2){max-width:min(30rem,100%);color:var(--text);font-size:clamp(.82rem,1.05vw,1rem);line-height:1.4;text-shadow:0 2px 14px rgba(0,0,0,.8)}.project-hover-info span:nth-child(n+3){margin-top:clamp(.35rem,.8vw,.9rem);color:var(--text-soft);font-size:clamp(.73rem,1.1vw,1.1rem);line-height:1.35;text-shadow:0 2px 12px rgba(0,0,0,.78)}.project-card-static .project-hover-info{gap:.35rem;padding:clamp(.75rem,1.3vw,1.15rem)}.project-card-static .project-hover-info span:first-child{max-width:100%;font-size:clamp(1rem,1.25vw,1.25rem);letter-spacing:.04em;line-height:1.08}.project-card-static .project-hover-info span:nth-child(2){position:relative;margin-top:.5rem;padding-top:.55rem;color:var(--accent);font-size:clamp(.68rem,.82vw,.78rem);letter-spacing:.16em;line-height:1.25;text-transform:uppercase}.project-card-static .project-hover-info span:nth-child(2):before{position:absolute;top:0;left:50%;width:2.4rem;height:1px;background:#f28a2e9e;content:"";transform:translate(-50%)}.project-card-static .project-hover-info span:nth-child(n+3){margin-top:.1rem;font-size:clamp(.62rem,.72vw,.72rem);line-height:1.25}.project-mobile-info span:not(:first-child){color:var(--text-soft);font-size:.83rem;line-height:1.35}.project-card:hover .project-media-wrap .media,.project-card:focus-visible .project-media-wrap .media{transform:scale(1.018);filter:brightness(.68) saturate(.94)}.project-card:hover .project-media-wrap,.project-card:focus-visible .project-media-wrap{border-color:#f28a2ef2;box-shadow:inset 0 0 0 1px #f28a2e80,0 0 0 1px #f28a2e59,0 0 22px #f28a2e38}.project-card:hover .project-overlay,.project-card:focus-visible .project-overlay{opacity:1}.project-card:hover .project-hover-info,.project-card:focus-visible .project-hover-info{opacity:1;transform:translateY(0)}.project-mobile-info{display:none}.back-to-top{display:flex;align-items:center;width:max-content;margin:clamp(3rem,7vw,7rem) auto 0;border-top:1px solid var(--line);padding:.8rem .25rem 0;color:var(--text-muted);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease,border-color .18s ease}.back-to-top span{margin-right:.55rem;font-size:1rem;line-height:1}.back-to-top:hover,.back-to-top:focus-visible{color:var(--accent);border-top-color:var(--accent)}.film-credit-reel{margin-top:clamp(2.5rem,5vw,5rem);margin-bottom:clamp(2.5rem,5vw,5rem)}.demo-reel-section{margin-top:0}.film-credit-reel h3{margin:0 0 1rem;font-family:Segoe UI,Arial,sans-serif;font-size:clamp(1.25rem,1.8vw,1.8rem);font-weight:400;text-align:center}.film-credit-reel-player{width:min(100%,72rem);margin-inline:auto;aspect-ratio:16 / 9;background:#000}.film-credit-reel-player .media-embed{width:100%;height:100%;border:0;object-fit:contain}.about-layout{display:grid;grid-template-columns:minmax(14rem,.72fr) minmax(0,1.65fr);grid-template-areas:"summary summary" "skills background" "software background" "contact background";column-gap:clamp(2rem,6vw,6rem);row-gap:clamp(2.5rem,5vw,5rem);align-items:start}.about-summary{grid-area:summary;justify-self:center;width:min(100%,72rem);text-align:center}.about-summary>p{max-width:68rem;margin-inline:auto;font-size:clamp(1.12rem,1.45vw,1.34rem)}.about-highlights{display:flex!important;flex-wrap:wrap;justify-content:center;gap:.75rem 1.5rem!important;margin-top:clamp(1.5rem,3vw,2.25rem)!important;padding-left:0!important;list-style:none}.about-highlights li{position:relative;padding-left:.85rem;color:var(--text)!important;font-size:clamp(.85rem,1vw,.95rem)!important;line-height:1.4!important}.about-highlights li:before{position:absolute;top:.55em;left:0;width:.3rem;height:.3rem;border-radius:50%;background:var(--accent);content:""}.about-background{grid-area:background}.about-skills{grid-area:skills}.about-software{grid-area:software}.about-contact{grid-area:contact}.about-contact a{color:var(--accent);border-bottom:1px solid color-mix(in srgb,var(--accent) 45%,transparent);padding-bottom:.08em;transition:color .18s ease,border-color .18s ease}.contact-line{display:flex;align-items:center;gap:.55rem}.contact-line>span:not(.contact-icon){color:var(--text)}.contact-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:1.55rem;height:1.55rem;color:#17120d;background:var(--accent);border-radius:.18rem;font-size:.68rem;font-weight:600;letter-spacing:0;line-height:1}.contact-icon-email{position:relative;background:transparent;border:1px solid var(--accent)}.contact-icon-email span{position:relative;width:.94rem;height:.66rem;border:1.5px solid var(--accent)}.contact-icon-email span:before,.contact-icon-email span:after{position:absolute;top:.08rem;width:.58rem;height:1.5px;background:var(--accent);content:""}.contact-icon-email span:before{left:-.03rem;transform:rotate(34deg);transform-origin:left center}.contact-icon-email span:after{right:-.03rem;transform:rotate(-34deg);transform-origin:right center}.contact-icon-linkedin{font-family:Arial,sans-serif;font-size:.86rem;font-weight:700}.contact-icon-imdb{width:2.35rem;font-size:.58rem;letter-spacing:.04em}.about-contact a:hover,.about-contact a:focus-visible{color:var(--text);border-bottom-color:var(--text)}.about-background{border-left:1px solid var(--line);padding-left:clamp(1.5rem,3vw,3rem)}.about-layout section{border-top:1px solid var(--line);padding-top:1.5rem}.about-layout h2{margin:0 0 1rem;font-family:var(--font-display);font-size:clamp(1.7rem,2.35vw,2.8rem);font-weight:400;letter-spacing:.06em;text-transform:uppercase}.about-layout p,.about-layout li,.detail-text{color:var(--text-soft);font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.7}.about-layout ul{display:grid;gap:.45rem;margin:0;padding-left:1rem}.experience-timeline{display:grid;gap:clamp(3rem,5vw,5rem)}.experience-entry{position:relative;border-left:1px solid color-mix(in srgb,var(--accent) 60%,transparent);padding-left:clamp(1.25rem,2.5vw,2.25rem)}.experience-entry:before{position:absolute;top:.4rem;left:-.36rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--accent);content:""}.experience-heading{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:clamp(1.4rem,2.8vw,3rem);align-items:baseline;margin-bottom:1.5rem}.experience-heading .experience-date{margin:0;color:var(--accent);font-size:clamp(.9rem,1vw,1rem);letter-spacing:.08em;line-height:1.15;text-transform:uppercase}.experience-heading h3{display:flex;flex-wrap:wrap;gap:.65rem .9rem;align-items:baseline;margin:0;font-family:var(--font-display);font-size:clamp(1.2rem,1.45vw,1.5rem);font-weight:400;letter-spacing:.04em;line-height:1.15}.experience-heading h3 span{display:inline-block;margin-left:0;border-left:1px solid var(--line);padding-left:.75rem;color:var(--text-soft);font-weight:400}.experience-projects{display:grid;gap:.8rem;margin-top:1.5rem}.experience-projects h4{margin:0 0 .35rem;color:var(--accent);font-family:var(--font-sans);font-size:.82rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase}.about-layout .experience-projects ul,.about-layout .experience-notes{gap:.25rem}.experience-notes{margin-top:1.5rem!important;list-style:none;padding-left:0!important}.experience-notes li:before{content:"- "}.detail-header{display:grid;gap:clamp(1.4rem,2.2vw,2.4rem);margin-bottom:clamp(2rem,5vw,4rem)}.detail-header h1{font-size:clamp(1.8rem,4.5vw,4.5rem)}.detail-category-link{justify-self:start;color:var(--accent);font-size:1.44rem;letter-spacing:.14em;text-transform:uppercase;transition:color .18s ease}.detail-category-link:before{content:"←";margin-right:.7rem;letter-spacing:0}.detail-category-link:hover{color:var(--text)}.detail-header p:last-child{margin:0;color:var(--text-soft)}.detail-blocks{display:grid;gap:clamp(1rem,2vw,1.8rem)}.detail-media-wide{display:flex;justify-content:center;overflow:hidden;background:transparent}.project-detail .detail-media-wide .media{width:auto;max-width:100%;height:auto;object-fit:contain}.project-detail .detail-media-wide .media-embed{width:100%;aspect-ratio:16 / 9;border:0;background:#000}.detail-media-grid{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:clamp(1.8rem,3vw,3rem)}.detail-media-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(1rem,2vw,1.5rem)}.detail-media-comparison{grid-template-columns:minmax(12rem,.48fr) minmax(0,1fr);align-items:start;column-gap:clamp(1rem,2.5vw,2.8rem)}.comparison-reference-stack{display:grid;justify-items:center;gap:clamp(.9rem,1.8vw,1.5rem);width:100%}.comparison-final-render{display:grid;align-items:stretch;width:100%}.detail-media-grid .media{width:auto;max-width:100%;height:auto;object-fit:contain}.detail-media-row .media{width:100%}.comparison-reference-stack .media{width:100%;height:auto}.comparison-reference-stack .media:nth-child(2){width:56%}.comparison-final-render .media{width:100%;height:auto}.detail-text-block{display:grid;gap:.85rem;margin:clamp(.5rem,2vw,1.5rem) 0}.detail-text-block h2{margin:0;color:var(--accent);font-family:var(--font-sans);font-size:clamp(1.25rem,1.45vw,1.45rem);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.detail-text{width:100%;margin:0;font-size:clamp(1.33rem,1.6vw,1.49rem);white-space:pre-line}.detail-tool-list{display:grid;gap:.55rem;margin:0}.detail-tool-row{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:clamp(.85rem,1.5vw,1.25rem);align-items:baseline}.detail-tool-row dt{color:var(--text-soft);font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.6}.detail-tool-row dt:after{content:":"}.detail-tool-row dd{margin:0;color:var(--text);font-size:clamp(1rem,1.1vw,1.12rem);font-weight:400;line-height:1.6}.detail-prompt-box{max-height:min(34rem,62vh);overflow-y:auto;border:1px solid rgba(210,170,112,.28);background:#0c0b09c7;padding:clamp(1rem,2vw,1.4rem);scrollbar-color:rgba(210,170,112,.65) rgba(255,255,255,.08);scrollbar-width:thin}.detail-prompt-box:focus{outline:1px solid var(--accent);outline-offset:4px}.detail-prompt-box pre{margin:0;color:var(--text-soft);font-family:var(--font-sans);font-size:clamp(.95rem,1vw,1.05rem);line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.detail-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:clamp(3rem,7vw,6rem);border-top:1px solid var(--line);padding-top:1.2rem}.detail-nav a,.text-link{color:var(--text-soft);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease}.detail-nav a:hover,.text-link:hover{color:var(--text)}.footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;padding:2rem 4vw;border-top:1px solid var(--line);color:var(--text-muted);font-size:.8rem}.footer p{margin:0}.footer p:last-child{justify-self:end}.footer .back-to-top{margin:0}.not-found{min-height:62vh}@media (max-width: 1100px){.home-shell{grid-template-columns:minmax(220px,24vw) minmax(0,1fr)}}@media (max-width: 760px){.navigation-top{position:static;flex-direction:column;align-items:flex-start;gap:.4rem;min-height:auto;padding:1.2rem 5vw}.navigation-top:before{left:5vw;right:5vw}.navigation ul{flex-wrap:wrap;gap:.8rem 1.2rem}.navigation a,body:has(.work-page) .navigation-top ul a,body:has(.project-detail) .navigation-top ul a,body:has(.about-page) .navigation-top ul a{min-height:32px;font-size:.84rem}.nav-brand{gap:0;min-height:68px}.nav-brand-name{font-size:1.28rem}.nav-brand-role{font-size:.72rem;letter-spacing:.1em;max-width:100%}.home-shell{display:block;min-height:auto}.home-intro{min-height:46svh;padding:1.5rem 5vw 2rem;border-right:0;border-bottom:1px solid var(--line)}.home-intro h1{font-size:clamp(2.2rem,10vw,3.7rem);letter-spacing:.11em}.home-summary{max-width:28rem}.navigation-home{margin-top:clamp(2.5rem,8vh,4rem)}.navigation-home a{min-height:42px;font-size:clamp(1rem,4.2vw,1.2rem)}.home-visuals,.home-bottom-row{display:block;min-height:auto}.home-visual-panel{min-height:54svh}.home-visual-panel .media{position:absolute}.panel-description{opacity:1;transform:none}.panel-title{font-size:clamp(1.7rem,8vw,2.4rem)}.page{width:min(100% - 10vw,var(--max-width));padding:3.2rem 0}.page-heading{margin-bottom:2rem}.page-heading h1,.not-found h1{font-size:clamp(3.4rem,18vw,6rem)}.detail-header h1{font-size:clamp(2rem,9vw,3.6rem)}.detail-tool-row{grid-template-columns:minmax(0,1fr);gap:.1rem}.category-timeline{position:relative;top:auto;margin-top:.4rem;margin-bottom:2.4rem;overflow:visible}body:has(.work-page) .category-timeline{top:auto}.category-timeline ul{min-width:0;gap:.75rem}.timeline-label{max-width:100%;font-size:clamp(.78rem,3.2vw,1rem);line-height:1.2}.work-section{scroll-margin-top:2rem}.work-sections{width:100%;margin-left:0;transform:none}.section-label-row{display:grid;gap:.5rem}.project-grid,.about-layout,.detail-media-grid{grid-template-columns:1fr}.about-layout{grid-template-areas:"summary" "skills" "background" "software" "contact";gap:2.5rem}.about-summary,.about-background,.about-contact{border-left:0;padding-left:0}.experience-heading{grid-template-columns:1fr;gap:.35rem}.experience-heading h3 span{display:block;margin:.15rem 0 0;border-left:0;padding-left:0}.comparison-reference-stack{grid-template-rows:auto;justify-items:center;height:auto}.comparison-reference-stack .media,.comparison-reference-stack .media:nth-child(2),.comparison-final-render .media{width:100%;height:auto}.project-card{flex-basis:100%;width:100%}.project-hover-info{display:none}.project-mobile-info{display:grid;gap:.25rem}.detail-nav{flex-direction:column}.footer{grid-template-columns:1fr;justify-items:center;gap:1rem;padding:1.5rem 5vw;text-align:center}.footer p:last-child{justify-self:center}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
