@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600;1,700&display=swap');

:root{--blue:#174ce5;--orange:#ff4f1f;--yellow:#ffc328;--black:#090909;--white:#f8f7f2;--muted:#aaa8a1;--line:rgba(255,255,255,.19);--mono:'DM Mono',monospace;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 14% 8%,rgba(23,76,229,.1),transparent 38%),radial-gradient(ellipse at 88% 92%,rgba(255,79,31,.07),transparent 34%),#f6f7fb;color:var(--white);font-family:var(--sans);padding:clamp(12px,3vw,38px)}a{color:inherit}.skip-link{position:absolute;left:-999px;top:10px;background:var(--yellow);color:var(--black);padding:12px;z-index:50}.skip-link:focus{left:10px}.site-shell{max-width:1480px;margin:auto;background:var(--black);overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.58);box-shadow:0 24px 80px rgba(27,39,69,.16)}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5.7vw,88px);position:relative;z-index:3;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;display:flex;align-items:center;gap:11px}.brand-name{font:700 18px var(--sans);letter-spacing:.14em}.brand-credit{font:8px var(--mono);letter-spacing:.045em;text-transform:uppercase;opacity:.72;border-left:1px solid currentColor;padding-left:11px}.site-nav{display:flex;gap:clamp(24px,4.5vw,70px)}.site-nav a,.footer-links a{text-decoration:none;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.site-nav a:hover,.footer-links a:hover{color:var(--yellow)}.menu-toggle{display:none;background:none;border:0;color:var(--white)}
.hero{min-height:min(760px,82vw);position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.72fr);align-items:center;padding:60px clamp(22px,8.5vw,130px) 82px;isolation:isolate}.contours{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.32}.contours path{fill:none;stroke:#aaa;stroke-width:1.05}.hero-copy{position:relative;z-index:1;padding:34px 0}.eyebrow,.section-kicker,.hero-footer,.portrait-caption,.project-label,.project-side-note,.site-footer small{font:9px var(--mono);letter-spacing:.11em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px;color:#d8d7d1}.status-dot{width:7px;height:7px;border-radius:50%;background:#8cfc8a;box-shadow:0 0 12px #8cfc8a}.hero h1{margin:35px -20px 24px 0;font-size:clamp(72px,12.5vw,184px);line-height:.76;letter-spacing:-.105em;font-weight:600;position:relative;z-index:2}.hero h1 span{display:block}.hero h1 .hello{font-family:var(--serif);font-weight:600;letter-spacing:-.085em}.hero h1 .world{font-weight:700}.hero h1 em,.work-heading em,.contact h2 em{font-family:var(--serif);font-weight:600;letter-spacing:-.09em}.period{color:var(--yellow)}.hero-intro{max-width:350px;font-size:14px;line-height:1.7;color:#d2d0c9}.hero-intro strong{color:var(--white)}.handle{color:var(--yellow)}.hero-link{display:inline-flex;gap:20px;align-items:center;margin-top:18px;text-decoration:none;font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--yellow);padding-bottom:9px}.hero-link span{font-size:16px;color:var(--yellow)}.portrait-card{align-self:center;justify-self:end;width:min(100%,355px);height:min(490px,50vw);min-height:330px;position:relative;background:#212d42;transform:rotate(2deg);border:1px solid rgba(255,255,255,.42);padding:9px;box-shadow:15px 15px 0 var(--blue);z-index:1}.portrait-placeholder{height:calc(100% - 33px);position:relative;overflow:hidden;background:#27080b}.portrait-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 29%;filter:saturate(.92)}.portrait-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,0,3,.02),rgba(15,0,3,.2));pointer-events:none}.portrait-caption{height:33px;display:flex;align-items:end;justify-content:space-between;font-size:7px;letter-spacing:.04em}.shape{position:absolute;display:block;z-index:-1}.shape-blue{width:50px;height:50px;border-radius:55% 45% 60% 40%;background:var(--blue);left:6%;top:18%;transform:rotate(35deg)}.shape-orange{width:74px;height:34px;border-radius:50%;background:var(--orange);left:48%;top:12%;transform:rotate(-22deg)}.shape-yellow{width:56px;height:56px;background:var(--yellow);right:9%;bottom:20%;border-radius:52% 48% 45% 55%}.hero-footer{position:absolute;left:clamp(22px,5.7vw,88px);right:clamp(22px,5.7vw,88px);bottom:24px;display:flex;justify-content:space-between;color:#aaa8a1;font-size:8px}
.section-pad{padding:clamp(76px,11vw,158px) clamp(22px,8.5vw,130px);position:relative}.intro{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(233,239,250,.78));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 48px rgba(15,29,62,.12);color:#111;display:grid;grid-template-columns:.32fr 1fr;gap:3vw;overflow:hidden}.section-kicker{display:flex;gap:16px;align-items:flex-start;color:rgba(255,255,255,.74);font-size:8px}.section-kicker span:first-child{color:var(--yellow)}.intro .section-kicker{color:rgba(17,17,17,.62)}.intro .section-kicker span:first-child{color:var(--blue)}.intro-content{position:relative;z-index:1}.intro h2{font-size:clamp(42px,7vw,94px);line-height:.97;letter-spacing:-.075em;margin:0 0 52px}.intro h2 span{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--blue)}.intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px}.intro-bottom p{max-width:450px;font-size:14px;line-height:1.8;margin:0;color:rgba(17,17,17,.76)}.text-link{white-space:nowrap;text-decoration:none;font:9px var(--mono);text-transform:uppercase;border-bottom:1px solid var(--blue);padding-bottom:9px;color:#111}.text-link span{color:var(--blue)}.intro-stamp{position:absolute;right:8%;top:16%;font:clamp(16px,2.3vw,30px)/.9 var(--mono);letter-spacing:-.1em;transform:rotate(9deg);color:rgba(23,76,229,.12)}.intro-stamp b{color:var(--orange);font-weight:500}
.work{background:#f1efe8;color:var(--black)}.work .section-kicker{color:#706f6a}.work .section-kicker span:first-child{color:var(--blue)}.work-heading{display:flex;justify-content:space-between;align-items:end;margin:45px 0 70px;gap:36px}.work-heading h2{font-size:clamp(58px,10vw,136px);letter-spacing:-.09em;line-height:.78;margin:0}.work-heading h2 em{color:var(--blue)}.work-heading>p{max-width:300px;font-size:13px;line-height:1.7;color:#5c5b56;margin:0 2vw 0 0}.project-empty{min-height:330px;background:#e6e2d7;display:grid;grid-template-columns:.75fr 1.2fr .1fr;align-items:center;padding:40px clamp(22px,6vw,90px);position:relative;overflow:hidden}.project-empty:before{content:"";position:absolute;left:12%;top:-65%;height:230%;width:1px;background:rgba(0,0,0,.12);transform:rotate(38deg)}.project-doodle{font-size:90px;color:var(--blue);position:relative;z-index:1}.project-doodle span{display:block}.project-doodle i{font:32px var(--sans);position:absolute;left:48px;top:60px;color:var(--orange)}.project-label{color:#76736c;font-size:8px}.project-empty h3{font-size:clamp(34px,5vw,62px);letter-spacing:-.07em;line-height:.92;margin:15px 0}.project-empty>div:nth-child(2)>p:not(.project-label){font-size:12px;line-height:1.7;color:#5c5a54;max-width:340px}.pill-link{display:inline-flex;gap:20px;align-items:center;margin-top:16px;background:var(--blue);color:white;text-decoration:none;padding:14px 19px;border-radius:50px;font:9px var(--mono);text-transform:uppercase;letter-spacing:.04em}.pill-link span{color:var(--yellow)}.project-side-note{writing-mode:vertical-rl;justify-self:end;font-size:8px;color:#77736c}
.contact{display:grid;grid-template-columns:.32fr 1fr .65fr;gap:3vw;align-items:start;background:var(--black);min-height:520px}.contact-content .eyebrow{color:var(--yellow);font-size:8px}.contact h2{font-size:clamp(72px,11vw,152px);line-height:.78;letter-spacing:-.1em;margin:35px 0 48px}.contact h2 em{color:var(--blue)}.contact-button{display:inline-flex;align-items:center;gap:38px;padding:18px 23px;border-radius:99px;background:var(--yellow);color:var(--black);text-decoration:none;text-transform:uppercase;font:10px var(--mono);letter-spacing:.05em;transition:transform .2s ease,background .2s ease}.contact-button:hover{transform:translateY(-4px);background:#ffda61}.contact-button span{font-size:16px}.contact-aside{padding-top:90px;max-width:250px}.contact-spark{font-size:35px;color:var(--orange)}.contact-aside p{font-size:13px;line-height:1.7;color:#c0beb8}.contact-aside a{font:10px var(--mono);color:var(--yellow);text-decoration:none;border-bottom:1px solid var(--yellow);padding-bottom:6px;overflow-wrap:anywhere}.site-footer{padding:28px clamp(22px,5.7vw,88px) 20px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:14px}.site-footer>p{font-size:10px;color:#aaa8a1}.footer-links{display:flex;gap:24px;justify-content:end}.footer-links a{font-size:8px;color:#d2d0c9}.site-footer small{grid-column:1/-1;color:#77756f;font-size:7px}.menu-toggle-label{font:9px var(--mono);text-transform:uppercase}.menu-icon{display:none}

@media(max-width:760px){body{padding:10px}.site-header{height:70px;padding:0 22px}.menu-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:17px;height:1px;background:var(--yellow);content:"";position:relative}.menu-icon:before{position:absolute;top:-5px}.menu-icon:after{position:absolute;top:5px}.site-nav{display:none;position:absolute;right:12px;top:60px;flex-direction:column;gap:0;background:var(--yellow);color:var(--black);padding:10px 18px;min-width:150px;box-shadow:5px 5px 0 var(--blue)}.site-nav.is-open{display:flex}.site-nav a{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.14)}.site-nav a:last-child{border:0}.hero{min-height:unset;grid-template-columns:1fr;padding:46px 24px 72px}.hero-copy{padding:10px 0 40px}.hero h1{font-size:clamp(68px,16vw,120px);margin:32px -8px 20px 0}.hero-intro{max-width:420px}.portrait-card{justify-self:center;width:min(72%,320px);height:360px;min-height:unset;margin:4px 22px 24px 0}.hero-footer{left:24px;right:24px;font-size:7px}.shape-blue{top:11%;left:78%}.shape-orange{top:48%;left:2%}.shape-yellow{right:8%;bottom:23%}.section-pad{padding:74px 25px}.intro{grid-template-columns:1fr;gap:36px}.intro h2{font-size:clamp(43px,11vw,78px);margin-bottom:34px}.intro-bottom{display:block}.intro-bottom p{font-size:13px}.text-link{display:inline-block;margin-top:26px}.intro-stamp{right:8%;top:20%;font-size:20px}.work-heading{display:block;margin:38px 0 44px}.work-heading h2{font-size:clamp(61px,15vw,105px)}.work-heading>p{margin:30px 0 0}.project-empty{grid-template-columns:.3fr 1fr;min-height:330px;padding:30px 22px}.project-doodle{font-size:54px;align-self:start;margin-top:35px}.project-doodle i{font-size:23px;left:29px;top:40px}.project-empty h3{font-size:43px}.project-side-note{position:absolute;right:15px;top:20px}.contact{grid-template-columns:1fr;gap:32px;min-height:unset}.contact h2{font-size:clamp(78px,19vw,130px);margin:30px 0 40px}.contact-aside{padding:0;max-width:300px;margin-left:auto}.contact-aside p{margin:10px 0 16px}.site-footer{grid-template-columns:1fr 1fr;gap:10px}.site-footer>p{grid-column:1/-1;grid-row:2;margin:0 0 10px}.footer-links{grid-column:2;grid-row:1}.site-footer small{margin-top:14px}}
@media(max-width:390px){.hero h1{font-size:64px}.portrait-card{width:77%;height:320px}.hero-footer span:first-child{max-width:150px}.project-empty{grid-template-columns:.22fr 1fr}.project-doodle{font-size:42px}.project-doodle i{left:21px;top:31px;font-size:18px}.project-empty h3{font-size:36px}.footer-links{gap:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Gentle, purposeful motion */
.hero-copy{animation:heroRise .8s cubic-bezier(.2,.75,.25,1) both}.portrait-card{animation:portraitEnter .9s .12s cubic-bezier(.2,.75,.25,1) both;transition:transform .35s ease,box-shadow .35s ease}.portrait-card:hover{transform:rotate(0deg) translateY(-4px);box-shadow:18px 20px 0 var(--blue)}
.portrait-photo{position:absolute;inset:0;opacity:1;transition:filter .35s ease}.portrait-card:hover .portrait-photo{filter:saturate(1.02)}.portrait-placeholder:after{z-index:1}.menu-toggle:focus-visible,a:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.75,.25,1),transform .7s cubic-bezier(.2,.75,.25,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.text-link,.pill-link,.footer-links a{transition:color .2s ease,background .2s ease,transform .2s ease}.pill-link:hover{transform:translateY(-3px);background:#103bc0}.contact-aside{transition:transform .3s ease}.contact-aside:hover{transform:translateY(-4px)}
@keyframes heroRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes portraitEnter{from{opacity:0;transform:translate(12px,20px) rotate(4deg)}to{opacity:1;transform:rotate(2deg)}}
@media(max-width:760px){.site-nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}.site-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hero-copy,.portrait-card{animation:none}.reveal{opacity:1;transform:none}}
