@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--black:#0a0a0a;--ink:#171717;--gold:#d6af52;--paper:#f5f1e8;--muted:#b7b4ac;--line:#d6af5238;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--black);color:var(--paper);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.05em}h2{font-size:clamp(40px,4.6vw,70px)}em{font-weight:500;color:var(--gold)}.section{padding:110px var(--gutter)}.eyebrow{font-size:11px;line-height:1.5;font-weight:600;letter-spacing:.19em;color:var(--gold);margin-bottom:24px}.skip-link{position:fixed;left:20px;top:-100px;background:var(--gold);color:var(--black);padding:12px 24px;z-index:100}.skip-link:focus{top:12px}
.header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--black);padding:14px var(--gutter);min-height:94px;border-bottom:1px solid #ffffff12}.brand{display:block;width:182px;flex-shrink:0}.brand img{width:100%;height:auto;mix-blend-mode:lighten}.header nav{display:flex;align-items:center;gap:30px}.header nav a{font-size:13px;min-height:44px;display:flex;align-items:center;color:#d1cec6;transition:color .2s}.header nav a:hover,.header nav a[aria-current]{color:var(--gold)}.header .mobile-contact{display:none}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;min-height:54px;padding:15px 23px;background:var(--gold);color:var(--black);font-size:13px;line-height:1.5;font-weight:700;border:1px solid var(--gold);transition:background .2s,transform .2s}.button:hover{background:#efcf84;transform:translateY(-2px)}.button>span{font-size:21px;font-weight:400;line-height:1}.button-small{min-height:44px;padding:11px 18px;gap:24px;font-size:12px}.button-outline{background:transparent;border-color:#8c722f;color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:13px;border-bottom:1px solid var(--line);padding:8px 0}.text-link>span{font-size:20px;color:var(--gold);transition:transform .2s}.text-link:hover>span{transform:translate(3px,-3px)}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.menu-toggle{background:transparent;color:var(--paper);border:1px solid var(--line);padding:9px 14px;min-height:44px}.menu-toggle[hidden]{display:none}
.hero{position:relative;display:grid;grid-template-columns:1.12fr 1fr;grid-template-rows:1fr auto;min-height:min(790px,calc(100svh - 94px));padding:0 var(--gutter);isolation:isolate;overflow:hidden}.hero-copy{position:relative;z-index:2;padding:85px 0 65px;align-self:center}.hero .eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.15em}.status-dot{width:6px;height:6px;background:var(--gold);border-radius:100%;box-shadow:0 0 0 5px #d6af520d}.hero h1{font-size:clamp(60px,6.9vw,110px);line-height:1.1;letter-spacing:-.065em;white-space:nowrap}.hero h1 em{display:inline-block}.lead{max-width:435px;color:var(--muted);font-size:15px;line-height:1.85;margin:30px 0}.hero-note{display:flex;gap:13px;align-items:center;margin-top:43px}.hero-note>span{font-size:25px;color:var(--gold)}.hero-note p{font-size:11px;line-height:1.7;color:var(--paper)}.hero-note strong{font-weight:400;color:var(--muted)}.hero-art{position:relative;align-self:stretch;min-height:640px;margin-left:8px}.portrait-halo{position:absolute;inset:10% -9% 4% 1%;border:1px solid #d6af5230;border-radius:48% 48% 0 0;background:radial-gradient(ellipse at 50% 45%,#30291a66,transparent 68%)}.portrait-halo:before{content:'';position:absolute;inset:15px;border:1px solid #d6af5210;border-radius:inherit}.rafael-portrait{position:absolute;height:96%;width:100%;object-fit:contain;object-position:center bottom;bottom:0;filter:drop-shadow(0 12px 35px #0006)}.portrait-vertical{position:absolute;right:-20px;top:33%;writing-mode:vertical-rl;z-index:2;font-size:9px;letter-spacing:.24em;color:#bdad86}.portrait-caption{position:absolute;bottom:30px;left:22px;right:0;border-left:2px solid var(--gold);padding:13px 18px;background:linear-gradient(90deg,#0a0a0ad9,transparent);z-index:3}.portrait-caption span{display:block;letter-spacing:.22em;font-size:12px}.portrait-caption small{display:block;margin-top:5px;font-size:10px;color:#d1c7b0}.hero-bottom{position:relative;z-index:4;grid-column:1/-1;padding:23px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--black);font-size:9px;letter-spacing:.14em;color:var(--muted)}.hero-bottom a{display:flex;align-items:center;gap:35px;min-height:44px;color:var(--paper)}.hero-bottom a span{color:var(--gold);font-size:19px}
.showcase{background:#111210}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:50px}.section-aside{max-width:330px}.section-aside p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:18px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:stretch}.work-card{display:flex;flex-direction:column;min-width:0;background:#1a1c18;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .2s}.work-card:hover{border-color:var(--gold)}.work-image{position:relative;aspect-ratio:4/4.7;overflow:hidden;background:var(--ink)}.work-image:after{content:'';position:absolute;inset:0;border:1px solid #ffffff0d;pointer-events:none}.work-image img{width:100%;height:100%;object-fit:cover;object-position:center 42%;transition:transform .6s}.work-card:hover img{transform:scale(1.035)}.work-open{position:absolute;bottom:15px;right:15px;display:grid;place-items:center;width:42px;height:42px;background:var(--paper);color:var(--black);font-size:24px}.work-caption{padding:22px;flex:1;display:flex;flex-direction:column;gap:4px}.work-caption>span{font:500 22px/1.3 var(--serif)}.work-caption small{font-size:10px;letter-spacing:.05em;color:var(--muted)}.section-foot{border-top:1px solid #ffffff18;margin-top:26px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}.section-foot a{color:var(--gold);min-height:44px}
.process{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(50px,8vw,130px);align-items:center;background:var(--paper);color:var(--ink)}.process-photo{position:relative;align-self:stretch;min-height:620px}.process-photo img{width:100%;height:100%;object-fit:cover;object-position:54% center}.process-photo>span{position:absolute;bottom:0;left:0;right:0;padding:60px 22px 22px;background:linear-gradient(transparent,#000c);color:#fff;font-size:9px;letter-spacing:.14em}.process .eyebrow,.faq .eyebrow{color:#796025}.process h2{font-size:clamp(39px,3.7vw,58px)}.process em,.faq em{color:#866624}.process-intro{color:#625f56;font-size:14px;margin:25px 0 22px;max-width:380px}.steps article{display:flex;gap:24px;padding:23px 0;border-top:1px solid #cfc8b9}.steps article>span{color:#866624;font-family:var(--serif);font-size:18px}.steps h3{font-size:15px;font-weight:600;margin-bottom:5px}.steps p{font-size:13px;color:#625f56;max-width:340px}.process .text-link{border-color:#b1a482;margin-top:7px}.process .text-link>span{color:#866624}.statement{padding:68px var(--gutter);background:var(--gold);color:var(--black);display:flex;justify-content:space-between;align-items:center;gap:35px}.statement p{font:500 clamp(34px,4.3vw,66px)/1.2 var(--serif);letter-spacing:-.04em}.statement em{color:var(--black)}.statement>span{font-size:80px;font-weight:400;line-height:1}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,7vw,110px);background:var(--paper);color:var(--ink)}.faq h2{font-size:clamp(36px,3.4vw,53px);line-height:1.15}.faq-contact{margin-top:40px;border-top:1px solid #cfc8b9;padding-top:27px;max-width:340px}.faq-contact h3{font-size:14px;font-weight:600;margin-bottom:12px}.faq-contact p{font-size:13px;color:#625f56;line-height:1.8;margin-bottom:20px}.faq-list details{border-bottom:1px solid #cfc8b9}.faq-list details:first-child{border-top:1px solid #cfc8b9}.faq-list summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;list-style:none;font-size:14px;line-height:1.6;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:23px;color:#866624;line-height:1;flex-shrink:0;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details[open] summary{color:#735720}.faq-list details p{margin:0;padding:0 28px 25px 0;color:#625f56;font-size:13px;line-height:1.9}
.regional{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,110px);border-bottom:1px solid var(--line)}.regional h2{font-size:clamp(40px,4.3vw,66px)}.regional-intro>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.85;max-width:365px;margin:28px 0 20px}.regional-content{padding-top:10px}.regional-content h3{font-size:18px;font-weight:500;margin-bottom:10px}.regional-content>p{font-size:13px;color:var(--muted);line-height:1.8}.regional-cities{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:25px 0}.regional-cities li{border:1px solid #ffffff26;padding:7px 12px;font-size:11px;color:#d2cbbd}.regional-content .regional-note{font-size:11px;border-top:1px solid #ffffff19;padding-top:22px;color:#b2aa99}
.contact{position:relative;display:grid;grid-template-columns:1.4fr .6fr;gap:70px;background:#141510}.contact h2{font-size:clamp(44px,5.6vw,88px)}.contact-copy>p:not(.eyebrow){max-width:390px;color:var(--muted);font-size:14px;margin:28px 0}.contact-details{padding:0 0 0 30px;border-left:1px solid var(--line);align-self:center}.location-icon{display:block;color:var(--gold);font-size:42px;margin-bottom:17px}.contact-details .eyebrow{font-size:9px;margin-bottom:13px}.contact-details h3{font-family:var(--serif);font-weight:500;font-size:25px;margin-bottom:12px}.contact-details>p:not(.eyebrow){color:var(--muted);font-size:13px}.contact-details .text-link{font-size:12px;margin-top:12px}.contact-phone{margin-top:25px}.contact-phone small{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted)}.contact-phone>a{display:inline-block;min-height:44px;font-size:18px;padding-top:5px}.footer{padding:45px var(--gutter) 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:38px}.footer-top .brand{width:205px}.footer-top p{font-size:13px}.footer-top p span{font-size:11px;color:var(--muted)}.footer-bottom{border-top:1px solid #ffffff18;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}.whatsapp{position:fixed;right:22px;bottom:max(22px,env(safe-area-inset-bottom));z-index:35;background:var(--gold);color:var(--black);width:52px;height:52px;display:grid;place-items:center;border-radius:50%;box-shadow:0 4px 22px #0004;border:1px solid #ecd69d}.whatsapp svg{width:25px;height:25px}
@media(min-width:1600px){.header,.hero,.section,.statement,.footer{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}.hero{min-height:810px}.hero h1{font-size:110px}}
@media(max-width:1100px){.header nav{gap:20px}.header{gap:20px}.brand{width:160px}.hero-copy{padding-top:65px}.hero-art{min-height:590px}.hero h1{font-size:7.2vw}.hero .actions{gap:12px}.hero .actions .button{gap:20px}.hero-bottom{font-size:8px;letter-spacing:.08em}.process-photo{min-height:540px}.contact{gap:35px}.section{padding-top:85px;padding-bottom:85px}}
@media(max-width:900px){.header{flex-wrap:wrap;min-height:82px;padding-top:10px;padding-bottom:10px}.header .button-small{display:none}.header .menu-toggle:not([hidden]){display:flex;align-items:center;gap:18px}.header nav{width:100%;flex-wrap:wrap;padding:15px 0;gap:6px 28px}.header .mobile-contact{display:flex}.js-menu .header nav{display:none}.js-menu .header nav.is-open{display:flex}.hero{min-height:auto;grid-template-columns:1fr 1fr}.hero h1{font-size:7vw}.hero-copy{padding:50px 0}.hero-art{min-height:540px}.hero .lead{font-size:14px}.hero-note{margin-top:28px}.hero .eyebrow{font-size:8px}.hero-bottom>span:nth-child(2){display:none}.portrait-vertical{right:-10px;font-size:8px}.portrait-caption{left:0;bottom:20px;padding:10px 13px}.portrait-caption small{font-size:8px}.section-heading{gap:30px}.section-aside{max-width:260px}.work-grid{gap:16px}.work-caption>span{font-size:19px}.process{gap:40px;grid-template-columns:.85fr 1fr}.process h2{font-size:37px}.faq{gap:40px}.faq h2{font-size:36px}.regional{gap:40px}.contact h2{font-size:52px}.contact-details{padding-left:24px}}
@media(max-width:640px){html{scroll-padding-top:96px}.section{padding:66px 24px}.header{padding:10px 24px}.brand{width:154px}.header nav a{font-size:15px}.header nav.is-open{display:grid;grid-template-columns:1fr 1fr}.hero{display:flex;flex-direction:column;padding:0 24px}.hero-copy{padding:46px 0 16px}.hero .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:22px}.hero h1{font-size:clamp(48px,11.9vw,76px);letter-spacing:-.06em}.hero .lead{font-size:14px;margin:24px 0;max-width:400px}.hero .actions{gap:12px 22px}.hero .actions .button{min-height:52px}.hero .actions .text-link{font-size:12px}.hero-note{display:none}.hero-art{align-self:auto;min-height:420px;margin:22px 0 0}.portrait-halo{inset:4% 6% 0}.rafael-portrait{height:100%;object-position:center bottom}.portrait-vertical{right:0;top:23%}.portrait-caption{left:12px;bottom:20px}.portrait-caption span{font-size:11px}.portrait-caption small{font-size:9px}.hero-bottom{padding:17px 0;font-size:8px;gap:12px}.hero-bottom a{gap:15px;font-size:9px;letter-spacing:0}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:46px}.section-aside{margin-top:24px;max-width:350px}.section-aside p{font-size:13px}.work-grid{grid-template-columns:1fr;gap:22px}.work-image{aspect-ratio:4/4.7}.work-caption>span{font-size:19px}.work-caption small{font-size:9px}.work-open{width:34px;height:34px;right:10px;bottom:10px;font-size:20px}.section-foot{font-size:10px;align-items:baseline}.process{display:flex;flex-direction:column;gap:34px}.process-photo{min-height:0;aspect-ratio:1.1;width:100%;order:2}.process-photo img{height:100%;object-position:center 38%}.process-copy{width:100%}.process h2{font-size:41px}.process-intro{font-size:14px}.steps article{padding:21px 0}.steps p{font-size:13px}.statement{padding:42px 24px;gap:10px}.statement p{font-size:32px}.statement>span{font-size:42px}.faq{display:block}.faq h2{font-size:39px;max-width:420px}.faq-contact{margin-top:25px;padding-top:22px;max-width:none}.faq-contact p{max-width:370px}.faq-list{margin-top:34px}.faq-list summary{padding:20px 0;font-size:14px}.faq-list details p{font-size:14px}.regional{display:block}.regional h2{font-size:45px}.regional-content{margin-top:36px;padding-top:30px;border-top:1px solid var(--line)}.regional-cities{gap:7px}.regional-cities li{font-size:11px;padding:6px 10px}.contact{display:block}.contact h2{font-size:46px}.contact-details{margin-top:48px;padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.location-icon{display:none}.contact-details h3{font-size:27px}.contact-copy .button{gap:24px;max-width:100%}.footer{padding:38px 24px 80px}.footer-top{flex-wrap:wrap;gap:24px;padding-bottom:25px}.footer-top .brand{width:175px}.footer-top p{font-size:11px}.footer-top .text-link{font-size:12px}.footer-bottom{flex-direction:column;gap:6px;padding-top:20px}.whatsapp{width:48px;height:48px;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.work-card:hover img,.button:hover,.text-link:hover>span{transform:none}}
