:root{--ink:#21201e;--muted:#726e68;--paper:#f8f5f0;--cream:#ebe1d5;--blush:#d6a6a0;--rust:#a95440;--line:rgba(33,32,30,.16);--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-family:var(--sans);font-size:16px;line-height:1.65}.container{width:min(100% - 40px,1180px);margin-inline:auto}.section{padding:112px 0}.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:100;left:16px;top:-48px;padding:8px 12px;background:var(--ink);color:#fff;transition:top .2s}.skip-link:focus{top:16px}.site-header{position:fixed;z-index:50;top:0;width:100%;background:rgba(248,245,240,.84);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .25s,background .25s}.site-header.is-scrolled{border-bottom-color:var(--line);background:rgba(248,245,240,.94)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between}.wordmark,.footer-name{font:600 1.35rem var(--serif);color:var(--ink);text-decoration:none;letter-spacing:-.05em}.wordmark span{color:var(--rust)}.site-nav{display:flex;gap:26px;align-items:center}.site-nav>a:not(.button){font-size:.81rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);text-decoration:none}.site-nav>a:not(.button):hover{color:var(--rust)}.button{display:inline-flex;align-items:center;gap:17px;justify-content:center;min-height:52px;padding:0 22px;background:var(--ink);border:1px solid var(--ink);color:#fff;text-decoration:none;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-3px);background:var(--rust);border-color:var(--rust)}.button-small{min-height:39px;padding:0 14px;font-size:.68rem}.menu-toggle{display:none}.hero{position:relative;min-height:100svh;padding:150px 0 90px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:6vw;align-items:center;min-height:calc(100svh - 240px)}.eyebrow{margin:0 0 20px;color:var(--rust);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600}.hero h1,h2{font:500 clamp(3.35rem,7vw,7rem)/.95 var(--serif);margin:0;letter-spacing:-.065em}.hero h1 em,h2 em{font-weight:500}.hero-intro{font-size:1.05rem;max-width:360px;margin:28px 0 32px;color:#4e4b47}.hero-actions,.contact-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.text-link{display:inline-flex;gap:12px;align-items:center;color:var(--ink);font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px;transition:color .25s,border-color .25s}.text-link:hover{color:var(--rust);border-color:var(--rust)}.hero-art{position:relative;justify-self:end;width:min(100%,520px);padding:20px 30px 0 0}.image-placeholder{display:grid;place-items:center;overflow:hidden;position:relative;border:1px solid rgba(33,32,30,.15);background:linear-gradient(135deg,#d8c9ba,#f0e9df 56%,#bea497);isolation:isolate}.image-placeholder::before,.image-placeholder::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.7);border-radius:50%;z-index:-1}.image-placeholder::before{width:70%;aspect-ratio:1;right:-16%;top:14%}.image-placeholder::after{width:54%;aspect-ratio:1;left:-13%;bottom:-6%}.image-placeholder span{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(33,32,30,.7);background:rgba(248,245,240,.7);padding:8px 11px}.hero-placeholder{height:clamp(430px,62vw,635px);clip-path:polygon(8% 0,100% 0,100% 91%,92% 100%,0 100%,0 8%)}.image-note{position:absolute;right:-21px;bottom:37px;writing-mode:vertical-rl;font-size:.65rem;text-transform:uppercase;letter-spacing:.17em;color:var(--muted)}.orb{position:absolute;border-radius:50%;z-index:-1}.orb-one{width:170px;height:170px;background:var(--blush);right:-80px;top:-50px}.orb-two{width:75px;height:75px;background:var(--rust);left:-35px;bottom:45px}.scroll-cue{position:absolute;left:max(20px,calc((100% - 1180px)/2));bottom:29px;display:flex;gap:12px;align-items:center;color:var(--muted);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.scroll-cue i{height:1px;width:46px;background:var(--ink);position:relative}.scroll-cue i::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-bottom:1px solid var(--ink);border-right:1px solid var(--ink);transform:rotate(-45deg)}.section-cream{background:var(--cream)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,10vw,150px);align-items:center}.about-image{position:relative;width:min(100%,440px)}.portrait-placeholder{height:550px;background:linear-gradient(145deg,#c8a69e,#eee5d9 58%,#a77c6e);clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,8% 100%,0 92%)}.vertical-note{position:absolute;right:-25px;bottom:18px;margin:0;writing-mode:vertical-rl;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.about-copy h2{font-size:clamp(2.8rem,5vw,5.1rem)}.about-copy>p:not(.eyebrow){max-width:440px;margin:29px 0;color:#504d48}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:48px}.section-heading h2{font-size:clamp(3rem,5vw,5rem)}.section-heading>p{max-width:310px;margin:0 0 7px;color:var(--muted)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:300px;padding:28px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s,transform .25s}.service-card:hover{background:#fff;transform:translateY(-5px)}.service-number{font:600 .7rem var(--sans);color:var(--rust);letter-spacing:.1em}.service-card h3{font:500 1.75rem var(--serif);letter-spacing:-.045em;margin:58px 0 7px}.service-card p{margin:0;color:var(--muted);font-size:.9rem}.service-bottom{margin-top:auto;padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.service-bottom a{display:grid;place-items:center;width:32px;height:32px;color:var(--ink);border:1px solid var(--line);text-decoration:none;border-radius:50%;font-size:1rem;transition:all .2s}.service-bottom a:hover{background:var(--ink);color:#fff}.section-ink{background:var(--ink);color:#f8f5f0}.section-ink .eyebrow{color:#d99a91}.content-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:56px}.content-heading h2{font-size:clamp(3.1rem,5.5vw,5.7rem)}.button-light{background:#f8f5f0;border-color:#f8f5f0;color:var(--ink)}.button-light:hover{background:var(--blush);border-color:var(--blush);color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:13px}.gallery-item{min-height:220px;overflow:hidden}.gallery-tall{grid-row:span 2;min-height:453px}.gallery-wide{grid-column:span 2}.gallery-placeholder{height:100%;min-height:inherit;background:linear-gradient(145deg,#b89b8c,#e5d8ca 56%,#967569)}.gallery-placeholder.warm{background:linear-gradient(145deg,#bd7c64,#e3b49e 56%,#9e4c3d)}.gallery-placeholder.soft{background:linear-gradient(145deg,#9aa4a0,#e3e4d9 54%,#787e71)}.gallery-placeholder.blush{background:linear-gradient(145deg,#bd8984,#efd1c7 54%,#985d59)}.gallery-item:hover .image-placeholder{transform:scale(1.04)}.gallery-item .image-placeholder{transition:transform .5s}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:10vw}.faq-intro h2{font-size:clamp(2.9rem,4.7vw,4.7rem)}.faq-intro>p:last-child{max-width:280px;color:var(--muted)}.accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:23px 0;cursor:pointer;list-style:none;font:500 1.1rem var(--serif)}summary::-webkit-details-marker{display:none}summary span{width:13px;height:13px;position:relative}summary span::before,summary span::after{content:"";position:absolute;top:6px;left:0;width:13px;height:1px;background:var(--ink);transition:transform .25s}summary span::after{transform:rotate(90deg)}details[open] summary span::after{transform:rotate(0)}details p{margin:0;padding:0 32px 22px 0;color:var(--muted);font-size:.91rem}.section-blush{background:var(--blush)}.contact-wrap{text-align:center;display:flex;align-items:center;flex-direction:column}.contact-wrap .eyebrow{color:#754036}.contact-wrap h2{font-size:clamp(4.3rem,9vw,9rem)}.contact-message{max-width:480px;margin:29px auto 33px;color:#4b3936}.site-footer{background:var(--ink);color:#f8f5f0;padding:50px 0 28px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-name{color:#f8f5f0;font-size:2rem}.footer-links{display:flex;gap:25px}.footer-links a,.footer-bottom{color:#e1dcd5;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase}.footer-links a,.footer-bottom a{color:inherit;text-decoration:none}.footer-bottom{margin-top:55px;padding-top:19px;border-top:1px solid rgba(255,255,255,.2);font-size:.65rem}.mobile-whatsapp{display:none}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--delay,0ms)}.reveal.is-visible{opacity:1;transform:none}@media(max-width:760px){.container{width:min(100% - 32px,600px)}.section{padding:78px 0}.nav-wrap{min-height:65px}.menu-toggle{width:44px;height:44px;display:grid;place-content:center;gap:6px;border:0;background:transparent;cursor:pointer}.menu-toggle i{display:block;width:23px;height:1px;background:var(--ink);transition:transform .25s}.menu-toggle[aria-expanded="true"] i:first-of-type{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] i:last-of-type{transform:translateY(-3.5px) rotate(-45deg)}.site-nav{position:absolute;z-index:-1;top:65px;left:0;width:100%;padding:18px 20px 25px;display:grid;gap:3px;background:var(--paper);border-bottom:1px solid var(--line);transform:translateY(-130%);opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s}.site-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.site-nav>a:not(.button){padding:11px 0}.nav-cta{margin-top:9px}.hero{padding:128px 0 94px;min-height:auto}.hero-grid{grid-template-columns:1fr;gap:47px;min-height:0}.hero h1{font-size:clamp(3.8rem,18vw,5.3rem)}.hero-intro{margin:23px 0 28px}.hero-art{justify-self:start;width:calc(100% - 22px);padding:0 22px 0 0}.hero-placeholder{height:min(115vw,520px)}.scroll-cue{bottom:29px}.scroll-cue span{display:none}.about-grid,.faq-grid{grid-template-columns:1fr;gap:46px}.about-image{width:calc(100% - 21px)}.portrait-placeholder{height:min(115vw,500px)}.about-copy h2{font-size:3.2rem}.section-heading{display:block;margin-bottom:33px}.section-heading>p{margin-top:18px}.services-grid{grid-template-columns:1fr}.service-card{min-height:225px}.service-card h3{margin-top:35px}.content-heading{display:block;margin-bottom:37px}.content-heading .button{margin-top:25px}.gallery{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-item{min-height:145px}.gallery-tall{min-height:298px}.gallery-wide{grid-column:span 2}.faq-intro>p:last-child{margin:19px 0 0}.contact-wrap h2{font-size:clamp(4.3rem,20vw,6rem)}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-links{gap:19px}.footer-bottom{margin-top:36px;width:100%}.mobile-whatsapp{position:fixed;z-index:40;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:11px 18px;background:var(--ink);border-radius:50px;box-shadow:0 5px 21px rgba(0,0,0,.2);color:#fff;text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:600;letter-spacing:.09em}.site-footer{padding-bottom:76px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Real Image, Video & Lightbox Styles */
.hero-img {
  width: 100%;
  height: clamp(430px, 62vw, 635px);
  object-fit: cover;
  object-position: center top;
  clip-path: polygon(8% 0, 100% 0, 100% 91%, 92% 100%, 0 100%, 0 8%);
  display: block;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  transition: transform 0.6s ease;
}
.hero-img:hover {
  transform: scale(1.02);
}

.portrait-img {
  width: 100%;
  height: 550px;
  object-fit: cover;
  object-position: center top;
  clip-path: polygon(0 0, 92% 0, 100% 8%, 100% 100%, 8% 100%, 0 92%);
  display: block;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
  transition: transform 0.6s ease;
}
.portrait-img:hover {
  transform: scale(1.02);
}

.gallery-item {
  position: relative;
  min-height: 240px;
  overflow: hidden;
  border-radius: 6px;
  cursor: pointer;
  background: var(--ink);
}

.gallery-tall {
  grid-row: span 2;
  min-height: 490px;
}

.gallery-wide {
  grid-column: span 2;
}

.gallery-img,
.gallery-video-player {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.gallery-item:hover .gallery-img,
.gallery-item:hover .gallery-video-player {
  transform: scale(1.06);
}

.gallery-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0,0,0,0.1) 50%, transparent 100%);
  display: flex;
  align-items: flex-end;
  padding: 18px;
  opacity: 0;
  transition: opacity 0.35s ease;
  z-index: 2;
}

.gallery-item:hover .gallery-overlay {
  opacity: 1;
}

.gallery-tag {
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 6px 14px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* Lightbox Modal */
.lightbox-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(15, 14, 13, 0.94);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
  padding: 20px;
}

.lightbox-modal.is-active {
  opacity: 1;
  pointer-events: auto;
}

.lightbox-content {
  max-width: 92vw;
  max-height: 88vh;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.lightbox-content img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 8px;
}

.lightbox-content video {
  max-width: 90vw;
  max-height: 85vh;
  border-radius: 8px;
  outline: none;
}

.lightbox-close {
  position: absolute;
  top: 24px;
  right: 28px;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  font-size: 1.6rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.25s ease, transform 0.25s ease;
  z-index: 1001;
}

.button-outline {
  background: transparent;
  color: var(--ink);
  border-color: var(--ink);
}
.button-outline:hover {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}

.email-link {
  color: var(--ink);
  font-weight: 600;
  text-decoration: underline;
  transition: color 0.25s ease;
}
.email-link:hover {
  color: var(--rust);
}

