/* Main public site styles.
   Referenced by: index.php, memorias.php, servicios/index.php (+1). */
:root{--ink:#171a1b;--cream:#f6f3ed;--gold:#c8a66a;--muted:#737a79}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:var(--cream)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:1rem;z-index:9}header{position:absolute;z-index:5;left:0;right:0;color:white}.nav{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff40}.brand{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.14em;font-weight:bold}.brand span{color:var(--gold);font-size:27px;font-weight:900;letter-spacing:-.09em}.brand img{height:42px;max-width:90px;object-fit:contain}.brand b{font-weight:800}.nav nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:bold}.nav nav a:hover,footer a:hover{color:var(--gold)}.nav-cta{padding:13px 17px;border:1px solid #ffffff75}.toggle{display:none;background:none;border:0;color:white;font-size:28px}.hero{min-height:740px;background-color:#23282a;background-image:linear-gradient(90deg,#14263De8,#14263Da0 65%,#14263D55);background-size:cover;background-position:center;position:relative;color:white;display:flex;flex-direction:column;justify-content:center}.hero-content{padding:150px 0 90px}.eyebrow{display:block;font-size:11px;letter-spacing:.2em;font-weight:800;color:#a47c42}.hero .eyebrow,.feature .eyebrow,.client .eyebrow{color:#d2b782}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(45px,6.2vw,88px);line-height:1.08;letter-spacing:-.06em;max-width:980px;margin:25px 0}h1 em,h2 em{font-style:normal;color:var(--gold)}.hero p{max-width:550px;line-height:1.8;color:#e7e7e4;font-size:18px}.buttons{display:flex;gap:14px;margin-top:34px}.button{display:inline-block;border:0;padding:17px 24px;font-weight:800;font-size:13px;cursor:pointer}.gold{background:var(--gold);color:#151717}.outline{border:1px solid #ffffff99;color:white}.hero-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:bold;letter-spacing:.15em;padding:0 0 30px;color:#ddd}.section{padding:110px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.split>p,.heading>p{max-width:500px;color:#666e6c;line-height:1.9;font-size:17px}h2{font-size:clamp(38px,4vw,58px);letter-spacing:-.055em;line-height:1.15;margin:18px 0 0}h3{font-size:28px;letter-spacing:-.04em}.intro{background:#f8f6f1}.services{background:#eae7df}.heading{margin-bottom:36px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.card{min-height:445px;padding:22px;color:white;display:flex;flex-direction:column;justify-content:space-between;background-color:#14263D;background-image:linear-gradient(0deg,#14263Ded,#14263D3d 65%);background-size:cover;background-position:center;transition:transform .2s}.card:hover{transform:translateY(-5px)}.card>span{font-size:11px;letter-spacing:.15em}.card h3{margin:0 0 10px}.card p{line-height:1.6;color:#ecece8;font-size:14px}.card a,.feature a{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:7px;font-weight:bold;font-size:13px}.services-foot{display:flex;justify-content:space-between;padding-top:28px;color:#626a67}.services-foot a{font-weight:bold}.feature{background:#14263D;color:white;padding:85px 0}.feature p,.client p{color:#c0c6c3;line-height:1.8;max-width:510px}.feature a{margin-top:15px}.feature-photo{height:390px;background:#14263D center/cover}.gallery{background:#f8f6f1}.gallery p{color:#67706d;line-height:1.8}.gallery small{display:block;border-top:1px solid #d5d4ce;margin-top:25px;padding-top:20px;color:#797d78}.box{background:white;padding:42px;box-shadow:0 25px 70px #18202412}.box h3{margin:18px 0 8px}.box label,.quote label{display:block;font-size:12px;font-weight:bold;margin:17px 0 8px}.code{display:flex;border:1px solid #d4d6d2}.code input{flex:1;min-width:0;border:0;padding:16px}.code button{border:0;background:var(--gold);padding:0 22px;cursor:pointer}.client{background:#14263D;color:white;padding:70px 0}.client h2{font-size:42px}.client-access{justify-self:end;border:1px solid #92846f;color:#d9c4a0;border-radius:99px;padding:15px 20px;font-size:11px;font-weight:bold;letter-spacing:.12em}.client-access:hover{background:#d2b782;color:#202727}.quote{background:#f0ede6}.quote p{color:#68706d;line-height:1.8}.quote form{background:white;padding:35px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.quote input,.quote select,.quote textarea{display:block;width:100%;margin-top:8px;border:1px solid #d9dcd7;background:#fff;padding:13px;outline-color:var(--gold)}.dark{background:#14263D;color:white;margin-top:18px}.foot{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px 0;font-size:12px;color:#bdc2bd}footer{background:#14263D;color:white}footer p{margin:0}footer a:last-child{letter-spacing:.12em}@media(max-width:900px){.toggle{display:block}.nav nav{display:none;position:absolute;top:94px;left:0;right:0;background:#14263D;padding:25px 24px;flex-direction:column;align-items:stretch;gap:20px}.nav nav.open{display:flex}.cards{grid-template-columns:repeat(2,1fr)}.split{gap:35px}}@media(max-width:650px){.wrap{width:min(100% - 32px,1180px)}.hero{min-height:700px}.hero-content{padding:145px 0 70px}.hero-bottom{font-size:9px}.hero-bottom a{display:none}.buttons{flex-direction:column;align-items:flex-start}.section{padding:75px 0}.split{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.card{min-height:360px}.fields{grid-template-columns:1fr}.services-foot,.foot{display:block}.services-foot a,.foot>*{display:block;margin-top:16px}.client-access{justify-self:start}.feature-photo{height:260px}.box,.quote form{padding:25px}}
.business-section{background:#f4f7fb;border-top:1px solid #dce5f1}
.business-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:34px}
.business-heading h2{margin:18px 0 0}
.business-heading em{color:#2f64c8}
.business-heading p{max-width:420px;color:#596675;line-height:1.8;margin:0}
.business-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.business-card{background:#fff;border:1px solid #dbe4f0;min-height:390px;display:flex;flex-direction:column;overflow:hidden}
.business-image{height:165px;flex:0 0 165px;background:#edf2f8 center/cover no-repeat;position:relative}
.business-number{position:absolute;top:18px;left:20px;color:#2f64c8;background:#ffffffe8;padding:6px 8px;font-size:11px;font-weight:bold;letter-spacing:.16em}
.business-content{padding:24px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.business-content h3{margin-top:auto}
.business-card h3{font-size:23px;line-height:1.2;margin:0 0 12px}
.business-card p{color:#596675;font-size:14px;line-height:1.65}
.business-card a{font-size:13px;font-weight:bold;border-bottom:1px solid #2f64c8;padding-bottom:7px}
.business-card a:hover{color:#2f64c8}
.business-credit{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding-top:22px;border-top:1px solid #dbe4f0;color:#596675;font-size:13px}
.business-credit strong{color:#2357bb}
@media(max-width:900px){.business-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.business-heading,.business-credit{display:block}.business-heading p{margin-top:20px}.business-grid{grid-template-columns:1fr}.business-card{min-height:390px}.business-credit strong{display:block;margin-top:7px}}
.catering-feature{background:#1d282b center/cover;color:#fff;margin-top:42px;min-height:340px;padding:46px;display:flex;align-items:center}
.catering-feature>div{max-width:660px}
.catering-feature .eyebrow{color:#d4b777}
.catering-feature h3{font-size:clamp(32px,3.3vw,48px);line-height:1.15;letter-spacing:-.05em;margin:16px 0}
.catering-feature p{color:#e1e7e2;line-height:1.75;max-width:590px}
.catering-feature .button{margin-top:10px}
@media(max-width:650px){.catering-feature{padding:30px;min-height:360px}}
.invitation-art{display:flex;align-items:center;justify-content:center;padding:24px;background-image:radial-gradient(circle at 80% 20%,#bfa97755,transparent 40%),linear-gradient(135deg,#14263D,#29415D)}
.invite-card{width:min(76%,360px);min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;padding:34px 24px;background:#f7f2e8;border:1px solid #d8c59e;box-shadow:0 20px 50px #0005;color:#21302f}
.invite-card span,.invite-card small{font-size:10px;font-weight:bold;letter-spacing:.18em}
.invite-card strong{font-size:clamp(25px,3vw,38px);line-height:1.15;font-family:Georgia,serif;font-weight:normal}
.services .cards{grid-template-columns:repeat(6,minmax(0,1fr))}
.services .card{grid-column:span 2}
.services .card:nth-last-child(-n+2){grid-column:span 3}
.services .card.invitation-card{background-color:#14263D;background-image:radial-gradient(circle at 80% 18%,#c9ae7655,transparent 32%),linear-gradient(0deg,#14263Ded,#29415Da6)}
@media(max-width:900px){.services .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.services .card,.services .card:nth-last-child(-n+2){grid-column:auto}.services .card:last-child{grid-column:1/-1}}
@media(max-width:650px){.services .cards{grid-template-columns:1fr}.services .card:last-child{grid-column:auto}}

.invitation-catalog{background:#f2eee6}.catalog-heading{margin:18px 0 36px}.catalog-heading p{color:#65706d;line-height:1.8}.invitation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.invitation-demo{min-height:310px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.invitation-demo:before,.invitation-demo:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:#fff;opacity:.08}.invitation-demo:before{right:-70px;top:-75px}.invitation-demo:after{left:-95px;bottom:-110px}.invitation-demo:hover{transform:translateY(-5px);box-shadow:0 18px 45px #0002}.invitation-demo>span{font-size:10px;letter-spacing:.18em}.invitation-demo div{position:relative;z-index:1}.invitation-demo small{letter-spacing:.12em;text-transform:uppercase}.invitation-demo h3{font:normal 43px Georgia,serif;margin:8px 0 18px}.invitation-demo b{font-size:12px;border-bottom:1px solid #fff;padding-bottom:6px}.demo-acuarela{background:linear-gradient(145deg,#172c44,#63849a)}.demo-natura{background:linear-gradient(145deg,#294338,#80947d)}.demo-glam{background:linear-gradient(145deg,#111,#866e50)}.demo-rustica{background:linear-gradient(145deg,#5c3929,#bd8060)}.demo-primavera{background:linear-gradient(145deg,#714757,#d29aaa)}.demo-classy{background:linear-gradient(145deg,#151515,#5a554e)}@media(max-width:900px){.invitation-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.invitation-grid{grid-template-columns:1fr}.invitation-demo{min-height:260px}}

/* V37 invitation catalog */
.catalog-more{text-align:center;margin-top:34px}.demo-xv_princesa{background:linear-gradient(145deg,#7a4053,#e4aebe)}.demo-xv_nocturna{background:linear-gradient(145deg,#071a35,#ba9252)}.demo-xv_esmeralda{background:linear-gradient(145deg,#073b32,#b28a3e)}.demo-xv_boho{background:linear-gradient(145deg,#824b3b,#c99b72)}.demo-xv_encantada{background:linear-gradient(145deg,#583f73,#b7a9c8)}.demo-xv_minimal{background:linear-gradient(145deg,#5e4b40,#c58a68)}.demo-acuarela h3{font-family:Palatino Linotype,serif;font-style:italic}.demo-natura h3{font-family:Garamond,serif}.demo-glam h3{font-family:Bodoni MT,Didot,serif}.demo-rustica h3{font-family:Rockwell,serif}.demo-primavera h3,.demo-xv_princesa h3,.demo-xv_encantada h3{font-family:Brush Script MT,Segoe Script,cursive;font-size:52px}.demo-classy h3,.demo-xv_esmeralda h3{font-family:Copperplate Gothic Light,Copperplate,serif}.demo-xv_nocturna h3{font-family:Bodoni MT,Didot,serif}.demo-xv_boho h3{font-family:Segoe Print,cursive}.demo-xv_minimal h3{font-family:Century Gothic,Arial,sans-serif}.invitation-demo h3{line-height:1.02}

.business-provider-link{color:inherit;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.business-provider-link:hover{opacity:.72}

.faq-nav{border-bottom:1px solid #b89b70;padding-bottom:4px}.footer-links{display:flex;gap:22px;align-items:center}.footer-links a{white-space:nowrap}@media(max-width:650px){.footer-links{flex-direction:column;align-items:flex-start;gap:9px}}

/* V41 · Experiencia Total Eventos */
.experience{padding:105px 0;background:radial-gradient(circle at 88% 12%,rgba(200,166,106,.18),transparent 28%),linear-gradient(145deg,#14263D 0%,#14263D 58%,#14263D 100%);overflow:hidden}
.experience h2{font-size:clamp(42px,5vw,66px);max-width:760px;margin:16px 0 22px}.experience h2 em{color:#d2b782}
.experience-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:55px;align-items:end;margin-bottom:54px}.experience-intro p{max-width:720px;font-size:17px;margin-bottom:0}
.experience-actions{display:flex;flex-direction:column;gap:14px;align-items:stretch;min-width:230px}.experience-actions .client-access{justify-self:auto;text-align:center}.experience-quote{padding:14px 18px;text-align:center;color:#f4f1ea;font-size:11px;font-weight:800;letter-spacing:.12em;border-bottom:1px solid #7c827d}
.experience-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:22px;align-items:stretch}.experience-features{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.experience-features article{display:flex;gap:18px;min-height:152px;padding:24px;background:rgba(255,255,255,.055);border:1px solid rgba(210,183,130,.2);transition:background .2s,border-color .2s,transform .2s}.experience-features article:hover{background:rgba(255,255,255,.085);border-color:rgba(210,183,130,.5);transform:translateY(-2px)}
.experience-features article>span{color:#d2b782;font:italic 24px/1 Georgia,serif}.experience-features h3{font-size:19px;letter-spacing:-.02em;margin:0 0 8px}.experience-features p{font-size:13px;line-height:1.65;margin:0;color:#bfc7c3}
.experience-video-shell{min-height:480px;border:1px solid rgba(210,183,130,.45);padding:12px;background:rgba(8,13,13,.45);box-shadow:0 28px 70px #0004;position:relative}.experience-video-shell:before,.experience-video-shell:after{content:"";position:absolute;width:48px;height:48px;z-index:1;pointer-events:none}.experience-video-shell:before{left:5px;top:5px;border-left:1px solid #d2b782;border-top:1px solid #d2b782}.experience-video-shell:after{right:5px;bottom:5px;border-right:1px solid #d2b782;border-bottom:1px solid #d2b782}
.experience-video{display:block;width:100%;height:100%;min-height:454px;object-fit:cover;background:#14263D}.experience-video-placeholder{height:100%;min-height:454px;padding:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,rgba(20,38,61,.25),rgba(20,38,61,.9)),repeating-linear-gradient(135deg,rgba(210,183,130,.06) 0,rgba(210,183,130,.06) 1px,transparent 1px,transparent 16px)}
.experience-play{width:82px;height:82px;border:1px solid #d2b782;border-radius:50%;display:grid;place-items:center;color:#d2b782;font-size:25px;padding-left:5px;box-shadow:0 0 0 12px rgba(210,183,130,.07);margin-bottom:30px}.experience-video-placeholder>span{color:#d2b782;font-size:10px;font-weight:800;letter-spacing:.22em}.experience-video-placeholder h3{font:normal clamp(28px,3vw,40px)/1.1 Georgia,serif;margin:15px 0}.experience-video-placeholder p{font-size:14px;max-width:390px;margin:0 auto 24px;color:#c6ceca}.experience-video-placeholder small{font-size:10px;letter-spacing:.18em;color:#919c97}
.experience-foot{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#c4cbc8}.experience-foot strong{color:#fff;font-size:15px}
@media(max-width:900px){.experience-intro{grid-template-columns:1fr;align-items:start}.experience-actions{align-items:flex-start;min-width:0}.experience-layout{grid-template-columns:1fr}.experience-video-shell{min-height:420px}}
@media(max-width:650px){.experience{padding:78px 0}.experience-intro{gap:28px;margin-bottom:38px}.experience-features{grid-template-columns:1fr}.experience-features article{min-height:auto}.experience-video-shell{min-height:390px}.experience-video,.experience-video-placeholder{min-height:364px}.experience-video-placeholder{padding:32px 24px}.experience-foot{align-items:flex-start;flex-direction:column}.experience-actions{width:100%}.experience-actions a{width:100%}.experience h2 br{display:none}.experience h2 em:before{content:" "}}

/* V44 · Memorias reales */
.memories{background:#14263D;color:#fff}.memories-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;margin-bottom:34px}.memories-heading h2{margin-top:16px}.memories-heading p{max-width:520px;margin:0;color:#c1c9c5;line-height:1.8;font-size:17px}.memory-filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.memory-filters button{border:1px solid #ffffff38;background:transparent;color:#e7ebe7;padding:10px 14px;cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.05em}.memory-filters button:hover,.memory-filters button.active{background:#d2b782;border-color:#d2b782;color:#202727}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.memory-card{background:#151b1c;border:1px solid #ffffff18;overflow:hidden}.memory-card[hidden]{display:none}.memory-card video{display:block;width:100%;aspect-ratio:9/16;max-height:580px;background:#14263D;object-fit:cover}.memory-card>div{padding:20px}.memory-card span{display:block;color:#d2b782;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.memory-card h3{font-size:22px;margin:9px 0 0}.memory-empty{border:1px solid #ffffff26;min-height:300px;padding:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(135deg,#ffffff04 0,#ffffff04 1px,transparent 1px,transparent 18px)}.memory-empty span{color:#d2b782;font-size:10px;font-weight:bold;letter-spacing:.2em}.memory-empty h3{font:normal clamp(28px,4vw,44px)/1.1 Georgia,serif;margin:16px 0}.memory-empty p{color:#bdc5c1;margin:0}
@media(max-width:900px){.memories-heading{grid-template-columns:1fr;gap:25px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.memory-grid{grid-template-columns:1fr}.memory-card video{max-height:none}.memory-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.memory-filters button{white-space:nowrap}.memory-empty{padding:32px 22px}}

/* V45 · página independiente de memorias */
.memory-page{background:#14263D}.memory-page header{position:relative;background:#171d1e}.memory-page .nav{border-bottom-color:#ffffff26}.memory-page-hero{padding:90px 0 95px;color:#fff;background:radial-gradient(circle at 80% 20%,#c8a66a2e,transparent 30%),linear-gradient(135deg,#14263D,#20364F)}.memory-page-hero h1{margin:22px 0}.memory-page-hero p{max-width:680px;color:#cbd2ce;font-size:18px;line-height:1.8}.memory-back{display:inline-block;margin-bottom:48px;padding-bottom:7px;border-bottom:1px solid #d2b782;color:#fff;font-size:12px;font-weight:bold}.memory-page .memories{padding-top:90px}.memory-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:70px;padding:45px;border:1px solid #d2b78255;background:#151b1c}.memory-cta h2{font-size:clamp(32px,4vw,50px);margin-top:14px}.memory-cta .button{white-space:nowrap}.memory-page footer{border-top:1px solid #ffffff1c}
@media(max-width:650px){.memory-page-hero{padding:65px 0}.memory-back{margin-bottom:35px}.memory-cta{align-items:flex-start;flex-direction:column;padding:30px 24px}.memory-cta .button{width:100%;text-align:center}}

/* V50: public invitation collections in primary navigation */
@media(min-width:1000px){.nav{flex-wrap:wrap}.nav #menu{flex-wrap:wrap;justify-content:flex-end;row-gap:12px}}

/* Menú desplegable de servicios */
.service-menu{position:relative}.service-menu summary{cursor:pointer;list-style:none}.service-menu summary::-webkit-details-marker{display:none}.service-menu summary:after{content:'⌄';margin-left:6px;color:var(--gold)}.service-menu-panel{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);width:315px;padding:10px;background:#14263D;border:1px solid #ffffff24;box-shadow:0 20px 45px #0005;display:grid;gap:2px}.service-menu:not([open]) .service-menu-panel{display:none}.nav nav .service-menu-panel a{display:block;padding:11px 13px;color:#fff;font-size:12px;line-height:1.25}.nav nav .service-menu-panel a:hover{background:#ffffff0d;color:var(--gold)}.service-menu-panel a small{display:block;margin-top:3px;color:#c8a66a;font-size:9px;letter-spacing:.07em}.service-menu-panel>span{display:block;height:1px;margin:6px 12px;background:#ffffff1c}
@media(max-width:900px){.service-menu{width:100%}.service-menu summary{padding:0}.service-menu-panel{position:static;transform:none;width:100%;margin-top:12px;padding:8px;border-color:#ffffff18;box-shadow:none}.nav nav .service-menu-panel a{padding:10px 12px;border-left:1px solid #c8a66a55}}
