@font-face{font-family:"Instrument Serif";src:url("/assets/fonts/instrument-serif-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/assets/fonts/instrument-serif-latin-400-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url("/assets/fonts/manrope-latin-wght-normal.woff2") format("woff2-variations");font-style:normal;font-weight:200 800;font-display:swap}
:root{--ink:#111;--paper:#f2f0e9;--white:#fff;--muted:#77756f;--line:#cbc8be;--yellow:#f0d200;--max:1320px;--pad:clamp(20px,4vw,64px);--serif:"Instrument Serif",Georgia,serif;--sans:Manrope,Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(100% - (var(--pad) * 2),var(--max));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;left:16px;top:12px;padding:10px 16px;background:var(--yellow);transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:100;inset:0 0 auto;background:rgba(242,240,233,.86);border-bottom:1px solid transparent;backdrop-filter:blur(14px);transition:border-color .25s,background .25s}
.site-header.scrolled{border-color:var(--line);background:rgba(242,240,233,.96)}
.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;gap:12px;font-size:.76rem;font-weight:800;letter-spacing:.15em;white-space:nowrap}
.brand img{border-radius:50%;width:48px;height:48px}
.site-nav{display:flex;align-items:center;gap:clamp(20px,2.6vw,44px);font-size:.79rem;font-weight:600;letter-spacing:.03em}
.site-nav a{position:relative;padding-block:10px}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--ink);transition:right .25s}
.site-nav a:hover::after,.site-nav a:focus-visible::after{right:0}
.nav-cta{padding:12px 18px!important;border:1px solid var(--ink);transition:background .2s,color .2s}
.nav-cta:hover,.nav-cta:focus-visible{background:var(--ink);color:var(--white)}
.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;padding:10px;cursor:pointer}
.menu-toggle span:not(.sr-only){display:block;height:1px;background:var(--ink);margin:7px 0;transition:transform .25s}
.hero{position:relative;min-height:100svh;padding-top:82px;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-grid{min-height:calc(100svh - 82px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);align-items:center;gap:clamp(40px,6vw,100px);padding-block:clamp(72px,9vw,132px)}
.eyebrow,.section-kicker{display:flex;align-items:center;gap:16px;text-transform:uppercase;font-size:.69rem;font-weight:700;letter-spacing:.18em}
.eyebrow span,.section-kicker span{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;letter-spacing:0;font-size:.65rem}
.eyebrow{margin:0 0 32px}
.hero h1{margin:0;max-width:850px;font-family:var(--serif);font-size:clamp(4.15rem,7.2vw,8.6rem);font-weight:400;line-height:.83;letter-spacing:-.062em}
.hero h1 em{font-weight:400;color:transparent;-webkit-text-stroke:1px var(--ink)}
.hero-lead{max-width:640px;margin:38px 0 0;padding-left:clamp(0px,7vw,118px);font-size:clamp(1rem,1.3vw,1.2rem);color:#3e3d39}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin:38px 0 0;padding-left:clamp(0px,7vw,118px)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:14px 22px;font-size:.76rem;font-weight:700;letter-spacing:.04em;transition:transform .2s,background .2s,color .2s}
.button:hover,.button:focus-visible{transform:translateY(-2px)}
.button-dark{background:var(--ink);color:var(--white)}
.button-dark:hover{background:#2a2926}
.button-light{border:1px solid var(--white);color:var(--white)}
.button-light:hover{background:var(--white);color:var(--ink)}
.button-yellow{background:var(--yellow);color:var(--ink)}
.button-yellow:hover{background:#ffe300}
.text-link{font-size:.78rem;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}
.hero-location{display:flex;gap:24px;margin-top:70px;padding-left:clamp(0px,7vw,118px);font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}
.hero-visual{position:relative;min-height:630px;background:#e9e6dd;border:1px solid var(--line)}
.hero-visual>img{width:100%;height:100%;min-height:630px;object-fit:cover}
.plan-note{position:absolute;display:flex;gap:6px;flex-direction:column;font-size:.58rem;text-transform:uppercase;letter-spacing:.12em}
.plan-note b{font-size:.7rem}.plan-note-a{left:9%;top:8%}.plan-note-b{right:8%;bottom:8%;text-align:right}
.hero-stamp{position:absolute;right:-28px;top:42%;display:grid;place-items:center;width:110px;height:110px;border-radius:50%;background:var(--yellow);font-family:var(--serif);font-size:1rem;line-height:1.05;text-align:center;transform:rotate(8deg)}
.hero-index{position:absolute;bottom:16px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:.62rem;font-weight:700;letter-spacing:.2em;color:#95938d}
.section{padding-block:clamp(90px,11vw,170px)}
.intro-grid{display:grid;grid-template-columns:.55fr 1.4fr .65fr;gap:clamp(32px,5vw,90px);align-items:start}
.section-kicker{align-items:center}.section-kicker p{margin:0}.intro-copy h2,.section-heading h2,.process-content>h2,.contact-copy h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.98}
.intro-copy h2{margin:0 0 44px;font-size:clamp(2.9rem,5vw,6rem)}
.intro-copy>p{max-width:760px;margin:0 0 20px;font-size:clamp(1rem,1.2vw,1.17rem);color:#4d4b46}
.intro-manifesto{margin-top:120px;padding:28px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.intro-manifesto p{margin:0 0 26px;font-family:var(--serif);font-size:1.45rem;line-height:1.2}
.intro-manifesto span{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em}
.services{background:var(--white)}
.section-heading{display:grid;grid-template-columns:.55fr 2.05fr;gap:clamp(32px,5vw,90px);align-items:start;margin-bottom:80px}
.section-heading h2{max-width:960px;margin:0;font-size:clamp(3rem,5.5vw,6.7rem)}
.services .section-kicker p{font-size:.76rem}
.services-list{border-top:1px solid var(--ink)}
.service-row{display:grid;grid-template-columns:.4fr 2fr 56px;gap:24px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line)}
.service-number{font-size:.7rem;color:var(--muted)}
.service-row>div{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}
.service-row h3{margin:0;font-family:var(--serif);font-size:clamp(2.1rem,3vw,3.6rem);font-weight:400}
.service-row p{max-width:560px;margin:0;color:var(--muted)}
.service-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;font-size:1.2rem;transition:transform .25s,background .25s}
.service-row:hover .service-mark{transform:rotate(45deg);background:var(--yellow);border-color:var(--yellow)}
.work{background:var(--ink);color:var(--white)}
.section-heading-light .section-kicker{color:#aaa79f}
.work-grid{display:grid;grid-template-columns:1.28fr .72fr;gap:24px}
.work-card{display:block;overflow:hidden}.work-card figure{position:relative;margin:0;overflow:hidden;background:#252525}.work-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .4s}.work-card:hover img{transform:scale(1.025);filter:saturate(1)}
.work-card-wide figure{aspect-ratio:1.4}.work-card-tall{grid-row:span 2}.work-card-tall figure{height:100%;min-height:100%}.work-card-landscape figure{aspect-ratio:1.78}
.work-card figcaption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:end;gap:20px;padding:70px 26px 24px;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.work-card figcaption b{font-weight:500;color:#d1cec6;text-align:right}
.work-footer{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:44px;padding-top:36px;border-top:1px solid #393939}.work-footer p{margin:0;color:#aaa79f}
.process-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,130px);align-items:center}
.process-art{position:relative;background:#e5e2d9;border:1px solid var(--line)}.process-art img{width:100%;height:auto}.process-content>h2{margin:48px 0 64px;font-size:clamp(3rem,5vw,6rem)}
.process-list{--process-progress:0;position:relative;list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.process-list::before,.process-list::after{content:"";position:absolute;z-index:0;top:35px;bottom:35px;left:17px;width:1px;pointer-events:none}
.process-list::before{background:var(--line)}
.process-list::after{background:var(--yellow);transform:scaleY(var(--process-progress));transform-origin:top;transition:transform .65s cubic-bezier(.22,.7,.22,1)}
.process-list li{position:relative;z-index:1;display:grid;grid-template-columns:52px 1fr;gap:22px;padding:28px 0;border-bottom:1px solid var(--line)}
.process-list li>span{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:var(--paper);font-size:.62rem;transition:border-color .45s,background .45s}
.process-list.is-interactive li{opacity:.34;transform:translateY(14px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,.7,.22,1)}
.process-list.is-interactive li.is-active{opacity:1;transform:none}
.process-list.is-interactive li.is-active>span{border-color:var(--yellow);background:var(--yellow)}
.process-list h3{margin:0 0 8px;font-family:var(--serif);font-size:1.7rem;font-weight:400}.process-list p{margin:0;color:var(--muted);max-width:600px}
.contact{background:var(--ink);color:var(--white);border-top:1px solid #333}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(60px,10vw,160px)}
.contact-copy .section-kicker{color:#aaa79f}.contact-copy h2{margin:50px 0 32px;max-width:840px;font-size:clamp(4rem,7vw,8.5rem)}.contact-copy>p{max-width:650px;color:#aaa79f;margin:0 0 38px;font-size:1.05rem}
.contact-details{border-top:1px solid #444}.contact-details>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid #333}.contact-details span{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:#888}.contact-details a,.contact-details p{margin:0;font-family:var(--serif);font-size:clamp(1.05rem,1.5vw,1.35rem);overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer{background:var(--ink);color:var(--white);padding-bottom:34px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:40px}.footer-top{align-items:flex-end;padding-top:12px;padding-bottom:68px}.brand-footer img{width:56px;height:56px}.footer-top>p{margin:0;color:#aaa79f;text-align:right}.footer-bottom{padding-top:24px;border-top:1px solid #333;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#888}.footer-bottom p{margin:0}.footer-bottom a:hover{color:var(--white)}
.whatsapp-float{position:fixed;z-index:90;right:clamp(16px,2vw,32px);bottom:clamp(16px,2vw,32px);display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--yellow);box-shadow:0 10px 30px rgba(0,0,0,.2);transition:transform .25s,box-shadow .25s}.whatsapp-float svg{width:25px;height:25px;fill:var(--ink)}.whatsapp-float:hover,.whatsapp-float:focus-visible{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 34px rgba(0,0,0,.28)}
.reveal{opacity:1;transform:none}
@media (max-width:1050px){.hero-grid{grid-template-columns:1fr .85fr}.hero h1{font-size:clamp(3.9rem,7.4vw,6.2rem)}.hero-visual,.hero-visual>img{min-height:540px}.intro-grid{grid-template-columns:.4fr 1.3fr}.intro-manifesto{grid-column:2;margin-top:20px}.section-heading{grid-template-columns:.4fr 1.6fr}.contact-grid{grid-template-columns:1fr;gap:56px}}
@media (max-width:820px){.header-inner{height:72px}.menu-toggle{display:block}.site-nav{position:fixed;inset:72px 0 auto;background:var(--paper);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:14px var(--pad) 24px;transform:translateY(-130%);visibility:hidden;transition:transform .3s,visibility .3s}.site-nav.open{transform:none;visibility:visible}.site-nav a{padding:15px 0;border-bottom:1px solid var(--line)}.nav-cta{margin-top:12px;text-align:center;border:1px solid var(--ink)!important}.menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-4px) rotate(-45deg)}.hero{padding-top:72px}.hero-grid{min-height:auto;grid-template-columns:1fr;padding-top:72px}.hero-visual{min-height:520px}.hero-visual>img{min-height:520px}.hero-lead,.hero-actions,.hero-location{padding-left:0}.hero-location{margin-top:48px}.intro-grid,.section-heading,.process-grid,.contact-grid{grid-template-columns:1fr}.intro-manifesto{grid-column:auto;margin-top:12px}.section-heading{margin-bottom:56px}.section-heading h2{padding-left:50px}.service-row{grid-template-columns:42px 1fr 44px}.service-row>div{grid-template-columns:1fr;gap:10px}.service-mark{width:42px;height:42px}.work-grid{grid-template-columns:1fr 1fr}.work-card-wide{grid-column:1/-1}.work-card-tall{grid-row:auto}.work-card-tall figure{aspect-ratio:.8}.work-card-landscape figure{height:100%;aspect-ratio:.8}.process-art{max-width:620px}.contact-details{margin-top:20px}}
@media (max-width:560px){:root{--pad:20px}.brand{gap:9px;font-size:.66rem}.brand img{width:42px;height:42px}.hero-grid{padding-block:54px 78px}.hero h1{font-size:clamp(3.55rem,17vw,5.2rem);line-height:.86}.hero-lead{margin-top:30px}.hero-actions{align-items:stretch;gap:18px}.button{width:100%}.text-link{width:max-content}.hero-location{flex-direction:column;gap:8px}.hero-visual,.hero-visual>img{min-height:410px}.hero-stamp{right:-12px;width:92px;height:92px;font-size:.85rem}.section{padding-block:86px}.section-heading h2{padding-left:0}.intro-copy h2,.section-heading h2,.process-content>h2{font-size:clamp(2.8rem,14vw,4.4rem)}.service-row{grid-template-columns:30px 1fr}.service-mark{display:none}.work-grid{display:block}.work-card{margin-bottom:18px}.work-card-wide figure,.work-card-tall figure,.work-card-landscape figure{aspect-ratio:.9;height:auto}.work-footer{align-items:stretch;flex-direction:column}.contact-copy h2{font-size:clamp(3.5rem,17vw,5.2rem)}.contact-details>div{grid-template-columns:1fr;gap:8px}.footer-top{align-items:flex-start;flex-direction:column}.footer-top>p{text-align:left}.footer-bottom{flex-direction:column;gap:14px}.whatsapp-float{width:46px;height:46px}.whatsapp-float svg{width:23px;height:23px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.process-list.is-interactive li{opacity:1;transform:none;transition:none}.process-list::after,.work-card img,.button,.whatsapp-float{transition:none}}
