:root{--ink:#191715;--muted:#6b625b;--paper:#fff7e8;--paper-deep:#f1dcc1;--sun:#ffc000;--sky:#5aa0e6;--moss:#74ab86;--coral:#ff765f;--shadow:0 28px 80px #35253d29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--sun) 36%, transparent), transparent 28rem), radial-gradient(circle at 88% 6%, color-mix(in srgb, var(--sky) 34%, transparent), transparent 24rem), radial-gradient(circle at 6% 88%, color-mix(in srgb, var(--moss) 24%, transparent), transparent 22rem), radial-gradient(circle at 94% 78%, color-mix(in srgb, var(--coral) 22%, transparent), transparent 20rem), linear-gradient(135deg, #fff8ed 0%, #f8ead1 52%, #e8f1dd 100%);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body:before{content:"";pointer-events:none;z-index:-1;background-image:linear-gradient(#1917150d 1px,#0000 1px),linear-gradient(90deg,#1917150d 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}a{color:inherit;text-decoration:none}button,a{transition:transform .18s,box-shadow .18s,background .18s}button{font:inherit}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.09em;max-width:12ch;margin-bottom:1.5rem;font-size:clamp(3.25rem,10vw,8.5rem);line-height:.86}h1.hero-title{width:100%;min-width:0;max-width:100%}.hero-h1-name{box-sizing:border-box;letter-spacing:-.09em;line-height:inherit;white-space:nowrap;width:100%;max-width:100%;min-height:1.05lh;padding-bottom:.02em;display:block;overflow:clip visible}@supports not (min-height:1lh){.hero-h1-name{min-height:.94em}}.hero-name-track{vertical-align:top;flex-wrap:nowrap;max-width:100%;display:inline-flex}.hero-h1-rest{min-width:0;max-width:14ch;display:block}.hero-name-letter{box-sizing:border-box;color:inherit;cursor:text;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-align:center;flex:0 0 clamp(.74ch,1.06ch,1.35rem);justify-content:center;align-items:center;min-width:0;display:inline-flex;overflow:visible}.hero-name-letter--space{flex:0 0 .25em;min-width:0}.hero-name-letter--optical-lift:hover{transform:translateY(.1em)}.hero-name-letter--weight-light:hover{font-weight:300}h2{letter-spacing:-.065em;margin-bottom:1rem;font-size:clamp(2.2rem,5vw,4.8rem);line-height:.9}h3{letter-spacing:-.035em;margin-bottom:.45rem;font-size:1.5rem}main{padding:1rem;overflow:clip visible}.section-shell{max-width:1180px;margin:1rem auto 4rem}.hero{grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);align-items:stretch;gap:1rem;min-height:calc(100vh - 2rem);display:grid}.hero__copy,.profile-card,.identity-card,.split-section,.timeline-card,.brand-identities,.portfolio-card,.skills-section,.education-contact article{box-shadow:var(--shadow);border:none}.hero__copy{background:#fff7e9d1;border-radius:2.4rem;flex-direction:column;justify-content:center;min-width:0;padding:clamp(2rem,6vw,5rem);display:flex}.kicker{color:var(--coral);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem;font-size:.78rem;font-weight:900}.hero__summary{color:var(--muted);max-width:760px;font-size:clamp(1.12rem,2vw,1.45rem);line-height:1.55}.hero__actions,.filter-bar,.contact-links{flex-wrap:wrap;gap:.75rem;display:flex}.button,.chip,.contact-links a{color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;padding:.85rem 1.15rem;font-weight:900;display:inline-flex}.button:hover,.chip:hover,.contact-links a:hover{transform:translateY(-3px);box-shadow:0 14px 32px #35253d24}.button--primary,.chip--active{background:var(--ink);color:var(--paper)}.profile-card{color:#000;background:0 0;border:none;border-radius:2.4rem;flex-direction:column;min-height:min(620px,78vh);padding:0;display:flex;position:relative;overflow:hidden}.profile-card:before{background:radial-gradient(circle, var(--sun) 0 18%, transparent 19%), radial-gradient(circle, var(--sky) 0 18%, transparent 19%);content:"";opacity:.45;background-position:0 0,32px 32px;background-size:64px 64px;width:220px;height:220px;position:absolute;inset:auto -34px -52px auto;transform:rotate(-12deg)}.photo-frame,.media-placeholder{text-align:center;background:linear-gradient(135deg,#ffffff29,#ffffff0a),repeating-linear-gradient(-45deg,#ffffff1f 0 12px,#0000 12px 24px);border:none;justify-content:center;align-items:center;min-height:340px;display:flex}.photo-frame--reveal{border-radius:inherit;cursor:default;touch-action:none;background:#0003;border:none;flex-direction:column;flex:auto;width:100%;min-height:0;max-height:none;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.photo-reveal__stack{isolation:isolate;background:radial-gradient(circle at 50% 40%,#ffffff14,#0000 62%);position:absolute;inset:0;overflow:hidden}.photo-reveal__canvas{pointer-events:none;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.photo-reveal__canvas--back{z-index:1}.photo-reveal__canvas--front{z-index:2}.photo-reveal__sr{clip:rect(0 0 0 0);white-space:nowrap;border:none;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.photo-frame span:not(.photo-reveal__sr),.media-placeholder span{color:var(--paper);background:#191715b3;border-radius:999px;padding:.75rem 1rem;font-weight:900}.profile-card__stats{box-sizing:border-box;color:var(--paper);pointer-events:none;z-index:4;background:linear-gradient(#0000 0%,#1917152e 45%,#1917158c 100%);grid-template-columns:repeat(3,1fr);gap:.75rem;padding:4.5rem 1rem 1rem;display:grid;position:absolute;bottom:0;left:0;right:0}.profile-card__stats div{background:color-mix(in srgb, var(--paper) 20%, transparent);border-radius:1.2rem;padding:1rem}.profile-card__stats strong,.profile-card__stats span{display:block}.profile-card__stats strong{font-size:1.3rem}.profile-card__stats span{margin-top:.25rem;font-size:.78rem}.identity-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.identity-card{border-radius:1.8rem;min-height:230px;padding:1.4rem}.identity-card span,.identity-card strong{display:block}.identity-card span{letter-spacing:.14em;text-transform:uppercase;margin-bottom:4rem;font-size:.75rem;font-weight:900}.identity-card strong{letter-spacing:-.055em;font-size:clamp(1.5rem,3vw,2.65rem);line-height:.95}.identity-card--sun{background:var(--sun)}.identity-card--sky{background:var(--sky)}.identity-card--moss{background:var(--moss)}.split-section{background:var(--paper);border-radius:2rem;grid-template-columns:.8fr 1.2fr;align-items:center;gap:2rem;padding:clamp(1.5rem,4vw,3.5rem);display:grid}.split-section p:last-child,.section-heading>p,.skills-section p,.education-contact p,.portfolio-card span{color:var(--muted);font-size:1.05rem;line-height:1.7}.section-heading{grid-template-columns:1fr auto;align-items:end;gap:1.5rem;margin-bottom:1rem;display:grid}.filter-bar{justify-content:flex-end}.chip{padding:.72rem 1rem}.filter-bar .chip--lane{border:2px solid #0000}.filter-bar .chip--lane-all{background:var(--paper);color:var(--ink)}.filter-bar .chip--lane-operations{background:var(--sun);color:var(--ink)}.filter-bar .chip--lane-creative{background:var(--sky);color:var(--ink)}.filter-bar .chip--lane-ministry{background:var(--moss);color:var(--ink)}.filter-bar .chip--lane-hospitality{background:var(--coral);color:var(--ink)}.filter-bar .chip--lane-all.chip--active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filter-bar .chip--lane-operations.chip--active{background:var(--sun);border-color:var(--ink);color:var(--ink)}.filter-bar .chip--lane-creative.chip--active{background:var(--sky);border-color:var(--ink);color:var(--ink)}.filter-bar .chip--lane-ministry.chip--active{background:var(--moss);border-color:var(--ink);color:var(--ink)}.filter-bar .chip--lane-hospitality.chip--active{background:var(--coral);border-color:var(--ink);color:var(--ink)}.timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.timeline-card{background:var(--paper);border-radius:1.6rem;padding:1rem}.timeline-card__top{cursor:default;background:0 0;border-radius:1rem;justify-content:space-between;align-items:center;width:100%;margin-bottom:1.25rem;padding:.85rem;transition:background-color .18s,box-shadow .18s,transform .18s;display:flex}.timeline-card__top:hover{transform:translateY(-3px);box-shadow:0 14px 32px #35253d24}.timeline-card__top[data-category=Operations]:hover{background:var(--sun)}.timeline-card__top[data-category=Creative]:hover{background:var(--sky)}.timeline-card__top[data-category=Ministry]:hover{background:var(--moss)}.timeline-card__top[data-category=Hospitality]:hover{background:var(--coral)}@media (prefers-reduced-motion:reduce){.timeline-card__top{transition:background-color .18s,box-shadow .18s}.timeline-card__top:hover{transform:none}}.timeline-card__top span{color:var(--muted);font-size:.86rem}.timeline-card>p{color:var(--muted)}.timeline-card ul{color:#403a35;margin:1rem 0 0;padding-left:1.1rem;line-height:1.6}.brand-identities{background:var(--ink);color:var(--paper);border-radius:2rem;padding:clamp(1.5rem,4vw,3rem);position:relative}.brand-identities__carousel:focus-visible{outline:2px solid var(--brand-identities-accent,var(--sun));outline-offset:3px}.brand-identities:before{background-image:linear-gradient(color-mix(in srgb, var(--paper) 11%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--paper) 11%, transparent) 1px, transparent 1px);border-radius:inherit;content:"";pointer-events:none;z-index:0;background-size:40px 40px;background-attachment:fixed;position:absolute;inset:0}.brand-identities .kicker{color:var(--brand-identities-accent,var(--sun))}.brand-identities__header{z-index:1;margin-bottom:1.35rem;position:relative}.brand-identities h2{color:var(--paper)}.brand-identities__lede{color:color-mix(in srgb, var(--paper) 72%, transparent);max-width:48rem;margin:.85rem 0 0;font-size:1.05rem;line-height:1.65}.brand-identities__carousel{z-index:1;outline:none;grid-template-columns:1fr;grid-template-areas:"stage";align-items:center;column-gap:0;padding-inline:.35rem;display:grid;position:relative}.brand-identities__viewport{isolation:isolate;border-radius:1.35rem;grid-area:stage;width:100%;overflow:hidden;container:brand-identities-carousel/inline-size}.brand-identities__rail{transition:transform .42s cubic-bezier(.32,.72,.25,1);display:flex}.brand-identities__slide{box-sizing:border-box;flex:0 0 100cqi;place-items:center;width:100%;min-width:0;min-height:clamp(172px,28vmin,260px);padding:clamp(1rem,3vw,2rem);display:grid}@media (prefers-reduced-motion:reduce){.brand-identities__rail{transition:none}}.brand-identities__logo-slot{aspect-ratio:5/2;border:1px dashed color-mix(in srgb, var(--paper) 38%, transparent);opacity:.55;border-radius:1.1rem;width:min(94%,20rem);max-width:18rem}.brand-identities__logo-masked{background-color:var(--paper);box-sizing:border-box;height:clamp(96px,19vmin,196px);-webkit-mask-image:var(--logo-mask);mask-image:var(--logo-mask);width:min(100%,520px);max-width:70%;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-source-type:alpha;mask-mode:alpha;-webkit-mask-image:var(--logo-mask);-webkit-mask-source-type:alpha;place-self:center;-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}@supports (width:1cqi){.brand-identities__logo-masked{width:min(100%,max(520px,76cqi))}}.brand-identities__nav{appearance:none;box-shadow:none;color:var(--paper);cursor:pointer;z-index:2;background:0 0;border:none;border-radius:0;grid-area:stage;justify-content:center;place-self:center;align-items:center;min-width:2.75rem;min-height:2.75rem;padding-block:.35rem;padding-inline:.2rem;font-size:1.75rem;line-height:1;transition:color .16s,opacity .16s,transform .16s;display:inline-flex}.brand-identities__nav--prev{justify-self:start;margin-inline-start:clamp(.35rem,2.5vw,.85rem)}.brand-identities__nav--next{justify-self:end;margin-inline-end:clamp(.35rem,2.5vw,.85rem)}.brand-identities__nav:hover{opacity:.88;transform:translateY(-2px)}.brand-identities__nav:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.brand-identities__dots{z-index:1;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.1rem;display:flex;position:relative}.brand-identities__dot{appearance:none;background:color-mix(in srgb, var(--paper) 24%, transparent);cursor:pointer;border:none;border-radius:999px;width:.65rem;height:.65rem;padding:0;transition:background .14s,transform .14s}.brand-identities__dot:hover{background:color-mix(in srgb, var(--paper) 38%, transparent)}.brand-identities__dot.is-active{background:var(--brand-identities-accent,var(--sun));transform:scale(1.28)}.brand-identities__dot:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.portfolio-card{background:var(--paper);border-radius:1.6rem;min-height:440px;padding:1rem}.portfolio-card:hover{transform:rotate(-1deg)translateY(-4px)}.portfolio-card:nth-child(2n):hover{transform:rotate(1deg)translateY(-4px)}.media-placeholder{border-color:#1917153d;min-height:230px}.portfolio-card p{color:var(--coral);letter-spacing:.12em;text-transform:uppercase;margin:1.2rem 0 .65rem;font-size:.78rem;font-weight:900}.skills-section{background:var(--paper);border-radius:2rem;grid-template-columns:.55fr 1fr;align-items:start;gap:2rem;padding:clamp(1.5rem,4vw,3rem);display:grid}.skill-cloud{flex-wrap:wrap;gap:.75rem;display:flex}.skill-cloud span{color:var(--ink);border:2px solid #0000;border-radius:999px;padding:.78rem 1rem;font-weight:800}.skill-cloud span[data-category=Operations]{background:var(--sun)}.skill-cloud span[data-category=Creative]{background:var(--sky)}.skill-cloud span[data-category=Ministry]{background:var(--moss)}.skill-cloud span[data-category=Hospitality]{background:var(--coral)}.education-contact{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.education-contact article{background:var(--paper);border-radius:2rem;padding:clamp(1.5rem,4vw,3rem)}.education-contact article.education-halftone-card{--education-hotspot-x:50%;--education-hotspot-y:50%;isolation:isolate;background:0 0;position:relative;overflow:hidden}.education-contact article.education-halftone-card:before{border-radius:inherit;content:"";filter:grayscale()contrast(1.08)brightness(1.02);pointer-events:none;z-index:0;background:url(/troy.jpg) 50%/cover no-repeat;position:absolute;inset:0}.education-contact article.education-halftone-card:after{border-radius:inherit;content:"";mix-blend-mode:multiply;opacity:.92;pointer-events:none;z-index:1;background:linear-gradient(#8b223299,#2310137a);position:absolute;inset:0}.education-contact article.education-halftone-card>.education-dotfield{border-radius:inherit;mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:0}.education-contact article.education-halftone-card>.education-dotfield--fine{filter:contrast(118%)brightness(1.06);opacity:.94;z-index:2;background-image:radial-gradient(circle,#090705 43%,#0000 45%);background-size:3.5px 3.5px}.education-contact article.education-halftone-card>.education-dotfield--coarse{filter:contrast(118%)brightness(1.06);-webkit-mask-image:radial-gradient(circle clamp(3.5rem, 14vmin, 10rem) at var(--education-hotspot-x) var(--education-hotspot-y), #000 42%, #000000bf 48%, transparent 51%);mask-image:radial-gradient(circle clamp(3.5rem, 14vmin, 10rem) at var(--education-hotspot-x) var(--education-hotspot-y), #000 42%, #000000bf 48%, transparent 51%);-webkit-mask-image:radial-gradient(circle clamp(4.5rem, 18vmin, 12rem) at var(--education-hotspot-x) var(--education-hotspot-y), #000 42%, #000000bf 48%, transparent 71%);opacity:0;z-index:3;background-image:radial-gradient(circle,#070504 35%,#0000 35%);background-size:5px 5px;transition:opacity .35s}.education-contact article.education-halftone-card[data-education-interactive=true]>.education-dotfield--coarse{opacity:.95}@media (prefers-reduced-motion:reduce){.education-contact article.education-halftone-card>.education-dotfield--coarse{display:none}}.education-contact article.education-halftone-card>:not(.education-dotfield){z-index:4;position:relative}@media (max-width:980px){.hero,.split-section,.section-heading,.skills-section,.education-contact{grid-template-columns:1fr}.profile-card{min-height:min(520px,70vh)}.identity-grid,.portfolio-grid{grid-template-columns:1fr 1fr}.filter-bar{justify-content:flex-start}}@media (max-width:680px){main{padding:.5rem}.hero__copy,.profile-card,.split-section,.brand-identities,.skills-section,.education-contact article{border-radius:1.4rem}.identity-grid,.timeline,.portfolio-grid,.profile-card__stats{grid-template-columns:1fr}.photo-frame{min-height:260px}.section-shell{margin-bottom:.5rem}}
