/* A full product image: no fixed-height crop, at any breakpoint. */
.page-inicio .design-invitation-photo{width:100%;max-width:560px;max-height:none;overflow:visible;background:transparent;justify-self:center}
.page-inicio .design-invitation-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:800/617}
.home-journey .section-heading{align-items:end}
.journey-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 20px}
.journey-toolbar p{font-size:14px;color:var(--accent);font-variant-numeric:tabular-nums}
.journey-controls:not([hidden]){display:flex;gap:10px}
.journey-controls button{width:46px;height:46px;border:1px solid #625a4c;background:transparent;font-size:22px;line-height:1;transition:background .2s,border-color .2s}
.journey-controls button:hover:enabled{background:#cdb99c18;border-color:var(--accent)}
.journey-controls button:disabled{opacity:.3;cursor:default}
.journey-scroller{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#84745d #171714;padding-bottom:14px}
.journey-scroller:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.journey-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(380px,42vw,600px);width:max-content;list-style:none;padding:0;margin:0}
.journey-step{position:relative;padding:0 36px 18px 0;scroll-snap-align:start}
.journey-step::before,.journey-step::after{content:'';position:absolute;left:20.5px;right:-20.5px;top:20px;height:1px;background:#3b3933;pointer-events:none}
.journey-step::after{top:19.5px;height:2px;background:var(--accent);transform:scaleX(var(--segment-progress,0));transform-origin:left center}
.journey-step:last-child::before,.journey-step:last-child::after{display:none}
.journey-marker{position:relative;z-index:1;display:grid;place-items:center;width:41px;height:41px;padding:0;border:1px solid #5a554c;border-radius:50%;background:var(--bg);color:#aaa8a4;font-size:14px;line-height:1;transition:color .25s,border-color .25s,background .25s,box-shadow .25s}
.journey-step.is-reached .journey-marker{border-color:var(--accent);color:var(--accent)}
.journey-step.is-active .journey-marker{color:#080808;background:var(--accent);box-shadow:0 0 20px #cdb99c24}
.journey-step h3{font-size:23px;letter-spacing:-.025em;line-height:1.35;margin:25px 0 14px;max-width:290px;transition:color .25s}
.journey-step.is-active h3{color:var(--accent)}
.journey-step p{font-size:16px;line-height:1.6;max-width:290px}
.home-journey .process-bottom{display:flex;flex-wrap:wrap;gap:24px 40px;margin-top:30px}
.page-nosotros .process-grid p{font-size:16px;margin-top:14px}
@media(max-width:800px){.journey-track{grid-auto-columns:clamp(330px,92vw,430px)}.journey-step{padding-right:26px}.journey-step h3{font-size:22px;max-width:280px}.home-journey .section-heading{align-items:start}.page-inicio .design-invitation-photo{max-width:480px}.page-inicio .design-invitation-photo img{height:auto;max-height:none}}
@media(prefers-reduced-motion:reduce){.journey-marker,.journey-step::before,.journey-step h3{transition:none;box-shadow:none}.journey-scroller{scroll-behavior:auto}}

/* Native vertical page scroll reveals the horizontal journey inside a sticky stage. */
.home-journey.is-scroll-driven{position:relative;max-width:none;padding:0;overflow:visible}
.is-scroll-driven .journey-stage{position:sticky;top:var(--journey-top,102px);min-height:calc(100svh - var(--journey-top,102px));max-width:1700px;margin:auto;padding:28px var(--space);display:flex;flex-direction:column;justify-content:center}
.journey-stage>.eyebrow{margin-bottom:18px}
.is-scroll-driven .section-heading{margin-bottom:24px}
.is-scroll-driven .section-heading h2{font-size:clamp(36px,3.5vw,54px);line-height:1.12}
.is-scroll-driven .section-heading>p{font-size:16px}
.is-scroll-driven .journey-toolbar{margin-bottom:18px}
.is-scroll-driven .journey-scroller{overflow-x:hidden;scrollbar-width:none;padding-bottom:0}
.is-scroll-driven .journey-scroller::-webkit-scrollbar{display:none}
.is-scroll-driven .journey-step{transition:opacity .2s ease}
.is-scroll-driven .journey-step:not(.is-reached){opacity:.78}
.is-scroll-driven .journey-step h3{margin-top:22px}
.is-scroll-driven .process-bottom{margin-top:24px}
.home-journey .journey-controls{display:none!important}
.is-static-journey .journey-track{width:100%;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.is-static-journey .journey-step{padding:0}
.is-static-journey .journey-step::before,.is-static-journey .journey-step::after{display:none}
.is-static-journey .journey-scroller{overflow:visible}
@media(max-width:800px){.is-scroll-driven .journey-stage{padding-top:24px;padding-bottom:24px}.is-scroll-driven .section-heading h2{font-size:38px}.is-scroll-driven .section-heading{gap:16px;margin-bottom:22px}.is-scroll-driven .section-heading>p{max-width:300px}.is-scroll-driven .process-bottom{gap:16px;margin-top:20px}}
@media(max-width:600px){.is-static-journey .journey-track{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.journey-step{transition:none!important;transform:none!important;opacity:1!important}}
