:root{--ink:#231814;--soft:#5b4941;--cream:#f3e9df;--paper:#fcf8f4;--rose:#a76f62;--gold:#d4ad83;--line:rgba(35,24,20,.15);--white:#fff;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}body.menu-open{overflow:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.header{position:fixed;inset:0 0 auto;z-index:20;height:86px;padding:0 clamp(22px,5vw,80px);display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid #ffffff2e;transition:.35s}.header.scrolled{height:72px;background:#231814f5;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;line-height:1}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;font:1.65rem var(--serif);color:var(--gold)}.brand-copy{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.brand-copy small{display:block;margin-top:5px;color:#ffffff9e;letter-spacing:.25em;font-size:.53rem}.nav{display:flex;align-items:center;gap:clamp(20px,2.5vw,42px);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.nav a:not(.nav-cta){position:relative}.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--gold);transition:.25s}.nav a:hover:after{right:0}.nav-cta{border:1px solid #ffffff80;padding:12px 18px}.nav-cta:hover{background:#fff;color:var(--ink)}.menu-toggle{display:none;width:42px;height:42px;padding:11px 6px;border:0;background:transparent}.menu-toggle span{display:block;height:1px;margin:6px 0;background:#fff;transition:.3s}
.hero{min-height:100svh;display:grid;grid-template-columns:48% 52%;background:var(--ink);color:#fff;position:relative;overflow:hidden}.hero-image{min-height:100svh}.hero-image img{height:100%;object-fit:cover;filter:saturate(.8) contrast(1.03)}.hero-content{align-self:center;padding:130px clamp(40px,7vw,110px) 80px;position:relative}.hero-content:before{content:"";position:absolute;width:360px;height:360px;border:1px solid #d4ad832b;border-radius:50%;right:-170px;top:22%}.eyebrow{margin:0 0 24px;color:var(--rose);font-size:.69rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.hero .eyebrow,.eyebrow.light{color:var(--gold)}h1,h2{margin:0;font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.04em}h1{max-width:680px;font-size:clamp(3.4rem,6vw,6.8rem)}h1 em,h2 em{color:var(--gold);font-weight:500}.hero-lead{max-width:580px;margin:32px 0;color:#ffffffad;font-size:clamp(1rem,1.25vw,1.15rem)}.hero-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:32px;padding:16px 22px;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.button-primary{background:var(--rose);color:#fff;transition:.25s}.button-primary:hover{background:#bd8173;transform:translateY(-2px)}.text-link{display:inline-flex;gap:16px;align-items:center;color:#ffffffb8;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.79rem}.text-link.dark{color:var(--soft)}.hero-signature{display:flex;align-items:center;gap:13px;margin-top:52px;color:var(--gold)}.hero-signature strong{font:2.2rem var(--serif)}.hero-signature span{padding-left:13px;border-left:1px solid #ffffff33;font-size:.65rem;line-height:1.4;text-transform:uppercase;letter-spacing:.12em}.hero-side{position:absolute;right:18px;bottom:28px;margin:0;writing-mode:vertical-rl;color:#ffffff61;font-size:.6rem;text-transform:uppercase;letter-spacing:.15em}
.section{padding:clamp(90px,11vw,160px) clamp(22px,7vw,110px)}.section-number{color:var(--rose);font-size:.67rem;letter-spacing:.12em}.intro,.gallery{background:var(--cream);overflow:hidden}.intro-top{display:grid;grid-template-columns:60px 1.15fr .85fr;gap:clamp(30px,5vw,90px);align-items:start}.intro h2,.section-title h2,.gallery h2{font-size:clamp(3rem,5vw,6rem)}.intro-copy{padding-top:48px;max-width:520px;color:var(--soft)}.large-copy{color:var(--ink);font:1.65rem/1.35 var(--serif)}.intro-copy .text-link{margin-top:26px}.experience{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(40px,7vw,110px);margin-top:85px;align-items:center}.experience-visual{position:relative;min-height:680px}.experience-main{position:absolute;inset:0 15% 0 0;margin:0;overflow:hidden}.experience-main img{height:100%;object-fit:cover}.experience-detail{position:absolute;right:0;bottom:46px;width:32%;max-width:250px;margin:0;border:10px solid var(--cream);box-shadow:0 22px 55px #23181433}.experience-detail img{aspect-ratio:3/4;object-fit:cover}.experience-stamp{position:absolute;right:2%;top:30px;display:grid;place-items:center;width:116px;height:116px;border-radius:50%;background:var(--ink);color:var(--gold);font:2rem/.75 var(--serif);text-align:center}.experience-stamp small{color:#fff;font:.48rem var(--sans);letter-spacing:.25em;text-transform:uppercase}.experience-list{border-top:1px solid var(--line)}.experience-list article{display:grid;grid-template-columns:36px 1fr;gap:16px;padding:23px 0;border-bottom:1px solid var(--line)}.experience-list span,.service>span{color:var(--rose);font-size:.62rem;padding-top:7px}.experience-list h3{margin:0 0 5px;font:500 1.55rem var(--serif)}.experience-list p,.service p{margin:0;color:var(--soft);font-size:.86rem}
.services{background:var(--paper);display:grid;grid-template-columns:60px minmax(260px,.8fr) 1.2fr;column-gap:clamp(30px,6vw,100px)}.services-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:42px 1fr 28px;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}.service h3{margin:0 0 8px;font:500 clamp(1.4rem,2.2vw,2rem) var(--serif)}.service b{color:var(--rose);font-size:1.3rem;font-weight:400;transition:.3s}.service:hover b{transform:rotate(45deg)}.services-note{grid-column:3;margin:28px 0 0;color:var(--soft);font-size:.78rem}.gallery-heading{display:grid;grid-template-columns:60px 1fr auto;gap:30px;align-items:end;margin-bottom:70px}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;max-width:1180px;margin:auto}.gallery-item{position:relative;height:420px;margin:0;overflow:hidden;background:#ddd}.gallery-item.tall{height:720px;grid-row:span 2}.gallery-item.wide{height:520px;grid-column:1/3}.gallery-item img{height:100%;object-fit:cover;transition:transform .7s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item figcaption{position:absolute;left:18px;bottom:18px;padding:8px 12px;background:#231814c7;color:#fff;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}.image-credit{color:var(--soft);font-size:.68rem;text-align:right}
.contact{text-align:center;color:#fff;background:var(--ink)}.contact h2{font-size:clamp(3.5rem,8vw,8rem)}.contact-cta{display:flex;justify-content:space-between;align-items:center;max-width:760px;margin:70px auto 100px;padding:18px 0;border-bottom:1px solid #ffffff59;font:clamp(1.5rem,3vw,2.4rem) var(--serif)}.contact-cta b{color:var(--gold);font-weight:400}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1000px;margin:auto;text-align:left;border-top:1px solid #ffffff26;padding-top:38px}.contact-grid>div{padding:0 38px;border-right:1px solid #ffffff26}.contact-grid>div:last-child{border:0}.contact-grid small{color:var(--gold);text-transform:uppercase;letter-spacing:.16em}.contact-grid p{color:#ffffffbf}.contact-grid>div>a{color:#ffffff8c;font-size:.75rem;border-bottom:1px solid}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px clamp(22px,5vw,80px);background:#160e0b;color:#ffffff70;font-size:.68rem}.footer-brand{color:#fff;text-transform:uppercase;letter-spacing:.12em}.footer-brand span,.footer a{color:var(--gold)}.footer-brand span{font:1.2rem var(--serif)}.whatsapp-float{position:fixed;z-index:15;right:20px;bottom:20px;display:none;gap:20px;padding:13px 17px;background:var(--rose);color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;box-shadow:0 8px 28px #0004}[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}[data-reveal].visible{opacity:1;transform:none}
@media(max-width:900px){.header{height:72px}.menu-toggle{display:block}.menu-toggle.active span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav{position:fixed;inset:72px 0 0;flex-direction:column;justify-content:center;background:var(--ink);opacity:0;visibility:hidden;transform:translateY(-12px);transition:.3s;font-size:1rem}.nav.open{opacity:1;visibility:visible;transform:none}.hero{grid-template-columns:1fr}.hero-image{position:absolute;inset:0;min-height:0;opacity:.38}.hero-content{z-index:1;max-width:760px;padding-left:clamp(24px,8vw,80px)}.intro-top{grid-template-columns:35px 1fr}.intro-copy{grid-column:2;padding-top:0}.experience{grid-template-columns:1fr}.experience-visual{min-height:620px}.experience-list{max-width:680px;margin-left:35px}.services{grid-template-columns:35px 1fr}.services-list,.services-note{grid-column:2}.section-title{margin-bottom:50px}.gallery-heading{grid-template-columns:35px 1fr}.gallery-heading .text-link{grid-column:2;justify-self:start}.contact-grid{grid-template-columns:1fr;max-width:600px}.contact-grid>div{border:0;border-bottom:1px solid #ffffff26;padding:24px 0;text-align:center}.footer{flex-direction:column;text-align:center}.whatsapp-float{display:flex}}
@media(max-width:600px){.section{padding-top:88px;padding-bottom:88px}.hero-content{padding:120px 24px 70px}h1{font-size:clamp(3rem,15vw,4.7rem)}.hero-side{display:none}.intro-top,.services{display:block}.section-number{margin-bottom:28px}.intro-heading{margin-bottom:40px}.experience{margin-top:55px}.experience-visual{min-height:500px}.experience-main{inset:0 7% 0 0}.experience-detail{width:38%;right:0;bottom:24px;border-width:7px}.experience-stamp{width:84px;height:84px;top:18px;font-size:1.5rem}.experience-list{margin:35px 0 0}.service{grid-template-columns:32px 1fr 20px}.gallery-heading{display:block;margin-bottom:45px}.gallery-heading .text-link{margin-top:30px}.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-item.tall,.gallery-item.wide{grid-column:auto;grid-row:auto;height:460px}.contact-cta{margin:50px auto 70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}[data-reveal]{opacity:1;transform:none}}
