:root{--paper:#f8f4ee;--ink:#252525;--dune:#e4ddcc;--rule:#c5b49d;--sans:'Red Hat Text',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif}
.work-grid .work:nth-child(3){grid-column:1;grid-row:2}.work-grid .work:nth-child(4){grid-column:2;grid-row:2}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 var(--sans);letter-spacing:0;overflow-wrap:anywhere}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.06;letter-spacing:0}h2{font-size:48px}h3{font-size:30px}a{color:inherit;text-underline-offset:6px}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid currentColor;outline-offset:5px}.wrap{width:calc(100% - 120px);max-width:1320px;margin:auto}.section{padding-block:88px}.top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 60px;min-height:80px}.brand{font-family:Georgia,serif;font-size:34px;text-decoration:none}.top nav{display:flex;gap:32px}.top nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:16px}.top nav a:hover{text-decoration:underline}.menu-toggle{background:none;border:1px solid var(--ink);padding:8px 16px;min-height:44px}.skip:not(:focus){position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.skip:focus{position:absolute;z-index:20;background:var(--paper);padding:12px}
.hero{position:relative;isolation:isolate;overflow:hidden;color:var(--paper);background:var(--ink)}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-frame{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 45%;opacity:0;transition:opacity 1800ms ease;transform:scale(1.02)}.hero-frame.active{opacity:1;animation:drift 11s linear both}.hero-shade{background:rgba(0,0,0,.52)}.hero-content{padding-block:92px 100px}.hero h1{font-size:72px;max-width:18ch}.hero p{margin-top:24px;max-width:45ch;font-size:20px}.actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:32px}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:12px 24px;text-decoration:none;font-size:16px}.light{background:var(--paper);color:var(--ink)}.quiet{font-size:16px;padding-block:14px}.button:hover{background:var(--dune)}.hero-controls{position:absolute;bottom:16px;right:40px;display:flex;align-items:center;gap:16px;font-size:14px}.hero-controls button{min-height:44px;background:var(--ink);color:var(--paper);border:0;padding:8px 16px;font-size:14px}.hero.paused .hero-frame{animation-play-state:paused}.section-title{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:40px}.section-title>a{font-size:16px}.work-grid{display:grid;grid-template-columns:7fr 5fr;gap:56px 32px}.work{display:block;text-decoration:none;min-width:0}.work:nth-child(3){grid-column:2;grid-row:2}.work:nth-child(4){grid-column:1;grid-row:2}.work-image{height:340px;overflow:hidden;background:var(--dune)}.work img{width:100%;height:100%;object-fit:contain;transition:transform 500ms ease}.work:hover img{transform:scale(1.015)}.work:hover h3{text-decoration:underline;text-underline-offset:6px}.work h3{margin-top:20px}.work p{font-size:16px;margin-top:8px}.service{display:grid;grid-template-columns:3fr 5fr auto auto;gap:24px;align-items:center;border-bottom:1px solid var(--rule);padding:28px 0}.service:first-of-type{margin-top:32px;border-top:1px solid var(--rule)}.service p,.service a{font-size:16px}.service a{padding-block:12px}.private{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:center}.private img{width:100%;height:430px;object-fit:contain}.private p{margin-block:24px;max-width:40ch}.private a{display:inline-block;min-height:44px}.studio{background:var(--dune)}.studio>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.studio p{max-width:50ch}.process{background:var(--ink);color:var(--paper)}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:48px}.process-grid p{font-size:16px;margin-top:20px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:72px}.contact a{display:inline-block;font-size:24px;margin:24px 24px 0 0;min-height:44px}footer{background:var(--ink);color:var(--paper);padding-block:32px}footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}footer .wrap>a:not(.brand){font-size:14px;padding:12px 0}
@keyframes drift{from{transform:scale(1.04) translate(-1%,0)}to{transform:scale(1.19) translate(1.5%,-1%)}}@keyframes arrive{from{opacity:.3;transform:translateY(18px)}to{opacity:1;transform:none}}.reveal.enter{animation:arrive 700ms cubic-bezier(.22,1,.36,1) both}
@media(max-width:1100px){.wrap{width:calc(100% - 80px)}.top{padding-inline:40px}.hero h1{font-size:60px}.work-image{height:280px}.service{grid-template-columns:1fr 1fr}.private{gap:40px}.section{padding-block:64px}}
@media(max-width:767px){.wrap{width:calc(100% - 40px)}.top{padding:10px 20px;min-height:64px;flex-wrap:wrap;gap:0}.top .brand{font-size:30px}.top nav{width:100%;flex-direction:column;gap:0;padding-top:12px}.top nav a{padding:8px 0}.hero-content{padding-block:52px 100px}.hero h1{font-size:44px;max-width:14ch}.hero p{font-size:18px;max-width:29ch}.hero-controls{right:20px;bottom:12px}.hero-frame{object-position:58% 50%}.section{padding-block:56px}h2{font-size:36px}h3{font-size:28px}.section-title{display:block;margin-bottom:28px}.section-title>a{display:inline-block;margin-top:16px;min-height:44px;padding-block:10px}.work-grid{display:flex;flex-direction:column;gap:40px}.work-image{height:auto;aspect-ratio:4/3}.service{grid-template-columns:1fr;gap:12px;padding-block:24px}.service a{width:fit-content}.private,.studio>.wrap,.contact{grid-template-columns:1fr;gap:32px}.private img{height:340px}.process-grid{grid-template-columns:1fr;gap:32px}.process-grid p{margin-top:12px}.contact a{display:block;width:fit-content;margin-top:20px}.actions{gap:16px}.button{padding-inline:18px}footer .wrap{flex-wrap:wrap}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:40px}.hero-content{padding-top:36px}.hero p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

footer button{background:transparent;color:inherit;border:1px solid currentColor;min-height:44px;padding:8px 12px;font-size:14px}.hero-frame{will-change:transform}.work-image{background:transparent}
