@font-face{font-family:Sora;src:url('/fonts/sora-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Sora;src:url('/fonts/sora-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Sora;src:url('/fonts/sora-800.ttf') format('truetype');font-weight:800;font-display:swap}

:root{
  --ink:#171714;
  --ink-2:#23231f;
  --paper:#f2f1ed;
  --muted:#aaa9a1;
  --line:rgba(242,241,237,.19);
  --yellow:#ffcb05;
  --gutter:clamp(1rem,3vw,3.4rem);
  --ease:cubic-bezier(.2,.8,.2,1);
  --radius:.45rem;
}

*{box-sizing:border-box}
html{background:var(--ink);color:var(--paper);scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:clamp(1rem,.45vw + .88rem,1.28rem);line-height:1.42;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
::selection{background:var(--yellow);color:var(--ink)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
p,h1,h2,h3,h4,figure,blockquote{margin:0}
h1,h2,h3,h4{font-family:Sora,Arial,sans-serif;font-weight:600;letter-spacing:-.055em;line-height:.94;text-wrap:balance}
h1{font-size:clamp(4rem,10.7vw,11.2rem)}
h2{font-size:clamp(2.65rem,7.1vw,7.8rem)}
h3{font-size:clamp(2rem,4vw,4.4rem)}
.section-pad{padding:clamp(6rem,13vw,12rem) var(--gutter)}
.eyebrow{font-family:Sora,Arial,sans-serif;font-size:.68rem;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:10000;transform:translateY(-200%);background:var(--yellow);color:var(--ink);padding:.8rem 1rem}
.skip-link:focus{transform:none}

.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:6rem;padding:1rem var(--gutter);display:flex;align-items:center;justify-content:space-between;transition:transform .45s var(--ease),background .35s var(--ease),height .35s var(--ease);mix-blend-mode:difference;color:var(--paper)}
.site-header.is-compact{height:4.8rem;background:rgba(23,23,20,.88);backdrop-filter:blur(16px);mix-blend-mode:normal}
.site-header.is-hidden{transform:translateY(-110%)}
.brand{display:flex;align-items:center;gap:.7rem;font-family:Sora,Arial,sans-serif;font-size:.58rem;line-height:1.02;letter-spacing:.06em;font-weight:600}
.brand img{width:2.3rem;height:2.3rem}
.site-header nav{display:flex;align-items:center;gap:clamp(1.4rem,3.2vw,4rem);font-family:Sora,Arial,sans-serif;font-size:.72rem;letter-spacing:.09em}
.site-header nav a{position:relative;padding:.5rem 0}
.site-header nav a::after{content:"";position:absolute;bottom:.1rem;left:0;width:100%;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.site-header nav a:hover::after,.site-header nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.menu-toggle{display:none}

.home-hero{position:relative;min-height:100svh;padding:8rem var(--gutter) 2rem;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-kicker{display:flex;justify-content:space-between;position:relative;z-index:3;font-family:Sora,Arial,sans-serif;font-size:.62rem;letter-spacing:.09em}
.hero-title{position:relative;z-index:3;align-self:center;font-size:clamp(3.5rem,9.65vw,10.5rem);text-transform:uppercase;line-height:.82;pointer-events:none}
.hero-title span{display:block;transform:translateY(120%);opacity:0;animation:title-in 1.1s var(--ease) forwards}
.hero-title span:nth-child(2){animation-delay:.08s;text-align:center}
.hero-title span:nth-child(3){animation-delay:.16s;text-align:right}
@keyframes title-in{to{transform:none;opacity:1}}
.hero-bottom{position:relative;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}
.hero-bottom>p{width:min(35rem,50vw);font-size:clamp(1.05rem,1.45vw,1.6rem);line-height:1.25}
.round-link{width:7.4rem;height:7.4rem;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:Sora,Arial,sans-serif;font-size:.64rem;line-height:1.35;letter-spacing:.06em;transition:background .35s,color .35s,transform .35s var(--ease)}
.round-link:hover{background:var(--paper);color:var(--ink);transform:rotate(7deg) scale(1.05)}
.round-link.yellow{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.hero-portal{position:absolute;z-index:1;left:50%;top:50%;width:clamp(14rem,27vw,32rem);aspect-ratio:1;transform:translate(-50%,-46%);border-radius:50%;overflow:hidden;isolation:isolate;transition:width .75s var(--ease),border-radius .75s var(--ease)}
.hero-portal::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(23,23,20,.18),rgba(23,23,20,.62))}
.hero-portal:hover{width:min(40vw,42rem);border-radius:2rem}
.hero-portal img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.05);transition:transform 1.1s var(--ease)}
.hero-portal:hover img{transform:scale(1.07)}
.portal-mark{position:absolute;z-index:2;inset:0;display:grid;place-items:center;font-family:Sora,Arial,sans-serif;font-size:clamp(7rem,18vw,21rem);font-weight:800;letter-spacing:-.15em;color:var(--paper);mix-blend-mode:difference;transform:translateX(-.05em)}
.portal-mark span{color:var(--yellow)}
.portal-caption{position:absolute;z-index:3;left:1rem;bottom:1rem;font-family:Sora,Arial,sans-serif;font-size:.56rem;letter-spacing:.08em}
.verb-loop{display:flex;width:max-content;overflow:hidden;background:var(--yellow);color:var(--ink);font-family:Sora,Arial,sans-serif;font-size:clamp(2rem,5.8vw,6rem);font-weight:600;letter-spacing:-.05em;line-height:1;padding:.36em 0;transform:rotate(-1.2deg) scale(1.02);margin:4vw 0}
.verb-loop div{white-space:nowrap;animation:marquee 20s linear infinite;padding-right:.25em}
@keyframes marquee{to{transform:translateX(-100%)}}

.manifesto{min-height:92vh;display:grid;grid-template-columns:1fr 3fr;align-content:center;gap:3rem}
.manifesto>h2{grid-column:1/-1;max-width:12ch}
.manifesto-grid{grid-column:2;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,6vw,7rem);max-width:72rem}
.manifesto-grid p{font-size:clamp(1.2rem,2vw,2rem);line-height:1.3}
.text-link{grid-column:2;margin-top:1rem;width:max-content;border-bottom:1px solid currentColor;padding-bottom:.2rem}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:5rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.section-head>p:last-child,.section-head>a{max-width:34rem;font-size:.83rem}
.featured-work{background:var(--paper);color:var(--ink)}
.featured-work .section-head{border-color:rgba(23,23,20,.2)}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(3.5rem,8vw,9rem) clamp(1rem,2vw,2rem)}
.work-card{grid-column:span 6}
.work-card:nth-child(4n+2),.work-card:nth-child(4n+3){grid-column:span 5}
.work-card:nth-child(4n+2){grid-column-start:2}
.work-card:nth-child(4n+3){grid-column-start:8}
.card-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ink-2)}
.work-card:nth-child(3n+2) .card-media{aspect-ratio:3/4}
.card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 45%,rgba(23,23,20,.48));opacity:0;transition:opacity .45s}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .5s}
.card-media:hover img{transform:scale(1.045);filter:saturate(1.08)}
.card-media:hover::after{opacity:1}
.card-index,.card-open{position:absolute;z-index:2;font-family:Sora,Arial,sans-serif;font-size:.6rem;letter-spacing:.08em;color:var(--paper)}
.card-index{top:1rem;left:1rem}
.card-open{right:1rem;bottom:1rem;text-align:right;opacity:0;transform:translateY(1rem);transition:.4s var(--ease)}
.card-media:hover .card-open{opacity:1;transform:none}
.card-copy{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;padding-top:1rem}
.card-copy h2{font-size:clamp(1.55rem,2.7vw,3.3rem);line-height:1.01;margin-top:.55rem}
.card-copy>p{font-size:.84rem;color:#66665f;align-self:end}
.lighthouse{position:relative;min-height:92vh;background:var(--yellow);color:var(--ink);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:5vw;overflow:hidden}
.lighthouse-disc{position:relative;aspect-ratio:1;border:1px solid rgba(23,23,20,.35);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0,transparent 5.5%,rgba(23,23,20,.15) 5.7%,transparent 6%)}
.lighthouse-disc::before,.lighthouse-disc::after{content:"";position:absolute;background:var(--ink)}
.lighthouse-disc::before{left:50%;top:-6%;bottom:-6%;width:1px}
.lighthouse-disc::after{top:50%;left:-6%;right:-6%;height:1px}
.lighthouse-disc span{position:absolute;width:3.2%;aspect-ratio:1;border-radius:50%;background:var(--ink);left:48.4%;top:48.4%;box-shadow:0 0 0 1rem rgba(23,23,20,.08),0 0 0 3rem rgba(23,23,20,.05)}
.lighthouse-copy h2{font-size:clamp(3.2rem,7vw,8.5rem);margin:.25em 0 .35em}
.lighthouse-copy>p:last-child{font-size:clamp(1.1rem,1.7vw,1.75rem);max-width:37rem}
.experience{background:var(--paper);color:var(--ink)}
.experience .section-head{border-color:rgba(23,23,20,.2)}
.logo-field{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(23,23,20,.2);border-left:1px solid rgba(23,23,20,.2)}
.logo-field figure{aspect-ratio:1.45;display:grid;place-items:center;padding:16%;border-right:1px solid rgba(23,23,20,.2);border-bottom:1px solid rgba(23,23,20,.2)}
.logo-field img{max-height:3.8rem;filter:grayscale(1) contrast(1.3);mix-blend-mode:multiply;transition:filter .25s,transform .25s}
.logo-field figure:hover img{filter:none;transform:scale(1.08)}
.experience-note{width:min(48rem,100%);margin:2rem 0 0 auto;font-size:.9rem;color:#65655e}
.follow{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;min-height:70vh}
.follow h2{max-width:11ch;margin-top:.35em}
.contact-panel{background:var(--ink-2);min-height:78vh;display:grid;align-content:center;grid-template-columns:1fr 2.4fr;gap:2rem}
.contact-panel h2{grid-column:1/-1;font-size:clamp(3.8rem,9.5vw,10.5rem);white-space:nowrap}
.contact-panel>p:not(.eyebrow){grid-column:2;width:min(38rem,100%);font-size:clamp(1.1rem,1.6vw,1.65rem);margin-top:2rem}
.arrow-link{grid-column:2;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid currentColor;padding:.8rem 0;font-family:Sora,Arial,sans-serif;font-size:clamp(1.15rem,2vw,2rem)}
.arrow-link span{font-size:1.4em;transition:transform .3s var(--ease)}
.arrow-link:hover span{transform:translate(.2rem,-.2rem)}

.page-hero{padding-top:11rem;min-height:76vh;display:grid;grid-template-columns:1fr 2.4fr;align-content:end;gap:2rem;border-bottom:1px solid var(--line)}
.page-hero h1{grid-column:1/-1;text-transform:uppercase}
.page-intro{grid-column:2;width:min(49rem,100%);font-size:clamp(1.2rem,2vw,2rem);line-height:1.28;margin-top:2rem}
.work-controls{position:sticky;z-index:30;top:0;background:rgba(23,23,20,.94);backdrop-filter:blur(18px);padding:1.1rem var(--gutter);display:flex;align-items:stretch;justify-content:space-between;border-bottom:1px solid var(--line)}
.filter-set{display:flex;gap:.45rem;overflow:auto;scrollbar-width:none}
.filter-set button{flex:0 0 auto;border:1px solid var(--line);padding:.75rem .9rem;text-align:left;transition:background .25s,color .25s,border-color .25s}
.filter-set button strong,.filter-set button span{display:block}
.filter-set button strong{font-family:Sora,Arial,sans-serif;font-size:.7rem;letter-spacing:.09em}
.filter-set button span{font-size:.57rem;color:var(--muted);margin-top:.2rem}
.filter-set button[aria-pressed="true"],.filter-set button:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.filter-set button[aria-pressed="true"] span,.filter-set button:hover span{color:var(--ink)}
.search-field{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid var(--paper);margin-left:1rem;font-family:Sora,Arial,sans-serif;font-size:.62rem;letter-spacing:.08em}
.search-field input{width:min(19vw,16rem);border:0;outline:0;background:transparent;padding:.6rem 0}
.search-field input::placeholder{color:var(--muted)}
.search-field kbd{border:1px solid var(--line);padding:.15rem .35rem;color:var(--muted)}
.work-index{padding-top:4rem;background:var(--paper);color:var(--ink)}
.work-index .work-grid{margin-top:2rem}
.result-count{font-family:Sora,Arial,sans-serif;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.work-index .work-card[hidden]{display:none}
.empty-state{min-height:40vh;padding-top:5rem;font-size:2rem}

.about-hero{background:var(--paper);color:var(--ink);border-color:rgba(23,23,20,.2)}
.portrait-grid{display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:clamp(2rem,7vw,9rem);background:var(--paper);color:var(--ink);padding-top:0}
.portrait{position:relative;max-height:82rem;overflow:hidden;background:var(--yellow)}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait-copy{padding-bottom:4rem}
.portrait-copy h2{font-size:clamp(2.8rem,5.5vw,6rem);margin:.35em 0}
.portrait-copy>p:not(.eyebrow){font-size:clamp(1.05rem,1.45vw,1.45rem)}
.availability{margin-top:2rem!important;border-top:1px solid rgba(23,23,20,.25);padding-top:1rem;display:flex;gap:.7rem;align-items:flex-start;font-family:Sora,Arial,sans-serif;font-size:.72rem!important}
.availability i{display:block;width:.55rem;height:.55rem;border-radius:50%;background:#1bb66e;box-shadow:0 0 0 .28rem rgba(27,182,110,.15);margin-top:.22em;flex:0 0 auto}
.principles>ol{list-style:none;padding:0;margin:4rem 0 0;border-top:1px solid var(--line)}
.principles li{display:grid;grid-template-columns:.35fr 1.65fr 1fr;gap:2rem;align-items:start;padding:2.2rem 0;border-bottom:1px solid var(--line)}
.principles li>span{font-family:Sora,Arial,sans-serif;font-size:.68rem}
.principles li h2{font-size:clamp(2rem,4vw,4.7rem)}
.principles li p{font-size:.9rem;color:var(--muted);max-width:29rem}
.about-lighthouse{background:var(--paper)}
.yellow-story{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;background:var(--yellow);color:var(--ink)}
.yellow-story h2{margin-top:.3em}
.yellow-story>div:last-child{align-self:end;font-size:clamp(1.1rem,1.6vw,1.6rem)}
.yellow-story>div:last-child p+p{margin-top:1.4em}
.tattoo-link{min-height:60vh;display:grid;grid-template-columns:1fr 2.4fr;align-content:center;gap:2rem}
.tattoo-link h2{grid-column:1/-1;margin:.3em 0}

.contact-hero{min-height:100svh;padding-top:10rem;display:grid;grid-template-columns:1fr 2.4fr;align-content:center;gap:2rem;position:relative;overflow:hidden}
.contact-hero h1{grid-column:1/-1;font-size:clamp(4.6rem,13vw,14rem);text-transform:uppercase;white-space:nowrap}
.contact-grid{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;position:relative;z-index:2}
.contact-grid>p{font-size:clamp(1.15rem,1.7vw,1.7rem)}
.contact-actions{display:flex;flex-direction:column;align-items:stretch}
.contact-actions>a{border-bottom:1px solid var(--line);padding:.85rem 0;font-family:Sora,Arial,sans-serif;font-size:.82rem}
.contact-actions .arrow-link{font-size:1rem}
.contact-hero>.availability{grid-column:2;border-color:var(--line)}
.contact-orbit{position:absolute;right:-8vw;bottom:-19vw;width:50vw;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:1rem;font-family:Sora,Arial,sans-serif;font-size:1rem;animation:orbit 24s linear infinite}
.contact-orbit i{font-style:normal;color:var(--yellow);font-size:8vw}.contact-orbit span:first-child{font-size:8vw;font-weight:800}.contact-orbit span:last-child{letter-spacing:.1em}
@keyframes orbit{to{transform:rotate(360deg)}}

.project-hero{padding-top:11rem;padding-bottom:3rem}
.project-hero h1{font-size:clamp(3.2rem,8vw,9.3rem);max-width:14ch;margin:.35em 0 .5em}
.project-lede{display:grid;grid-template-columns:1.4fr .6fr;gap:2rem;margin-left:25%;margin-bottom:5rem}
.project-lede p{font-size:clamp(1.15rem,1.9vw,1.9rem);line-height:1.28}
.project-lede a{font-family:Sora,Arial,sans-serif;font-size:.64rem;letter-spacing:.08em;justify-self:end;align-self:end}
.project-cover{height:min(74vw,58rem);overflow:hidden;background:var(--ink-2)}
.project-cover img{width:100%;height:100%;object-fit:cover}
.project-facts{padding-top:2rem;padding-bottom:5rem;display:grid;grid-template-columns:2fr 1fr;gap:4rem;border-bottom:1px solid var(--line)}
.project-facts dl{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:0}
.project-facts dt{font-family:Sora,Arial,sans-serif;font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem}
.project-facts dd{margin:0;font-size:.82rem}
.tag-list{display:flex;flex-wrap:wrap;align-content:start;gap:.4rem}
.tag-list span{border:1px solid var(--line);border-radius:10rem;padding:.5rem .7rem;font-family:Sora,Arial,sans-serif;font-size:.55rem;text-transform:uppercase;letter-spacing:.06em}
.project-story{padding-left:max(var(--gutter),16vw);padding-right:max(var(--gutter),16vw)}
.project-story>p,.project-story>ul{width:min(47rem,100%);margin:0 auto 1.3em;font-size:clamp(1.08rem,1.35vw,1.35rem);line-height:1.55}
.project-story h2{width:min(68rem,100%);font-size:clamp(3rem,6.6vw,7rem);margin:2em auto .7em}
.project-story h3{width:min(58rem,100%);margin:2em auto .7em}
.project-story h4{width:min(47rem,100%);font-size:clamp(1.45rem,2.3vw,2.4rem);margin:2.2em auto .8em}
.project-story a{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:.15em}
.project-story ul{padding-left:1.25em}
.project-story li+li{margin-top:.55em}
.project-story blockquote{width:min(68rem,100%);margin:clamp(5rem,10vw,10rem) auto;padding:.2em 0;font-family:Sora,Arial,sans-serif;font-size:clamp(2.4rem,5vw,5.8rem);font-weight:600;line-height:1.02;letter-spacing:-.05em}
.project-story blockquote::before{content:"“";color:var(--yellow)}
.project-image{width:min(92rem,calc(100vw - 2 * var(--gutter)));margin:clamp(5rem,10vw,11rem) 50%;transform:translateX(-50%)}
.project-image img{width:100%;max-height:92vh;object-fit:contain}
.carousel{width:min(92rem,calc(100vw - 2 * var(--gutter)));margin:clamp(5rem,10vw,11rem) 50%;transform:translateX(-50%);display:flex;gap:1rem;overflow:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--yellow) var(--ink-2);padding-bottom:1rem}
.carousel figure{flex:0 0 min(78vw,70rem);scroll-snap-align:center}.carousel img{width:100%;height:min(75vh,50rem);object-fit:contain}
.video{width:min(92rem,calc(100vw - 2 * var(--gutter)));margin:clamp(5rem,10vw,11rem) 50%;transform:translateX(-50%);aspect-ratio:16/9}.video iframe{width:100%;height:100%;border:0}
.share-row{padding-top:2rem;padding-bottom:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:flex-end;gap:2rem;font-family:Sora,Arial,sans-serif;font-size:.64rem;letter-spacing:.08em}
.share-row p{margin-right:auto}
.next-project{min-height:72vh;display:grid;grid-template-columns:1fr 3fr auto;align-items:center;gap:2rem;background:var(--yellow);color:var(--ink)}
.next-project strong{font-family:Sora,Arial,sans-serif;font-size:clamp(2.7rem,7vw,8rem);font-weight:600;letter-spacing:-.055em;line-height:.95}
.next-project>span:last-child{font-size:4rem}

.site-footer{padding:6rem var(--gutter) 2rem;min-height:56vh;display:grid;grid-template-columns:1fr 2fr;align-content:end;gap:2rem;border-top:1px solid var(--line)}
.footer-mark{font-family:Sora,Arial,sans-serif;font-size:clamp(7rem,19vw,21rem);font-weight:800;line-height:.65;letter-spacing:-.18em;transform:translateX(-.05em)}
.footer-mark span{color:var(--yellow)}
.site-footer>p{font-family:Sora,Arial,sans-serif;font-size:clamp(2.4rem,5vw,5.5rem);line-height:.95;letter-spacing:-.05em;align-self:end}
.footer-links{grid-column:2;display:flex;gap:2rem;font-family:Sora,Arial,sans-serif;font-size:.68rem;letter-spacing:.06em}
.footer-meta{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:1rem;margin-top:3rem;font-family:Sora,Arial,sans-serif;font-size:.55rem;letter-spacing:.06em;color:var(--muted)}
.error-page{min-height:100svh;padding-top:12rem}.error-page h1{margin:.4em 0}.error-page>p:not(.eyebrow){font-size:1.4rem}.error-page .arrow-link{width:min(40rem,100%);margin-top:4rem}
.auth-page{min-height:100svh;display:grid;place-items:center;padding:1rem;background:var(--yellow);color:var(--ink)}
.auth-card{width:min(46rem,100%);background:var(--paper);padding:clamp(2rem,6vw,6rem)}
.auth-card .brand{font-size:2.8rem;margin-bottom:5rem}.auth-card .kicker{font-family:Sora,Arial,sans-serif;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.auth-card h1{font-size:clamp(2.6rem,5.5vw,5.5rem);margin:.3em 0 .7em}.auth-card form{display:grid;gap:.8rem}.auth-card label{font-family:Sora,Arial,sans-serif;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.auth-card input{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:1rem 0;outline:0}.auth-card .button{margin-top:1rem;background:var(--ink);color:var(--paper);padding:1rem 1.2rem;font-family:Sora,Arial,sans-serif;font-size:.7rem;letter-spacing:.08em}

.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(2.5rem);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}
.page-wipe{position:fixed;z-index:9999;inset:0;background:var(--yellow);transform:translateY(101%);transition:transform .45s var(--ease);pointer-events:none}
.is-leaving .page-wipe{transform:none}
.pointer{display:none;position:fixed;z-index:9998;left:-.6rem;top:-.6rem;width:1.2rem;height:1.2rem;border:1px solid var(--paper);border-radius:50%;pointer-events:none;mix-blend-mode:difference;transition:width .2s,height .2s,left .2s,top .2s,background .2s}
.pointer.is-active{left:-1.2rem;top:-1.2rem;width:2.4rem;height:2.4rem;background:var(--paper)}
.kabouter{position:fixed;z-index:80;left:-12rem;bottom:-2rem;width:clamp(7rem,12vw,12rem);padding:0;filter:drop-shadow(0 .8rem 1rem rgba(0,0,0,.32));pointer-events:none}
.kabouter img{width:100%}
.kabouter.is-running{display:block!important;pointer-events:auto;animation:gnome-run 8s var(--ease) forwards}
.kabouter.is-caught{animation:gnome-caught .65s var(--ease) forwards}
@keyframes gnome-run{0%{left:-12rem;transform:rotate(8deg)}12%{left:2vw;transform:rotate(-4deg)}25%{left:3vw;transform:rotate(0)}68%{left:3vw;transform:rotate(0)}100%{left:110vw;transform:rotate(10deg)}}
@keyframes gnome-caught{to{transform:translateY(130%) rotate(15deg)}}

@media (pointer:fine){.pointer{display:block}a,button,label,input{cursor:none}}
@media (max-width:860px){
  :root{--gutter:1rem}
  .site-header{height:5rem}.site-header nav{position:fixed;inset:0;background:var(--yellow);color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:7rem 1rem 2rem;gap:0;transform:translateY(-101%);transition:transform .5s var(--ease);mix-blend-mode:normal}.site-header nav a{font-family:Sora,Arial,sans-serif;font-size:clamp(3.3rem,17vw,7rem);font-weight:600;line-height:.95;letter-spacing:-.06em;width:100%;border-bottom:1px solid rgba(23,23,20,.25)}
  .site-header.menu-open{mix-blend-mode:normal;color:var(--ink)}.site-header.menu-open nav{transform:none}.site-header.menu-open .brand{position:relative;z-index:2}.menu-toggle{display:flex;position:relative;z-index:2;align-items:center;gap:.65rem;font-family:Sora,Arial,sans-serif;font-size:.62rem;letter-spacing:.08em}.menu-toggle i,.menu-toggle i::after{display:block;width:1.7rem;height:1px;background:currentColor;content:"";transition:transform .3s}.menu-toggle i::after{transform:translateY(.4rem)}.menu-open .menu-toggle i{transform:rotate(45deg)}.menu-open .menu-toggle i::after{transform:rotate(-90deg)}
  h1{font-size:clamp(3.5rem,17vw,7.5rem)}.section-pad{padding-top:6rem;padding-bottom:6rem}
  .home-hero{padding-top:7rem}.hero-kicker span:last-child{display:none}.hero-title{font-size:clamp(3.35rem,16vw,7rem);line-height:.86}.hero-title span:nth-child(2),.hero-title span:nth-child(3){text-align:left}.hero-portal{width:56vw;top:47%;left:72%;opacity:.8}.hero-portal:hover{width:62vw}.portal-mark{font-size:30vw}.hero-bottom{align-items:flex-end}.hero-bottom>p{width:auto;max-width:70%;font-size:1rem}.round-link{width:6.5rem;height:6.5rem}
  .manifesto{grid-template-columns:1fr}.manifesto>h2,.manifesto-grid,.text-link{grid-column:1}.manifesto-grid{grid-template-columns:1fr}.manifesto-grid p{font-size:1.2rem}
  .section-head{align-items:flex-start;margin-bottom:2.5rem}.section-head>p:last-child{max-width:55%}
  .work-grid{display:block}.work-card{margin-bottom:4.5rem}.card-copy{grid-template-columns:1fr}.card-copy>p{display:none}.work-card:nth-child(odd){width:88%}.work-card:nth-child(even){width:88%;margin-left:auto}.card-open{opacity:1;transform:none}
  .lighthouse{grid-template-columns:1fr;min-height:auto}.lighthouse-disc{width:90%;margin:auto}.logo-field{grid-template-columns:repeat(3,1fr)}.follow{min-height:60vh;align-items:flex-start;flex-direction:column}.contact-panel{grid-template-columns:1fr;min-height:70vh}.contact-panel h2{grid-column:1;font-size:15vw;white-space:normal}.contact-panel>p:not(.eyebrow),.contact-panel .arrow-link{grid-column:1}
  .page-hero{grid-template-columns:1fr;min-height:70vh;padding-top:9rem}.page-hero h1,.page-intro{grid-column:1}.work-controls{top:0;display:block;padding:.75rem 1rem}.filter-set{margin-bottom:.7rem}.search-field{margin:0;width:100%}.search-field input{width:100%}
  .portrait-grid{grid-template-columns:1fr;padding-top:1rem}.portrait-copy{padding:0}.principles li{grid-template-columns:.2fr 1fr}.principles li p{grid-column:2}.yellow-story{grid-template-columns:1fr}.tattoo-link{grid-template-columns:1fr}.tattoo-link h2,.tattoo-link .arrow-link{grid-column:1}
  .contact-hero{display:block;padding-top:10rem}.contact-hero h1{font-size:16vw;margin:.35em 0}.contact-grid{display:block}.contact-grid>p{margin-bottom:3rem}.contact-hero>.availability{margin-top:3rem!important}.contact-orbit{width:80vw;right:-30vw;bottom:-22vw;opacity:.45}
  .project-hero{padding-top:9rem}.project-lede{margin-left:0;grid-template-columns:1fr;margin-bottom:3rem}.project-lede a{justify-self:start}.project-cover{height:72svh}.project-facts{grid-template-columns:1fr}.project-facts dl{grid-template-columns:repeat(2,1fr)}.project-story{padding-left:1rem;padding-right:1rem}.project-story h2{font-size:12vw}.project-story blockquote{font-size:9vw}.project-image,.carousel,.video{width:calc(100vw - 2rem)}.share-row{flex-wrap:wrap}.share-row p{width:100%}.next-project{grid-template-columns:1fr auto}.next-project .eyebrow{grid-column:1/-1}.next-project strong{font-size:11vw}
  .site-footer{grid-template-columns:1fr;min-height:66vh}.site-footer>p,.footer-links{grid-column:1}.footer-meta{flex-direction:column;gap:.5rem}.footer-mark{font-size:36vw}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.js .reveal{opacity:1;transform:none}.hero-title span{opacity:1;transform:none}.verb-loop{transform:none}.contact-orbit{animation:none}.kabouter{display:none!important}}
@media (prefers-contrast:more){:root{--line:rgba(242,241,237,.55)}.eyebrow,.filter-set button span{color:inherit}}
