:root{--ink:#25302c;--paper:#f5f1e9;--blue:#b9cbd0;--olive:#bdc6aa;--line:rgba(37,48,44,.2);--serif:"Prata",serif;--sans:"Manrope",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}a{color:inherit;text-decoration:none}.header{height:92px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{font-family:var(--serif);font-size:26px;letter-spacing:.12em}.brand small{font-family:var(--sans);font-size:9px;letter-spacing:.06em;display:block;margin-top:2px}.header nav{display:flex;gap:32px;font-size:13px}.header nav a:hover,.socials a:hover{text-decoration:underline}.menu-button{display:none;background:none;border:0;color:inherit}.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:42% 58%;position:relative}.hero-copy{padding:10vh 4vw;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:500}.hero h1,.section h2,.manifesto p{font-family:var(--serif);font-weight:400}.hero h1{font-size:clamp(48px,6.1vw,100px);line-height:1.04;margin:25px 0}.hero em,.contact em{font-weight:400;color:#647c78}.lead{font-size:15px;line-height:1.7;max-width:460px;margin-bottom:35px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 28px;border:1px solid var(--ink);font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:transparent;color:inherit;cursor:pointer}.button:hover{background:var(--ink);color:var(--paper)}.placeholder{background:linear-gradient(145deg,var(--blue),#d9ddd4 56%,var(--olive));display:grid;place-items:center;overflow:hidden}.placeholder span{text-transform:uppercase;letter-spacing:.18em;font-size:9px;opacity:.65}.hero-photo{min-height:720px}.hero-note{position:absolute;bottom:24px;left:4vw;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.manifesto{padding:14vh 5vw;text-align:center;background:white}.manifesto p{font-size:clamp(28px,4vw,58px);line-height:1.3;margin:0 0 25px}.manifesto span{font-size:11px;letter-spacing:.1em}.section{padding:12vh 6vw}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:65px}.section-heading h2{font-size:clamp(36px,4vw,64px);line-height:1.18;margin:0;max-width:760px}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:270px;gap:14px}.gallery .tall{grid-row:span 2}.gallery .wide{grid-column:span 2}.portfolio-caption{text-align:center;font-size:11px;margin-top:25px;opacity:.65}.about{background:#dbe2df;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.about-photo{aspect-ratio:4/5}.about-copy h2{font-size:clamp(34px,4vw,60px);line-height:1.2;margin:20px 0 36px}.about-copy>p{line-height:1.8;max-width:580px}.about blockquote{font-family:var(--serif);font-size:20px;line-height:1.5;margin:45px 0 0;border-left:1px solid;padding-left:22px}.service-list{border-top:1px solid var(--line)}.service-card{display:grid;grid-template-columns:70px 1fr 1.5fr 1fr;gap:35px;align-items:start;padding:38px 0;border-bottom:1px solid var(--line)}.service-card h3{font-family:var(--serif);font-size:24px;font-weight:400;margin:0}.service-card p{font-size:13px;line-height:1.7;margin:0}.service-number{opacity:.5}.service-card div{display:flex;flex-direction:column;gap:12px}.service-card strong{font-family:var(--serif);font-size:17px;font-weight:400}.included{max-width:800px;font-family:var(--serif);font-size:19px;line-height:1.7;margin:55px auto 0;text-align:center}.process{background:white}.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:100px 1fr;padding:28px 0;border-bottom:1px solid var(--line)}.process li>span{font-size:11px;opacity:.55}.process h3{font-family:var(--serif);font-weight:400;font-size:22px;margin:0 0 8px}.process li p{margin:0;max-width:580px;line-height:1.7}.guarantees{display:grid;grid-template-columns:repeat(4,1fr);background:var(--olive);padding:40px 5vw;gap:25px;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:#c7d4d4}.contact h2{font-size:clamp(44px,6vw,86px);line-height:1.08;margin:25px 0}.contact-copy>p{line-height:1.7;max-width:430px}.socials{display:flex;gap:20px;flex-wrap:wrap;margin-top:35px;font-size:12px}.lead-form{align-self:center}.lead-form label:not(.consent){display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:30px}.lead-form label>span{float:right;text-transform:none;letter-spacing:0;opacity:.55}.lead-form input[type=text],.lead-form input[type=url],.lead-form textarea{font:300 16px var(--sans);width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;outline:none;resize:vertical}.lead-form textarea{min-height:85px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.5;margin:10px 0 25px}.consent a{text-decoration:underline}.errorlist{font-size:11px;color:#8b3232}.success{padding:14px;border:1px solid var(--ink)}footer{padding:50px 4vw;display:flex;justify-content:space-between;align-items:center;font-size:11px}footer p{margin:0}@media(max-width:800px){.header{height:74px}.menu-button{display:block}.header nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--paper);padding:28px 5vw;flex-direction:column;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:70px 6vw 55px}.hero-photo{min-height:72vh;order:-1}.hero-note{display:none}.manifesto{padding:90px 7vw}.section{padding:85px 6vw}.section-heading{display:block;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:20px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:210px}.gallery .wide{grid-column:span 2}.about,.contact{grid-template-columns:1fr;gap:55px}.service-card{grid-template-columns:35px 1fr}.service-card>p:not(.service-number),.service-card>div{grid-column:2}.guarantees{grid-template-columns:1fr 1fr}.process li{grid-template-columns:55px 1fr}footer{align-items:flex-start;gap:25px;flex-direction:column}}@media(max-width:480px){.hero h1{font-size:48px}.gallery{grid-template-columns:1fr;grid-auto-rows:320px}.gallery .wide{grid-column:auto}.gallery .tall{grid-row:auto}.guarantees{grid-template-columns:1fr}.service-card{gap:16px}.contact h2{font-size:46px}}

