:root{--ink:#171514;--paper:#f4efe7;--stone:#d8cec0;--muted:#766d63;--accent:#9f6f51;--white:#fffaf2;--max:1180px;--header:74px;--gap:clamp(1rem,3vw,2.5rem);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55;overflow-x:hidden}body.menu-open,body.lightbox-open{overflow:hidden}img{max-width:100%;display:block;background:var(--stone)}a{color:inherit;text-underline-offset:.25em}.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:1rem;z-index:100}.skip:focus{left:1rem}.sr-only{position:absolute;clip:rect(0 0 0 0)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-header{position:sticky;top:0;z-index:50;height:var(--header);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,3rem);background:rgba(244,239,231,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,21,20,.08)}.brand{font-family:var(--serif);font-size:1.25rem;letter-spacing:.18em;text-decoration:none}.menu{display:flex;align-items:center;gap:clamp(.8rem,2vw,1.5rem);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.menu a{text-decoration:none}.ig{color:var(--accent)}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px}.menu-toggle span:not(.sr-only){display:block;height:1px;background:var(--ink);margin:7px}.section{max-width:var(--max);margin:auto;padding:clamp(4.5rem,10vw,9rem) clamp(1rem,4vw,3rem)}.hero{min-height:calc(100vh - var(--header));display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:var(--gap);align-items:center;position:relative}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:700}.hero h1,.section h2{font-family:var(--serif);font-weight:400;line-height:.95;font-size:clamp(3rem,9vw,8.4rem);margin:.2em 0}.section h2{font-size:clamp(2.2rem,5vw,5rem)}.lede{font-size:clamp(1.05rem,2vw,1.35rem);max-width:44rem}.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85rem 1.1rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;transition:.35s var(--ease)}.button:hover{transform:translateY(-2px);background:var(--accent);border-color:var(--accent)}.ghost{background:transparent;color:var(--ink)}.dark .ghost,.instagram .ghost{color:var(--paper);border-color:var(--paper)}.hero-image img{aspect-ratio:3/2;object-fit:cover}.hero-image figcaption{font-size:.85rem;color:var(--muted);margin-top:.8rem}.scroll-cue{position:absolute;bottom:1rem;left:clamp(1rem,4vw,3rem);font-size:.75rem;text-transform:uppercase;letter-spacing:.16em}.section-head{max-width:840px;margin-bottom:3rem}.work-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap);align-items:start}.card{position:relative;border:0;background:transparent;text-align:left;padding:0;color:inherit;cursor:pointer}.card:nth-child(1){grid-column:span 4}.card:nth-child(2){grid-column:span 2;margin-top:5rem}.card:nth-child(3),.card:nth-child(4){grid-column:span 3}.card:nth-child(n+5){grid-column:span 2}.card img{width:100%;height:auto;aspect-ratio:var(--ratio,4/5);object-fit:cover;transition:transform .7s var(--ease)}.card:hover img{transform:scale(1.035)}.meta{display:flex;justify-content:space-between;gap:1rem;margin-top:.8rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.card h3,.service-list h3,.art-grid h3,.process h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,2vw,2rem);margin:.25rem 0}.split{display:grid;grid-template-columns:.75fr 1.25fr;gap:var(--gap)}.sticky-copy{position:sticky;top:calc(var(--header) + 2rem);align-self:start}.tags{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none}.tags li{border:1px solid var(--stone);padding:.45rem .65rem;border-radius:999px;color:var(--muted);font-size:.85rem}.photo-sequence,.ai-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}.photo-sequence .card,.ai-grid .card{grid-column:auto;margin:0}.dark{max-width:none;background:var(--ink);color:var(--paper)}.dark>*{max-width:var(--max);margin-left:auto;margin-right:auto}.dark .meta,.dark p{color:#cfc5b8}.service-note{border-top:1px solid rgba(255,255,255,.2);padding-top:2rem;margin-top:2rem}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--stone)}.service-list article{background:var(--paper);padding:clamp(1.2rem,3vw,2rem);min-height:190px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--gap);align-items:center}.about img{aspect-ratio:4/5;object-fit:cover}.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}.art-grid article{border-top:1px solid var(--stone);padding-top:1rem}.art-grid img{aspect-ratio:4/5;object-fit:cover;margin-bottom:1rem}.art-grid span{display:block;color:var(--accent);margin:.5rem 0}.process ol{counter-reset:item;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);padding:0;list-style:none}.process li{border-top:1px solid var(--ink);padding-top:1rem}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--gap);background:var(--white);max-width:none}.contact>*{max-width:calc(var(--max)/2)}.contact>div{justify-self:end}.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.contact-form label{display:grid;gap:.35rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.contact-form textarea,.contact-form label:has(textarea),.check,.contact-form button,.form-status{grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--stone);background:var(--paper);padding:.85rem;font:inherit;color:var(--ink)}.contact-form textarea{min-height:150px;resize:vertical}.hp{position:absolute;left:-9999px}.error{border-color:#9b2d20!important}.form-status{min-height:1.5rem;color:var(--accent)}.instagram{display:grid;grid-template-columns:.7fr 1.3fr;gap:var(--gap);background:var(--ink);color:var(--paper);max-width:none}.instagram>*{max-width:var(--max)}.insta-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.insta-thumbs img{aspect-ratio:1;object-fit:cover}.footer{display:flex;justify-content:space-between;gap:1rem;padding:2rem clamp(1rem,4vw,3rem);font-size:.85rem;color:var(--muted)}.reveal{opacity:0;transform:translateY(22px);transition:.8s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(10,9,8,.94);color:var(--paper);display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;gap:1rem;padding:1rem}.lightbox[hidden]{display:none}.lightbox figure{margin:0;max-height:92vh;display:grid;justify-items:center}.lightbox img{max-height:82vh;width:auto;object-fit:contain;background:transparent}.lightbox button{min-height:44px;border:1px solid rgba(255,255,255,.35);background:transparent;color:var(--paper)}.lightbox-close{position:absolute;top:1rem;right:1rem}figcaption{text-align:center;margin-top:.8rem}figcaption span{display:block;color:#cfc5b8}@media (max-width:800px){.menu-toggle{display:block}.menu{position:fixed;inset:var(--header) 0 auto 0;min-height:calc(100vh - var(--header));background:var(--paper);display:grid;align-content:center;justify-items:center;gap:1.4rem;font-size:1rem;transform:translateX(100%);transition:.4s var(--ease)}.menu.is-open{transform:none}.hero,.split,.about,.contact,.instagram{grid-template-columns:1fr}.hero{padding-top:2rem}.work-grid,.photo-sequence,.ai-grid,.service-list,.art-grid,.process ol,.insta-thumbs{grid-template-columns:1fr 1fr}.card,.card:nth-child(n){grid-column:auto;margin-top:0}.sticky-copy{position:static}.contact>*{max-width:none}.contact>div{justify-self:stretch}.footer{display:block}.lightbox{grid-template-columns:1fr}.lightbox-prev,.lightbox-next{position:fixed;bottom:1rem}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}}@media (max-width:520px){.work-grid,.photo-sequence,.ai-grid,.service-list,.art-grid,.process ol,.insta-thumbs,.contact-form{grid-template-columns:1fr}.hero h1{font-size:clamp(3rem,18vw,5rem)}.section{padding-left:1rem;padding-right:1rem}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
