@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Lato:wght@300;400;700&display=swap";:root{--navy:#0b1a2e;--navy-mid:#122340;--navy-light:#1c3054;--coral:#d4603a;--gold:#e8c577;--text:#eee8d5;--text-dim:#8fa3b8;--border:#8fa3b838;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;font-family:Lato,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--navy);scroll-padding-top:88px}body{background:radial-gradient(circle at 90% 65%, #1c305459, transparent 34rem), var(--navy);min-width:320px;color:var(--text);margin:0;line-height:1.7}body,a{cursor:default}a,button{cursor:pointer}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin-top:0}::selection{background:var(--coral);color:#fff}.site-nav{z-index:20;border-bottom:1px solid #0000;width:100%;height:76px;transition:background-color .22s,border-color .22s,height .22s;position:fixed;top:0;left:0}.site-nav--scrolled{border-color:var(--border);-webkit-backdrop-filter:blur(16px);background:#0b1a2ed1;height:66px}.nav-bar{justify-content:space-between;align-items:center;width:100%;height:100%;padding:0 clamp(1.5rem,5vw,5rem);display:flex}.nav-brand{letter-spacing:.18em;align-items:center;gap:.65rem;font-family:Cinzel,serif;font-size:.9rem;font-weight:700;display:flex}.nav-mark{width:34px;height:34px;display:block}.nav-menu{display:block}.nav-toggle{width:42px;height:42px;color:var(--text);background:0 0;border:0;padding:10px;display:none}.nav-toggle span{background:currentColor;width:100%;height:1px;margin:5px 0;transition:transform .18s,opacity .18s;display:block}.nav-links{gap:clamp(1.25rem,3vw,2.5rem);display:flex}.nav-links a{color:var(--text-dim);letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;font-weight:700;transition:color .18s;position:relative}.nav-links a:after{background:var(--coral);content:"";transform-origin:100%;height:1px;transition:transform .18s;position:absolute;bottom:-.35rem;left:0;right:0;transform:scaleX(0)}.nav-links a:hover,.nav-links a:focus-visible{color:var(--text)}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.hero{isolation:isolate;background-image:radial-gradient(#e8c57721 1px,#0000 1px);background-size:24px 24px;place-items:center;min-height:100svh;padding:7rem 1.5rem 5rem;display:grid;position:relative;overflow:hidden}.hero:before,.hero:after{z-index:-2;content:"";filter:blur(10px);border-radius:50%;position:absolute}.hero:before{background:radial-gradient(circle,#1c3054c2,#0000 68%);width:48rem;height:48rem;top:-20rem;left:-15rem}.hero:after{background:radial-gradient(circle,#d4603a21,#0000 67%);width:42rem;height:42rem;bottom:-20rem;right:-14rem}.hero-content{z-index:2;text-align:center;width:min(1040px,100%)}.hero-compass{z-index:-1;width:min(82vw,720px);color:var(--gold);opacity:.055;animation:18s ease-in-out infinite alternate compassDrift;position:absolute}.hero-compass path,.hero-compass circle{stroke-dasharray:600;stroke-dashoffset:600px;animation:2.4s ease-out .3s forwards compassDraw}.hero-eyebrow{color:var(--gold);letter-spacing:.24em;text-transform:uppercase;margin-bottom:1.4rem;font-size:clamp(.72rem,1.5vw,.9rem);font-weight:700}.hero-title{letter-spacing:.04em;text-transform:uppercase;text-shadow:0 12px 48px #00000040;margin-bottom:.7rem;font-family:Cinzel,serif;font-size:clamp(3.2rem,10vw,8rem);font-weight:600;line-height:.95}.hero-tagline{color:var(--text-dim);letter-spacing:.08em;margin-bottom:2.5rem;font-family:Cinzel,serif;font-size:clamp(1.05rem,2.4vw,1.5rem)}.hero-actions{justify-content:center;gap:1rem;display:flex}.button{letter-spacing:.14em;text-transform:uppercase;border:1px solid;border-radius:2px;justify-content:center;align-items:center;min-width:154px;min-height:50px;font-size:.78rem;font-weight:700;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-3px)}.button--primary{border-color:var(--coral);background:var(--coral);color:#fff}.button--primary:hover,.button--primary:focus-visible{background:#e1704a;border-color:#e1704a}.button--secondary{color:var(--text);border-color:#eee8d573}.button--secondary:hover,.button--secondary:focus-visible{border-color:var(--gold);color:var(--gold)}.hero-animate{opacity:0;animation:.7s forwards fadeInUp}.hero-eyebrow{animation-delay:.12s}.hero-title{animation-delay:.26s}.hero-tagline{animation-delay:.4s}.hero-actions{animation-delay:.54s}.scroll-cue{color:var(--text-dim);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.7rem;font-size:.65rem;font-weight:700;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-cue span:last-child{color:var(--coral);font-size:1rem}.section{width:min(940px,100% - 3rem);margin:0 auto;padding:clamp(6rem,11vw,10rem) 0}.section--wide{width:min(1180px,100% - 3rem)}.section-heading{align-items:center;gap:1rem;margin-bottom:clamp(2.5rem,5vw,4rem);display:flex}.section-heading:after{background:linear-gradient(90deg, var(--border), transparent);content:"";width:min(18vw,160px);height:1px}.section-heading h2{letter-spacing:.06em;margin:0;font-family:Cinzel,serif;font-size:clamp(1.8rem,4vw,2.7rem);font-weight:600}.projects-header{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1rem;display:flex}.projects-header .section-heading{margin-bottom:0}.project-filters{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.project-filters button{border:1px solid var(--border);min-height:38px;color:var(--text-dim);font:inherit;letter-spacing:.1em;text-transform:uppercase;background:#122340b3;border-radius:2px;padding:.55rem .9rem;font-size:.68rem;font-weight:700;transition:border-color .18s,background-color .18s,color .18s}.project-filters button:hover,.project-filters button:focus-visible,.project-filters button.is-active{border-color:var(--coral);color:var(--text);background:#d4603a1f}.project-count{color:var(--text-dim);letter-spacing:.08em;margin-bottom:1.5rem;font-size:.72rem}.about-layout{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(2.5rem,7vw,5.5rem);display:grid}.about-portrait{justify-self:center;width:min(100%,360px);position:relative}.about-image-frame{z-index:2;background:var(--navy-mid);border:1px solid #e8c57759;border-radius:4px;position:relative;overflow:hidden;box-shadow:18px 18px #d4603a21}.about-image-frame:after{content:"";pointer-events:none;border:1px solid #eee8d514;position:absolute;inset:0}.about-image-frame img{aspect-ratio:4/5;object-fit:cover;object-position:center 28%;filter:saturate(.86)contrast(1.04);width:100%;transition:filter .28s,transform .5s;display:block}.about-image-frame:hover img{filter:saturate()contrast();transform:scale(1.025)}.about-compass{z-index:1;width:132px;color:var(--gold);opacity:.18;position:absolute;bottom:-55px;right:-54px;transform:rotate(12deg)}.about-copy{border-left:2px solid var(--coral);max-width:680px;padding-left:clamp(1.5rem,4vw,3rem)}.about-copy p{color:var(--text-dim);margin-bottom:1.25rem;font-size:clamp(1rem,2vw,1.16rem)}.about-copy p:first-child{color:var(--text);font-size:clamp(1.15rem,2.4vw,1.38rem)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.project-card{border:1px solid var(--border);background:linear-gradient(135deg, #ffffff06, transparent 45%), var(--navy-mid);opacity:0;min-height:320px;animation:cardEnter .52s var(--card-delay) ease forwards;border-radius:4px;flex-direction:column;padding:clamp(1.5rem,4vw,2.25rem);transition:border-color .22s,box-shadow .22s,transform .22s;display:flex;position:relative;overflow:hidden}.project-card>:not(.project-card-glow){z-index:2;position:relative}.project-card-glow{z-index:1;background:radial-gradient(320px circle at var(--mouse-x,50%) var(--mouse-y,50%), #e8c5771f, transparent 68%);opacity:0;pointer-events:none;transition:opacity .22s;position:absolute;inset:0}.project-card:before{background:linear-gradient(90deg, var(--coral), var(--gold), transparent 70%);content:"";opacity:0;width:100%;height:2px;transition:opacity .22s;position:absolute;top:0;left:0}.project-card:hover{border-color:#e8c57761;transform:translateY(-7px);box-shadow:0 18px 50px #0003}.project-card:hover:before,.project-card:hover .project-card-glow{opacity:1}.project-card-topline{justify-content:flex-end;min-height:28px;margin-bottom:1.5rem;display:flex}.status{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.5rem;padding:.32rem .65rem;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex}.status-dot{background:var(--gold);border-radius:50%;width:6px;height:6px}.status--live .status-dot{background:#79c69a;box-shadow:0 0 8px #79c69a8c}.project-card h3{margin-bottom:.8rem;font-family:Cinzel,serif;font-size:clamp(1.25rem,2.6vw,1.65rem);font-weight:600;line-height:1.3}.project-subheader{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.7rem;font-size:.7rem;font-weight:700}.project-card>p{color:var(--text-dim);flex-grow:1;margin-bottom:1.6rem;font-size:.96rem}.tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.tag-list li{color:var(--gold);letter-spacing:.04em;background:#0b1a2e8c;border:1px solid #8fa3b829;border-radius:999px;padding:.3rem .62rem;font-size:.68rem;font-weight:700}.project-actions{gap:1.2rem;margin-top:1.5rem;display:flex}.project-actions a{color:var(--text);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.project-actions a:hover,.project-actions a:focus-visible{color:var(--coral)}.links-section{padding-bottom:clamp(7rem,12vw,11rem)}.links-intro{color:var(--text-dim);margin-bottom:2.5rem;font-family:Cinzel,serif;font-size:clamp(1.2rem,3vw,1.7rem)}.social-links{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.social-links a,.social-links button{min-height:90px;color:var(--text-dim);font:inherit;letter-spacing:.12em;text-align:left;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:.9rem;padding:1.25rem;font-size:.78rem;font-weight:700;transition:background-color .18s,color .18s;display:flex}.social-links a+a,.social-links a+button,.social-links button+a,.social-links button+button{border-left:1px solid var(--border)}.social-links a:hover,.social-links a:focus-visible,.social-links button:hover,.social-links button:focus-visible{background:var(--navy-mid);color:var(--gold)}.social-links svg{fill:currentColor;width:22px}.social-arrow{color:var(--coral);margin-left:auto}.copy-popover{z-index:40;max-width:calc(100% - 2rem);color:var(--text);letter-spacing:.06em;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(14px);background:#0b1a2eeb;border:1px solid #e8c5776b;border-radius:4px;padding:.85rem 1rem;font-size:.78rem;font-weight:700;transition:opacity .18s,transform .18s;position:fixed;bottom:clamp(1rem,4vw,2rem);right:clamp(1rem,4vw,2rem);transform:translateY(10px);box-shadow:0 18px 40px #00000047}.copy-popover--visible{opacity:1;transform:translateY(0)}footer{border-top:1px solid var(--border);width:min(1180px,100% - 3rem);min-height:90px;color:var(--text-dim);letter-spacing:.15em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:0 auto;font-size:.68rem;font-weight:700;display:flex}.reveal-section{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(35px)}.reveal-section.is-visible{opacity:1;transform:translateY(0)}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEnter{0%{opacity:0}to{opacity:1}}@keyframes compassDraw{to{stroke-dashoffset:0}}@keyframes compassDrift{0%{transform:rotate(5deg)scale(.98)}to{transform:rotate(12deg)scale(1.02)}}@media (width<=720px){.site-nav{height:66px}.nav-bar{padding-inline:1.25rem}.nav-brand{letter-spacing:.12em;gap:.5rem;font-size:.74rem}.nav-mark{width:31px;height:31px}.nav-toggle{display:block}.site-nav--menu-open .nav-toggle span:first-child{transform:translateY(6px)rotate(45deg)}.site-nav--menu-open .nav-toggle span:nth-child(2){opacity:0}.site-nav--menu-open .nav-toggle span:last-child{transform:translateY(-6px)rotate(-45deg)}.nav-menu{opacity:0;-webkit-backdrop-filter:blur(16px);background:#0b1a2ef5;border-bottom:1px solid #0000;max-height:0;transition:max-height .26s,border-color .18s,opacity .18s;position:absolute;top:65px;left:0;right:0;overflow:hidden}.nav-menu--open{border-color:var(--border);opacity:1;max-height:240px}.nav-links{flex-direction:column;gap:0;padding:.75rem 1.25rem 1rem}.nav-links li{border-bottom:1px solid #8fa3b81a}.nav-links a{letter-spacing:.14em;padding:.9rem .25rem;font-size:.72rem;display:block}.nav-links a:after{display:none}.hero-title{line-height:1.02}.hero-actions{flex-direction:column;align-items:center}.button{width:min(270px,100%)}.scroll-cue{display:none}.project-grid,.about-layout{grid-template-columns:1fr}.about-portrait{width:min(82vw,340px);margin-bottom:1rem}.about-compass{width:104px;bottom:-38px;right:-30px}.projects-header{flex-direction:column;align-items:flex-start;margin-bottom:1rem}.project-filters{justify-content:flex-start}.project-card{min-height:300px}.social-links{grid-template-columns:1fr}.social-links a+a,.social-links a+button,.social-links button+a,.social-links button+button{border-top:1px solid var(--border);border-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.hero-animate,.reveal-section,.project-card{opacity:1;transform:none}}
