:root{--paper:#f6f4ef;--ink:#34372f;--muted:#75766e;--line:#d7d6ce;--accent:#444b3e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #7e805f;outline-offset:5px}button{cursor:pointer}figure,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;letter-spacing:-.035em;margin:0}h1{font-size:clamp(46px,6vw,86px)}h2{font-size:clamp(32px,3.7vw,52px)}h3{font-size:24px}em{font-weight:400}.header{position:absolute;inset:0 0 auto;z-index:3;padding:30px 4%;display:flex;justify-content:space-between;align-items:center;gap:25px;color:#fff}.brand{font-family:Georgia,serif;font-size:20px;letter-spacing:.1em;line-height:1.3;white-space:nowrap}.brand span{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:.28em;margin-top:9px}nav{display:flex;gap:32px;font-size:10px;text-transform:uppercase;letter-spacing:.17em}.nav-contact span{margin-left:9px}.hero{position:relative;height:94svh;min-height:550px;max-height:1100px;background:#7c8170}.hero-image{position:absolute;inset:0;margin:0;width:100%;height:100%;background:linear-gradient(125deg,#b5b9aa,#d8d8cb 50%,#9da591)}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#11180e55,transparent 35%,#17201466)}.hero-caption{position:absolute;left:7%;bottom:12%;z-index:2;color:white}.eyebrow{font-size:9px;letter-spacing:.22em;margin-bottom:22px}.hero-explore{position:absolute;right:4%;bottom:6%;z-index:2;color:white;font-size:9px;letter-spacing:.18em}.media{position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#e1e1d6}.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero .media{position:absolute}.placeholder{text-align:center;font-size:10px;letter-spacing:.15em;color:#626958;padding:25px;position:relative}.placeholder span{display:block;font-size:10px;letter-spacing:.02em;margin-top:8px}.hero .placeholder{align-self:center;margin-bottom:40px;color:#414b36;z-index:1}.section{padding:85px 4%}.gallery-intro{text-align:center;margin:0 auto 48px}.gallery-intro .eyebrow{margin-bottom:14px}.gallery-intro h2{font-size:clamp(26px,3vw,40px)}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-item .media{aspect-ratio:3/4}.gallery-item:nth-child(4) .media,.gallery-item:nth-child(5) .media,.gallery-item:nth-child(6) .media{aspect-ratio:4/3}.gallery-item:nth-child(3n+2) .media{background:#d3d6c9}.gallery-item:nth-child(3n) .media{background:#e6e2d9}.section-heading{text-align:center;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:14px}.stories{padding-top:35px;padding-bottom:90px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.video-slot{aspect-ratio:16/9;background:#dcdfd2;flex-direction:column}.play{font-size:32px;font-family:Georgia,serif}.video-slot .placeholder{padding-top:10px}.story-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}.story-caption>span{font-size:8px;letter-spacing:.1em}.editor-note{text-align:center;font-size:10px;color:var(--muted);margin-top:30px}.video-slot iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-load{position:absolute;inset:0;background:none;border:0;color:var(--ink);font-size:13px}.contact{background:#ecebe4;border-top:1px solid var(--line);padding:75px 5% 90px}.contact-heading{text-align:center;margin-bottom:42px}.contact-heading .eyebrow{margin-bottom:16px}.contact-heading>p:last-child{color:#66695f;font-size:12px;margin-top:18px}form{max-width:760px;margin:auto;background:var(--paper);padding:48px 55px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}.field{display:flex;flex-direction:column;margin-bottom:32px}label{font-size:10px;letter-spacing:.03em;margin-bottom:8px}input,textarea{font-size:13px;width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid #a4a798;border-radius:0;padding:13px 0;color:var(--ink)}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#85877d}.form-help{font-size:10px;color:var(--muted);margin:0 0 22px}.button{background:var(--accent);color:white;border:1px solid var(--accent);padding:17px 27px;min-height:50px;font-size:10px;letter-spacing:.08em;display:inline-flex;align-items:center;gap:40px}.button:hover{background:#30382c}.text-link{display:inline-block;border:0;border-bottom:1px solid var(--ink);padding:0 0 5px;background:none;font-size:11px}.contact-alternative{border-top:1px solid var(--line);margin-top:35px;padding-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.contact-alternative>span{font-size:10px;color:var(--muted)}.config-note{font-size:9px;color:var(--muted)}#form-status{font-size:12px;margin-top:17px}#prepared{margin-top:20px}#prepared label{display:block}#copy{margin-top:14px}footer{margin:0 4%;padding:35px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}footer .brand{font-size:15px}footer>span{font-size:9px;color:var(--muted)}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:var(--paper);padding:10px}.skip:focus{top:10px}.noscript{padding:20px}
@media(max-width:760px){.header{padding:24px 5%;flex-direction:column;align-items:center;gap:22px}.brand{font-size:17px;text-align:center}nav{gap:24px;font-size:9px}.hero{height:87svh;min-height:540px}.hero-caption{left:6%;bottom:12%}.hero-caption .eyebrow{font-size:7px;max-width:250px;line-height:1.7}.hero-explore{bottom:5%;right:6%}.section{padding:55px 4%}.gallery-intro{margin-bottom:30px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-item .media,.gallery-item:nth-child(n) .media{aspect-ratio:3/4}.gallery-item:last-child{grid-column:1/-1}.gallery-item:last-child .media{aspect-ratio:3/2}.placeholder{font-size:8px;padding:14px}.placeholder span{font-size:9px}.stories{padding-top:15px}.story-grid{grid-template-columns:1fr;gap:30px}.story-caption h3{font-size:24px}.contact{padding:55px 5%}.contact-heading{margin-bottom:30px}form{padding:28px 22px}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:25px}footer{flex-direction:column;padding:30px 0;gap:22px}.hero .placeholder{margin-top:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Fotografías reales: encuadres completos y una secuencia editorial amplia. */
.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.gallery-item:nth-child(n) .media{aspect-ratio:3/2}
.gallery-item:nth-child(7),.gallery-item:nth-child(13),.gallery-item:nth-child(19){grid-column:1/-1}
.gallery-item:nth-child(n) .media img{object-fit:contain}
.hero-caption{bottom:9%}
.hero-caption h1{font-size:clamp(36px,4.7vw,66px)}
.hero-caption .eyebrow{display:none}
.hero-image:after{background:linear-gradient(180deg,#11180e70,transparent 27%,transparent 53%,#17201466)}
@media(max-width:760px){.photo-grid{grid-template-columns:1fr;gap:12px}.gallery-item:nth-child(n){grid-column:auto}.gallery-item:nth-child(n) .media{aspect-ratio:3/2}.hero-caption{left:6%;bottom:10%}.hero-caption h1{font-size:40px}.hero-image img{object-position:50% 45%}.hero-explore{bottom:4%}}
/* Prueba de galería monocromática. La fotografía de portada conserva su color. */
.brand-logo{display:block;width:280px;height:auto;max-width:100%}
footer .brand-logo{width:250px}
.gallery-monochrome .gallery-item img{filter:grayscale(1);transition:filter 650ms ease}
.gallery-monochrome .gallery-item:focus img,.gallery-monochrome .gallery-item.in-color img{filter:grayscale(0)}
.gallery-item:focus-visible{outline:1px solid var(--accent);outline-offset:5px}
@media(hover:hover) and (pointer:fine){.gallery-monochrome .gallery-item:hover img{filter:grayscale(0)}}
@media(max-width:760px){.header{gap:18px;padding-top:20px}.brand-logo{width:240px}footer .brand-logo{width:230px}}
@media(prefers-reduced-motion:reduce){.gallery-monochrome .gallery-item img{transition:none}}
/* Galería final breve, siempre en color. */
.gallery-item:nth-child(n){grid-column:auto}
.gallery-item:nth-child(5),.gallery-item:nth-child(10){grid-column:1/-1}
.whatsapp-fixed{position:fixed;right:24px;bottom:24px;z-index:20;background:#28633c;color:#fff;padding:15px 23px;border-radius:30px;box-shadow:0 5px 22px #0003;display:flex;gap:22px;align-items:center;font-size:13px;min-height:50px}
.whatsapp-fixed:hover{background:#1d4b2c}
.hero-slide{opacity:0;transition:opacity 1100ms ease}
.hero-slide.active{opacity:1}
.carousel-controls{position:absolute;z-index:4;right:4%;bottom:11%;display:flex;align-items:center;gap:12px;color:#fff;font-size:10px}
.carousel-controls button{background:transparent;color:inherit;border:1px solid #ffffff70;min-width:42px;min-height:42px;padding:8px;cursor:pointer}
@media(max-width:760px){.gallery-item:nth-child(n){grid-column:auto}.whatsapp-fixed{right:15px;bottom:15px;padding:12px 19px}.carousel-controls{bottom:4%;right:6%;gap:6px}.hero:has(.carousel-controls) .hero-explore{display:none}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
/* Portada automática y primer film destacado. */
.carousel-controls{gap:15px;bottom:6%}
.carousel-controls button{border:0;border-bottom:1px solid #ffffff80;min-height:32px;min-width:0;padding:4px 0;font-size:9px;letter-spacing:.05em}
.story-grid{grid-template-columns:1fr;gap:50px;max-width:1150px;margin:auto}
.story-grid article+article{width:75%;margin:0 auto}
.story-grid article:first-child .story-caption h3{font-size:32px}
.video-slot .video-load{background:#0004;color:#fff;text-shadow:0 1px 5px #000;font-size:16px}
.video-slot .video-load:hover{background:#0006}
.video-external{margin-top:12px;font-size:10px}
@media(max-width:760px){.story-grid article+article{width:100%}.story-grid article:first-child .story-caption h3{font-size:25px}.carousel-controls{bottom:4%}}
/* Tipografía editorial inspirada en la referencia: serif + sans ligera. */
body,input,textarea,select,button{font-family:'Poppins',Arial,sans-serif;font-weight:300}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;letter-spacing:.015em}
.hero-caption h1{font-size:clamp(36px,4.5vw,64px)}
nav{font-weight:300;letter-spacing:.18em}
select{width:100%;min-height:48px;border:0;border-bottom:1px solid #a4a798;border-radius:0;background:transparent;color:var(--ink);padding:12px 0;font-size:13px}
select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.wedding-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}
.wedding-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.wedding-card h3{font-size:26px;margin:17px 0 8px}.wedding-card p{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.wedding-card a{display:block}.wedding-card a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.all-weddings{margin:38px auto 0;display:table}
.wedding-page .header,.wedding-index .header{position:relative;color:var(--ink);border-bottom:1px solid var(--line)}
.wedding-intro{text-align:center;padding:65px 5% 40px}.wedding-intro h1{font-size:clamp(40px,5vw,70px)}.wedding-intro p{font-size:12px;color:var(--muted);margin-top:15px}
.wedding-hero{width:92%;margin:0 auto 45px;max-height:85svh;object-fit:contain;display:block}
.wedding-gallery{columns:3;column-gap:14px;padding:0 4%}.wedding-gallery a{display:block;margin-bottom:14px;break-inside:avoid}.wedding-gallery img{display:block;width:100%;height:auto}
.wedding-end{padding:60px 5%;text-align:center}.wedding-end .button{margin:25px 0}.wedding-end h2{font-size:38px}
.lightbox{border:0;padding:0;background:#181a17;color:white;width:100vw;height:100svh;max-width:100vw;max-height:100svh}.lightbox::backdrop{background:#181a17}.lightbox-image{width:100%;height:100%;object-fit:contain;padding:65px 55px}.lightbox button{position:absolute;z-index:2;color:white;background:#0008;border:1px solid #ffffff50;min-height:44px;min-width:44px;font-size:16px}.lightbox-close{top:15px;right:20px}.lightbox-prev{left:10px;top:48%}.lightbox-next{right:10px;top:48%}.lightbox-count{position:absolute;left:25px;top:25px;font-size:12px}.lightbox-open{overflow:hidden}.wedding-index main{max-width:1450px;margin:auto}
@media(max-width:760px){.wedding-cards{grid-template-columns:1fr;gap:32px}.wedding-gallery{columns:2;column-gap:8px}.wedding-gallery a{margin-bottom:8px}.wedding-intro{padding-top:40px}.wedding-hero{margin-bottom:25px}.lightbox-image{padding:65px 12px}.wedding-page .header,.wedding-index .header{padding-bottom:25px}.wedding-end{padding-bottom:95px}}
.lightbox{overflow:hidden}.lightbox-image{display:block}
.wedding-card img{height:auto;aspect-ratio:3/2}
.hero:has(.carousel-controls) .hero-explore{display:none}
