@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--ink:#171717;--paper:#f3efe7;--lime:#d7ef4a;--coral:#f05b42;--blue:#2269c8;--line:rgba(23,23,23,.18)}*{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}img{display:block;max-width:100%}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:92px;padding:14px 3vw;display:flex;align-items:center;justify-content:space-between;background:rgba(243,239,231,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.2em;font-size:11px}.brand img{width:88px;height:62px;object-fit:cover;mix-blend-mode:multiply}.site-header nav{display:flex;gap:28px;font-size:13px}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--coral);transition:.3s}.site-header nav a:hover:after{width:100%}.menu-toggle{display:none;background:none;border:0}.hero{height:100svh;min-height:720px;position:relative;overflow:hidden}.hero-bg{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.05) 70%),linear-gradient(0deg,rgba(0,0,0,.22),transparent 40%)}.hero-copy{position:absolute;left:7vw;top:50%;transform:translateY(-43%);color:white}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:600}.hero h1,.section-head h2,.visit h2,.contact h2{font-family:'Playfair Display',Georgia,serif;font-weight:500}.hero h1{font-size:clamp(64px,9vw,144px);line-height:.78;letter-spacing:-.055em;margin:32px 0 46px}.hero h1 i,.contact h2 i{color:var(--lime);font-weight:500}.round-link{width:140px;height:140px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:14px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;transition:.3s}.round-link:hover{background:var(--lime);color:var(--ink);border-color:var(--lime);transform:rotate(-5deg)}.round-link span{font-size:20px}.hero-tag{position:absolute;right:4vw;bottom:4vw;color:white;border-left:4px solid var(--lime);padding-left:16px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;line-height:1.7}.manifesto{padding:12vw 7vw;display:grid;grid-template-columns:.5fr 2fr 1.5fr;gap:5vw;align-items:start}.manifesto-mark{font-family:'Playfair Display';font-size:24vw;line-height:.65;color:var(--coral)}.manifesto-text{font-family:'Playfair Display';font-size:clamp(25px,3vw,48px);line-height:1.14}.manifesto-text p:first-child{margin-top:0}.manifesto-text p:last-child{font-family:'DM Sans';font-size:16px;line-height:1.8;max-width:720px}.manifesto-images{display:grid;gap:18px;padding-top:10vw}.manifesto-images img:first-child{width:75%;margin-left:auto}.portfolio-section{padding:8vw 3vw;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:.5fr 2fr 1fr;gap:3vw;align-items:end;margin:0 4vw 6vw}.section-head h2{font-size:clamp(54px,8vw,122px);line-height:.9;margin:0;letter-spacing:-.05em}.section-head>p:last-child{line-height:1.7}.gallery{columns:4 280px;column-gap:18px}.work{margin:0 0 18px;break-inside:avoid;overflow:hidden;background:#ddd}.work-open{display:block;width:100%;padding:0;border:0;background:none;position:relative;cursor:zoom-in}.work img{width:100%;transition:transform .6s ease,filter .6s}.work-overlay{position:absolute;inset:auto 0 0 0;padding:60px 18px 18px;color:white;text-align:left;background:linear-gradient(transparent,rgba(0,0,0,.75));opacity:0;transition:.35s}.work-overlay strong,.work-overlay em{display:block}.work-overlay strong{font-size:16px}.work-overlay em{font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-top:5px}.work:hover img{transform:scale(1.035);filter:saturate(1.12)}.work:hover .work-overlay{opacity:1}.visit{display:grid;grid-template-columns:1.4fr 1fr;min-height:760px;background:var(--blue);color:white}.visit>img{width:100%;height:100%;object-fit:cover}.visit-panel{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}.visit h2{font-size:clamp(62px,8vw,120px);line-height:.85;letter-spacing:-.05em;margin:22px 0}.visit-panel>p:not(.eyebrow){font-size:18px;line-height:1.7;max-width:480px}.visit a{margin-top:25px;text-transform:uppercase;letter-spacing:.15em;font-size:12px;border-bottom:1px solid white;padding-bottom:8px;align-self:flex-start}.contact{padding:10vw 7vw;background:#181818;color:white;display:grid;grid-template-columns:1.1fr 1fr;gap:8vw}.contact-title{grid-column:1/-1}.contact h2{font-size:clamp(60px,9vw,140px);line-height:.86;letter-spacing:-.055em;margin:25px 0}.contact-grid{display:grid;gap:32px}.contact-grid div{border-top:1px solid rgba(255,255,255,.25);padding-top:14px}.contact-grid span,.contact-form label{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#aaa;margin-bottom:10px}.contact-grid a{font-size:25px}.contact-grid p{line-height:1.7}.contact-form{display:grid;gap:22px}.contact-form input,.contact-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.35);color:white;font:inherit;padding:10px 0;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--lime)}.contact-form button{border:0;background:var(--lime);padding:22px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;cursor:pointer;display:flex;justify-content:space-between}.contact-form button span{font-size:20px}footer{padding:30px 4vw;display:flex;align-items:center;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.12em}footer img{width:90px;height:55px;object-fit:cover;mix-blend-mode:multiply}.lightbox{position:fixed;z-index:100;inset:0;background:rgba(15,15,15,.96);display:none;align-items:center;justify-content:center;flex-direction:column;color:white;padding:5vw}.lightbox.open{display:flex}.lightbox img{max-width:88vw;max-height:82vh;object-fit:contain}.lightbox p{margin:16px 0 0}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:none;color:white;font-size:38px;cursor:pointer}.lightbox-close{top:22px;right:28px}.lightbox-prev{left:25px}.lightbox-next{right:25px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:76px}.brand img{width:72px;height:48px}.menu-toggle{display:block;width:38px}.menu-toggle span{display:block;height:1px;background:#111;margin:8px}.site-header nav{position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:30px;display:none;flex-direction:column;font-size:18px}.site-header nav.open{display:flex}.hero{min-height:640px}.hero-copy{left:6vw}.hero h1{font-size:18vw}.hero-tag{display:none}.manifesto{grid-template-columns:1fr;padding:22vw 7vw}.manifesto-mark{font-size:48vw}.manifesto-images{grid-template-columns:1fr 1fr;padding-top:0}.section-head{grid-template-columns:1fr;margin-bottom:12vw}.section-head h2{font-size:17vw}.gallery{columns:2 150px}.visit{grid-template-columns:1fr}.visit>img{height:55vh}.contact{grid-template-columns:1fr;padding:20vw 7vw}.contact h2{font-size:16vw}footer{flex-direction:column;gap:16px;text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
