/* Layali Weddings: romantic editorial scroll story. Ivory paper, plum ink, rose, a thread of gold. */
:root{--paper:#FBF6EF;--paper2:#F4E9E1;--blush:#F0D9D2;--rose:#A4535F;--plum:#3A2430;--mut:#6B5560;--gold:#B08D57;--goldt:#85642F;--sage:#A9B5A0;--gap:clamp(20px,6vw,90px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--plum);font:400 1.08rem/1.75 "Jost","El Messiri",system-ui,sans-serif;overflow-x:hidden}
html[dir=rtl] body{font-family:"El Messiri","Jost",system-ui,sans-serif;line-height:1.95;font-size:1.12rem}
img{display:block;max-width:100%}a{color:inherit}
h1,h2,h3{font-family:"Cormorant Garamond","El Messiri",Georgia,serif;font-weight:300;margin:0;line-height:1.02}
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3{font-family:"El Messiri",serif;font-weight:400;line-height:1.3}
h2{font-size:clamp(2.6rem,8vw,5.6rem)}
html[dir=rtl] h2{font-size:clamp(2.2rem,6vw,4.2rem)}
em{font-style:italic;color:var(--rose);font-weight:400}
html[dir=rtl] em{font-style:normal;color:var(--rose);font-weight:600}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hp{position:absolute;inset-inline-start:-9999px;opacity:0}
.skip{position:absolute;inset-inline-start:8px;top:-60px;background:#fff;padding:10px 14px;z-index:99}.skip:focus{top:8px}
:focus-visible{outline:2px solid var(--rose);outline-offset:4px}
.kick{font:400 .78rem "Jost",sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--goldt);margin:0 0 18px}
html[dir=rtl] .kick{letter-spacing:0;text-transform:none;font-family:"El Messiri",sans-serif;font-size:1rem;font-weight:600}
.kick::after{content:"";display:inline-block;width:46px;height:1px;background:var(--gold);vertical-align:middle;margin-inline-start:14px}

.prog{position:fixed;top:0;inset-inline:0;height:3px;z-index:60}.prog i{display:block;height:100%;width:var(--p,0%);background:linear-gradient(90deg,var(--blush),var(--gold))}
.top{position:absolute;top:0;inset-inline:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:14px var(--gap)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 1.5rem "Italiana","El Messiri",serif;letter-spacing:.06em}
.lang{font:inherit;font-size:.95rem;background:rgba(251,246,239,.8);color:var(--plum);border:1px solid var(--gold);border-radius:99px;padding:.35em 1.2em;cursor:pointer;min-height:44px;backdrop-filter:blur(6px)}
.lang:hover{background:var(--blush)}

/* chapter rail (wide screens) */
.rail{display:none}
@media(min-width:1180px){
  .rail{display:grid;gap:24px;position:fixed;inset-inline-start:26px;top:50%;transform:translateY(-50%);z-index:30;padding-block:8px}
  .rail .thread{position:absolute;inset-inline-start:15px;top:0;bottom:0;width:1px;background:rgba(176,141,87,.35)}
  .rail .thread::after{content:"";position:absolute;top:0;inset-inline-start:0;width:1px;height:var(--p,0%);background:var(--gold)}
  .rail a{position:relative;display:flex;align-items:center;gap:12px;text-decoration:none;font-size:.85rem;color:var(--mut)}
  .rail b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid var(--gold);font:italic 500 .95rem "Cormorant Garamond",serif;color:var(--goldt);z-index:1;transition:all .3s}
  html[dir=rtl] .rail b{font-family:"El Messiri",serif;font-style:normal}
  .rail span{opacity:0;transform:translateX(-6px);transition:all .3s;white-space:nowrap}
  html[dir=rtl] .rail span{transform:translateX(6px)}
  .rail a:hover span,.rail a.on span{opacity:1;transform:none}
  .rail a.on b{background:var(--rose);color:#fff;border-color:var(--rose)}
}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:center;padding:100px var(--gap) 60px;overflow:hidden;background:radial-gradient(ellipse at 80% 30%,var(--blush),transparent 60%),var(--paper)}
.oval{margin:0;width:min(78vw,440px);aspect-ratio:3/4;border-radius:50%;overflow:hidden;justify-self:center;border:1px solid var(--gold);padding:10px;background:var(--paper);box-shadow:0 0 0 10px rgba(240,217,210,.6)}
.oval img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(.85) sepia(.12) brightness(1.03)}
.oval{background-image:linear-gradient(160deg,var(--blush),var(--paper2))}
.nophoto{visibility:hidden}
.hero-in{text-align:center;margin-top:18px;position:relative}
.hero h1{font-size:clamp(3.6rem,16vw,10rem);font-style:italic;font-weight:300;color:var(--plum);text-shadow:0 2px 30px rgba(251,246,239,.9)}
html[dir=rtl] .hero h1{font-style:normal;font-size:clamp(3.4rem,14vw,8rem)}
.hero h1 em{font-style:normal;font-family:"Italiana",serif;color:var(--gold);font-size:.55em;vertical-align:.25em;padding:0 .15em}
.lead{max-width:30em;margin:18px auto 0;font-size:1.2rem;color:var(--mut)}
.date{margin:14px 0 0;font:italic 400 1.1rem "Cormorant Garamond",serif;color:var(--goldt)}
html[dir=rtl] .date{font-style:normal;font-family:"El Messiri",serif}
.cue{display:inline-flex;flex-direction:column;align-items:center;gap:10px;margin-top:30px;text-decoration:none;font-size:.8rem;letter-spacing:.26em;text-transform:uppercase;min-height:44px}
html[dir=rtl] .cue{letter-spacing:0;text-transform:none;font-size:1rem}
.cue i{width:1px;height:54px;background:linear-gradient(var(--gold),transparent);animation:cue 2.2s ease-in-out infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media(min-width:900px){
  .hero{grid-template-columns:1fr 1fr;gap:20px}
  .hero-in{text-align:start;margin:0;grid-row:1;grid-column:1;z-index:2;margin-inline-end:-18vw}
  .oval{grid-column:2;grid-row:1;width:min(40vw,560px);justify-self:end}
  .lead{margin-inline:0}
}

/* chapters */
.ch,.sec{position:relative;padding:clamp(70px,12vw,170px) var(--gap) 0;max-width:1400px;margin-inline:auto}
@media(min-width:1180px){.ch,.sec{padding-inline-start:calc(var(--gap) + 40px)}}
.chnum{position:absolute;inset-inline-end:var(--gap);top:clamp(40px,8vw,110px);font:italic 300 clamp(7rem,26vw,20rem)/1 "Cormorant Garamond",serif;color:transparent;-webkit-text-stroke:1px rgba(164,83,95,.25);pointer-events:none;direction:ltr;z-index:0}
.sec-h,.yes-t{position:relative;z-index:1;margin-bottom:34px}
.sub{color:var(--mut);max-width:34em;margin:16px 0 0}

.yes{display:grid;gap:40px}
.yes-t p{max-width:32em}
.dc::first-letter{float:inline-start;font:300 4.6rem/.8 "Cormorant Garamond",serif;color:var(--rose);padding-inline-end:12px;padding-top:6px}
html[dir=rtl] .dc::first-letter{float:none;font:inherit;color:inherit;padding:0}
.arch{margin:0;position:relative;border-radius:999px 999px 14px 14px;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(160deg,var(--blush),var(--paper2));max-width:460px;width:100%;justify-self:center}
.arch img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) sepia(.1)}
.arch blockquote{position:absolute;inset-inline:0;bottom:0;margin:0;padding:80px 28px 30px;background:linear-gradient(transparent,rgba(58,36,48,.82));color:#fff;font:italic 400 1.5rem/1.3 "Cormorant Garamond",serif;text-align:center}
html[dir=rtl] .arch blockquote{font-style:normal;font-family:"El Messiri",serif;font-size:1.25rem}
@media(min-width:900px){.yes{grid-template-columns:1.1fr .9fr;align-items:center;gap:80px}}

/* letters */
.letters{display:grid;gap:26px;position:relative;z-index:1}
.letter{background:#fff;padding:36px 28px 32px;position:relative;outline:1px solid var(--gold);outline-offset:-10px;box-shadow:0 18px 44px rgba(58,36,48,.1);text-align:center}
.letter:nth-child(1){transform:rotate(-1.2deg)}.letter:nth-child(3){transform:rotate(1.2deg)}
.ln{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 14px;border-radius:50%;background:var(--rose);color:#fff;font:italic 500 1.15rem "Cormorant Garamond",serif;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--rose)}
html[dir=rtl] .ln{font-family:"El Messiri",serif;font-style:normal}
.letter h3{font-size:2rem;margin-bottom:8px}.letter p{margin:0;color:var(--mut)}
@media(min-width:900px){.letters{grid-template-columns:repeat(3,1fr);gap:34px}.letter:nth-child(2){margin-top:44px}}

/* the day: sticky scene */
.stage{display:grid;gap:10px;position:relative;z-index:1}
.stage-pic{display:none}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:44px}
.sp-m{margin:0 0 16px;border-radius:999px 999px 12px 12px;overflow:hidden;aspect-ratio:4/5;max-width:340px;background:linear-gradient(160deg,var(--blush),var(--paper2))}
.sp-m img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) sepia(.1)}
.step time{display:block;font:400 clamp(2.4rem,9vw,4rem) "Italiana","El Messiri",serif;color:var(--rose);line-height:1.1}
.step h3{font-size:clamp(1.8rem,5vw,2.6rem);margin:4px 0 10px}
.step p{margin:0;max-width:30em;color:var(--mut)}
@media(min-width:900px){
  .stage{grid-template-columns:5fr 6fr;gap:70px;align-items:start}
  .stage-pic{display:block;position:sticky;top:11vh;height:78vh;border-radius:999px 999px 20px 20px;overflow:hidden;background:linear-gradient(160deg,var(--blush),var(--paper2));box-shadow:0 0 0 1px var(--gold),0 0 0 12px var(--paper),0 0 0 13px rgba(176,141,87,.5)}
  .stage-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s,transform 1.4s;transform:scale(1.06);filter:saturate(.85) sepia(.1)}
  .stage-pic img.on{opacity:1;transform:none}
  .sp-m{display:none}
  .steps{gap:0}
  .step{min-height:68vh;display:flex;flex-direction:column;justify-content:center;opacity:.28;transition:opacity .6s}
  .step.act{opacity:1}
}

