/* Moderno: a photographic editorial, with one readable scrolling surface. */
.mo{--chrome-top:var(--ivory)}
.mo-text,.mo-row-text,.mo-faq-a,.mo-guide p.d,.mo-guide-note,.mo-details dd{font-size:16px;line-height:1.7}
.mo-kicker,.mo-label{font-size:12px;letter-spacing:.16em;line-height:1.6}
.mo-pill{font-size:13px!important;letter-spacing:.13em!important;min-height:52px;height:auto;padding:16px 22px!important;line-height:1.5!important}
.mo-underline{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.1em;min-height:44px;padding:10px 0!important}
.mo-display{text-wrap:balance}
.mo-scroller{scroll-snap-type:y proximity;overscroll-behavior-y:contain;scroll-padding-top:76px}
.mo-ch,.mo-ch.is-grow,.mo-ch.is-tall{height:auto;min-height:100%;overflow:visible;scroll-snap-align:start;padding-top:104px;padding-bottom:80px}
.mo-ch:not(.mo-cover):not(.mo-story){gap:0}
.mo-cover{min-height:100%;padding:0}
.mo-cover-copy{min-height:100cqh;height:auto;padding-top:130px;gap:0}
.mo-cover h1{font-size:clamp(68px,7.6cqw,130px);overflow-wrap:anywhere;line-height:.98}
.mo-cover h1 em{padding-left:.25em}
.mo-cover h1.long-names{font-size:clamp(52px,5.8cqw,98px)}
.mo-cover-intro{font-size:17px;line-height:1.65}
.mo-discover{font-size:12px!important;letter-spacing:.14em!important;min-height:48px;margin-top:26px;padding:10px 0!important}
.mo-bar{height:76px;padding-inline:28px;background:linear-gradient(var(--ivory) 78%,transparent);color:var(--ink);z-index:8}
.mo-bar-brand{font-size:25px!important;min-width:44px;min-height:44px}
.mo[data-chapter=historia] .mo-bar{background:linear-gradient(var(--ink) 78%,transparent);color:var(--ivory)}
.mo-bar nav{display:none}
.mo-index-open{display:flex!important;align-items:center;gap:12px;min-height:48px;padding:8px 0 8px 16px!important;font:400 12px var(--sans)!important;letter-spacing:.12em!important;text-transform:uppercase}
.mo-index{position:absolute;z-index:32;inset:0;background:color-mix(in srgb,var(--ink) 45%,transparent);display:flex;justify-content:flex-end}
.mo-index-panel{position:relative;width:min(100%,480px);height:100%;overflow-y:auto;padding:28px 32px 100px;background:var(--ivory);color:var(--ink);box-shadow:-20px 0 60px #0003}
.mo-index-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:40px}
.mo-index nav{display:flex;flex-direction:column;gap:4px}
.mo-index nav button{padding:18px 0!important;border-bottom:1px solid var(--line)!important;text-align:left;font:400 32px/1.15 var(--serif)!important}
.mo-index nav button[aria-current=true]{font-style:italic}
.mo-index-close{width:48px;height:48px;display:grid!important;place-items:center;border:1px solid var(--line)!important;border-radius:50%!important}
.mo-ticks{right:8px;gap:0}
.mo-ticks button{width:44px;height:44px}
.mo-ticks span{width:10px}
.mo-ticks button[aria-current=true] span{width:24px}
.mo-side img{transition:opacity .8s ease,scale 5s ease}
.mo-side img.is-on{scale:1.025}
.mo-side-cap{font-size:30px}
.mo-story{padding:0;min-height:100%;display:flex;flex-direction:column}
.mo-story-photo{flex:none;min-height:320px;height:40cqh;max-height:540px}
.mo-story-copy{padding-top:34px;padding-bottom:88px;flex:none}
.mo-story h2{margin-top:14px;line-height:1.05}
.mo-thumbs{gap:10px;margin-top:24px;overflow:visible;flex-wrap:wrap}
.mo-thumbs img{width:66px;height:88px;cursor:zoom-in}
.mo-thumbs img:nth-child(n+5){display:none}
.mo-gallery-open{color:var(--ivory)!important;background:none!important;border-bottom:1px solid #fff8!important;align-self:flex-start;margin-top:16px!important}
.mo-count-compact{margin-top:42px;padding-top:26px;border-top:1px solid var(--line)}
.mo-count-compact .mo-count-days{gap:12px;align-items:baseline}
.mo-count-compact .mo-count-days span:first-child{font-size:clamp(64px,7cqw,100px);color:var(--ink);line-height:1}
.mo-count-compact .mo-count-days span:last-child{font-size:26px;color:var(--muted)}
.mo-count-compact .mo-count-grid{margin-top:18px;border-color:var(--line)}
.mo-count-compact .mo-count-grid div{border-color:var(--line)}
.mo-count-compact .mo-count-grid strong{font-size:30px}
.mo-count-compact .mo-count-grid span{font-size:11px;letter-spacing:.1em;color:var(--muted)}
.mo-count-compact .mo-count-note{font-size:21px;color:var(--muted);margin-top:20px!important}
.mo-row{grid-template-columns:76px minmax(0,1fr);gap:20px}
.mo-row-time,.mo-row-key{font-family:var(--sans);font-size:15px;font-style:normal;line-height:1.5}
.mo-row-title{font-size:29px;line-height:1.2}
.mo-dress-body{padding-left:96px;font-size:16px}
.mo-faq-q{font-size:25px;line-height:1.25}
.mo-faq>button{min-height:72px}
.mo-person{padding-block:18px;flex-wrap:wrap}
.mo-person>span:first-child{font-size:24px;line-height:1.2;overflow-wrap:anywhere}
.mo-status{font-size:12px;letter-spacing:.08em;line-height:1.5}
.mo-switch{height:48px;width:148px;flex:none}
.mo-switch button{font-size:13px!important;letter-spacing:.06em!important}
.mo-person-error{font:400 14px/1.5 var(--sans);color:#8a1c1c;width:100%}
.mo-person.is-error{border-color:#8a1c1c}
.mo-close{width:48px;height:48px;font-size:20px!important}
.mo-field{font-size:12px;letter-spacing:.1em;line-height:1.6}
.mo-field textarea{font:400 16px/1.6 var(--sans);padding:12px 0;min-height:92px;resize:vertical;border-bottom-width:1px}
.mo-field textarea:focus-visible{outline:2px solid var(--muted);outline-offset:4px}
.mo-sheet{padding:26px 28px 100px}
#allYes{font-size:12px!important;min-height:44px;padding:10px 0!important;letter-spacing:.08em!important}
.mo-thanks{padding-top:40px}
.mo-thanks>p:first-child{font-size:84px}
.mo-booking-demo{font:400 13px/1.6 var(--sans);margin-top:12px!important;color:var(--muted)}
.mo-foot{margin-top:44px;padding-top:18px}
.mo-foot>*{min-height:44px;font-size:12px!important;letter-spacing:.1em!important}
/* Matte panels: a precise seam and fine rims, without a perpetual shimmer. */
.mo-door{transition:transform 1.6s cubic-bezier(.65,0,.2,1);will-change:transform;backface-visibility:hidden}
.mo-door-face{background:linear-gradient(110deg,#ffffff06,transparent 40%,#00000020),radial-gradient(ellipse 70% 55% at 50% 46%,var(--tone3,#30302f),var(--ink) 72%)}
.mo-door-face::after{content:'';position:absolute;inset:22px;border:1px solid color-mix(in srgb,var(--ivory) 15%,transparent);outline:1px solid color-mix(in srgb,var(--ivory) 6%,transparent);outline-offset:-6px;pointer-events:none}
.mo-door.is-left{box-shadow:inset -2px 0 0 #ffffff25,10px 0 25px #0005}
.mo-door.is-right{box-shadow:inset 2px 0 0 #ffffff20,-10px 0 25px #0005}
.mo-env.is-open .mo-door{opacity:1}
.mo-env.is-open .mo-door.is-left{transform:rotateY(-106deg)}
.mo-env.is-open .mo-door.is-right{transform:rotateY(106deg)}
.mo-seal{animation:mPulseL 2.4s ease-out 1}
.mo-env-hint{animation:none;background:none;color:var(--ivory);font-size:12px;letter-spacing:.14em;padding-inline:30px;line-height:1.6}
.mo-env-head .mo-kicker{font-size:12px;letter-spacing:.16em;max-width:40ch;margin-inline:auto}
.mo-env-mono{font-size:clamp(100px,12cqw,168px)}
.mo-env-name{font-size:clamp(25px,3cqw,36px);line-height:1.2;bottom:22%}
.mo-env-top{font-size:11px;letter-spacing:.14em;padding-inline:30px}
@media(min-width:1440px){.mo-bar nav{display:flex;gap:16px}.mo-bar nav button{font-size:11px;letter-spacing:.06em;min-height:44px}.mo-index-open{display:none!important}}
@media(max-width:1439px){.mo-ticks{display:none}}
@media(max-width:819px),(max-height:650px){
 .mo-side{display:none}
 .mo-scroller{scroll-snap-type:none}
 .mo-ch{height:auto;min-height:0;padding:76px 26px 52px}
 .mo-cover{padding:0;min-height:100cqh}
 .mo-cover-copy{min-height:100cqh;padding:120px 26px 100px}
 .mo-cover h1{font-size:clamp(64px,17cqw,105px)}
 .mo-cover h1.long-names{font-size:clamp(44px,12cqw,80px)}
 .mo-cover .mo-photo,.mo-cover::after{display:block}
 .mo-cover{background:var(--ink);color:var(--ivory)}
 .mo[data-chapter=portada] .mo-bar{background:linear-gradient(#14141499,transparent);color:var(--ivory)}
 .mo-bar{padding-inline:26px}
 .mo-story{padding:0;min-height:0}
 .mo-story-photo{height:60cqw;min-height:250px;max-height:440px}
 .mo-story-copy{padding:32px 26px 58px}
 .mo-count-compact .mo-count-days span:first-child{font-size:72px}
 .mo-count-compact .mo-count-grid strong{font-size:28px}
 .mo-ticks{display:none}
 .mo-row{grid-template-columns:64px minmax(0,1fr);gap:16px}
 .mo-row-title{font-size:26px}
 .mo-dress-body{padding-left:0}
 .mo-thumbs img{width:calc((100cqw - 82px)/4);max-width:88px;height:auto;aspect-ratio:3/4}
 .mo-person{gap:14px}
 .mo-sheet .mo-person{align-items:flex-start;flex-direction:column}
 .mo-sheet .mo-switch{width:100%;max-width:250px}
 .mo-sheet{height:94%;max-width:none;border-radius:18px 18px 0 0;padding:24px 24px 100px;animation-name:mSheet}
 .mo-scrim{justify-content:center}
}
@media(max-height:500px){.mo-env-head{top:14%}.mo-env-mono{font-size:80px;margin-top:8px!important}.mo-env-head .mo-kicker{font-size:11px}.mo-env-name{bottom:18%;font-size:24px}.mo-env-hint{bottom:5%}.mo-env-top{height:40px;font-size:10px}.mo-seal{width:56px;height:56px;top:54%}.mo-door-face::after{inset:12px}.mo-cover-copy{padding-top:105px}.mo-index-head{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.mo-door,.mo-side img,.mo-scroller{transition:none;scroll-behavior:auto}.mo-env-hint,.mo-seal{animation:none}.mo-sheet,.mo-index-panel{animation:none}}
@media(max-width:819px),(max-height:650px){.mo-ch.is-grow,.mo-ch.is-tall{min-height:0}}
.mo-switch{height:56px}
