@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#faf7f1;--cream:#f0eae1;--ink:#35282b;--plum:#43252f;--muted:#74676a;--gold:#ae8960;--line:#ded5cb;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15}h1{font-size:clamp(48px,4.7vw,76px);letter-spacing:-2.8px}h2{font-size:clamp(36px,3.3vw,51px);letter-spacing:-1.5px}h3{font-size:25px}em{font-weight:400;color:#966b51}p+p{margin-top:18px}.container{width:min(1200px,calc(100% - 100px));margin-inline:auto}.announcement{background:var(--plum);color:#eee0cd;text-align:center;padding:9px 16px;font-size:10px;letter-spacing:2.2px}.announcement span{margin:0 18px;color:#c9a57d}.header{max-width:1440px;margin:auto;padding:26px 50px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:13px;font-size:16px;font-weight:600;letter-spacing:1.8px;line-height:1.35;white-space:nowrap}.brand small{display:block;font-weight:400;font-size:8px;letter-spacing:2.1px;margin-top:5px;color:var(--muted)}.brand-symbol{position:relative;border:1px solid #b29676;border-radius:50%;font:33px var(--serif);width:48px;height:48px;text-align:center;line-height:44px;color:var(--plum)}.brand-symbol span{font-size:13px;position:absolute;bottom:-5px;right:-3px;background:var(--paper);padding:0 2px;line-height:20px}.header nav{display:flex;gap:30px;align-items:center;font-size:12px}.header nav>a:not(.button):hover{color:#966b51}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;background:var(--plum);color:white;font-weight:500;font-size:13px;border:1px solid var(--plum);padding:16px 23px;border-radius:4px;transition:background .2s,transform .2s;min-height:48px}.button:hover{background:#67414d;transform:translateY(-2px)}.button-small{padding:10px 20px;min-height:42px}.button span:last-child{font-size:19px}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;padding-block:68px 85px;min-height:700px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600;color:#8d6b52;margin-bottom:24px;display:flex;gap:12px;align-items:center}.line{width:24px;height:1px;background:var(--gold)}.hero h1 em{font-size:1.08em}.hero-description{max-width:435px;margin-top:26px;color:var(--muted);line-height:1.9}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.text-link{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:16px;padding-block:9px;border-bottom:1px solid #b89d86}.text-link:hover{color:#966b51}.hero-note{font-size:11px;color:var(--muted);margin-top:15px}.hero-art{position:relative;margin:0 25px 0 10px}.hero-photo{height:495px;border-radius:220px 220px 5px 5px;overflow:hidden;position:relative;background:var(--plum)}.hero-photo img{width:100%;height:100%;object-position:50% 50%}.photo-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(27,17,19,.8),transparent 45%)}.photo-label{position:absolute;bottom:26px;left:0;width:100%;text-align:center;color:#efdfca;font-size:9px;letter-spacing:2.7px}.orbit{border:1px solid #cab69b;border-radius:250px 250px 8px 8px;position:absolute;inset:-17px -15px 18px;transform:rotate(5deg);pointer-events:none}.orbit-two{inset:18px -28px -13px;transform:rotate(-5deg);opacity:.4}.art-star{position:absolute;color:var(--gold);z-index:1}.star-one{font-size:65px;right:-37px;top:23px}.star-two{font-size:30px;left:-31px;bottom:98px}.experience{position:absolute;bottom:39px;left:-60px;background:var(--paper);border:1px solid var(--line);padding:19px 24px;display:flex;align-items:center;gap:16px;box-shadow:0 9px 25px #2116160a;border-radius:4px}.experience>span{font:43px var(--serif);color:var(--plum)}.experience p{font-size:12px;line-height:1.6}.experience small{display:block;color:var(--muted);font-size:10px}.scroll-cue{position:absolute;bottom:26px;left:0;font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:13px;color:var(--muted)}.scroll-cue span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;font-size:15px}.values-strip{padding:22px 30px;background:var(--cream);display:flex;justify-content:center;gap:100px;color:#776152;font-size:12px}.section{padding-block:100px}.about{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center}.about-image{position:relative;max-width:400px;padding:14px;border:1px solid var(--line)}.about-image img{width:100%;height:405px;object-position:center}.image-caption{display:block;text-align:center;font-size:8px;letter-spacing:1.7px;margin-top:14px;color:var(--muted)}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:480px;margin-top:25px}.about-detail{display:flex;gap:18px;padding:22px 0;margin-top:12px}.about-detail>span{font-size:35px;color:var(--gold)}.about-detail p{font-size:13px;color:var(--muted)}.about-detail strong{font-weight:500;color:var(--ink)}.services{background:#f2ede6}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:17px}.section-heading>p{max-width:300px;color:var(--muted);font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service{background:var(--paper);border:1px solid #e5ddd2;border-radius:5px;overflow:hidden}.service-image{position:relative;overflow:hidden}.service-image img{width:100%;height:185px;transition:transform .4s}.service:hover img{transform:scale(1.035)}.service-image>span{position:absolute;left:15px;bottom:13px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--paper);font:14px var(--serif)}.service-copy{padding:24px 21px;display:flex;flex-direction:column;min-height:276px}.service-copy .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:14px}.service-copy h3{font-size:23px}.service-copy p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.8;margin-top:15px;margin-bottom:24px}.service-copy a{margin-top:auto;font-size:10px;font-weight:600;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.service-copy a span{font-size:19px}.services-note{font-size:10px;text-align:center;color:var(--muted);margin-top:28px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:80px}.steps ol{list-style:none;padding:0;margin:0}.steps li{display:flex;align-items:start;gap:23px;padding:22px 0;border-bottom:1px solid var(--line)}.steps li:first-child{padding-top:0}.steps li>span{color:var(--gold);font:24px var(--serif)}.steps h3{font-family:var(--sans);font-size:15px;font-weight:500}.steps li p{font-size:13px;color:var(--muted);margin-top:9px}.altar{background:var(--plum);color:var(--paper)}.altar .eyebrow,.altar em{color:#c3a07b}.altar .section-heading>p{color:#c8b9bc}.altar-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}.video-card{border:1px solid #785f65;border-radius:5px;overflow:hidden}.video-card video{width:100%;height:395px;display:block;background:#251820;object-fit:contain}.video-caption{padding:22px;display:flex;align-items:center;gap:20px}.video-caption>span:first-child{color:#c3a07b;font-size:25px}.video-caption h3{font-size:22px}.video-caption p{font-size:11px;color:#c8b9bc;margin-top:5px}.video-caption>span:last-child{margin-left:auto;letter-spacing:2px;font-size:8px;border:1px solid #785f65;padding:4px 10px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gallery-item{border:0;background:#291923;padding:0;position:relative;border-radius:4px;overflow:hidden;cursor:pointer;min-width:0}.gallery-item img{height:239px;width:100%;transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;bottom:10px;right:10px;width:29px;height:29px;background:#faf7f1d9;border-radius:50%;color:var(--plum);display:grid;place-items:center}.testimonial{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.testimonial>div>p:not(.eyebrow){max-width:370px;color:var(--muted);margin-top:24px;font-size:13px}.quote-mark{font:90px var(--serif);color:#b99873;line-height:.8;display:block}.testimonial .muted{font-size:10px!important}.testimonial-video{background:var(--cream);border:1px solid var(--line);padding:14px;border-radius:5px}.testimonial-video video{width:100%;height:340px;display:block;background:#261b22}.testimonial-video>p{display:flex;justify-content:space-between;gap:15px;font-size:9px;margin-top:15px;letter-spacing:1px}.testimonial-video>p span{color:var(--muted);font-size:8px}.faq{background:var(--cream)}.faq-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.faq .text-link{margin-top:28px}details{border-bottom:1px solid #d7ccc0}summary{cursor:pointer;list-style:none;padding:21px 0;display:flex;justify-content:space-between;gap:20px;font-size:14px;font-weight:500}summary::-webkit-details-marker{display:none}summary span{color:#8d6b52;font-size:19px;font-weight:400;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);padding-bottom:22px}details p+p{margin-top:0}.contact{position:relative;background:var(--plum);color:var(--paper);padding:85px 0;text-align:center;overflow:hidden}.contact .container{position:relative}.contact .eyebrow{justify-content:center;color:#c9a67e}.contact h2{font-size:clamp(38px,4.2vw,61px)}.contact em{color:#d2b08b}.contact p:not(.eyebrow){color:#c8b9bc;font-size:13px;margin-top:23px}.button-light{background:#ede1d0;color:var(--plum);border-color:#ede1d0;margin-top:29px}.button-light:hover{background:#fff4e4}.phone{display:block;font-size:12px;letter-spacing:1.5px;margin-top:15px}.socials{display:flex;justify-content:center;gap:25px;font-size:11px;margin-top:30px}.socials span{color:#bc976e}.socials a:hover{text-decoration:underline}.contact-star{position:absolute;left:20px;top:40px;color:#ae896045;font-size:170px;line-height:1}.footer{padding-block:45px 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.footer-top p,.footer-top>a:last-child{font-size:11px;color:var(--muted)}.footer .brand{font-size:12px}.footer .brand small{font-size:7px}.footer .brand-symbol{width:39px;height:39px;font-size:27px;line-height:35px}.legal{border-top:1px solid var(--line)}.legal summary{font-size:11px;color:var(--muted)}.legal h3{font:500 13px var(--sans);margin:14px 0 8px}.legal p{font-size:11px;max-width:900px}.footer-bottom{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:22px}.floating-whatsapp{position:fixed;bottom:24px;right:25px;z-index:15;background:#285f46;color:white;border:1px solid #ffffff55;border-radius:40px;box-shadow:0 6px 24px #14281930;display:flex;align-items:center;gap:9px;padding:11px 17px;font-size:12px}.floating-whatsapp svg{width:28px;height:28px}.floating-whatsapp:hover{background:#1c4e36}.skip{position:fixed;top:0;left:10px;transform:translateY(-120%);z-index:100;background:white;padding:10px}.skip:focus{transform:none}dialog{padding:0;border:0;border-radius:5px;background:#261820;max-width:90vw;max-height:90vh;overflow:visible}dialog::backdrop{background:#160e15d9}dialog img{max-height:85vh;max-width:85vw;object-fit:contain}.lightbox-close{position:absolute;right:8px;top:8px;z-index:1;width:40px;height:40px;border:0;border-radius:50%;background:var(--paper);color:var(--plum);font-size:26px;cursor:pointer}body.modal-open{overflow:hidden}
@media(min-width:1500px){.hero{gap:100px}.hero-photo{height:535px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header{padding:23px 32px}.header nav{gap:18px}.hero{gap:30px;min-height:650px}.hero-photo{height:440px}.hero-actions{gap:15px;flex-wrap:wrap}.experience{left:-25px;padding:14px}.about{gap:50px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-image img{height:230px}.service-copy{min-height:230px}.section-heading{gap:30px}.values-strip{gap:45px}.testimonial{gap:40px}.faq-layout{gap:40px}}
@media(max-width:760px){html{scroll-padding-top:25px}.container{width:calc(100% - 40px)}.announcement{font-size:8px;letter-spacing:1.2px;padding:8px 10px}.announcement span{margin:0 8px}.header{position:relative;padding:19px 20px}.brand{font-size:13px;gap:10px}.brand small{font-size:7px;letter-spacing:1.6px}.brand-symbol{width:40px;height:40px;font-size:29px;line-height:36px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:4px;padding:10px}.menu-toggle span{display:block;height:1px;width:22px;background:var(--plum);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--paper);padding:20px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #2a152310}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav a{padding:13px;font-size:14px}.header nav .button{margin-top:12px}.hero{grid-template-columns:1fr;gap:45px;padding-block:42px 72px;min-height:0}.hero h1{font-size:clamp(44px,10.5vw,70px);letter-spacing:-1.8px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:20px}.hero-description{font-size:14px;margin-top:22px;max-width:460px}.hero-actions{gap:15px;margin-top:25px}.hero-actions .button{font-size:12px;padding:14px 17px}.hero-actions .text-link{font-size:11px}.hero-note{font-size:10px}.hero-art{margin:0 25px 0 32px;max-width:410px;justify-self:center;width:calc(100% - 57px)}.hero-photo{height:360px;border-radius:180px 180px 4px 4px}.orbit{inset:-12px -10px 10px}.orbit-two{inset:10px -17px -9px}.star-one{font-size:48px;right:-26px}.star-two{left:-22px;font-size:25px}.experience{left:-27px;bottom:32px;padding:13px 17px;gap:12px}.experience>span{font-size:34px}.experience p{font-size:11px}.experience small{font-size:9px}.scroll-cue{bottom:15px}.values-strip{gap:15px;padding:18px 15px;flex-wrap:wrap;font-size:9px}.section{padding-block:62px}h2{font-size:37px}.about{grid-template-columns:1fr;gap:35px}.about-image{max-width:none;order:2}.about-image img{height:330px;object-position:center 43%}.about-copy>p:not(.eyebrow){font-size:14px;margin-top:21px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:none;margin-top:19px;font-size:13px}.service-grid{gap:14px}.service-image img{height:155px}.service-copy{padding:17px 14px;min-height:280px}.service-copy .eyebrow{font-size:7px;letter-spacing:.7px;line-height:1.6}.service-copy h3{font-size:22px}.service-copy p:not(.eyebrow){font-size:11px}.service-copy a{font-size:9px;gap:5px}.services-note{font-size:9px;line-height:1.8}.steps{grid-template-columns:1fr;gap:32px}.steps li{gap:20px}.altar-layout{grid-template-columns:1fr;gap:20px}.video-card video{height:350px}.gallery-item img{height:220px}.video-caption{padding:18px 14px;gap:12px}.video-caption h3{font-size:20px}.testimonial{grid-template-columns:1fr;gap:28px}.testimonial-video video{height:340px}.testimonial>div>p:not(.eyebrow){max-width:none}.testimonial-video>p{font-size:8px;letter-spacing:.6px}.testimonial-video>p span{font-size:7px}.faq-layout{grid-template-columns:1fr;gap:23px}.faq .text-link{margin-top:20px}summary{font-size:13px}.contact{padding:65px 0}.contact-star{font-size:110px;left:-35px;top:60px}.contact h2{font-size:39px}.contact p:not(.eyebrow){font-size:12px}.footer{padding-top:34px;padding-bottom:85px}.footer-top{flex-wrap:wrap;gap:18px}.footer-top .brand{width:100%}.footer-top p{font-size:10px}.footer-top>a:last-child{font-size:10px}.footer-bottom{gap:20px;align-items:start;font-size:8px}.floating-whatsapp{bottom:16px;right:16px;padding:10px 14px}.floating-whatsapp span{font-size:11px}}
@media(max-width:380px){.service-grid{grid-template-columns:1fr}.service-image img{height:200px}.service-copy{min-height:0}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .text-link{align-self:flex-start}.hero-photo{height:310px}.brand{font-size:11px}.contact h2{font-size:34px}}
/* Ubicación y crédito del estudio */
.location{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:65px}
.location-copy>p:not(.eyebrow){margin-top:23px;max-width:400px;color:var(--muted);font-size:14px}
.location-place{display:flex;align-items:start;gap:15px;padding:23px 0;margin-top:15px;border-block:1px solid var(--line)}
.location-place>span{font-size:30px;line-height:1;color:var(--gold)}
.location-place h3{font-family:var(--sans);font-size:14px;font-weight:500;line-height:1.6}
.location-place p{font-size:12px;color:var(--muted);margin-top:7px}
.location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:25px}
.location-map{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--cream)}
.location-map iframe{display:block;border:0;width:100%;height:390px}
.map-caption{padding:15px 18px;display:flex;align-items:center;gap:11px;font-size:10px;color:var(--muted)}
.map-caption>span{color:var(--gold);font-size:20px}
.map-caption a{margin-left:auto;font-size:20px;min-width:30px;text-align:center}
.sponsor{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);text-align:center}
.sponsor a{color:var(--plum);font-weight:600;display:inline-block;border-bottom:1px solid #b89d86;margin-left:4px;transition:color .2s}
.sponsor a:hover{color:#966b51}
/* Transiciones ligeras: el contenido permanece visible si JavaScript no está disponible. */
.reveal-item{opacity:1;transform:none;transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
.reveal-pending{opacity:0;transform:translateY(24px)}
.service{transition:box-shadow .3s,border-color .3s,opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
.service:hover{box-shadow:0 12px 30px #43252f10;border-color:#c7af96}
.button>span:last-child,.text-link>span,.service-copy a>span{display:inline-block;transition:transform .25s}
.button:hover>span:last-child,.text-link:hover>span,.service-copy a:hover>span{transform:translate(2px,-2px)}
@media(prefers-reduced-motion:no-preference){
  .hero-copy>.eyebrow{animation:soft-entrance .65s both}
  .hero h1{animation:soft-entrance .8s .08s both}
  .hero-description{animation:soft-entrance .8s .16s both}
  .hero-actions,.hero-note{animation:soft-entrance .8s .24s both}
  .hero-art{animation:soft-entrance 1s .18s both}
  .art-star{animation:star-glow 5s ease-in-out 3}
  .scroll-cue span{animation:scroll-invite 2.5s ease-in-out 3}
}
@keyframes soft-entrance{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes star-glow{0%,100%{opacity:.65;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}
@keyframes scroll-invite{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(max-width:1100px){.header nav{gap:15px}.location{gap:35px}}
@media(max-width:760px){.location{grid-template-columns:1fr;gap:30px}.location-map iframe{height:330px}.location-copy>p:not(.eyebrow){max-width:none}.location-actions{gap:20px}.map-caption{font-size:9px;padding:13px}.reveal-pending{transform:translateY(16px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal-pending{opacity:1;transform:none}}
@media print{.reveal-pending{opacity:1;transform:none}}
