:root{--paper:#fbf9f5;--ink:#252d29;--gold:#80674b;--line:#d9d3c9;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}h2{font-size:clamp(38px,4.4vw,68px);line-height:1.13;letter-spacing:-2px}h3{line-height:1.2}p+p{margin-top:20px}.wrap{max-width:1280px;width:calc(100% - 112px);margin:auto}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.4px;line-height:1.6;margin-bottom:28px}.small{font-size:14px;line-height:1.6}.nav{height:100px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line)}.wordmark{font:italic 30px/1 var(--serif);letter-spacing:-1.3px;display:block}.wordmark span{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:2.1px;margin-top:9px}.nav nav{display:flex;gap:34px;font-size:14px}.nav nav a{border-bottom:1px solid transparent;transition:border-color .25s}.nav nav a:hover{border-color:var(--gold)}.signature{font:italic 14px var(--serif)}.signature b{font:600 19px Arial;letter-spacing:2px;margin-left:6px}.hero{position:relative;min-height:740px;height:calc(100svh - 100px);max-height:1000px;color:white;overflow:hidden}.hero>img{height:100%;position:absolute;object-position:60% 50%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,22,19,.78),rgba(14,22,19,.3) 55%,rgba(14,22,19,.08)),linear-gradient(0deg,rgba(14,22,19,.5),transparent 40%)}.hero-copy{position:relative;padding:110px 7% 130px;max-width:880px}.hero h1{font-size:clamp(65px,7.5vw,116px);line-height:.98;letter-spacing:-4px;margin-bottom:34px}.hero h1 em{color:#ebd8b9}.hero-copy>p:not(.eyebrow){font-size:18px;color:#f4f0e9;line-height:1.65}.button{display:inline-flex;align-items:center;gap:45px;border:1px solid #e6ded0;padding:14px 24px;font-size:14px;margin-top:34px;transition:background .25s,color .25s}.button:hover{background:var(--paper);color:var(--ink)}.button span{font-size:22px}.hero-bottom{position:absolute;bottom:28px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px}.intro{padding:130px 0 110px;text-align:center}.intro .eyebrow{color:var(--gold)}.intro-body{max-width:890px;margin:44px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:48px;text-align:left;color:#555e58}.intro-body p+p{margin:0}.editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;padding:20px 0 130px;align-items:center}.photo img{aspect-ratio:4/5;object-position:48%}.caption{font-size:10px;letter-spacing:1.8px;display:block;margin-top:17px}.editorial h2{font-size:clamp(36px,3.6vw,55px);margin-bottom:28px}.editorial p:not(.eyebrow){color:#555e58}.editorial blockquote{font:italic 31px/1.3 var(--serif);border-left:1px solid var(--gold);padding-left:24px;margin:35px 0;color:var(--gold)}.keepsake{background:#eae6dd;padding:95px 0}.keepsake-grid{display:grid;grid-template-columns:1.15fr .7fr;align-items:center;gap:15%}.keepsake-grid h2{margin-bottom:38px}.keepsake-grid img{max-height:630px;object-fit:contain}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:60px}.section-heading>p{color:#555e58;font-size:15px}.collection{padding:130px 0}.packages{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.package{padding:38px 32px 38px 0;display:flex;flex-direction:column}.package+ .package{border-left:1px solid var(--line);padding-left:32px}.number{font-size:11px;letter-spacing:1.6px;color:var(--gold)}.package h3{font-size:48px;margin-top:23px}.price{font:25px var(--serif);margin-top:12px}.package-intro{font-size:16px;min-height:64px;margin-top:28px}.package ul{list-style:none;padding:20px 0 26px;margin:0;font-size:15px;flex:1}.package li{padding:10px 0;border-bottom:1px solid #e3dfd8}.text-link{font-size:13px;display:inline-block;margin-top:18px;text-decoration:underline;text-underline-offset:6px}.diamond-card{background:#eee9e0;padding-right:26px}.package-note{color:#657067;margin-top:20px}.diamond-section{background:var(--ink);color:var(--paper);padding:100px 0}.diamond-section .eyebrow{color:#d4bd97}.diamond-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:9%;align-items:center;margin-bottom:48px}.diamond-heading p{color:#d7ddd5}.diamond-photo{aspect-ratio:16/9;object-fit:contain}.diamond-captions{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:36px}.diamond-captions span{font-size:11px;letter-spacing:2px;color:#cfb48e}.diamond-captions h3{font-size:30px;margin:13px 0}.diamond-captions p{color:#d7ddd5}.disclosure{margin-top:34px;color:#b1bcb3}.connection{padding:130px 0}.connection>h2{margin-bottom:55px}.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.connection h3{font-size:31px;margin-bottom:22px}.connection-grid p{color:#555e58}.details{background:#f0ede7;padding:100px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.detail-grid h2{margin-bottom:30px}.detail-grid>div>p:not(.eyebrow){color:#555e58}.accordions details{border-bottom:1px solid #c8c5bc}.accordions summary{padding:22px 28px 22px 0;cursor:pointer;list-style:none;position:relative;font-size:17px}.accordions summary:after{content:'+';position:absolute;right:0;font-weight:300;font-size:23px;top:14px}.accordions details[open] summary:after{content:'−'}.accordions details p{font-size:15px;color:#555e58;padding:0 20px 25px 0}.closing{text-align:center;padding:130px 0}.closing>p:not(.eyebrow){margin-top:28px;color:#555e58}.dark{border-color:var(--ink)}.dark:hover{background:var(--ink);color:white}footer{border-top:1px solid var(--line);padding:40px 5%;display:flex;justify-content:space-between;gap:30px;align-items:center}footer p{font-size:14px}footer p+p{margin:0}
@media(max-width:1000px){.nav nav{gap:20px}.signature{display:none}.wrap{width:calc(100% - 64px)}.hero-copy{padding-top:100px}.package{padding-right:22px}.package+.package{padding-left:22px}.section-heading{display:block}.section-heading>p{margin-top:24px}.editorial{gap:5%}.keepsake-grid{gap:8%}.diamond-heading{gap:5%}.detail-grid{gap:6%}}
@media(max-width:700px){html{scroll-padding-top:20px}.nav{height:auto;min-height:100px;padding:20px 22px;flex-wrap:wrap;gap:22px}.wordmark{font-size:27px}.nav nav{gap:18px;overflow:auto;width:100%;font-size:13px;padding-bottom:4px}.nav nav a{white-space:nowrap}.hero{min-height:660px;height:80svh;max-height:850px}.hero>img{object-position:57%}.hero-copy{padding:85px 25px 120px}.hero h1{font-size:68px;letter-spacing:-3px}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-copy br:not(h1 br){display:none}.hero-bottom{left:25px;right:25px;font-size:9px}.hero-bottom span:last-child{display:none}.wrap{width:calc(100% - 44px)}h2{font-size:41px;letter-spacing:-1.3px}.eyebrow{font-size:11px;letter-spacing:1.7px}.intro,.collection,.connection,.closing{padding:80px 0}.intro-body{grid-template-columns:1fr;gap:20px;margin-top:32px}.editorial{grid-template-columns:1fr;gap:44px;padding-bottom:80px}.photo img{aspect-ratio:1.1;object-position:center}.editorial h2{font-size:40px}.keepsake{padding:70px 0}.keepsake-grid{grid-template-columns:1fr;gap:42px}.keepsake-grid img{width:80%;margin:auto;max-height:none}.packages{grid-template-columns:1fr}.package,.package+.package{padding:34px 24px;border-left:0;border-bottom:1px solid var(--line)}.package h3{font-size:45px}.package-intro{min-height:0}.package ul{padding-top:13px}.diamond-section{padding:75px 0}.diamond-heading,.diamond-captions,.connection-grid,.detail-grid{grid-template-columns:1fr;gap:30px}.diamond-heading{margin-bottom:30px}.diamond-photo{width:calc(100% + 44px);max-width:none;margin-left:-22px}.diamond-captions h3{font-size:28px}.details{padding:75px 0}.closing h2{font-size:43px}footer{flex-direction:column;text-align:center;gap:25px}.button{padding:14px 20px}.connection>h2{margin-bottom:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.lounge-live{margin:64px 0 0}.lounge-live>img{height:auto;object-fit:contain}.lounge-live figcaption{max-width:800px;margin-top:26px}.lounge-live h3{font-size:30px;margin-bottom:14px}.lounge-live p{color:#d7ddd5}@media(max-width:700px){.lounge-live{margin-top:44px}.lounge-live h3{font-size:28px}}

/* Quiet editorial motion; the page retains native scrolling. */
@media(prefers-reduced-motion:no-preference){
  .photo{overflow:hidden}
  .photo img{transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
  .package{transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease,background-color .55s ease;transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));position:relative}
  .button{transition:transform .35s ease,background-color .35s ease,color .35s ease}
  .button span{transition:transform .35s ease}
  .text-link{transition:color .3s ease,text-underline-offset .3s ease}
  .nav nav a{transition:border-color .3s ease,color .3s ease}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .photo:hover img{transform:scale(1.025)}
  .package:hover{transform:perspective(1200px) translateY(-6px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 20px 36px -24px rgba(25,35,28,.3);z-index:1}
  .button:hover{transform:translateY(-3px)}
  .button:hover span{transform:translateY(3px)}
  .text-link:hover{text-underline-offset:9px;color:var(--gold)}
}
@media(prefers-reduced-motion:reduce){.package,.photo img,.button{transform:none!important}}

.lupa-logo{width:100px;height:auto;object-fit:contain;mix-blend-mode:multiply}
.brand-signature{display:flex;align-items:center;gap:8px;flex-shrink:0}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand .lupa-logo{width:110px}
.whatsapp-float{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:100;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#128c4a;color:white;box-shadow:0 6px 24px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.3);transition:transform .3s ease,background-color .3s ease}
.whatsapp-float svg{width:30px;height:30px}
.whatsapp-float:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.whatsapp-float:hover{transform:translateY(-4px);background:#0c713b}}
@media(max-width:1000px) and (min-width:701px){.brand-signature{display:none}}
@media(max-width:700px){.brand-signature{display:flex;order:1;margin-left:auto}.nav>.wordmark{order:0}.nav>nav{order:2}.brand-signature .lupa-logo{width:76px}.footer-brand{flex-direction:column;gap:4px}footer{padding-bottom:110px}.whatsapp-float{width:56px;height:56px;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom))}}

/* Frame the supplied logo without altering its artwork or proportions. */
.avp-brand{position:relative;display:block;width:240px;aspect-ratio:902/258;overflow:hidden;flex-shrink:0;letter-spacing:normal}
.avp-brand img{position:absolute;max-width:none;width:110.865%;height:217.83%;left:-5.432%;top:-60.078%;object-fit:contain}
@media(max-width:1100px) and (min-width:701px){.nav .avp-brand{width:210px}.nav nav{gap:22px}}
@media(max-width:700px){.nav .avp-brand{width:clamp(160px,48vw,210px)}.nav{column-gap:12px}footer .avp-brand{width:240px}}

.avp-brand{width:204px}
@media(max-width:1100px) and (min-width:701px){.nav .avp-brand{width:179px}}
@media(max-width:700px){.nav .avp-brand{width:clamp(136px,40.8vw,179px)}footer .avp-brand{width:204px}}

.avp-brand{width:180px}
@media(max-width:1100px) and (min-width:701px){.nav .avp-brand{width:158px}}
@media(max-width:700px){.nav .avp-brand{width:clamp(124px,36vw,158px)}footer .avp-brand{width:180px}}
.package-contact{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--ink);padding:12px 16px;margin-top:24px;font-size:14px;transition:background .25s ease,color .25s ease}
.package-contact:hover,.package-contact:focus-visible{background:var(--ink);color:var(--paper)}
.photo-expand{display:block;position:relative;border:0;padding:0;background:transparent;color:inherit;width:100%;cursor:zoom-in;font:inherit;text-align:inherit}
.photo-expand:after{content:'Ampliar ↗';position:absolute;bottom:16px;right:16px;padding:7px 13px;background:rgba(28,36,31,.85);color:white;font-size:14px;border:1px solid rgba(255,255,255,.4);pointer-events:none}
.photo-expand:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.photo-expand .diamond-photo{width:100%;margin:0}.photo-expand img{height:auto}
.photo-viewer{border:0;padding:52px 20px 20px;background:#1a211d;color:#fbf9f5;width:min(1200px,95vw);max-height:94dvh;overflow:auto;box-shadow:0 24px 100px #0006}
.photo-viewer::backdrop{background:rgba(10,15,12,.88);backdrop-filter:blur(5px)}
.photo-viewer figure{margin:0}.photo-viewer img{width:100%;max-height:74dvh;object-fit:contain}.photo-viewer figcaption{font-size:14px;margin:16px auto 0;max-width:850px;text-align:center;line-height:1.5}
.viewer-close{position:absolute;right:8px;top:4px;width:44px;height:44px;border:0;background:transparent;color:white;font-size:32px;cursor:pointer}.viewer-close:focus-visible{outline:2px solid white;outline-offset:-4px}
@media(prefers-reduced-motion:no-preference){.photo-viewer[open]{animation:viewer-in .25s ease-out}@keyframes viewer-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}

/* Let editorial content use the available space on large displays. */
@media(min-width:1440px){
  .wrap{width:88%;max-width:2160px}
  .intro{display:grid;grid-template-columns:1.08fr 1fr;column-gap:7%;text-align:left;align-items:center;padding:100px 0}
  .intro>.eyebrow{grid-column:1/-1;margin-bottom:30px}
  .intro>h2{font-size:clamp(48px,3.3vw,82px);letter-spacing:-1.8px}
  .intro-body{display:grid;grid-template-columns:1fr;gap:22px;max-width:none;margin:0;font-size:clamp(17px,.8vw,20px);line-height:1.75}
  .intro-body p{max-width:70ch}
  .editorial{grid-template-columns:1.08fr 1fr;gap:7%;padding-bottom:100px}
  .photo img{aspect-ratio:1.18;object-position:center}
  .editorial-copy>p:not(.eyebrow),.keepsake-grid p:not(.eyebrow),.diamond-heading>p,.diamond-captions p,.lounge-live p,.connection-grid p,.detail-grid>div>p:not(.eyebrow){font-size:clamp(17px,.8vw,20px);max-width:72ch}
  .editorial h2{font-size:clamp(46px,3vw,70px)}
  .keepsake-grid{grid-template-columns:1.15fr .85fr;gap:8%}
  .keepsake-grid img{max-height:760px}
  .diamond-heading{grid-template-columns:1.08fr 1fr;gap:7%}
  .diamond-photo{max-height:900px}
  .lounge-live>img,.lounge-live>.photo-expand img{max-height:1000px;object-fit:contain}
  .lounge-live figcaption{max-width:1100px}
  .connection-grid,.detail-grid{gap:7%}
  .package{padding-right:clamp(32px,2.4vw,60px)}
  .package+.package{padding-left:clamp(32px,2.4vw,60px)}
  .package-intro,.package ul{font-size:17px}
}

:root{--nav-height:100px}
html{scroll-padding-top:calc(var(--nav-height) + 24px)}
.nav{position:sticky;top:0;z-index:50;box-shadow:0 4px 18px rgba(25,35,28,.06)}
.diamond-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,88px);max-width:1700px;margin:0 auto}
.diamond-frame{aspect-ratio:836/941;overflow:hidden;min-width:0}
.diamond-frame>img,.diamond-frame .photo-expand,.diamond-frame .photo-expand img{width:100%;height:100%;aspect-ratio:836/941;object-fit:cover}
.diamond-left{object-position:left center}.diamond-right{object-position:right center}
.photo-viewer img.viewer-half{width:auto;height:min(70dvh,941px);max-width:100%;aspect-ratio:836/941;object-fit:cover;margin:auto}
.photo-viewer img.viewer-left{object-position:left center}.photo-viewer img.viewer-right{object-position:right center}
.diamond-captions{max-width:1700px;margin:40px auto 0;gap:clamp(28px,4vw,88px)}
.lounge-live{margin-top:90px}
@media(max-width:700px){.diamond-gallery{gap:20px}.diamond-captions{margin-top:30px;gap:28px}.lounge-live{margin-top:60px}}

@font-face{font-family:'Reglika Mosta';src:url('/assets/fonts/reglika-mosta-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
h1,h2,.package h3{font-family:'Reglika Mosta',Georgia,serif;font-weight:400;font-synthesis:none;letter-spacing:0;line-height:1.3;overflow-wrap:normal}
h1 em,h2 em{font-style:normal}
.hero h1{font-size:clamp(44px,5vw,76px);letter-spacing:0;line-height:1.24}
h2{font-size:clamp(36px,4vw,62px)}
.editorial h2{font-size:clamp(34px,3.3vw,54px)}
.package h3{font-size:48px;line-height:1.4;padding-top:5px}
@media(min-width:1440px){.intro>h2{font-size:clamp(44px,3vw,72px);letter-spacing:0}.editorial h2{font-size:clamp(42px,2.8vw,64px)}}
@media(max-width:700px){.hero h1{font-size:clamp(32px,8vw,42px);letter-spacing:0}.hero-copy{padding-top:64px}h2,.intro>h2,.editorial h2{font-size:35px;letter-spacing:0;line-height:1.35}.closing h2{font-size:38px}.package h3{font-size:45px}}

/* Independent foreground and background depth with native scrolling. */
@media(prefers-reduced-motion:no-preference){.hero>img{top:-30%;height:160%;transform:translate3d(0,var(--hero-image-y,0px),0);will-change:transform}.hero-copy{transform:translate3d(0,var(--hero-copy-y,0px),0);will-change:transform}}

/* Mobile title composition; desktop typography and hero line breaks stay intact. */
@media(max-width:700px){
  h2,.intro>h2,.editorial h2,.closing h2{
    font-size:clamp(28px,8vw,34px);
    line-height:1.28;
    letter-spacing:0;
    text-wrap:balance;
  }
  h2 br{display:none}
  h2 em{display:inline}
  h3{text-wrap:balance}
  .intro-body{margin-top:28px}
}

/* Give faces room above the mobile hero title and show the production credit. */
@media(max-width:700px){
  .hero{height:auto;min-height:820px;max-height:none}
  .hero-copy{padding-top:clamp(210px,32svh,290px);padding-bottom:140px}
  .hero-bottom{flex-direction:column;align-items:flex-start;gap:10px;font-size:9px;letter-spacing:1.5px}
  .hero-bottom span:last-child{display:block}
}

/* Reglika's tall swashes need generous space between title lines. */
h2,.intro>h2,.editorial h2,.closing h2{
  font-size:clamp(36px,3.5vw,56px);
  line-height:1.65;
  letter-spacing:.005em;
  text-wrap:balance;
}
.hero h1{line-height:1.5}
.package h3{line-height:1.65}
.intro>.eyebrow,.editorial-copy>.eyebrow,.section-heading .eyebrow,.diamond-section>.wrap>.eyebrow,.closing>.eyebrow{margin-bottom:36px}
@media(min-width:1440px){
  .intro>h2{font-size:clamp(42px,2.8vw,64px)}
  .editorial h2{font-size:clamp(38px,2.6vw,56px)}
}
@media(max-width:700px){
  h2,.intro>h2,.editorial h2,.closing h2{font-size:clamp(28px,8vw,34px);line-height:1.65}
  .hero h1{line-height:1.5}
}
