@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500&display=swap');
:root{--paper:#f1efe6;--ink:#202b25;--green:#d4e45c;--line:#b9beb0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #d5784e;outline-offset:5px}.skip{position:absolute;top:-100px;left:10px;background:#fff;padding:12px;z-index:10}.skip:focus{top:10px}.header{height:86px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:28px;letter-spacing:-1.8px}.brand span{color:#a9bf38;margin-left:3px}.header nav{display:flex;align-items:center;gap:38px;font-size:13px;font-weight:700}.nav-contact{background:var(--ink);color:#fff;padding:15px 20px;border-radius:2px}.nav-contact span{margin-left:22px}.hero{padding:24px 5% 0;min-height:calc(100svh - 86px);display:flex;flex-direction:column}.hero-meta,.hero-bottom,.section-label,.project-heading{display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;letter-spacing:.14em}.hero-meta i{font-style:normal;color:#a3ba38}.hero-main{display:grid;grid-template-columns:1fr 300px;align-items:end;gap:30px;flex:1;padding:8vh 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;margin:0 0 30px}.dot{display:inline-block;width:8px;height:8px;background:#a2b933;border-radius:50%;margin-right:10px}.hero h1{font-size:clamp(76px,10.7vw,164px);letter-spacing:-.085em;line-height:.89;margin:0;font-weight:600}.hero h1 em,h2 em,.other-work em{font-family:'Playfair Display',Georgia,serif;font-weight:500}.period,.contact h2 span{color:#a5ba39}.hero-aside{padding-bottom:8px}.hero-aside>p{font-size:20px;line-height:1.45;max-width:260px;margin:35px 0}.orbit{width:160px;height:160px;border:1px solid #a5b29f;border-radius:50%;display:grid;place-items:center;position:relative}.orbit:before,.orbit:after{content:'';position:absolute;border:1px solid #a5b29f;border-radius:50%;inset:25px -15px;transform:rotate(45deg)}.orbit:after{transform:rotate(-45deg)}.orbit>span{font-size:55px;color:#a4ba3a}.orbit-label{position:absolute;bottom:-24px;font-size:8px;letter-spacing:.13em;font-weight:700}.text-link{display:inline-flex;gap:40px;font-size:12px;font-weight:700;border-bottom:1px solid;padding:0 0 10px}.hero-bottom{border-top:1px solid var(--line);padding:20px 0}.intro,.projects,.writing,.contact{padding:100px 5%}.intro{background:#e1e5d6;padding-bottom:90px}.section-label{border-top:1px solid currentColor;padding-top:18px}.intro-grid,.writing-head{display:grid;grid-template-columns:1fr 300px;gap:30px;align-items:end;margin-top:100px}.intro h2,.writing h2,.contact h2{font-size:clamp(54px,7.5vw,112px);line-height:.98;letter-spacing:-.065em;margin:0;font-weight:500}.intro-grid>p,.writing-head>p{font-size:18px;line-height:1.5;max-width:310px;margin:0}.projects{padding-top:65px}.project-heading{padding-bottom:22px}.project{display:block;position:relative;overflow:hidden}.featured{background:#26372e;color:#f5f4e9;min-height:530px;display:grid;grid-template-columns:80px 1fr 45%;padding:30px}.project-number{font-size:12px;font-weight:700;display:flex;justify-content:space-between}.project-number>span{display:none}.project-content{align-self:end;position:relative;z-index:1}.project-tags{display:flex;gap:8px;flex-wrap:wrap}.project-tags span{border:1px solid currentColor;border-radius:30px;padding:7px 10px;font-size:9px;font-weight:700;letter-spacing:.1em}.project h3{font-size:clamp(55px,7vw,100px);line-height:1;letter-spacing:-.07em;margin:22px 0}.project h3 span{font-size:26px;margin-left:15px;vertical-align:top}.project p{font-size:16px;line-height:1.5;max-width:340px}.project-art{position:relative;min-height:420px;overflow:hidden}.art-outken{background:#cbdc64}.art-outken:before,.art-outken:after{content:'';position:absolute;border:1px solid #304b35;border-radius:50%;width:70%;aspect-ratio:1;top:15%;left:15%}.art-outken:after{width:48%;top:26%;left:26%;box-shadow:0 0 0 40px #cbdc64,0 0 0 41px #304b35}.cross{position:absolute;z-index:1;background:#304b35;top:49%;left:15%;width:70%;height:1px;transform:rotate(45deg)}.cross-two{transform:rotate(-45deg)}.art-outken>span{position:absolute;bottom:20px;left:20px;color:#304b35;font-size:10px;font-weight:bold;letter-spacing:.15em}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.tile{padding:25px;min-height:650px;display:flex;flex-direction:column}.kineti{background:#d7dacc}.blunted{background:#e5bfa8}.tile-art{flex:1;display:grid;place-items:center;min-height:300px}.kineti-ring{border:1px solid #293a30;width:210px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 30px #d7dacc,0 0 0 31px #293a30,0 0 0 60px #d7dacc,0 0 0 61px #293a30}.kineti-ring span{font-size:80px}.writing-art>div{background:#f5efe5;color:#323d32;padding:25px;width:70%;transform:rotate(-5deg);box-shadow:12px 14px 0 #c99e88}.writing-art small{font-size:8px;letter-spacing:.14em}.writing-art p{font-family:Georgia,serif;font-size:36px;line-height:1.05}.writing-art span{display:block;text-align:right}.other-work{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:100px 0 0}.other-work>div>span,.other-links small{font-size:10px;letter-spacing:.13em;font-weight:700}.other-work p{font-size:38px;letter-spacing:-.05em}.other-links a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0;font-size:35px;letter-spacing:-.05em}.other-links small{display:block;margin-bottom:12px;letter-spacing:.12em}.other-links b{font-size:22px}.writing{background:#dedfcf}.writing-list{margin-top:90px}.writing-list a{display:grid;grid-template-columns:80px 1fr 40px;border-top:1px solid #a9b1a2;padding:28px 0 35px;gap:10px}.writing-list small,.writing-no{font-size:10px;letter-spacing:.12em;font-weight:700}.writing-list strong{display:block;font-size:clamp(32px,4vw,56px);letter-spacing:-.05em;font-weight:500;margin:15px 0}.writing-list em{font-size:15px;font-style:normal}.writing-list b{font-size:24px}.contact{background:#cddd62;min-height:620px}.contact-body{padding-top:100px}.contact-body>p{font-size:10px;font-weight:700;letter-spacing:.15em}.contact h2{margin:25px 0 50px}.contact-body>a{display:inline-flex;gap:70px;border-bottom:1px solid;padding-bottom:12px;font-size:18px;font-weight:700}footer{background:#202b25;color:#f1efe6;padding:50px 5%;display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:30px;align-items:start}footer p,footer nav,.back{font-size:10px;line-height:1.8;letter-spacing:.1em;font-weight:700}footer p{margin:0}footer nav{display:flex;gap:20px;flex-wrap:wrap}.back{white-space:nowrap}a:hover{opacity:.75}.project:hover{opacity:1}.project:hover h3 span,.writing-list a:hover b{display:inline-block;transform:translate(4px,-4px);transition:transform .2s}@media(max-width:760px){.header{height:72px}.header nav{gap:18px}.header nav>a:not(.nav-contact){display:none}.nav-contact{padding:12px}.nav-contact span{margin-left:8px}.hero{min-height:auto}.hero-meta span:last-child{display:none}.hero-main{display:block;padding:90px 0 55px}.hero h1{font-size:clamp(68px,13vw,110px)}.hero-aside{display:flex;align-items:end;gap:25px;margin-top:55px;flex-wrap:wrap}.orbit{width:100px;height:100px}.orbit>span{font-size:35px}.orbit-label{display:none}.hero-aside>p{font-size:17px;margin:0;max-width:220px}.text-link{margin-top:15px}.hero-bottom{font-size:8px}.intro,.projects,.writing,.contact{padding:70px 5%}.intro-grid,.writing-head{grid-template-columns:1fr;margin-top:65px;gap:25px}.intro h2,.writing h2,.contact h2{font-size:clamp(51px,10vw,80px)}.intro-grid>p,.writing-head>p{font-size:16px}.featured{grid-template-columns:1fr;min-height:0;padding:20px}.featured .project-number{margin-bottom:20px}.featured .project-content{order:3;margin-top:35px}.project-number>span{display:block}.project-art{min-height:310px;order:2}.project-grid{grid-template-columns:1fr}.tile{min-height:560px}.tile-art{min-height:280px}.other-work{grid-template-columns:1fr;padding-top:70px}.other-work p{font-size:32px}.writing-list{margin-top:60px}.writing-list a{grid-template-columns:32px 1fr 25px}.writing-list strong{font-size:32px}.contact{min-height:500px}.contact-body{padding-top:80px}footer{grid-template-columns:1fr 1fr}footer nav{grid-column:1/-1}.back{grid-column:1/-1}}@media(max-width:380px){.hero h1{font-size:62px}.hero-bottom span:first-child{max-width:150px}.project-art{min-height:240px}.kineti-ring{width:150px}.writing-art>div{width:85%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Flexible layout and interaction refinements */
:root{--gutter:clamp(1.25rem,5vw,5rem);--ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-padding-top:1.5rem}
body{overflow-wrap:anywhere}
.header,.hero,.intro,.projects,.writing,.contact,footer{padding-left:var(--gutter);padding-right:var(--gutter)}
.header nav a,.hero-bottom a,.text-link,.contact-body>a,footer a,.other-links a,.writing-list a{transition:color .22s var(--ease),background-color .22s var(--ease),border-color .22s var(--ease),opacity .22s var(--ease)}
a:hover{opacity:1}.header nav a:not(.nav-contact):hover,.hero-bottom a:hover,footer nav a:hover,.back:hover{color:#627510}
.nav-contact:hover{background:#425346;color:#fff}.text-link:hover,.contact-body>a:hover{color:#52630a;border-color:#52630a}
a:focus-visible{outline:3px solid #9a4d28;outline-offset:5px;border-radius:2px}
.project,.writing-list a,.other-links a{isolation:isolate}.project:after,.writing-list a:after,.other-links a:after{content:'';position:absolute;inset:0;background:currentColor;opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}
.project:hover:after,.project:focus-visible:after{opacity:.035}.writing-list a,.other-links a{position:relative}.writing-list a:hover:after,.other-links a:hover:after{opacity:.035}
.project h3 span,.writing-list b,.other-links b,.text-link span,.contact-body>a span{display:inline-block;transition:transform .25s var(--ease)}
.project:hover h3 span,.project:focus-visible h3 span,.writing-list a:hover b,.writing-list a:focus-visible b,.other-links a:hover b,.other-links a:focus-visible b,.contact-body>a:hover span,.contact-body>a:focus-visible span{transform:translate(4px,-4px)}
.text-link:hover span,.text-link:focus-visible span{transform:translate(4px,4px)}
.hero-main,.intro-grid,.writing-head,.featured,.project-grid,.other-work,footer{min-width:0}.hero-main>*,.intro-grid>*,.writing-head>*,.featured>*,.project-grid>*,.other-work>*,footer>*{min-width:0}
.hero h1,.intro h2,.writing h2,.contact h2,.project h3,.other-links a,.writing-list strong{overflow-wrap:break-word}
.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr))}.project-content{width:100%}.project h3{display:flex;align-items:flex-start;gap:.12em}.project h3 span{flex:none;margin-left:0}
.tile{height:auto}.project-tags span{line-height:1.3}.project p{max-width:40ch}.other-links a span,.writing-list a>span:nth-child(2){min-width:0}.writing-list em{display:block;line-height:1.5;max-width:65ch}
.section-label,.project-heading,.hero-meta,.hero-bottom{line-height:1.5}.contact-body>a{max-width:100%;gap:clamp(1rem,5vw,4rem)}
@media(max-width:760px){
 .header{height:auto;min-height:72px;gap:1rem;align-items:center;flex-wrap:wrap;padding-top:1rem;padding-bottom:1rem}
 .header nav{display:flex;gap:clamp(.7rem,3vw,1.2rem);flex-wrap:wrap;justify-content:flex-end}
 .header nav>a:not(.nav-contact){display:inline-flex;align-items:center;min-height:44px}
 .nav-contact{min-height:44px;display:inline-flex;align-items:center}
 .hero-main{padding-top:clamp(4rem,12vw,6rem)}
 .hero h1{font-size:clamp(3.55rem,12.7vw,6.875rem)}
 .intro-grid,.writing-head,.other-work{grid-template-columns:minmax(0,1fr)}
 .featured{grid-template-columns:minmax(0,1fr)}
 .project-art{width:100%}.project-grid{grid-template-columns:minmax(0,1fr)}
 .writing-list a{grid-template-columns:2rem minmax(0,1fr) 1.5rem}
 footer{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
 .header{align-items:flex-start}.header nav{width:100%;justify-content:space-between}.brand{line-height:1.2}
 .hero h1{font-size:clamp(3rem,12.7vw,3.95rem)}
 .hero-bottom,.section-label,.project-heading{font-size:9px;gap:.75rem}.section-label span:last-child,.project-heading span:last-child{text-align:right}
 .intro h2,.writing h2,.contact h2{font-size:clamp(2.8rem,10vw,3.5rem)}
 .project h3{font-size:clamp(3rem,12vw,4.25rem)}
 .writing-art>div{width:min(85%,19rem)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Responsive review: protect the artwork's breathing room and touch targets. */
.kineti .tile-art{min-height:370px;padding:70px 0}
footer nav a,.back{display:inline-flex;align-items:center;min-height:44px}
footer nav{column-gap:20px;row-gap:0}
@media (min-width:761px) and (max-width:900px){
 .hero{min-height:0}
 .hero-main{padding:clamp(5rem,12vw,7rem) 0}
}
@media (max-width:420px){
 .kineti .tile-art{min-height:320px;padding:70px 0}
}

/* The skip link moves keyboard focus to the start of the main content. */
main:focus { outline: none; }
