:root{--paper:#f0efe9;--ink:#191a18;--accent:#d3fa76;--line:#cecec5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #689932;outline-offset:6px}.skip{position:fixed;top:-100px;padding:15px;background:var(--paper);z-index:10}.skip:focus{top:0}header{height:100px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;background:var(--paper)}.logo{font-size:12px;line-height:1;letter-spacing:3px}.logo strong{font-size:28px;letter-spacing:-1.2px}.logo span{font-size:12px;vertical-align:top;margin-left:3px}nav{display:flex;gap:38px;font-size:13px;font-weight:600}nav a:last-child{border-bottom:1px solid;padding-bottom:8px}nav a span{margin-left:25px}.hero{position:relative;min-height:720px;height:calc(100svh - 100px);max-height:1050px;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.19)),linear-gradient(0deg,rgba(0,0,0,.6),transparent 45%),url('assets/studio.jpg') center 55%/cover;color:#fff;padding:38px 5% 28px;display:flex;flex-direction:column}.hero-top,.image-caption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.8px}.hero-top{border-top:1px solid #ffffff65;padding-top:18px}.hero h1{font-size:clamp(64px,7.7vw,118px);line-height:1.13;letter-spacing:-.065em;font-weight:500;margin:65px 0 30px}.dot{color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:auto}.hero-bottom p{font-size:17px;line-height:1.9;color:#f3f3ef}.round-link{display:grid;place-items:center;width:70px;height:70px;border:1px solid #ffffff88;border-radius:50%;font-size:32px;transition:background .2s}.round-link:hover{background:#ffffff25}.image-caption{margin-top:45px;color:#d6d6cd;font-size:9px}.section{padding:105px 5%;scroll-margin-top:20px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600}.section-head{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:25px;align-items:start;margin-bottom:65px}h2{font-size:clamp(32px,3.3vw,52px);font-weight:500;letter-spacing:-.06em;line-height:1.35;margin:0}p{line-height:1.85}.section-head p{font-size:13px;margin:7px 0;color:#64665e;word-break:keep-all}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.projects article{min-height:330px;padding:27px;background:#222620;color:var(--paper);display:flex;flex-direction:column}.projects article:nth-child(2){background:#dce1d3;color:#24291f}.projects article:nth-child(3){background:#b6b9af;color:#24291f}.number{display:flex;justify-content:space-between;font-size:12px}.number span{font-size:9px;letter-spacing:1px}.projects h3{font-size:clamp(23px,3vw,48px);letter-spacing:-1.5px;font-weight:500;line-height:1.05;margin:55px 0 45px}.project-bottom{margin-top:auto;border-top:1px solid #7a7f7060;padding-top:12px;font-size:11px}.project-bottom p{margin:0}.project-bottom>span{font-size:10px;opacity:.7}.work-links{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding-top:28px;font-size:12px}.work-links p{margin-right:auto;color:#62655b}.text-link{border-bottom:1px solid;padding-bottom:6px}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%;}.about h2{margin-top:44px}.about-copy{max-width:540px}.about-copy .lead{font-size:26px;color:var(--ink);line-height:1.6;margin-top:0;letter-spacing:-1px}.about-copy p{font-size:14px;color:#606257;word-break:keep-all}.timeline{margin-top:35px}.timeline div{border-top:1px solid var(--line);padding:15px 0;display:flex;gap:40px;font-size:12px}.timeline b{font-weight:500}.about-copy .director{font-size:10px;letter-spacing:2px;margin-top:25px}.services{background:#e7e7df}.service{display:grid;grid-template-columns:1fr 1fr 40px;gap:20px;align-items:center;border-bottom:1px solid #c2c5b8;padding:30px 0}.service:first-of-type{margin-top:35px}.service h3{font-size:clamp(24px,3vw,42px);font-weight:400;letter-spacing:-1px;margin:0}.service p{font-size:13px;color:#62665a}.service>span{font-size:10px;text-align:right}.wedding:hover h3{color:#5b702d}.contact{background:#1b1e19;color:var(--paper)}.contact .eyebrow{color:var(--accent)}.contact h2{font-size:clamp(40px,5.4vw,80px);margin:45px 0 35px}.email{font-size:clamp(17px,3vw,38px);letter-spacing:-.04em;border-bottom:1px solid #929a82;padding-bottom:8px;display:inline-block}.contact p{font-size:13px;color:#b6bbad;margin-top:30px}footer{padding:40px 5%;display:flex;align-items:start;justify-content:space-between;gap:30px;font-size:9px}footer p{margin:0;color:#62655c}.footer-logo{font-size:15px;letter-spacing:-.5px;font-weight:bold}footer>span{font-size:9px;white-space:nowrap}@media(min-width:1600px){header,.section,footer{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}@media(max-width:760px){header{height:80px}nav{gap:18px;font-size:11px}nav a span{margin-left:4px}.logo strong{font-size:24px}.hero{height:calc(90svh - 80px);min-height:620px;padding-top:25px}.hero-top{font-size:8px;letter-spacing:1px}.hero-top span:last-child{display:none}.hero h1{font-size:clamp(54px,11vw,80px);margin-top:80px}.hero-bottom p{font-size:13px}.round-link{width:50px;height:50px}.image-caption{font-size:8px;letter-spacing:1px}.section{padding:70px 6%}.section-head{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.section-head h2{font-size:37px}.projects{grid-template-columns:1fr}.projects article{min-height:280px}.projects h3{font-size:42px;margin:35px 0}.work-links{gap:20px}.work-links p{width:100%;margin-bottom:0}.about{grid-template-columns:1fr;gap:30px}.about h2{margin-top:25px}.about-copy .lead{font-size:22px}.service{grid-template-columns:1fr 20px;gap:8px;padding:25px 0}.service p{grid-row:2;margin:0;font-size:12px}.service>span{grid-column:2;grid-row:1}.contact h2{font-size:42px}.contact .email{font-size:clamp(15px,5.2vw,32px)}footer{flex-direction:column;gap:20px;padding:35px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:600px){header{gap:12px;flex-wrap:wrap}header nav{gap:14px;flex-wrap:wrap}header nav a{font-size:12px}}
