*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{color:var(--ink);background:var(--paper);font:1rem/1.65 var(--sans);margin:0}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1}h1 em,h2 em{color:var(--gold-dark);font-weight:400}.wrap{width:min(1160px,100% - 96px);margin-inline:auto}.icon-library{width:0;height:0;position:absolute;overflow:hidden}.icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.15rem;height:1.15rem}.header{z-index:5;backdrop-filter:blur(14px);background:#fbf8f2f7;position:sticky;top:0}.nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:78px;display:grid}.brand{font:1.6rem/1 var(--serif);white-space:nowrap;align-items:center;gap:9px;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:25px;height:auto}.site-nav,.footer nav{align-items:center;gap:15px;display:flex}.site-nav{background:#f1eadf;border:1px solid #e7ddcc;border-radius:999px;gap:2px;padding:4px}.site-nav a,.footer nav a{font-size:.82rem;font-weight:600;text-decoration:none}.site-nav a{border-radius:inherit;white-space:nowrap;padding:8px 15px;transition:background .2s,color .2s}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current]{background:var(--white);color:var(--gold-dark)}.footer nav a:hover{text-underline-offset:4px;text-decoration:underline}.nav-actions{justify-self:end;align-items:center;gap:8px;display:flex}.nav .nav-contact{background:var(--gold-light);min-width:134px;min-height:46px;color:var(--ink);border-color:#c8a875;border-radius:999px}.nav .nav-contact:hover{background:#e4c18b}.menu-toggle{width:42px;height:42px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:50%;place-items:center;padding:0;display:none}.menu-toggle .menu-close-icon,.menu-toggle[aria-expanded=true] .menu-open-icon{display:none}.menu-toggle[aria-expanded=true] .menu-close-icon{display:block}.button{border:1px solid var(--ink);background:var(--ink);min-height:48px;color:var(--white);border-radius:6px;justify-content:center;align-items:center;gap:9px;padding:13px 19px;font-size:.86rem;font-weight:600;line-height:1.35;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.button:hover{background:#2b5143;border-color:#2b5143}.button-outline{color:var(--ink);background:0 0;border-color:#b89867}.button-outline:hover{border-color:var(--gold-dark);background:#f3e6d3}.button-gold{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff}.button-gold:hover{background:#704a1c;border-color:#704a1c}.hero{isolation:isolate;background:var(--ink);color:var(--white);position:relative;overflow:hidden}.hero-backdrop{z-index:-2;object-fit:cover;object-position:center 32%;width:100%;height:100%;position:absolute;inset:0}.hero:before{content:"";z-index:-1;background:linear-gradient(90deg, var(--ink) 14%, #1a433789 59%, #1a433700 97%);backdrop-filter:blur(2px);position:absolute;inset:0}.hero-layout{align-items:center;min-height:564px;display:flex;position:relative}.hero-content{z-index:1;width:min(50%,560px);padding-block:48px 60px;position:relative}.label{color:var(--gold-dark);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:9px;font-size:.68rem;font-weight:700;display:flex}.label>span{background:var(--gold);width:19px;height:1px}h1{letter-spacing:-.035em;font-size:clamp(3.8rem,6.4vw,5.76rem);line-height:.92}h1 em{color:var(--gold);margin-top:.11em;display:block}.title-reveal-word{white-space:nowrap}.title-reveal-letter{display:inline-block}@media (prefers-reduced-motion:no-preference){.motion-enabled [data-title-reveal]:not(.is-visible) .title-reveal-letter{opacity:0}.hero .title-reveal-letter,[data-title-reveal].is-visible .title-reveal-letter{animation:.64s cubic-bezier(.2,.65,.3,1) both title-letter-in;animation-delay:calc(80ms + var(--letter-index) * 19ms)}}@keyframes title-letter-in{0%{opacity:0;filter:blur(8px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}.intro{max-width:430px;color:var(--white);margin-block:21px 26px;font-size:1rem;line-height:1.7}.portrait{aspect-ratio:390/588;height:min(588px,51vw);position:absolute;bottom:0;right:-32px}.portrait img{width:auto;max-width:none;height:100%;display:block;position:absolute;bottom:0;left:50%;transform:translate(-49.2%)}.hero-signature{z-index:1;color:var(--white);text-align:right;white-space:nowrap;position:absolute;bottom:24px;right:calc(100% + 9px)}:is(.hero-signature,.contact-signature) strong{letter-spacing:.16em;text-transform:uppercase;font-size:.8rem;font-weight:700;display:block}.hero-signature span{color:#f4e8d2;font-size:.74rem;display:block}.section-space{padding-block:clamp(48px,6.2vw,92px)}.contact-band{background:var(--wash);border-block:1px solid var(--line)}.contact-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"intro portrait";align-items:stretch;min-height:clamp(340px,33vw,440px);display:grid}h2{letter-spacing:-.02em;font-size:clamp(2.65rem,4.8vw,4.35rem)}.section-heading h2{margin-top:10px}.work-band{border-block:1px solid var(--line);background:#f5eee2}.work-band>.section-space{padding-top:clamp(52px,4.45vw,64px)}.gallery-heading>p:not(.label){max-width:70ch;color:var(--body);margin-top:20px;font-size:.91rem}.gallery{margin-top:27px}.gallery-strip{--overlap:14px;isolation:isolate;background:#132f27;border-radius:12px;height:clamp(280px,29vw,410px);display:flex;overflow:hidden}.gallery-clip{isolation:isolate;min-width:0;color:var(--white);text-align:left;background:#142e26;border:0;border-radius:10px;flex:1 1 0;align-content:end;padding:0;transition:flex-grow .62s cubic-bezier(.22,.68,.3,1);display:grid;position:relative;overflow:hidden;box-shadow:-8px 0 20px #101e1866}.gallery-clip+.gallery-clip{margin-inline-start:calc(-1 * var(--overlap))}.gallery-clip[aria-pressed=true]{z-index:2;flex-grow:2.9}.gallery-clip:focus-visible{z-index:3;outline-offset:-4px}.gallery-clip:after{content:"";z-index:-1;opacity:.32;background:linear-gradient(#132c2414 36%,#132c24b8 76%,#132c24 99%);transition:opacity .35s;position:absolute;inset:0}.gallery-clip[aria-pressed=true]:after{opacity:1}.gallery-clip :is(img,video){z-index:-2;object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.gallery-clip img{filter:brightness(.72)saturate(.88);transition:filter .38s}.gallery-clip[aria-pressed=true] img{filter:none}.gallery-clip video{opacity:0;transition:opacity .3s}.gallery-clip.is-playing video{opacity:1}.clip-copy{opacity:0;visibility:hidden;gap:3px;padding:clamp(12px,2vw,24px);transition:opacity .2s,transform .2s,visibility .2s;display:grid;transform:translateY(5px)}.gallery-clip[aria-pressed=true] .clip-copy{opacity:1;visibility:visible;transition-delay:.18s;transform:none}.clip-copy small{color:#f6dbaf;letter-spacing:.09em;text-transform:uppercase;font-size:.65rem;font-weight:700}.clip-copy strong{font:clamp(1.7rem, 3vw, 2.55rem)/1 var(--serif)}.clip-copy>span{font-size:.76rem}.gallery-meta{justify-content:end;align-items:center;gap:12px;margin-top:3px;display:flex}:is(.gallery-sound,.gallery-toggle){min-height:44px;color:var(--ink);background:0 0;border:0;align-items:center;gap:5px;padding:4px 6px;font-size:.74rem;font-weight:600;display:inline-flex}:is(.gallery-sound,.gallery-toggle):hover,.gallery-sound[aria-pressed=true]{color:var(--gold-dark)}:is(.gallery-sound,.gallery-toggle) .icon{width:1rem;height:1rem}summary{cursor:pointer;align-items:center;gap:9px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}.disclosure{color:var(--gold-dark);margin-left:auto;transition:transform .2s}details[open]>summary .disclosure{transform:rotate(45deg)}.contact-intro{grid-area:intro;align-self:center;padding-block:clamp(40px,5.2vw,68px)}.contact-intro>p{max-width:43ch;color:var(--body);margin-top:16px;font-size:.93rem}.contact-actions{justify-items:start;margin-top:24px;display:grid}.contact-actions .button{min-height:52px;padding-inline:25px}.floating-booking{z-index:4;inset:auto max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) auto;border:1px solid var(--gold-light);border-radius:50%;width:52px;height:52px;padding:0;position:fixed;box-shadow:0 5px 16px #102b2330}.floating-booking .icon{width:1.3rem;height:1.3rem}@media (prefers-reduced-motion:no-preference){[data-button-shine]{position:relative;overflow:hidden}[data-button-shine].is-in-view:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 35%,#f7dfae38 50%,#0000 65%);animation:7.5s ease-out .7s infinite both button-shine;position:absolute;inset:0}}@keyframes button-shine{0%{transform:translate(-100%)}13%,to{transform:translate(100%)}}.whatsapp-link{min-height:44px;color:var(--ink);text-underline-offset:4px;align-items:center;font-size:.8rem;display:inline-flex}.whatsapp-link:hover{color:var(--gold-dark)}.contact-portrait{isolation:isolate;grid-area:portrait;position:relative}.contact-backdrop{background:#e7d8bf;border-radius:120px 12px 0 0;position:absolute;inset:13% 0 0 8%;overflow:hidden}.contact-backdrop img{object-fit:cover;object-position:65% center;filter:saturate(.38)sepia(.17);width:100%;height:100%;display:block}.contact-backdrop:after{content:"";background:linear-gradient(110deg,#ecdfc9b8,#ecdfc95c 65%,#f2ebdf24);position:absolute;inset:0}.contact-agent{object-fit:contain;object-position:center bottom;width:74%;height:min(100%,440px);display:block;position:absolute;inset:auto 0 0 auto}.contact-signature{max-width:27%;color:var(--ink);line-height:1.45;position:absolute;inset:auto auto 8% 12%}.contact-signature span{color:var(--gold-dark);font-size:.74rem;display:block}.process{margin-top:clamp(42px,4vw,57px)}.process ol,.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,3vw,32px);margin:30px 0 0;padding:0;list-style:none;display:grid}.process li{border-top:1px solid var(--gold);padding:16px 0 0}.step-number{color:var(--gold-dark);font:400 italic clamp(3.7rem, 6vw, 6.1rem)/.9 var(--serif);margin-bottom:12px;display:block}.process li h3{font-size:clamp(1.75rem,3vw,2.45rem)}.process li p{max-width:300px;color:var(--body);margin-top:8px;font-size:.88rem}.reviews-band{background:var(--ink);color:var(--white)}.reviews-band .label,.reviews-band h2 em{color:var(--gold-light)}.review{background:#ffffff09;border:1px solid #c1934970;border-radius:8px;flex-direction:column;gap:11px;min-height:239px;padding:20px;display:flex}.quote-mark{color:var(--gold-light);font:3.55rem/.64 var(--serif)}.review blockquote{font:1.63rem/1.12 var(--serif);flex:1}.review figcaption{color:#f0dcc0;margin-top:4px;font-size:.71rem}.review:first-child{background:var(--line);color:var(--ink)}.review:first-child .quote-mark{color:var(--gold-dark)}.review:first-child figcaption{color:var(--body)}.faq{grid-template-columns:.77fr 1.23fr;gap:clamp(16px,5vw,72px);display:grid}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{min-height:52px;font-size:.91rem;font-weight:650}.faq-list details p{color:var(--body);max-width:560px;padding-bottom:14px;font-size:.86rem}.footer{background:var(--ink);color:var(--white)}.footer-layout{justify-content:space-between;align-items:center;gap:24px;min-height:105px;padding-block:16px;display:flex}.footer nav a{align-items:center;gap:6px;display:flex}.footer nav .icon{width:1rem;height:1rem;color:var(--gold-light)}.brand-icon{fill:currentColor;stroke:none}.footer strong{font:1.75rem var(--serif)}.footer p{color:#d5e1d6;font-size:.75rem}.motion-enabled [data-reveal]{transition:opacity .58s,transform .65s cubic-bezier(.22,.68,.3,1)}.motion-enabled [data-reveal]:not(.is-visible):not(:focus-within){opacity:0;transform:translateY(15px)}.motion-enabled :is(.hero-content>:not(h1),.portrait,.hero-signature){animation:.72s cubic-bezier(.22,.68,.3,1) both reveal-in}.motion-enabled :is(.hero-content>:nth-child(2),.portrait){animation-delay:90ms}.motion-enabled :is(.hero-content>:nth-child(3),.hero-signature){animation-delay:.17s}@keyframes reveal-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (width<=900px){.wrap{width:min(100% - 58px,1160px)}}@media (width<=1000px){.nav{gap:10px}.brand{font-size:1.2rem}.site-nav a{padding-inline:9px}}@media (width<=780px){html{scroll-padding-top:78px}.wrap{width:min(100% - 36px,520px)}.nav{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:68px}.brand{white-space:normal;gap:7px;font-size:clamp(1rem,4.8vw,1.43rem)}.brand-mark{width:20px}.nav .nav-contact{gap:5px;min-width:0;min-height:40px;padding:7px 9px;font-size:.78rem}.nav-contact .icon{width:.85rem;height:.85rem}.menu-toggle:not([hidden]){display:grid}.site-nav{top:calc(100% + 5px);z-index:1;background:var(--paper);border-radius:10px;gap:3px;padding:7px;display:grid;position:absolute;inset-inline:12px;box-shadow:0 9px 25px #183b3120}.site-nav a{padding:9px 12px}.nav:has(.menu-toggle[aria-expanded=false]:not([hidden])) .site-nav{display:none}.hero{--hero-photo-height:clamp(190px, 53vw, 275px);background:var(--paper);color:var(--ink)}.hero-layout{flex-direction:column;align-items:stretch;width:100%;min-height:0}.hero-content{text-align:center;width:min(100% - 38px,520px);margin-inline:auto;padding-block:23px 32px}.hero-backdrop{height:var(--hero-photo-height);object-position:center 38%}.hero:before{height:var(--hero-photo-height);backdrop-filter:none;background:linear-gradient(90deg,#16382def,#214a3c8c 48%,#1a433724 100%);inset:0 0 auto}.hero h1{text-wrap:balance;font-size:clamp(2.68rem,13.2vw,4rem);line-height:.96}.hero h1 em{color:var(--gold-dark)}.hero .intro{max-width:32ch;color:var(--body);margin:15px auto 20px;font-size:.89rem}.hero .button-gold{background:var(--ink);border-color:var(--ink)}.hero .button-gold:hover{background:#2b5143;border-color:#2b5143}.portrait{height:var(--hero-photo-height);aspect-ratio:auto;order:-1;position:relative;right:auto;overflow:hidden}.portrait img{height:calc(100% + 34px);bottom:-39px;left:min(73%,50% + 145px);transform:translate(-50%)}.portrait:after{content:"";background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--paper) 16%, transparent) 42%, var(--paper));pointer-events:none;height:clamp(49px,25%,66px);position:absolute;inset:auto 0 0}.hero-signature{text-align:left;white-space:normal;max-width:min(40%,200px);inset:auto auto 34px max(20px,50% - 260px)}:is(.hero-signature,.contact-signature) strong{letter-spacing:.06em;font-size:.68rem}:is(.hero-signature,.contact-signature) span{font-size:.7rem}.faq{grid-template-columns:1fr}.gallery-strip{--overlap:4px;height:clamp(235px,65vw,310px)}.gallery-clip{border-radius:7px;grid-template-columns:minmax(0,1fr);min-width:clamp(36px,10.5vw,48px)}.gallery-clip[aria-pressed=true]{flex-grow:5}.clip-copy{overflow-wrap:anywhere;padding:10px}.clip-copy strong{font-size:clamp(1.4rem,6.5vw,2rem)}.clip-copy small{letter-spacing:.06em;font-size:.58rem}.clip-copy>span{font-size:.67rem}.process ol,.reviews-grid{grid-template-columns:1fr;gap:17px}.process li{grid-template-columns:60px minmax(0,1fr);gap:5px 15px;display:grid}.process li p{grid-column:2;margin:0}.step-number{grid-area:1/1/span 2;align-self:center;margin:0}.review{min-height:0}.contact-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"portrait""intro";padding-block:16px 28px}.contact-portrait{height:clamp(175px,49vw,222px)}.contact-backdrop{border-radius:64px 10px 0 0;inset:14% 0 0;mask-image:linear-gradient(#000 67%,#0000)}.contact-backdrop:after{background:linear-gradient(90deg,#ecdfc946,#ecdfc9e6)}.contact-agent{object-position:23% bottom;width:100%;mask-image:linear-gradient(#000 79%,#0000)}.contact-signature{max-width:42%;inset:auto 5% 10% auto}.contact-intro{text-align:center;padding-block:8px 0}.contact-intro>p{margin:12px auto 0}.contact-actions{justify-items:center;margin-top:20px}.contact-actions .button{width:100%}.footer-layout{flex-direction:column;align-items:start;gap:12px;padding-block:22px}.footer nav{flex-wrap:wrap;gap:12px 20px}}@media (width<=380px){.nav{width:calc(100% - 28px)}.brand-mark{width:18px}.nav-actions{gap:5px}.nav .nav-contact{padding-inline:8px;font-size:.76rem}.menu-toggle{width:37px;height:37px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.site-nav a,.gallery-clip,.gallery-clip:after,.gallery-clip :is(img,video),.clip-copy,.disclosure,.motion-enabled [data-reveal]{transition:none}.motion-enabled [data-reveal]:not(.is-visible):not(:focus-within){opacity:1;transform:none}.motion-enabled :is(.hero-content>*,.portrait,.hero-signature){animation:none}}
