@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--ink:#171813;--paper:#f2eee5;--cream:#fbf8f1;--sage:#7e8972;--gold:#b89b64;--line:rgba(23,24,19,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.nav{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;color:#fff}.brand{font-family:"Libre Caslon Display",serif;text-transform:uppercase;font-size:1.25rem;letter-spacing:.08em}.navlinks{display:flex;align-items:center;gap:2rem;font-size:.82rem}.nav-cta,.button{padding:.9rem 1.35rem;border-radius:100px;font-weight:600;border:1px solid transparent}.nav-cta{background:#fff;color:var(--ink);margin-left:.5rem}.menu{display:none;background:none;color:inherit;border:1px solid currentColor;border-radius:100px;padding:.5rem .9rem}.hero{height:min(900px,100vh);min-height:720px;position:relative;color:#fff;overflow:hidden;background:#222}.hero-art{position:absolute;inset:0;background-image:url("https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=2200&q=88");background-size:cover;background-position:center;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,9,.82) 0%,rgba(10,12,9,.5) 45%,rgba(10,12,9,.2) 75%),linear-gradient(0deg,rgba(10,12,9,.55),transparent 45%)}.hero-content{position:absolute;left:8.5vw;bottom:12%;max-width:850px}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.25em;font-size:.68rem;font-weight:600}.hero h1,.section-heading h2,.work h2,.process h2,.faq h2,.contact h2,.intro h2{font-family:"Libre Caslon Display",serif;font-weight:400;letter-spacing:-.03em;margin:.8rem 0;line-height:.92}.hero h1{font-size:clamp(4.2rem,7.5vw,8rem)}em{font-weight:400}.hero-copy{max-width:640px;font-size:1.02rem;line-height:1.5;color:rgba(255,255,255,.84)}.hero-actions{display:flex;align-items:center;gap:1.6rem;margin-top:1.7rem}.light{background:#fff;color:var(--ink)}.text-link{padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.55)}.hero-note{position:absolute;right:4vw;bottom:4vw;display:flex;gap:1.5rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.18em}.intro{padding:9rem 8vw;display:grid;grid-template-columns:1fr 2.2fr;gap:4rem}.intro h2{font-size:clamp(3.4rem,6vw,6.2rem)}.intro div p{max-width:650px;font-size:1.2rem;line-height:1.7}.services{background:var(--ink);color:var(--cream);padding:8rem 8vw}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:5rem}.section-heading h2,.work h2,.process h2,.faq h2,.contact h2{font-size:clamp(3.2rem,5.6vw,6rem)}.service{display:grid;grid-template-columns:70px 1fr 1.35fr 35px;gap:2rem;align-items:center;padding:2rem 0;border-top:1px solid rgba(255,255,255,.18)}.service:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.service>span{color:var(--gold);font-size:.72rem}.service h3{font-family:"Libre Caslon Display",serif;font-size:2rem;font-weight:400;margin:0}.service p{color:rgba(255,255,255,.65);line-height:1.6;margin:0}.service b{font-size:1.4rem;font-weight:400}.work{padding:9rem 8vw}.work-lead{display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:3rem;align-items:end;margin-bottom:4rem}.work-lead p:last-child{line-height:1.7}.gallery{display:grid;grid-template-columns:1.35fr .8fr;grid-template-rows:380px 380px;gap:1rem}.shot{margin:0;position:relative;background-size:cover;background-position:center;overflow:hidden}.shot:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}.shot-one{grid-row:1/3;background-image:url("https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=1400&q=85")}.shot-two{background-image:url("https://images.unsplash.com/photo-1507504031003-b417219a0fde?auto=format&fit=crop&w=1200&q=85")}.shot-three{background-image:url("https://images.unsplash.com/photo-1530103862676-de8c9debad1d?auto=format&fit=crop&w=1200&q=85")}.shot figcaption{position:absolute;z-index:2;bottom:1.5rem;left:1.5rem;color:#fff;display:flex;flex-direction:column}.shot figcaption span{font-family:"Libre Caslon Display",serif;font-size:1.5rem}.shot figcaption small{text-transform:uppercase;letter-spacing:.18em;margin-top:.4rem}.process{background:#d8d2c4;padding:8rem 8vw}.process-title{display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:4rem}.process-title p{line-height:1.7}.process ol{list-style:none;padding:5rem 0 0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.process li{border-top:1px solid var(--ink);padding-top:1rem;display:grid;grid-template-columns:45px 1fr}.process li>span{font-size:.7rem}.process h3{font-family:"Libre Caslon Display",serif;font-size:2rem;margin:0 0 .7rem}.process li p{line-height:1.6}.testimonial{background:var(--sage);color:#fff;text-align:center;padding:8rem 15vw}.quote-mark{font-family:serif;font-size:5rem;margin:0;height:60px;color:#d7d1ad}.testimonial blockquote{font-family:"Libre Caslon Display",serif;font-size:clamp(2.6rem,4.5vw,4.8rem);line-height:1.1;margin:1rem auto;max-width:1100px}.attribution{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;margin-top:2rem}.faq{padding:9rem 8vw;display:grid;grid-template-columns:1fr 1.25fr;gap:8vw}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item button{width:100%;border:0;background:none;padding:1.6rem 0;display:flex;justify-content:space-between;text-align:left;font-weight:600}.faq-item button b{font-size:1.5rem;font-weight:400}.faq-item p{line-height:1.7;max-height:0;overflow:hidden;margin:0;transition:.35s ease;color:#555}.faq-item.open p{max-height:180px;padding:0 3rem 1.5rem 0}.contact{background:var(--cream);padding:8rem 8vw}.contact-top{display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:3rem;align-items:end;margin-bottom:4rem}.contact-top p:last-child{line-height:1.7}form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem 2.5rem;padding-top:2rem;border-top:1px solid var(--line)}label{display:flex;flex-direction:column;gap:.5rem}label>span{text-transform:uppercase;letter-spacing:.16em;font-size:.65rem;font-weight:600}input,select,textarea{width:100%;border:0;border-bottom:1px solid var(--line);padding:.8rem 0;background:transparent;color:var(--ink);outline:none}textarea{resize:vertical}.full,.form-end{grid-column:1/-1}.form-end{display:flex;justify-content:space-between;align-items:center;gap:2rem}.form-end p{color:#666;font-size:.8rem}.dark{background:var(--ink);color:#fff;cursor:pointer}footer{background:var(--ink);color:#fff;padding:4rem 8vw;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end}footer>p{color:rgba(255,255,255,.6);text-align:right}footer>div{display:flex;gap:1.5rem;font-size:.8rem}footer small{text-align:right;color:rgba(255,255,255,.5)}@media(max-width:900px){.nav{height:72px}.menu{display:block}.navlinks{display:none;position:absolute;top:70px;left:5vw;right:5vw;padding:1.5rem;background:var(--ink);flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.nav-cta{text-align:center;margin:0}.hero-content{left:6vw;right:6vw}.hero h1{font-size:clamp(3.5rem,14vw,5.5rem)}.hero-note{display:none}.intro,.faq{grid-template-columns:1fr;padding:6rem 6vw}.section-heading,.work-lead,.contact-top,.process-title{display:block}.section-heading h2{margin-top:2rem}.services,.work,.process,.contact{padding:6rem 6vw}.service{grid-template-columns:40px 1fr 30px}.service p{grid-column:2/3}.gallery{display:block}.shot{height:460px;margin-bottom:1rem}.process ol{grid-template-columns:1fr}.contact-top h2{margin:2rem 0}.testimonial{padding:6rem 7vw}}@media(max-width:600px){.hero{min-height:760px}.hero-copy{font-size:.92rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:.5rem}.intro{padding-top:5rem}.intro h2{font-size:3.2rem}.service h3{font-size:1.6rem}.gallery .shot{height:360px}form{grid-template-columns:1fr}.full,.form-end{grid-column:auto}.form-end{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr}footer>p,footer small{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