/* album */
.film{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 4px 40px;scrollbar-width:thin;position:relative;z-index:1}
.frame{flex:0 0 min(72%,300px);scroll-snap-align:center;background:#fff;border:0;padding:12px 12px 16px;box-shadow:0 18px 40px rgba(58,36,48,.15);cursor:pointer;font:inherit;color:inherit;text-align:center;transition:transform .4s;display:grid;gap:12px}
.frame:nth-child(odd){transform:rotate(-1.5deg)}.frame:nth-child(even){transform:rotate(1.4deg) translateY(26px)}
.frame:hover{transform:rotate(0) translateY(-6px)}
.frame img{width:100%;aspect-ratio:3/4;object-fit:cover;background:linear-gradient(160deg,var(--blush),var(--paper2));filter:saturate(.85) sepia(.1)}
.frame span{font:italic 400 1.05rem "Cormorant Garamond",serif;color:var(--mut)}
html[dir=rtl] .frame span{font-style:normal;font-family:"El Messiri",serif}
@media(min-width:900px){.film{overflow:visible;justify-content:space-between}.frame{flex:1 1 0}}
dialog{border:0;padding:0;background:transparent;max-width:min(92vw,720px);max-height:94vh;color:#fff;overflow:visible}
dialog::backdrop{background:rgba(58,36,48,.82)}
dialog figure{margin:0;text-align:center}dialog img{max-height:78vh;width:auto;margin:auto;border:10px solid #fff}
dialog figcaption{padding:12px;font:italic 1.2rem "Cormorant Garamond",serif}
html[dir=rtl] dialog figcaption{font-style:normal;font-family:"El Messiri",serif}
.lb-b{display:flex;justify-content:center;gap:14px}.lb-b button{width:48px;height:48px;border-radius:50%;border:1px solid #fff;background:transparent;color:#fff;font-size:1.6rem;cursor:pointer}
.lb-b button:hover{background:#fff;color:var(--plum)}

/* collections */
.menu{list-style:none;margin:0;padding:0;display:grid;gap:30px;max-width:820px}
.mh{display:flex;align-items:baseline;gap:12px}
.mh h3{font-size:clamp(2rem,6vw,3rem);font-style:italic}
html[dir=rtl] .mh h3{font-style:normal}
.lead-dots{flex:1;border-bottom:2px dotted var(--gold);transform:translateY(-6px)}
.mh b{font:500 1.4rem "Cormorant Garamond","El Messiri",serif;color:var(--rose);white-space:nowrap}
.menu p{margin:4px 0 0;color:var(--mut);max-width:34em}

/* counter */
.cnt{background:var(--plum);color:var(--paper);padding:clamp(28px,6vw,70px);position:relative;outline:1px solid var(--gold);outline-offset:-12px;display:grid;gap:14px}
.cnt h2{font-size:clamp(2.2rem,6vw,3.8rem)}.cnt em{color:var(--blush)}
.cnt label{display:grid;gap:6px;max-width:320px;font-size:.95rem}
.cnt input{font:inherit;color:var(--plum);background:var(--paper);border:0;border-radius:2px;padding:.7em .9em;min-height:48px;width:100%}
.cbig{font:italic 300 clamp(2.4rem,8vw,5rem)/1 "Cormorant Garamond","El Messiri",serif;color:var(--blush);margin:6px 0 0}
html[dir=rtl] .cbig{font-style:normal;font-family:"El Messiri",serif}
.cnt #cMsg{margin:0;min-height:1.6em}

/* letters carousel */
.voices{text-align:center}
.voices .kick::after{display:none}
.vwrap{display:grid;max-width:820px;margin:20px auto 0}
.vq{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .9s,visibility .9s}
.vq.on{opacity:1;visibility:visible}
.vq blockquote{margin:0;font:italic 300 clamp(1.7rem,5vw,2.8rem)/1.25 "Cormorant Garamond",serif}
html[dir=rtl] .vq blockquote{font-style:normal;font-family:"El Messiri",serif;font-size:clamp(1.5rem,4vw,2.2rem);line-height:1.6}
.vq figcaption{margin-top:16px;color:var(--goldt);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}
html[dir=rtl] .vq figcaption{letter-spacing:0;text-transform:none;font-size:1rem}
.dots{display:flex;justify-content:center;gap:4px;margin-top:20px}
.dots button{width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative}
.dots button::after{content:"";position:absolute;inset:50% auto auto 50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;border:1px solid var(--gold);background:transparent}
.dots button[aria-current=true]::after{background:var(--rose);border-color:var(--rose)}

/* enquiry */
.ask{padding-bottom:clamp(70px,10vw,140px)}
.card{background:#fff;padding:clamp(24px,5vw,56px);display:grid;gap:22px;outline:1px solid var(--gold);outline-offset:-12px;box-shadow:0 30px 70px rgba(58,36,48,.12);position:relative;z-index:1;max-width:860px}
.two{display:grid;gap:22px}
@media(min-width:700px){.two{grid-template-columns:1fr 1fr}}
label{display:grid;gap:4px;font-size:.92rem;color:var(--mut)}
input:not([type=checkbox]),select,textarea{font:inherit;font-size:1.05rem;color:var(--plum);background:transparent;border:0;border-bottom:1px solid var(--gold);border-radius:0;padding:.6em .1em;min-height:48px;width:100%}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:0;border-bottom:2px solid var(--rose)}
fieldset{border:0;padding:0;margin:0}legend{font-size:.92rem;color:var(--mut);margin-bottom:8px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt span{display:inline-flex;align-items:center;min-height:44px;padding:.3em 1.2em;border:1px solid var(--gold);border-radius:99px;cursor:pointer;color:var(--plum)}
.opt input:checked+span{background:var(--rose);border-color:var(--rose);color:#fff}
.opt input:focus-visible+span{outline:2px solid var(--rose);outline-offset:3px}
.btn{font:inherit;font-size:1.05rem;background:var(--plum);color:var(--paper);border:0;padding:1em 2em;min-height:54px;cursor:pointer;letter-spacing:.14em;text-transform:uppercase;transition:background .3s,letter-spacing .3s}
html[dir=rtl] .btn{letter-spacing:0;text-transform:none;font-size:1.1rem}
.btn:hover{background:var(--rose);letter-spacing:.2em}html[dir=rtl] .btn:hover{letter-spacing:0}
.err{color:#9b2c3a;margin:0}.ok{background:var(--blush);padding:.7em 1em;margin:0}
.direct{margin-top:24px;position:relative;z-index:1}.direct a{color:var(--rose)}
.foot{background:var(--plum);color:var(--paper);text-align:center;padding:60px var(--gap) 40px}.foot p{margin:6px 0;opacity:.85}.foot img{margin:0 auto 14px;filter:brightness(1.4)}.small{font-size:.85rem}

.js .rv{opacity:0;translate:0 40px;transition:opacity 1s,translate 1s cubic-bezier(.2,.7,.2,1)}.js .rv.in{opacity:1;translate:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;translate:none}.step{opacity:1!important}.stage-pic img{transition:none}}
html[dir=rtl] .logo{letter-spacing:0}
