@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
:root{--gold:#eebc38;--gold-deep:#b88b17;--ink:#191919;--soft-ink:#42413e;--muted:#73716b;--cream:#fbf9f4;--white:#fff;--border:#eae6db;--warm:#f4efe5;--shadow:0 18px 50px rgba(30,24,11,.055);--font:'DM Sans',system-ui,-apple-system,sans-serif;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:#f3d06d;color:#111}:focus-visible{outline:3px solid #9a6b00;outline-offset:4px}a:hover{transition:color .2s ease}
.skip{position:absolute;left:-9999px;z-index:9999;background:#fff;padding:12px}.skip:focus{left:15px;top:12px}.announcement{background:#161616;color:#f6f2e5;text-align:center;font-size:.69rem;letter-spacing:.19em;text-transform:uppercase;padding:10px 16px}.announcement b{color:var(--gold)}.header{height:88px;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(24,24,24,.075);position:sticky;top:0;z-index:50;backdrop-filter:blur(16px)}.header-inner{max-width:1320px;padding:0 38px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand img{width:62px;height:62px;object-fit:contain}.brand-text{line-height:1.12}.brand-name{display:block;font-family:var(--serif);font-weight:700;font-size:1.25rem;letter-spacing:-.045em}.brand-sub{display:block;color:#9a7419;letter-spacing:.2em;text-transform:uppercase;font-size:.6rem;margin-top:6px}.nav{display:flex;align-items:center;gap:33px}.nav a{font-size:.8rem;font-weight:650;color:#4c4b48}.nav a:hover,.nav a[aria-current=page]{color:#a07612}.header-cta{background:var(--ink)!important;color:#fff!important;border-radius:100px;padding:13px 21px;display:flex;align-items:center;gap:9px}.header-cta:hover{background:#3c3320!important}.mobile-toggle{display:none;width:40px;height:40px;border:1px solid var(--border);border-radius:12px;background:white;align-items:center;justify-content:center}.mobile-toggle span{display:block;width:19px;height:2px;background:#111;margin:4px auto}.layout{max-width:1320px;margin:auto;padding-left:38px;padding-right:38px}.eyebrow{color:#a27a22;font-size:.69rem;font-weight:700;letter-spacing:.23em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';display:inline-block;height:1px;width:27px;background:var(--gold-deep)}.serif{font-family:var(--serif);font-weight:500;letter-spacing:-.058em}.hero{padding:65px 0 86px;background:radial-gradient(ellipse at 20% 40%,#fffefa 0%,#fbf9f4 60%,#f7f3ea 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:54px;align-items:center}.hero-copy{padding:30px 0 25px}.hero h1{font-size:clamp(3.3rem,5vw,5.85rem);line-height:1.105;margin:24px 0 24px;max-width:700px}.hero h1 em{font-style:italic;color:#b58a25}.lead{color:#706e68;line-height:1.95;font-size:1.02rem;max-width:480px}.hero-actions,.inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:31px}.btn{min-height:50px;border:1px solid transparent;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 24px;white-space:nowrap;font-size:.79rem;font-weight:750;transition:all .2s ease;box-shadow:none}.btn-dark{background:#171717;color:#fff;border-color:#171717}.btn-dark:hover{background:#373228;transform:translateY(-2px);box-shadow:0 8px 18px #2222}.btn-gold{background:var(--gold);color:#151515;border-color:var(--gold)}.btn-gold:hover{background:#e2ae22;transform:translateY(-2px)}.btn-outline{border-color:#d8d2c3;color:#252525;background:transparent}.btn-outline:hover{background:#fff;border-color:#b79b5f}.arrow{font-size:1.13rem;line-height:1}.hero-proof{display:flex;gap:16px;align-items:center;color:#777168;font-size:.76rem;margin-top:38px}.proof-line{width:34px;height:1px;background:#b78c25}.hero-composition{position:relative;min-height:525px;padding:10px 4px 30px 45px}.hero-composition:before{content:'';position:absolute;width:75%;height:81%;border:1px solid #ddbe73;top:3%;right:0;z-index:0;border-radius:48% 48% 3px 3px}.hero-shot{position:relative;z-index:1;border-radius:200px 200px 12px 12px;overflow:hidden;box-shadow:0 24px 50px rgba(47,35,18,.14);height:480px;width:85%;margin-left:auto;background:#ddd}.hero-shot img{height:100%;width:100%;object-fit:cover;object-position:center}.hero-inset{width:35%;position:absolute;left:0;bottom:-7px;z-index:2;border:7px solid var(--cream);border-radius:140px 140px 12px 12px;box-shadow:0 12px 34px #0002;overflow:hidden;height:270px;background:#eee}.hero-inset img{width:100%;height:100%;object-fit:cover;object-position:27% center}.hero-label{position:absolute;z-index:3;right:-6px;bottom:5px;background:#fff;border:1px solid #e7e3d9;box-shadow:var(--shadow);padding:14px 21px;border-radius:13px;display:flex;gap:10px;align-items:center;font-size:.73rem;font-weight:650;letter-spacing:.05em}.hero-label span{color:#af8524;font-size:1.6rem}.section{padding:91px 0}.section-sm{padding:56px 0}.section-white{background:#fff}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:39px}.section-title{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,4vw,4.1rem);letter-spacing:-.055em;line-height:1.18;margin:17px 0 0}.section-desc{line-height:1.85;color:#77726b;max-width:410px;font-size:.91rem}.text-link{display:inline-flex;align-items:center;gap:11px;font-size:.78rem;font-weight:750;border-bottom:1px solid var(--gold-deep);padding-bottom:9px;white-space:nowrap}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.category-card{position:relative;background:#f6f0e4;border:1px solid #eadfc8;border-radius:14px;min-height:312px;padding:23px 24px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .25s ease,box-shadow .25s ease}.category-card:hover{transform:translateY(-6px);box-shadow:0 15px 42px #534a311b}.category-card:before{content:'';position:absolute;right:-56px;top:-60px;width:200px;height:200px;border:1px solid rgba(181,131,30,.29);border-radius:50%}.category-card:after{content:'';position:absolute;right:-24px;top:-28px;width:150px;height:150px;border:1px solid rgba(181,131,30,.22);border-radius:50%}.category-card:nth-child(2){background:#eae6dc;border-color:#e2ddd2}.category-card:nth-child(3){background:#f1e9e9;border-color:#e7dede}.category-card:nth-child(4){background:#ebece5;border-color:#e2e4db}.category-num{position:absolute;top:22px;left:24px;font-size:.7rem;font-weight:700;color:#a27a28;letter-spacing:.16em}.category-ornament{position:absolute;top:50px;right:25px;font-family:var(--serif);font-size:6.8rem;font-weight:400;line-height:1;color:#d9c392;opacity:.48}.category-title{font:500 1.62rem/1.19 var(--serif);letter-spacing:-.055em;margin:0 0 10px;position:relative}.category-card p{font-size:.79rem;line-height:1.65;color:#67625b;position:relative;max-width:185px;margin:0 0 22px}.category-arrow{background:#fff;border:1px solid #eae5da;display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:100px;align-self:flex-start}.image-band{background:#171717;color:white;overflow:hidden}.image-band-grid{display:grid;grid-template-columns:1.07fr .93fr;min-height:550px}.image-band-media{background:#464136;overflow:hidden}.image-band-media img{height:100%;width:100%;object-fit:cover}.image-band-content{align-self:center;padding:68px clamp(45px,8vw,115px);max-width:730px}.image-band h2{font-size:clamp(2.7rem,4vw,4.2rem);line-height:1.21;margin:17px 0}.image-band p{color:#c2bbb0;line-height:1.9;font-size:.92rem;max-width:450px}.image-band .eyebrow{color:#f0c95a}.image-band .eyebrow:before{background:#ecc449}.image-band .btn{margin-top:24px}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.feature{background:white;border:1px solid var(--border);border-radius:14px;padding:31px;box-shadow:0 13px 28px #26201108}.feature-number{font:500 2.3rem var(--serif);color:#bf9733}.feature h3{font:500 1.37rem var(--serif);letter-spacing:-.04em;margin:17px 0 9px}.feature p{font-size:.82rem;line-height:1.9;color:#77736b;margin:0}.cta-section{padding:78px 38px;background:#eac35d;color:#191919;position:relative;overflow:hidden}.cta-inner{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative}.cta-section:before{content:'';height:300px;width:300px;border:1px solid #0002;border-radius:50%;position:absolute;right:15%;top:-130px}.cta-section h2{font:500 clamp(2.4rem,4vw,3.5rem) var(--serif);letter-spacing:-.05em;margin:0 0 10px}.cta-section p{margin:0;color:#4d4021;line-height:1.7;max-width:600px}.footer{background:#141414;color:#ddd;padding:64px 0 25px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:52px}.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.footer-brand img{width:58px;height:58px}.footer-brand span{font:500 1.35rem var(--serif);color:white}.footer p,.footer a{color:#aaa69d;font-size:.8rem;line-height:1.95}.footer a:hover{color:var(--gold)}.footer h4{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:#f8f1e5;margin:5px 0 15px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #333;padding-top:21px;margin-top:48px;color:#85817b;font-size:.72rem}.footer-bottom a{color:#a8a29a}.whatsapp-float{position:fixed;z-index:48;right:23px;bottom:24px;display:flex;align-items:center;gap:10px;border-radius:100px;background:#213e2f;color:white;box-shadow:0 13px 28px #0003;padding:13px 17px;font-size:.75rem;font-weight:750;transition:transform .2s}.whatsapp-float:hover{transform:translateY(-3px)}.wa-dot{display:grid;place-items:center;width:27px;height:27px;background:#39bd71;border-radius:100px;color:#fff;font-size:1.16rem}
.page-hero{background:#f5f0e5;padding:84px 0 80px;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;width:410px;height:410px;border-radius:50%;border:1px solid #b9994936;right:2%;top:-160px}.page-hero h1{font-size:clamp(3rem,5vw,5.3rem);line-height:1.13;margin:22px 0 18px}.page-hero p{max-width:720px;color:#706b61;line-height:1.85;font-size:1rem}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.7rem;color:#988d78;letter-spacing:.02em}.breadcrumbs a{color:#6b5b3b}.page-subhead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 25px}.page-subhead h2{font:500 2.4rem var(--serif);letter-spacing:-.05em;margin:0}.gallery-tools{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;padding-bottom:21px;margin-bottom:27px;border-bottom:1px solid #e6e0d6}.filter-set{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{padding:10px 17px;background:#fff;border:1px solid #e6e0d4;color:#665e50;border-radius:100px;font-size:.73rem;font-weight:650;transition:all .2s}.filter-chip:hover{border-color:#cfb16d}.filter-chip.active{background:#1b1b1b;color:white;border-color:#1b1b1b}.gallery-count{font-size:.76rem;color:#898379}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.photo-tile{margin:0;border:1px solid #ede6da;border-radius:14px;background:white;overflow:hidden;box-shadow:0 15px 28px #2822110a;transition:transform .2s,box-shadow .2s}.photo-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px #28221122}.photo-view{display:block;width:100%;border:0;background:#f0ede7;padding:0;text-align:left;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in}.photo-view img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.photo-view:hover img{transform:scale(1.045)}.photo-caption{padding:18px 19px 20px}.photo-caption h3{font:500 1.25rem var(--serif);margin:0 0 6px;letter-spacing:-.04em}.photo-caption p{font-size:.75rem;color:#a27d2f;margin:0}.gallery-empty{text-align:center;max-width:620px;margin:30px auto;background:#fff;border:1px dashed #cfc4ad;padding:60px 30px;border-radius:20px}.gallery-empty .empty-icon{font:500 3rem var(--serif);color:#c9a850}.gallery-empty h3{font:500 2rem var(--serif);margin:12px 0}.gallery-empty p{color:#777068;line-height:1.8}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,8,8,.95);display:none;align-items:center;justify-content:center;padding:35px 24px;flex-direction:column;color:#fff}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:78vh;object-fit:contain;border:1px solid #413d33}.lightbox p{font:.83rem var(--font);color:#e5ded1}.lb-close,.lb-prev,.lb-next{background:#302f2b;color:#fff;border:1px solid #78726a;border-radius:50%;height:44px;width:44px;position:absolute;display:grid;place-items:center;font-size:1.1rem}.lb-close{top:23px;right:27px}.lb-prev{left:22px;top:50%}.lb-next{right:22px;top:50%}.contact-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:40px;align-items:start}.contact-methods{display:grid;gap:13px}.contact-card{border:1px solid var(--border);padding:20px 24px;border-radius:15px;background:#fff;display:flex;align-items:center;gap:16px}.contact-card .symbol{border-radius:13px;width:45px;height:45px;display:grid;place-items:center;background:#fbf1d8;font-size:1.3rem}.contact-card h3{margin:0 0 4px;font-size:.82rem}.contact-card p{margin:0;color:#827a6d;font-size:.84rem}.form-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:35px;box-shadow:var(--shadow)}.form-card h2{margin:0 0 10px;font:500 2.1rem var(--serif);letter-spacing:-.04em}.form-card p{line-height:1.8;font-size:.85rem;color:#777}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:8px;margin-top:16px}.field label{font-size:.75rem;color:#45423a;font-weight:700}.field input,.field select,.field textarea{background:#fcfbf8;border:1px solid #e4ded2;border-radius:9px;min-height:45px;padding:12px 13px;color:#181818;outline:none;width:100%}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#bd9328;box-shadow:0 0 0 3px #eccb7344}.form-card .btn{margin-top:22px}.note{font-size:.72rem!important;color:#89847b!important}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.about-grid img{border-radius:16px;box-shadow:var(--shadow)}.about-grid h2{font:500 clamp(2.5rem,4vw,3.8rem) var(--serif);letter-spacing:-.05em;margin:18px 0}.about-grid p{line-height:2;color:#737069}.coming-note{background:#fff8e7;border:1px solid #efddac;border-radius:12px;padding:17px 19px;color:#725b29;font-size:.8rem;line-height:1.7;margin-top:25px}
@media(max-width:1100px){.nav{gap:17px}.header-inner{padding:0 24px}.layout{padding-left:24px;padding-right:24px}.hero-grid{gap:27px}.category-grid{grid-template-columns:repeat(2,1fr)}.category-card{min-height:270px}.hero-composition{min-height:450px}.hero-shot{height:435px}.image-band-content{padding:50px}}
@media(max-width:760px){.announcement{font-size:.59rem;letter-spacing:.11em}.header{height:77px}.header-inner{padding:0 18px}.brand img{width:53px;height:53px}.brand-name{font-size:1.04rem}.brand-sub{font-size:.53rem}.mobile-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;border-bottom:1px solid #e6e1d6;padding:19px;box-shadow:0 20px 25px #0002;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px 16px;border-radius:10px}.nav .header-cta{justify-content:center;margin-top:11px}.layout{padding-left:20px;padding-right:20px}.hero{padding:43px 0 65px}.hero-grid{grid-template-columns:1fr;gap:20px}.hero-copy{padding:0}.hero h1{font-size:clamp(3.1rem,11vw,4.7rem);margin:20px 0}.hero-composition{min-height:375px;padding:0 0 0 30px}.hero-shot{height:354px;width:86%}.hero-inset{height:195px;width:39%;bottom:-3px;left:0}.hero-label{right:0;bottom:-9px;font-size:.61rem;padding:10px}.hero-label span{font-size:1.2rem}.section{padding:66px 0}.section-intro{align-items:flex-start;flex-direction:column;gap:8px}.category-grid{gap:12px}.category-card{padding:18px;min-height:244px}.category-title{font-size:1.4rem}.category-card p{font-size:.72rem}.category-num{left:18px;top:17px}.category-ornament{font-size:4.7rem;top:47px;right:9px}.category-arrow{height:34px;width:34px}.image-band-grid{grid-template-columns:1fr}.image-band-media{height:295px}.image-band-content{padding:43px 22px 54px}.feature-row{grid-template-columns:1fr}.feature{padding:25px}.cta-inner{align-items:flex-start;flex-direction:column}.cta-section{padding:55px 22px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-grid>div:first-child{grid-column:1/-1}.footer{padding-top:51px}.footer-bottom{flex-direction:column;gap:8px}.page-hero{padding:55px 0 60px}.page-hero h1{font-size:clamp(2.9rem,10vw,4.5rem)}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.photo-caption{padding:13px}.photo-caption h3{font-size:1rem}.photo-caption p{font-size:.68rem}.contact-grid,.about-grid{grid-template-columns:1fr;gap:26px}.form-card{padding:25px}.whatsapp-float{right:13px;bottom:14px;padding:11px 14px}.whatsapp-float span:last-child{display:none}}
@media(max-width:430px){.category-grid{grid-template-columns:1fr 1fr}.category-card{min-height:232px}.category-title{font-size:1.23rem}.category-card p{margin-bottom:12px}.gallery-grid{grid-template-columns:1fr}.photo-caption{padding:17px}.photo-caption h3{font-size:1.23rem}.form-grid{grid-template-columns:1fr;gap:0}.hero-proof{margin-top:24px}.hero h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.gallery-load-more{display:block;margin:32px auto 8px;background:#fff;color:#161616;font-size:.85rem;font-weight:750;border:1px solid #dccb9e;border-radius:999px;padding:15px 29px;box-shadow:0 8px 25px rgba(30,24,11,.09);transition:all .2s ease}.gallery-load-more:hover{background:#edc65c;border-color:#edc65c;transform:translateY(-2px)}.gallery-load-more[hidden]{display:none}
/* Set-up cards: one primary image per event, with detail images in a set-up lightbox */
.setup-tile .photo-view{position:relative}
.setup-photo-count{position:absolute;right:13px;bottom:13px;padding:8px 12px;background:rgba(23,23,23,.82);backdrop-filter:blur(6px);color:white;border:1px solid rgba(255,255,255,.2);border-radius:20px;font-size:.72rem;font-weight:700;box-shadow:0 6px 15px rgba(0,0,0,.15)}
