:root{--paper:#f5efe7;--sand:#e7d7c7;--tan:#c9a88d;--red:#9d1414;--ink:#3b3531;--muted:#625a54;--olive:var(--red);--line:#d6c3b3;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.1)}.brand{display:inline-flex;align-items:center;gap:11px;font-size:11px;letter-spacing:.12em;font-weight:700;white-space:nowrap}.brand-mark{width:29px;height:29px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:italic 17px var(--serif);letter-spacing:0}.brand-logo{display:block;width:min(230px,55vw);height:auto;object-fit:contain;flex:none}.nav-links{display:flex;align-items:center;gap:38px;font-size:12px}.nav-links a:not(.nav-cta){color:#625a54}.nav-cta{border:1px solid var(--ink);padding:11px 16px}.nav-cta span,.button span{margin-left:15px}.menu-toggle{display:none;background:none;border:0;font-size:23px}.hero{padding:54px 7.2% 72px;display:grid;grid-template-columns:1fr 1fr;gap:5%;position:relative;min-height:675px}.hero-copy{align-self:center;padding-bottom:20px}.eyebrow{font-size:9px;letter-spacing:.18em;font-weight:700;color:var(--olive);margin:0 0 27px}.hero .eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9d1414;margin-right:8px}.hero h1,h2{font:400 clamp(48px,6.2vw,82px)/1.08 var(--serif);letter-spacing:-.045em;margin:0}.hero h1 em,h2 em{font-weight:400;color:var(--olive)}.hero-text{max-width:410px;line-height:1.8;color:var(--muted);font-size:13px;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:27px}.button{display:inline-flex;align-items:center;justify-content:space-between;padding:15px 19px;font-size:11px;letter-spacing:.03em}.button-dark{background:var(--ink);color:#fff}.button-outline{border:1px solid #d3c0b0}.text-link{font-size:11px;border-bottom:1px solid #c9a88d;padding-bottom:6px}.text-link span{margin-left:8px}.hero-note{display:flex;gap:13px;align-items:center;color:#625a54;font-size:10px;line-height:1.6;margin-top:54px}.note-line{width:42px;height:1px;background:#c9a88d}.hero-image-wrap{position:relative;align-self:stretch;min-height:510px;margin:0 4% 0 0}.hero-image{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78)}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:14px 17px;background:linear-gradient(transparent,rgba(0,0,0,.55));color:white;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em}.hero-stamp{position:absolute;bottom:64px;left:-43px;width:116px;height:116px;border-radius:50%;background:#c9a88d;display:grid;align-content:center;text-align:center;font:italic 18px/1.1 var(--serif);transform:rotate(-10deg)}.hero-stamp span{font:16px var(--sans);margin-top:5px}.hero-index{position:absolute;bottom:29px;left:7.2%;font-size:8px;letter-spacing:.13em;color:#625a54}.hero-index span{padding:0 8px}.section-pad{padding:115px 11%}.intro{background:#e7d7c7}.intro>.eyebrow{margin-bottom:33px}.intro-content{display:grid;grid-template-columns:1fr .8fr;gap:14%;align-items:center}.intro h2,.section-heading h2,.contact h2{font-size:clamp(43px,5vw,65px)}.intro-content>div p,.section-heading>p{font-size:13px;line-height:1.85;color:var(--muted);margin:0 0 22px}.intro-content strong{color:var(--ink)}.values{display:flex;gap:10%;border-top:1px solid #cfbaa8;margin-top:75px;padding-top:20px;font-size:10px;color:#625a54}.values span{color:#c9a88d;margin-right:12px;font-size:9px}.portfolio{padding-top:120px;padding-bottom:125px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{margin-bottom:5px}.portfolio-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:275px 210px;gap:18px}.work{margin:0;position:relative;overflow:hidden;background:#e7d7c7}.work img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78);transition:transform .5s}.work:hover img{transform:scale(1.035)}.work-large{grid-row:span 2}.work-tall img{object-position:center 34%}.work-wide{grid-column:2}.work figcaption{position:absolute;left:17px;right:17px;bottom:14px;display:flex;justify-content:space-between;color:white;font-size:9px;letter-spacing:.12em;text-shadow:0 1px 5px #333}.portfolio-note,.pricing-note{font-size:10px;color:#625a54;margin-top:18px}.pricing{background:#e7d7c7}.pricing .section-heading{align-items:end}.pricing .section-heading>p{max-width:260px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plan{padding:28px 24px 24px;background:#f5efe7;min-height:440px;display:flex;flex-direction:column}.plan-featured{background:#9d1414;color:#fff;transform:translateY(-12px)}.plan-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.15em;color:#625a54}.plan-featured .plan-top{color:#f5efe7}.plan-icon{font-size:18px}.plan h3{font:400 31px/1.1 var(--serif);margin:30px 0 13px;letter-spacing:-.025em}.plan-desc{font-size:11px;line-height:1.7;color:#625a54;min-height:58px}.plan-featured .plan-desc{color:#f5efe7}.price{display:flex;align-items:baseline;gap:8px;margin:20px 0 16px;border-bottom:1px solid var(--line);padding-bottom:16px}.plan-featured .price{border-color:rgba(255,255,255,.28)}.price strong{font:400 28px var(--serif)}.price span{font-size:8px;letter-spacing:.13em;color:#625a54}.plan ul{list-style:none;padding:0;margin:0 0 24px;font-size:10px;line-height:2.4;color:#625a54}.plan li:before{content:'✳';font-size:8px;margin-right:10px;color:#9d1414}.plan-featured li{color:#f5efe7}.plan-featured li:before{color:#e7d7c7}.plan .button{margin-top:auto}.button-light{background:#f5efe7;color:var(--ink)}.pricing-note{margin-top:28px}.contact{background:#9d1414;color:#fff;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;padding-top:92px;padding-bottom:95px}.contact .eyebrow{color:#f5efe7}.contact h2 em{color:#f5efe7}.contact-side{width:31%;z-index:1}.contact-side p{font-size:12px;line-height:1.8;color:#f5efe7;margin:0 0 22px}.contact-hint{display:block;font-size:9px;color:#e7d7c7;margin-top:16px}.contact-flower{position:absolute;font-size:245px;line-height:1;right:37%;top:4%;color:rgba(255,255,255,.07)}footer{height:87px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#625a54}footer .brand{color:var(--ink)}footer .brand-mark{width:25px;height:25px;font-size:14px}
@media(max-width:800px){.site-header{height:70px;padding:0 6%}.menu-toggle{display:block}.nav-links{display:none;position:absolute;z-index:5;top:69px;left:0;right:0;padding:22px 6%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px}.nav-links.open{display:flex}.hero{padding:45px 6% 75px;grid-template-columns:1fr;gap:34px}.hero-copy{padding:0}.hero h1{font-size:62px}.hero-image-wrap{min-height:430px;margin:0 0 0 7%}.hero-stamp{left:-29px}.hero-index{left:6%;bottom:25px}.section-pad{padding:80px 7%}.intro-content{grid-template-columns:1fr;gap:25px}.intro-content>div{max-width:500px}.values{gap:5%;justify-content:space-between}.portfolio-grid{grid-template-rows:240px 180px;gap:12px}.plan-grid{grid-template-columns:1fr}.plan{min-height:0}.plan-featured{transform:none}.plan-desc{min-height:0}.plan ul{margin-bottom:22px}.contact{align-items:flex-start;gap:35px;flex-direction:column}.contact-side{width:min(100%,380px)}.contact-flower{right:5%;top:23%;font-size:160px}footer{padding:0 6%;gap:16px;flex-wrap:wrap;height:auto;min-height:90px}footer>span:nth-of-type(1){display:none}}
@media(max-width:520px){.hero h1{font-size:53px}.hero-image-wrap{min-height:360px}.hero-actions{gap:16px}.button{padding:14px}.hero-note{margin-top:38px}.intro h2,.section-heading h2,.contact h2{font-size:46px}.section-heading{display:block}.section-heading>p{margin-top:18px}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:250px 170px}.work-large{grid-row:span 2}.work-wide{grid-column:2}.work figcaption{left:10px;right:10px;font-size:8px}.values{flex-direction:column;gap:13px;margin-top:50px}.contact{padding-top:72px;padding-bottom:75px}footer{padding:20px 6%;justify-content:space-between}footer>span:last-child{display:none}}
.extras{padding-top:110px;padding-bottom:110px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{padding:34px;background:#e7d7c7;min-height:410px;display:flex;flex-direction:column}.service-card-dark{background:#9d1414;color:#fff}.service-number{font-size:8px;letter-spacing:.16em;color:#625a54}.service-card-dark .service-number{color:#f5efe7}.service-card h3{font:400 31px/1.12 var(--serif);margin:36px 0 14px;letter-spacing:-.02em}.service-card>p{font-size:11px;line-height:1.8;color:#625a54;max-width:390px}.service-card-dark>p{color:#f5efe7}.service-card ul{list-style:none;padding:0;margin:15px 0 20px;font-size:10px;line-height:2.1;color:#625a54}.service-card-dark ul{color:#f5efe7}.service-card li:before{content:'✳';font-size:8px;margin-right:10px;color:#9d1414}.service-card-dark li:before{color:#e7d7c7}.service-card .text-link{align-self:flex-start}.extras-line{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;display:flex;gap:35px;align-items:center;flex-wrap:wrap;font-size:10px;color:#625a54}.extras-line>span:first-child{font-size:8px;letter-spacing:.14em;color:#625a54}.extras-line strong{color:var(--ink);margin-left:5px}.process{background:#e7d7c7;padding-top:100px;padding-bottom:110px}.process>.eyebrow{margin-bottom:20px}.process .section-heading{align-items:end;margin-bottom:42px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.process-grid article{border-top:1px solid #d3c0b0;padding-top:16px}.process-grid article>span{font:italic 23px var(--serif);color:#c9a88d}.process-grid h3{font:400 19px var(--serif);margin:25px 0 8px}.process-grid p{font-size:10px;line-height:1.8;color:#625a54;max-width:185px}
@media(max-width:800px){.service-grid{grid-template-columns:1fr}.service-card:last-child{grid-column:auto}.service-card{min-height:0}.process-grid{grid-template-columns:1fr 1fr;row-gap:30px}.extras-line{gap:15px 25px}.brand-mark{font-size:13px}}
@media(max-width:520px){.service-card{padding:25px}.service-card h3{font-size:28px}.process-grid{gap:18px}.process-grid h3{font-size:17px}.extras-line{align-items:flex-start;flex-direction:column;gap:12px}}
.intro-content{grid-template-columns:minmax(240px,.9fr) minmax(280px,1fr);gap:9%;align-items:center}.about-photo{position:relative;margin:0;min-height:400px;aspect-ratio:.88;overflow:hidden;background:#e7d7c7}.about-photo img{display:block;width:100%;height:100%;min-height:400px;object-fit:cover;object-position:53% 39%;filter:brightness(1.035) contrast(1.04) saturate(.94) sepia(.025)}.about-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 17px 16px;background:linear-gradient(transparent,rgba(30,29,24,.58));color:#fff;font-size:8px;letter-spacing:.13em;line-height:1.6}.about-photo figcaption span{display:block;font-size:7px;opacity:.82;margin-top:3px}.about-copy h2{margin:0 0 22px}.about-copy p{font-size:12px;line-height:1.85;color:var(--muted);margin:0 0 17px}.about-copy strong{color:var(--ink)}
@media(max-width:800px){.intro-content{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:7%}.about-photo,.about-photo img{min-height:350px}}
@media(max-width:600px){.intro-content{grid-template-columns:1fr;gap:28px}.about-photo{min-height:0;aspect-ratio:1.2}.about-photo img{min-height:0}.about-copy h2{font-size:45px}}
.project-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 24px;padding-bottom:17px;border-bottom:1px solid var(--line)}.project-heading span{font-size:8px;letter-spacing:.15em;color:#625a54}.project-heading h3{font:400 34px/1.1 var(--serif);margin:10px 0 0}.project-heading>p{font-size:10px;color:var(--muted);margin:0 0 3px}.portfolio-grid{display:block;column-count:3;column-gap:18px}.work{display:inline-block;width:100%;margin:0 0 18px;break-inside:avoid}.work img{height:auto;object-fit:unset}.work figcaption{font-size:8px;letter-spacing:.1em}.portfolio-note{margin-top:7px}
@media(max-width:800px){.portfolio-grid{column-count:2}}
@media(max-width:520px){.portfolio-grid{column-count:2;column-gap:12px}.work{margin-bottom:12px}.project-heading h3{font-size:30px}.project-heading>p{max-width:120px;text-align:right;line-height:1.5}}
@media(max-width:380px){.portfolio-grid{column-count:1}}
.booking{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:9%;align-items:center;background:#f5efe7}.booking-copy h2{font-size:clamp(43px,5vw,65px);margin:0 0 20px}.booking-copy>p:not(.eyebrow){max-width:440px;font-size:12px;line-height:1.85;color:var(--muted);margin:0 0 25px}.booking-side{min-height:280px;padding:30px;background:#9d1414;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.booking-symbol{align-self:flex-end;font:italic 38px var(--serif);color:#f5efe7}.booking-side p{font-size:8px;letter-spacing:.16em;color:#f5efe7;margin:10px 0}.booking-side>span:last-child{font:italic 23px/1.35 var(--serif)}
@media(max-width:800px){.booking{grid-template-columns:1fr;gap:32px}.booking-side{min-height:185px}}
.booking{display:block;background:#e7d7c7}.booking-header{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:34px}.booking-header h2{font-size:clamp(43px,5vw,65px)}.booking-header>p{max-width:330px;margin:0 0 5px;color:var(--muted);font-size:12px;line-height:1.8}.booking-card{background:var(--paper);border:1px solid #d3c0b0;border-radius:8px;overflow:hidden}.booking-card-heading{height:54px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:8px;letter-spacing:.13em;color:#625a54}.booking-card-heading a{color:var(--olive)}.booking-card-heading b{font-size:13px;margin-left:8px;font-weight:400}.booking-iframe{display:block;width:100%;height:760px;border:0;background:var(--paper)}.booking-note{font-size:9px;color:#625a54;margin:14px 0 0}
@media(max-width:800px){.booking-header{display:block}.booking-header>p{margin-top:16px}.booking-iframe{height:850px}}
@media(max-width:520px){.booking-card-heading{padding:0 12px;font-size:7px;letter-spacing:.09em}.booking-iframe{height:930px}.booking-header h2{font-size:43px}}
.contact-details{margin:24px 0 26px}.contact-details a{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.23)}.contact-details a:last-child{border-bottom:1px solid rgba(255,255,255,.23)}.contact-details a>span{grid-column:1;font-size:8px;letter-spacing:.14em;color:#e7d7c7}.contact-details strong{grid-column:1;font-size:12px;font-weight:500;color:#fff}.contact-details b{grid-column:2;grid-row:1/3;align-self:center;font-size:13px;font-weight:400;color:#e7d7c7}.contact-details a:hover strong{text-decoration:underline;text-underline-offset:3px}
.booking{padding-top:96px;padding-bottom:96px}.booking-card{background:var(--paper);border:1px solid var(--olive);border-radius:18px;overflow:hidden;box-shadow:0 16px 38px rgba(0,0,0,.07)}.booking-card-title{background:var(--olive);color:#fff;padding:34px 38px 25px}.booking-card-title .eyebrow{color:#e7d7c7;margin-bottom:14px}.booking-card-title h2{font:400 clamp(36px,4vw,52px)/1.08 var(--serif);letter-spacing:-.04em;color:#fff;margin:0 0 12px}.booking-card-title>p:not(.eyebrow){font-size:12px;line-height:1.7;color:#f5efe7;max-width:560px;margin:0}.booking-card-meta{min-height:49px;padding:0 24px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);font-size:8px;letter-spacing:.13em;color:#625a54}.booking-card-meta a{margin-left:auto;color:var(--olive);white-space:nowrap}.booking-card-meta b{font-size:12px;margin-left:7px;font-weight:400}.booking-iframe{height:760px}.booking-note{padding:0 24px 16px;margin:0}
@media(max-width:650px){.booking{padding-top:68px;padding-bottom:68px}.booking-card-title{padding:26px 22px 20px}.booking-card-meta{padding:12px 16px;flex-wrap:wrap;gap:10px 16px}.booking-card-meta a{margin-left:0;width:100%}.booking-iframe{height:900px}.booking-note{padding:0 16px 14px}}
.booking-card-title{background:var(--olive);color:#fff;padding:28px 28px 22px}.booking-card-title .eyebrow{margin:0;color:#e7d7c7}.booking-card-title h2{margin:10px 0 0;color:#fff;font:400 clamp(35px,4vw,50px)/1.08 var(--serif);letter-spacing:-.04em}.booking-card-meta{height:48px;min-height:48px;font-size:8px}.booking-picker{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:30px 28px 25px}.booking-calendar{padding-right:28px;border-right:1px solid var(--line)}.calendar-month{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.calendar-month h3,.booking-selection h3{margin:0;font-size:16px;font-weight:500}.calendar-arrows{display:flex;gap:7px}.calendar-arrows button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--olive);font-size:17px;cursor:pointer}.calendar-arrows button:hover:not(:disabled){background:var(--olive);color:#fff}.calendar-arrows button:disabled{opacity:.35;cursor:default}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.calendar-weekdays{margin-bottom:7px;color:#625a54;font-size:8px}.calendar-day{position:relative;height:40px;border:0;border-radius:50%;background:transparent;color:var(--ink);font:500 11px var(--sans);cursor:pointer}.calendar-day:hover:not(:disabled),.calendar-day.is-selected{background:var(--olive);color:#fff}.calendar-day:disabled{color:#c9a88d;cursor:default}.booking-selection{padding:4px 12px 0 32px}.booking-selection .eyebrow{margin:2px 0 18px}.booking-selection h3{font-size:22px}.booking-selection>p:not(.eyebrow){margin:20px 0 0;max-width:260px;color:var(--muted);font-size:12px;line-height:1.8}.booking-continue{margin-top:23px;gap:24px;width:max-content}.booking-continue[aria-disabled="true"]{opacity:.48;pointer-events:none}.booking-note{margin:0 28px;padding:15px 0 18px;border-top:1px solid var(--line);font-size:9px;color:#625a54}
@media(max-width:650px){.booking-picker{grid-template-columns:1fr;padding:22px 18px}.booking-calendar{padding:0 0 25px;border-right:0;border-bottom:1px solid var(--line)}.booking-selection{padding:25px 0 0}.calendar-day{height:42px}.booking-note{margin:0 18px;padding-bottom:16px}}

/* Movimiento editorial y detalles inspirados en el visor de una cámara */
:root{--olive-deep:#9d1414;--accent:#9d1414;--ease-editorial:cubic-bezier(.2,.75,.25,1)}
html{scroll-padding-top:88px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(246,242,235,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:box-shadow .3s ease,border-color .3s ease}
.site-header:has(+main){}
.nav-links a:not(.nav-cta){position:relative;transition:color .25s ease}
.nav-links a:not(.nav-cta)::after{position:absolute;content:"";height:1px;left:0;right:100%;bottom:-6px;background:var(--olive);transition:right .3s var(--ease-editorial)}
.nav-links a:not(.nav-cta):hover{color:var(--ink)}.nav-links a:not(.nav-cta):hover::after{right:0}
.nav-cta,.button{position:relative;overflow:hidden;transition:color .28s ease,background-color .28s ease,border-color .28s ease,transform .28s var(--ease-editorial),box-shadow .28s ease}
.button-dark:hover,.button-light:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.15)}
.button-outline:hover,.nav-cta:hover{background:var(--olive);border-color:var(--olive);color:white;transform:translateY(-2px)}
.button span,.nav-cta span,.text-link span{display:inline-block;transition:transform .25s var(--ease-editorial)}
.button:hover span,.nav-cta:hover span,.text-link:hover span{transform:translate(3px,-2px)}
.hero-copy>*{animation:hero-enter .8s var(--ease-editorial) both}.hero-copy>.eyebrow{animation-delay:.06s}.hero-copy>h1{animation-delay:.15s}.hero-copy>.hero-text{animation-delay:.23s}.hero-copy>.hero-actions{animation-delay:.31s}.hero-copy>.hero-note{animation-delay:.39s}
.hero-image-wrap{isolation:isolate;animation:photo-reveal 1s .12s var(--ease-editorial) both}
.hero-image-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(135deg,rgba(246,242,235,.11),transparent 35%,transparent 70%,rgba(0,0,0,.14));mix-blend-mode:soft-light}
.hero-image{transition:transform 1.2s var(--ease-editorial),filter .7s ease;will-change:transform}.hero-image-wrap:hover .hero-image{transform:scale(1.035);filter:saturate(.94)}
.viewfinder-corner{position:absolute;z-index:2;inset:14px;border:1px solid rgba(255,255,255,.36);pointer-events:none;clip-path:polygon(0 0,12% 0,12% 1px,1px 1px,1px 12%,0 12%,0 0,88% 0,100% 0,100% 12%,calc(100% - 1px) 12%,calc(100% - 1px) 1px,88% 1px,88% 0,100% 88%,100% 100%,88% 100%,88% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 88%,100% 88%,12% 100%,0 100%,0 88%,1px 88%,1px calc(100% - 1px),12% calc(100% - 1px),12% 100%)}
.viewfinder-label{position:absolute;z-index:3;top:27px;right:28px;color:white;text-shadow:0 1px 6px #333;font-size:8px;letter-spacing:.14em}.viewfinder-label i{display:inline-block;width:6px;height:6px;margin:0 5px;border-radius:50%;background:#9d1414;box-shadow:0 0 10px #9d1414;animation:recording 1.8s ease-in-out infinite}
.hero-stamp{animation:stamp-float 5s ease-in-out infinite;z-index:4;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.film-strip{height:72px;display:flex;align-items:center;overflow:hidden;background:var(--ink);color:var(--paper);position:relative}
.film-strip::before,.film-strip::after{content:"";position:absolute;z-index:1;left:0;right:0;height:6px;background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(246,242,235,.25) 10px 17px,transparent 17px 28px);pointer-events:none}
.film-strip::before{top:8px}.film-strip::after{bottom:8px}
.film-strip-track{display:flex;align-items:center;gap:32px;white-space:nowrap;min-width:max-content;padding:16px 0;font-size:9px;letter-spacing:.2em;animation:film-scroll 34s linear infinite}
.film-strip-track i{font-size:13px;font-style:normal;color:#c9a88d}.film-strip:hover .film-strip-track{animation-play-state:paused}
.work{isolation:isolate;transform:translateZ(0)}
.work::before{content:"";position:absolute;z-index:1;inset:10px;border:1px solid rgba(255,255,255,.4);opacity:0;transform:scale(.97);transition:opacity .35s ease,transform .5s var(--ease-editorial);pointer-events:none}
.work::after{content:"";position:absolute;z-index:0;inset:45% 0 0;background:linear-gradient(transparent,rgba(20,20,17,.32));pointer-events:none}
.work:hover::before,.work:focus-within::before{opacity:1;transform:scale(1)}
.work img{transition:transform .8s var(--ease-editorial),filter .5s ease}.work:hover img{transform:scale(1.055);filter:saturate(.95)}
.work figcaption{z-index:2;transition:transform .35s var(--ease-editorial);transform:translateY(3px)}.work:hover figcaption{transform:translateY(0)}
.project-heading span{display:inline-flex;align-items:center;gap:8px}.project-heading span::before{content:"";height:1px;width:22px;background:var(--accent)}
.plan,.service-card{transition:transform .4s var(--ease-editorial),box-shadow .4s ease}.plan:hover,.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 42px rgba(0,0,0,.1)}.plan-featured:hover{transform:translateY(-18px)}
.plan-icon{display:inline-block;transition:transform .65s var(--ease-editorial)}.plan:hover .plan-icon{transform:rotate(90deg) scale(1.16)}
.process-grid article{transition:border-color .3s ease,transform .35s var(--ease-editorial)}.process-grid article:hover{border-color:var(--olive);transform:translateY(-4px)}
.contact-flower{animation:aperture-turn 42s linear infinite;transform-origin:center}
.booking-card{transition:transform .35s var(--ease-editorial),box-shadow .35s ease}.booking-card:hover{box-shadow:0 22px 48px rgba(0,0,0,.11)}
.calendar-day{transition:background .2s ease,color .2s ease,transform .2s var(--ease-editorial)}.calendar-day:hover:not(:disabled){transform:scale(1.12)}
.text-link{transition:color .2s ease,border-color .2s ease}.text-link:hover{color:var(--olive-deep);border-color:var(--olive)}
.contact-details a{transition:padding .25s var(--ease-editorial),background .25s ease}.contact-details a:hover{padding-left:8px;background:rgba(255,255,255,.045)}
.reveal-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s var(--ease-editorial),transform .75s var(--ease-editorial)}
.reveal-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.08s!important}.reveal-delay-2{transition-delay:.16s!important}.reveal-delay-3{transition-delay:.24s!important}
@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes photo-reveal{from{opacity:0;clip-path:inset(7% 5% 0 5%)}to{opacity:1;clip-path:inset(0)}}
@keyframes stamp-float{0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-8px)}}
@keyframes recording{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes film-scroll{to{transform:translateX(-50%)}}
@keyframes aperture-turn{to{transform:rotate(360deg)}}
@media(max-width:800px){.film-strip{height:64px}.film-strip-track{font-size:8px;gap:24px}.viewfinder-corner{inset:10px}.viewfinder-label{top:21px;right:22px}}
@media(hover:none){.film-strip-track{animation-duration:44s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal-ready .reveal{opacity:1;transform:none}}
html::before{content:"";position:fixed;z-index:100;top:0;left:0;height:2px;width:var(--scroll-progress,0%);background:var(--olive);box-shadow:0 0 10px rgba(119,121,96,.35);pointer-events:none;transition:width .12s linear}
.viewfinder-corner{inset:14px;border:1px solid rgba(255,255,255,.36);clip-path:none}
#booking-calendar .calendar-day:disabled{color:#c9a88d}

.plan-featured .button-dark{background:#f5efe7;color:#9d1414}.plan-featured .button-dark:hover{background:#e7d7c7}

/* Ajustes solicitados en la vista previa: acentos borgoña, fondos marfil y agenda más actual. */
.intro,.pricing{background:var(--paper)}
.button-dark{background:var(--red)}
.hero-stamp{left:18px;width:118px;height:118px;background:var(--paper);border:1px solid var(--red);color:var(--ink);font-size:16px;line-height:1.18;box-shadow:0 12px 32px rgba(0,0,0,.16)}
.booking{background:var(--paper)}
.booking-card{border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 44px rgba(59,53,49,.09)}
.booking-card-title{background:var(--red)}
.booking-picker{gap:18px;padding:22px}
.booking-calendar{padding:22px;border:1px solid var(--line);border-radius:17px;background:#fffaf4}
.calendar-month{margin-bottom:22px}
.calendar-month h3{font:400 21px/1.2 var(--serif);text-transform:capitalize}
.calendar-arrows button{width:38px;height:38px;border-radius:12px;background:var(--paper);transition:background .2s ease,color .2s ease,transform .2s ease}
.calendar-arrows button:hover:not(:disabled){transform:translateY(-2px)}
.calendar-grid{gap:7px}
.calendar-weekdays{margin-bottom:10px;color:var(--muted);font-size:9px;letter-spacing:.12em}
.calendar-day{height:42px;border-radius:13px;font-size:12px;transition:background .2s ease,color .2s ease,transform .2s ease}
.calendar-day:disabled,#booking-calendar .calendar-day:disabled{color:#a79a8e}
.calendar-day:hover:not(:disabled){background:var(--sand);color:var(--ink);transform:translateY(-1px)}
.calendar-day.is-selected,.calendar-day.is-selected:hover{background:var(--red);color:var(--paper)}
.booking-selection{align-self:stretch;margin:0 0 0 2px;padding:28px;border:0;border-radius:17px;background:var(--red);color:var(--paper)}
.booking-selection .eyebrow{color:var(--sand)}
.booking-selection h3{color:var(--paper);font:400 clamp(24px,2.4vw,32px)/1.2 var(--serif)}
.booking-selection>p:not(.eyebrow){color:rgba(245,239,231,.88)}
.booking-continue{background:var(--paper);color:var(--red);border-radius:3px}
.booking-continue:hover{background:var(--sand);color:var(--red)}
.booking-continue[aria-disabled="true"]{background:rgba(245,239,231,.22);color:rgba(245,239,231,.68);opacity:1}
.booking-note{color:var(--muted)}
@media(max-width:800px){.hero-stamp{left:12px}}
@media(max-width:650px){.booking-picker{grid-template-columns:1fr;gap:18px;padding:16px}.booking-calendar{padding:18px 14px 20px}.booking-selection{margin:0;padding:24px;border-radius:16px}.calendar-day{height:44px}.booking-continue{width:max-content}}
@media(max-width:800px){.booking-picker{grid-template-columns:1fr;gap:18px;padding:18px}.booking-calendar{padding:22px}.booking-selection{margin:0;padding:26px}.booking-continue[aria-disabled="true"]{background:rgba(245,239,231,.25);color:var(--paper)}}

/* Ritmo más compacto entre encabezados, textos y galerías. */
.portfolio.section-pad{padding-top:78px;padding-bottom:82px}
.portfolio .section-heading{margin-bottom:30px}
.project-heading{margin-bottom:17px;padding-bottom:14px}
.portfolio-grid{column-gap:12px}
.work{margin-bottom:12px}
.portfolio-note{margin-top:10px}
.pricing.section-pad{padding-top:82px;padding-bottom:82px}
.pricing .section-heading{margin-bottom:28px}
.plan-grid{gap:12px}
.plan{padding:24px 21px 22px;min-height:420px}
.plan h3{margin:24px 0 11px}
.process{background:var(--paper);padding-top:82px;padding-bottom:86px}
.booking-continue[aria-disabled="true"]{background:#f5efe7;color:#625a54;opacity:1}
.booking-continue[aria-disabled="true"]{color:#9d1414;font-weight:700}
.booking-continue{color:#9d1414;font-weight:700}

/* Navegación por pestañas: muestra una sección a la vez. */
[data-view-panel][hidden]{display:none!important}
.nav-links a[aria-current="page"]:not(.nav-cta){color:var(--red);font-weight:700}
.agenda-permalink{display:inline-flex;margin:12px 18px 22px;color:var(--red);font-size:11px;font-weight:700;letter-spacing:.05em;text-decoration:underline;text-underline-offset:4px}

@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:last-child{grid-column:1/-1}.site-header{position:relative}.menu-toggle{display:block}.nav-links{display:none;position:absolute;z-index:20;top:81px;left:0;right:0;padding:22px 6%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px}.nav-links.open{display:flex}}
@media(max-width:800px){.nav-links{top:69px}}
@media(max-width:650px){.additional-price-grid{grid-template-columns:1fr}.additional-price-card{padding:17px}}

/* Aviso de consentimiento para Meta Pixel. */
.cookie-banner{position:fixed;z-index:120;left:clamp(16px,4vw,54px);right:clamp(16px,4vw,54px);bottom:clamp(16px,3vw,32px);display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:24px 28px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--red);box-shadow:0 18px 48px rgba(59,53,49,.2);max-width:1180px;margin:0 auto}
.cookie-banner[hidden]{display:none}
.cookie-copy{max-width:720px}.cookie-copy .eyebrow{margin:0 0 8px}.cookie-copy h2{font:500 22px/1.2 var(--serif);letter-spacing:-.02em;margin:0 0 8px;color:var(--ink)}.cookie-copy p:not(.eyebrow){margin:0 0 8px;color:var(--muted);font-size:11px;line-height:1.65}.cookie-copy a,.cookie-policy-link{color:var(--red);text-decoration:underline;text-underline-offset:3px}.cookie-policy-link{font-size:10px}.cookie-actions{display:flex;align-items:center;gap:10px;flex:none}.cookie-actions button,.cookie-preferences-link{font:600 10px var(--sans);cursor:pointer}.cookie-accept{padding:13px 16px;background:var(--red);color:var(--paper);border:1px solid var(--red)}.cookie-reject{padding:13px 16px;background:transparent;color:var(--red);border:1px solid var(--red)}.cookie-preferences-link{padding:0;border:0;background:transparent;color:inherit;font-size:9px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.cookie-banner{left:12px;right:12px;bottom:12px;display:block;padding:20px}.cookie-actions{margin-top:16px;flex-wrap:wrap}.cookie-actions button{flex:1}.cookie-copy h2{font-size:20px}}

/* Dirección visual inspirada en la plantilla de Wix: fotografía a pantalla completa y navegación discreta. */
.site-header{position:relative;z-index:30;height:82px;padding:0 8%;background:#141414;color:#fff;border-bottom:1px solid rgba(255,255,255,.14)}
body[data-current-view="inicio"] .site-header{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom-color:transparent}
.brand-initials{font:400 13px/1 var(--sans);letter-spacing:.28em;color:#fff}
.nav-links{gap:clamp(18px,2.6vw,36px);font-size:10px;letter-spacing:.1em}
.nav-links a:not(.nav-cta),.nav-links a[aria-current="page"]:not(.nav-cta){color:rgba(255,255,255,.82)}
.nav-links a:not(.nav-cta)::after{background:#fff}
.nav-cta{padding:0;border:0;color:#fff;background:transparent}
.nav-cta:hover{color:#fff}
.menu-toggle{color:#fff}
.hero{position:relative;display:flex;align-items:center;min-height:100vh;min-height:100svh;padding:130px 8% 70px;overflow:hidden;background:#111;color:#fff;isolation:isolate}
.hero-copy{position:relative;z-index:2;align-self:center;width:min(100%,760px);padding:0;margin-top:26px}
.hero h1{max-width:680px;margin:0;color:#fff;font:300 clamp(50px,6vw,78px)/1.02 var(--sans);letter-spacing:-.055em}
.hero h1 em{color:#fff;font-style:normal;font-weight:300}
.hero-specialty{margin:24px 0 17px;color:#fff;font-size:10px;font-weight:500;letter-spacing:.42em}
.hero-text{max-width:475px;margin:0;color:rgba(255,255,255,.82);font-size:13px;line-height:1.8}
.hero-actions{gap:28px;margin-top:28px}
.hero-actions .text-link{color:#fff;border-color:rgba(255,255,255,.55);font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.hero-image-wrap{position:absolute;z-index:0;inset:0 0 0 25%;min-height:0;margin:0}
.hero-image-wrap::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(8,8,8,.78) 0%,rgba(8,8,8,.48) 42%,rgba(8,8,8,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.2),transparent 36%)}
.hero::before{position:absolute;z-index:1;inset:0;content:"";pointer-events:none;background:linear-gradient(90deg,#111 0%,rgba(17,17,17,.94) 21%,rgba(17,17,17,.35) 48%,transparent 72%)}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:brightness(.78) saturate(.65)}
.hero-index,.hero-note,.hero-stamp,.viewfinder-corner,.viewfinder-label,.image-caption{display:none}
@media(max-width:900px){.site-header{height:70px;padding:0 6%}.brand-initials{font-size:12px}.nav-links{top:69px;background:rgba(18,18,18,.98);border-bottom-color:rgba(255,255,255,.16)}.nav-links a:not(.nav-cta){color:#fff}.nav-cta{padding:0}}
@media(max-width:900px){.hero h1{font-size:clamp(48px,7vw,68px)}.hero-copy{max-width:610px}}
@media(max-width:650px){.hero{padding:120px 7% 58px}.hero-copy{margin-top:0}.hero h1{font-size:clamp(47px,10vw,62px)}.hero-specialty{margin:21px 0 14px;letter-spacing:.31em}.hero-text{max-width:390px}.hero-actions{gap:20px;flex-wrap:wrap}.hero-image-wrap{inset:0 0 0 18%}.hero-image{object-position:center center}.hero-image-wrap::after{background:linear-gradient(90deg,rgba(8,8,8,.8),rgba(8,8,8,.36)),linear-gradient(0deg,rgba(0,0,0,.32),transparent 45%)}}

/* Estados del menú: borgoña al pasar el cursor y al estar en la sección activa. */
.nav-links a:not(.nav-cta):hover,.nav-links a[aria-current="page"]:not(.nav-cta),.nav-cta:hover{color:var(--red)!important}
.nav-dropdown{position:relative;display:flex;align-items:center;gap:5px}
.nav-dropdown-menu{position:absolute;z-index:40;display:none;top:calc(100% + 22px);left:-18px;min-width:235px;padding:8px 0;background:#090909;border-top:2px solid var(--red);box-shadow:0 15px 28px rgba(0,0,0,.28)}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu{display:flex;flex-direction:column}
.nav-dropdown-menu a{padding:12px 18px;color:rgba(255,255,255,.82)!important;font-size:9px;letter-spacing:.07em}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a[aria-current="page"]{color:var(--red)!important;background:rgba(157,20,20,.12)}
.nav-dropdown-menu a::after,.nav-social::after{display:none!important}
.nav-submenu-toggle{display:none;border:0;background:transparent;color:#fff;font:16px var(--sans);cursor:pointer}
.nav-social{display:grid;place-items:center;color:#fff!important;transition:color .2s ease}
.nav-social svg{width:18px;height:18px}
.nav-social:hover{color:var(--red)!important}
@media(max-width:900px){.nav-dropdown{display:grid;grid-template-columns:1fr auto;width:100%}.nav-submenu-toggle{display:grid;place-items:center;width:28px;height:28px;grid-column:2;grid-row:1}.nav-dropdown-menu{position:static;grid-column:1/-1;min-width:0;width:100%;padding:5px 0 0 12px;background:transparent;border-top:1px solid rgba(255,255,255,.15);box-shadow:none}.nav-dropdown-menu a{padding:10px 8px}.nav-social{align-self:flex-start}}

/* Portafolio organizado por álbumes de eventos. */
.portfolio-albums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.album-card{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.album-cover{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#211e1b}
.album-cover::after{position:absolute;inset:35% 0 0;content:"";background:linear-gradient(transparent,rgba(0,0,0,.58))}
.album-cover img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.8);transition:transform .65s var(--ease-editorial),filter .4s ease}
.album-card:hover .album-cover img,.album-card:focus-visible .album-cover img{transform:scale(1.045);filter:saturate(1)}
.album-count,.album-open{position:absolute;z-index:1;bottom:17px;color:#fff;font-size:8px;letter-spacing:.13em}
.album-count{left:17px}.album-open{right:17px;color:#fff}
.album-card-copy{display:grid;gap:8px;padding:17px 0}
.album-card-copy>span:first-child{color:var(--red);font-size:8px;letter-spacing:.15em}
.album-card-copy strong{font:400 30px/1.1 var(--serif)}
.album-card-copy>span:last-child{max-width:340px;color:var(--muted);font-size:11px;line-height:1.7}
.album-back{margin:0 0 24px;padding:0;border:0;background:transparent;color:var(--red);font:600 10px var(--sans);letter-spacing:.04em;cursor:pointer}
.album-back:hover{text-decoration:underline;text-underline-offset:4px}
.portfolio-album-detail[hidden],.portfolio-albums[hidden]{display:none}
.site-footer .brand-initials{color:var(--ink)}

/* Servicios: una ficha visual por cada opción del menú. */
.service-panel[hidden]{display:none!important}
.service-panel{display:grid;grid-template-columns:1.05fr .95fr;min-height:430px;background:#e7d7c7;animation:service-panel-in .35s var(--ease-editorial) both}
.service-image{position:relative;min-height:430px;margin:0;overflow:hidden;background:#211e1b}
.service-image::after{position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.48));content:"";pointer-events:none}
.service-image img{display:block;width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center 38%;transition:transform .7s var(--ease-editorial)}
.service-panel:hover .service-image img{transform:scale(1.025)}
.service-image figcaption{position:absolute;z-index:1;bottom:20px;left:24px;color:#fff;font-size:8px;letter-spacing:.16em}
.service-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:42px clamp(28px,4.5vw,64px)}
.service-copy .service-number{color:var(--red);font-size:8px;letter-spacing:.14em;line-height:1.6}
.service-copy h3{margin:20px 0 13px;font:400 clamp(30px,3.1vw,43px)/1.12 var(--serif);letter-spacing:-.025em}
.service-copy>p{max-width:470px;margin:0;color:var(--muted);font-size:11px;line-height:1.8}
.service-copy ul{display:grid;gap:8px;list-style:none;margin:18px 0 22px;padding:0;color:var(--muted);font-size:10px;line-height:1.5}
.service-copy li::before{margin-right:9px;color:var(--red);content:"✳";font-size:8px}
.service-copy .text-link{margin-top:auto}
@keyframes service-panel-in{from{opacity:.65;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.service-panel{grid-template-columns:1fr}.service-image{height:auto;min-height:0;aspect-ratio:4/3}.service-image img{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto}.service-copy{padding:30px clamp(22px,6vw,42px) 34px}.service-copy h3{font-size:34px}.service-copy .text-link{margin-top:6px}}
@media(max-width:520px){.service-panel{min-height:0}.service-image{aspect-ratio:1.15}.service-copy{padding:25px 22px 28px}.service-copy h3{font-size:30px}.service-copy ul{gap:7px}}

/* La sección Servicios sigue la estética oscura de la referencia fotográfica. */
.extras.section-pad{min-height:calc(100vh - 82px);padding:90px 8% 100px;background:#050505;color:#fff}
.extras .section-heading{margin-bottom:42px}
.extras .section-heading .eyebrow{color:var(--red)}
.extras .section-heading h2,.extras .section-heading h2 em{color:#fff}
.extras .section-heading h2{font:300 clamp(46px,5.5vw,72px)/1.04 var(--sans);letter-spacing:-.055em}
.extras .section-heading>p{color:rgba(255,255,255,.7)}
.service-panel{grid-template-columns:1.1fr .9fr;min-height:440px;background:#050505}
.service-image{min-height:440px;background:#111}
.service-image img{min-height:440px;filter:brightness(.86) saturate(.82)}
.service-image figcaption{font-size:8px;letter-spacing:.18em}
.service-copy{padding:40px clamp(30px,5vw,72px)}
.service-copy h3{color:#fff;font:300 clamp(35px,4.3vw,56px)/1.04 var(--sans);letter-spacing:-.045em}
.service-copy>p,.service-copy ul{color:rgba(255,255,255,.78)}
.service-copy .service-number{color:var(--red)}
.service-copy li::before{color:var(--red)}
.service-copy .text-link{color:#fff;border-color:rgba(255,255,255,.48)}
.service-copy .text-link:hover{color:var(--red);border-color:var(--red)}
@media(max-width:900px){.extras.section-pad{min-height:calc(100vh - 70px);padding:74px 7% 80px}}
@media(max-width:800px){.service-panel{grid-template-columns:1fr}.service-image,.service-image img{min-height:0}.service-copy{padding:32px clamp(24px,6vw,48px) 38px}}
@media(max-width:520px){.extras.section-pad{padding:54px 7% 64px}.extras .section-heading{margin-bottom:29px}.extras .section-heading h2{font-size:48px}.service-copy{padding:26px 22px 30px}.service-copy h3{font-size:34px}}

/* Sistema visual oscuro aplicado de forma consistente a todas las vistas. */
:root{--paper:#080808;--sand:#171717;--tan:#b8a99f;--ink:#f7f7f7;--muted:rgba(255,255,255,.72);--line:rgba(255,255,255,.2)}
body{background:#080808;color:#f7f7f7}
.site-header{background:#111;border-bottom-color:rgba(255,255,255,.14)}
body[data-current-view="inicio"] .site-header{background:transparent}
.intro,.portfolio,.booking{background:#080808;color:#f7f7f7}
.intro .eyebrow,.portfolio .eyebrow,.booking .eyebrow{color:var(--red)}
.intro h2,.portfolio h2,.booking h2,.contact h2{color:#f7f7f7;font:300 clamp(43px,5.5vw,72px)/1.04 var(--sans);letter-spacing:-.05em}
.intro h2 em,.portfolio h2 em,.booking h2 em,.contact h2 em{color:var(--red);font-style:normal;font-weight:300}
.about-copy p,.intro-content>div p,.section-heading>p,.portfolio-note,.project-heading>p,.booking-note{color:rgba(255,255,255,.72)}
.about-copy strong,.intro-content strong{color:#fff}
.intro .values{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.72)}
.intro .values span{color:var(--red)}
.about-photo{background:#141414}
.about-photo img{filter:brightness(.84) saturate(.78)}
.portfolio .section-heading{align-items:end}
.portfolio-albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.album-card-copy strong,.project-heading h3{color:#fff;font-family:var(--sans);font-weight:300;letter-spacing:-.035em}
.album-card-copy>span:last-child,.project-heading span{color:rgba(255,255,255,.68)}
.album-card-copy>span:first-child{color:var(--red)}
.album-cover{background:#111}
.portfolio-grid .work{background:#141414}
.portfolio-grid .work::after{background:linear-gradient(transparent,rgba(0,0,0,.48))}
.portfolio .album-back{color:#c34b58}
.booking-card{background:#111;border:1px solid rgba(255,255,255,.18);border-radius:0;box-shadow:none}
.booking-card-title{background:#111;border-bottom:2px solid var(--red);color:#fff}
.booking-card-title .eyebrow{color:var(--red)}
.booking-card-title h2{color:#fff;font-family:var(--sans);font-weight:300}
.booking-card-meta{border-color:rgba(255,255,255,.17);color:rgba(255,255,255,.68)}
.booking-picker{background:#111}
.booking-calendar{background:#111;border-color:rgba(255,255,255,.18);border-radius:0}
.calendar-month h3,.booking-selection h3{color:#fff;font-family:var(--sans);font-weight:400}
.calendar-weekdays{color:rgba(255,255,255,.58)}
.calendar-arrows button{background:#151515;border-color:rgba(255,255,255,.24);color:#fff;border-radius:0}
.calendar-arrows button:hover:not(:disabled){background:var(--red);color:#fff}
.calendar-day{color:#f7f7f7;border-radius:0}
.calendar-day:disabled,#booking-calendar .calendar-day:disabled{color:#676767}
.calendar-day:hover:not(:disabled),.calendar-day.is-selected,.calendar-day.is-selected:hover{background:var(--red);color:#fff}
.booking-selection{background:#151515;border-left:2px solid var(--red);border-radius:0;color:#fff}
.booking-selection .eyebrow{color:var(--red)}
.booking-selection h3{color:#fff}
.booking-selection>p:not(.eyebrow){color:rgba(255,255,255,.7)}
.booking-continue,.booking-continue[aria-disabled="true"]{background:var(--red);color:#fff;border:1px solid var(--red);border-radius:0}
.booking-continue:hover{background:#b02a38;color:#fff}
.booking-note{border-color:rgba(255,255,255,.18)}
.agenda-permalink{color:#c34b58}
.contact{background:#080808;color:#fff;border-top:1px solid rgba(255,255,255,.14)}
.contact .eyebrow,.contact .contact-hint{color:#c34b58}
.contact h2,.contact h2 em{color:#fff}
.contact-side p{color:rgba(255,255,255,.72)}
.contact-details a,.contact-details a:last-child{border-color:rgba(255,255,255,.2)}
.contact-details a>span,.contact-details b{color:#c34b58}
.contact-flower{color:rgba(157,20,20,.12)}
.contact .button-light{background:var(--red);color:#fff;border:1px solid var(--red)}
.contact .button-light:hover{background:#b02a38}
.contact{isolation:isolate}
.contact-video{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:.58;filter:saturate(.72) contrast(1.04);pointer-events:none}
.contact::before{position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.78),rgba(8,8,8,.5)),linear-gradient(0deg,rgba(8,8,8,.28),transparent 70%);content:"";pointer-events:none}
.contact>div{position:relative;z-index:1}
footer,.site-footer{background:#080808;color:rgba(255,255,255,.65);border-top:1px solid rgba(255,255,255,.14)}
.site-footer .brand,.site-footer .brand-initials{color:#fff}
.site-footer a:not(.brand):hover{color:#c34b58}
.cookie-banner{background:#111;border-color:rgba(255,255,255,.18);color:#fff}
.cookie-copy h2{color:#fff}
.cookie-copy p:not(.eyebrow){color:rgba(255,255,255,.72)}
.cookie-copy a,.cookie-policy-link,.cookie-preferences-link{color:#c34b58}
.cookie-reject{color:#fff;border-color:rgba(255,255,255,.42)}
@media(max-width:800px){.portfolio-albums{grid-template-columns:1fr 1fr}.booking-selection{border-left:0;border-top:2px solid var(--red)}}
@media(max-width:520px){.portfolio-albums{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.contact-video{display:none}}
.service-image video{display:block;width:100%;height:100%;min-height:440px;object-fit:cover;object-position:center;filter:brightness(.88) saturate(.82)}
@media(max-width:800px){.service-image video{position:absolute;inset:0;width:100%;height:100%;min-height:0}}
@media(max-width:800px){.portfolio-albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:520px){.portfolio-albums{grid-template-columns:1fr}.album-card-copy strong{font-size:27px}}

/* Mantiene el reel completo en su formato vertical, sin recortar sus bordes. */
.service-image.service-reel-frame{width:min(100%,380px);height:auto;min-height:0;aspect-ratio:9/16;justify-self:center;align-self:center;background:#111}
.service-reel-frame .service-reel-video{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;filter:brightness(.88) saturate(.82)}


