:root {
  --ink: #2c2328;
  --plum: #4b2637;
  --plum-deep: #2b1721;
  --rose: #d8b7b0;
  --champagne: #c6a474;
  --porcelain: #fbf9f5;
  --paper: #f4eee8;
  --sage: #788577;
  --line: rgba(44, 35, 40, .16);
  --shadow: 0 28px 80px rgba(45, 27, 36, .17);
  --display: "Playfair Display", Georgia, serif;
  --body: "Manrope", system-ui, sans-serif;
  --sans: var(--body);
  --utility: "DM Mono", monospace;
  --container: min(1180px, calc(100vw - 48px));
  --surface-canvas: #f4eee8;
  --surface-base: #fbf9f5;
  --surface-raised: #fffdf9;
  --surface-muted: #f1ebe7;
  --text-muted: #766a70;
  --border-soft: rgba(58, 38, 47, .12);
  --border-strong: rgba(75, 38, 55, .24);
  --radius-xs: 6px;
  --radius-sm: 9px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --shadow-xs: 0 1px 2px rgba(45, 27, 36, .04), 0 5px 14px rgba(45, 27, 36, .05);
  --shadow-sm: 0 10px 28px rgba(45, 27, 36, .08);
  --shadow-md: 0 22px 55px rgba(45, 27, 36, .13);
  --focus-ring: 0 0 0 3px rgba(141, 80, 104, .16);
  --ease-standard: cubic-bezier(.2, .8, .2, 1);
  --duration-fast: 160ms;
  --duration-base: 240ms;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--porcelain); font-family: var(--body); line-height: 1.6; }
a { color: inherit; }
button, input { font: inherit; }
button, a { touch-action: manipulation; }
button { color: inherit; }
.skip-link { position: fixed; z-index: 1000; left: 16px; top: 16px; padding: 12px 16px; background: white; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #9b5b74; outline-offset: 3px; }

.site-header { position: sticky; z-index: 50; top: 0; height: 76px; padding: 0 max(24px, calc((100vw - 1180px)/2)); display: flex; align-items: center; justify-content: space-between; background: rgba(251,249,245,.9); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(44,35,40,.08); }
.brand, .studio-brand { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.brand-symbol { width: 41px; height: 41px; flex: 0 0 auto; }
.brand-word { display: inline-flex; align-items: baseline; color: var(--ink); font: 500 28px/.9 var(--display); letter-spacing: -.055em; }
.brand-word em { color: #8d5068; font-weight: 500; }
.brand:hover .brand-symbol { transform: rotate(-3deg); }
.brand-symbol { transition: transform .25s ease; }
.main-nav { display: flex; align-items: center; gap: 30px; font-size: 13px; font-weight: 600; }
.main-nav a { padding: 12px 0; text-decoration: none; border-bottom: 1px solid transparent; }
.main-nav a.is-active { border-color: var(--plum); }
.header-cta { min-height: 44px; padding: 10px 17px; display: inline-flex; align-items: center; gap: 14px; color: white; background: var(--plum); text-decoration: none; border-radius: 999px; font-size: 13px; font-weight: 600; }

.route { display: none; }
.route.is-active { display: block; }
.hero { position: relative; width: var(--container); min-height: 710px; margin: 0 auto; display: grid; grid-template-columns: .94fr 1.06fr; align-items: center; overflow: hidden; }
.hero-copy { position: relative; z-index: 2; max-width: 570px; padding: 72px 0 100px; }
.eyebrow { margin: 0 0 20px; color: #74465a; font: 500 11px var(--utility); letter-spacing: .17em; text-transform: uppercase; }
.eyebrow.light { color: #d9b8c4; }
.hero h1, .section-heading h2, .album-copy h2, .final-cta h2, .feature-copy h2 { margin: 0; font: 500 clamp(52px, 6.2vw, 92px)/.98 var(--display); letter-spacing: -.045em; }
.hero h1 em, .final-cta h2 em { color: #8c5067; font-weight: 500; }
.hero-lead { max-width: 570px; margin: 28px 0 0; color: #5d5257; font-size: 17px; line-height: 1.75; }
.hero-actions { margin-top: 34px; display: flex; align-items: center; gap: 27px; }
.button { min-height: 48px; padding: 13px 21px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; text-decoration: none; cursor: pointer; font-size: 13px; font-weight: 700; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: var(--plum); }
.button-primary:hover { background: var(--plum-deep); }
.button-light { color: var(--plum-deep); background: var(--porcelain); }
.text-link, .faux-link { padding: 10px 0; border: 0; background: none; text-decoration: none; font-size: 13px; font-weight: 700; cursor: pointer; }
.text-link span { margin-left: 9px; }
.trust-line { margin-top: 20px; color: #776d71; font: 400 11px var(--utility); }
.trust-line span { margin: 0 7px; }

.hero-stage { position: relative; z-index: 2; height: 620px; display: grid; place-items: center; }
.paper-shadow { position: absolute; width: 365px; height: 530px; background: #d9c7bc; transform: rotate(6deg) translate(18px, 2px); border-radius: 180px 180px 10px 10px; }
.mini-invite { position: relative; width: 365px; height: 530px; background: white; transform: rotate(-2.8deg); border-radius: 180px 180px 8px 8px; overflow: hidden; box-shadow: var(--shadow); }
.mini-photo, .invite-cover, .detail-photo, .preview-cover, .album-image { background-color: #795d5b; background-image: linear-gradient(180deg, rgba(31,18,25,.08), rgba(31,18,25,.48)), url("https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=1600&q=86"); background-size: cover; background-position: center; }
.mini-photo { position: relative; height: 275px; }
.photo-grain { position: absolute; inset: 0; opacity: .13; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.mini-body { padding: 27px 35px; text-align: center; }
.mini-kicker, .mini-place { font: 400 9px var(--utility); letter-spacing: .14em; text-transform: uppercase; }
.mini-body h2 { margin: 11px 0 8px; font: 500 38px var(--display); letter-spacing: -.04em; }
.mini-body h2 i { color: #a8697e; font-weight: 500; }
.mini-body p { margin: 0 auto 16px; max-width: 270px; color: #70646a; font: 400 11px/1.7 var(--body); }
.floating-note { position: absolute; min-width: 128px; padding: 13px 15px; display: flex; flex-direction: column; background: rgba(255,255,255,.87); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.8); border-radius: 3px; box-shadow: 0 15px 42px rgba(45,27,36,.13); }
.floating-note strong { font: 500 22px var(--display); }
.floating-note span { color: #756970; font: 400 9px var(--utility); }
.note-one { left: 12px; top: 152px; }
.note-two { right: 3px; bottom: 112px; }
.note-three { right: 0; top: 90px; }
.memory-line { position: absolute; pointer-events: none; }
.memory-line path { stroke: #b98e78; stroke-width: 1.4; stroke-dasharray: .015 .018; opacity: .7; }
.hero-line { inset: 20px -40px auto; width: calc(100% + 80px); height: 690px; }

.event-strip { padding: 29px 0; color: white; background: var(--plum-deep); text-align: center; overflow: hidden; }
.event-strip p { margin: 0 0 16px; color: #cbaeb9; font: 400 10px var(--utility); letter-spacing: .16em; text-transform: uppercase; }
.event-list { display: flex; justify-content: center; align-items: center; gap: 28px; white-space: nowrap; font: 500 clamp(18px, 2vw, 25px) var(--display); }
.event-list i { color: var(--champagne); font: normal 8px var(--body); }

.story-section { position: relative; width: var(--container); min-height: 900px; margin: 0 auto; padding: 130px 0; overflow: hidden; }
.section-heading { width: 58%; margin-left: auto; }
.section-heading h2 { font-size: clamp(44px, 5vw, 70px); }
.story-steps { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 70px; margin-top: 100px; }
.story-step { padding-top: 21px; border-top: 1px solid var(--line); }
.story-step.is-shifted { transform: translateY(95px); }
.story-step h3 { margin: 22px 0 14px; font: 500 31px var(--display); }
.story-step p { color: #6d6267; font-size: 14px; }
.step-label { color: #8f586d; font: 500 10px var(--utility); letter-spacing: .12em; text-transform: uppercase; }
.story-line { inset: 35px 0 auto; width: 100%; height: 800px; }

.feature-panel { width: var(--container); margin: 0 auto 140px; padding: 74px; display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: center; color: white; background: var(--plum-deep); border-radius: 4px 130px 4px 4px; }
.feature-copy h2 { font-size: clamp(40px, 4.6vw, 64px); }
.feature-copy > p:not(.eyebrow) { max-width: 430px; color: #d1c5ca; }
.feature-copy .button { margin-top: 20px; }
.guest-dashboard { padding: 24px; color: var(--ink); background: #fdfbf8; border-radius: 15px; box-shadow: 0 30px 70px rgba(0,0,0,.28); }
.dash-top { display: flex; justify-content: space-between; align-items: center; font-weight: 700; }
.status-pill { padding: 5px 9px; color: #42604c; background: #e1ebe3; border-radius: 999px; font-size: 10px; }
.dash-stats { margin: 24px 0; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); }
.dash-stats div { padding: 16px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.dash-stats div:last-child { border: 0; }
.dash-stats strong { font: 500 29px var(--display); }
.dash-stats span { color: #766b70; font-size: 9px; }
.guest-list > div { padding: 12px 0; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 11px; border-top: 1px solid var(--line); font-size: 11px; }
.guest-list span { display: flex; flex-direction: column; }
.guest-list small { color: #857b80; }
.guest-list b { color: #42604c; font-size: 9px; }
.guest-list b.waiting { color: #946a33; }
.avatar { width: 34px; height: 34px; display: grid !important; place-items: center; color: white; background: #725269; border-radius: 50%; font-size: 9px; }
.avatar.peach { background: #bd7965; }
.avatar.sage { background: #788577; }

.album-section { width: var(--container); min-height: 650px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr .9fr; gap: 95px; align-items: center; }
.album-collage { position: relative; height: 560px; }
.album-image { position: absolute; box-shadow: var(--shadow); }
.image-a { width: 54%; height: 68%; left: 4%; top: 4%; background-image: linear-gradient(180deg, transparent, rgba(20,14,17,.2)), url("https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=900&q=82"); }
.image-b { width: 49%; height: 54%; right: 1%; bottom: 3%; background-image: linear-gradient(180deg, transparent, rgba(20,14,17,.2)), url("https://images.unsplash.com/photo-1507504031003-b417219a0fde?auto=format&fit=crop&w=900&q=82"); }
.image-c { width: 31%; aspect-ratio: 1; right: 7%; top: 2%; display: grid; place-items: center; color: white; background-image: linear-gradient(rgba(75,38,55,.87), rgba(75,38,55,.87)); border-radius: 50%; text-align: center; }
.image-c span { font: 500 32px/1 var(--display); }
.image-c small { font: 400 9px var(--utility); letter-spacing: .15em; text-transform: uppercase; }
.album-copy h2 { font-size: clamp(46px, 5vw, 72px); }
.album-copy p:not(.eyebrow) { color: #6d6267; }

.final-cta { margin-top: 90px; padding: 110px 24px; color: white; background: var(--plum); text-align: center; }
.final-cta h2 { margin-bottom: 35px; font-size: clamp(52px, 7vw, 92px); }
.final-cta h2 em { color: #e3b9c4; }

.invite-toolbar { min-height: 58px; padding: 10px 24px; display: flex; justify-content: center; gap: 40px; align-items: center; color: white; background: var(--plum-deep); font-size: 12px; }
.invite-toolbar a { font-weight: 700; }
.live-dot { width: 8px; height: 8px; margin-right: 7px; display: inline-block; background: #8cc096; border-radius: 50%; box-shadow: 0 0 0 5px rgba(140,192,150,.12); }
.full-invitation { --invite-accent:#8d5068; --invite-dark:#3d2430; background: #faf6f0; }
.full-invitation[data-preview-theme="olive"] { --invite-accent:#667963; --invite-dark:#334238; }
.full-invitation[data-preview-theme="night"] { --invite-accent:#a9916d; --invite-dark:#252332; }
.invite-cover { position: relative; min-height: calc(100dvh - 134px); display: grid; place-items: center; color: white; background-position: center 42%; }
.cover-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(27,15,20,.28), rgba(27,15,20,.48)); }
.cover-content { position: relative; z-index: 1; text-align: center; }
.cover-content p, .cover-content span { font: 400 11px var(--utility); letter-spacing: .16em; text-transform: uppercase; }
.cover-content h1 { margin: 16px 0; font: 500 clamp(70px, 10vw, 145px)/1 var(--display); letter-spacing: -.05em; }
.cover-content h1 i { color: #f0c8d4; font-weight: 500; }
.scroll-cue { position: absolute; z-index: 2; bottom: 28px; color: white; font-size: 11px; text-decoration: none; }
.scroll-cue span { margin-left: 10px; }
.invite-intro { padding: 120px 24px; text-align: center; }
.invite-intro > h2 { max-width: 720px; margin: 0 auto 20px; color: var(--invite-dark); font: 500 clamp(45px, 5vw, 70px)/1.1 var(--display); }
.invite-intro > p:not(.invite-ornament) { max-width: 620px; margin: 0 auto; color: #746a6e; }
.invite-ornament { width: 72px; height: 72px; margin: 0 auto 35px; display: grid; place-items: center; color: white; background: var(--invite-accent); border-radius: 50% 50% 48% 52% / 54% 44% 56% 46%; font: 500 13px var(--utility); }
.countdown { max-width: 520px; margin: 55px auto 0; display: grid; grid-template-columns: repeat(3,1fr); }
.countdown div { display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.countdown div:last-child { border: 0; }
.countdown strong { font: 500 48px var(--display); font-variant-numeric: tabular-nums; }
.countdown span { color: #84787c; font: 400 9px var(--utility); letter-spacing: .15em; text-transform: uppercase; }
.invite-details-grid { min-height: 720px; display: grid; grid-template-columns: 1.05fr .95fr; }
.detail-photo { min-height: 650px; background-image: linear-gradient(180deg, transparent, rgba(20,14,17,.2)), url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1300&q=84"); }
.detail-copy { padding: 90px clamp(40px, 8vw, 120px); display: flex; flex-direction: column; justify-content: center; }
.timeline-item { padding: 20px 0; display: grid; grid-template-columns: 70px 1fr; border-top: 1px solid var(--line); }
.timeline-item > span { font: 400 11px var(--utility); }
.timeline-item h3 { margin: 0; font: 500 25px var(--display); }
.timeline-item p { margin: 3px 0 0; color: #7b7075; font-size: 12px; }
.detail-copy .button { align-self: flex-start; margin-top: 24px; background: var(--invite-dark); }
.venue-section { padding: 120px 24px; text-align: center; }
.venue-section h2 { margin: 0; color: var(--invite-dark); font: 500 clamp(60px, 8vw, 105px) var(--display); }
.venue-section > p:not(.eyebrow) { color: #766b70; }
.rsvp-section { padding: 110px max(24px, calc((100vw - 1100px)/2)); display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: start; color: white; background: var(--invite-dark); }
.rsvp-section h2 { margin: 0; font: 500 clamp(48px, 5vw, 74px) var(--display); }
.rsvp-section > div > p:last-child { color: #d3c8cc; }
.rsvp-card { padding: 32px; color: var(--ink); background: #fffdf9; border-radius: 3px; }
.rsvp-card label, .rsvp-card legend { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; }
.rsvp-card input[type="text"], .rsvp-card input:not([type]) { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--line); background: white; border-radius: 3px; }
.rsvp-card fieldset { margin: 20px 0; padding: 0; border: 0; }
.radio-card { min-height: 48px; padding: 13px 14px; border: 1px solid var(--line); cursor: pointer; }
.radio-card + .radio-card { margin-top: 8px; }
.radio-card input { margin-right: 7px; accent-color: var(--invite-accent); }
.full-width { width: 100%; background: var(--invite-dark); }
.form-success { min-height: 20px; margin: 12px 0 0; color: #40634b; font-size: 12px; text-align: center; }

.start-route { min-height: calc(100dvh - 76px); color: #33262c; background: #f4eee9; }
.start-shell { min-height: calc(100dvh - 76px); display: grid; grid-template-columns: minmax(440px,1.02fr) minmax(520px,.98fr); }
.start-story { position: relative; min-height: 760px; padding: 38px clamp(35px,5vw,78px); display: flex; flex-direction: column; overflow: hidden; color: white; background: linear-gradient(145deg,rgba(40,20,29,.72),rgba(29,15,21,.88)), url("assets/aniyla-editorial-hero.webp") center/cover; }
.start-story::before { content: ""; position: absolute; inset: 0; opacity: .24; background: radial-gradient(circle at 75% 28%,rgba(225,173,193,.5),transparent 28%), linear-gradient(120deg,transparent 55%,rgba(255,255,255,.08)); pointer-events: none; }
.start-back { position: relative; z-index: 1; align-self: flex-start; color: rgba(255,255,255,.72); text-decoration: none; font: 500 9px var(--utility); letter-spacing: .08em; }
.start-story-copy { position: relative; z-index: 1; max-width: 610px; margin: auto 0 28px; }
.start-story-copy .eyebrow { margin-bottom: 22px; }
.start-story-copy h1 { margin: 0; font: 500 clamp(56px,6.6vw,96px)/.88 var(--display); letter-spacing: -.055em; }
.start-story-copy h1 em { color: #e6bdc9; font-weight: 500; }
.start-story-copy > p:last-child { max-width: 500px; margin: 30px 0 0; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.8; }
.start-story-preview { position: absolute; z-index: 1; right: -72px; top: 11%; width: 230px; height: 350px; padding: 9px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.1); border-radius: 30px; box-shadow: 0 35px 80px rgba(11,4,7,.35); transform: rotate(7deg); backdrop-filter: blur(10px); }
.start-story-preview > div { height: 100%; padding: 28px 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: linear-gradient(rgba(41,21,30,.18),rgba(41,21,30,.62)), url("assets/aniyla-editorial-hero.webp") center/cover; border-radius: 23px; }
.start-story-preview span, .start-story-preview small { font: 400 6px var(--utility); letter-spacing: .12em; text-transform: uppercase; }
.start-story-preview strong { margin: 16px 0; font: 500 25px var(--display); }
.start-story-preview strong i { color: #e9becb; }
.start-story footer { position: relative; z-index: 1; margin-top: auto; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.48); font: 400 7px var(--utility); letter-spacing: .12em; }
.start-story footer i { height: 1px; flex: 1; background: currentColor; }
.start-form-panel { padding: clamp(38px,5vw,72px) clamp(34px,6vw,92px); overflow-y: auto; background: #fbf8f4; }
.start-form-panel > header { margin-bottom: 34px; padding-bottom: 22px; display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid #dfd5d0; }
.start-form-panel > header .eyebrow { margin-bottom: 4px; }
.start-form-panel > header h2 { margin: 0; font: 500 clamp(31px,3vw,45px) var(--display); letter-spacing: -.035em; }
.start-form-panel > header > span { width: 43px; height: 43px; display: grid; place-items: center; color: #6f4556; border: 1px solid #d6c3ca; border-radius: 50%; font: 500 8px var(--utility); }
#start-form { display: grid; gap: 27px; }
#start-form fieldset { margin: 0; padding: 0; border: 0; }
#start-form legend, #start-form label { color: #5a4850; font-size: 10px; font-weight: 700; }
.start-event-types > div { margin-top: 10px; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.start-event-types button { min-height: 68px; padding: 9px 5px; display: grid; place-items: center; gap: 4px; color: #76666c; border: 1px solid #d9cdca; background: white; border-radius: 10px; cursor: pointer; font-size: 9px; transition: transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.start-event-types button span { font: 500 18px var(--display); }
.start-event-types button:hover { transform: translateY(-2px); border-color: #b88e9d; }
.start-event-types button.is-active { color: #5d3042; border-color: #9b6175; background: #f4e7eb; box-shadow: 0 0 0 2px rgba(155,97,117,.11); }
.start-name-fields { display: grid; grid-template-columns: 1fr 24px 1fr; align-items: end; gap: 8px; }
.start-name-fields > span { padding-bottom: 14px; color: #a06a7e; font: 500 22px var(--display); text-align: center; }
.start-name-fields label, .start-detail-fields label { display: grid; gap: 7px; }
.start-name-fields input, .start-detail-fields input { width: 100%; min-height: 48px; padding: 12px 13px; color: #34252c; border: 1px solid #d6cac7; background: white; border-radius: 9px; outline: none; font: 500 12px var(--body); }
.start-name-fields input:focus, .start-detail-fields input:focus { border-color: #985d73; box-shadow: 0 0 0 3px rgba(152,93,115,.12); }
.start-detail-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.start-themes > div { margin-top: 10px; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.start-themes button { padding: 7px 7px 11px; display: grid; gap: 4px; color: #786970; border: 1px solid #d8cdca; background: white; border-radius: 11px; cursor: pointer; text-align: left; transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.start-themes button:hover { transform: translateY(-3px); border-color: #b88d9d; }
.start-themes button.is-active { color: #55313f; border-color: #956076; box-shadow: 0 0 0 2px rgba(149,96,118,.12),0 8px 20px rgba(60,31,42,.08); }
.start-themes button > i { height: 45px; padding: 5px; display: flex; overflow: hidden; background: #f3eeeb; border-radius: 6px; }
.start-themes button > i span { flex: 1; background: var(--start-swatch); }
.start-themes button b { padding: 3px 3px 0; font-size: 10px; }
.start-themes button small { padding-inline: 3px; color: #94858b; font-size: 8px; }
.start-submit { min-height: 56px; padding: 9px 11px 9px 19px; display: flex; align-items: center; justify-content: space-between; color: white; border: 0; background: #5d3244; border-radius: 11px; cursor: pointer; font-size: 11px; font-weight: 700; box-shadow: 0 14px 32px rgba(67,34,47,.18); }
.start-submit i { width: 38px; height: 38px; display: grid; place-items: center; color: #593042; background: #efdce3; border-radius: 8px; font-size: 17px; transition: transform .2s ease; }
.start-submit:hover i { transform: translateX(3px); }
.start-assurance { margin: -15px 0 0; color: #94858a; font-size: 8px; text-align: center; }

@media (max-width: 900px) {
  .start-shell { grid-template-columns: 1fr; }
  .start-story { min-height: 520px; }
  .start-story-preview { right: -95px; top: 18%; }
  .start-form-panel { overflow: visible; }
}

@media (max-width: 560px) {
  .start-story { min-height: 520px; padding: 27px 20px; }
  .start-story-copy h1 { font-size: clamp(52px,16vw,72px); }
  .start-story-preview { display: none; }
  .start-form-panel { padding: 34px 18px 45px; }
  .start-event-types > div { grid-template-columns: 1fr 1fr; }
  .start-name-fields { grid-template-columns: 1fr; }
  .start-name-fields > span { display: none; }
  .start-detail-fields, .start-themes > div { grid-template-columns: 1fr; }
  .start-themes button { grid-template-columns: 90px 1fr; align-items: center; }
  .start-themes button > i { grid-row: 1 / 3; height: 55px; }
}

.auth-route { min-height: calc(100dvh - 76px); background: #f4eee9; }
.auth-shell { min-height: calc(100dvh - 76px); display: grid; grid-template-columns: minmax(460px,.94fr) minmax(540px,1.06fr); }
.auth-visual { position: relative; min-height: 760px; padding: 38px clamp(35px,5vw,75px); display: flex; flex-direction: column; overflow: hidden; color: white; background: radial-gradient(circle at 25% 18%,rgba(166,91,118,.35),transparent 30%),linear-gradient(145deg,#321923,#1d0f15 72%); }
.auth-visual::after { content: ""; position: absolute; right: -25%; bottom: -18%; width: 78%; aspect-ratio: 1; border: 1px solid rgba(226,184,199,.17); border-radius: 50%; box-shadow: 0 0 0 65px rgba(226,184,199,.035),0 0 0 130px rgba(226,184,199,.025); }
.auth-back { position: relative; z-index: 2; align-self: flex-start; color: rgba(255,255,255,.66); text-decoration: none; font: 500 9px var(--utility); letter-spacing: .08em; }
.auth-visual-copy { position: relative; z-index: 2; max-width: 560px; margin-top: clamp(55px,8vh,95px); }
.auth-visual-copy h1 { margin: 0; font: 500 clamp(56px,6.2vw,88px)/.88 var(--display); letter-spacing: -.055em; }
.auth-visual-copy h1 em { color: #e6b8c7; font-weight: 500; }
.auth-visual-copy > p:last-child { max-width: 465px; margin: 25px 0 0; color: rgba(255,255,255,.67); font-size: 12px; line-height: 1.8; }
.auth-invite-card { --auth-accent:#8d5068; --auth-dark:#3d2430; --auth-paper:#f8f2ed; position: relative; z-index: 2; width: min(430px,88%); margin: 45px 0 28px auto; padding: 9px; color: var(--auth-dark); background: var(--auth-paper); border-radius: 15px; box-shadow: 0 28px 70px rgba(4,1,2,.38); transform: rotate(-2.5deg); transition: color .35s ease,background .35s ease; }
.auth-invite-photo { min-height: 210px; padding: 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: white; text-align: center; background: linear-gradient(rgba(27,14,20,.1),color-mix(in srgb,var(--auth-dark) 70%,transparent)),url("assets/aniyla-editorial-hero.webp") center/cover; border-radius: 9px 9px 3px 3px; }
.auth-invite-photo > span,.auth-invite-photo > small { font: 400 7px var(--utility); letter-spacing: .14em; text-transform: uppercase; }
.auth-invite-photo > strong { margin: 14px 0; font: 500 34px var(--display); }
.auth-invite-photo > strong i { color: color-mix(in srgb,var(--auth-accent) 65%,white); }
.auth-invite-card footer { padding: 13px 9px 5px; display: flex; align-items: center; justify-content: space-between; }
.auth-invite-card footer div { display: grid; gap: 1px; }
.auth-invite-card footer div span { color: #94858a; font-size: 7px; text-transform: uppercase; letter-spacing: .1em; }
.auth-invite-card footer div b { font-size: 10px; }
.auth-invite-card footer > i { display: flex; }
.auth-invite-card footer > i span { width: 21px; height: 21px; background: var(--auth-accent); border-radius: 50%; box-shadow: -6px 0 0 var(--auth-dark); }
.auth-invite-card footer > i span:nth-child(2) { background: var(--auth-dark); }
.auth-invite-card footer > i span:nth-child(3) { background: var(--auth-paper); border: 1px solid rgba(45,28,35,.14); }
.auth-trust { position: relative; z-index: 2; margin-top: auto; display: flex; gap: 20px; color: rgba(255,255,255,.58); font-size: 8px; }
.auth-panel { padding: clamp(35px,5vw,70px) clamp(34px,7vw,105px); display: grid; place-items: center; background: #fbf8f4; }
.auth-panel-inner { width: min(100%,510px); }
.auth-panel-inner > header { margin-bottom: 34px; display: flex; align-items: center; justify-content: space-between; }
.auth-mini-brand { display: flex; align-items: center; gap: 8px; text-decoration: none; }
.auth-mini-brand img { width: 38px; height: 38px; }
.auth-mini-brand .brand-word { font-size: 25px; }
.auth-panel-inner > header > span { width: 43px; height: 43px; display: grid; place-items: center; color: #704456; border: 1px solid #d6c3ca; border-radius: 50%; font: 500 8px var(--utility); }
.auth-mode-tabs { margin-bottom: 31px; padding: 4px; display: grid; grid-template-columns: 1fr 1fr; background: #eee6e2; border-radius: 11px; }
.auth-mode-tabs button { min-height: 42px; color: #826f77; border: 0; background: transparent; border-radius: 8px; cursor: pointer; font-size: 10px; font-weight: 700; transition: color .2s ease,background .2s ease,box-shadow .2s ease; }
.auth-mode-tabs button.is-active { color: #4e2b39; background: white; box-shadow: 0 5px 16px rgba(55,28,38,.09); }
.auth-form { display: none; }
.auth-form.is-active { display: grid; gap: 17px; animation: auth-form-in .3s ease both; }
.auth-heading { margin-bottom: 5px; }
.auth-heading .eyebrow { margin-bottom: 6px; }
.auth-heading h2 { margin: 0; font: 500 clamp(34px,3.5vw,50px)/.98 var(--display); letter-spacing: -.04em; }
.auth-heading > p:last-child { margin: 12px 0 0; color: #87767d; font-size: 10px; }
.auth-form > label { display: grid; gap: 7px; color: #59464e; font-size: 10px; font-weight: 700; }
.auth-form input:not([type="checkbox"]) { width: 100%; min-height: 49px; padding: 12px 13px; color: #34252b; border: 1px solid #d4c7c5; background: white; border-radius: 9px; outline: none; font: 500 12px var(--body); }
.auth-form input:not([type="checkbox"]):focus { border-color: #965d72; box-shadow: 0 0 0 3px rgba(150,93,114,.12); }
.password-field { position: relative; }
.password-field input { padding-right: 65px !important; }
.password-field button { position: absolute; right: 7px; top: 7px; bottom: 7px; padding: 0 9px; color: #704457; border: 0; background: #f1e7ea; border-radius: 6px; cursor: pointer; font-size: 8px; font-weight: 700; }
.password-strength { margin-top: -8px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 9px; color: #928289; font-size: 8px; }
.password-strength > i { height: 4px; overflow: hidden; background: #e8dedb; border-radius: 5px; }
.password-strength > i span { width: var(--password-strength,0%); height: 100%; display: block; background: var(--password-color,#bd8497); border-radius: inherit; transition: width .25s ease,background .25s ease; }
.auth-consent { grid-template-columns: 19px 1fr !important; align-items: start; gap: 8px !important; color: #817078 !important; font-size: 8px !important; font-weight: 500 !important; line-height: 1.5; }
.auth-consent input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: #8d5368; }
.auth-submit { min-height: 55px; padding: 8px 9px 8px 18px; display: flex; align-items: center; justify-content: space-between; color: white; border: 0; background: #5c3143; border-radius: 10px; cursor: pointer; font-size: 10px; font-weight: 700; box-shadow: 0 13px 28px rgba(68,35,48,.17); }
.auth-submit i { width: 38px; height: 38px; display: grid; place-items: center; color: #5c3143; background: #efdce3; border-radius: 7px; font-size: 16px; transition: transform .2s ease; }
.auth-submit:hover i { transform: translateX(3px); }
.auth-login-options { display: flex; align-items: center; justify-content: space-between; color: #84737a; font-size: 8px; }
.auth-login-options label { display: flex; align-items: center; gap: 6px; }
.auth-login-options input { accent-color: #8d5368; }
.auth-login-options button { padding: 0; color: #75495a; border: 0; background: transparent; cursor: pointer; font-size: 8px; text-decoration: underline; }
.auth-panel-inner > footer { margin-top: 28px; padding-top: 17px; color: #9b8d91; border-top: 1px solid #e2d8d4; font-size: 8px; text-align: center; }
@keyframes auth-form-in { from { opacity: 0; transform: translateY(8px); } }

@media (max-width: 900px) {
  .auth-shell { grid-template-columns: 1fr; }
  .auth-visual { min-height: 640px; }
  .auth-invite-card { width: min(420px,78%); margin-right: 7%; }
  .auth-panel { padding-block: 55px; }
}

@media (max-width: 560px) {
  .auth-visual { min-height: 600px; padding: 27px 20px 35px; }
  .auth-visual-copy h1 { font-size: clamp(52px,16vw,70px); }
  .auth-invite-card { width: 88%; margin: 35px auto 25px; }
  .auth-invite-photo { min-height: 180px; }
  .auth-trust { align-items: flex-start; flex-direction: column; gap: 5px; }
  .auth-panel { padding: 35px 18px 45px; }
  .auth-heading h2 { font-size: 38px; }
}

.studio-route { min-height: calc(100dvh - 76px); background: #ece9e5; }
.studio-shell { min-height: calc(100dvh - 76px); display: grid; grid-template-columns: 92px 330px 1fr; }
.studio-sidebar { padding: 18px 12px; display: flex; flex-direction: column; align-items: stretch; color: white; background: var(--plum-deep); }
.studio-brand { justify-content: center; }
.studio-brand .brand-word { display: none; }
.studio-brand .brand-symbol { width: 44px; height: 44px; filter: brightness(0) invert(1); opacity: .94; }
.studio-sidebar nav { margin-top: 38px; display: grid; gap: 8px; }
.tool-button { min-height: 62px; padding: 8px 4px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: #cdbfc5; background: transparent; border: 0; border-radius: 7px; cursor: pointer; font-size: 9px; }
.tool-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.tool-button.is-active { color: white; background: rgba(255,255,255,.1); }
.studio-sidebar > a { margin-top: auto; color: #cdbfc5; font-size: 9px; text-align: center; }
.studio-panel { padding: 28px 24px; background: #fbfaf7; border-right: 1px solid var(--line); overflow-y: auto; }
.panel-heading { display: flex; justify-content: space-between; align-items: center; }
.panel-heading .eyebrow { margin-bottom: 3px; }
.panel-heading h1 { margin: 0; font: 500 30px var(--display); }
.saved-state { color: #4f7259; font-size: 9px; }
.panel-group { margin-top: 35px; }
.panel-group h2 { margin: 0 0 14px; font-size: 12px; }
.group-heading { display: flex; justify-content: space-between; align-items: center; }
.group-heading button { width: 36px; height: 36px; border: 1px solid var(--line); background: white; border-radius: 50%; cursor: pointer; }
.section-list { display: grid; gap: 7px; }
.section-row { min-height: 58px; padding: 9px; display: grid; grid-template-columns: 20px 1fr; grid-template-rows: auto auto; text-align: left; border: 1px solid var(--line); background: white; border-radius: 4px; cursor: pointer; }
.section-row.is-selected { border-color: #8f586d; box-shadow: 0 0 0 1px #8f586d; }
.section-row .drag { grid-row: 1 / 3; color: #9b9195; }
.section-row > span:not(.drag) { font-size: 11px; font-weight: 700; }
.section-row small { color: #8d8387; font-size: 9px; }
.palette-list { display: flex; gap: 8px; }
.palette { width: 65px; height: 42px; padding: 5px; display: flex; border: 1px solid var(--line); background: white; border-radius: 4px; cursor: pointer; }
.palette.is-active { border-color: #8f586d; box-shadow: 0 0 0 1px #8f586d; }
.palette i { flex: 1; background: var(--swatch); }
.studio-canvas { display: flex; flex-direction: column; min-width: 0; }
.canvas-toolbar { min-height: 62px; padding: 9px 24px; display: flex; align-items: center; justify-content: space-between; background: #fbfaf7; border-bottom: 1px solid var(--line); }
.device-toggle { padding: 3px; display: flex; background: #ebe7e2; border-radius: 6px; }
.device-toggle button, .canvas-actions button { min-height: 38px; padding: 8px 14px; border: 0; background: transparent; border-radius: 4px; cursor: pointer; font-size: 10px; }
.device-toggle button.is-active { background: white; box-shadow: 0 2px 7px rgba(44,35,40,.1); }
.canvas-actions { display: flex; gap: 8px; }
.canvas-actions button { border: 1px solid var(--line); background: white; }
.canvas-actions .publish-button { color: white; background: var(--plum); border-color: var(--plum); }
.preview-stage { flex: 1; min-height: 630px; padding: 45px; display: grid; place-items: center; overflow: auto; background-image: radial-gradient(rgba(59,45,52,.13) .7px, transparent .7px); background-size: 15px 15px; }
.preview-device { --invite-accent:#8d5068; --invite-dark:#3d2430; position: relative; overflow: hidden; background: white; box-shadow: 0 30px 70px rgba(44,35,40,.22); transition: width .35s ease, height .35s ease, border-radius .35s ease; }
.preview-device[data-preview-theme="olive"] { --invite-accent:#667963; --invite-dark:#334238; }
.preview-device[data-preview-theme="night"] { --invite-accent:#a9916d; --invite-dark:#252332; }
.preview-device.is-phone { width: min(360px, 100%); height: 650px; border: 8px solid #221f20; border-radius: 34px; }
.preview-device.is-desktop { width: min(820px, 100%); height: 520px; border: 8px solid #221f20; border-radius: 12px; }
.device-speaker { position: absolute; z-index: 4; top: 8px; left: 50%; width: 65px; height: 5px; transform: translateX(-50%); background: #221f20; border-radius: 10px; }
.is-desktop .device-speaker { display: none; }
.preview-cover { position: relative; height: 100%; display: grid; place-items: center; color: white; }
.preview-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(25,14,19,.24), color-mix(in srgb, var(--invite-dark) 69%, transparent)); }
.preview-content { position: relative; z-index: 1; padding: 20px; text-align: center; }
.preview-content p, .preview-content span { font: 400 9px var(--utility); letter-spacing: .13em; text-transform: uppercase; }
.preview-content h2 { margin: 16px 0; font: 500 clamp(45px, 6vw, 78px) var(--display); letter-spacing: -.05em; }
.preview-content h2 i { color: color-mix(in srgb, var(--invite-accent) 65%, white); }
.toast { position: fixed; z-index: 100; left: 50%; bottom: 22px; padding: 12px 18px; color: white; background: #31563d; border-radius: 999px; transform: translate(-50%, 120px); transition: transform .3s ease; font-size: 12px; }
.toast.is-visible { transform: translate(-50%, 0); }

@media (max-width: 900px) {
  :root { --container: min(100% - 32px, 700px); }
  .site-header { height: 66px; padding: 0 16px; }
  .main-nav { display: none; }
  .brand-word { font-size: 25px; }
  .brand-symbol { width: 37px; height: 37px; }
  .hero { min-height: auto; padding-top: 40px; grid-template-columns: 1fr; }
  .hero-copy { padding: 40px 0 30px; }
  .hero h1 { font-size: clamp(50px, 14vw, 76px); }
  .hero-stage { height: 570px; }
  .mini-invite, .paper-shadow { width: min(340px, calc(100vw - 60px)); }
  .floating-note { min-width: 110px; }
  .note-one { left: -2px; }
  .note-two { right: -2px; }
  .note-three { display: none; }
  .hero-line { display: none; }
  .event-list { justify-content: flex-start; padding-left: 24px; overflow: hidden; }
  .story-section { min-height: auto; padding: 90px 0; }
  .section-heading { width: 100%; }
  .story-steps { grid-template-columns: 1fr; gap: 45px; margin-top: 60px; }
  .story-step.is-shifted { transform: none; }
  .story-line { opacity: .3; }
  .feature-panel { padding: 48px 24px; grid-template-columns: 1fr; gap: 45px; border-radius: 3px 70px 3px 3px; }
  .album-section { grid-template-columns: 1fr; gap: 35px; padding-bottom: 90px; }
  .album-collage { height: 450px; }
  .album-copy { order: -1; }
  .invite-details-grid, .rsvp-section { grid-template-columns: 1fr; }
  .detail-photo { min-height: 520px; }
  .rsvp-section { gap: 45px; }
  .studio-shell { grid-template-columns: 72px 1fr; }
  .studio-panel { display: none; }
  .preview-stage { padding: 24px 10px; }
}

@media (max-width: 560px) {
  .header-cta { padding: 10px 14px; }
  .header-cta span { display: none; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 7px; }
  .trust-line { line-height: 1.7; }
  .event-list { gap: 18px; }
  .feature-panel { width: 100%; margin-bottom: 100px; border-radius: 0 60px 0 0; }
  .dash-stats strong { font-size: 23px; }
  .dash-stats div { padding: 10px 7px; }
  .guest-dashboard { padding: 14px; }
  .album-collage { height: 380px; }
  .invite-toolbar { justify-content: space-between; gap: 10px; }
  .invite-cover { min-height: calc(100dvh - 124px); }
  .countdown strong { font-size: 38px; }
  .detail-copy { padding: 70px 24px; }
  .rsvp-section { padding: 80px 18px; }
  .rsvp-card { padding: 22px 16px; }
  .studio-shell { grid-template-columns: 58px 1fr; }
  .studio-sidebar { padding-inline: 6px; }
  .tool-button { font-size: 8px; }
  .canvas-toolbar { padding: 8px 10px; }
  .canvas-actions button:first-child { display: none; }
  .device-toggle button { padding-inline: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Invitation story continues below the cover */
.motion-invite-intro {
  position: relative;
  min-height: 840px;
  padding: 150px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background: #eee5dc;
}
.motion-invite-intro::before {
  content: "DAVETLİSİNİZ";
  position: absolute;
  left: 50%;
  top: 50%;
  color: rgba(74,38,55,.045);
  font: 500 18vw/.8 var(--display);
  letter-spacing: -.08em;
  white-space: nowrap;
  transform: translate(-50%,-50%) translateX(calc((var(--scene-progress, .5) - .5) * -90px));
}
.motion-invite-intro .invite-ornament {
  position: relative;
  z-index: 2;
  transform: scale(calc(.72 + var(--scene-progress, .5) * .28)) rotate(calc((var(--scene-progress, .5) - .5) * 25deg));
}
.motion-invite-intro > h2 {
  position: relative;
  z-index: 2;
  max-width: 930px;
  font-size: clamp(58px, 7.5vw, 112px);
  line-height: .93;
}
.motion-invite-intro > p:not(.invite-ornament), .motion-invite-intro .countdown { position: relative; z-index: 2; }
.motion-invite-intro .countdown { width: min(680px, 100%); }
.motion-invite-intro .countdown strong { font-size: clamp(48px, 6vw, 76px); }

.motion-invite-details { min-height: 860px; background: #f7f1ea; overflow: hidden; }
.motion-invite-details .detail-photo {
  min-height: 860px;
  clip-path: inset(calc((1 - var(--scene-progress, .5)) * 10%) calc((1 - var(--scene-progress, .5)) * 8%));
  transform: scale(calc(1.08 - var(--scene-progress, .5) * .08));
  will-change: transform, clip-path;
}
.motion-invite-details .detail-copy {
  transform: translate3d(0, calc((1 - var(--scene-progress, .5)) * 70px), 0);
  will-change: transform;
}
.motion-invite-details .detail-copy > .eyebrow { color: #7b465b; }
.motion-invite-details .timeline-item { padding: 27px 0; }
.motion-invite-details .timeline-item h3 { font-size: clamp(28px, 3vw, 42px); }

.motion-venue {
  position: relative;
  min-height: 720px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background: #c8a3ad;
}
.motion-venue::before,
.motion-venue::after {
  content: "41.0082° N  ·  29.0650° E";
  position: absolute;
  left: 50%;
  color: rgba(63,31,45,.12);
  font: 500 4vw var(--utility);
  letter-spacing: .1em;
  white-space: nowrap;
}
.motion-venue::before { top: 9%; transform: translateX(calc(-50% + (var(--scene-progress, .5) - .5) * 110px)); }
.motion-venue::after { bottom: 8%; transform: translateX(calc(-50% - (var(--scene-progress, .5) - .5) * 110px)); }
.motion-venue h2 {
  position: relative;
  z-index: 2;
  font-size: clamp(82px, 14vw, 210px);
  line-height: .76;
  letter-spacing: -.08em;
  transform: scale(calc(.91 + var(--scene-progress, .5) * .09));
}
.motion-venue > p, .motion-venue > button { position: relative; z-index: 2; }

.motion-rsvp {
  position: relative;
  min-height: 820px;
  align-items: center;
  overflow: hidden;
}
.motion-rsvp::before {
  content: "EVET";
  position: absolute;
  left: -2vw;
  bottom: -7vw;
  color: rgba(255,255,255,.035);
  font: 500 30vw/.7 var(--display);
  letter-spacing: -.09em;
}
.motion-rsvp > div { position: relative; z-index: 2; transform: translate3d(calc((1 - var(--scene-progress, .5)) * -55px),0,0); }
.motion-rsvp .rsvp-card {
  position: relative;
  z-index: 2;
  transform: perspective(1100px) translate3d(calc((1 - var(--scene-progress, .5)) * 70px),0,0) rotateY(calc((1 - var(--scene-progress, .5)) * -9deg));
  box-shadow: -28px 45px 90px rgba(0,0,0,.25);
  will-change: transform;
}

@media (max-width: 900px) {
  .motion-invite-intro { min-height: 740px; padding-block: 110px; }
  .motion-invite-details .detail-photo { min-height: 600px; clip-path: none; transform: none; }
  .motion-invite-details .detail-copy { transform: none; }
  .motion-venue { min-height: 620px; }
  .motion-rsvp { min-height: auto; }
  .motion-rsvp > div, .motion-rsvp .rsvp-card { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-invite-intro::before, .motion-invite-intro .invite-ornament,
  .motion-invite-details .detail-photo, .motion-invite-details .detail-copy,
  .motion-venue::before, .motion-venue::after, .motion-venue h2,
  .motion-rsvp > div, .motion-rsvp .rsvp-card { transform: none !important; }
}

/* Hero V3 — cinematic memory portal */
.hero-portal-v3 {
  --pointer-x: 50%;
  --pointer-y: 54%;
  --hero-x: 0;
  --hero-y: 0;
  --hero-scroll: 0;
  min-height: max(780px, calc(100dvh - 76px));
  color: #291820;
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.36), transparent 27%),
    linear-gradient(118deg, #e3d1d1 0%, #d2b5bc 58%, #c29ba7 100%);
}
.hero-portal-v3::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  opacity: .16;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.45'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
.hero-curtains { position: absolute; z-index: 30; inset: 0; pointer-events: none; }
.hero-curtain {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 51%;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #e5c9d2;
  background: #24131b;
}
.hero-curtain span { font: 500 15vw/.8 var(--display); letter-spacing: -.08em; }
.curtain-left { left: 0; justify-content: flex-end; animation: curtain-open-left .82s .13s cubic-bezier(.76,0,.24,1) both; }
.curtain-right { right: 0; justify-content: flex-start; animation: curtain-open-right .82s .13s cubic-bezier(.76,0,.24,1) both; }
.portal-title {
  position: absolute;
  z-index: 2;
  inset: 13% 2.7% auto;
  margin: 0;
  font: 500 clamp(92px, 14.2vw, 225px)/.72 var(--display);
  letter-spacing: -.082em;
  text-transform: lowercase;
  pointer-events: none;
  transform: translate3d(calc(var(--hero-x) * -18px), calc(var(--hero-y) * -12px + var(--hero-scroll) * -90px), 0);
  transition: transform .35s cubic-bezier(.16,1,.3,1);
}
.portal-title-line { display: flex; justify-content: space-between; align-items: baseline; }
.portal-title-line + .portal-title-line { margin-top: 21vh; }
.portal-title-line span { display: block; animation: portal-word-in .72s .62s cubic-bezier(.16,1,.3,1) both; }
.portal-title-line span:nth-child(2) { animation-delay: .7s; }
.portal-title-line:nth-child(2) span { animation-delay: .76s; }
.portal-title-line:nth-child(2) span:nth-child(2) { color: #884860; animation-delay: .84s; }
.memory-portal {
  position: absolute;
  z-index: 4;
  top: 5.5%;
  left: 50%;
  width: clamp(330px, 30vw, 470px);
  height: min(690px, 81%);
  overflow: hidden;
  background: #2c1b22;
  border-radius: 48% 48% 4px 4px / 23% 23% 4px 4px;
  box-shadow: 0 50px 120px rgba(44,20,31,.35);
  cursor: pointer;
  outline: none;
  transform: translate3d(calc(-50% + var(--hero-x) * 22px), calc(var(--hero-y) * 14px + var(--hero-scroll) * 95px), 0) perspective(1200px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) scale(var(--portal-scale, 1));
  transform-style: preserve-3d;
  transition: transform .32s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, border-radius .45s cubic-bezier(.16,1,.3,1);
  animation: portal-rise .88s .48s cubic-bezier(.16,1,.3,1) backwards;
}
.memory-portal:hover { --portal-scale: 1.025; box-shadow: 0 65px 140px rgba(44,20,31,.48); }
.memory-portal:focus-visible { box-shadow: 0 0 0 3px #f7e5eb, 0 0 0 7px #884860, 0 65px 140px rgba(44,20,31,.48); }
.memory-portal.is-open { --portal-scale: 1.075; border-radius: 42% 42% 4px 4px / 18% 18% 4px 4px; box-shadow: 0 80px 170px rgba(44,20,31,.58); }
.portal-photo {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg, rgba(28,14,20,.02) 40%, rgba(28,14,20,.8) 100%), url("assets/aniyla-editorial-hero.webp");
  background-size: 114% auto;
  background-position: var(--pointer-x) var(--pointer-y);
  transform: scale(1.035);
  transition: background-position .18s ease-out, filter .45s ease, transform .8s cubic-bezier(.16,1,.3,1);
}
.memory-portal:hover .portal-photo { transform: scale(1.09); filter: saturate(1.06) contrast(1.03); }
.memory-portal.is-open .portal-photo { transform: scale(1.16); filter: saturate(1.12) contrast(1.05); }
.portal-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .56;
  background: radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgba(236,205,211,.2), transparent 24%);
  mix-blend-mode: screen;
}
.portal-rule {
  position: absolute;
  z-index: 3;
  left: 8%;
  right: 8%;
  top: 8%;
  height: 1px;
  background: rgba(255,255,255,.58);
  opacity: 0;
  animation: portal-scan .78s 1.02s ease-out both;
}
.portal-monogram {
  position: absolute;
  z-index: 4;
  top: 7%;
  left: 50%;
  width: 54px;
  height: 54px;
  padding: 11px;
  transform: translateX(-50%);
  background: rgba(244,232,226,.88);
  backdrop-filter: blur(10px);
  border-radius: 50%;
}
.portal-monogram img { width: 100%; height: 100%; }
.has-motion .portal-monogram { animation: monogram-breathe 4s 1.4s ease-in-out infinite; }
.portal-ticket {
  position: absolute;
  z-index: 4;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: 112px;
  padding: 20px 18px;
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items: end;
  color: white;
  border-top: 1px solid rgba(255,255,255,.28);
  background: rgba(35,18,26,.3);
  backdrop-filter: blur(13px);
  transform: translateY(9px);
  transition: transform .5s cubic-bezier(.16,1,.3,1), background .4s ease;
}
.memory-portal:hover .portal-ticket,
.memory-portal.is-open .portal-ticket { transform: translateY(0); background: rgba(35,18,26,.5); }
.portal-ticket > span { font: 400 7px var(--utility); letter-spacing: .08em; }
.portal-ticket > span:last-child { text-align: right; }
.portal-ticket div { display: flex; flex-direction: column; align-items: center; text-align: center; }
.portal-ticket strong { font: 500 clamp(25px, 2.5vw, 38px)/1 var(--display); }
.portal-ticket strong i { color: #e6b7c5; font-weight: 500; }
.portal-ticket small { margin-top: 7px; color: #dbcfd4; font: 400 7px var(--utility); letter-spacing: .12em; text-transform: uppercase; }
.portal-foreground {
  position: absolute;
  z-index: 6;
  right: 2.3%;
  top: 55%;
  color: #f0dce1;
  font: italic 500 clamp(90px, 14.2vw, 225px)/.7 var(--display);
  letter-spacing: -.085em;
  pointer-events: none;
  mix-blend-mode: screen;
  animation: foreground-in .72s .88s cubic-bezier(.16,1,.3,1) backwards;
  transform: translate3d(calc(var(--hero-x) * 28px), calc(var(--hero-y) * 16px + var(--hero-scroll) * -45px), 0);
  transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.portal-action {
  position: absolute;
  z-index: 7;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font: 500 8px var(--utility);
  letter-spacing: .16em;
  text-transform: uppercase;
  opacity: 0;
  transform: translate(-50%, -35%);
  transition: opacity .25s ease, transform .35s cubic-bezier(.16,1,.3,1);
  pointer-events: none;
}
.portal-action i { width: 22px; height: 1px; background: currentColor; }
.memory-portal:hover .portal-action,
.memory-portal:focus-visible .portal-action { opacity: 1; transform: translate(-50%, -50%); }
.memory-portal.is-open .portal-action { opacity: 0; }
.hero-pointer {
  position: absolute;
  z-index: 20;
  left: var(--cursor-x, 50%);
  top: var(--cursor-y, 50%);
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  color: #321923;
  background: rgba(244,224,229,.9);
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 50%;
  backdrop-filter: blur(8px);
  font: 500 8px var(--utility);
  letter-spacing: .13em;
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(.55);
  transition: opacity .2s ease, transform .35s cubic-bezier(.16,1,.3,1);
}
.hero-pointer.is-visible { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.portal-intro {
  position: absolute;
  z-index: 8;
  left: 3.5%;
  right: 3.5%;
  bottom: 7.5%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.portal-intro > p { width: min(330px, 29vw); margin: 0; font-size: 13px; }
.portal-intro > p span { display: block; margin-bottom: 5px; font-family: var(--display); font-size: 19px; }
.portal-side-note {
  position: absolute;
  z-index: 8;
  top: 50%;
  right: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  font: 400 7px var(--utility);
  letter-spacing: .14em;
  writing-mode: vertical-rl;
  transform: translateY(-50%);
}
.portal-side-note i { width: 1px; height: 48px; background: currentColor; opacity: .4; }

@keyframes curtain-open-left { to { transform: translateX(-101%); } }
@keyframes curtain-open-right { to { transform: translateX(101%); } }
@keyframes portal-word-in { from { opacity: 0; transform: translateY(55px); } to { opacity: 1; transform: translateY(0); } }
@keyframes portal-rise { from { opacity: 0; transform: translateX(-50%) translateY(80px) scale(.92); } to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); } }
@keyframes portal-scan { 0% { opacity: 0; transform: translateY(0); } 20% { opacity: .8; } 100% { opacity: 0; transform: translateY(520px); } }
@keyframes foreground-in { from { opacity: 0; transform: translateX(70px); } to { opacity: 1; transform: translateX(0); } }
@keyframes monogram-breathe { 0%,100% { transform: translateX(-50%) scale(1); } 50% { transform: translateX(-50%) scale(1.1); } }

.hero-portal-v3 .orbit-cta {
  --magnet-x: 0px;
  --magnet-y: 0px;
  transform: translate3d(var(--magnet-x), var(--magnet-y), 0) rotate(-7deg);
  transition: transform .38s cubic-bezier(.16,1,.3,1), background .3s ease, box-shadow .3s ease;
}
.hero-portal-v3 .orbit-cta:hover {
  transform: translate3d(var(--magnet-x), var(--magnet-y), 0) rotate(0) scale(1.07);
  box-shadow: 0 22px 50px rgba(64,25,42,.26);
}
.has-motion .orbit-cta svg { animation: orbit-spin 13s linear infinite; }
.has-motion .meta-bottom > span:first-child::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 28px;
  margin-left: 12px;
  vertical-align: middle;
  background: currentColor;
  transform-origin: top;
  animation: scroll-pulse 1.8s ease-in-out infinite;
}
@keyframes orbit-spin { to { transform: rotate(360deg); } }
@keyframes scroll-pulse { 0%,100% { opacity: .25; transform: scaleY(.35); } 50% { opacity: 1; transform: scaleY(1); } }

@media (hover: none), (pointer: coarse) {
  .hero-pointer { display: none; }
  .memory-portal { cursor: default; }
}

@media (max-width: 900px) {
  .hero-portal-v3 { min-height: max(760px, calc(100dvh - 66px)); }
  .portal-title { inset: 14% 15px auto; font-size: clamp(72px, 18vw, 138px); line-height: .78; }
  .portal-title-line + .portal-title-line { margin-top: 36vh; }
  .memory-portal { top: 11%; width: min(64vw, 390px); height: 62%; }
  .portal-foreground { top: 51%; right: 12px; font-size: 18vw; }
  .portal-intro { left: 18px; right: 18px; bottom: 6%; }
  .portal-intro > p { width: min(270px, 58vw); font-size: 12px; }
  .portal-side-note { display: none; }
}

@media (max-width: 560px) {
  .hero-portal-v3 { min-height: 730px; }
  .hero-curtain span { font-size: 25vw; }
  .portal-title { top: 11%; font-size: 20vw; }
  .portal-title-line + .portal-title-line { margin-top: 43vh; }
  .memory-portal { top: 14%; width: 72vw; height: 54%; min-height: 400px; }
  .portal-monogram { width: 44px; height: 44px; }
  .portal-ticket { min-height: 92px; padding: 14px 10px; }
  .portal-ticket > span { display: none; }
  .portal-ticket { grid-template-columns: 1fr; }
  .portal-ticket strong { font-size: 28px; }
  .portal-foreground { top: 54%; font-size: 20vw; }
  .portal-intro > p { width: 55vw; }
  .portal-intro > p span { font-size: 16px; }
  .portal-intro .orbit-cta { width: 88px; height: 88px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-curtain { display: none; }
  .portal-title-line span, .memory-portal, .portal-rule, .portal-foreground { animation: none; }
  .memory-portal { transform: translateX(-50%); transition: none; }
  .portal-photo { transition: none; }
}

/* Awwwards direction: invitation-opening theatre */
body { overflow-x: hidden; }
.award-hero {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  min-height: max(760px, calc(100dvh - 76px));
  overflow: clip;
  color: #25171e;
  background:
    radial-gradient(circle at 72% 28%, rgba(255,255,255,.42), transparent 27%),
    linear-gradient(125deg, #e9d9d9 0%, #d9bfc3 52%, #cba9b0 100%);
  isolation: isolate;
}
.award-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .22;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
.award-meta {
  position: absolute;
  z-index: 8;
  left: 28px;
  right: 28px;
  display: flex;
  justify-content: space-between;
  font: 500 9px var(--utility);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.meta-top { top: 25px; }
.meta-bottom { bottom: 25px; }
.award-title {
  position: absolute;
  z-index: 1;
  inset: 50% 2.2% auto;
  margin: 0;
  transform: translateY(-55%);
  font: 500 clamp(76px, 13.5vw, 215px)/.77 var(--display);
  letter-spacing: -.075em;
  pointer-events: none;
}
.award-title span { display: block; animation: award-title-in .9s cubic-bezier(.16,1,.3,1) both; }
.award-title span:last-child { color: rgba(37,23,30,.9); text-align: right; animation-delay: .08s; }
.award-title em { color: #8a405e; font-weight: 500; }
.envelope-scene {
  position: absolute;
  z-index: 4;
  top: 7%;
  left: 50%;
  width: clamp(290px, 30vw, 430px);
  height: min(660px, 79vh);
  transform: translateX(-50%) perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transform-style: preserve-3d;
  transition: transform .25s ease-out;
  animation: award-card-in 1s .12s cubic-bezier(.16,1,.3,1) both;
}
.envelope-back {
  position: absolute;
  z-index: 0;
  left: -12%;
  right: -12%;
  bottom: 0;
  height: 44%;
  background: #b98d94;
  clip-path: polygon(0 17%, 50% 0, 100% 17%, 100% 100%, 0 100%);
  box-shadow: 0 35px 70px rgba(67,32,45,.18);
}
.award-invite {
  position: absolute;
  z-index: 2;
  inset: 0 5% 7%;
  display: grid;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  background: #f6f0e8;
  box-shadow: 0 35px 90px rgba(45,21,32,.28);
  transform: translateZ(25px) translateY(0);
  transition: transform .55s cubic-bezier(.16,1,.3,1), box-shadow .55s ease;
}
.envelope-scene:hover .award-invite,
.envelope-scene:focus-within .award-invite { transform: translateZ(36px) translateY(-34px); box-shadow: 0 55px 110px rgba(45,21,32,.34); }
.award-invite-image {
  min-height: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(33,20,25,.3)), url("assets/aniyla-editorial-hero.webp") center 58% / cover;
}
.award-invite-copy { padding: 19px 22px 21px; text-align: center; }
.award-invite-copy > span, .award-invite-copy > p { margin: 0; font: 400 8px var(--utility); letter-spacing: .15em; text-transform: uppercase; }
.award-invite-copy h2 { margin: 6px 0 4px; font: 500 clamp(31px, 3vw, 46px)/1 var(--display); letter-spacing: -.05em; }
.award-invite-copy h2 i { color: #9b5871; font-weight: 500; }
.envelope-front {
  position: absolute;
  z-index: 3;
  left: -12%;
  right: -12%;
  bottom: 0;
  height: 35%;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #d2afb4, #bc8e97);
  clip-path: polygon(0 0, 50% 56%, 100% 0, 100% 100%, 0 100%);
  transform: translateZ(42px);
}
.envelope-front img { width: 48px; padding: 9px; background: #ead7d7; border-radius: 50%; box-shadow: 0 8px 25px rgba(70,31,47,.18); }
.award-intro {
  position: absolute;
  z-index: 7;
  left: 3.5%;
  right: 3.5%;
  bottom: 7.5%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.award-intro > p { width: min(310px, 27vw); margin: 0; font-size: 13px; line-height: 1.65; }
.orbit-cta {
  position: relative;
  width: 126px;
  height: 126px;
  display: grid;
  place-items: center;
  color: white;
  background: #4b2637;
  border-radius: 50%;
  text-decoration: none;
  transform: rotate(-7deg);
  transition: transform .3s cubic-bezier(.16,1,.3,1), background .3s ease;
}
.orbit-cta:hover { background: #28141d; transform: rotate(0) scale(1.04); }
.orbit-cta > span { font: 500 15px/1.2 var(--display); text-align: center; }
.orbit-cta svg { position: absolute; inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); }
.orbit-cta text { fill: #dcb9c3; font: 500 6.5px var(--utility); letter-spacing: .12em; }
.award-manifesto {
  padding: 130px max(24px, calc((100vw - 1280px)/2));
  color: #f6eee9;
  background: #21131a;
  overflow: hidden;
}
.manifesto-label { margin: 0 0 72px; color: #bb8fa0; font: 500 10px var(--utility); letter-spacing: .18em; text-transform: uppercase; }
.manifesto-line {
  margin: 0;
  font: 500 clamp(54px, 9.4vw, 145px)/.91 var(--display);
  letter-spacing: -.065em;
  white-space: nowrap;
}
.manifesto-line span { color: #c58aa0; font-style: italic; }
.manifesto-line.is-offset { text-align: right; }
.reveal-item { opacity: 0; transform: translateY(44px); transition: opacity .8s ease, transform .9s cubic-bezier(.16,1,.3,1); }
.reveal-item.is-revealed { opacity: 1; transform: translateY(0); }

.award-cover {
  min-height: calc(100dvh - 134px);
  background-image: url("assets/aniyla-editorial-hero.webp");
  background-position: center 56%;
}
.award-cover .cover-overlay { background: linear-gradient(180deg, rgba(20,10,15,.2), rgba(20,10,15,.1) 45%, rgba(20,10,15,.58)); }
.award-cover .cover-content { width: 100%; padding: 0 5vw; }
.award-cover .cover-content h1 {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2vw;
  font-size: clamp(78px, 13vw, 195px);
  line-height: .8;
}
.award-cover .cover-content h1 span:first-child { text-align: left; }
.award-cover .cover-content h1 span:last-child { text-align: right; }
.award-cover .cover-content h1 i { color: #e7b6c5; font-size: .58em; }
.award-cover .cover-content > p { margin-bottom: 27px; }
.award-cover .cover-content > span { display: block; margin-top: 30px; }
.cover-rail {
  position: absolute;
  z-index: 3;
  top: 24px;
  bottom: 24px;
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.78);
  font: 400 8px var(--utility);
  letter-spacing: .18em;
  writing-mode: vertical-rl;
  text-transform: uppercase;
}
.rail-left { left: 20px; transform: rotate(180deg); }
.rail-right { right: 20px; }

@keyframes award-title-in {
  from { opacity: 0; transform: translateY(70px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes award-card-in {
  from { opacity: 0; transform: translateX(-50%) perspective(1100px) translateY(90px) rotate(5deg); }
  to { opacity: 1; transform: translateX(-50%) perspective(1100px) translateY(0) rotate(0); }
}

@media (max-width: 900px) {
  .award-hero { min-height: max(760px, calc(100dvh - 66px)); }
  .award-title { inset: 24% 14px auto; transform: none; font-size: clamp(70px, 19vw, 132px); line-height: .82; }
  .award-title span:last-child { margin-top: 4px; }
  .envelope-scene { top: 19%; height: 61vh; min-height: 460px; max-height: 600px; }
  .award-intro { left: 20px; right: 20px; bottom: 7%; }
  .award-intro > p { width: min(240px, 53vw); font-size: 12px; }
  .orbit-cta { width: 102px; height: 102px; }
  .orbit-cta svg { display: none; }
  .award-meta { left: 18px; right: 18px; }
  .meta-top span:last-child { display: none; }
  .award-manifesto { padding-block: 90px; }
  .manifesto-label { margin-bottom: 48px; }
  .manifesto-line { white-space: normal; }
  .award-cover .cover-content h1 { display: flex; flex-direction: column; gap: 0; font-size: clamp(80px, 24vw, 145px); }
  .award-cover .cover-content h1 span { text-align: center !important; }
  .award-cover .cover-content h1 i { margin: -7px 0 -2px; }
}

@media (max-width: 560px) {
  .award-hero { min-height: 720px; }
  .award-title { top: 20%; }
  .envelope-scene { top: 20%; width: 270px; height: 500px; }
  .award-invite { inset-inline: 6%; }
  .award-intro { bottom: 6%; }
  .award-intro > p { width: 53vw; }
  .orbit-cta { width: 92px; height: 92px; }
  .meta-bottom { display: none; }
  .award-manifesto { padding-block: 76px; }
  .manifesto-line { font-size: 16vw; }
  .cover-rail { display: none; }
  .award-cover { min-height: calc(100dvh - 124px); }
  .award-cover .cover-content { padding: 0 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .award-title span, .envelope-scene { animation: none; }
  .reveal-item { opacity: 1; transform: none; }
  .envelope-scene, .award-invite { transition: none; }
}

/* Chapter system and scroll choreography */
.scroll-progress {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  pointer-events: none;
}
.scroll-progress i {
  display: block;
  width: 100%;
  height: 100%;
  background: #b76f89;
  transform: scaleX(var(--page-progress, 0));
  transform-origin: left center;
  will-change: transform;
}
.kinetic-strip {
  padding: 27px 0 31px;
  background: #f0e5df;
  color: #2b1721;
  border-bottom: 1px solid rgba(43,23,33,.14);
}
.kinetic-strip > p { color: #7a4b5e; }
.event-track {
  width: max-content;
  display: flex;
  transform: translate3d(calc(var(--scene-progress, .15) * -18vw), 0, 0);
  will-change: transform;
}
.kinetic-strip .event-list {
  flex: none;
  padding-right: 28px;
  justify-content: flex-start;
  color: #2b1721;
  font-size: clamp(31px, 4vw, 58px);
}

.motion-story {
  --story-paper: #ede5dc;
  width: 100%;
  min-height: 1150px;
  padding: 150px max(24px, calc((100vw - 1280px)/2));
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 8vw;
  background: var(--story-paper);
  overflow: clip;
}
.motion-story .story-heading {
  position: sticky;
  top: 130px;
  align-self: start;
  width: auto;
  margin: 0;
}
.motion-story .story-heading h2 {
  font-size: clamp(58px, 6.5vw, 98px);
  line-height: .88;
}
.motion-story .story-heading h2 em { color: #955a70; font-weight: 500; }
.story-note { max-width: 360px; margin-top: 32px; color: #65595e; font-size: 14px; }
.motion-story .story-steps {
  margin: 40px 0 0;
  display: block;
}
.motion-story .story-step {
  position: relative;
  min-height: 310px;
  margin: 0 0 34px;
  padding: 38px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border: 0;
  background: #d8c0c4;
  box-shadow: 0 28px 70px rgba(69,43,54,.11);
}
.motion-story .story-step:nth-child(2) { margin-left: 8%; background: #2b1721; color: #f8f1eb; }
.motion-story .story-step:nth-child(3) { margin-left: 2%; background: #c6b49c; }
.motion-story .story-step.is-shifted { transform: none; }
.motion-story .story-step h3 { position: relative; z-index: 2; margin: 12px 0 8px; font-size: clamp(35px, 4vw, 57px); line-height: .97; }
.motion-story .story-step p { position: relative; z-index: 2; max-width: 460px; margin: 0; }
.motion-story .story-step:nth-child(2) p { color: #cbbfc4; }
.motion-story .step-label { position: absolute; z-index: 2; top: 28px; left: 34px; color: inherit; opacity: .64; }
.ghost-number {
  position: absolute;
  top: -39px;
  right: -12px;
  color: rgba(255,255,255,.23);
  font: 500 170px/.8 var(--display);
  letter-spacing: -.08em;
}
.motion-story .story-step:first-child { transform: translate3d(0, calc((1 - var(--scene-progress, .5)) * 34px), 0) rotate(-1.4deg); }
.motion-story .story-step:nth-child(2) { transform: translate3d(0, calc((1 - var(--scene-progress, .5)) * 64px), 0) rotate(1.1deg); }
.motion-story .story-step:nth-child(3) { transform: translate3d(0, calc((1 - var(--scene-progress, .5)) * 88px), 0) rotate(-.6deg); }
.motion-story .story-line { inset: 90px 0 auto; height: 960px; opacity: .5; }
.motion-story .story-line path { stroke-width: 1.1; stroke-dasharray: 1; stroke-dashoffset: var(--line-offset, .7); }

.motion-feature {
  position: relative;
  width: 100%;
  min-height: 900px;
  margin: 0;
  padding: 145px max(6vw, calc((100vw - 1280px)/2));
  grid-template-columns: .78fr 1.22fr;
  gap: 8vw;
  border-radius: 0;
  overflow: hidden;
  isolation: isolate;
}
.section-watermark {
  position: absolute;
  z-index: -1;
  left: -2vw;
  bottom: -6vw;
  color: rgba(255,255,255,.035);
  font: 500 27vw/.72 var(--display);
  letter-spacing: -.09em;
}
.motion-feature .feature-copy h2 { font-size: clamp(58px, 6.3vw, 95px); line-height: .9; }
.motion-feature .feature-copy h2 em { color: #d8a8ba; font-weight: 500; }
.motion-feature .guest-dashboard {
  position: relative;
  z-index: 2;
  padding: clamp(24px, 3vw, 42px);
  transform: perspective(1300px)
    translate3d(calc((1 - var(--scene-progress, .5)) * 100px), calc((1 - var(--scene-progress, .5)) * 35px), 0)
    rotateY(calc((1 - var(--scene-progress, .5)) * -13deg))
    rotateZ(1.4deg);
  transform-origin: right center;
  box-shadow: -35px 60px 110px rgba(0,0,0,.34);
  will-change: transform;
}
.motion-feature .guest-dashboard::before {
  content: "ANILYA / MİSAFİR YÖNETİMİ";
  position: absolute;
  left: 0;
  top: -31px;
  color: #caaeb9;
  font: 500 8px var(--utility);
  letter-spacing: .16em;
}
.motion-feature .dash-stats strong { font-size: clamp(30px, 4vw, 54px); }

.motion-album {
  position: relative;
  width: 100%;
  min-height: 940px;
  padding: 135px max(5vw, calc((100vw - 1280px)/2));
  grid-template-columns: 1.14fr .86fr;
  gap: 7vw;
  overflow: hidden;
  background: #d3aeb6;
}
.album-watermark {
  position: absolute;
  top: 4%;
  left: -1%;
  color: rgba(70,35,49,.08);
  font: 500 17vw/.8 var(--display);
  letter-spacing: -.08em;
  white-space: nowrap;
  transform: translate3d(calc((var(--scene-progress, .5) - .5) * -90px), 0, 0);
}
.motion-album .album-collage { height: 680px; }
.motion-album .image-a {
  width: 52%;
  height: 71%;
  transform: translate3d(calc((1 - var(--scene-progress, .5)) * -45px), calc((1 - var(--scene-progress, .5)) * 75px), 0) rotate(calc(-9deg + var(--scene-progress, .5) * 7deg));
  will-change: transform;
}
.motion-album .image-b {
  width: 52%;
  height: 57%;
  transform: translate3d(calc((1 - var(--scene-progress, .5)) * 55px), calc((1 - var(--scene-progress, .5)) * 100px), 0) rotate(calc(8deg - var(--scene-progress, .5) * 6deg));
  will-change: transform;
}
.motion-album .image-c {
  width: 32%;
  transform: scale(calc(.78 + var(--scene-progress, .5) * .22)) rotate(calc(-14deg + var(--scene-progress, .5) * 14deg));
  will-change: transform;
}
.motion-album .album-copy { position: relative; z-index: 2; }
.motion-album .album-copy h2 { font-size: clamp(58px, 6.6vw, 100px); line-height: .88; }
.motion-album .album-copy h2 em { color: #fff4ee; font-weight: 500; }
.motion-album .album-copy p:not(.eyebrow) { color: #4f3440; }

.award-finale {
  position: relative;
  min-height: 880px;
  margin: 0;
  padding: 140px 5vw 45px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  background: #180e13;
}
.award-finale::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 60vw;
  height: 60vw;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%) scale(calc(.72 + var(--scene-progress, .5) * .28));
  border: 1px solid rgba(217,170,187,.25);
  border-radius: 50%;
  box-shadow: 0 0 0 9vw rgba(217,170,187,.025), 0 0 0 18vw rgba(217,170,187,.02);
}
.finale-mark {
  position: absolute;
  top: 10%;
  left: 50%;
  width: 76px;
  height: 76px;
  padding: 15px;
  transform: translateX(-50%) rotate(calc((var(--scene-progress, .5) - .5) * 30deg));
  background: #d1a7b2;
  border-radius: 50%;
}
.finale-mark img { width: 100%; height: 100%; }
.award-finale h2 { width: 100%; font-size: clamp(66px, 10.8vw, 172px); line-height: .78; }
.award-finale h2 span { display: block; }
.award-finale h2 span:first-child { transform: translate3d(calc((1 - var(--scene-progress, .5)) * -55px),0,0); }
.award-finale h2 span:last-child { text-align: right; transform: translate3d(calc((1 - var(--scene-progress, .5)) * 55px),0,0); }
.award-finale h2 em { color: #d9aabb; }
.finale-button {
  min-height: 66px;
  margin: 55px auto 0;
  padding: 7px 7px 7px 26px;
  display: inline-flex;
  align-items: center;
  gap: 25px;
  color: #25171e;
  background: #f4ece6;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  transition: transform .25s ease, background .25s ease;
}
.finale-button:hover { transform: scale(1.035); background: white; }
.finale-button b { width: 52px; height: 52px; display: grid; place-items: center; color: white; background: #8f536a; border-radius: 50%; font-size: 18px; }
.finale-button b svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.finale-meta {
  position: absolute;
  left: 5vw;
  right: 5vw;
  bottom: 26px;
  display: flex;
  justify-content: space-between;
  color: #9e8b93;
  font: 400 8px var(--utility);
  letter-spacing: .14em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .motion-story { min-height: auto; padding-block: 100px; grid-template-columns: 1fr; gap: 50px; }
  .motion-story .story-heading { position: relative; top: 0; }
  .motion-story .story-steps { margin-top: 0; }
  .motion-story .story-step:nth-child(n) { margin-left: 0; transform: none; }
  .motion-feature { min-height: auto; padding-block: 100px; grid-template-columns: 1fr; }
  .motion-feature .guest-dashboard { transform: rotate(1deg); }
  .motion-album { min-height: auto; padding-block: 100px; grid-template-columns: 1fr; }
  .motion-album .album-copy { order: -1; }
  .motion-album .album-collage { height: 560px; }
  .award-finale { min-height: 760px; }
  .award-finale::before { width: 90vw; height: 90vw; }
}

@media (max-width: 560px) {
  .kinetic-strip .event-list { font-size: 30px; gap: 18px; }
  .motion-story { padding-inline: 18px; }
  .motion-story .story-step { min-height: 285px; padding: 28px 24px; }
  .motion-story .step-label { left: 24px; }
  .motion-feature { padding-inline: 18px; }
  .motion-feature .guest-dashboard { padding: 16px; }
  .motion-album { padding-inline: 18px; }
  .motion-album .album-collage { height: 440px; }
  .award-finale { min-height: 700px; padding-inline: 18px; }
  .finale-mark { top: 8%; width: 62px; height: 62px; }
  .award-finale h2 { font-size: 17vw; }
  .finale-meta { left: 18px; right: 18px; }
  .finale-meta span:last-child { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-progress { display: none; }
  .event-track, .motion-story .story-step, .motion-feature .guest-dashboard,
  .motion-album .album-image, .album-watermark, .award-finale h2 span,
  .award-finale::before, .finale-mark { transform: none !important; }
}

/* Invitation V4 — an opening cinematic story */
.invitation-route { background: #201219; }
.invite-toolbar { position: relative; z-index: 40; letter-spacing: .04em; }
.live-dot { animation: live-pulse 2s ease-out infinite; }
.award-cover {
  --invite-x: 0;
  --invite-y: 0;
  overflow: hidden;
  cursor: pointer;
  outline: none;
  background-size: 112% auto;
  background-position: calc(50% + var(--invite-x) * -24px) calc(42% + var(--invite-y) * -16px);
  transition: background-position .3s cubic-bezier(.16,1,.3,1), filter .35s ease;
}
.award-cover:focus-visible { box-shadow: inset 0 0 0 4px #eec9d4; }
.award-cover .cover-overlay {
  background:
    radial-gradient(circle at calc(50% + var(--invite-x) * 36%) calc(50% + var(--invite-y) * 28%), rgba(236,190,203,.2), transparent 22%),
    linear-gradient(180deg, rgba(27,15,20,.22), rgba(27,15,20,.6));
}
.cover-grain {
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: .18;
  pointer-events: none;
  mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
.cover-index {
  position: absolute;
  z-index: 4;
  top: 28px;
  left: 50%;
  width: min(360px, 45vw);
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.72);
  font: 400 7px var(--utility);
  letter-spacing: .16em;
  transform: translateX(-50%);
}
.cover-index i { height: 1px; flex: 1; background: currentColor; opacity: .42; }
.award-cover .cover-content {
  transform: translate3d(calc(var(--invite-x) * 32px), calc(var(--invite-y) * 22px), 70px);
  transition: transform .38s cubic-bezier(.16,1,.3,1);
}
.award-cover .cover-content h1 span:first-child { display: inline-block; transform: translateX(calc(var(--invite-x) * -24px)); }
.award-cover .cover-content h1 span:last-child { display: inline-block; transform: translateX(calc(var(--invite-x) * 24px)); }
.award-cover .cover-content h1 i { display: inline-block; transform: translateY(calc(var(--invite-y) * -20px)) rotate(calc(var(--invite-x) * 9deg)); }
.award-cover .cover-rail { transition: transform .38s cubic-bezier(.16,1,.3,1); }
.award-cover .rail-left { transform: rotate(180deg) translateY(calc(var(--invite-y) * 24px)); }
.award-cover .rail-right { transform: translateY(calc(var(--invite-y) * -24px)); }
.invite-pointer {
  position: absolute;
  z-index: 20;
  left: var(--invite-cursor-x, 50%);
  top: var(--invite-cursor-y, 50%);
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  color: #321923;
  background: rgba(245,225,231,.9);
  border: 1px solid rgba(255,255,255,.74);
  border-radius: 50%;
  backdrop-filter: blur(9px);
  font: 500 8px var(--utility);
  letter-spacing: .16em;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%,-50%) scale(.55);
  transition: opacity .2s ease, transform .35s cubic-bezier(.16,1,.3,1);
}
.invite-pointer.is-visible { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.route-entering .award-cover .cover-content > * { animation: invite-line-in .75s cubic-bezier(.16,1,.3,1) backwards; }
.route-entering .award-cover .cover-content h1 { animation-delay: .08s; }
.route-entering .award-cover .cover-content > span { animation-delay: .16s; }
.route-entering .award-cover .cover-rail,
.route-entering .award-cover .cover-index { animation: invite-fade-in .8s .3s ease backwards; }
.scroll-cue { animation: cue-bob 1.8s 1s ease-in-out infinite; }
.motion-invite-details .timeline-item { transition: padding-left .3s cubic-bezier(.16,1,.3,1), border-color .3s ease; }
.motion-invite-details .timeline-item:hover { padding-left: 18px; border-color: var(--invite-accent); }
.motion-invite-details .timeline-item h3 { transition: color .25s ease; }
.motion-invite-details .timeline-item:hover h3 { color: var(--invite-accent); }
.radio-card { transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.radio-card:hover { transform: translateX(5px); border-color: var(--invite-accent); background: #f8f0f2; }
@keyframes live-pulse { 0%,100% { box-shadow: 0 0 0 5px rgba(140,192,150,.12); } 50% { box-shadow: 0 0 0 10px rgba(140,192,150,0); } }
@keyframes invite-line-in { from { opacity: 0; transform: translateY(38px); } }
@keyframes invite-fade-in { from { opacity: 0; } }
@keyframes cue-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }

/* Studio V4 — living design desk */
.studio-route { --studio-ink: #25151d; background: #1f1319; }
.studio-shell { grid-template-columns: 84px 340px 1fr; }
.studio-sidebar { position: relative; z-index: 3; background: #201219; border-right: 1px solid rgba(255,255,255,.07); }
.tool-button { position: relative; border-radius: 13px; transition: color .22s ease, background .22s ease, transform .22s ease; }
.tool-button:hover { color: white; transform: translateY(-2px); }
.tool-button.is-active { background: linear-gradient(135deg, rgba(217,170,187,.22), rgba(255,255,255,.06)); }
.tool-button.is-active::after { content: ""; position: absolute; right: -12px; width: 2px; height: 26px; background: #d9aabb; border-radius: 2px; }
.studio-panel { position: relative; z-index: 2; background: rgba(250,246,241,.97); box-shadow: 20px 0 55px rgba(21,10,15,.16); }
.saved-state::before { content: ""; width: 6px; height: 6px; margin-right: 6px; display: inline-block; background: #5a8a67; border-radius: 50%; animation: saved-breathe 2.4s ease-in-out infinite; }
.section-row { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.section-row:hover { transform: translateX(5px); box-shadow: 0 8px 24px rgba(55,30,41,.08); }
.section-row.is-selected { background: linear-gradient(100deg, #fff, #f8edf1); }
.palette { transition: transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s ease; }
.palette:hover { transform: translateY(-4px); box-shadow: 0 8px 18px rgba(55,30,41,.12); }
.studio-canvas { background: #1f1319; }
.canvas-toolbar { position: relative; z-index: 5; background: rgba(36,22,29,.9); color: #e9dfe3; border-bottom-color: rgba(255,255,255,.08); backdrop-filter: blur(14px); }
.device-toggle { background: rgba(255,255,255,.07); }
.device-toggle button, .canvas-actions button { color: #d6c8ce; }
.device-toggle button.is-active { color: #27151e; background: #f7efeb; }
.canvas-actions button { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.07); }
.canvas-actions .publish-button { background: #a76078; border-color: #a76078; }
.preview-stage {
  --studio-cursor-x: 50%;
  --studio-cursor-y: 50%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at var(--studio-cursor-x) var(--studio-cursor-y), rgba(174,100,126,.22), transparent 20%),
    radial-gradient(circle at 50% 50%, #3b2630 0%, #1e1218 62%);
}
.preview-stage::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  opacity: .17;
  background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(circle, #000 20%, transparent 72%);
}
.canvas-caption { position: absolute; z-index: 2; top: 24px; left: 28px; right: 28px; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.48); font: 400 7px var(--utility); letter-spacing: .16em; }
.canvas-caption i { height: 1px; flex: 1; background: currentColor; opacity: .4; }
.canvas-orbit { position: absolute; z-index: -1; border: 1px solid rgba(222,175,192,.18); border-radius: 50%; pointer-events: none; }
.orbit-a { width: min(56vw, 760px); aspect-ratio: 1; animation: studio-orbit 18s linear infinite; }
.orbit-b { width: min(40vw, 530px); aspect-ratio: 1; border-style: dashed; animation: studio-orbit 24s linear infinite reverse; }
.preview-device {
  --preview-tilt-x: 0deg;
  --preview-tilt-y: 0deg;
  --preview-light-x: 50%;
  --preview-light-y: 50%;
  z-index: 3;
  cursor: pointer;
  outline: none;
  transform: perspective(1400px) rotateX(var(--preview-tilt-x)) rotateY(var(--preview-tilt-y)) translateZ(0);
  transform-style: preserve-3d;
  box-shadow: 0 55px 110px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.1);
  transition: width .35s ease, height .35s ease, border-radius .35s ease, transform .3s cubic-bezier(.16,1,.3,1), box-shadow .35s ease;
}
.preview-device::after { content: ""; position: absolute; z-index: 5; inset: 0; pointer-events: none; opacity: .42; background: radial-gradient(circle at var(--preview-light-x) var(--preview-light-y), rgba(255,255,255,.25), transparent 24%); mix-blend-mode: screen; }
.preview-device:hover { box-shadow: 0 70px 140px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.16); }
.preview-device:focus-visible { box-shadow: 0 0 0 3px #e8c1ce, 0 70px 140px rgba(0,0,0,.55); }
.preview-device.is-editing { box-shadow: 0 0 0 2px #da9eb3, 0 70px 140px rgba(0,0,0,.55); }
.preview-cover { background-image: linear-gradient(180deg, rgba(31,18,25,.05), rgba(31,18,25,.38)), url("assets/aniyla-editorial-hero.webp"); transition: filter .45s ease, transform .55s cubic-bezier(.16,1,.3,1); }
.preview-device:hover .preview-cover { transform: scale(1.025); filter: saturate(1.08); }
.preview-content { transform: translateZ(55px); }
.theme-changed .preview-cover { animation: theme-flash .55s ease; }
.edit-hotspot { position: absolute; z-index: 6; min-height: 28px; padding: 7px 10px; color: white; background: rgba(40,20,29,.76); border: 1px solid rgba(255,255,255,.3); border-radius: 999px; backdrop-filter: blur(8px); font: 500 7px var(--utility); letter-spacing: .12em; text-transform: uppercase; opacity: 0; transform: scale(.75); transition: opacity .2s ease, transform .28s cubic-bezier(.16,1,.3,1); }
.hotspot-title { left: 12%; top: 43%; }
.hotspot-photo { right: 9%; top: 18%; }
.preview-device:hover .edit-hotspot, .preview-device.is-editing .edit-hotspot { opacity: 1; transform: scale(1); }
.studio-pointer { position: absolute; z-index: 10; left: var(--studio-cursor-x); top: var(--studio-cursor-y); width: 76px; height: 76px; display: grid; place-items: center; color: #2d1721; background: rgba(239,205,216,.9); border-radius: 50%; backdrop-filter: blur(9px); font: 500 8px var(--utility); letter-spacing: .14em; text-transform: uppercase; opacity: 0; pointer-events: none; transform: translate(-50%,-50%) scale(.55); transition: opacity .2s ease, transform .35s cubic-bezier(.16,1,.3,1); }
.studio-pointer.is-visible { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.route-entering .studio-sidebar { animation: studio-enter-left .55s cubic-bezier(.16,1,.3,1) backwards; }
.route-entering .studio-panel { animation: studio-enter-left .65s .06s cubic-bezier(.16,1,.3,1) backwards; }
.route-entering .preview-device { animation: studio-device-in .75s .14s cubic-bezier(.16,1,.3,1) backwards; }
@keyframes saved-breathe { 50% { opacity: .35; transform: scale(.7); } }
@keyframes studio-orbit { to { transform: rotate(360deg); } }
@keyframes theme-flash { 0% { opacity: .65; filter: blur(4px); } 100% { opacity: 1; filter: blur(0); } }
@keyframes studio-enter-left { from { opacity: 0; transform: translateX(-35px); } }
@keyframes studio-device-in { from { opacity: 0; transform: perspective(1400px) translateY(55px) rotateX(8deg) scale(.92); } }

@media (max-width: 900px) {
  .studio-shell { grid-template-columns: 72px 1fr; }
  .cover-index { width: calc(100% - 40px); }
  .award-cover { background-size: cover; }
  .invite-pointer, .studio-pointer { display: none; }
  .canvas-caption { top: 16px; left: 16px; right: 16px; }
  .orbit-a { width: 90vw; }
  .orbit-b { width: 68vw; }
}

@media (prefers-reduced-motion: reduce) {
  .award-cover, .award-cover .cover-content, .award-cover .cover-content h1 span,
  .award-cover .cover-content h1 i, .award-cover .cover-rail, .preview-device,
  .preview-cover { transform: none !important; }
  .invite-pointer, .studio-pointer, .canvas-orbit { display: none; }
}

/* Studio editor controls */
.tool-panel { display: none; }
.tool-panel.is-active { display: block; animation: panel-tool-in .28s ease both; }
.control-hint { margin: -5px 0 14px; color: #81757a; font-size: 10px; line-height: 1.55; }
.section-row { position: relative; min-height: 62px; padding: 0; display: grid; grid-template-columns: minmax(0,1fr) 38px; overflow: hidden; }
.section-row.is-dragging { opacity: .42; transform: scale(.98); }
.section-row.is-hidden { opacity: .58; }
.section-select { min-width: 0; padding: 9px; display: grid; grid-template-columns: 20px 1fr; grid-template-rows: auto auto; color: inherit; text-align: left; border: 0; background: transparent; cursor: pointer; }
.section-select .drag { grid-row: 1 / 3; color: #9b9195; cursor: grab; }
.section-select > span:not(.drag) { overflow: hidden; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.section-select small { color: #8d8387; font-size: 9px; }
.section-visibility { border: 0; border-left: 1px solid var(--line); color: #7b6d73; background: rgba(255,255,255,.55); cursor: pointer; }
.section-visibility:not(.is-visible) { color: #b1a5aa; text-decoration: line-through; }
.section-actions { display: flex; flex-direction: column; }
.section-actions > button { min-width: 38px; flex: 1; }
.section-remove { color: #9b4256; border: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: #fff8f8; cursor: pointer; }
.add-section-form { margin-top: 12px; padding: 12px; background: #f0ebe8; border-radius: 8px; }
.add-section-form label { display: block; margin-bottom: 6px; font-size: 9px; font-weight: 700; }
.add-section-form > div { display: flex; gap: 6px; }
.add-section-form input { min-width: 0; flex: 1; }
.add-section-form button { padding: 0 13px; color: white; border: 0; background: var(--plum); border-radius: 6px; cursor: pointer; }
.form-grid { display: grid; gap: 17px; }
.form-grid > label, .split-fields label { display: grid; gap: 7px; color: #55494e; font-size: 10px; font-weight: 700; }
.form-grid input[type="text"], .form-grid input[type="url"], .form-grid textarea, .form-grid select, .add-section-form input { width: 100%; min-height: 42px; padding: 10px 11px; color: #30242a; border: 1px solid #d8cdca; background: white; border-radius: 7px; outline: none; font: 500 11px var(--body); }
.form-grid textarea { min-height: 76px; resize: vertical; }
.form-grid input:focus, .form-grid textarea:focus, .form-grid select:focus, .add-section-form input:focus { border-color: #9b5e73; box-shadow: 0 0 0 3px rgba(155,94,115,.12); }
.form-grid input[type="color"] { width: 100%; height: 46px; padding: 4px; border: 1px solid #d8cdca; background: white; border-radius: 7px; cursor: pointer; }
.pretty-select { position: relative; width: 100%; }
.pretty-select .native-select { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; pointer-events: none; }
.pretty-select-trigger { width: 100%; min-height: 50px; padding: 7px 8px 7px 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #32252b; border: 1px solid #d3c5c8; background: linear-gradient(180deg, #fff 0%, #fbf7f5 100%); border-radius: 11px; box-shadow: 0 4px 14px rgba(62,34,45,.06), inset 0 1px 0 rgba(255,255,255,.9); cursor: pointer; font: 600 11px var(--body); text-align: left; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.pretty-select-trigger:hover { border-color: #af8493; box-shadow: 0 7px 20px rgba(62,34,45,.1); transform: translateY(-1px); }
.pretty-select-trigger:focus-visible, .pretty-select.is-open .pretty-select-trigger { border-color: #945d71; outline: 0; box-shadow: 0 0 0 3px rgba(148,93,113,.13), 0 8px 22px rgba(62,34,45,.1); }
.pretty-select-chevron { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; color: #75465a; background: #f1e4e8; border-radius: 8px; }
.pretty-select-chevron svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .24s ease; }
.pretty-select.is-open .pretty-select-chevron svg { transform: rotate(180deg); }
.pretty-select-menu { position: absolute; z-index: 40; top: calc(100% + 7px); left: 0; right: 0; padding: 6px; overflow: hidden; border: 1px solid rgba(119,72,89,.19); background: rgba(255,252,250,.98); border-radius: 12px; box-shadow: 0 18px 45px rgba(45,22,31,.18); backdrop-filter: blur(18px); animation: pretty-select-in .2s cubic-bezier(.16,1,.3,1); }
.pretty-select-menu[hidden] { display: none; }
.pretty-select-option { width: 100%; min-height: 42px; padding: 9px 10px 9px 12px; display: flex; align-items: center; justify-content: space-between; color: #49383f; border: 0; background: transparent; border-radius: 8px; cursor: pointer; font: 500 11px var(--body); text-align: left; transition: color .16s ease, background .16s ease, transform .16s ease; }
.pretty-select-option:hover, .pretty-select-option:focus-visible { color: #5e3042; outline: 0; background: #f5e9ed; transform: translateX(2px); }
.pretty-select-option.is-selected { color: #54293a; background: #f2e3e8; font-weight: 700; }
.pretty-select-check { width: 23px; height: 23px; display: grid; place-items: center; color: white; background: #8d5368; border-radius: 50%; opacity: 0; transform: scale(.65); transition: opacity .18s ease, transform .18s ease; font-size: 10px; }
.pretty-select-option.is-selected .pretty-select-check { opacity: 1; transform: scale(1); }
@keyframes pretty-select-in { from { opacity: 0; transform: translateY(-7px) scale(.98); } }
.tone-control, .type-size-control, .focus-control, .volume-control { margin: 0; padding: 0; border: 0; }
.tone-control legend, .type-size-control legend, .focus-control legend, .volume-control legend { margin-bottom: 8px; color: #55494e; font-size: 10px; font-weight: 700; }
.tone-control > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.tone-control button { padding: 6px 6px 8px; display: grid; gap: 6px; color: #74676c; border: 1px solid #d9cdca; background: #fff; border-radius: 9px; cursor: pointer; font-size: 9px; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.tone-control button:hover { border-color: #b9899a; transform: translateY(-2px); }
.tone-control button.is-active { color: #5c3142; border-color: #9d6377; box-shadow: 0 0 0 2px rgba(157,99,119,.12); font-weight: 700; }
.tone-control button i { height: 33px; display: block; background: linear-gradient(rgba(38,19,27,var(--tone)),rgba(38,19,27,var(--tone))), url("assets/aniyla-editorial-hero.webp") center 45%/cover; border-radius: 5px; }
.direct-position-control { padding: 12px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px dashed #cdbcc1; background: linear-gradient(135deg,#f7efef,#f2e8eb); border-radius: 11px; }
.direct-position-icon { width: 34px; height: 42px; padding: 9px 7px; display: grid; align-content: center; gap: 4px; color: #825167; border: 1px solid #cdb7bf; background: white; border-radius: 7px; cursor: ns-resize; }
.direct-position-icon i { height: 2px; display: block; background: currentColor; border-radius: 2px; }
.direct-position-icon i:nth-child(2) { width: 70%; margin-inline: auto; }
.direct-position-control div { min-width: 0; display: grid; gap: 2px; }
.direct-position-control strong { color: #50333f; font-size: 10px; }
.direct-position-control small { color: #8b747d; font-size: 8px; line-height: 1.4; }
.direct-position-control button { padding: 7px 9px; color: #6b3e50; border: 1px solid #c9abb7; background: white; border-radius: 7px; cursor: pointer; font-size: 8px; font-weight: 700; }
.type-size-control > div { padding: 7px; display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; gap: 7px; border: 1px solid #d8ccca; background: #f4eeeb; border-radius: 12px; }
.type-size-control button { height: 40px; color: #61384a; border: 1px solid #d7c3ca; background: white; border-radius: 8px; cursor: pointer; font: 700 12px var(--body); transition: transform .15s ease, box-shadow .15s ease; }
.type-size-control button:hover { transform: scale(1.04); box-shadow: 0 5px 14px rgba(60,30,41,.1); }
.type-size-control output { color: #4d3640; font: 500 20px var(--display); text-align: center; }
.focus-control { padding: 12px; display: grid; grid-template-columns: 90px minmax(0,1fr); column-gap: 13px; align-items: center; border: 1px solid #d7cbc8; background: #f6f0ed; border-radius: 11px; }
.focus-control legend { grid-column: 1 / -1; }
.focus-control small { color: #806f76; font-size: 9px; line-height: 1.5; }
.focus-grid { width: 90px; height: 90px; padding: 9px; display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; background: linear-gradient(rgba(47,24,33,.18),rgba(47,24,33,.38)), url("assets/aniyla-editorial-hero.webp") center/cover; border-radius: 9px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.32); }
.focus-grid button { width: 14px; height: 14px; place-self: center; border: 1px solid rgba(255,255,255,.85); background: rgba(46,25,34,.3); border-radius: 50%; cursor: pointer; box-shadow: 0 1px 5px rgba(20,8,13,.3); transition: background .18s ease, transform .18s ease, box-shadow .18s ease; }
.focus-grid button:hover { background: white; transform: scale(1.25); }
.focus-grid button.is-active { background: #fff; transform: scale(1.3); box-shadow: 0 0 0 3px rgba(146,82,105,.75), 0 2px 8px rgba(20,8,13,.35); }
.volume-control > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.volume-control button { min-height: 68px; padding: 8px 5px; display: grid; place-items: center; gap: 2px; color: #75676c; border: 1px solid #d8cdca; background: white; border-radius: 10px; cursor: pointer; transition: color .18s ease, border-color .18s ease, transform .18s ease, background .18s ease; }
.volume-control button:hover { transform: translateY(-2px); border-color: #b98e9d; }
.volume-control button.is-active { color: #5d3142; border-color: #9c6175; background: #f3e5ea; }
.volume-control button span { font: 500 22px var(--display); }
.volume-control button b { font-size: 8px; }
.content-editor-drawer { position: absolute; z-index: 30; inset: 0; min-height: 100%; padding: 25px 22px; color: #39262e; background: rgba(252,248,245,.98); box-shadow: -18px 0 45px rgba(47,23,32,.16); backdrop-filter: blur(20px); opacity: 0; pointer-events: none; transform: translateX(105%); transition: opacity .22s ease, transform .36s cubic-bezier(.16,1,.3,1); }
.content-editor-drawer.is-open { opacity: 1; pointer-events: auto; transform: translateX(0); }
.content-editor-drawer header { padding-bottom: 20px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 12px; border-bottom: 1px solid #ded2cf; }
.content-editor-drawer header > button { width: 38px; height: 38px; color: #6d4052; border: 1px solid #d3c1c7; background: white; border-radius: 50%; cursor: pointer; font-size: 16px; transition: transform .18s ease, background .18s ease; }
.content-editor-drawer header > button:hover { background: #f2e5e9; transform: translateX(-2px); }
.content-editor-drawer header .eyebrow { margin: 0 0 2px; font-size: 8px; }
.content-editor-drawer header h2 { margin: 0; font: 500 25px var(--display); }
.content-editor-body { padding-top: 25px; display: grid; gap: 12px; }
.content-editor-body > label { color: #5c4850; font-size: 10px; font-weight: 700; }
.content-editor-body textarea { width: 100%; min-height: 150px; padding: 15px; color: #38262e; border: 1px solid #cdbec2; background: white; border-radius: 11px; outline: none; resize: vertical; font: 500 13px/1.65 var(--body); box-shadow: 0 8px 24px rgba(53,27,37,.06); }
.content-editor-body textarea:focus { border-color: #925b70; box-shadow: 0 0 0 3px rgba(146,91,112,.13), 0 10px 26px rgba(53,27,37,.08); }
.content-editor-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #8a787f; font-size: 8px; }
.content-editor-meta output { color: #6f4d5a; font: 500 8px var(--utility); }
.content-editor-body .secondary-control { margin-top: 6px; color: white; border-color: #64384a; background: #64384a; }
.split-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.secondary-control, .text-control { min-height: 42px; padding: 10px 13px; border: 1px solid #d3c7c4; background: white; border-radius: 7px; cursor: pointer; font: 600 10px var(--sans); }
.secondary-control:hover { border-color: #9b5e73; }
.secondary-control:disabled { opacity: .45; cursor: not-allowed; }
.text-control { min-height: auto; color: #7f5060; border: 0; background: transparent; text-decoration: underline; }
.photo-drop { min-height: 175px; padding: 24px 15px; display: grid; place-items: center; align-content: center; text-align: center; border: 1px dashed #bdaeb3; background: #f6f1ee; border-radius: 12px; transition: border-color .2s ease, background .2s ease; }
.photo-drop.is-over { border-color: #965b70; background: #f3e6eb; }
.photo-drop > span { color: #81747a; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.photo-drop strong { margin-top: 6px; font: 500 18px var(--display); }
.photo-drop small { margin: 4px 0 14px; color: #8e8287; font-size: 9px; }
.upload-button { min-height: 38px; padding: 10px 13px; display: inline-grid !important; place-items: center; color: white !important; background: #5c3545; border-radius: 7px; cursor: pointer; font-size: 10px !important; }
.upload-button.wide { width: 100%; }
.upload-button input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.music-card { padding: 14px; display: flex; align-items: center; gap: 12px; border: 1px solid #ddd2cf; background: white; border-radius: 9px; }
.music-icon { width: 40px; aspect-ratio: 1; display: grid; place-items: center; color: white; background: #714456; border-radius: 50%; }
.music-card div { min-width: 0; display: grid; gap: 3px; }
.music-card strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.music-card small { color: #8d8085; font-size: 9px; }
.switch-control { padding: 12px 0; display: flex !important; grid-template-columns: 1fr auto; align-items: center; justify-content: space-between; border-top: 1px solid #dfd4d0; border-bottom: 1px solid #dfd4d0; }
.switch-control input { width: 37px; height: 21px; accent-color: #8e5268; }
.saved-state.is-saving { color: #9b6b3e; }
.saved-state.is-saving::before { background: #c48c4e; }
.preview-page { height: 100%; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--invite-accent) 55%, white) transparent; background: var(--invite-paper,#f8f2ed); transition: background .35s ease; }
.preview-cover { --cover-image: url("assets/aniyla-editorial-hero.webp"); min-height: 100%; background-image: linear-gradient(180deg, rgba(31,18,25,.05), rgba(31,18,25,.38)), var(--cover-image); background-position: var(--photo-position-x,50%) var(--photo-position-y,50%); }
.preview-cover.is-section-hidden, .preview-inner.is-section-hidden { display: none; }
.preview-shade { background: linear-gradient(180deg, rgba(25,14,19,.12), color-mix(in srgb, var(--invite-dark) var(--overlay, 58%), transparent)); }
.preview-content { position: absolute; top: var(--content-position, 50%); left: 0; right: 0; transform: translateY(-50%) translateZ(55px); text-align: var(--content-alignment, center); cursor: grab; touch-action: none; user-select: none; transition: top .16s ease-out; }
.preview-content:hover { outline: 1px dashed rgba(255,255,255,.48); outline-offset: -9px; }
.content-drag-handle { position: absolute; left: 50%; top: -15px; width: 31px; height: 20px; display: grid; place-items: center; color: #5e3343; background: rgba(255,245,248,.92); border-radius: 999px; box-shadow: 0 4px 12px rgba(25,10,16,.22); opacity: 0; transform: translateX(-50%) translateY(5px); transition: opacity .18s ease, transform .18s ease; font-size: 11px !important; letter-spacing: 0 !important; }
.preview-content:hover .content-drag-handle, .is-content-dragging .content-drag-handle { opacity: 1; transform: translateX(-50%) translateY(0); }
.is-content-dragging .preview-content { cursor: grabbing; transition: none; }
.is-content-dragging .preview-cover { transform: none !important; }
.preview-content h2 { font-family: var(--preview-title-font, var(--display)); font-size: var(--preview-title-size, 64px); }
.preview-inner { min-height: 72%; padding: 54px 12%; display: flex; flex-direction: column; justify-content: center; color: var(--invite-dark); background: var(--invite-paper,#f8f2ed); transition: color .35s ease,background .35s ease; }
.preview-inner:nth-child(odd) { background: color-mix(in srgb, var(--invite-soft,#ead9dc) 48%, var(--invite-paper,#f8f2ed)); }
.preview-inner small { color: var(--invite-accent); font: 500 8px var(--utility); letter-spacing: .16em; text-transform: uppercase; }
.preview-inner h3 { margin: 11px 0 14px; font: 500 clamp(25px,4vw,40px) var(--display); line-height: 1; }
.preview-inner p { margin: 0; font-size: 10px; line-height: 1.7; }
.preview-inner [data-editable-key] { position: relative; border-radius: 4px; cursor: text; outline: 1px dashed transparent; outline-offset: 5px; transition: color .18s ease, background .18s ease, outline-color .18s ease, box-shadow .18s ease; }
.preview-inner [data-editable-key]:hover, .preview-inner [data-editable-key]:focus-visible { color: color-mix(in srgb, var(--invite-accent) 78%, #24151b); outline-color: color-mix(in srgb, var(--invite-accent) 55%, transparent); background: color-mix(in srgb, white 35%, transparent); }
.preview-inner [data-editable-key].is-being-edited { outline-color: var(--invite-accent); background: color-mix(in srgb, white 68%, transparent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--invite-accent) 12%, transparent); }
.preview-inner button[data-editable-key] { cursor: text; }
.preview-program > div { padding: 10px 0; display: grid; grid-template-columns: 55px 1fr; border-bottom: 1px solid color-mix(in srgb, var(--invite-accent) 25%, transparent); font-size: 10px; }
.preview-program > div span { color: var(--invite-accent); }
.preview-rsvp button { align-self: flex-start; padding: 11px 14px; color: white; border: 0; background: var(--invite-dark); border-radius: 3px; font-size: 9px; }
.preview-custom { min-height: 45%; }
.preview-device.is-desktop .preview-inner { min-height: 100%; padding-inline: 17%; }
.preview-device.is-desktop .preview-page { scroll-snap-type: y proximity; }
.preview-device.is-desktop [data-preview-section] { scroll-snap-align: start; }
.edit-hotspot { cursor: pointer; }
.studio-route.is-full-preview .studio-shell { grid-template-columns: 1fr; }
.studio-route.is-full-preview .studio-sidebar, .studio-route.is-full-preview .studio-panel { display: none; }
.studio-route.is-full-preview .canvas-toolbar { padding-inline: max(20px,5vw); }
.studio-route.is-full-preview .preview-stage { min-height: calc(100dvh - 138px); }
.studio-route.is-full-preview [data-full-preview] { color: #26141d; background: #f2dce4; }
.toast[data-tone="error"] { background: #8f3546; }
@keyframes panel-tool-in { from { opacity: 0; transform: translateY(8px); } }

@media (max-width: 900px) {
  .studio-shell { grid-template-columns: 64px minmax(0,1fr); grid-template-rows: auto minmax(620px,72vh); }
  .studio-sidebar { grid-row: 1 / 3; }
  .studio-panel { display: block; grid-column: 2; max-height: none; }
  .studio-canvas { grid-column: 2; min-height: 620px; }
  .preview-stage { min-height: 560px; }
  .canvas-actions button { padding-inline: 9px; }
  .canvas-actions [data-reset-design] { display: none; }
}

@media (max-width: 560px) {
  .studio-panel { padding: 22px 16px; }
  .panel-heading h1 { font-size: 25px; }
  .saved-state { font-size: 8px; }
  .studio-canvas { min-width: 0; }
  .canvas-toolbar { flex-wrap: wrap; gap: 7px; }
  .canvas-actions { gap: 4px; }
  .preview-stage { padding: 35px 8px 18px; }
  .preview-device.is-phone { width: min(330px,100%); height: 585px; }
}

/* V5 — the invitation returns to the centre */
.hero-envelope-back,
.hero-envelope-front {
  position: absolute;
  left: 50%;
  width: clamp(410px, 39vw, 610px);
  pointer-events: none;
  transform: translate3d(calc(-50% + var(--hero-x) * 11px), calc(var(--hero-y) * 7px + var(--hero-scroll) * 76px), 0);
  transition: transform .42s cubic-bezier(.16,1,.3,1);
}
.hero-envelope-back {
  z-index: 3;
  top: 50%;
  height: 34%;
  background: linear-gradient(135deg, #d8b4bc, #c28e9d);
  border: 1px solid rgba(92,44,63,.16);
  box-shadow: 0 45px 100px rgba(61,27,41,.19);
}
.hero-envelope-flap {
  position: absolute;
  inset: 0 0 auto;
  height: 74%;
  background: linear-gradient(155deg, #e7cbd0, #cda1ac);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform-origin: top;
  transform: perspective(900px) rotateX(168deg);
  animation: hero-flap-open 1.05s .65s cubic-bezier(.16,1,.3,1) backwards;
}
.hero-envelope-front {
  z-index: 5;
  bottom: 7.5%;
  height: 31%;
  overflow: hidden;
  background: linear-gradient(150deg, #dcb9c0, #c992a1);
  border: 1px solid rgba(92,44,63,.14);
  box-shadow: 0 32px 70px rgba(61,27,41,.2);
  animation: hero-envelope-in .8s .58s cubic-bezier(.16,1,.3,1) backwards;
}
.hero-envelope-front::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(165deg, rgba(255,255,255,.14), transparent 45%);
  clip-path: polygon(0 0, 50% 58%, 100% 0, 100% 100%, 0 100%);
}
.envelope-fold { position: absolute; top: 0; bottom: 0; width: 58%; background: rgba(239,207,214,.38); }
.hero-envelope-front .fold-left { left: 0; clip-path: polygon(0 0, 100% 55%, 0 100%); }
.hero-envelope-front .fold-right { right: 0; clip-path: polygon(100% 0, 0 55%, 100% 100%); }
.envelope-seal,
.cover-seal {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 54%;
  width: 62px;
  height: 62px;
  padding: 14px;
  display: grid;
  place-items: center;
  background: #8d4e66;
  border: 5px double rgba(246,221,226,.48);
  border-radius: 50%;
  box-shadow: 0 10px 25px rgba(72,29,47,.28);
  transform: translate(-50%,-50%) rotate(-8deg);
}
.envelope-seal img,
.cover-seal img { width: 100%; height: 100%; filter: brightness(0) invert(1); opacity: .9; }
.memory-portal {
  border: 8px solid #f5ede8;
  border-bottom-width: 12px;
  box-shadow: 0 50px 120px rgba(44,20,31,.35), 0 0 0 1px rgba(78,39,55,.14);
}
.memory-portal.is-open + .hero-envelope-front { transform: translate3d(calc(-50% + var(--hero-x) * 11px), calc(28px + var(--hero-y) * 7px + var(--hero-scroll) * 76px), 0); }
.memory-portal.is-open + .hero-envelope-front .envelope-seal { transform: translate(-50%,-50%) rotate(5deg) scale(.92); }
@keyframes hero-flap-open { from { transform: perspective(900px) rotateX(0deg); } }
@keyframes hero-envelope-in { from { opacity: 0; transform: translate3d(-50%,70px,0); } }

/* The example opens as a real letter */
.award-cover { perspective: 1600px; }
.cover-envelope-back,
.cover-envelope-front {
  position: absolute;
  left: 50%;
  width: min(52vw, 720px);
  height: 35%;
  pointer-events: none;
  transform: translateX(-50%);
}
.cover-envelope-back {
  z-index: 2;
  top: 51%;
  background: linear-gradient(135deg, #d8b8b4, #bc8795);
  box-shadow: 0 50px 110px rgba(17,7,11,.38);
}
.cover-envelope-flap {
  position: absolute;
  inset: 0 0 auto;
  height: 82%;
  background: linear-gradient(155deg, #edd7d1, #c99da5);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform-origin: top;
  transform: perspective(1000px) rotateX(174deg);
}
.cover-envelope-front {
  z-index: 5;
  bottom: 5%;
  overflow: hidden;
  background: linear-gradient(145deg, #dfbdbb, #bd8494);
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 34px 80px rgba(17,7,11,.3);
}
.cover-envelope-front::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(248,224,220,.33);
  clip-path: polygon(0 0, 50% 59%, 100% 0, 100% 100%, 0 100%);
}
.cover-fold-left,
.cover-fold-right { position: absolute; inset-block: 0; width: 59%; background: rgba(245,218,217,.3); }
.cover-fold-left { left: 0; clip-path: polygon(0 0,100% 58%,0 100%); }
.cover-fold-right { right: 0; clip-path: polygon(100% 0,0 58%,100% 100%); }
.cover-seal { top: 55%; width: 68px; height: 68px; padding: 15px; }
.award-cover .cover-content {
  z-index: 4;
  width: min(44vw, 590px);
  min-height: 70%;
  padding: clamp(35px,5vw,72px) 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #3a202b;
  background:
    linear-gradient(rgba(255,255,255,.38), rgba(255,255,255,.38)),
    repeating-linear-gradient(0deg, rgba(91,54,65,.025) 0 1px, transparent 1px 4px),
    #f3e9df;
  border: 1px solid rgba(89,48,63,.16);
  box-shadow: 0 45px 100px rgba(17,7,11,.34);
  transform: translate3d(calc(var(--invite-x) * 28px), calc(-8% + var(--invite-y) * 18px), 75px) rotateZ(calc(var(--invite-x) * 1.2deg));
}
.award-cover .cover-content::before {
  content: "";
  position: absolute;
  inset: 17px;
  border: 1px solid rgba(104,57,73,.2);
  pointer-events: none;
}
.award-cover .cover-content::after {
  content: "E  ·  M";
  position: absolute;
  left: 50%;
  top: 40px;
  color: #925b6d;
  font: 500 9px var(--utility);
  letter-spacing: .18em;
  transform: translateX(-50%);
}
.award-cover .cover-content p,
.award-cover .cover-content span { color: #704f5a; }
.award-cover .cover-content h1 { color: #3c202c; font-size: clamp(64px,8vw,122px); }
.award-cover .cover-content h1 i { color: #a65e77; }
.route-entering .cover-envelope-flap { animation: cover-flap-open 1.05s .12s cubic-bezier(.16,1,.3,1) backwards; }
.route-entering .award-cover .cover-content { animation: cover-letter-rise 1s .28s cubic-bezier(.16,1,.3,1) backwards; }
.route-entering .cover-envelope-front { animation: cover-front-in .75s .1s ease backwards; }
.award-cover:hover .cover-content { box-shadow: 0 60px 130px rgba(17,7,11,.42); }
.award-cover:hover .cover-seal { transform: translate(-50%,-50%) rotate(3deg) scale(1.04); }
.cover-seal { transition: transform .35s cubic-bezier(.16,1,.3,1); }
.award-cover .scroll-cue { z-index: 8; text-shadow: 0 2px 12px rgba(20,8,13,.7); }
@keyframes cover-flap-open { from { transform: perspective(1000px) rotateX(0deg); } }
@keyframes cover-letter-rise { from { opacity: 0; transform: translate3d(0,22%,0) scale(.88); } }
@keyframes cover-front-in { from { opacity: 0; transform: translate(-50%,60px); } }

@media (max-width: 900px) {
  .hero-envelope-back, .hero-envelope-front { width: min(82vw, 470px); }
  .hero-envelope-back { top: 52%; height: 28%; }
  .hero-envelope-front { bottom: 14%; height: 25%; }
  .envelope-seal { width: 52px; height: 52px; padding: 11px; }
  .cover-envelope-back, .cover-envelope-front { width: min(88vw, 620px); }
  .award-cover .cover-content { width: min(76vw, 520px); min-height: 64%; }
}

@media (max-width: 560px) {
  .hero-envelope-back, .hero-envelope-front { width: 88vw; }
  .hero-envelope-back { top: 50%; height: 25%; }
  .hero-envelope-front { bottom: 18%; height: 22%; }
  .memory-portal { border-width: 5px; border-bottom-width: 8px; }
  .cover-envelope-back, .cover-envelope-front { width: 92vw; height: 29%; }
  .cover-envelope-back { top: 55%; }
  .cover-envelope-front { bottom: 8%; }
  .award-cover .cover-content { width: 78vw; min-height: 58%; padding-inline: 20px; }
  .award-cover .cover-content h1 { font-size: 17vw; }
  .cover-seal { width: 56px; height: 56px; padding: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-envelope-flap, .cover-envelope-flap { transform: perspective(900px) rotateX(174deg) !important; }
  .hero-envelope-back, .hero-envelope-front, .cover-envelope-back, .cover-envelope-front { animation: none !important; }
}

/* WebGL + GSAP enhancement — CSS remains the no-network fallback */
.three-envelope-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease;
}
.three-envelope-canvas.is-rendering { opacity: 1; }
.hero-three-canvas { z-index: 3; }
.invite-three-canvas { z-index: 2; }
.hero-portal-v3.three-ready .hero-envelope-back,
.award-cover.three-ready .cover-envelope-back { opacity: 0; }
.award-cover.three-ready .cover-envelope-flap { animation: none; }
.award-cover.three-ready .cover-content { animation: none !important; }
.award-cover .cover-content {
  --letter-lift: 0px;
  --letter-rotation: 0deg;
  transform: translate3d(
    calc(var(--invite-x) * 28px),
    calc(-8% + var(--invite-y) * 18px + var(--letter-lift)),
    75px
  ) rotateZ(calc(var(--invite-x) * 1.2deg + var(--letter-rotation)));
}
.award-cover.is-letter-open .cover-envelope-front {
  transform: translate3d(-50%, 34px, 0);
  transition: transform .8s cubic-bezier(.16,1,.3,1);
}
.award-cover.is-letter-open .cover-seal { transform: translate(-50%,-50%) rotate(8deg) scale(.88); }

@media (prefers-reduced-motion: reduce) {
  .three-envelope-canvas { display: none; }
  .hero-portal-v3.three-ready .hero-envelope-back,
  .award-cover.three-ready .cover-envelope-back { opacity: 1; }
}

/* Hero V6 — ceremonial 3D invitation ritual */
.hero-art-mode.hero-portal-v3 {
  min-height: max(820px, calc(100dvh - 76px));
  background:
    radial-gradient(circle at 50% 46%, rgba(255,247,235,.82), transparent 24%),
    linear-gradient(118deg, #d9cfc4 0%, #c7b6ae 56%, #a9838c 100%);
}
.hero-art-mode .hero-three-canvas { z-index: 4; }
.hero-art-mode .ritual-fallback-envelope { display: none; }
.hero-art-mode .portal-title { z-index: 2; transition: opacity .8s ease, transform .8s cubic-bezier(.16,1,.3,1); }
.hero-art-mode.is-ritual-playing .portal-title,
.hero-art-mode.is-ritual-open .portal-title { opacity: .42; transform: translate3d(0,-22px,0) scale(.985); }
.hero-ritual-copy {
  position: absolute;
  z-index: 8;
  left: 3.5%;
  bottom: 8%;
  width: min(300px, 25vw);
}
.hero-ritual-copy > span { display: block; margin-bottom: 7px; color: #5b293d; font: 500 9px var(--utility); letter-spacing: .16em; text-transform: uppercase; }
.hero-ritual-copy p { margin: 0; font-size: 13px; line-height: 1.65; }
.hero-ritual-control {
  position: absolute;
  z-index: 9;
  left: 50%;
  bottom: 5.5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  transform: translateX(-50%);
}
.ritual-trigger {
  min-width: 188px;
  min-height: 62px;
  padding: 7px 22px 7px 7px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: #f8eeee;
  background: rgba(39,18,28,.95);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  box-shadow: 0 18px 45px rgba(53,20,34,.23);
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition: transform .3s cubic-bezier(.16,1,.3,1), background .25s ease, opacity .25s ease;
}
.ritual-trigger:hover { transform: translateY(-4px); background: #1e0f16; }
.ritual-trigger:active { transform: translateY(-1px) scale(.98); }
.ritual-trigger:focus-visible { outline: 3px solid #fff1f4; outline-offset: 4px; }
.ritual-trigger:disabled { cursor: wait; opacity: .68; }
.ritual-trigger-icon { width: 48px; height: 48px; display: grid; place-items: center; color: #3c1b29; background: #d8c6b1; border: 1px solid #b48a65; border-radius: 50%; transition: transform .75s cubic-bezier(.16,1,.3,1); }
.ritual-trigger-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.is-ritual-playing .ritual-trigger-icon { transform: rotate(90deg); }
.is-ritual-open .ritual-trigger-icon { transform: rotate(180deg); }
.ritual-trigger-copy { display: flex; flex-direction: column; align-items: flex-start; }
.ritual-trigger-copy small { color: #cbb7bf; font: 400 7px var(--utility); letter-spacing: .13em; text-transform: uppercase; }
.ritual-trigger-copy strong { margin-top: 3px; font: 500 17px var(--display); }
.ritual-progress { margin: 0; color: rgba(50,25,36,.62); font: 500 7px var(--utility); letter-spacing: .14em; text-transform: uppercase; }
.ritual-complete {
  position: absolute;
  z-index: 8;
  right: 3.5%;
  bottom: 8%;
  width: min(300px, 25vw);
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px);
  transition: opacity .65s .15s ease, transform .65s .15s cubic-bezier(.16,1,.3,1);
}
.is-ritual-open .ritual-complete { opacity: 1; pointer-events: auto; transform: translateY(0); }
.ritual-complete p { margin: 0 0 12px; font: 500 17px/1.35 var(--display); }
.ritual-complete p span { display: block; margin-bottom: 5px; color: #59273b; font: 500 8px var(--utility); letter-spacing: .14em; text-transform: uppercase; }
.ritual-complete a { color: #3b1f2b; font-size: 11px; font-weight: 700; text-underline-offset: 5px; }
.is-ritual-playing .hero-ritual-copy { opacity: .4; }
.hero-ritual-copy { transition: opacity .5s ease; }

.ritual-fallback-envelope {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 48%;
  width: min(520px, 42vw);
  height: 290px;
  background: #472334;
  box-shadow: 0 45px 100px rgba(56,21,36,.25);
  transform: translate(-50%,-50%);
}
.fallback-card { position: absolute; left: 15%; right: 15%; bottom: 24%; height: 125%; padding-top: 36%; color: #452431; background: #eee3d4; border: 1px solid rgba(80,39,55,.16); text-align: center; transition: transform 1.15s cubic-bezier(.16,1,.3,1); }
.fallback-card span { display: block; font: 500 44px var(--display); }
.fallback-card i { color: #a25c74; }
.fallback-card small { font: 400 9px var(--utility); letter-spacing: .15em; }
.fallback-flap { position: absolute; z-index: 3; inset: 0 0 auto; height: 72%; background: #623349; clip-path: polygon(0 0,100% 0,50% 100%); transform-origin: top; transform: perspective(800px) rotateX(0deg); transition: transform 1s cubic-bezier(.16,1,.3,1); }
.fallback-pocket { position: absolute; z-index: 5; inset: 0; background: #3c1d2b; clip-path: polygon(0 0,50% 58%,100% 0,100% 100%,0 100%); }
.fallback-seal { position: absolute; z-index: 6; left: 50%; top: 55%; width: 56px; height: 56px; background: #7a3e52; border: 2px solid #b48a65; border-radius: 50%; box-shadow: inset 0 0 0 5px #643044; transform: translate(-50%,-50%); transition: opacity .3s ease, transform .3s ease; }
.is-css-open:not(.three-ready) .fallback-flap { transform: perspective(800px) rotateX(168deg); }
.is-css-open:not(.three-ready) .fallback-card { transform: translateY(-45%); }
.is-css-open:not(.three-ready) .fallback-seal { opacity: 0; transform: translate(-50%,-50%) scale(1.25); }

@media (max-width: 900px) {
  .hero-art-mode.hero-portal-v3 { min-height: max(780px, calc(100dvh - 66px)); }
  .hero-ritual-copy { left: 18px; bottom: 10%; width: min(230px, 35vw); }
  .ritual-complete { right: 18px; bottom: 10%; width: min(230px, 35vw); }
  .hero-ritual-control { bottom: 3.5%; }
  .ritual-trigger { min-width: 170px; min-height: 56px; }
  .ritual-trigger-icon { width: 42px; height: 42px; }
}

@media (max-width: 560px) {
  .hero-art-mode.hero-portal-v3 { min-height: 760px; }
  .hero-art-mode .portal-title { top: 9%; }
  .hero-art-mode .portal-title-line + .portal-title-line { margin-top: 46vh; }
  .hero-ritual-copy { display: none; }
  .hero-ritual-control { bottom: 4.5%; }
  .ritual-complete { left: 18px; right: 18px; bottom: 14%; width: auto; text-align: center; }
  .ritual-complete p { font-size: 15px; }
  .ritual-fallback-envelope { width: 88vw; height: 230px; }
  .fallback-card span { font-size: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-art-mode .hero-three-canvas { display: block; }
  .hero-art-mode .portal-title, .hero-ritual-copy, .ritual-complete { transition: none; }
}

/* Hero V7 — static editorial art direction */
.editorial-hero {
  --hero-paper: #eae1d5;
  --hero-paper-light: #f2eadf;
  --hero-ink: #2d1821;
  --hero-plum: #351923;
  --hero-wine: #58293b;
  --hero-gold: #a9855e;
  position: relative;
  min-height: max(790px, calc(100dvh - 76px));
  overflow: hidden;
  color: var(--hero-ink);
  background:
    linear-gradient(90deg, rgba(95,60,54,.035) 1px, transparent 1px) 0 0 / 28px 28px,
    linear-gradient(rgba(95,60,54,.028) 1px, transparent 1px) 0 0 / 28px 28px,
    var(--hero-paper);
  isolation: isolate;
}
.editorial-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 75% 45%, rgba(255,255,255,.38), transparent 35%),
    linear-gradient(118deg, transparent 0 61%, rgba(86,41,59,.045) 61.1% 61.3%, transparent 61.4%);
}
.editorial-grain {
  position: absolute;
  z-index: 20;
  inset: 0;
  opacity: .15;
  pointer-events: none;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");
}
.editorial-kicker,
.editorial-footer {
  position: absolute;
  z-index: 10;
  left: 3.4vw;
  right: 3.4vw;
  display: flex;
  justify-content: space-between;
  color: rgba(45,24,33,.65);
  font: 500 8px/1 var(--utility);
  letter-spacing: .17em;
  text-transform: uppercase;
}
.editorial-kicker { top: 28px; }
.editorial-footer { bottom: 24px; }
.editorial-heading {
  position: absolute;
  z-index: 8;
  left: 6.2vw;
  top: 50%;
  width: min(42vw, 620px);
  transform: translateY(-51%);
}
.editorial-heading > p {
  margin: 0 0 25px 4px;
  color: var(--hero-wine);
  font: 500 9px/1 var(--utility);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.editorial-heading h1 {
  margin: 0;
  color: var(--hero-plum);
  font: 500 clamp(78px, 8.8vw, 144px)/.75 var(--display);
  letter-spacing: -.075em;
}
.editorial-heading h1 span,
.editorial-heading h1 em { display: block; white-space: nowrap; }
.editorial-heading h1 em {
  margin: .17em 0 0 .39em;
  color: var(--hero-wine);
  font-weight: 500;
}
.editorial-heading-foot {
  width: min(390px, 88%);
  margin: 49px 0 0 5px;
  padding-top: 17px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  border-top: 1px solid rgba(45,24,33,.22);
}
.editorial-heading-foot > span { color: rgba(45,24,33,.68); font-size: 11px; line-height: 1.7; }
.editorial-heading-foot a {
  flex: none;
  color: var(--hero-ink);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  border-bottom: 1px solid rgba(45,24,33,.5);
}
.editorial-heading-foot a b { margin-left: 7px; font-weight: 400; }
.editorial-stage {
  position: absolute;
  z-index: 5;
  top: 50%;
  right: 3.4vw;
  width: min(55vw, 810px);
  height: min(70vh, 660px);
  min-height: 560px;
  transform: translateY(-50%);
}
.editorial-frame {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  transition: opacity .18s ease;
}
.editorial-frame-open { opacity: 0; visibility: hidden; }
.is-open-frame .editorial-frame-closed { opacity: 0; visibility: hidden; }
.is-open-frame .editorial-frame-open { opacity: 1; visibility: visible; }
.closed-shadow {
  position: absolute;
  left: 50%;
  top: 54%;
  width: 65%;
  height: 22%;
  background: rgba(50,20,31,.19);
  filter: blur(42px);
  transform: translate(-50%,-50%) rotate(-4deg);
}
.closed-letter {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 48%;
  width: min(390px, 51%);
  aspect-ratio: .76;
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  color: var(--hero-plum);
  text-align: center;
  background:
    repeating-linear-gradient(0deg, rgba(69,37,48,.018) 0 1px, transparent 1px 4px),
    #eee5d8;
  border: 1px solid rgba(66,34,46,.14);
  box-shadow: 0 37px 80px rgba(55,25,36,.18);
  transform: translate(-50%,-52%) rotate(-2.6deg);
}
.closed-letter::before,
.closed-letter::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.closed-letter::before { inset: 14px; border: 1px solid rgba(79,44,54,.16); }
.closed-letter::after {
  inset: -1px;
  background: var(--hero-paper);
  clip-path: polygon(0 0, 5px 1%, 1px 4%, 4px 7%, 0 10%, 3px 14%, 0 18%, 4px 22%, 0 27%, 3px 33%, 0 38%, 4px 43%, 0 48%, 3px 54%, 0 59%, 4px 65%, 0 70%, 3px 76%, 0 83%, 4px 89%, 0 95%, 7px 100%, 0 100%);
}
.closed-letter .letter-index { align-self: stretch; text-align: left; font: 500 7px var(--utility); letter-spacing: .16em; }
.closed-letter > img { width: 56px; opacity: .32; filter: sepia(.3) saturate(.7); }
.closed-letter div { display: flex; flex-direction: column; gap: 8px; }
.closed-letter small,
.closed-letter div > span { font: 500 7px var(--utility); letter-spacing: .18em; text-transform: uppercase; }
.closed-letter strong { font: 500 39px/.9 var(--display); letter-spacing: -.045em; }
.closed-letter strong i { color: var(--hero-gold); font-weight: 500; }
.closed-envelope {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 57%;
  width: min(530px, 70%);
  aspect-ratio: 1.74;
  overflow: hidden;
  background: var(--hero-plum);
  border: 1px solid rgba(255,240,224,.08);
  box-shadow: 0 30px 70px rgba(45,17,28,.24);
  transform: translate(-50%,-50%) rotate(2.3deg);
}
.closed-envelope::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  opacity: .13;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
.closed-envelope-flap {
  position: absolute;
  z-index: 1;
  inset: 0 0 auto;
  height: 73%;
  background: #4a2130;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  box-shadow: 0 1px 0 rgba(255,255,255,.05);
}
.closed-envelope-fold { position: absolute; z-index: 2; inset-block: 0; width: 61%; background: #311720; }
.closed-envelope-fold.fold-left { left: 0; clip-path: polygon(0 0,100% 58%,0 100%); }
.closed-envelope-fold.fold-right { right: 0; clip-path: polygon(100% 0,0 58%,100% 100%); background: #3c1a27; }
.closed-envelope-mark {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 57%;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  background: #4a2130;
  border: 1px solid rgba(202,166,124,.55);
  border-radius: 50%;
  box-shadow: inset 0 0 0 6px #3c1b27, inset 0 0 0 7px rgba(202,166,124,.28), 0 8px 18px rgba(14,4,8,.24);
  transform: translate(-50%,-50%);
}
.closed-envelope-mark img { width: 32px; opacity: .7; filter: sepia(1) saturate(.45) brightness(1.7); }
.frame-caption {
  position: absolute;
  left: 8%;
  bottom: 2%;
  margin: 0;
  color: rgba(45,24,33,.62);
  font: 500 8px var(--utility);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.frame-caption span { margin-right: 12px; color: var(--hero-gold); }
.open-envelope-bed {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 58%;
  width: 78%;
  aspect-ratio: 2.05;
  overflow: hidden;
  background: var(--hero-plum);
  box-shadow: 0 38px 85px rgba(52,20,33,.22);
  transform: translate(-50%,-50%) rotate(2.4deg);
}
.open-envelope-bed::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #49202f;
  clip-path: polygon(0 0,50% 67%,100% 0,100% 100%,0 100%);
}
.open-envelope-bed span {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 78%;
  background: #5a293d;
  clip-path: polygon(0 0,100% 0,50% 100%);
  transform: translateY(-99%) rotate(180deg);
  transform-origin: bottom;
}
.open-invitation-card {
  position: relative;
  z-index: 2;
  width: min(740px, 94%);
  aspect-ratio: 1.62;
  display: grid;
  grid-template-columns: 47% 53%;
  color: var(--hero-plum);
  background: #eee5d8;
  border: 1px solid rgba(66,34,46,.14);
  box-shadow: 0 42px 95px rgba(48,20,30,.24);
  transform: rotate(-1.1deg);
}
.open-invitation-card::before {
  content: "";
  position: absolute;
  z-index: 4;
  top: 0;
  bottom: 0;
  left: 47%;
  width: 1px;
  background: linear-gradient(transparent, rgba(59,28,39,.18) 12% 88%, transparent);
  box-shadow: -4px 0 10px rgba(45,25,31,.04), 4px 0 10px rgba(255,255,255,.2);
}
.open-photo {
  position: relative;
  overflow: hidden;
  background: url("assets/aniyla-editorial-hero.webp") center 43% / cover no-repeat;
  filter: saturate(.68) sepia(.08) contrast(.95);
}
.open-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(47,22,31,.05), rgba(47,22,31,.2));
  mix-blend-mode: multiply;
}
.open-card-copy {
  position: relative;
  padding: clamp(30px,3vw,50px) clamp(27px,3.2vw,50px) 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background:
    repeating-linear-gradient(0deg, rgba(69,37,48,.015) 0 1px, transparent 1px 4px),
    #eee5d8;
}
.open-card-copy::before { content: ""; position: absolute; inset: 13px; border: 1px solid rgba(71,37,48,.14); pointer-events: none; }
.open-card-copy > img { width: 35px; margin-bottom: auto; opacity: .32; }
.open-card-copy > p { margin: 22px 0 15px; color: rgba(53,28,37,.65); font: 500 clamp(8px,.72vw,10px)/1.7 var(--utility); letter-spacing: .07em; text-transform: uppercase; }
.open-card-copy h2 { margin: 0; font: 500 clamp(34px,3.5vw,55px)/.92 var(--display); letter-spacing: -.045em; }
.open-card-copy h2 i { color: var(--hero-gold); font-weight: 500; }
.open-card-details {
  width: 100%;
  margin: 25px 0 0;
  padding: 13px 0;
  display: grid;
  grid-template-columns: 1fr .7fr 1.2fr;
  border-block: 1px solid rgba(67,34,45,.17);
}
.open-card-details span { font: 500 8px var(--utility); letter-spacing: .08em; text-transform: uppercase; }
.open-card-details span + span { border-left: 1px solid rgba(67,34,45,.17); }
.open-card-details small { display: block; margin-bottom: 5px; color: rgba(53,28,37,.5); font-size: 6px; letter-spacing: .16em; }
.open-card-copy footer {
  width: 100%;
  margin-top: auto;
  padding-top: 17px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font: 500 6px var(--utility);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.open-card-copy footer b { color: var(--hero-gold); font: 500 12px var(--display); }
.editorial-controls {
  position: absolute;
  z-index: 12;
  right: 5.2vw;
  bottom: 8%;
  display: flex;
  align-items: center;
  gap: 17px;
}
.editorial-controls button {
  min-width: 142px;
  padding: 13px 17px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #f0e7dd;
  background: var(--hero-plum);
  border: 1px solid var(--hero-plum);
  border-radius: 0;
  font: 600 9px var(--body);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.editorial-controls button:hover { background: var(--hero-wine); }
.editorial-controls button:focus-visible { outline: 2px solid var(--hero-wine); outline-offset: 4px; }
.editorial-controls button i { color: var(--hero-gold); font-style: normal; font-size: 16px; }
.editorial-controls p { margin: 0; color: rgba(45,24,33,.55); font: 500 7px var(--utility); letter-spacing: .16em; text-transform: uppercase; }
.editorial-side-note {
  position: absolute;
  z-index: 10;
  right: 25px;
  top: 50%;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(45,24,33,.48);
  font: 500 7px var(--utility);
  letter-spacing: .16em;
  writing-mode: vertical-rl;
  transform: translateY(-50%);
}
.editorial-side-note i { width: 1px; height: 42px; background: rgba(45,24,33,.25); }

@media (max-width: 1080px) {
  .editorial-heading { left: 4.5vw; width: 43vw; }
  .editorial-heading h1 { font-size: clamp(72px, 8.6vw, 104px); }
  .editorial-stage { right: 1.5vw; width: 57vw; }
  .editorial-side-note { display: none; }
  .editorial-controls { right: 3vw; }
}

@media (max-width: 760px) {
  .editorial-hero { min-height: 870px; }
  .editorial-kicker { top: 19px; }
  .editorial-kicker span:last-child { display: none; }
  .editorial-heading {
    left: 20px;
    right: 20px;
    top: 74px;
    width: auto;
    transform: none;
  }
  .editorial-heading > p { margin-bottom: 15px; }
  .editorial-heading h1 { font-size: clamp(58px, 18vw, 88px); line-height: .78; }
  .editorial-heading h1 em { margin-left: .21em; }
  .editorial-heading-foot { margin-top: 27px; width: min(370px, 90%); }
  .editorial-heading-foot a { display: none; }
  .editorial-stage {
    top: 63%;
    right: 0;
    width: 100%;
    height: 430px;
    min-height: 0;
  }
  .closed-letter { width: 235px; padding: 22px; }
  .closed-letter strong { font-size: 28px; }
  .closed-envelope { width: min(360px, 84vw); }
  .closed-envelope-mark { width: 58px; height: 58px; }
  .closed-envelope-mark img { width: 24px; }
  .open-invitation-card { width: min(560px, 92vw); }
  .open-card-copy { padding: 25px 23px 18px; }
  .open-card-copy > p { margin: 12px 0 10px; }
  .open-card-details { margin-top: 16px; padding: 9px 0; }
  .open-card-copy footer { padding-top: 10px; }
  .open-envelope-bed { width: 90%; }
  .editorial-controls { right: 20px; bottom: 48px; }
  .editorial-footer { left: 20px; right: 20px; bottom: 18px; }
}

@media (max-width: 480px) {
  .editorial-hero { min-height: 820px; }
  .editorial-heading h1 { font-size: 16vw; }
  .editorial-heading-foot > span { font-size: 10px; }
  .editorial-stage { top: 62%; height: 380px; }
  .closed-letter { width: 205px; }
  .closed-envelope { width: 86vw; }
  .frame-caption { left: 7%; bottom: 0; }
  .open-invitation-card { width: 94vw; aspect-ratio: 1.35; grid-template-columns: 43% 57%; }
  .open-invitation-card::before { left: 43%; }
  .open-card-copy { padding: 20px 17px 15px; }
  .open-card-copy > img { width: 26px; }
  .open-card-copy > p { display: none; }
  .open-card-copy h2 { margin: auto 0 12px; font-size: 30px; }
  .open-card-details { grid-template-columns: 1fr 1fr; }
  .open-card-details span:last-child { display: none; }
  .open-card-copy footer span { display: none; }
  .open-card-copy footer { justify-content: center; }
  .editorial-controls { left: 20px; right: auto; }
  .editorial-controls p { display: none; }
  .editorial-footer span:last-child { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-frame { transition: none; }
}

/* Hero V8 — one continuous ceremonial object */
.atelier-hero {
  --night: #180c12;
  --night-soft: #251019;
  --wine: #542638;
  --paper: #eee4d7;
  --paper-deep: #d8c9ba;
  --ink-dark: #311620;
  --old-gold: #ad865c;
  position: relative;
  min-height: max(800px, calc(100dvh - 76px));
  overflow: hidden;
  color: var(--paper);
  background:
    radial-gradient(circle at 78% 44%, rgba(115,59,77,.25), transparent 27%),
    linear-gradient(115deg, #13090e 0%, #1c0c13 48%, #2a101a 100%);
  isolation: isolate;
}
.atelier-hero::before {
  content: "ANIYLA";
  position: absolute;
  z-index: -1;
  left: 3vw;
  bottom: -12vh;
  color: rgba(238,228,215,.026);
  font: 500 min(31vw, 470px)/1 var(--display);
  letter-spacing: -.09em;
  pointer-events: none;
}
.atelier-noise {
  position: absolute;
  z-index: 30;
  inset: 0;
  opacity: .14;
  pointer-events: none;
  mix-blend-mode: screen;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");
}
.atelier-aura {
  position: absolute;
  z-index: -1;
  top: -18%;
  right: 4%;
  width: min(68vw, 940px);
  aspect-ratio: 1;
  border: 1px solid rgba(205,166,119,.12);
  border-radius: 50%;
  box-shadow: inset 0 0 160px rgba(155,84,105,.08), 0 0 130px rgba(155,84,105,.07);
}
.atelier-aura::before,
.atelier-aura::after { content: ""; position: absolute; border: 1px solid rgba(205,166,119,.08); border-radius: 50%; }
.atelier-aura::before { inset: 9%; }
.atelier-aura::after { inset: 21%; }
.atelier-meta,
.atelier-footer {
  position: absolute;
  z-index: 15;
  left: 3.2vw;
  right: 3.2vw;
  display: flex;
  justify-content: space-between;
  color: rgba(238,228,215,.48);
  font: 400 7px/1 var(--utility);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.atelier-meta { top: 27px; }
.atelier-footer { bottom: 23px; }
.atelier-heading {
  position: absolute;
  z-index: 9;
  left: 6.3vw;
  top: 50%;
  width: min(43vw, 630px);
  transform: translateY(-51%);
}
.atelier-heading > p {
  margin: 0 0 26px 3px;
  color: #c7a27c;
  font: 500 8px/1 var(--utility);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.atelier-heading h1 {
  margin: 0;
  color: var(--paper);
  font: 500 clamp(78px, 8.6vw, 142px)/.76 var(--display);
  letter-spacing: -.075em;
}
.atelier-heading h1 span,
.atelier-heading h1 em { display: block; white-space: nowrap; }
.atelier-heading h1 em { margin: .17em 0 0 .34em; color: #b77d90; font-weight: 500; }
.atelier-intro {
  width: min(410px, 90%);
  margin: 52px 0 0 4px;
  padding-top: 17px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  border-top: 1px solid rgba(238,228,215,.18);
}
.atelier-intro > span { color: rgba(238,228,215,.58); font-size: 11px; line-height: 1.7; }
.atelier-intro a { flex: none; color: var(--paper); font-size: 9px; font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(238,228,215,.4); }
.atelier-intro a b { margin-left: 7px; color: var(--old-gold); }
.ritual-stage {
  position: absolute;
  z-index: 8;
  right: 1.8vw;
  top: 50%;
  width: min(58vw, 850px);
  height: min(72vh, 680px);
  min-height: 570px;
  perspective: 1800px;
  transform: translateY(-50%);
}
.ritual-halo {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 68%;
  height: 50%;
  background: rgba(155,81,103,.2);
  border-radius: 50%;
  filter: blur(80px);
  transform: translate(-50%,-50%);
  transition: opacity .8s ease, transform 1.2s cubic-bezier(.16,1,.3,1);
}
.ritual-object {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%,-50%) rotateX(4deg) rotateZ(-1.7deg);
  transform-style: preserve-3d;
  transition: transform 1.35s cubic-bezier(.16,1,.3,1);
}
.ritual-envelope-back,
.ritual-envelope-front {
  position: absolute;
  left: 50%;
  top: 55%;
  width: min(610px, 73%);
  aspect-ratio: 1.72;
  transform: translate(-50%,-50%);
  transform-style: preserve-3d;
}
.ritual-envelope-back {
  z-index: 1;
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.018) 0 1px, transparent 1px 4px),
    #4a2030;
  border: 1px solid rgba(238,228,215,.09);
  box-shadow: 0 48px 100px rgba(0,0,0,.45);
  transition: transform 1.2s cubic-bezier(.16,1,.3,1), opacity .5s ease;
}
.ritual-envelope-lining {
  position: absolute;
  inset: 1px;
  background: #6b3046;
  clip-path: polygon(0 0,100% 0,50% 68%);
}
.ritual-envelope-lining::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .3;
  background: repeating-radial-gradient(circle at 50% 100%, transparent 0 8px, rgba(221,181,137,.14) 9px 10px);
}
.ritual-envelope-flap {
  position: absolute;
  z-index: 4;
  inset: 0 0 auto;
  height: 72%;
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.018) 0 1px, transparent 1px 4px),
    #58263a;
  clip-path: polygon(0 0,100% 0,50% 100%);
  transform-origin: 50% 0;
  transform: rotateX(0deg);
  backface-visibility: visible;
  transition: transform .85s .2s cubic-bezier(.65,0,.35,1);
}
.ritual-letter {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 47%;
  width: min(760px, 90%);
  aspect-ratio: 1.62;
  display: grid;
  grid-template-columns: 47% 53%;
  color: var(--ink-dark);
  background: var(--paper);
  border: 1px solid rgba(72,35,47,.18);
  box-shadow: 0 36px 80px rgba(0,0,0,.34);
  transform: translate(-50%,-50%) translateY(105px) scale(.56);
  transform-origin: center;
  transform-style: preserve-3d;
  transition: transform 1.15s .05s cubic-bezier(.65,0,.35,1), box-shadow .9s ease;
}
.ritual-letter::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: 0;
  bottom: 0;
  left: 47%;
  width: 1px;
  background: linear-gradient(transparent, rgba(65,31,42,.2) 12% 88%, transparent);
  box-shadow: -5px 0 14px rgba(48,23,31,.07), 4px 0 12px rgba(255,255,255,.26);
}
.ritual-photo {
  position: relative;
  overflow: hidden;
  background: linear-gradient(rgba(25,10,16,.08),rgba(25,10,16,.25)), url("assets/aniyla-editorial-hero.webp") center 43% / cover no-repeat;
  transform-origin: right center;
  transform: rotateY(178deg);
  backface-visibility: hidden;
  transition: transform 1.1s .18s cubic-bezier(.65,0,.35,1);
}
.ritual-photo span {
  position: absolute;
  left: 22px;
  bottom: 20px;
  color: rgba(255,247,237,.75);
  font: 400 7px var(--utility);
  letter-spacing: .17em;
}
.ritual-copy {
  position: relative;
  padding: clamp(28px,3vw,48px) clamp(28px,3.2vw,50px) 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background:
    repeating-linear-gradient(0deg, rgba(69,37,48,.017) 0 1px, transparent 1px 4px),
    var(--paper);
}
.ritual-copy::before { content: ""; position: absolute; inset: 13px; border: 1px solid rgba(67,32,44,.15); }
.ritual-copy > img { width: 34px; margin-bottom: auto; opacity: .3; }
.ritual-copy > p { margin: 19px 0 14px; color: rgba(49,22,32,.58); font: 500 clamp(7px,.65vw,9px)/1.7 var(--utility); letter-spacing: .09em; text-transform: uppercase; }
.ritual-copy h2 { margin: 0; font: 500 clamp(35px,3.7vw,57px)/.9 var(--display); letter-spacing: -.05em; }
.ritual-copy h2 i { color: var(--old-gold); font-weight: 500; }
.ritual-copy > div { width: 100%; margin-top: 25px; padding: 12px 0; display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid rgba(67,32,44,.16); }
.ritual-copy > div span { font: 500 7px var(--utility); letter-spacing: .08em; text-transform: uppercase; }
.ritual-copy > div span + span { border-left: 1px solid rgba(67,32,44,.16); }
.ritual-copy small { display: block; margin-bottom: 5px; color: rgba(49,22,32,.44); font-size: 6px; letter-spacing: .15em; }
.ritual-copy footer { width: 100%; margin-top: auto; display: flex; justify-content: space-between; align-items: center; font: 500 6px var(--utility); letter-spacing: .14em; text-transform: uppercase; }
.ritual-copy footer b { color: var(--old-gold); font: 500 12px var(--display); }
.ritual-envelope-front {
  z-index: 5;
  overflow: hidden;
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.015) 0 1px, transparent 1px 4px),
    #3b1925;
  border: 1px solid rgba(238,228,215,.07);
  box-shadow: 0 30px 80px rgba(0,0,0,.32);
  transition: transform 1.2s cubic-bezier(.16,1,.3,1), opacity .5s ease;
}
.ritual-fold { position: absolute; z-index: 2; inset-block: 0; width: 62%; }
.ritual-fold-left { left: 0; background: #31141e; clip-path: polygon(0 0,100% 58%,0 100%); }
.ritual-fold-right { right: 0; background: #461d2b; clip-path: polygon(100% 0,0 58%,100% 100%); }
.ritual-pocket { position: absolute; z-index: 3; inset: 0; background: #3a1723; clip-path: polygon(0 100%,50% 53%,100% 100%); }
.ritual-seal {
  position: absolute;
  z-index: 7;
  left: 50%;
  top: 56%;
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  background: #5a273a;
  border: 1px solid rgba(208,163,109,.62);
  border-radius: 50%;
  box-shadow: inset 0 0 0 6px #431c2a, inset 0 0 0 7px rgba(208,163,109,.25), 0 10px 23px rgba(0,0,0,.34);
  transform: translate(-50%,-50%) rotate(-3deg);
  transition: opacity .22s ease, transform .5s cubic-bezier(.16,1,.3,1);
}
.ritual-seal img { width: 31px; opacity: .72; filter: sepia(1) saturate(.35) brightness(1.8); }
.ritual-state {
  position: absolute;
  left: 11%;
  bottom: 0;
  color: rgba(238,228,215,.43);
  font: 400 7px var(--utility);
  letter-spacing: .17em;
  text-transform: uppercase;
}
.atelier-open {
  position: absolute;
  z-index: 18;
  right: 6vw;
  bottom: 7.5%;
  width: 190px;
  min-height: 60px;
  padding: 8px 8px 8px 16px;
  display: grid;
  grid-template-columns: 24px 1fr 44px;
  align-items: center;
  gap: 8px;
  color: var(--paper);
  background: rgba(17,7,11,.72);
  border: 1px solid rgba(238,228,215,.23);
  border-radius: 0;
  backdrop-filter: blur(12px);
  cursor: pointer;
}
.atelier-open-index { color: var(--old-gold); font: 500 7px var(--utility); }
.atelier-open [data-styleframe-action] { font-size: 9px; font-weight: 700; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.atelier-open i { width: 44px; height: 44px; display: grid; place-items: center; color: var(--ink-dark); background: var(--paper); font-style: normal; }
.atelier-open svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.atelier-open:hover i svg { transform: translateX(3px); }
.atelier-open:focus-visible { outline: 2px solid #d7ad80; outline-offset: 5px; }
.atelier-rail {
  position: absolute;
  z-index: 15;
  right: 24px;
  top: 50%;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(238,228,215,.32);
  font: 400 6px var(--utility);
  letter-spacing: .17em;
  writing-mode: vertical-rl;
  transform: translateY(-50%);
}
.atelier-rail i { width: 1px; height: 44px; background: rgba(238,228,215,.18); }

.atelier-hero.is-open-frame .ritual-object { transform: translate(-50%,-50%) rotateX(0deg) rotateZ(.35deg); }
.atelier-hero.is-open-frame .ritual-envelope-flap { transform: rotateX(178deg); transition-delay: 0s; }
.atelier-hero.is-open-frame .ritual-letter {
  z-index: 7;
  transform: translate(-50%,-50%) translateY(-42px) scale(.94);
  box-shadow: 0 55px 120px rgba(0,0,0,.48);
  transition-delay: .48s;
}
.atelier-hero.is-open-frame .ritual-photo { transform: rotateY(0deg); transition-delay: 1.05s; }
.atelier-hero.is-open-frame .ritual-envelope-back,
.atelier-hero.is-open-frame .ritual-envelope-front { transform: translate(-50%,-50%) translateY(165px) scale(.8); opacity: .82; transition-delay: .32s; }
.atelier-hero.is-open-frame .ritual-seal { opacity: 0; transform: translate(-50%,-50%) rotate(14deg) scale(1.35); }
.atelier-hero.is-open-frame .ritual-halo { opacity: .58; transform: translate(-50%,-50%) scale(1.18); }
.atelier-hero.is-open-frame .atelier-open svg { transform: rotate(180deg); }

body[data-current-route="home"] .site-header {
  color: #eee4d7;
  background: rgba(20,9,14,.96);
  border-bottom-color: rgba(238,228,215,.09);
  backdrop-filter: blur(20px);
}
body[data-current-route="home"] .site-header .brand-symbol { filter: brightness(0) invert(1); opacity: .88; }
body[data-current-route="home"] .site-header .brand-word { color: #eee4d7; }
body[data-current-route="home"] .site-header .brand-word em { color: #c08a9c; }
body[data-current-route="home"] .site-header .main-nav a.is-active { border-color: #ad865c; }
body[data-current-route="home"] .site-header .header-cta { color: #2b111b; background: #eee4d7; }

@media (max-width: 1080px) {
  .atelier-heading { left: 4vw; width: 43vw; }
  .atelier-heading h1 { font-size: clamp(70px,8.4vw,104px); }
  .ritual-stage { right: 0; width: 59vw; }
  .atelier-open { right: 4vw; }
  .atelier-rail { display: none; }
}

@media (max-width: 760px) {
  .atelier-hero { min-height: 880px; }
  .atelier-meta { top: 20px; left: 20px; right: 20px; }
  .atelier-meta span:last-child { display: none; }
  .atelier-heading { left: 20px; right: 20px; top: 72px; width: auto; transform: none; }
  .atelier-heading > p { margin-bottom: 15px; }
  .atelier-heading h1 { font-size: clamp(57px,18vw,88px); }
  .atelier-heading h1 em { margin-left: .2em; }
  .atelier-intro { margin-top: 27px; width: min(370px,92%); }
  .atelier-intro a { display: none; }
  .ritual-stage { top: 62%; right: 0; width: 100%; height: 440px; min-height: 0; }
  .ritual-envelope-back,
  .ritual-envelope-front { width: min(390px,88%); }
  .ritual-letter { width: min(560px,94%); }
  .ritual-copy { padding: 25px 23px 19px; }
  .ritual-copy > p { margin: 12px 0 10px; }
  .ritual-copy > div { margin-top: 15px; padding: 9px 0; }
  .ritual-copy footer { margin-top: 8px; }
  .ritual-seal { width: 60px; height: 60px; }
  .atelier-open { right: 20px; bottom: 47px; width: 172px; min-height: 54px; }
  .atelier-open i { width: 38px; height: 38px; }
  .atelier-footer { left: 20px; right: 20px; bottom: 19px; }
  .atelier-hero.is-open-frame .ritual-letter { transform: translate(-50%,-50%) translateY(-20px) scale(.9); }
  .atelier-hero.is-open-frame .ritual-envelope-back,
  .atelier-hero.is-open-frame .ritual-envelope-front { transform: translate(-50%,-50%) translateY(120px) scale(.76); }
}

@media (max-width: 480px) {
  .atelier-hero { min-height: 830px; }
  .atelier-heading h1 { font-size: 16vw; }
  .atelier-intro > span { font-size: 10px; }
  .ritual-stage { top: 61%; height: 385px; }
  .ritual-letter { width: 94vw; aspect-ratio: 1.4; grid-template-columns: 43% 57%; }
  .ritual-letter::after { left: 43%; }
  .ritual-copy { padding: 20px 17px 15px; }
  .ritual-copy > img { width: 26px; }
  .ritual-copy > p { display: none; }
  .ritual-copy h2 { margin: auto 0 10px; font-size: 29px; }
  .ritual-copy footer { justify-content: center; }
  .ritual-copy footer b { display: none; }
  .ritual-envelope-back,
  .ritual-envelope-front { width: 90vw; }
  .ritual-state { left: 6%; bottom: -2px; }
  .atelier-footer span:last-child { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .ritual-object,
  .ritual-envelope-flap,
  .ritual-letter,
  .ritual-photo,
  .ritual-envelope-back,
  .ritual-envelope-front,
  .ritual-seal,
  .ritual-halo { transition: none !important; }
}

/* Anıyla brand alignment — warmth around the ceremonial object */
.atelier-hero {
  color: #351923;
  background:
    radial-gradient(circle at 76% 43%, rgba(255,255,255,.78), transparent 27%),
    radial-gradient(circle at 88% 18%, rgba(201,180,178,.28), transparent 31%),
    linear-gradient(118deg, #eee6dc 0%, #e7dbd0 58%, #d8c4c1 100%);
}
.atelier-hero::before { color: rgba(83,39,56,.035); }
.atelier-noise { opacity: .1; mix-blend-mode: multiply; }
.atelier-aura {
  border-color: rgba(116,73,77,.16);
  box-shadow: inset 0 0 160px rgba(139,78,97,.06), 0 0 130px rgba(139,78,97,.05);
}
.atelier-aura::before,
.atelier-aura::after { border-color: rgba(116,73,77,.1); }
.atelier-meta,
.atelier-footer { color: rgba(53,25,35,.54); }
.atelier-heading > p { color: #7c4057; }
.atelier-heading h1 { color: #351923; }
.atelier-heading h1 em { color: #8d5068; }
.atelier-intro { border-top-color: rgba(53,25,35,.22); }
.atelier-intro > span { color: rgba(53,25,35,.64); }
.atelier-intro a { color: #351923; border-bottom-color: rgba(53,25,35,.42); }
.ritual-halo { background: rgba(139,80,103,.14); }
.ritual-envelope-back {
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.022) 0 1px, transparent 1px 4px),
    #623247;
  border-color: rgba(73,34,48,.16);
  box-shadow: 0 45px 90px rgba(72,35,48,.24);
}
.ritual-envelope-lining { background: #8a5267; }
.ritual-envelope-flap {
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.022) 0 1px, transparent 1px 4px),
    #713c52;
}
.ritual-envelope-front {
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.018) 0 1px, transparent 1px 4px),
    #51283a;
  border-color: rgba(65,29,43,.16);
  box-shadow: 0 30px 72px rgba(72,35,48,.22);
}
.ritual-fold-left { background: #472132; }
.ritual-fold-right { background: #673248; }
.ritual-pocket { background: #54283b; }
.ritual-seal { background: #7a4055; box-shadow: inset 0 0 0 6px #622f43, inset 0 0 0 7px rgba(208,163,109,.3), 0 10px 23px rgba(61,25,39,.3); }
.ritual-letter { box-shadow: 0 36px 78px rgba(72,35,48,.2); }
.atelier-hero.is-open-frame .ritual-letter { box-shadow: 0 52px 105px rgba(72,35,48,.27); }
.ritual-state { color: rgba(53,25,35,.5); }
.atelier-open {
  color: #f2e9df;
  background: rgba(53,25,35,.94);
  border-color: #351923;
  backdrop-filter: none;
}
.atelier-open i { color: #f2e9df; background: #8d5068; }
.atelier-open:focus-visible { outline-color: #713c52; }
.atelier-rail { color: rgba(53,25,35,.42); }
.atelier-rail i { background: rgba(53,25,35,.22); }

body[data-current-route="home"] .site-header {
  color: var(--ink);
  background: rgba(251,249,245,.92);
  border-bottom-color: rgba(44,35,40,.08);
}
body[data-current-route="home"] .site-header .brand-symbol { filter: none; opacity: 1; }
body[data-current-route="home"] .site-header .brand-word { color: var(--ink); }
body[data-current-route="home"] .site-header .brand-word em { color: #8d5068; }
body[data-current-route="home"] .site-header .main-nav a.is-active { border-color: var(--plum); }
body[data-current-route="home"] .site-header .header-cta { color: #fff; background: var(--plum); }

/* Match the established site surfaces and original Anıyla tones */
.atelier-hero {
  color: var(--ink);
  background:
    linear-gradient(90deg, rgba(75,38,55,.032) 1px, transparent 1px) 0 0 / 28px 28px,
    linear-gradient(rgba(75,38,55,.026) 1px, transparent 1px) 0 0 / 28px 28px,
    var(--paper);
}
.atelier-hero::before { color: rgba(75,38,55,.026); }
.atelier-aura { display: none; }
.atelier-meta,
.atelier-footer { color: rgba(44,35,40,.55); }
.atelier-heading > p { color: #74465a; }
.atelier-heading h1 { color: #3d202c; }
.atelier-heading h1 em { color: #8d5068; }
.atelier-intro { border-top-color: var(--line); }
.atelier-intro > span { color: #6d6267; }
.atelier-intro a { color: var(--ink); border-bottom-color: rgba(44,35,40,.42); }
.atelier-intro a b { color: var(--champagne); }
.ritual-halo { background: rgba(141,80,104,.11); }
.ritual-envelope-back {
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.02) 0 1px, transparent 1px 4px),
    #5b2c40;
  border-color: rgba(75,38,55,.18);
  box-shadow: var(--shadow);
}
.ritual-envelope-lining { background: #8d5068; }
.ritual-envelope-flap {
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.02) 0 1px, transparent 1px 4px),
    #6b354b;
}
.ritual-envelope-front {
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.018) 0 1px, transparent 1px 4px),
    var(--plum);
  border-color: rgba(75,38,55,.18);
  box-shadow: var(--shadow);
}
.ritual-fold-left { background: #3c1d2b; }
.ritual-fold-right { background: #5b2a40; }
.ritual-pocket { background: #452132; }
.ritual-seal { background: #754057; }
.ritual-state,
.atelier-rail { color: rgba(44,35,40,.48); }
.atelier-rail i { background: var(--line); }
.atelier-open { color: #fff; background: var(--plum); border-color: var(--plum); }
.atelier-open i { color: #fff; background: #8d5068; }

/* Hero V9 — the photograph remains one continuous memory object */
.atelier-hero {
  background:
    radial-gradient(circle at 72% 45%, rgba(255,255,255,.68), transparent 26%),
    var(--paper);
}
.atelier-hero::before,
.atelier-rail { display: none; }
.ritual-stage { overflow: visible; }
.ritual-halo {
  width: 56%;
  height: 58%;
  background: rgba(115,62,82,.12);
  filter: blur(65px);
}
.ritual-object {
  --ritual-tilt-x: 0deg;
  --ritual-tilt-y: 0deg;
  transform: translate(-50%,-50%) rotateX(calc(3deg + var(--ritual-tilt-y))) rotateY(var(--ritual-tilt-x)) rotateZ(-1.2deg);
}
.ritual-envelope-back,
.ritual-envelope-front { top: 62%; }
.ritual-envelope-back {
  overflow: hidden;
  background: #6a354a;
}
.ritual-envelope-back::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .12;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
.ritual-envelope-lining { background: #986078; }
.ritual-envelope-flap { background: #6f3a50; }
.ritual-letter {
  width: min(800px,94%);
  grid-template-columns: 53% 47%;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: drop-shadow(0 32px 38px rgba(75,38,55,.18));
  transform: translate(-50%,-50%) translateX(-25%) translateY(-38px) scale(.8);
  transition: transform 1.05s .18s cubic-bezier(.16,1,.3,1), filter .9s ease;
}
.ritual-letter::after { left: 53%; }
.ritual-photo {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  background: #342029;
  border: 1px solid rgba(66,34,46,.18);
  transform: none;
  backface-visibility: visible;
  transition: transform 1.05s cubic-bezier(.16,1,.3,1), filter .7s ease;
}
.ritual-photo::after {
  content: "ELİF  &  MERT";
  position: absolute;
  inset: 0;
  padding: 28px 24px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: rgba(255,247,239,.86);
  background: linear-gradient(180deg, transparent 54%, rgba(29,13,19,.53));
  font: italic 500 clamp(21px,2.2vw,34px) var(--display);
  letter-spacing: -.02em;
  transition: opacity .45s ease;
}
.ritual-photo > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 59%;
  filter: saturate(.76) sepia(.06) contrast(.96);
  transform: scale(1.015);
}
.ritual-photo figcaption {
  position: absolute;
  z-index: 3;
  left: 22px;
  top: 20px;
  color: rgba(255,247,237,.76);
  font: 400 7px var(--utility);
  letter-spacing: .17em;
}
.ritual-photo > span { display: none; }
.ritual-copy {
  grid-column: 1;
  grid-row: 1;
  border: 1px solid rgba(66,34,46,.16);
  transform-origin: right center;
  transform: rotateY(-178deg);
  backface-visibility: hidden;
  transition: transform 1.05s .18s cubic-bezier(.65,0,.35,1);
}
.ritual-envelope-front {
  overflow: hidden;
  background: transparent;
  border-color: rgba(75,38,55,.18);
  box-shadow: 0 28px 65px rgba(75,38,55,.2);
}
.ritual-sleeve-art { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; }
.sleeve-edge { fill: none; stroke: rgba(198,164,116,.38); stroke-width: 1; }
.memory-window-cut { transition: stroke-width .72s cubic-bezier(.65,0,.35,1); }
.ritual-fold,
.ritual-pocket { display: none; }
.ritual-seal { z-index: 6; left: 78%; top: 78%; width: 64px; height: 64px; }
.ritual-seal img { width: 27px; }
.ritual-state { left: 18%; }

.atelier-hero.is-open-frame .ritual-object {
  transform: translate(-50%,-50%) rotateX(var(--ritual-tilt-y)) rotateY(var(--ritual-tilt-x)) rotateZ(.25deg);
}
.atelier-hero.is-open-frame .memory-window-cut { stroke-width: 115; }
.atelier-hero.is-open-frame .ritual-letter {
  z-index: 2;
  transform: translate(-50%,-50%) translateY(-42px) scale(.94);
  filter: drop-shadow(0 45px 52px rgba(75,38,55,.24));
  transition-delay: .4s;
}
.atelier-hero.is-open-frame .ritual-copy { transform: rotateY(0deg); transition-delay: .72s; }
.atelier-hero.is-open-frame .ritual-photo { transform: none; transition-delay: 0s; }
.atelier-hero.is-open-frame .ritual-photo::after { opacity: 0; transition-delay: .58s; }
.atelier-hero.is-open-frame .ritual-envelope-back,
.atelier-hero.is-open-frame .ritual-envelope-front { transform: translate(-50%,-50%) translateY(145px) scale(.78); }

@media (max-width: 760px) {
  .ritual-letter {
    width: min(600px,96%);
    grid-template-columns: 53% 47%;
    transform: translate(-50%,-50%) translateX(-25%) translateY(-28px) scale(.74);
  }
  .ritual-letter::after { left: 53%; }
  .ritual-photo { grid-column: 2; }
  .ritual-copy { grid-column: 1; }
  .ritual-photo::after { font-size: 20px; }
  .ritual-envelope-back,
  .ritual-envelope-front { top: 63%; }
  .atelier-hero.is-open-frame .ritual-letter { transform: translate(-50%,-50%) translateY(-18px) scale(.9); }
}

@media (max-width: 480px) {
  .ritual-stage { height: 420px; }
  .ritual-letter {
    width: 104vw;
    aspect-ratio: 1.42;
    transform: translate(-50%,-50%) translateX(-25%) translateY(-25px) scale(.72);
  }
  .ritual-copy > div { grid-template-columns: 1fr; }
  .ritual-copy > div span + span { display: none; }
  .ritual-photo::after { padding: 18px 12px; font-size: 17px; }
  .ritual-photo figcaption { left: 13px; top: 13px; font-size: 6px; }
  .ritual-seal { width: 54px; height: 54px; }
  .ritual-seal img { width: 23px; }
  .atelier-hero.is-open-frame .ritual-letter { transform: translate(-50%,-50%) translateY(-12px) scale(.86); }
}

@media (prefers-reduced-motion: reduce) {
  .memory-window-cut,
  .ritual-copy,
  .ritual-photo::after { transition: none !important; }
}

/* Anıyla 2026 rebuild — one coherent living-folio system */
:root {
  --v2-night: #211119;
  --v2-ink: #33202a;
  --v2-plum: #4c2637;
  --v2-wine: #6f3b50;
  --v2-rose: #c38391;
  --v2-blush: #d8b4b5;
  --v2-paper: #f0e8dc;
  --v2-paper-light: #f7f2ea;
  --v2-gold: #b49469;
  --v2-sage: #778171;
  --v2-rule: rgba(62, 35, 46, .16);
  --v2-ease: cubic-bezier(.16, 1, .3, 1);
}

.home-v2,
.invitation-v2 { overflow: clip; }
.home-v2 h1,
.home-v2 h2,
.invitation-v2 h1,
.invitation-v2 h2 { font-family: var(--display); font-weight: 500; letter-spacing: -.055em; }
.home-v2 em,
.invitation-v2 em { color: var(--v2-rose); font-weight: 500; }
.v2-button {
  min-height: 50px;
  padding: 13px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: color .25s ease, background .25s ease, transform .25s var(--v2-ease), border-color .25s ease;
}
.v2-button:hover { transform: translateY(-2px); }
.v2-button-primary { color: #fff; background: var(--v2-plum); }
.v2-button-primary:hover { background: var(--v2-night); }
.v2-button-light { color: var(--v2-night); background: var(--v2-paper-light); }
.v2-text-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 13px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

/* Home / hero */
.folio-hero {
  position: relative;
  min-height: max(780px, calc(100dvh - 76px));
  padding: 58px clamp(24px, 4.4vw, 72px) 58px;
  display: grid;
  grid-template-columns: minmax(360px, .88fr) minmax(520px, 1.12fr);
  align-items: center;
  gap: clamp(36px, 5vw, 90px);
  overflow: hidden;
  color: #f4ece4;
  background:
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px) 0 0 / 32px 32px,
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px) 0 0 / 32px 32px,
    var(--v2-night);
  isolation: isolate;
}
.folio-atmosphere {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(circle at 76% 38%, rgba(190,111,133,.24), transparent 27%),
    radial-gradient(circle at 24% 82%, rgba(132,86,104,.16), transparent 28%),
    linear-gradient(118deg, transparent 0 53%, rgba(255,255,255,.025) 53.1% 53.25%, transparent 53.35%);
}
.folio-atmosphere::after,
.ceremony-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .09;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
.folio-meta {
  position: absolute;
  z-index: 4;
  top: 24px;
  left: clamp(24px, 4.4vw, 72px);
  right: clamp(24px, 4.4vw, 72px);
  display: flex;
  justify-content: space-between;
  color: rgba(244,236,228,.54);
  font: 400 8px var(--utility);
  letter-spacing: .16em;
}
.folio-copy { position: relative; z-index: 3; max-width: 640px; padding: 62px 0 88px; }
.folio-eyebrow,
.v2-section-head > p,
.v2-manage-copy > p,
.v2-memory-copy > p,
.invite-v2-message > p,
.invite-v2-program-copy > p,
.invite-v2-venue p,
.invite-v2-rsvp-copy > p {
  margin: 0 0 24px;
  color: var(--v2-gold);
  font: 500 9px var(--utility);
  letter-spacing: .19em;
  text-transform: uppercase;
}
.folio-copy h1 { margin: 0; font-size: clamp(70px, 7.2vw, 120px); line-height: .78; }
.folio-copy h1 em { display: inline-block; margin-left: .17em; }
.folio-lead { max-width: 510px; margin: 38px 0 0; color: rgba(244,236,228,.7); font-size: 15px; line-height: 1.75; }
.folio-actions { margin-top: 31px; display: flex; align-items: center; gap: 25px; }
.folio-hero .v2-button-primary { color: var(--v2-night); background: var(--v2-paper); }
.folio-hero .v2-button-primary:hover { color: #fff; background: var(--v2-wine); }
.folio-trust { margin-top: 42px; display: flex; flex-wrap: wrap; gap: 19px; color: rgba(244,236,228,.48); font: 400 8px var(--utility); letter-spacing: .1em; text-transform: uppercase; }
.folio-trust span { display: inline-flex; align-items: center; gap: 9px; }
.folio-trust span::before { content: ""; width: 4px; height: 4px; background: var(--v2-gold); border-radius: 50%; }
.folio-object { position: relative; z-index: 2; width: min(100%, 760px); justify-self: end; }
.folio-object-label { margin-bottom: 12px; display: flex; justify-content: space-between; color: rgba(244,236,228,.58); font: 400 8px var(--utility); letter-spacing: .14em; }
.folio-stage { position: relative; aspect-ratio: 1.24; perspective: 1800px; }
.folio-open-card,
.folio-closed-card { position: absolute; inset: 0; }
.folio-open-card {
  display: grid;
  grid-template-columns: 47% 53%;
  overflow: hidden;
  color: var(--v2-ink);
  background: var(--v2-paper);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 44px 100px rgba(0,0,0,.34);
  transform: rotate(-1deg) scale(.965);
}
.folio-open-card::after { content: ""; position: absolute; top: 0; bottom: 0; left: 47%; width: 1px; background: rgba(63,34,44,.18); box-shadow: 0 0 14px rgba(61,31,42,.13); }
.folio-open-photo,
.folio-cover-photo,
.v2-card-photo,
.memory-shot,
.ceremony-photo,
.ceremony-veil,
.invite-v2-program-photo {
  background-image: linear-gradient(180deg, rgba(33,17,25,.04), rgba(33,17,25,.24)), url("assets/aniyla-editorial-hero.webp");
  background-size: cover;
  background-position: center 46%;
}
.folio-open-copy { position: relative; padding: clamp(30px, 4vw, 58px); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: repeating-linear-gradient(0deg, rgba(55,29,39,.018) 0 1px, transparent 1px 4px), var(--v2-paper); }
.folio-open-copy::before { content: ""; position: absolute; inset: 15px; border: 1px solid var(--v2-rule); }
.folio-open-copy > * { position: relative; z-index: 1; }
.folio-open-copy img { width: 42px; opacity: .34; }
.folio-open-copy p { margin: auto 0 17px; color: rgba(51,32,42,.62); font: 500 9px/1.7 var(--utility); letter-spacing: .08em; text-transform: uppercase; }
.folio-open-copy h2 { margin: 0; font-size: clamp(34px, 4vw, 57px); line-height: .92; }
.folio-open-copy h2 i { color: var(--v2-gold); font-weight: 500; }
.folio-open-copy dl { width: 100%; margin: 29px 0 auto; display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--v2-rule); }
.folio-open-copy dl div { padding: 12px 6px; }
.folio-open-copy dl div + div { border-left: 1px solid var(--v2-rule); }
.folio-open-copy dt { color: rgba(51,32,42,.5); font: 500 7px var(--utility); letter-spacing: .14em; text-transform: uppercase; }
.folio-open-copy dd { margin: 4px 0 0; font: 600 8px var(--utility); text-transform: uppercase; }
.folio-open-copy small { font: 500 7px var(--utility); letter-spacing: .14em; text-transform: uppercase; }
.folio-closed-card {
  overflow: hidden;
  background: #684252;
  box-shadow: 0 48px 105px rgba(0,0,0,.42);
  transform-origin: 50% 0;
  transition: transform .82s var(--v2-ease), opacity .42s ease, filter .82s ease;
}
.folio-cover-photo { position: absolute; inset: 0; background-position: center 43%; filter: saturate(.72) sepia(.05) brightness(.72); transition: transform .8s var(--v2-ease); }
.folio-closed-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(25,12,18,.22), transparent 36% 68%, rgba(25,12,18,.2)); }
.folio-paper-band { position: absolute; z-index: 2; top: 0; bottom: 0; left: 50%; width: 36%; padding: 31px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--v2-ink); text-align: center; background: rgba(239,231,219,.95); border-inline: 1px solid rgba(255,255,255,.5); transform: translateX(-50%); }
.folio-paper-band::before { content: ""; position: absolute; inset: 12px; border: 1px solid var(--v2-rule); }
.folio-paper-band small,
.folio-paper-band span { position: relative; font: 500 7px var(--utility); letter-spacing: .15em; text-transform: uppercase; }
.folio-paper-band strong { position: relative; margin: 22px 0; font: 500 clamp(34px, 4.2vw, 62px)/.86 var(--display); letter-spacing: -.05em; }
.folio-paper-band strong i { display: block; margin: 8px 0; color: var(--v2-gold); font-weight: 500; }
.folio-seal { position: absolute; z-index: 4; left: 50%; top: 66%; width: 72px; height: 72px; display: grid; place-items: center; background: var(--v2-plum); border: 1px solid rgba(208,178,137,.6); border-radius: 50%; box-shadow: inset 0 0 0 6px var(--v2-plum), inset 0 0 0 7px rgba(208,178,137,.28), 0 12px 30px rgba(0,0,0,.28); transform: translate(-50%,-50%); }
.folio-seal img { width: 32px; filter: sepia(1) brightness(1.8); opacity: .72; }
.folio-toggle {
  position: absolute;
  z-index: 6;
  right: -18px;
  bottom: -22px;
  width: 112px;
  height: 112px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: var(--v2-night);
  background: var(--v2-paper);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 18px 45px rgba(0,0,0,.25);
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  transition: transform .3s var(--v2-ease), background .3s ease;
}
.folio-toggle i { color: var(--v2-wine); font: normal 18px var(--body); }
.folio-toggle:hover { transform: rotate(-5deg) scale(1.04); background: #fff9ef; }
.folio-hero.is-folio-open .folio-closed-card { opacity: 0; filter: blur(4px); transform: translateY(-102%) rotateX(-12deg) rotateZ(-3deg) scale(.92); pointer-events: none; }
.folio-hero.is-folio-open .folio-cover-photo { transform: scale(1.08); }
.folio-hero.is-folio-open .folio-open-card { animation: folioReveal .72s .16s var(--v2-ease) both; }
@keyframes folioReveal { from { opacity: .45; transform: rotate(-1deg) scale(.9) translateY(30px); } to { opacity: 1; transform: rotate(-1deg) scale(.965) translateY(0); } }
.folio-scroll-note { position: absolute; left: 50%; bottom: 19px; display: flex; align-items: center; gap: 13px; color: rgba(244,236,228,.42); font: 400 7px var(--utility); letter-spacing: .17em; text-transform: uppercase; transform: translateX(-50%); }
.folio-scroll-note i { width: 38px; height: 1px; background: currentColor; }

/* Home / narrative */
.v2-promise { min-height: 720px; padding: 120px max(24px, calc((100vw - 1240px)/2)); display: grid; grid-template-columns: 180px 1fr 240px; align-items: center; gap: 35px; color: var(--v2-ink); background: var(--v2-paper); }
.v2-promise > p { margin: 0; color: rgba(51,32,42,.55); font: 500 9px/1.8 var(--utility); letter-spacing: .15em; text-transform: uppercase; }
.v2-promise > p:last-child { align-self: end; padding-bottom: 44px; }
.v2-promise h2 { margin: 0; font-size: clamp(70px, 9vw, 142px); line-height: .78; }
.v2-promise h2 span { display: block; }
.v2-promise h2 span:nth-child(2) { margin-left: .17em; color: var(--v2-wine); font-style: italic; }
.v2-promise h2 span:nth-child(3) { margin-left: .04em; }
.v2-event-ribbon { padding: 31px 0; color: #f4ece4; background: var(--v2-plum); overflow: hidden; text-align: center; }
.v2-event-ribbon > p { margin: 0 0 15px; color: rgba(244,236,228,.58); font: 400 8px var(--utility); letter-spacing: .17em; text-transform: uppercase; }
.v2-event-ribbon > div { display: flex; justify-content: center; align-items: center; gap: clamp(16px, 2.6vw, 42px); white-space: nowrap; font: 500 clamp(20px,2.1vw,32px) var(--display); }
.v2-event-ribbon i { width: 5px; height: 5px; background: var(--v2-gold); border-radius: 50%; }
.v2-create { position: relative; min-height: 1050px; padding: 130px max(24px, calc((100vw - 1240px)/2)); display: grid; grid-template-columns: .85fr 1.1fr; grid-template-rows: auto 1fr; gap: 80px clamp(55px,8vw,130px); color: var(--v2-ink); background: var(--v2-paper-light); overflow: hidden; }
.v2-section-head { grid-column: 1; align-self: start; }
.v2-section-head h2,
.v2-manage-copy h2,
.v2-memory-copy h2 { margin: 0; font-size: clamp(60px, 6.5vw, 96px); line-height: .85; }
.v2-section-head > span,
.v2-manage-copy > span,
.v2-memory-copy > span { max-width: 420px; margin-top: 32px; display: block; color: rgba(51,32,42,.64); font-size: 14px; line-height: 1.75; }
.v2-create-visual { position: relative; grid-column: 2; grid-row: 1 / 3; min-height: 760px; }
.v2-card-back,
.v2-card-photo,
.v2-card-paper { position: absolute; box-shadow: 0 38px 85px rgba(56,30,41,.2); }
.v2-card-back { left: 15%; top: 9%; width: 66%; height: 76%; background: var(--v2-blush); transform: rotate(7deg); }
.v2-card-photo { left: 4%; top: 14%; width: 68%; height: 72%; background-position: center 45%; transform: rotate(-5deg); }
.v2-card-paper { right: 2%; bottom: 4%; width: 52%; aspect-ratio: .72; padding: 32px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 22px; color: var(--v2-ink); background: var(--v2-paper); border: 1px solid var(--v2-rule); transform: rotate(3deg); }
.v2-card-paper::before { content: ""; position: absolute; inset: 14px; border: 1px solid var(--v2-rule); }
.v2-card-paper img { width: 48px; opacity: .3; }
.v2-card-paper span { position: relative; font: 500 clamp(28px,3vw,48px)/.9 var(--display); text-align: center; }
.v2-card-paper small { font: 500 8px var(--utility); letter-spacing: .14em; }
.v2-create-steps { grid-column: 1; align-self: end; }
.v2-create-steps article { padding: 23px 0; display: grid; grid-template-columns: 58px 1fr; gap: 20px; border-top: 1px solid var(--v2-rule); }
.v2-create-steps article > span { color: var(--v2-gold); font: 500 9px var(--utility); }
.v2-create-steps h3 { margin: 0 0 8px; font: 500 26px var(--display); }
.v2-create-steps p { margin: 0; color: rgba(51,32,42,.62); font-size: 12px; line-height: 1.65; }
.v2-manage { min-height: 820px; padding: 120px max(24px, calc((100vw - 1240px)/2)); display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(60px,9vw,150px); color: #f3eae2; background: var(--v2-night); }
.v2-manage-copy > span { color: rgba(243,234,226,.62); }
.v2-manage-copy .v2-button { margin-top: 33px; }
.v2-dashboard { padding: clamp(25px,3.5vw,48px); color: var(--v2-ink); background: var(--v2-paper-light); box-shadow: 0 48px 110px rgba(0,0,0,.35); transform: rotate(1deg); }
.v2-dashboard header { display: flex; justify-content: space-between; align-items: center; }
.v2-dashboard header div { display: flex; flex-direction: column; }
.v2-dashboard header small { color: rgba(51,32,42,.48); font: 500 8px var(--utility); letter-spacing: .12em; text-transform: uppercase; }
.v2-dashboard header strong { font: 500 34px var(--display); }
.v2-dashboard header > span { padding: 8px 11px; display: inline-flex; align-items: center; gap: 7px; color: #49614e; background: #e1e7df; border-radius: 999px; font-size: 9px; font-weight: 700; }
.v2-dashboard header i { width: 6px; height: 6px; background: #54745a; border-radius: 50%; }
.v2-stats { margin: 30px 0; display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid var(--v2-rule); }
.v2-stats div { padding: 21px 15px; display: flex; flex-direction: column; }
.v2-stats div + div { border-left: 1px solid var(--v2-rule); }
.v2-stats strong { font: 500 clamp(34px,4vw,58px)/1 var(--display); }
.v2-stats span { color: rgba(51,32,42,.52); font-size: 9px; }
.v2-guests > div { padding: 14px 0; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px; border-top: 1px solid var(--v2-rule); }
.v2-guests b { width: 38px; height: 38px; display: grid; place-items: center; color: #fff; background: var(--v2-wine); border-radius: 50%; font-size: 9px; }
.v2-guests span { display: flex; flex-direction: column; font-size: 11px; font-weight: 700; }
.v2-guests small { color: rgba(51,32,42,.48); font-size: 9px; font-weight: 400; }
.v2-guests em { color: #49614e; font: normal 700 9px var(--body); }
.v2-guests em.is-waiting { color: #8f6838; }
.v2-memory { min-height: 900px; padding: 130px max(24px, calc((100vw - 1240px)/2)); display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(70px,9vw,150px); color: var(--v2-ink); background: #d7b4b4; }
.v2-memory-collage { position: relative; min-height: 650px; }
.memory-shot { position: absolute; box-shadow: 0 42px 90px rgba(62,32,43,.24); }
.memory-shot.shot-a { left: 2%; top: 3%; width: 60%; height: 75%; background-position: 38% 48%; transform: rotate(-4deg); }
.memory-shot.shot-b { right: 0; bottom: 1%; width: 52%; height: 63%; background-position: 65% 48%; transform: rotate(5deg); filter: sepia(.12) saturate(.8); }
.memory-count { position: absolute; z-index: 3; right: 2%; top: 2%; width: 180px; aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; background: var(--v2-plum); border-radius: 50%; box-shadow: 0 25px 55px rgba(62,32,43,.25); }
.memory-count strong { font: 500 42px/1 var(--display); }
.memory-count span { margin-top: 8px; font: 500 7px var(--utility); letter-spacing: .13em; text-transform: uppercase; }
.v2-memory-copy > span { color: rgba(51,32,42,.68); }
.v2-memory-copy .v2-text-link { margin-top: 28px; }
.v2-finale { position: relative; min-height: 700px; padding: 110px 24px 36px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #f5ece4; background: var(--v2-plum); text-align: center; overflow: hidden; }
.v2-finale::before { content: "ANIYLA"; position: absolute; top: 50%; left: 50%; color: rgba(255,255,255,.035); font: 500 25vw/.7 var(--display); letter-spacing: -.08em; transform: translate(-50%,-50%); }
.v2-finale > * { position: relative; z-index: 1; }
.v2-finale > img { width: 72px; filter: brightness(0) invert(1); opacity: .25; }
.v2-finale > p { margin: 26px 0 16px; color: var(--v2-gold); font: 500 9px var(--utility); letter-spacing: .2em; text-transform: uppercase; }
.v2-finale h2 { margin: 0 0 36px; font-size: clamp(64px,8vw,120px); line-height: .82; }
.v2-finale .v2-button { color: var(--v2-night); background: var(--v2-paper); }
.v2-finale footer { position: absolute; left: 34px; right: 34px; bottom: 26px; display: flex; justify-content: space-between; color: rgba(245,236,228,.45); font: 400 8px var(--utility); letter-spacing: .14em; text-transform: uppercase; }

/* Invitation / contained opening ritual */
.invite-v2-toolbar { min-height: 58px; padding: 10px clamp(20px,4vw,60px); display: flex; justify-content: space-between; align-items: center; color: rgba(245,236,228,.72); background: var(--v2-night); border-top: 1px solid rgba(255,255,255,.06); font-size: 10px; }
.invite-v2-toolbar > div { display: flex; align-items: center; gap: 10px; }
.invite-v2-toolbar > div > span { width: 7px; height: 7px; background: #88a084; border-radius: 50%; box-shadow: 0 0 0 5px rgba(136,160,132,.12); }
.invite-v2-toolbar a { min-height: 44px; display: inline-flex; align-items: center; gap: 12px; color: #fff; font-weight: 700; text-decoration: none; }
.invite-v2-toolbar i { font-style: normal; }
.invite-v2-shell { background: var(--v2-paper); }
.ceremony-cover { position: relative; min-height: max(760px, calc(100dvh - 134px)); overflow: hidden; color: #fff; background: var(--v2-night); isolation: isolate; }
.ceremony-photo { position: absolute; z-index: 0; inset: 0; background-size: cover; background-position: center 72%; background-repeat: no-repeat; filter: saturate(.72) sepia(.05) brightness(.62); transform: scale(1.02); transition: transform 1.1s var(--v2-ease), filter .9s ease; }
.ceremony-shade { position: absolute; z-index: 1; inset: 0; background: radial-gradient(circle at 50% 47%, rgba(33,17,25,.05), rgba(33,17,25,.5) 82%), linear-gradient(90deg, rgba(33,17,25,.22), transparent 35% 65%, rgba(33,17,25,.22)); }
.ceremony-index { position: absolute; z-index: 7; top: 25px; left: clamp(22px,4vw,60px); right: clamp(22px,4vw,60px); display: flex; justify-content: space-between; color: rgba(255,255,255,.62); font: 400 8px var(--utility); letter-spacing: .18em; }
.ceremony-title { position: absolute; z-index: 6; left: 50%; top: 48%; width: min(800px, calc(100% - 40px)); text-align: center; transform: translate(-50%,-50%); transition: opacity .45s ease, transform .7s var(--v2-ease); }
.ceremony-title > p { margin: 0; font: 500 9px var(--utility); letter-spacing: .24em; text-transform: uppercase; }
.ceremony-title h1 { margin: 22px 0; display: flex; align-items: center; justify-content: center; gap: clamp(18px,3vw,45px); font-size: clamp(82px,12vw,180px); line-height: .68; text-shadow: 0 10px 40px rgba(0,0,0,.28); }
.ceremony-title h1 i { color: #e0b69d; font-size: .55em; font-weight: 500; }
.ceremony-title small { font: 500 8px var(--utility); letter-spacing: .2em; text-transform: uppercase; }
.ceremony-veil { position: absolute; z-index: 3; top: 0; bottom: 0; width: 50.05%; overflow: hidden; background-image: none; filter: saturate(.68) sepia(.08) brightness(.56); transition: transform 1.05s var(--v2-ease), filter .8s ease; }
.ceremony-veil::before { content: ""; position: absolute; z-index: 0; top: 0; bottom: 0; width: 200%; background-image: linear-gradient(180deg, rgba(33,17,25,.04), rgba(33,17,25,.24)), url("assets/aniyla-editorial-hero.webp"); background-size: cover; background-position: center 72%; background-repeat: no-repeat; }
.ceremony-veil::after { content: ""; position: absolute; z-index: 1; inset: 0; background: rgba(45,22,32,.18); }
.ceremony-veil.veil-left { left: 0; transform-origin: left center; }
.ceremony-veil.veil-left::before { left: 0; }
.ceremony-veil.veil-right { right: 0; transform-origin: right center; }
.ceremony-veil.veil-right::before { right: 0; }
.ceremony-letter { position: absolute; z-index: 2; left: 50%; top: 49%; width: min(540px, calc(100% - 48px)); aspect-ratio: .86; padding: 10px; color: var(--v2-ink); background: #f7f0e7; border: 1px solid rgba(255,255,255,.58); box-shadow: 0 48px 100px rgba(0,0,0,.4); opacity: 0; transform: translate(-50%,-45%) scale(.76) rotate(-1.5deg); transition: opacity .55s .35s ease, transform .85s .28s var(--v2-ease); }
.ceremony-letter-inner { width: 100%; height: 100%; padding: 23px 28px 20px; display: flex; flex-direction: column; border: 1px solid rgba(74,43,55,.2); background: linear-gradient(145deg,rgba(255,255,255,.26),transparent 48%),repeating-linear-gradient(0deg,rgba(73,42,53,.014) 0 1px,transparent 1px 4px); }
.ceremony-letter-inner > header { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 11px; color: rgba(55,33,42,.56); }
.ceremony-letter-inner > header img { width: 36px; opacity: .46; }
.ceremony-letter-inner > header span,.ceremony-letter-inner > header small { font: 500 7px var(--utility); letter-spacing: .16em; text-transform: uppercase; }
.ceremony-letter-inner > header small { justify-self: end; }
.ceremony-letter-heading { margin: auto 0 13px; text-align: center; }
.ceremony-letter-heading p { margin: 0 0 12px; color: #8a5b6d; font: 500 7px var(--utility); letter-spacing: .18em; text-transform: uppercase; }
.ceremony-letter-heading h2 { margin: 0; font: 500 48px/.86 var(--display); letter-spacing: -.045em; }
.ceremony-letter-heading h2 i { color: #ae8060; font-weight: 500; }
.ceremony-letter-heading > span { margin-top: 11px; display: block; color: rgba(55,33,42,.64); font-size: 9px; }
.ceremony-date-block { min-height: 91px; padding: 11px 4px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; border-block: 1px solid rgba(74,43,55,.21); }
.ceremony-date-block > strong { font: 500 65px/.74 var(--display); letter-spacing: -.07em; }
.ceremony-date-block > div { display: grid; align-content: center; gap: 1px; }
.ceremony-date-block > div span { color: #6d4051; font: 500 17px/.9 var(--display); }
.ceremony-date-block > div b { color: rgba(55,33,42,.5); font: 500 8px var(--utility); letter-spacing: .13em; }
.ceremony-date-block > em { padding: 6px 9px; color: #6e4152; border: 1px solid rgba(110,65,82,.28); border-radius: 999px; font: 500 7px var(--utility); letter-spacing: .12em; text-transform: uppercase; }
.ceremony-info-grid { display: grid; grid-template-columns: .9fr .9fr 1.2fr; border-bottom: 1px solid rgba(74,43,55,.2); }
.ceremony-info-grid > div { min-width: 0; padding: 12px 8px; display: grid; gap: 3px; }
.ceremony-info-grid > div + div { border-left: 1px solid rgba(74,43,55,.16); }
.ceremony-info-grid small { color: rgba(55,33,42,.48); font: 500 6px var(--utility); letter-spacing: .13em; text-transform: uppercase; }
.ceremony-info-grid strong { overflow: hidden; font: 500 14px var(--display); text-overflow: ellipsis; white-space: nowrap; }
.ceremony-letter address { padding: 10px 5px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #5d3947; border-bottom: 1px solid rgba(74,43,55,.2); font-style: normal; }
.ceremony-letter address span { font-size: 9px; font-weight: 700; }
.ceremony-letter address small { color: rgba(55,33,42,.45); font: 500 6px var(--utility); letter-spacing: .1em; }
.ceremony-letter-inner > footer { margin-top: auto; padding: 12px 4px 0; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: rgba(55,33,42,.54); }
.ceremony-letter-inner > footer span { max-width: 250px; font-size: 7px; line-height: 1.5; }
.ceremony-letter-inner > footer b { color: #9a687b; font: 500 11px var(--display); white-space: nowrap; }
.ceremony-open { position: absolute; z-index: 8; left: 50%; bottom: 7%; min-width: 190px; min-height: 56px; padding: 12px 18px; display: flex; align-items: center; justify-content: center; gap: 25px; color: var(--v2-night); background: var(--v2-paper); border: 1px solid rgba(255,255,255,.65); border-radius: 999px; box-shadow: 0 16px 45px rgba(0,0,0,.28); transform: translateX(-50%); cursor: pointer; font-size: 10px; font-weight: 700; transition: opacity .35s ease, transform .3s var(--v2-ease), background .3s ease; }
.ceremony-open:hover { transform: translateX(-50%) translateY(-3px); background: #fff9ef; }
.ceremony-open i { color: var(--v2-wine); font-style: normal; font-size: 16px; }
.ceremony-continue { position: absolute; z-index: 8; left: 50%; bottom: 4.5%; min-height: 44px; display: flex; align-items: center; gap: 12px; color: #fff; opacity: 0; pointer-events: none; text-decoration: none; transform: translate(-50%,14px); transition: opacity .4s .72s ease, transform .45s .72s var(--v2-ease); font: 500 9px var(--utility); letter-spacing: .16em; text-transform: uppercase; }
.ceremony-cover.is-letter-open .ceremony-veil.veil-left { transform: translateX(-101%) rotateY(-4deg); }
.ceremony-cover.is-letter-open .ceremony-veil.veil-right { transform: translateX(101%) rotateY(4deg); }
.ceremony-cover.is-letter-open .ceremony-photo { filter: saturate(.76) brightness(.72); transform: scale(1.07); }
.ceremony-cover.is-letter-open .ceremony-title { opacity: 0; transform: translate(-50%,-55%) scale(.96); }
.ceremony-cover.is-letter-open .ceremony-letter { opacity: 1; transform: translate(-50%,-50%) scale(.86) rotate(-1deg); }
.ceremony-cover.is-letter-open .ceremony-open { opacity: 0; pointer-events: none; transform: translate(-50%,10px); }
.ceremony-cover.is-letter-open .ceremony-continue { opacity: 1; pointer-events: auto; transform: translate(-50%,0); }
.invite-v2-intro { min-height: 760px; padding: 120px max(24px, calc((100vw - 1180px)/2)); display: grid; grid-template-columns: .7fr 1.3fr; grid-template-rows: 1fr auto; align-items: center; gap: 60px; color: var(--v2-ink); background: var(--v2-paper); }
.invite-v2-monogram { color: rgba(76,38,55,.1); font: 500 clamp(120px,18vw,270px)/.7 var(--display); letter-spacing: -.13em; }
.invite-v2-monogram span { display: inline-block; color: rgba(180,148,105,.32); font-size: .45em; transform: translateY(-.25em); }
.invite-v2-message { max-width: 640px; }
.invite-v2-message h2 { margin: 0; font-size: clamp(56px,6.5vw,94px); line-height: .9; }
.invite-v2-message > span { margin-top: 31px; display: block; color: rgba(51,32,42,.64); font-size: 14px; line-height: 1.8; }
.invite-v2-countdown { grid-column: 1 / 3; display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid var(--v2-rule); }
.invite-v2-countdown div { padding: 28px 20px; display: flex; align-items: baseline; justify-content: center; gap: 11px; }
.invite-v2-countdown div + div { border-left: 1px solid var(--v2-rule); }
.invite-v2-countdown strong { font: 500 clamp(46px,6vw,78px)/1 var(--display); font-variant-numeric: tabular-nums; }
.invite-v2-countdown span { color: rgba(51,32,42,.48); font: 500 8px var(--utility); letter-spacing: .14em; text-transform: uppercase; }
.invite-v2-program { min-height: 820px; display: grid; grid-template-columns: 1.05fr .95fr; color: var(--v2-ink); background: var(--v2-paper-light); }
.invite-v2-program-photo { min-height: 700px; background-position: center 44%; }
.invite-v2-program-copy { padding: 90px clamp(36px,7vw,110px); display: flex; flex-direction: column; justify-content: center; }
.invite-v2-program-copy h2 { margin: 0; font-size: clamp(62px,7vw,104px); line-height: .82; }
.invite-v2-program-copy ol { margin: 45px 0 30px; padding: 0; list-style: none; }
.invite-v2-program-copy li { padding: 20px 0; display: grid; grid-template-columns: 75px 1fr; border-top: 1px solid var(--v2-rule); }
.invite-v2-program-copy time { font: 500 9px var(--utility); }
.invite-v2-program-copy li div { display: flex; flex-direction: column; }
.invite-v2-program-copy li strong { font: 500 26px var(--display); }
.invite-v2-program-copy li span { color: rgba(51,32,42,.55); font-size: 11px; }
.invite-v2-program-copy .v2-button { align-self: flex-start; }
.invite-v2-venue { min-height: 680px; padding: 110px max(24px, calc((100vw - 1180px)/2)); display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; color: #f5ece4; background: var(--v2-plum); }
.invite-v2-venue h2 { margin: 0; font-size: clamp(90px,11vw,165px); line-height: .68; }
.venue-v2-details { display: grid; border-top: 1px solid rgba(255,255,255,.18); }
.venue-v2-details > span { padding: 19px 0; color: rgba(245,236,228,.68); border-bottom: 1px solid rgba(255,255,255,.15); font-size: 12px; }
.venue-v2-details button { min-height: 52px; margin-top: 28px; padding: 12px 18px; display: flex; align-items: center; justify-content: space-between; color: var(--v2-night); background: var(--v2-paper); border: 0; border-radius: 999px; cursor: pointer; font-size: 11px; font-weight: 700; }
.venue-v2-details i { font-style: normal; }
.invite-v2-rsvp { min-height: 760px; padding: 110px max(24px, calc((100vw - 1120px)/2)); display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: clamp(60px,9vw,140px); color: var(--v2-ink); background: #d7b4b4; }
.invite-v2-rsvp-copy h2 { margin: 0; font-size: clamp(70px,8vw,112px); line-height: .8; }
.invite-v2-rsvp-copy > span { max-width: 390px; margin-top: 30px; display: block; color: rgba(51,32,42,.64); }
.invite-v2-form { padding: clamp(28px,4vw,48px); background: var(--v2-paper-light); box-shadow: 0 35px 75px rgba(69,35,47,.2); }
.invite-v2-form > label,
.invite-v2-form legend { display: block; margin-bottom: 9px; font-size: 11px; font-weight: 700; }
.invite-v2-form > input { width: 100%; min-height: 50px; padding: 13px 14px; color: var(--v2-ink); background: transparent; border: 1px solid var(--v2-rule); border-radius: 0; }
.invite-v2-form fieldset { margin: 25px 0; padding: 0; border: 0; }
.invite-v2-form fieldset label { min-height: 50px; padding: 13px 14px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--v2-rule); cursor: pointer; font-size: 11px; }
.invite-v2-form fieldset label + label { margin-top: 8px; }
.invite-v2-form input[type="radio"] { accent-color: var(--v2-wine); }
.invite-v2-form .v2-button { width: 100%; border: 0; }

@media (max-width: 1050px) {
  .folio-hero { grid-template-columns: .84fr 1.16fr; gap: 28px; }
  .folio-copy h1 { font-size: clamp(62px,7.4vw,90px); }
  .folio-paper-band { width: 40%; }
  .v2-promise { grid-template-columns: 120px 1fr; }
  .v2-promise > p:last-child { display: none; }
  .v2-create { gap: 55px; }
  .v2-manage { grid-template-columns: .72fr 1.28fr; gap: 50px; }
}

@media (max-width: 760px) {
  .folio-hero { min-height: auto; padding: 65px 18px 80px; display: block; }
  .folio-meta { top: 18px; left: 18px; right: 18px; }
  .folio-meta span:last-child { display: none; }
  .folio-copy { max-width: none; padding: 35px 0 55px; }
  .folio-copy h1 { font-size: clamp(61px,19vw,86px); line-height: .8; }
  .folio-lead { max-width: 95%; margin-top: 29px; font-size: 14px; }
  .folio-actions { align-items: stretch; flex-direction: column; gap: 10px; }
  .folio-actions .v2-button,
  .folio-actions .v2-text-link { width: 100%; justify-content: space-between; }
  .folio-trust { margin-top: 30px; gap: 11px 16px; }
  .folio-object { width: 100%; }
  .folio-object-label { font-size: 7px; }
  .folio-stage { aspect-ratio: .82; }
  .folio-open-card { grid-template-columns: 1fr; grid-template-rows: 49% 51%; }
  .folio-open-card::after { top: 49%; bottom: auto; left: 0; right: 0; width: auto; height: 1px; }
  .folio-open-copy { padding: 23px 25px; }
  .folio-open-copy img { display: none; }
  .folio-open-copy p { margin: 0 0 8px; font-size: 7px; }
  .folio-open-copy h2 { font-size: 39px; }
  .folio-open-copy dl { margin: 16px 0 12px; }
  .folio-paper-band { width: 58%; }
  .folio-paper-band strong { font-size: 40px; }
  .folio-seal { width: 61px; height: 61px; }
  .folio-toggle { right: -4px; bottom: -36px; width: 94px; height: 94px; }
  .folio-scroll-note { display: none; }
  .v2-promise { min-height: 620px; padding: 95px 20px; display: block; }
  .v2-promise > p:first-child { margin-bottom: 45px; }
  .v2-promise h2 { font-size: clamp(58px,19vw,86px); }
  .v2-event-ribbon { padding-block: 26px; }
  .v2-event-ribbon > div { width: auto; padding-inline: 18px; flex-wrap: wrap; justify-content: center; gap: 10px 16px; font-size: 22px; }
  .v2-create { min-height: auto; padding: 90px 20px; display: flex; flex-direction: column; gap: 55px; }
  .v2-section-head h2,
  .v2-manage-copy h2,
  .v2-memory-copy h2 { font-size: clamp(58px,18vw,78px); }
  .v2-create-visual { order: 2; min-height: 570px; width: 100%; }
  .v2-create-steps { order: 3; }
  .v2-card-back { left: 17%; top: 6%; width: 66%; height: 74%; }
  .v2-card-photo { width: 72%; height: 72%; }
  .v2-card-paper { width: 55%; }
  .v2-create-steps article { grid-template-columns: 42px 1fr; }
  .v2-manage { min-height: auto; padding: 90px 20px; display: flex; flex-direction: column; align-items: stretch; gap: 58px; }
  .v2-dashboard { padding: 22px 18px; transform: none; }
  .v2-dashboard header strong { font-size: 28px; }
  .v2-stats { margin: 24px 0; }
  .v2-stats div { padding: 16px 7px; }
  .v2-stats strong { font-size: 33px; }
  .v2-guests em { display: none; }
  .v2-memory { min-height: auto; padding: 90px 20px 100px; display: flex; flex-direction: column; align-items: stretch; gap: 65px; }
  .v2-memory-collage { min-height: 520px; }
  .memory-count { width: 125px; }
  .memory-count strong { font-size: 34px; }
  .v2-finale { min-height: 640px; padding-inline: 20px; }
  .v2-finale h2 { font-size: clamp(58px,17vw,80px); }
  .v2-finale footer { left: 20px; right: 20px; }
  .invite-v2-toolbar { padding-inline: 16px; }
  .ceremony-cover { min-height: calc(100dvh - 124px); }
  .ceremony-title h1 { flex-direction: column; gap: 8px; font-size: clamp(76px,26vw,112px); line-height: .58; }
  .ceremony-title h1 i { font-size: .36em; }
  .ceremony-title > p { font-size: 7px; }
  .ceremony-title small { font-size: 7px; }
  .ceremony-letter { width: min(360px, calc(100% - 28px)); aspect-ratio: .68; padding: 7px; }
  .ceremony-letter-inner { padding: 15px 15px 13px; }
  .ceremony-letter-inner > header { grid-template-columns: 28px 1fr auto; gap: 7px; }
  .ceremony-letter-inner > header img { width: 27px; }
  .ceremony-letter-heading { margin-bottom: 8px; }
  .ceremony-letter-heading p { margin-bottom: 7px; font-size: 5px; }
  .ceremony-letter-heading h2 { font-size: 34px; }
  .ceremony-letter-heading > span { margin-top: 6px; font-size: 7px; }
  .ceremony-date-block { min-height: 68px; padding: 7px 2px; gap: 8px; }
  .ceremony-date-block > strong { font-size: 48px; }
  .ceremony-date-block > div span { font-size: 14px; }
  .ceremony-date-block > em { padding: 5px 7px; font-size: 5px; }
  .ceremony-info-grid > div { padding: 8px 5px; }
  .ceremony-info-grid strong { font-size: 11px; }
  .ceremony-letter address { padding-block: 7px; }
  .ceremony-letter address span { font-size: 7px; }
  .ceremony-letter-inner > footer { padding-top: 8px; }
  .ceremony-letter-inner > footer span { max-width: 190px; font-size: 6px; }
  .ceremony-cover.is-letter-open .ceremony-letter { transform: translate(-50%,-50%) scale(.84) rotate(-1deg); }
  .invite-v2-intro { min-height: auto; padding: 95px 20px; display: flex; flex-direction: column; align-items: stretch; gap: 55px; }
  .invite-v2-monogram { font-size: 46vw; text-align: center; }
  .invite-v2-message h2 { font-size: clamp(56px,16vw,76px); }
  .invite-v2-countdown { width: 100%; }
  .invite-v2-countdown div { padding: 21px 6px; flex-direction: column; gap: 5px; }
  .invite-v2-countdown strong { font-size: 40px; }
  .invite-v2-program { display: block; }
  .invite-v2-program-photo { min-height: 620px; }
  .invite-v2-program-copy { padding: 85px 20px; }
  .invite-v2-program-copy h2 { font-size: clamp(65px,19vw,88px); }
  .invite-v2-venue { min-height: auto; padding: 90px 20px; display: block; }
  .invite-v2-venue h2 { margin-bottom: 70px; font-size: 30vw; }
  .invite-v2-rsvp { min-height: auto; padding: 90px 20px; display: flex; flex-direction: column; align-items: stretch; gap: 55px; }
  .invite-v2-rsvp-copy h2 { font-size: clamp(68px,20vw,92px); }
  .invite-v2-form { padding: 26px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .folio-closed-card,
  .folio-cover-photo,
  .ceremony-photo,
  .ceremony-veil,
  .ceremony-title,
  .ceremony-letter,
  .ceremony-open,
  .ceremony-continue { transition: none !important; animation: none !important; }
  .v2-event-ribbon > div { animation: none !important; }
}

/* Home hero — aligned with Anıyla's tactile editorial language */
.brand-hero {
  position: relative;
  min-height: max(760px, calc(100dvh - 76px));
  padding: 74px max(24px, calc((100vw - 1280px) / 2)) 76px;
  display: grid;
  grid-template-columns: minmax(390px, .88fr) minmax(560px, 1.12fr);
  align-items: center;
  gap: clamp(48px, 6vw, 104px);
  overflow: hidden;
  color: var(--ink);
  background: var(--porcelain);
  border-bottom: 1px solid var(--line);
  isolation: isolate;
}
.brand-hero .folio-atmosphere {
  background:
    radial-gradient(ellipse at 78% 48%, rgba(216,183,176,.42) 0 19%, transparent 19.2%),
    linear-gradient(90deg, transparent 0 50%, rgba(75,38,55,.065) 50% calc(50% + 1px), transparent calc(50% + 1px)),
    linear-gradient(135deg, rgba(244,238,232,.7), transparent 42%);
}
.brand-hero .folio-atmosphere::before {
  content: "";
  position: absolute;
  right: clamp(80px, 8vw, 140px);
  top: 11%;
  width: min(43vw, 610px);
  aspect-ratio: 1;
  border: 1px solid rgba(75,38,55,.12);
  border-radius: 48% 52% 44% 56% / 58% 42% 58% 42%;
  transform: rotate(13deg);
}
.brand-hero .folio-atmosphere::after { opacity: .035; mix-blend-mode: multiply; }
.brand-hero .folio-meta { color: rgba(44,35,40,.55); text-transform: uppercase; }
.brand-hero .folio-copy {
  max-width: 610px;
  padding: 52px 0 74px;
  animation: brandHeroCopyIn .72s cubic-bezier(.16,1,.3,1) both;
}
.brand-hero .folio-eyebrow { color: #74465a; }
.brand-hero .folio-copy h1 {
  max-width: 650px;
  color: var(--ink);
  font: 500 clamp(68px, 6.65vw, 106px)/.88 var(--display);
  letter-spacing: -.057em;
}
.brand-hero .folio-copy h1 em {
  display: block;
  margin: .05em 0 0 .18em;
  color: #8d5068;
  font-weight: 500;
}
.brand-hero .folio-lead {
  max-width: 520px;
  margin-top: 34px;
  color: #5d5257;
  font-size: 16px;
  line-height: 1.75;
}
.brand-hero .folio-actions { margin-top: 32px; }
.brand-hero .v2-button-primary {
  color: #fff;
  background: var(--plum);
  box-shadow: 0 12px 30px rgba(75,38,55,.12);
}
.brand-hero .v2-button-primary:hover { color: #fff; background: var(--plum-deep); }
.brand-hero .v2-text-link { color: var(--ink); }
.brand-hero .folio-trust { margin-top: 37px; color: #756970; }
.brand-hero .folio-trust span::before { background: var(--champagne); }
.brand-hero .folio-object {
  width: min(100%, 700px);
  animation: brandHeroObjectIn .9s .08s cubic-bezier(.16,1,.3,1) both;
}
.brand-hero .folio-object-label {
  margin: 0 4px 13px;
  color: rgba(44,35,40,.56);
  text-transform: uppercase;
}
.brand-hero .folio-stage { aspect-ratio: 1.2; }
.brand-hero .folio-open-card {
  color: var(--ink);
  background: var(--paper);
  border: 1px solid rgba(75,38,55,.12);
  box-shadow: 0 34px 80px rgba(64,38,49,.2);
}
.brand-hero .folio-open-copy { background-color: var(--paper); }
.brand-hero .folio-open-copy h2 { font-family: var(--display); font-weight: 500; }
.brand-hero .folio-closed-card {
  background: #9b7478;
  border: 1px solid rgba(75,38,55,.12);
  box-shadow: 0 38px 80px rgba(64,38,49,.22);
}
.brand-hero .folio-cover-photo { filter: saturate(.78) sepia(.08) brightness(.88); }
.brand-hero .folio-closed-card::after {
  background: linear-gradient(90deg, rgba(43,23,33,.13), transparent 36% 68%, rgba(43,23,33,.11));
}
.brand-hero .folio-paper-band {
  background: rgba(247,242,234,.96);
  box-shadow: 0 0 35px rgba(48,26,35,.08);
}
.brand-hero .folio-seal {
  background: var(--plum);
  box-shadow: inset 0 0 0 6px var(--plum), inset 0 0 0 7px rgba(208,178,137,.34), 0 12px 28px rgba(58,29,41,.2);
}
.brand-hero .folio-toggle {
  right: -14px;
  bottom: -24px;
  color: #fff;
  background: var(--plum);
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: 0 18px 42px rgba(64,34,46,.23);
}
.brand-hero .folio-toggle i { color: #e4c4cb; }
.brand-hero .folio-toggle:hover { background: var(--plum-deep); }
.brand-hero .folio-scroll-note { color: rgba(44,35,40,.5); }

@keyframes brandHeroCopyIn {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes brandHeroObjectIn {
  from { opacity: 0; transform: translateY(42px) rotate(1.5deg); }
  to { opacity: 1; transform: translateY(0) rotate(0); }
}

@media (max-width: 1050px) {
  .brand-hero {
    grid-template-columns: minmax(330px, .82fr) minmax(450px, 1.18fr);
    gap: 34px;
  }
  .brand-hero .folio-copy h1 { font-size: clamp(62px, 7.2vw, 82px); }
}

@media (max-width: 900px) {
  .brand-hero {
    min-height: auto;
    padding: 62px 24px 92px;
    display: block;
  }
  .brand-hero .folio-copy { max-width: 690px; padding: 52px 0 58px; }
  .brand-hero .folio-copy h1 { max-width: 690px; }
  .brand-hero .folio-object { width: min(100%, 700px); margin: 0 auto; }
  .brand-hero .folio-atmosphere::before { right: -12%; top: 43%; width: 78vw; }
}

@media (max-width: 760px) {
  .brand-hero {
    min-height: auto;
    padding: 58px 18px 86px;
    display: block;
  }
  .brand-hero .folio-meta { top: 18px; left: 18px; right: 18px; }
  .brand-hero .folio-copy { padding: 43px 0 52px; }
  .brand-hero .folio-copy h1 {
    max-width: 100%;
    font-size: clamp(56px, 15.4vw, 74px);
    line-height: .91;
  }
  .brand-hero .folio-copy h1 em { margin-left: 0; }
  .brand-hero .folio-lead { max-width: 36em; margin-top: 27px; font-size: 16px; }
  .brand-hero .folio-actions { align-items: stretch; }
  .brand-hero .folio-trust { margin-top: 30px; gap: 12px 17px; }
  .brand-hero .folio-object { width: 100%; }
  .brand-hero .folio-object-label { font-size: 7px; }
  .brand-hero .folio-stage { aspect-ratio: .83; }
  .brand-hero .folio-toggle { right: -3px; bottom: -38px; }
  .brand-hero .folio-atmosphere::before { right: -32%; top: 45%; width: 112vw; }
}

@media (max-width: 390px) {
  .brand-hero .folio-copy h1 { font-size: 14.5vw; }
  .brand-hero .folio-actions .v2-button,
  .brand-hero .folio-actions .v2-text-link { min-height: 50px; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-hero .folio-copy,
  .brand-hero .folio-object { animation: none; }
}

/* Hero memory composition — photography and product proof, without invitation metaphors */
.brand-hero .memory-object {
  position: relative;
  z-index: 2;
  width: min(100%, 690px);
  justify-self: end;
  animation: brandHeroObjectIn .9s .08s cubic-bezier(.16,1,.3,1) both;
}
.brand-hero .memory-object-label {
  margin: 0 4px 13px;
  display: flex;
  justify-content: space-between;
  color: rgba(44,35,40,.56);
  font: 400 8px var(--utility);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.brand-hero .memory-stage { position: relative; min-height: 610px; }
.brand-hero .memory-thread {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.brand-hero .memory-thread path {
  stroke: rgba(141,80,104,.42);
  stroke-width: 1.15;
  stroke-dasharray: .02 .018;
}
.brand-hero .memory-main-shot {
  position: absolute;
  z-index: 2;
  left: 6%;
  top: 4%;
  width: 56%;
  height: 82%;
  margin: 0;
  padding: 11px;
  background: #f7f1e9;
  box-shadow: 0 32px 72px rgba(64,38,49,.2);
  transform: rotate(-3.2deg);
}
.brand-hero .memory-main-photo,
.brand-hero .memory-detail-shot {
  background-image: linear-gradient(180deg, rgba(43,23,33,.02), rgba(43,23,33,.2)), url("assets/aniyla-editorial-hero.webp");
  background-size: cover;
}
.brand-hero .memory-main-photo {
  width: 100%;
  height: calc(100% - 58px);
  background-position: center 45%;
  filter: saturate(.82) sepia(.06);
}
.brand-hero .memory-main-shot figcaption {
  height: 58px;
  padding: 11px 4px 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.brand-hero .memory-main-shot figcaption strong {
  font: 500 24px var(--display);
  letter-spacing: -.04em;
}
.brand-hero .memory-main-shot figcaption span {
  color: #756970;
  font: 400 7px var(--utility);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.brand-hero .memory-detail-shot {
  position: absolute;
  z-index: 3;
  right: 3%;
  top: 2%;
  width: 35%;
  height: 42%;
  background-position: 72% 44%;
  border: 9px solid #eee3da;
  box-shadow: 0 24px 55px rgba(64,38,49,.16);
  transform: rotate(4deg);
}
.brand-hero .memory-summary {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 6%;
  width: 42%;
  padding: 22px 22px 18px;
  color: var(--ink);
  background: rgba(247,242,234,.97);
  border: 1px solid rgba(75,38,55,.13);
  box-shadow: 0 27px 62px rgba(64,38,49,.18);
  transform: rotate(1.7deg);
}
.brand-hero .memory-summary header {
  margin-bottom: 17px;
  padding-bottom: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}
.brand-hero .memory-summary header img { width: 28px; opacity: .72; }
.brand-hero .memory-summary header span,
.brand-hero .memory-summary footer {
  color: #756970;
  font: 400 7px var(--utility);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.brand-hero .memory-summary > div {
  padding: 10px 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}
.brand-hero .memory-summary > div strong { font: 500 31px var(--display); }
.brand-hero .memory-summary > div span { color: #6c6065; font-size: 10px; }
.brand-hero .memory-summary footer { margin-top: 16px; }
.brand-hero .memory-count {
  position: absolute;
  z-index: 5;
  left: 0;
  bottom: 1%;
  width: 126px;
  height: 126px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--plum);
  border-radius: 50%;
  box-shadow: 0 18px 42px rgba(64,34,46,.2);
  text-align: center;
  transform: rotate(-7deg);
}
.brand-hero .memory-count strong { font: 500 31px var(--display); }
.brand-hero .memory-count span {
  max-width: 74px;
  color: #e3c9d2;
  font: 400 7px/1.5 var(--utility);
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .brand-hero .memory-object { width: min(100%, 690px); margin: 0 auto; }
}

@media (max-width: 760px) {
  .brand-hero .memory-object { width: 100%; }
  .brand-hero .memory-object-label { font-size: 7px; }
  .brand-hero .memory-stage { min-height: 520px; }
  .brand-hero .memory-main-shot { left: 2%; width: 68%; height: 76%; }
  .brand-hero .memory-detail-shot { right: 0; width: 37%; height: 32%; }
  .brand-hero .memory-summary { right: 1%; bottom: 4%; width: 56%; padding: 18px 17px 15px; }
  .brand-hero .memory-count { left: 0; bottom: 8%; width: 96px; height: 96px; }
  .brand-hero .memory-count strong { font-size: 26px; }
}

@media (max-width: 390px) {
  .brand-hero .memory-stage { min-height: 480px; }
  .brand-hero .memory-main-shot { height: 73%; }
  .brand-hero .memory-main-shot figcaption { align-items: flex-start; flex-direction: column; gap: 0; }
  .brand-hero .memory-main-shot figcaption strong { font-size: 20px; }
  .brand-hero .memory-summary { width: 58%; padding: 15px 14px 13px; }
  .brand-hero .memory-summary > div strong { font-size: 27px; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-hero .memory-object { animation: none; }
}

/* Design system consolidation — shared product chrome */
html { color-scheme: light; }
body {
  background: var(--surface-base);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { color: #fff; background: var(--plum); }

:focus-visible {
  outline: 2px solid #8d5068;
  outline-offset: 3px;
  box-shadow: var(--focus-ring);
}

.site-header {
  border-bottom-color: var(--border-soft);
  box-shadow: 0 1px 0 rgba(255,255,255,.72);
}
.main-nav a,
.header-cta,
.button,
.v2-button,
.v2-text-link {
  transition:
    color var(--duration-base) var(--ease-standard),
    background var(--duration-base) var(--ease-standard),
    border-color var(--duration-base) var(--ease-standard),
    box-shadow var(--duration-base) var(--ease-standard),
    transform var(--duration-base) var(--ease-standard);
}
.main-nav a:hover { color: var(--plum); }
.main-nav a.is-active { border-bottom-width: 2px; }
.header-cta,
.button,
.v2-button { border-radius: var(--radius-pill); }
.header-cta,
.button-primary,
.v2-button-primary { box-shadow: 0 10px 24px rgba(75,38,55,.14); }
.header-cta:hover,
.button:hover,
.v2-button:hover { box-shadow: 0 14px 30px rgba(75,38,55,.19); transform: translateY(-2px); }
.header-cta:active,
.button:active,
.v2-button:active { box-shadow: 0 5px 14px rgba(75,38,55,.12); transform: translateY(0); }

.eyebrow { color: #704458; }
.eyebrow.light { color: #dcb9c6; }

.start-form-panel,
.auth-panel,
.studio-panel { background: var(--surface-base); }
.start-form-panel > header,
.auth-panel-inner > footer,
.content-editor-drawer header { border-color: var(--border-soft); }
.panel-group h2,
#start-form legend,
#start-form label,
.auth-form > label,
.content-editor-body > label,
.tone-control legend,
.type-size-control legend,
.focus-control legend,
.volume-control legend {
  color: #56434c;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.auth-heading > p:last-child,
.start-assurance,
.auth-panel-inner > footer { color: var(--text-muted); font-size: 9px; }

.start-name-fields input,
.start-detail-fields input,
.auth-form input:not([type="checkbox"]),
.form-grid input[type="text"],
.form-grid input[type="url"],
.form-grid textarea,
.form-grid select,
.add-section-form input,
.content-editor-body textarea,
.rsvp-card input[type="text"],
.rsvp-card input:not([type]),
.invite-v2-form > input {
  border-color: var(--border-soft);
  border-radius: var(--radius-md);
  background: var(--surface-raised);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
  transition:
    border-color var(--duration-fast) ease,
    box-shadow var(--duration-fast) ease,
    background var(--duration-fast) ease;
}
.start-name-fields input:hover,
.start-detail-fields input:hover,
.auth-form input:not([type="checkbox"]):hover,
.form-grid input:hover,
.form-grid textarea:hover,
.content-editor-body textarea:hover { border-color: var(--border-strong); }
.start-name-fields input:focus,
.start-detail-fields input:focus,
.auth-form input:not([type="checkbox"]):focus,
.form-grid input:focus,
.form-grid textarea:focus,
.form-grid select:focus,
.add-section-form input:focus,
.content-editor-body textarea:focus,
.rsvp-card input:focus,
.invite-v2-form > input:focus {
  border-color: #8d5068;
  outline: 0;
  background: #fff;
  box-shadow: var(--focus-ring);
}

.start-submit,
.auth-submit {
  border-radius: var(--radius-md);
  background: var(--plum);
  box-shadow: 0 12px 28px rgba(75,38,55,.17);
  transition: background var(--duration-base) ease, box-shadow var(--duration-base) ease, transform var(--duration-base) var(--ease-standard);
}
.start-submit:hover,
.auth-submit:hover { background: var(--plum-deep); box-shadow: 0 16px 34px rgba(43,23,33,.22); transform: translateY(-1px); }
.start-submit:active,
.auth-submit:active { transform: translateY(0); }
.start-submit i,
.auth-submit i { border-radius: var(--radius-sm); }

.secondary-control,
.upload-button {
  border-radius: var(--radius-sm);
  font-family: var(--body);
  transition: border-color var(--duration-fast) ease, background var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;
}
.secondary-control:hover,
.upload-button:hover { box-shadow: var(--shadow-xs); transform: translateY(-1px); }
.text-control { font-family: var(--body); text-underline-offset: 3px; }

.auth-mode-tabs,
.device-toggle { border-radius: var(--radius-md); }
.auth-mode-tabs button,
.device-toggle button { border-radius: var(--radius-sm); }
.password-field button { border-radius: var(--radius-sm); }

.start-event-types button,
.start-themes button,
.section-row,
.pretty-select-trigger,
.pretty-select-menu,
.pretty-select-option,
.tone-control button,
.volume-control button,
.direct-position-control,
.type-size-control > div,
.focus-control,
.photo-drop,
.music-card {
  border-color: var(--border-soft);
  border-radius: var(--radius-md);
}
.start-event-types button,
.start-themes button,
.section-row,
.tone-control button,
.volume-control button,
.music-card { background: var(--surface-raised); box-shadow: var(--shadow-xs); }
.start-event-types button:hover,
.start-themes button:hover,
.section-row:hover,
.tone-control button:hover,
.volume-control button:hover { border-color: var(--border-strong); box-shadow: var(--shadow-sm); }
.start-event-types button.is-active,
.start-themes button.is-active,
.section-row.is-selected,
.tone-control button.is-active,
.volume-control button.is-active {
  border-color: #9b6175;
  box-shadow: 0 0 0 2px rgba(155,97,117,.11), var(--shadow-xs);
}
.section-row { min-height: 64px; padding: 11px 10px; }
.palette { border-color: var(--border-soft); border-radius: var(--radius-sm); }
.pretty-select-trigger { box-shadow: var(--shadow-xs); }
.pretty-select-menu { box-shadow: var(--shadow-md); }
.photo-drop { background: var(--surface-muted); }

.canvas-toolbar { min-height: 66px; }
.canvas-actions button {
  min-height: 42px;
  border-radius: var(--radius-pill);
  transition: border-color var(--duration-fast) ease, background var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;
}
.canvas-actions button:hover { border-color: rgba(255,255,255,.25); box-shadow: 0 8px 20px rgba(0,0,0,.16); transform: translateY(-1px); }
.canvas-actions .publish-button { box-shadow: 0 9px 22px rgba(111,59,80,.28); }
.tool-button { border-radius: var(--radius-md); }
.studio-panel { border-right-color: var(--border-soft); }

button:disabled,
[aria-disabled="true"] { opacity: .5; cursor: not-allowed; box-shadow: none; transform: none; }

@media (max-width: 760px) {
  :root { --container: min(1180px, calc(100vw - 36px)); }
  .site-header { height: 66px; padding-inline: 18px; }
  .brand-symbol { width: 38px; height: 38px; }
  .brand-word { font-size: 25px; }
  .header-cta { min-height: 42px; padding-inline: 15px; }
  .start-form-panel,
  .auth-panel { padding-inline: 20px; }
  .start-event-types button,
  .start-themes button { min-height: 64px; }
  .section-row { min-height: 62px; }
  .canvas-actions button { min-width: 44px; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Studio action hierarchy */
.canvas-actions { align-items: center; gap: 7px; }
.canvas-actions .canvas-action {
  min-height: 42px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .01em;
}
.canvas-actions .canvas-action svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.canvas-actions .canvas-action-quiet { color: rgba(232,220,225,.68); border-color: transparent; background: transparent; }
.canvas-actions .preview-action { min-width: 96px; color: #f0e6ea; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.055); }
.canvas-actions .preview-action:hover { color: #fff; background: rgba(255,255,255,.1); }
.canvas-actions .publish-button {
  min-width: 94px;
  color: #2b1720;
  border-color: #d8a7b8;
  background: #d8a7b8;
  box-shadow: 0 8px 20px rgba(130,68,91,.22);
}
.canvas-actions .publish-button:hover { border-color: #e3b7c6; background: #e3b7c6; }
.canvas-actions .publish-button svg { width: 15px; }

/* Homepage conversion layer */
.home-proof {
  padding: 44px max(24px, calc((100vw - 1240px)/2));
  display: grid;
  grid-template-columns: minmax(210px,.55fr) minmax(0,1.45fr);
  gap: clamp(40px,6vw,90px);
  align-items: center;
  color: var(--ink);
  background: #efe6df;
  border-block: 1px solid var(--border-soft);
}
.home-proof-intro .eyebrow { margin-bottom: 9px; }
.home-proof-intro > p:last-child { max-width: 310px; margin: 0; color: var(--text-muted); font-size: 13px; line-height: 1.7; }
.home-proof-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.home-proof-grid article { min-height: 150px; padding: 9px clamp(20px,2.7vw,38px); display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--border-soft); }
.home-proof-grid strong { color: var(--plum); font: 500 clamp(30px,3vw,43px)/1 var(--display); letter-spacing: -.045em; }
.home-proof-grid span { margin-top: 10px; font-size: 11px; font-weight: 700; }
.home-proof-grid small { max-width: 240px; margin-top: 7px; color: var(--text-muted); font-size: 9px; line-height: 1.65; }

.story-conversion {
  grid-column: 2;
  margin-top: 0;
  padding: 8px 0 0;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 20px;
}
.story-conversion p { max-width: 470px; margin: 0; color: #6d6267; font-size: 13px; line-height: 1.75; }
.story-conversion .v2-button { flex: 0 0 auto; }

.template-showcase {
  padding: 130px max(24px, calc((100vw - 1240px)/2));
  color: var(--ink);
  background: #f5efe8;
  overflow: hidden;
}
.template-showcase > header {
  margin-bottom: 55px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: clamp(40px,8vw,120px);
  align-items: end;
}
.template-showcase h2 { margin: 0; font: 500 clamp(50px,6.3vw,88px)/.91 var(--display); letter-spacing: -.055em; }
.template-showcase h2 em { color: #9a5c73; font-weight: 500; }
.template-showcase > header > p { max-width: 420px; margin: 0 0 7px; color: var(--text-muted); font-size: 14px; line-height: 1.8; }
.template-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.template-card {
  min-width: 0;
  padding: 10px;
  color: var(--ink);
  background: var(--surface-raised);
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  box-shadow: var(--shadow-sm);
  text-decoration: none;
  transition: transform .35s var(--ease-standard), box-shadow .35s ease, border-color .25s ease;
}
.template-card:hover { border-color: var(--border-strong); box-shadow: var(--shadow-md); transform: translateY(-8px); }
.template-phone {
  min-height: 430px;
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  background-image: linear-gradient(180deg,rgba(31,16,23,.12),rgba(31,16,23,.65)),url("assets/aniyla-editorial-hero.webp");
  background-size: cover;
  background-position: center 48%;
  border-radius: 10px;
  text-align: center;
}
.template-phone span,
.template-phone small { font: 400 7px var(--utility); letter-spacing: .16em; text-transform: uppercase; }
.template-phone strong { margin: 22px 0; font: 500 clamp(29px,3vw,43px)/1 var(--display); letter-spacing: -.045em; }
.template-phone strong i { color: #e8bcc9; font-weight: 500; }
.template-olive .template-phone { background-image: linear-gradient(180deg,rgba(28,44,34,.08),rgba(28,44,34,.7)),url("assets/aniyla-editorial-hero.webp"); background-position: 38% 49%; }
.template-olive .template-phone strong i { color: #c8d0b9; }
.template-night .template-phone { background-image: linear-gradient(180deg,rgba(28,27,43,.15),rgba(28,27,43,.78)),url("assets/aniyla-editorial-hero.webp"); background-position: 65% 45%; }
.template-night .template-phone strong i { color: #cbb894; }
.template-card footer { min-height: 74px; padding: 15px 8px 5px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.template-card footer > span { display: grid; gap: 2px; }
.template-card footer b { font-size: 12px; }
.template-card footer small { color: var(--text-muted); font-size: 9px; }
.template-card footer > i { width: 36px; height: 36px; display: grid; place-items: center; color: #fff; background: var(--plum); border-radius: 10px; font-style: normal; }
.template-showcase-cta { margin-top: 34px; padding-top: 23px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--border-soft); }
.template-showcase-cta > span { color: var(--text-muted); font-size: 11px; }
.finale-assurance { margin: 0 0 27px; color: rgba(245,236,228,.66); font-size: 10px; letter-spacing: .03em; }

@media (max-width: 900px) {
  .home-proof { grid-template-columns: 1fr; gap: 25px; }
  .home-proof-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
  .home-proof-intro > p:last-child { text-align: right; }
  .template-showcase > header { grid-template-columns: 1fr; gap: 25px; }
  .template-showcase > header > p { max-width: 570px; }
  .template-phone { min-height: 360px; }
  .story-conversion { grid-column: auto; padding-top: 28px; border-top: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .canvas-actions .canvas-action { min-width: 0; min-height: 42px; padding-inline: 11px; border-radius: 9px; }
  .canvas-actions .preview-action,
  .canvas-actions .publish-button { min-width: 0; }
  .home-proof { padding: 46px 18px; }
  .home-proof-intro { display: block; }
  .home-proof-intro > p:last-child { text-align: left; }
  .home-proof-grid { grid-template-columns: 1fr; }
  .home-proof-grid article { min-height: 0; padding: 23px 0; border-left: 0; border-top: 1px solid var(--border-soft); }
  .home-proof-grid small { max-width: 330px; }
  .story-conversion { margin-top: 5px; align-items: stretch; }
  .story-conversion .v2-button { width: 100%; }
  .template-showcase { padding: 82px 18px; }
  .template-showcase h2 { font-size: clamp(48px,13vw,67px); }
  .template-grid { grid-template-columns: 1fr; gap: 16px; }
  .template-phone { min-height: 440px; }
  .template-showcase-cta { align-items: flex-start; flex-direction: column; gap: 14px; }
  .finale-assurance { max-width: 300px; line-height: 1.7; }
}

/* Invitation V7 — Anı Açılışı */
.memory-opening {
  --opening-paper: #efe5d8;
  --opening-ink: #34202a;
  --opening-wine: #6f3b50;
  --opening-gold: #b49469;
  min-height: max(600px, calc(100dvh - 134px));
  background: #24121a;
  perspective: 1800px;
}
.memory-opening .ceremony-photo {
  background-position: center 43%;
  filter: saturate(.66) sepia(.08) brightness(.53);
  transform: scale(1.035);
}
.memory-opening .ceremony-shade {
  z-index: 2;
  background:
    radial-gradient(circle at 50% 44%, rgba(36,17,25,.02), rgba(36,17,25,.58) 86%),
    linear-gradient(180deg, rgba(22,9,14,.22), transparent 34% 66%, rgba(22,9,14,.42));
  transition: opacity .8s ease;
}
.memory-opening .ceremony-index {
  top: 82px;
  color: rgba(255,247,240,.63);
}
.memory-opening .ceremony-index span:first-child::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 11px;
  display: inline-block;
  vertical-align: 1px;
  background: #d5b78e;
  border-radius: 50%;
}
.memory-opening .ceremony-title {
  top: 47%;
  max-width: 1080px;
}
.memory-opening .ceremony-title > p { color: rgba(255,245,238,.7); }
.memory-opening .ceremony-title h1 {
  margin: 30px 0 27px;
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(84px, 12.5vw, 188px);
  letter-spacing: -.075em;
  text-shadow: 0 20px 70px rgba(18,6,11,.42);
}
.memory-opening .ceremony-title h1 i { color: #d5b78e; }
.memory-opening .ceremony-title small { color: rgba(255,245,238,.66); }
.memory-opening .ceremony-veil {
  z-index: 4;
  width: 50.2%;
  filter: saturate(.7) sepia(.07) brightness(.58);
  backface-visibility: hidden;
  transition: transform 1.25s cubic-bezier(.76,0,.24,1), filter .8s ease, opacity .7s ease;
}
.memory-opening .ceremony-veil::before {
  background-position: center 43%;
  transform: scale(1.035);
}
.memory-opening .ceremony-veil::after {
  background: linear-gradient(180deg, rgba(35,14,23,.08), rgba(35,14,23,.28));
}
.memory-opening .ceremony-veil.veil-left {
  clip-path: polygon(0 0,100% 0,96% 100%,0 100%);
  box-shadow: 18px 0 42px rgba(18,6,11,.12);
}
.memory-opening .ceremony-veil.veil-right {
  clip-path: polygon(4% 0,100% 0,100% 100%,0 100%);
  box-shadow: -18px 0 42px rgba(18,6,11,.12);
}
.memory-opening .memory-reveal {
  z-index: 3;
  top: 49%;
  width: min(980px, calc(100% - 96px));
  height: min(610px, 68dvh);
  aspect-ratio: auto;
  padding: 0;
  display: grid;
  grid-template-columns: 46% 54%;
  overflow: hidden;
  background: var(--opening-paper);
  border: 1px solid rgba(255,246,238,.5);
  box-shadow: 0 58px 140px rgba(12,4,8,.5);
  opacity: 0;
  transform: translate(-50%,-45%) scale(.82) rotate(-1.2deg);
  transition: opacity .48s .36s ease, transform 1.05s .28s var(--v2-ease);
}
.memory-reveal-photo {
  position: relative;
  min-width: 0;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(37,16,24,.04), rgba(37,16,24,.38)),
    url("assets/aniyla-editorial-hero.webp") center 43% / cover no-repeat;
  filter: saturate(.72) sepia(.06);
}
.memory-reveal-photo::before {
  content: "BİRLİKTE / 20 · 06 · 2027";
  position: absolute;
  z-index: 2;
  left: 22px;
  top: 50%;
  color: rgba(255,255,255,.72);
  font: 500 7px var(--utility);
  letter-spacing: .17em;
  writing-mode: vertical-rl;
  transform: translateY(-50%) rotate(180deg);
}
.memory-reveal-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 12px solid rgba(239,229,216,.12);
  pointer-events: none;
}
.memory-reveal-photo > span,
.memory-reveal-photo > small {
  position: absolute;
  z-index: 2;
  left: 45px;
  right: 24px;
}
.memory-reveal-photo > span {
  bottom: 43px;
  font: 500 clamp(28px,3vw,43px)/.9 var(--display);
  letter-spacing: -.045em;
}
.memory-reveal-photo > small {
  bottom: 22px;
  font: 500 7px var(--utility);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.memory-opening .ceremony-letter-inner {
  min-width: 0;
  height: auto;
  padding: clamp(26px,3.3vw,48px) clamp(25px,3.6vw,52px) 27px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.24),transparent 52%),
    repeating-linear-gradient(0deg,rgba(73,42,53,.016) 0 1px,transparent 1px 4px),
    var(--opening-paper);
}
.memory-opening .ceremony-letter-inner > header img { width: 32px; }
.memory-opening .ceremony-letter-heading { margin: auto 0 18px; }
.memory-opening .ceremony-letter-heading h2 { font-size: clamp(42px,4vw,61px); }
.memory-opening .ceremony-letter-heading > span { font-size: 10px; }
.memory-opening .ceremony-date-block { min-height: 98px; }
.memory-opening .ceremony-date-block > strong { font-size: 72px; }
.memory-opening .ceremony-info-grid strong { font-size: 15px; }
.memory-opening .ceremony-open {
  bottom: 7.5%;
  min-width: 142px;
  min-height: 46px;
  color: #f6eee7;
  background: rgba(40,19,28,.46);
  border-color: rgba(255,255,255,.34);
  box-shadow: 0 13px 35px rgba(0,0,0,.18);
  backdrop-filter: blur(14px);
}
.memory-opening .ceremony-open:hover { color: var(--opening-ink); background: #f7eee4; }
.memory-opening .ceremony-open i { color: #d5b78e; }
.ceremony-skip {
  position: absolute;
  z-index: 9;
  right: clamp(22px,4vw,60px);
  bottom: 27px;
  min-height: 44px;
  padding: 10px 0;
  color: rgba(255,247,240,.68);
  background: transparent;
  border: 0;
  cursor: pointer;
  font: 500 8px var(--utility);
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: color .25s ease, opacity .3s ease;
}
.ceremony-skip:hover { color: #fff; }
.ceremony-skip span { margin-left: 8px; }
.ceremony-progress {
  position: absolute;
  z-index: 9;
  left: clamp(22px,4vw,60px);
  bottom: 32px;
  width: min(290px, 34vw);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  color: rgba(255,247,240,.62);
  font: 500 7px var(--utility);
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: opacity .3s ease;
}
.ceremony-progress i {
  position: relative;
  height: 1px;
  overflow: hidden;
  background: rgba(255,255,255,.22);
}
.ceremony-progress i::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #d5b78e;
  transform: scaleX(0);
  transform-origin: left;
  animation: memory-opening-progress 1.15s linear forwards;
}
.memory-opening .ceremony-continue {
  bottom: 4px;
  padding: 9px 15px;
  color: rgba(255,248,242,.82);
  background: rgba(35,16,24,.4);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  backdrop-filter: blur(12px);
}
.memory-opening.is-letter-open .ceremony-veil.veil-left { opacity: .2; transform: translateX(-106%) rotateY(-9deg) rotateZ(-1.5deg); }
.memory-opening.is-letter-open .ceremony-veil.veil-right { opacity: .2; transform: translateX(106%) rotateY(9deg) rotateZ(1.5deg); }
.memory-opening.is-letter-open .ceremony-photo { filter: saturate(.62) sepia(.08) brightness(.36) blur(2px); transform: scale(1.1); }
.memory-opening.is-letter-open .ceremony-shade { opacity: .75; }
.memory-opening.is-letter-open .ceremony-title { opacity: 0; transform: translate(-50%,-59%) scale(.94); }
.memory-opening.is-letter-open .memory-reveal { opacity: 1; transform: translate(-50%,-50%) scale(1) rotate(-.6deg); }
.memory-opening.is-letter-open .ceremony-progress,
.memory-opening.is-letter-open .ceremony-skip { opacity: 0; pointer-events: none; }
@keyframes memory-opening-progress { to { transform: scaleX(1); } }

@media (max-width: 760px) {
  .memory-opening { min-height: max(620px, calc(100dvh - 124px)); }
  .memory-opening .ceremony-index { top: 72px; font-size: 6px; }
  .memory-opening .ceremony-index span:last-child { display: none; }
  .memory-opening .ceremony-title { top: 44%; }
  .memory-opening .ceremony-title h1 { margin-block: 23px; font-size: clamp(76px,26vw,112px); }
  .memory-opening .memory-reveal {
    top: 48%;
    width: calc(100% - 26px);
    height: min(535px, calc(100dvh - 150px));
    min-height: 455px;
    grid-template-columns: 1fr;
    grid-template-rows: 41% 59%;
  }
  .memory-reveal-photo { background-position: center 38%; }
  .memory-reveal-photo::before { left: 13px; font-size: 5px; }
  .memory-reveal-photo::after { border-width: 7px; }
  .memory-reveal-photo > span { left: 29px; bottom: 27px; font-size: 29px; }
  .memory-reveal-photo > small { left: 29px; bottom: 12px; font-size: 5px; }
  .memory-opening .ceremony-letter-inner { padding: 13px 16px 11px; }
  .memory-opening .ceremony-letter-inner > header { grid-template-columns: 25px 1fr auto; }
  .memory-opening .ceremony-letter-inner > header img { width: 24px; }
  .memory-opening .ceremony-letter-heading { margin: auto 0 7px; }
  .memory-opening .ceremony-letter-heading p { margin-bottom: 5px; font-size: 5px; }
  .memory-opening .ceremony-letter-heading h2 { font-size: 31px; }
  .memory-opening .ceremony-letter-heading > span { margin-top: 5px; font-size: 7px; }
  .memory-opening .ceremony-date-block { min-height: 61px; padding-block: 5px; }
  .memory-opening .ceremony-date-block > strong { font-size: 45px; }
  .memory-opening .ceremony-info-grid > div { padding: 7px 5px; }
  .memory-opening .ceremony-info-grid strong { font-size: 10px; }
  .memory-opening .ceremony-letter address { padding-block: 5px; }
  .memory-opening .ceremony-letter-inner > footer { padding-top: 6px; }
  .memory-opening .ceremony-open { bottom: 64px; }
  .ceremony-progress { left: 17px; bottom: 23px; width: 190px; }
  .ceremony-skip { right: 17px; bottom: 14px; font-size: 6px; }
  .memory-opening .ceremony-continue { bottom: 10px; font-size: 7px; }
}

@media (max-width: 390px) {
  .memory-opening .memory-reveal { height: min(505px, calc(100dvh - 142px)); min-height: 425px; }
  .memory-opening .ceremony-letter address small,
  .memory-opening .ceremony-letter-inner > footer span { display: none; }
  .memory-opening .ceremony-letter-inner > footer { justify-content: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
  .ceremony-progress i::after { animation: none; transform: scaleX(1); }
  .memory-opening .ceremony-veil,
  .memory-opening .memory-reveal { transition: none !important; }
}

/* Invitation V8 — complete guest journey */
body[data-current-route="invitation"] .site-header,
body[data-current-route="invitation"] .scroll-progress { display: none; }
body[data-current-route="invitation"] { background: #211119; }
.invitation-route { position: relative; background: #211119; }
.invitation-route > .invite-toolbar {
  position: absolute;
  z-index: 60;
  top: 16px;
  left: 50%;
  width: min(760px, calc(100% - 32px));
  min-height: 50px;
  padding: 7px 8px 7px 13px;
  justify-content: space-between;
  color: rgba(255,248,242,.74);
  background: rgba(31,14,21,.54);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  box-shadow: 0 15px 42px rgba(10,3,6,.2);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
}
.invitation-route > .invite-toolbar .invite-brand {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255,248,242,.76);
  text-decoration: none;
  font-size: 9px;
  font-weight: 600;
}
.invitation-route > .invite-toolbar .invite-brand img {
  width: 28px;
  height: 28px;
  padding: 5px;
  background: rgba(244,234,225,.94);
  border-radius: 50%;
}
.invitation-route > .invite-toolbar > a:last-child {
  min-height: 36px;
  padding: 8px 14px;
  color: #2e1822;
  background: #f1e8de;
  border-radius: 999px;
  font-size: 9px;
  text-decoration: none;
}
body[data-current-route="invitation"] .memory-opening { min-height: 100dvh; }
.full-invitation { background: #efe6da; }

.invite-guest-nav {
  position: sticky;
  z-index: 35;
  top: 0;
  min-height: 64px;
  padding: 8px max(20px, calc((100vw - 1180px)/2));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px,4vw,55px);
  color: #4d3340;
  background: rgba(247,242,234,.9);
  border-bottom: 1px solid rgba(62,35,46,.12);
  backdrop-filter: blur(18px);
}
.invite-guest-nav a {
  padding: 9px 0;
  color: inherit;
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
}
.invite-guest-nav .guest-nav-rsvp {
  padding: 10px 16px;
  color: #fff;
  background: #4c2637;
  border-radius: 999px;
}
.invite-story-chapter,
.invite-program-chapter,
.invite-venue-chapter,
.invite-memory-chapter,
.invite-rsvp-chapter { scroll-margin-top: 64px; }

.invite-story-chapter {
  min-height: 1080px;
  padding: 95px max(24px,calc((100vw - 1240px)/2)) 85px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  grid-template-rows: auto 1fr auto;
  gap: 70px clamp(60px,9vw,150px);
  align-items: center;
  color: #34202a;
  background: #efe6da;
}
.invite-story-chapter::before { content: none; }
.invite-chapter-meta {
  grid-column: 1 / 3;
  padding-bottom: 15px;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid rgba(62,35,46,.18);
  font: 500 8px var(--utility);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.invite-chapter-meta span { color: #a77b60; }
.invite-chapter-meta p { margin: 0; }
.invite-chapter-meta small { color: rgba(52,32,42,.5); }
.invite-story-copy { position: relative; z-index: 2; max-width: 590px; }
.invite-story-copy .eyebrow { margin-bottom: 28px; color: #875269; }
.invite-story-copy h2 {
  margin: 0;
  font: 500 clamp(60px,6.7vw,100px)/.88 var(--display);
  letter-spacing: -.065em;
}
.invite-story-copy > p:not(.eyebrow) { max-width: 520px; margin: 35px 0 0; color: rgba(52,32,42,.66); font-size: 14px; line-height: 1.9; }
.invite-signature { margin-top: 31px; display: block; color: #8d5b70; font: italic 500 21px var(--display); }
.invite-story-portrait {
  position: relative;
  z-index: 2;
  width: min(100%,530px);
  margin: 0;
  justify-self: end;
  padding: 10px;
  background: #f8f2ea;
  box-shadow: 0 40px 90px rgba(65,36,48,.2);
  transform: translateY(calc((.5 - var(--scene-progress,.5)) * 55px)) rotate(2.3deg);
}
.invite-story-portrait > div {
  min-height: 610px;
  background: linear-gradient(180deg,transparent 55%,rgba(35,17,24,.35)),url("assets/aniyla-editorial-hero.webp") center 43%/cover;
  filter: saturate(.7) sepia(.06);
}
.invite-story-portrait figcaption { padding: 13px 4px 3px; display: flex; justify-content: space-between; color: rgba(52,32,42,.56); font: 500 7px var(--utility); letter-spacing: .12em; text-transform: uppercase; }
.invite-story-chapter .countdown {
  grid-column: 1 / 3;
  width: 100%;
  max-width: none;
  margin: 0;
  border-block: 1px solid rgba(62,35,46,.17);
}
.invite-story-chapter .countdown div { min-height: 118px; align-items: center; justify-content: center; }
.invite-story-chapter .countdown strong { font-size: clamp(48px,6vw,82px); }

.invite-program-chapter { min-height: 940px; grid-template-columns: 1.07fr .93fr; background: #f7f1e9; }
.invite-program-chapter .detail-photo {
  position: relative;
  min-height: 940px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px;
  color: #fff;
  background-image: linear-gradient(180deg,rgba(30,15,21,.1),rgba(30,15,21,.48)),url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=1600&q=88");
  background-position: center;
}
.invite-program-chapter .detail-photo span,
.invite-program-chapter .detail-photo small { position: relative; z-index: 2; font: 500 7px var(--utility); letter-spacing: .14em; text-transform: uppercase; }
.invite-program-chapter .detail-copy { padding: 85px clamp(34px,6vw,95px); }
.invite-program-chapter .detail-copy h2 { margin: 0 0 48px; font: 500 clamp(56px,6vw,86px)/.88 var(--display); letter-spacing: -.06em; }
.invite-program-chapter .timeline-item { grid-template-columns: 78px 1fr; }
.invite-program-chapter .timeline-item > span { padding-top: 7px; color: #8e6274; }
.invite-program-chapter .timeline-item h3 { font-size: clamp(28px,3vw,43px); }
.invite-inline-link { align-self: flex-start; margin-top: 30px; padding: 12px 0; color: #4c2637; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 700; text-decoration: none; }
.invite-inline-link span { margin-left: 18px; }

.invite-venue-chapter {
  min-height: 780px;
  padding: 110px max(24px,calc((100vw - 1200px)/2));
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: clamp(70px,10vw,160px);
  color: #f7eee6;
  background: #4c2637;
  text-align: left;
}
.invite-venue-chapter::before,
.invite-venue-chapter::after { opacity: .45; color: rgba(247,238,230,.08); }
.invite-venue-chapter > div { position: relative; z-index: 2; }
.invite-venue-chapter .eyebrow { color: #d4b283; }
.invite-venue-chapter h2 { margin: 0; color: #f7eee6; font: 500 clamp(95px,12vw,178px)/.67 var(--display); letter-spacing: -.075em; transform: none; }
.invite-venue-chapter h2 em { color: #d8aeb7; font-weight: 500; }
.invite-venue-card { padding: clamp(30px,4vw,55px); background: #f2e9df; color: #34202a; box-shadow: 0 40px 90px rgba(20,7,12,.3); transform: rotate(1.4deg); }
.venue-coordinates { color: #9c755a; font: 500 7px var(--utility); letter-spacing: .15em; }
.invite-venue-card > p { margin: 33px 0; font: 500 clamp(27px,3vw,42px)/1.15 var(--display); }
.invite-venue-card dl { margin: 0; border-top: 1px solid rgba(62,35,46,.17); }
.invite-venue-card dl div { padding: 14px 0; display: grid; grid-template-columns: 90px 1fr; border-bottom: 1px solid rgba(62,35,46,.14); }
.invite-venue-card dt { color: rgba(52,32,42,.48); font: 500 7px var(--utility); letter-spacing: .13em; text-transform: uppercase; }
.invite-venue-card dd { margin: 0; font-size: 11px; font-weight: 700; }
.invite-map-button { width: 100%; min-height: 50px; margin-top: 26px; padding: 12px 17px; display: flex; justify-content: space-between; align-items: center; color: #fff; background: #4c2637; border: 0; border-radius: 999px; cursor: pointer; font-size: 10px; font-weight: 700; }

.invite-memory-chapter {
  min-height: 1080px;
  padding: 120px max(24px,calc((100vw - 1240px)/2));
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  grid-template-rows: 1fr auto;
  gap: 70px clamp(60px,9vw,145px);
  align-items: center;
  color: #34202a;
  background: #d8b4b5;
  overflow: hidden;
}
.invite-memory-chapter > header { max-width: 480px; }
.invite-memory-chapter h2 { margin: 0; font: 500 clamp(64px,7vw,104px)/.82 var(--display); letter-spacing: -.065em; }
.invite-memory-chapter h2 em { color: #6f3b50; font-weight: 500; }
.invite-memory-chapter header > p:last-child { margin: 35px 0 0; color: rgba(52,32,42,.65); font-size: 14px; line-height: 1.8; }
.invite-memory-collage { position: relative; min-height: 720px; }
.memory-frame { position: absolute; margin: 0; overflow: hidden; background-size: cover; box-shadow: 0 35px 80px rgba(66,34,46,.24); }
.memory-frame span { position: absolute; left: 15px; top: 14px; width: 31px; height: 31px; display: grid; place-items: center; color: #fff; background: rgba(39,18,27,.35); border: 1px solid rgba(255,255,255,.36); border-radius: 50%; backdrop-filter: blur(8px); font: 500 7px var(--utility); }
.memory-frame-a { left: 0; top: 3%; width: 57%; height: 72%; background-image: linear-gradient(180deg,transparent,rgba(30,15,21,.18)),url("https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=1200&q=86"); transform: rotate(-4deg); }
.memory-frame-b { right: 0; bottom: 2%; width: 52%; height: 62%; background-image: linear-gradient(180deg,transparent,rgba(30,15,21,.18)),url("https://images.unsplash.com/photo-1507504031003-b417219a0fde?auto=format&fit=crop&w=1200&q=86"); transform: rotate(5deg); }
.memory-frame-c { right: 3%; top: 0; width: 36%; height: 38%; background-image: linear-gradient(180deg,transparent,rgba(30,15,21,.25)),url("assets/aniyla-editorial-hero.webp"); background-position: center 40%; transform: rotate(2deg); }
.memory-live-count { position: absolute; z-index: 4; left: 39%; bottom: 9%; width: 150px; height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; background: #4c2637; border-radius: 50%; box-shadow: 0 25px 55px rgba(62,29,43,.3); }
.memory-live-count strong { font: 500 43px/1 var(--display); }
.memory-live-count span { margin-top: 6px; font: 500 7px var(--utility); letter-spacing: .12em; text-transform: uppercase; }
.invite-upload-action { grid-column: 1 / 3; padding-top: 25px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(62,35,46,.2); }
.invite-upload-action button { min-height: 52px; padding: 12px 19px; display: flex; align-items: center; gap: 32px; color: #fff; background: #4c2637; border: 0; border-radius: 999px; cursor: pointer; font-size: 11px; font-weight: 700; }
.invite-upload-action button span { font-size: 20px; font-weight: 400; }
.invite-upload-action p { margin: 0; color: rgba(52,32,42,.58); font: 500 8px var(--utility); letter-spacing: .08em; }

.invite-rsvp-chapter {
  min-height: 900px;
  padding: 120px max(24px,calc((100vw - 1160px)/2));
  color: #f6ede5;
  background: #211119;
}
.invite-rsvp-chapter::before { content: "EVET"; color: rgba(255,255,255,.028); }
.invite-rsvp-chapter h2 { font-size: clamp(64px,7.2vw,104px); line-height: .82; }
.invite-rsvp-chapter > div > p:last-child { max-width: 430px; margin-top: 30px; color: rgba(246,237,229,.62); line-height: 1.8; }
.invite-rsvp-chapter .rsvp-card { padding: clamp(28px,4vw,48px); background: #f5eee6; box-shadow: 0 40px 95px rgba(0,0,0,.35); }
.invite-rsvp-chapter .radio-card { display: flex; align-items: center; border-radius: 10px; }
.rsvp-extra-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 24px; }
.rsvp-extra-fields label { min-width: 0; }
.rsvp-extra-fields select,
.rsvp-extra-fields textarea { width: 100%; margin-top: 7px; padding: 12px 13px; color: #34202a; background: #fffdf9; border: 1px solid rgba(62,35,46,.15); border-radius: 10px; resize: vertical; font-size: 11px; }
.rsvp-extra-fields select { min-height: 48px; }

.invite-guest-footer { min-height: 100px; padding: 24px max(20px,calc((100vw - 1200px)/2)); display: flex; align-items: center; justify-content: space-between; color: rgba(246,237,229,.62); background: #160b10; border-top: 1px solid rgba(255,255,255,.07); font: 500 8px var(--utility); letter-spacing: .1em; text-transform: uppercase; }
.invite-guest-footer > div { display: flex; align-items: center; gap: 13px; }
.invite-guest-footer img { width: 31px; filter: brightness(0) invert(1); opacity: .55; }
.invite-guest-footer a { color: inherit; text-decoration: none; }

@media (max-width: 900px) {
  .invite-story-chapter { min-height: auto; grid-template-columns: 1fr 1fr; gap: 55px 40px; }
  .invite-story-portrait > div { min-height: 510px; }
  .invite-program-chapter { min-height: auto; }
  .invite-program-chapter .detail-photo { min-height: 760px; }
  .invite-venue-chapter { min-height: auto; gap: 50px; }
  .invite-memory-chapter { min-height: auto; grid-template-columns: 1fr; }
  .invite-memory-chapter > header { max-width: 690px; }
  .invite-memory-collage { min-height: 650px; }
  .invite-upload-action { grid-column: 1; }
}

@media (max-width: 760px) {
  .invitation-route > .invite-toolbar { top: 10px; width: calc(100% - 20px); padding-left: 10px; }
  .invitation-route > .invite-toolbar .invite-brand span { display: none; }
  .invitation-route > .invite-toolbar > a:last-child { padding-inline: 12px; }
  body[data-current-route="invitation"] .memory-opening { min-height: 100dvh; }
  .invite-guest-nav { min-height: 56px; padding-inline: 10px; justify-content: space-between; gap: 4px; overflow-x: auto; }
  .invite-guest-nav a { flex: 0 0 auto; padding: 9px 7px; font-size: 8px; }
  .invite-guest-nav .guest-nav-rsvp { padding-inline: 11px; }
  .invite-story-chapter { padding: 75px 18px 70px; display: flex; flex-direction: column; align-items: stretch; gap: 48px; }
  .invite-chapter-meta { width: 100%; grid-template-columns: 32px 1fr; }
  .invite-chapter-meta small { display: none; }
  .invite-story-copy h2 { font-size: clamp(56px,17vw,76px); }
  .invite-story-copy > p:not(.eyebrow) { font-size: 13px; }
  .invite-story-portrait { width: 91%; margin-left: auto; }
  .invite-story-portrait > div { min-height: 540px; }
  .invite-story-chapter .countdown { width: 100%; }
  .invite-story-chapter .countdown div { min-height: 92px; }
  .invite-story-chapter .countdown strong { font-size: 40px; }
  .invite-program-chapter { grid-template-columns: 1fr; }
  .invite-program-chapter .detail-photo { min-height: 620px; clip-path: none; }
  .invite-program-chapter .detail-copy { padding: 75px 20px 85px; }
  .invite-program-chapter .detail-copy h2 { font-size: clamp(57px,18vw,79px); }
  .invite-program-chapter .timeline-item { grid-template-columns: 65px 1fr; }
  .invite-venue-chapter { padding: 90px 20px; display: block; }
  .invite-venue-chapter h2 { margin-bottom: 75px; font-size: 30vw; }
  .invite-venue-card { padding: 28px 22px; transform: none; }
  .invite-memory-chapter { padding: 90px 20px; display: block; }
  .invite-memory-chapter h2 { font-size: clamp(60px,18vw,82px); }
  .invite-memory-collage { min-height: 570px; margin: 65px 0 45px; }
  .memory-frame-a { width: 62%; height: 69%; }
  .memory-frame-b { width: 57%; height: 58%; }
  .memory-frame-c { width: 39%; height: 34%; }
  .memory-live-count { left: 34%; width: 112px; height: 112px; }
  .memory-live-count strong { font-size: 34px; }
  .invite-upload-action { align-items: stretch; flex-direction: column; gap: 18px; }
  .invite-upload-action button { width: 100%; justify-content: space-between; }
  .invite-upload-action p { line-height: 1.6; }
  .invite-rsvp-chapter { padding: 90px 18px; }
  .invite-rsvp-chapter h2 { font-size: clamp(65px,19vw,86px); }
  .rsvp-extra-fields { grid-template-columns: 1fr; }
  .invite-guest-footer { min-height: 130px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .invite-story-portrait { transform: none !important; }
}

/* Invitation V9 — ceremonial folio */
body.invite-locked { overflow: hidden; }
body[data-current-route="invitation"] {
  --sc-canvas: #18221c;
  --sc-surface: #243128;
  --sc-ink: #f5f0e8;
  --sc-ink-soft: #c4bbb0;
  --sc-accent: #b47288;
  --sc-accent-ink: #18221c;
  --sc-font-display: "Playfair Display", Georgia, serif;
  --sc-font-text: "Manrope", sans-serif;
  --sc-font-mono: "DM Mono", monospace;
  background: #18221c;
}

.invite-experience {
  position: relative;
  isolation: isolate;
  color: #f5f0e8;
  background: #18221c;
  font-family: var(--sc-font-text);
  overflow: clip;
}

.invite-experience ::selection { color: #18221c; background: #d5a6b5; }
.invite-experience :focus-visible { outline-color: #d5a6b5; }
.invite-wrap { width: min(100%, 1280px); margin-inline: auto; padding-inline: clamp(22px, 5.5vw, 88px); }
.invite-kicker {
  margin: 0;
  color: #d5a6b5;
  font: 500 10px/1.4 var(--sc-font-mono);
  letter-spacing: .18em;
  text-transform: uppercase;
}

.invite-scroll-progress { height: 3px; background: #b47288; }
.invite-film-grain {
  position: fixed;
  z-index: 45;
  inset: -50%;
  pointer-events: none;
  opacity: .045;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
  animation: invite-grain 1.2s steps(2) infinite;
}

@keyframes invite-grain {
  0%, 100% { transform: translate3d(0, 0, 0); }
  25% { transform: translate3d(3%, -2%, 0); }
  50% { transform: translate3d(-2%, 3%, 0); }
  75% { transform: translate3d(2%, 2%, 0); }
}

/* The opening is a deliberate threshold, not an auto-playing splash screen. */
.invite-threshold {
  position: fixed;
  z-index: 210;
  inset: 0;
  min-height: 100dvh;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #f5f0e8;
  background: #121713;
  perspective: 1400px;
  transition: opacity 420ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 420ms;
}
.invite-threshold.is-open { opacity: 0; visibility: hidden; pointer-events: none; }
.threshold-wing {
  position: absolute;
  z-index: 1;
  inset-block: 0;
  width: 50.05%;
  overflow: hidden;
  will-change: transform;
  transform-style: preserve-3d;
}
.threshold-wing-left { left: 0; transform-origin: 0 50%; }
.threshold-wing-right { right: 0; transform-origin: 100% 50%; }
.threshold-wing span {
  position: absolute;
  inset-block: 0;
  width: 100vw;
  max-width: none;
  background: linear-gradient(180deg, rgba(10,16,12,.05), rgba(10,16,12,.34)), url("assets/aniyla-invite-opening-v2.jpg") center 52% / cover no-repeat;
  filter: saturate(.82) contrast(1.04) brightness(.72);
}
.threshold-wing-left span { left: 0; }
.threshold-wing-right span { right: 0; }
.threshold-wing::after {
  content: "";
  position: absolute;
  inset-block: 0;
  width: 1px;
  background: linear-gradient(transparent 4%, rgba(247,237,225,.55) 42%, rgba(247,237,225,.12) 75%, transparent);
  box-shadow: 0 0 38px rgba(233,216,198,.24);
}
.threshold-wing-left::after { right: 0; }
.threshold-wing-right::after { left: 0; }
.threshold-vellum {
  position: absolute;
  z-index: 3;
  inset: clamp(24px, 5vw, 72px);
  border: 1px solid rgba(246,236,224,.2);
  background:
    radial-gradient(circle at 50% 46%, rgba(250,241,231,.16), transparent 52%),
    linear-gradient(135deg, rgba(242,232,219,.09), rgba(242,232,219,.025));
  box-shadow: inset 0 0 80px rgba(245,231,214,.05), 0 30px 100px rgba(4,8,5,.28);
  backdrop-filter: blur(2px);
  will-change: transform, opacity;
}
.threshold-light {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 48%;
  width: min(66vw, 820px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,239,214,.64), rgba(226,191,164,.15) 38%, transparent 70%);
  filter: blur(24px);
  opacity: .16;
  transform: translate(-50%, -50%) scale(.45);
  will-change: transform, opacity;
}
.threshold-copy {
  position: relative;
  z-index: 6;
  width: min(840px, calc(100vw - 48px));
  padding: 48px 24px;
  text-align: center;
  will-change: transform, opacity;
}
.threshold-copy > p {
  margin: 0 0 23px;
  color: rgba(245,240,232,.7);
  font: 500 9px/1.4 var(--sc-font-mono);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.threshold-copy h2 {
  margin: 0;
  color: #f5f0e8;
  font: italic 500 clamp(48px, 6.4vw, 94px)/.94 var(--sc-font-display);
  letter-spacing: -.055em;
  text-wrap: balance;
}
.threshold-open {
  min-height: 56px;
  margin-top: 44px;
  padding: 10px 13px 10px 25px;
  display: inline-flex;
  align-items: center;
  gap: 24px;
  color: #2b1f23;
  background: #f5f0e8;
  border: 0;
  border-radius: 999px;
  box-shadow: 0 15px 50px rgba(6,9,7,.28);
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
}
.threshold-open i {
  width: 32px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  color: #f5f0e8;
  background: #3b2430;
  border-radius: 50%;
  transition: transform 280ms cubic-bezier(.22, 1, .36, 1);
}
.threshold-open i::before { content: "↗"; font: 400 14px/1 sans-serif; }
.threshold-open:hover i { transform: rotate(45deg); }
.threshold-skip {
  position: absolute;
  z-index: 7;
  right: clamp(18px, 3vw, 45px);
  bottom: clamp(18px, 3vw, 36px);
  padding: 9px 0;
  color: rgba(245,240,232,.62);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(245,240,232,.3);
  cursor: pointer;
  font: 500 9px/1.3 var(--sc-font-mono);
  letter-spacing: .08em;
}
.threshold-guest {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #2d1d24;
  opacity: 0;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
}
.threshold-guest span,
.threshold-guest small { font: 500 9px/1.3 var(--sc-font-mono); letter-spacing: .18em; text-transform: uppercase; }
.threshold-guest strong { margin: 7px 0 9px; font: italic 500 clamp(52px, 7vw, 96px)/1 var(--sc-font-display); letter-spacing: -.05em; white-space: nowrap; }
.threshold-fragments { position: absolute; z-index: 5; inset: 0; pointer-events: none; }
.threshold-fragments i {
  position: absolute;
  left: calc(50% + var(--fragment-x));
  top: calc(50% + var(--fragment-y));
  width: 8px;
  height: 22px;
  background: #a6757d;
  border-radius: 100% 0 100% 0;
  opacity: .72;
  transform: rotate(var(--fragment-r));
}
.threshold-fragments i:nth-child(1) { --fragment-x: -46px; --fragment-y: -112px; --fragment-r: 24deg; }
.threshold-fragments i:nth-child(2) { --fragment-x: 35px; --fragment-y: -72px; --fragment-r: -38deg; }
.threshold-fragments i:nth-child(3) { --fragment-x: -24px; --fragment-y: 76px; --fragment-r: 72deg; }
.threshold-fragments i:nth-child(4) { --fragment-x: 70px; --fragment-y: 125px; --fragment-r: 12deg; }
.threshold-fragments i:nth-child(5) { --fragment-x: -96px; --fragment-y: 160px; --fragment-r: -52deg; }
.threshold-fragments i:nth-child(6) { --fragment-x: 112px; --fragment-y: -142px; --fragment-r: 41deg; }

/* Hero: one cinematic image, one localized reading field, one unbroken name. */
.invite-hero-stage { background: #121713; }
.invite-hero-photo {
  position: absolute;
  inset: -3%;
  width: 106%;
  height: 106%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 54%;
  filter: saturate(.82) contrast(1.03);
  transform: translate3d(0, calc(var(--sc-p, 0) * -3%), 0) scale(1.06);
  will-change: transform;
}
.invite-hero-scrim {
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    radial-gradient(105% 92% at 0% 86%, rgba(7,12,9,.98) 0%, rgba(7,12,9,.9) 42%, rgba(7,12,9,.68) 66%, rgba(7,12,9,.24) 79%, transparent 89%),
    linear-gradient(90deg, rgba(10,16,12,.9) 0%, rgba(10,16,12,.72) 51%, rgba(10,16,12,.44) 72%, transparent 91%),
    linear-gradient(0deg, rgba(9,14,11,.72) 0%, transparent 37%),
    linear-gradient(180deg, rgba(9,14,11,.2), transparent 24%);
}
.invite-hero-copy {
  position: absolute;
  z-index: 4;
  left: clamp(22px, 6.5vw, 104px);
  bottom: clamp(66px, 12vh, 124px);
  width: min(74vw, 900px);
}
.invite-hero-copy h1 {
  margin: 12px 0 18px;
  color: #f5f0e8;
  font: italic 500 clamp(78px, 12.5vw, 190px)/.78 var(--sc-font-display);
  letter-spacing: -.072em;
  text-shadow: 0 18px 50px rgba(6,10,8,.26);
  white-space: nowrap;
}
.invite-hero-stage:focus { outline: none; }
.invite-hero-copy > p:last-child {
  margin: 0;
  color: rgba(245,240,232,.76);
  font: 500 11px/1.7 var(--sc-font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.invite-hero-note {
  position: absolute;
  z-index: 4;
  right: clamp(22px, 5.5vw, 88px);
  bottom: clamp(50px, 8vh, 78px);
  width: min(320px, 26vw);
  margin: 0;
  padding-top: 17px;
  color: rgba(245,240,232,.74);
  border-top: 1px solid rgba(245,240,232,.34);
  font: 500 12px/1.7 var(--sc-font-text);
}
.invite-seam {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 5vh;
  bottom: 5vh;
  width: 1px;
  background: linear-gradient(transparent, rgba(245,240,232,.18) 28%, rgba(245,240,232,.25) 70%, transparent);
  opacity: calc(.75 - (var(--sc-p, 0) * .7));
}

/* Story */
.invite-story { position: relative; padding: clamp(100px, 13vw, 190px) 0; background: #151c17; }
.invite-story::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 37%;
  height: 1px;
  background: rgba(245,240,232,.2);
}
.invite-story-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(360px, .68fr); gap: clamp(70px, 11vw, 170px); align-items: center; }
.invite-experience .invite-story-copy { position: relative; max-width: 570px; }
.invite-experience .invite-story-copy h2 {
  margin: 22px 0 30px;
  color: #f5f0e8;
  font: 500 clamp(54px, 6.2vw, 93px)/.96 var(--sc-font-display);
  letter-spacing: -.055em;
  text-wrap: balance;
}
.invite-experience .invite-story-copy > p:not(.invite-kicker) { max-width: 510px; margin: 0; color: #bdb5aa; font-size: 14px; line-height: 1.9; }
.invite-experience .invite-story-copy > span { display: block; margin-top: 28px; color: #d5a6b5; font: italic 500 20px var(--sc-font-display); }
.invite-countdown { margin-top: 66px; display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid rgba(245,240,232,.16); }
.invite-countdown div { min-height: 115px; padding: 18px 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid rgba(245,240,232,.13); }
.invite-countdown div:last-child { border-right: 0; }
.invite-countdown strong { color: #f5f0e8; font: 500 clamp(40px, 4.5vw, 68px)/1 var(--sc-font-display); font-variant-numeric: tabular-nums; }
.invite-countdown span { margin-top: 7px; color: #8f998f; font: 500 8px var(--sc-font-mono); letter-spacing: .14em; text-transform: uppercase; }
.invite-story-image { width: min(100%, 490px); margin: 0; justify-self: end; }
.invite-story-image img { width: 100%; aspect-ratio: .69; object-fit: cover; object-position: center 48%; filter: saturate(.78); box-shadow: 0 38px 90px rgba(5,10,7,.34); }
.invite-story-image figcaption { margin-top: 13px; color: #838d84; font: 500 8px/1.5 var(--sc-font-mono); letter-spacing: .08em; }

/* Program becomes a landscape that travels, not a row of UI cards. */
.invite-program-stage { color: #f5f0e8; background: #111813; }
.invite-program-stage > img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; filter: saturate(.7) brightness(.68); }
.invite-program-scrim { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(8,13,10,.92), rgba(8,13,10,.57) 42%, rgba(8,13,10,.18) 78%), linear-gradient(0deg, rgba(7,11,9,.62), transparent 45%); }
.invite-program-rail { position: relative; z-index: 3; width: max-content; min-width: 100%; height: 100%; align-items: center; gap: clamp(54px, 7vw, 116px); padding: 0 clamp(24px, 7vw, 112px); }
.invite-program-rail > * { flex: 0 0 auto; }
.program-lead { width: min(590px, 42vw); }
.program-lead h2 { margin: 16px 0 25px; font: italic 500 clamp(70px, 8vw, 124px)/.82 var(--sc-font-display); letter-spacing: -.065em; }
.program-lead > p:last-child { max-width: 430px; margin: 0; color: rgba(245,240,232,.67); font-size: 13px; line-height: 1.8; }
.invite-program-rail > article { width: min(360px, 28vw); min-height: 330px; padding: 29px 8px 27px 30px; border-left: 1px solid rgba(245,240,232,.28); display: flex; flex-direction: column; justify-content: flex-end; }
.invite-program-rail time { color: #d5a6b5; font: 500 10px var(--sc-font-mono); letter-spacing: .16em; }
.invite-program-rail h3 { margin: 18px 0 14px; color: #f5f0e8; font: italic 500 clamp(40px, 4vw, 62px)/.95 var(--sc-font-display); letter-spacing: -.04em; }
.invite-program-rail article p { width: 230px; margin: 0; color: rgba(245,240,232,.62); font-size: 12px; line-height: 1.65; }
.invite-program-rail > aside { width: 370px; min-height: 360px; padding: 40px; display: flex; flex-direction: column; justify-content: center; color: #2c1c23; background: rgba(245,240,232,.92); box-shadow: 0 32px 80px rgba(6,9,7,.3); }
.invite-program-rail aside span { font: 500 9px var(--sc-font-mono); letter-spacing: .14em; text-transform: uppercase; }
.invite-program-rail aside strong { margin: 26px 0 34px; color: #3b2430; font: italic 500 48px/.95 var(--sc-font-display); }
.invite-program-rail aside a { align-self: flex-start; padding-bottom: 5px; color: #3b2430; border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 700; text-decoration: none; }

/* Venue */
.invite-venue { padding: clamp(110px, 14vw, 210px) 0; background: #18221c; }
.invite-venue-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .7fr); gap: clamp(66px, 10vw, 150px); align-items: center; }
.invite-venue figure { position: relative; margin: 0; }
.invite-venue figure::after { content: "41.1136° N 29.1933° E"; position: absolute; right: 18px; bottom: 16px; color: rgba(245,240,232,.72); font: 500 8px var(--sc-font-mono); letter-spacing: .1em; }
.invite-venue figure img { width: 100%; aspect-ratio: 1.32; object-fit: cover; filter: saturate(.7) brightness(.82); }
.invite-venue-copy h2 { margin: 16px 0 28px; color: #f5f0e8; font: italic 500 clamp(62px, 7vw, 104px)/.85 var(--sc-font-display); letter-spacing: -.06em; }
.invite-venue-copy > p:not(.invite-kicker) { max-width: 380px; margin: 0; color: #aaa99e; font-size: 13px; line-height: 1.8; }
.invite-venue-copy dl { margin: 44px 0 30px; border-top: 1px solid rgba(245,240,232,.16); }
.invite-venue-copy dl div { min-height: 48px; padding: 13px 0; display: grid; grid-template-columns: 100px 1fr; align-items: center; border-bottom: 1px solid rgba(245,240,232,.13); }
.invite-venue-copy dt { color: #89948a; font: 500 8px var(--sc-font-mono); letter-spacing: .13em; text-transform: uppercase; }
.invite-venue-copy dd { margin: 0; color: #e5ded4; font-size: 11px; font-weight: 600; }
.invite-action {
  min-height: 50px;
  padding: 10px 12px 10px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  color: #18221c;
  background: #f5f0e8;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
}
.invite-action span { width: 29px; aspect-ratio: 1; display: grid; place-items: center; color: #f5f0e8; background: #3b2430; border-radius: 50%; }

/* Memories */
.invite-memory-stage { color: #f5f0e8; background: #111713; }
.invite-memory-rail { width: max-content; min-width: 100%; height: 100%; align-items: center; gap: clamp(28px, 4vw, 65px); padding: 0 clamp(24px, 6vw, 96px); }
.invite-memory-rail > * { flex: 0 0 auto; }
.invite-memory-rail > header { width: min(540px, 40vw); padding-right: clamp(20px, 4vw, 60px); }
.invite-memory-rail header h2 { margin: 19px 0 28px; color: #f5f0e8; font: 500 clamp(58px, 6.5vw, 98px)/.91 var(--sc-font-display); letter-spacing: -.06em; }
.invite-memory-rail header > p:last-child { max-width: 430px; margin: 0; color: #a9aaa1; font-size: 13px; line-height: 1.8; }
.invite-memory-rail figure { width: clamp(300px, 31vw, 470px); margin: 0; }
.invite-memory-rail figure:nth-of-type(1) { width: clamp(270px, 24vw, 360px); transform: translateY(-5vh); }
.invite-memory-rail figure:nth-of-type(2) { transform: translateY(6vh); }
.invite-memory-rail figure:nth-of-type(3) { transform: translateY(-2vh); }
.invite-memory-rail figure img { width: 100%; height: 58vh; min-height: 390px; max-height: 650px; object-fit: cover; filter: saturate(.76); }
.invite-memory-rail figure:nth-of-type(1) img { object-position: center 48%; }
.invite-memory-rail figure:nth-of-type(2) img { object-position: center 55%; }
.invite-memory-rail figure figcaption { margin-top: 12px; color: #808b82; font: 500 8px var(--sc-font-mono); letter-spacing: .08em; }
.invite-upload-panel { width: 390px; min-height: 460px; padding: 44px; display: flex; flex-direction: column; justify-content: center; color: #2d1e24; background: #d7b4bd; }
.invite-upload-panel > span { font: 500 9px var(--sc-font-mono); letter-spacing: .14em; text-transform: uppercase; }
.invite-upload-panel h3 { margin: 23px 0 35px; color: #3b2430; font: italic 500 51px/.94 var(--sc-font-display); letter-spacing: -.045em; }
.invite-upload-panel button { min-height: 51px; padding: 10px 13px 10px 20px; display: flex; align-items: center; justify-content: space-between; color: #f5f0e8; background: #3b2430; border: 0; border-radius: 999px; cursor: pointer; font-size: 10px; font-weight: 700; }
.invite-upload-panel button span { width: 29px; aspect-ratio: 1; display: grid; place-items: center; background: rgba(245,240,232,.13); border-radius: 50%; font-size: 17px; }
.invite-upload-panel p { margin: 18px 0 0; color: rgba(45,30,36,.64); font-size: 9px; line-height: 1.6; }

/* RSVP */
.invite-rsvp { position: relative; padding: clamp(105px, 13vw, 190px) 0 0; color: #f5f0e8; background: #18221c; }
.invite-rsvp-layout { padding-bottom: clamp(100px, 12vw, 170px); display: grid; grid-template-columns: minmax(0, .84fr) minmax(420px, .68fr); gap: clamp(70px, 11vw, 170px); align-items: start; }
.invite-rsvp-copy { position: sticky; top: 110px; }
.invite-rsvp-copy h2 { max-width: 650px; margin: 20px 0 30px; color: #f5f0e8; font: italic 500 clamp(68px, 7.5vw, 112px)/.86 var(--sc-font-display); letter-spacing: -.065em; }
.invite-rsvp-copy > p:last-child { max-width: 460px; margin: 0; color: #a9aaa1; font-size: 13px; line-height: 1.85; }
.invite-rsvp-form { padding: clamp(29px, 4vw, 48px); color: #302129; background: #f1e9df; box-shadow: 0 38px 100px rgba(5,10,7,.3); }
.invite-rsvp-form > label,
.invite-rsvp-form legend,
.invite-rsvp-fields label { color: #6b5b61; font: 600 9px/1.4 var(--sc-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.invite-rsvp-form > input,
.invite-rsvp-fields select,
.invite-rsvp-fields textarea {
  width: 100%;
  margin-top: 9px;
  padding: 13px 0;
  color: #302129;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(59,36,48,.24);
  border-radius: 0;
  outline: 0;
  resize: vertical;
  font-size: 12px;
}
.invite-rsvp-form > input:focus,
.invite-rsvp-fields select:focus,
.invite-rsvp-fields textarea:focus { border-bottom-color: #8f536b; }
.invite-rsvp-form fieldset { margin: 34px 0 30px; padding: 0; border: 0; }
.invite-rsvp-form fieldset legend { margin-bottom: 12px; }
.invite-rsvp-form fieldset > label { min-height: 50px; padding: 11px 0; display: flex; align-items: center; gap: 12px; color: #302129; border-bottom: 1px solid rgba(59,36,48,.14); cursor: pointer; font-size: 11px; font-weight: 600; }
.invite-rsvp-form input[type="radio"] { width: 16px; height: 16px; accent-color: #8f536b; }
.invite-rsvp-fields { display: grid; grid-template-columns: 1fr; gap: 28px; }
.invite-rsvp-fields label { display: block; }
.invite-action-primary { width: 100%; margin-top: 36px; justify-content: center; color: #f5f0e8; background: #3b2430; }
.invite-rsvp-form .form-success { min-height: 20px; margin: 13px 0 0; color: #6d4053; font-size: 10px; text-align: center; }
.invite-end { min-height: 110px; padding: 24px clamp(22px, 5.5vw, 88px); display: flex; align-items: center; justify-content: space-between; color: rgba(245,240,232,.6); background: #101711; border-top: 1px solid rgba(245,240,232,.1); font: 500 8px/1.6 var(--sc-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.invite-end > div { display: flex; align-items: center; gap: 14px; }
.invite-end img { width: 32px; filter: brightness(0) invert(1); opacity: .62; }
.invite-end a { color: inherit; text-decoration: none; }

@media (max-width: 920px) {
  .invite-story-layout,
  .invite-venue-layout,
  .invite-rsvp-layout { gap: 60px; }
  .invite-story-layout { grid-template-columns: 1fr .72fr; }
  .invite-hero-note { width: 240px; }
  .program-lead { width: 54vw; }
  .invite-program-rail > article { width: 38vw; }
  .invite-memory-rail > header { width: 55vw; }
}

@media (max-width: 700px) {
  .invite-film-grain { opacity: .028; }
  .threshold-vellum { inset: 14px; }
  .threshold-wing span { background-position: 52% center; }
  .threshold-copy { width: calc(100vw - 28px); padding-inline: 12px; }
  .threshold-copy > p { margin-bottom: 18px; font-size: 8px; }
  .threshold-copy h2 { font-size: clamp(42px, 13vw, 62px); line-height: .96; }
  .threshold-open { margin-top: 34px; }
  .threshold-skip { right: 50%; bottom: 17px; transform: translateX(50%); white-space: nowrap; }
  .threshold-guest strong { font-size: 15vw; }

  .invite-hero-scrim { background: linear-gradient(0deg, rgba(8,13,10,.88) 0%, rgba(8,13,10,.52) 41%, transparent 72%), linear-gradient(180deg, rgba(8,13,10,.18), transparent 28%); }
  .invite-hero-photo { object-position: 54% center; }
  .invite-hero-copy { left: 20px; right: 20px; bottom: 94px; width: auto; }
  .invite-hero-copy h1 { margin-block: 10px 15px; font-size: clamp(62px, 20vw, 88px); line-height: .83; white-space: normal; }
  .invite-hero-copy > p:last-child { font-size: 9px; }
  .invite-hero-note { left: 20px; right: 20px; bottom: 29px; width: auto; padding-top: 10px; font-size: 10px; }
  .invite-seam { left: 20px; right: 20px; top: auto; bottom: 79px; width: auto; height: 1px; background: linear-gradient(90deg, rgba(245,240,232,.3), transparent); }

  .invite-story { padding: 90px 0 105px; }
  .invite-story-layout,
  .invite-venue-layout,
  .invite-rsvp-layout { grid-template-columns: 1fr; gap: 65px; }
  .invite-experience .invite-story-copy h2 { font-size: clamp(52px, 15vw, 70px); }
  .invite-experience .invite-story-copy > p:not(.invite-kicker) { font-size: 13px; }
  .invite-countdown { margin-top: 52px; }
  .invite-countdown div { min-height: 92px; }
  .invite-countdown strong { font-size: 37px; }
  .invite-story-image { width: 88%; margin-left: auto; }

  .invite-program-rail { gap: 34px; padding-inline: 22px; }
  .program-lead { width: 82vw; }
  .program-lead h2 { font-size: clamp(66px, 20vw, 88px); }
  .invite-program-rail > article { width: 72vw; min-height: 300px; }
  .invite-program-rail > aside { width: 80vw; min-height: 340px; padding: 34px; }

  .invite-venue { padding: 105px 0; }
  .invite-venue figure { order: 2; }
  .invite-venue-copy { order: 1; }
  .invite-venue-copy h2 { font-size: clamp(65px, 19vw, 88px); }
  .invite-action { width: 100%; }

  .invite-memory-rail { gap: 25px; padding-inline: 22px; }
  .invite-memory-rail > header { width: 86vw; padding-right: 10px; }
  .invite-memory-rail header h2 { font-size: clamp(58px, 17vw, 78px); }
  .invite-memory-rail figure,
  .invite-memory-rail figure:nth-of-type(1) { width: 72vw; transform: none; }
  .invite-memory-rail figure img { height: 55vh; min-height: 380px; }
  .invite-upload-panel { width: 82vw; min-height: 430px; padding: 34px; }
  .invite-upload-panel h3 { font-size: 45px; }

  .invite-rsvp { padding-top: 100px; }
  .invite-rsvp-layout { padding-bottom: 100px; }
  .invite-rsvp-copy { position: static; }
  .invite-rsvp-copy h2 { font-size: clamp(62px, 18vw, 82px); }
  .invite-rsvp-form { padding: 29px 22px; }
  .invite-end { min-height: 135px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .invite-film-grain { animation: none; }
  .invite-threshold,
  .threshold-wing,
  .threshold-vellum,
  .threshold-light,
  .threshold-copy,
  .threshold-guest { transition-duration: 180ms !important; transform: none; }
  .invite-hero-photo { transform: scale(1.02); }
  .invite-seam { opacity: .2; }
  .invite-memory-rail figure { transform: none; }
}

/* Invitation V10: tactile ceremony, authored motion and a personal reply */
body[data-current-route="invitation"] {
  --sc-font-display: "Playfair Display", Georgia, serif;
  --sc-font-mono: "Manrope", sans-serif;
}

.invite-experience [hidden] { display: none !important; }
.invite-sound-control {
  position: fixed;
  z-index: 230;
  top: clamp(15px, 2.2vw, 30px);
  right: clamp(15px, 2.2vw, 30px);
  min-height: 42px;
  padding: 9px 13px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: rgba(245,240,232,.76);
  background: rgba(12,18,14,.56);
  border: 1px solid rgba(245,240,232,.18);
  border-radius: 999px;
  backdrop-filter: blur(12px);
  cursor: pointer;
  font: 600 9px/1 var(--sc-font-text);
  letter-spacing: .05em;
  transition: color 160ms ease-out, background 160ms ease-out, border-color 160ms ease-out, transform 140ms ease-out;
}
.invite-sound-control i { width: 8px; height: 8px; border: 1px solid currentColor; border-radius: 50%; }
.invite-sound-control[aria-pressed="true"] { color: #172019; background: #f1e8dc; border-color: #f1e8dc; }
.invite-sound-control[aria-pressed="true"] i { background: #9b5c72; border-color: #9b5c72; box-shadow: 0 0 0 4px rgba(155,92,114,.15); }
.invite-sound-control:hover { border-color: rgba(245,240,232,.44); }
.invite-sound-control:active { transform: scale(.97); }
.invite-experience.is-opened .invite-sound-control {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.invite-threshold {
  --invite-mx: 50%;
  --invite-my: 45%;
  background: #0e1510;
}
.threshold-wing span {
  background-image: linear-gradient(180deg, rgba(8,14,10,.04), rgba(8,14,10,.42)), url("assets/aniyla-invite-opening-v2.jpg");
  filter: saturate(.72) contrast(1.08) brightness(.66);
}
.threshold-wing-left { box-shadow: inset -20px 0 42px rgba(4,8,5,.28); }
.threshold-wing-right { box-shadow: inset 20px 0 42px rgba(4,8,5,.28); }
.threshold-wing::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at var(--invite-mx) var(--invite-my), rgba(255,238,214,.11), transparent 28%);
  mix-blend-mode: screen;
}
.threshold-vellum {
  inset: clamp(18px, 4.4vw, 66px);
  border-color: rgba(252,241,226,.28);
  background:
    linear-gradient(105deg, transparent 34%, rgba(255,255,255,.08) 48%, transparent 61%),
    radial-gradient(circle at var(--invite-mx) var(--invite-my), rgba(250,238,222,.16), transparent 34%),
    rgba(238,226,208,.035);
  box-shadow:
    inset 0 1px rgba(255,255,255,.2),
    inset 0 -1px rgba(50,34,29,.26),
    0 42px 100px rgba(2,7,4,.4);
  backdrop-filter: blur(1.2px);
}
.threshold-vellum::before,
.threshold-vellum::after,
.threshold-vellum > span::before,
.threshold-vellum > span::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-color: rgba(248,236,219,.42);
}
.threshold-vellum::before { left: 12px; top: 12px; border-left: 1px solid; border-top: 1px solid; }
.threshold-vellum::after { right: 12px; top: 12px; border-right: 1px solid; border-top: 1px solid; }
.threshold-vellum > span::before { left: 12px; bottom: 12px; border-left: 1px solid; border-bottom: 1px solid; }
.threshold-vellum > span::after { right: 12px; bottom: 12px; border-right: 1px solid; border-bottom: 1px solid; }
.threshold-light {
  left: var(--invite-mx);
  top: var(--invite-my);
  background: radial-gradient(circle, rgba(255,236,209,.58), rgba(213,166,181,.11) 39%, transparent 70%);
  transition: left 220ms cubic-bezier(.23,1,.32,1), top 220ms cubic-bezier(.23,1,.32,1);
}
.threshold-copy > p { font-family: var(--sc-font-text); letter-spacing: .13em; }
.threshold-copy h2 {
  max-width: 900px;
  margin-inline: auto;
  font-family: var(--sc-font-display);
  font-optical-sizing: auto;
  letter-spacing: -.064em;
  text-shadow: 0 2px 0 rgba(255,255,255,.07), 0 24px 60px rgba(2,7,4,.36);
}
.threshold-guest strong { font-family: var(--sc-font-display); }
.threshold-guest strong b { font: inherit; }
.threshold-fragments { display: none; }

.invite-hero-copy { width: min(78vw, 980px); }
.invite-hero-copy h1 {
  min-height: clamp(110px, 14vw, 205px);
  display: flex;
  align-items: baseline;
  gap: clamp(5px, 1.7vw, 25px);
  font-family: var(--sc-font-display);
  font-style: italic;
  letter-spacing: -.085em;
}
.invite-hero-copy h1 span { display: inline-block; }
.invite-hero-copy h1 span:last-child { transform: translateY(.11em); }
.invite-hero-copy h1 i {
  align-self: center;
  color: #d7adba;
  font-size: .46em;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-.09em) rotate(-8deg);
}
.invite-hero-copy > p:last-child,
.invite-kicker { font-family: var(--sc-font-text); }
.invite-salutation {
  margin: 0;
  color: #d8aebb;
  font: italic 500 clamp(19px, 2vw, 27px)/1.2 var(--sc-font-display);
}
.invite-story-image { position: relative; }
.invite-story-image::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -12px 15px 16px -12px;
  border: 1px solid rgba(245,240,232,.15);
}
.invite-story-image img { aspect-ratio: .8; object-position: center 46%; }
.invite-story-image figcaption { display: none; }

.invite-program-stage > img { filter: saturate(.7) brightness(.66); transform: scale(1.018); }
.invite-program-scrim {
  background:
    linear-gradient(90deg, rgba(7,12,9,.92) 0%, rgba(7,12,9,.7) 43%, rgba(7,12,9,.26) 74%, rgba(7,12,9,.1) 100%),
    linear-gradient(0deg, rgba(7,11,9,.62), transparent 48%);
}
.invite-program-rail { gap: clamp(70px, 9vw, 145px); }
.program-lead { width: min(620px, 46vw); }
.invite-program-rail > article {
  width: min(390px, 30vw);
  min-height: 370px;
  padding-left: 34px;
  border-left-color: rgba(245,240,232,.34);
}
.invite-program-rail > article::before {
  content: "";
  width: 7px;
  height: 7px;
  margin: 0 0 auto -38px;
  background: #d5a6b5;
  border: 4px solid rgba(17,24,19,.75);
  border-radius: 50%;
  box-sizing: content-box;
}
.invite-program-rail h3,
.program-lead h2,
.invite-program-rail aside strong { font-family: var(--sc-font-display); }
.invite-program-rail > aside {
  position: relative;
  background: #efe7dc;
  box-shadow: 0 1px rgba(255,255,255,.8) inset, 0 35px 90px rgba(3,8,5,.4);
}
.invite-program-rail > aside::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(59,36,48,.15);
  pointer-events: none;
}
.invite-program-rail aside small { display: block; margin: -18px 0 30px; color: rgba(59,36,48,.56); font-size: 9px; }
.invite-program-rail aside small b { font-weight: 600; }
.invite-program-rail aside strong {
  max-width: 100%;
  font-size: clamp(39px, 4vw, 48px);
  line-height: 1.06;
  letter-spacing: -.045em;
  overflow-wrap: normal;
  word-break: keep-all;
}

.invite-location-line {
  margin: 0;
  color: #d5a6b5;
  font: 600 10px/1.4 var(--sc-font-text);
  letter-spacing: .08em;
}

.invite-memory-stage {
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 44%, rgba(119,77,89,.22), transparent 34%),
    radial-gradient(circle at 20% 86%, rgba(87,105,88,.25), transparent 38%),
    #101712;
}
.invite-memory-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .12;
  background-image: repeating-linear-gradient(94deg, transparent 0 46px, rgba(255,255,255,.035) 47px, transparent 48px);
}
.invite-memory-stage::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  opacity: .13;
  background: url("assets/aniyla-invite-stilllife-v3.jpg") 76% 52% / min(54vw, 720px) auto no-repeat;
  filter: saturate(.55) contrast(1.08);
  mask-image: linear-gradient(90deg, transparent 23%, #000 67%, #000 100%);
}
.invite-memory-canvas { position: absolute; z-index: 1; inset: 0; }
.invite-memory-canvas > header {
  position: absolute;
  z-index: 8;
  left: clamp(22px, 6vw, 92px);
  top: clamp(74px, 12vh, 130px);
  width: min(520px, 40vw);
}
.invite-memory-canvas > header h2 {
  margin: 0 0 27px;
  color: #f5f0e8;
  font: 500 clamp(58px, 6.4vw, 98px)/.91 var(--sc-font-display);
  letter-spacing: -.067em;
  text-wrap: balance;
}
.invite-memory-canvas > header p { max-width: 420px; margin: 0; color: #aaa99f; font-size: 13px; line-height: 1.8; }
.memory-shot { position: absolute; z-index: 3; }
.memory-shot figure {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: clamp(6px, .65vw, 10px);
  background: #e8dfd3;
  box-shadow: 0 30px 80px rgba(2,7,4,.46), 0 1px rgba(255,255,255,.65) inset;
}
.memory-shot img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.74) contrast(1.02); }
.memory-shot-a { right: 8%; top: 8%; width: clamp(230px, 23vw, 360px); height: 61vh; }
.memory-shot-a figure { transform: rotate(3.2deg); }
.memory-shot-b { right: 31%; bottom: 7%; width: clamp(270px, 29vw, 450px); height: 35vh; }
.memory-shot-b figure { transform: rotate(-3deg); }
.memory-shot-c { right: 3%; bottom: 4%; width: clamp(190px, 18vw, 280px); height: 42vh; }
.memory-shot-c figure { transform: rotate(5deg); }
.memory-shot-d { left: 43%; top: 10%; width: clamp(175px, 17vw, 260px); height: 45vh; }
.memory-shot-d figure { transform: rotate(-6deg); }
.invite-memory-canvas .invite-upload-panel {
  position: absolute;
  z-index: 10;
  left: clamp(22px, 6vw, 92px);
  bottom: clamp(34px, 7vh, 70px);
  width: min(430px, 37vw);
  min-height: 0;
  padding: 28px 0 0;
  color: #f5f0e8;
  background: transparent;
  border-top: 1px solid rgba(245,240,232,.24);
}
.invite-memory-canvas .invite-upload-panel > span { color: #d5a6b5; font-family: var(--sc-font-text); }
.invite-memory-canvas .invite-upload-panel h3 { margin: 15px 0 22px; color: #f5f0e8; font-family: var(--sc-font-display); font-size: clamp(34px, 3.2vw, 49px); }
.invite-memory-canvas .invite-upload-panel button { width: min(100%, 270px); background: #f1e8dc; color: #253027; }
.invite-memory-canvas .invite-upload-panel button span { color: #f5f0e8; background: #6c4052; }
.invite-memory-canvas .invite-upload-panel p { color: #919a91; }

.invite-rsvp {
  background:
    radial-gradient(circle at 76% 36%, rgba(152,89,111,.16), transparent 30%),
    #18221c;
}
.invite-rsvp-form {
  position: relative;
  min-height: 620px;
  padding: 0;
  overflow: hidden;
  color: #302129;
  background: #eee5d9;
  box-shadow: 0 1px rgba(255,255,255,.84) inset, 0 42px 110px rgba(3,8,5,.38);
}
.invite-rsvp-form::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 13px;
  border: 1px solid rgba(65,43,49,.14);
  pointer-events: none;
}
.invite-rsvp-form::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='110'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.12'/%3E%3C/svg%3E");
  mix-blend-mode: multiply;
}
.invite-response-sheet,
.invite-rsvp-result { position: relative; z-index: 3; padding: clamp(34px, 4.2vw, 54px); }
.response-sheet-heading { margin-bottom: 34px; padding-bottom: 17px; display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid rgba(59,36,48,.17); }
.response-sheet-heading span { color: #3b2430; font: italic 500 28px/1 var(--sc-font-display); letter-spacing: -.035em; }
.response-sheet-heading small { color: #7f6971; font: 600 8px/1 var(--sc-font-text); letter-spacing: .08em; }
.invite-rsvp-fields { max-height: 0; overflow: hidden; opacity: 0; transform: translateY(-8px); transition: max-height 360ms cubic-bezier(.23,1,.32,1), opacity 220ms ease-out, transform 260ms cubic-bezier(.23,1,.32,1); }
.invite-rsvp-fields:not([hidden]) { max-height: 320px; opacity: 1; transform: translateY(0); }
.invite-rsvp-form fieldset > label { position: relative; }
.invite-rsvp-form fieldset > label:has(input:checked) { color: #6d4053; }
.invite-rsvp-form fieldset > label:has(input:checked)::after { content: "Seçildi"; margin-left: auto; color: #8f536b; font-size: 8px; font-weight: 700; letter-spacing: .06em; }
.invite-action-primary { width: 100%; margin-top: 30px; justify-content: center; color: #f5f0e8; background: #3b2430; }
.invite-action-primary:disabled { color: rgba(59,36,48,.5); background: rgba(59,36,48,.09); cursor: not-allowed; }
.form-guidance { margin: 12px 0 0; color: #7d6a71; font-size: 9px; line-height: 1.5; text-align: center; }
.invite-rsvp-result {
  min-height: 620px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.invite-rsvp-result > span { color: #8f536b; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.invite-rsvp-result h3 { max-width: 430px; margin: 25px auto 20px; color: #3b2430; font: italic 500 clamp(46px, 5vw, 70px)/.94 var(--sc-font-display); letter-spacing: -.055em; }
.invite-rsvp-result > p { max-width: 370px; margin: 0 auto; color: #75646a; font-size: 12px; line-height: 1.75; }
.invite-rsvp-result > div { margin: 38px 0 20px; display: flex; justify-content: center; gap: 10px; }
.invite-rsvp-result a { min-height: 45px; padding: 12px 16px; display: inline-flex; align-items: center; color: #f5f0e8; background: #3b2430; border-radius: 999px; font-size: 9px; font-weight: 700; text-decoration: none; }
.invite-rsvp-result button { align-self: center; padding: 8px 0; color: #6d4053; background: transparent; border: 0; border-bottom: 1px solid currentColor; cursor: pointer; font-size: 9px; font-weight: 700; }
.invite-rsvp-form.is-complete .invite-response-sheet { display: none; }
.invite-rsvp-form.is-complete .invite-rsvp-result { justify-content: center; }

@media (hover: hover) and (pointer: fine) {
  .memory-shot figure { transition: transform 180ms cubic-bezier(.23,1,.32,1), filter 180ms ease-out; }
  .memory-shot:hover figure { filter: brightness(1.04); }
  .memory-shot-a:hover figure { transform: rotate(2deg) translateY(-5px); }
  .memory-shot-b:hover figure { transform: rotate(-1.8deg) translateY(-5px); }
  .memory-shot-c:hover figure { transform: rotate(3.5deg) translateY(-5px); }
  .memory-shot-d:hover figure { transform: rotate(-4.5deg) translateY(-5px); }
}

@media (max-width: 900px) {
  .invite-memory-canvas > header { width: 46vw; }
  .memory-shot-a { right: 5%; }
  .memory-shot-b { right: 28%; }
  .memory-shot-d { left: 42%; }
}

@media (max-width: 700px) {
  .invite-sound-control { top: 12px; right: 12px; min-height: 40px; }
  .invite-sound-control span { display: none; }
  .invite-sound-control i { width: 10px; height: 10px; }
  .threshold-copy h2 { font-size: clamp(39px, 11.5vw, 55px); line-height: .98; }
  .threshold-vellum { inset: 12px; }
  .invite-hero-copy h1 { min-height: 88px; gap: 8px; font-size: clamp(58px, 18vw, 80px); line-height: .86; white-space: nowrap; }
  .invite-hero-copy h1 i { font-size: .42em; }
  .invite-story-image img { aspect-ratio: .8; }

  .invite-program-rail { gap: 44px; }
  .program-lead { width: 84vw; }
  .invite-program-rail > article { width: 70vw; min-height: 340px; }
  .invite-program-rail > aside { width: 82vw; padding: 34px 30px; }
  .invite-program-rail aside strong { font-size: clamp(38px, 11vw, 48px); line-height: 1.08; }

  .invite-memory-canvas > header { left: 20px; right: 20px; top: 72px; width: auto; }
  .invite-memory-canvas > header h2 { max-width: 340px; font-size: clamp(48px, 14vw, 67px); }
  .invite-memory-canvas > header p { max-width: 300px; font-size: 11px; }
  .memory-shot-a { right: -4%; top: 35%; width: 48vw; height: 40vh; }
  .memory-shot-b { left: 4%; right: auto; bottom: 17%; width: 59vw; height: 25vh; }
  .memory-shot-c { right: 3%; bottom: 12%; width: 35vw; height: 29vh; }
  .memory-shot-d { left: 5%; top: 42%; width: 33vw; height: 29vh; }
  .invite-memory-canvas .invite-upload-panel { left: 20px; right: 20px; bottom: 24px; width: auto; padding-top: 17px; }
  .invite-memory-canvas .invite-upload-panel h3 { max-width: 260px; margin-block: 9px 14px; font-size: 30px; }
  .invite-memory-canvas .invite-upload-panel button { width: 220px; min-height: 45px; }
  .invite-memory-canvas .invite-upload-panel p { max-width: 260px; margin-top: 10px; }

  .invite-rsvp-form { min-height: 590px; }
  .invite-response-sheet,
  .invite-rsvp-result { padding: 34px 24px; }
  .invite-rsvp-result { min-height: 590px; }
  .invite-rsvp-result > div { flex-direction: column; }
  .invite-rsvp-result a { justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .threshold-light { transition: none; }
  .invite-rsvp-fields { transition: opacity 120ms ease-out; transform: none; }
  .memory-shot figure { transition: none !important; }
}

/* Invitation V11: legible personalization and a composed reply sheet */
.threshold-guest {
  width: min(430px, calc(100vw - 40px));
  min-height: 238px;
  padding: 46px 42px 40px;
  justify-content: center;
  color: #38242d;
  background:
    linear-gradient(145deg, rgba(255,255,255,.5), transparent 48%),
    #eee5d9;
  border: 1px solid rgba(255,255,255,.68);
  box-shadow:
    inset 0 0 0 11px #eee5d9,
    inset 0 0 0 12px rgba(69,43,52,.16),
    0 32px 100px rgba(3,8,5,.54);
}
.threshold-guest::before {
  content: "";
  position: absolute;
  inset: 11px;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E");
  opacity: .22;
  mix-blend-mode: multiply;
}
.threshold-guest span,
.threshold-guest small {
  position: relative;
  z-index: 1;
  color: #725566;
  font-family: var(--sc-font-text);
  font-size: 9px;
  font-weight: 700;
}
.threshold-guest strong {
  position: relative;
  z-index: 1;
  margin: 13px 0 15px;
  color: #38242d;
  font-size: clamp(54px, 6vw, 78px);
  line-height: 1.08;
  letter-spacing: -.055em;
  text-shadow: 0 1px rgba(255,255,255,.45);
}

.invite-rsvp-form {
  min-height: 0;
  border: 1px solid rgba(255,255,255,.36);
  background: #eee7de;
}
.invite-response-sheet { padding: clamp(36px, 3.8vw, 50px); }
.response-sheet-heading {
  margin-bottom: 30px;
  padding-bottom: 16px;
  border-bottom-color: rgba(59,36,48,.2);
}
.response-sheet-heading span {
  font-size: clamp(28px, 2.4vw, 34px);
  line-height: 1.1;
}
.response-sheet-heading small { color: #68545c; font-weight: 700; }

.invite-response-sheet > label,
.invite-response-sheet legend,
.invite-rsvp-fields label {
  display: block;
  color: #6b555e;
  font: 700 9px/1.5 var(--sc-font-text);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.invite-response-sheet > input {
  width: 100%;
  margin-top: 8px;
  padding: 5px 0 14px;
  color: #38242d;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(59,36,48,.38);
  border-radius: 0;
  outline: 0;
  font: italic 500 clamp(30px, 3.2vw, 43px)/1.14 var(--sc-font-display);
  letter-spacing: -.035em;
  transition: border-color 180ms ease-out, padding-left 220ms cubic-bezier(.23,1,.32,1);
}
.invite-response-sheet > input:focus {
  padding-left: 8px;
  border-bottom-color: #7b4960;
}
.invite-response-sheet > input::selection { color: #f5f0e8; background: #6d4053; }

.invite-rsvp-form fieldset {
  margin: 28px 0 20px;
  display: grid;
  gap: 9px;
}
.invite-rsvp-form fieldset legend { margin-bottom: 6px; }
.invite-rsvp-form fieldset > label {
  min-height: 52px;
  padding: 10px 14px;
  gap: 14px;
  color: #3b2b31;
  background: rgba(255,255,255,.28);
  border: 1px solid rgba(59,36,48,.14);
  font-size: 11px;
  transition: color 160ms ease-out, background 160ms ease-out, border-color 160ms ease-out, transform 140ms ease-out;
}
.invite-rsvp-form fieldset > label:hover { border-color: rgba(109,64,83,.42); }
.invite-rsvp-form fieldset > label:active { transform: scale(.99); }
.invite-rsvp-form input[type="radio"] {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  appearance: none;
  border: 1px solid #816d75;
  border-radius: 50%;
  background: #f4eee7;
  box-shadow: inset 0 0 0 4px #f4eee7;
  cursor: pointer;
}
.invite-rsvp-form input[type="radio"]:checked { background: #7b4960; border-color: #7b4960; }
.invite-rsvp-form input[type="radio"]:focus-visible { outline: 2px solid #7b4960; outline-offset: 3px; }
.invite-rsvp-form fieldset > label:has(input:checked) {
  color: #543444;
  background: rgba(159,94,119,.1);
  border-color: rgba(123,73,96,.42);
}

.invite-rsvp-fields { gap: 22px; }
.invite-rsvp-fields select,
.invite-rsvp-fields textarea {
  margin-top: 9px;
  padding: 13px 14px;
  color: #38242d;
  background: rgba(255,255,255,.3);
  border: 1px solid rgba(59,36,48,.2);
  font-family: var(--sc-font-text);
  font-size: 11px;
}
.invite-rsvp-fields select:focus,
.invite-rsvp-fields textarea:focus { border-color: #7b4960; outline: 2px solid rgba(123,73,96,.16); outline-offset: 2px; }
.invite-action-primary {
  min-height: 52px;
  margin-top: 20px;
  transition: color 160ms ease-out, background 160ms ease-out, transform 140ms ease-out;
}
.invite-action-primary:not(:disabled):active { transform: scale(.99); }
.invite-action-primary:disabled {
  color: #76656c;
  background: #d9d0c8;
  border: 1px solid rgba(59,36,48,.08);
}
.form-guidance { color: #69575e; font-size: 9px; }

@media (max-width: 700px) {
  .threshold-guest {
    width: calc(100vw - 34px);
    min-height: 210px;
    padding: 38px 24px 34px;
    box-shadow:
      inset 0 0 0 8px #eee5d9,
      inset 0 0 0 9px rgba(69,43,52,.16),
      0 28px 76px rgba(3,8,5,.56);
  }
  .threshold-guest::before { inset: 8px; }
  .threshold-guest strong { font-size: clamp(48px, 15vw, 66px); line-height: 1.1; }

  .invite-rsvp-form { min-height: 0; }
  .invite-response-sheet { padding: 32px 25px 38px; }
  .response-sheet-heading { margin-bottom: 34px; align-items: flex-end; gap: 12px; }
  .response-sheet-heading span { font-size: 27px; }
  .response-sheet-heading small { max-width: 88px; text-align: right; line-height: 1.45; }
  .invite-response-sheet > input { font-size: 32px; }
  .invite-rsvp-form fieldset { margin-top: 34px; }
  .invite-rsvp-form fieldset > label { min-height: 60px; padding-inline: 13px; }
  .invite-rsvp-form fieldset > label:has(input:checked)::after { display: none; }
}

/* Invitation V12: complete guest journey */
.invite-guest-nav {
  position: fixed;
  z-index: 80;
  top: 18px;
  left: 50%;
  width: min(calc(100vw - 36px), 960px);
  min-height: 58px;
  padding: 8px 12px 8px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  color: #f5f0e8;
  background: rgba(17,24,19,.82);
  border: 1px solid rgba(245,240,232,.16);
  box-shadow: inset 0 1px rgba(255,255,255,.06), 0 16px 50px rgba(3,8,5,.25);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -14px);
  transition: opacity 420ms ease-out, transform 520ms cubic-bezier(.23,1,.32,1);
}
.invite-experience.is-opened .invite-guest-nav { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.invite-guest-brand { display: inline-flex; align-items: baseline; gap: 4px; color: #f5f0e8; text-decoration: none; font: 500 16px/1 var(--sc-font-display); }
.invite-guest-brand i { color: #d5a6b5; font-style: italic; }
.invite-guest-nav > div { display: flex; align-items: center; gap: 3px; }
.invite-guest-nav > div a {
  min-height: 40px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  color: rgba(245,240,232,.74);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
  text-decoration: none;
  transition: color 180ms ease-out, background 180ms ease-out, transform 140ms ease-out;
}
.invite-guest-nav > div a:hover { color: #f5f0e8; background: rgba(245,240,232,.08); }
.invite-guest-nav > div a:active { transform: scale(.97); }

.invite-essentials,
.invite-weekend,
.invite-travel,
.invite-stay,
.invite-guide,
.invite-faq,
.invite-contact { position: relative; scroll-margin-top: 88px; }

.invite-essentials { padding: clamp(110px, 14vw, 190px) 0; background: #18221c; }
.invite-essentials::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 9% 18%, rgba(180,114,136,.12), transparent 29%);
}
.invite-essentials-layout { position: relative; display: grid; grid-template-columns: minmax(300px,.65fr) minmax(450px,1fr); gap: clamp(70px,11vw,160px); align-items: start; }
.invite-essentials header { position: sticky; top: 116px; }
.invite-essentials h2,
.invite-weekend h2,
.invite-stay h2,
.invite-guide h2,
.invite-faq h2,
.invite-contact h2 {
  margin: 0;
  color: #f5f0e8;
  font: italic 500 clamp(58px,7vw,100px)/.89 var(--sc-font-display);
  letter-spacing: -.06em;
}
.invite-essentials header > p,
.invite-weekend-copy > p,
.invite-stay header > p,
.invite-faq header > p,
.invite-contact header > p { max-width: 440px; margin: 30px 0 0; color: #a9aaa1; font-size: 13px; line-height: 1.8; }
.invite-quick-actions { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 10px; }
.invite-quick-actions a {
  min-height: 44px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  color: #f5f0e8;
  border: 1px solid rgba(245,240,232,.22);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
  text-decoration: none;
  transition: color 180ms ease-out, background 180ms ease-out, transform 140ms ease-out;
}
.invite-quick-actions a:first-child { color: #1b261f; background: #eee5d9; border-color: #eee5d9; }
.invite-quick-actions a:hover { color: #1b261f; background: #f5f0e8; }
.invite-quick-actions a:active { transform: scale(.98); }
.invite-essentials-ledger { margin: 0; }
.invite-essentials-ledger div { min-height: 118px; padding: 25px 0; display: grid; grid-template-columns: 104px minmax(0,1fr); column-gap: 28px; align-items: start; border-bottom: 1px solid rgba(245,240,232,.14); }
.invite-essentials-ledger div:first-child { border-top: 1px solid rgba(245,240,232,.14); }
.invite-essentials-ledger dt { padding-top: 6px; color: #d5a6b5; font: 500 8px/1.5 var(--sc-font-mono); letter-spacing: .12em; text-transform: uppercase; }
.invite-essentials-ledger dd { margin: 0; color: #f5f0e8; font: 500 clamp(25px,2.6vw,38px)/1.05 var(--sc-font-display); letter-spacing: -.025em; }
.invite-essentials-ledger small { grid-column: 2; max-width: 410px; margin-top: 9px; color: #89928a; font-size: 10px; line-height: 1.55; }

.invite-weekend { padding: clamp(100px,13vw,180px) 0; background: #151c17; }
.invite-weekend-layout { display: grid; grid-template-columns: minmax(360px,.82fr) minmax(430px,.9fr); gap: clamp(70px,10vw,145px); align-items: center; }
.invite-weekend figure { position: relative; margin: 0; }
.invite-weekend figure::before { content: ""; position: absolute; z-index: -1; inset: -28px 32px 28px -28px; border: 1px solid rgba(245,240,232,.12); }
.invite-weekend figure img { width: 100%; aspect-ratio: .78; object-fit: cover; filter: saturate(.72) brightness(.84); }
.invite-weekend-copy ol { margin: 52px 0 0; padding: 0; list-style: none; }
.invite-weekend-copy li { padding: 25px 0; display: grid; grid-template-columns: 125px 1fr; gap: 28px; border-top: 1px solid rgba(245,240,232,.14); }
.invite-weekend-copy li:last-child { border-bottom: 1px solid rgba(245,240,232,.14); }
.invite-weekend-copy time { padding-top: 7px; color: #d5a6b5; font: 500 8px/1.5 var(--sc-font-mono); letter-spacing: .08em; }
.invite-weekend-copy h3 { margin: 0 0 8px; color: #eee8df; font: 500 clamp(25px,2.7vw,38px)/1 var(--sc-font-display); letter-spacing: -.025em; }
.invite-weekend-copy li p { margin: 0; color: #90988f; font-size: 11px; line-height: 1.65; }

.invite-travel { padding: clamp(110px,14vw,195px) 0; background: #111813; }
.invite-travel-heading { max-width: 700px; margin-bottom: clamp(60px,8vw,110px); }
.invite-travel-heading h2 { margin: 0; color: #f5f0e8; font: italic 500 clamp(70px,9vw,132px)/.86 var(--sc-font-display); letter-spacing: -.065em; }
.invite-travel-heading p { max-width: 500px; margin: 28px 0 0; color: #a2a79e; font-size: 13px; line-height: 1.8; }
.invite-travel-board { display: grid; grid-template-columns: 1.2fr .8fr; grid-template-areas: "air shuttle" "arrival shuttle"; border-top: 1px solid rgba(245,240,232,.16); }
.invite-travel-board > article,
.invite-travel-board > aside { min-width: 0; }
.travel-airports { grid-area: air; padding: clamp(30px,4vw,52px) clamp(30px,5vw,70px) clamp(38px,5vw,68px) 0; display: grid; grid-template-columns: 1fr 1fr; gap: 42px; border-bottom: 1px solid rgba(245,240,232,.16); }
.travel-airports > div { display: grid; }
.travel-airports strong { color: #f5f0e8; font: italic 500 clamp(70px,8vw,112px)/.8 var(--sc-font-display); letter-spacing: -.07em; }
.travel-airports span { margin-top: 19px; color: #dad4cc; font-size: 12px; font-weight: 700; }
.travel-airports small { margin-top: 6px; color: #7f8980; font-size: 9px; }
.travel-arrival { grid-area: arrival; padding: clamp(36px,5vw,66px) clamp(30px,5vw,70px) 0 0; display: grid; grid-template-columns: .55fr 1fr; gap: 34px; }
.travel-arrival h3 { margin: 0; color: #d5a6b5; font: 500 26px/1.05 var(--sc-font-display); }
.travel-arrival p { margin: 0 0 18px; color: #a1a69e; font-size: 11px; line-height: 1.75; }
.travel-shuttle { grid-area: shuttle; min-height: 530px; padding: clamp(42px,6vw,78px); display: flex; flex-direction: column; justify-content: flex-end; color: #33222a; background: #eee5d9; box-shadow: inset 0 1px rgba(255,255,255,.75); }
.travel-shuttle > span { color: #7b4960; font: 700 9px/1.4 var(--sc-font-text); letter-spacing: .1em; text-transform: uppercase; }
.travel-shuttle h3 { max-width: 360px; margin: 25px 0 26px; color: #3b2430; font: italic 500 clamp(45px,4.5vw,66px)/.92 var(--sc-font-display); letter-spacing: -.05em; }
.travel-shuttle p { max-width: 380px; margin: 0; color: #67575e; font-size: 11px; line-height: 1.7; }
.travel-shuttle a { align-self: flex-start; margin-top: 34px; padding-bottom: 5px; color: #5d3548; border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 700; text-decoration: none; }

.invite-stay { padding: clamp(110px,14vw,195px) 0; background: #151c17; }
.invite-stay-layout { display: grid; grid-template-columns: minmax(300px,.66fr) minmax(480px,1fr); gap: clamp(70px,11vw,165px); }
.invite-stay header { position: sticky; top: 116px; align-self: start; }
.invite-stay-options { display: grid; }
.invite-stay-options article { padding: 34px 0 38px; border-top: 1px solid rgba(245,240,232,.15); }
.invite-stay-options article:nth-child(2) { margin-left: 9vw; }
.invite-stay-options article:nth-child(3) { margin-left: 3vw; border-bottom: 1px solid rgba(245,240,232,.15); }
.invite-stay-options span { color: #d5a6b5; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.invite-stay-options h3 { margin: 16px 0 12px; color: #f1ebe3; font: 500 clamp(34px,4vw,55px)/1 var(--sc-font-display); letter-spacing: -.035em; }
.invite-stay-options p { max-width: 430px; margin: 0; color: #929a92; font-size: 11px; line-height: 1.72; }
.invite-stay-options > a { justify-self: end; margin-top: 36px; padding-bottom: 5px; color: #d5a6b5; border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 700; text-decoration: none; }

.invite-guide { padding: clamp(100px,13vw,180px) 0; background: #18221c; }
.invite-guide-layout { display: grid; grid-template-columns: minmax(330px,.7fr) minmax(480px,1fr); gap: clamp(70px,11vw,165px); align-items: center; }
.invite-guide figure { margin: 0; }
.invite-guide figure img { width: 100%; aspect-ratio: .72; object-fit: cover; filter: saturate(.66) brightness(.82); }
.invite-guide-list { margin-top: 48px; }
.invite-guide-list details,
.invite-faq-list details { border-top: 1px solid rgba(245,240,232,.15); }
.invite-guide-list details:last-child,
.invite-faq-list details:last-child { border-bottom: 1px solid rgba(245,240,232,.15); }
.invite-guide-list summary,
.invite-faq-list summary { position: relative; padding: 22px 42px 22px 0; color: #e8e2da; cursor: pointer; list-style: none; font-size: 13px; font-weight: 650; line-height: 1.45; }
.invite-guide-list summary::-webkit-details-marker,
.invite-faq-list summary::-webkit-details-marker { display: none; }
.invite-guide-list summary::after,
.invite-faq-list summary::after { content: "+"; position: absolute; top: 50%; right: 4px; color: #d5a6b5; font: 400 20px/1 var(--sc-font-text); transform: translateY(-50%); transition: transform 240ms ease-out; }
.invite-guide-list details[open] summary::after,
.invite-faq-list details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.invite-guide-list details p,
.invite-faq-list details p { max-width: 580px; margin: -2px 46px 24px 0; color: #929a92; font-size: 11px; line-height: 1.75; }

.invite-faq { padding: clamp(110px,14vw,195px) 0; background: #151c17; }
.invite-faq-layout { display: grid; grid-template-columns: minmax(300px,.6fr) minmax(520px,1fr); gap: clamp(70px,12vw,180px); align-items: start; }
.invite-faq header { position: sticky; top: 116px; }
.invite-faq-list summary { padding-block: 26px; font-size: 14px; }

.invite-contact { padding: clamp(100px,12vw,165px) 0; background: #111813; }
.invite-contact header { max-width: 760px; }
.invite-contact-grid { margin-top: clamp(60px,8vw,105px); display: grid; grid-template-columns: 1.15fr .85fr; gap: 1px; background: rgba(245,240,232,.14); }
.invite-contact-grid article { min-height: 230px; padding: clamp(30px,4.5vw,60px); display: flex; flex-direction: column; justify-content: flex-end; background: #111813; }
.invite-contact-grid article:first-child { grid-column: 1 / -1; min-height: 270px; padding-right: 44%; background: radial-gradient(circle at 85% 40%, rgba(180,114,136,.19), transparent 28%), #111813; }
.invite-contact-grid span { color: #818b82; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.invite-contact-grid h3 { margin: 18px 0 28px; color: #eee8df; font: 500 clamp(31px,3.7vw,52px)/1 var(--sc-font-display); letter-spacing: -.035em; }
.invite-contact-grid a { align-self: flex-start; padding-bottom: 5px; color: #d5a6b5; border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 700; text-decoration: none; }

.invite-rsvp-fields input {
  width: 100%;
  margin-top: 9px;
  padding: 13px 14px;
  color: #38242d;
  background: rgba(255,255,255,.3);
  border: 1px solid rgba(59,36,48,.2);
  border-radius: 0;
  font-family: var(--sc-font-text);
  font-size: 11px;
}
.invite-rsvp-fields input::placeholder { color: #74646a; opacity: 1; }
.invite-rsvp-fields input:focus { border-color: #7b4960; outline: 2px solid rgba(123,73,96,.16); outline-offset: 2px; }
.invite-rsvp-fields:not([hidden]) { max-height: 720px; }

@media (max-width: 980px) {
  .invite-essentials-layout,
  .invite-stay-layout,
  .invite-faq-layout { grid-template-columns: minmax(260px,.55fr) minmax(390px,1fr); gap: 65px; }
  .invite-weekend-layout,
  .invite-guide-layout { gap: 60px; }
  .invite-weekend-copy li { grid-template-columns: 106px 1fr; }
  .travel-airports { gap: 24px; }
  .travel-arrival { grid-template-columns: 1fr; }
  .travel-shuttle { padding: 50px 38px; }
}

@media (max-width: 760px) {
  .invite-guest-nav {
    top: auto;
    bottom: max(12px, env(safe-area-inset-bottom));
    width: calc(100vw - 24px);
    min-height: 58px;
    padding: 7px;
    gap: 4px;
    transform: translate(-50%, 14px);
  }
  .invite-experience.is-opened .invite-guest-nav { transform: translate(-50%, 0); }
  .invite-guest-brand { display: none; }
  .invite-guest-nav > div { width: 100%; justify-content: space-between; }
  .invite-guest-nav > div a { min-height: 42px; padding: 0 9px; font-size: 8px; }

  .invite-essentials,
  .invite-weekend,
  .invite-travel,
  .invite-stay,
  .invite-guide,
  .invite-faq,
  .invite-contact { scroll-margin-top: 0; }
  .invite-essentials { padding: 96px 0 110px; }
  .invite-essentials-layout,
  .invite-weekend-layout,
  .invite-stay-layout,
  .invite-guide-layout,
  .invite-faq-layout { grid-template-columns: 1fr; gap: 66px; }
  .invite-essentials header,
  .invite-stay header,
  .invite-faq header { position: static; }
  .invite-essentials h2,
  .invite-weekend h2,
  .invite-stay h2,
  .invite-guide h2,
  .invite-faq h2,
  .invite-contact h2 { font-size: clamp(56px,17vw,78px); }
  .invite-essentials-ledger div { min-height: 110px; grid-template-columns: 78px 1fr; column-gap: 18px; }
  .invite-essentials-ledger dd { font-size: 27px; }
  .invite-essentials-ledger small { font-size: 9px; }

  .invite-weekend { padding: 95px 0 110px; }
  .invite-weekend figure { width: 91%; margin-left: auto; }
  .invite-weekend figure::before { inset: -18px 20px 18px -18px; }
  .invite-weekend-copy li { grid-template-columns: 92px 1fr; gap: 18px; }
  .invite-weekend-copy h3 { font-size: 28px; }

  .invite-travel { padding: 100px 0 115px; }
  .invite-travel-heading h2 { font-size: clamp(64px,20vw,90px); }
  .invite-travel-board { grid-template-columns: 1fr; grid-template-areas: "air" "arrival" "shuttle"; }
  .travel-airports { padding-right: 0; grid-template-columns: 1fr 1fr; gap: 18px; }
  .travel-airports strong { font-size: clamp(62px,19vw,82px); }
  .travel-airports span { font-size: 10px; }
  .travel-arrival { padding: 38px 0 55px; }
  .travel-shuttle { min-height: 470px; margin-inline: -22px; padding: 48px 24px; }
  .travel-shuttle h3 { font-size: 52px; }

  .invite-stay { padding: 100px 0 115px; }
  .invite-stay-options article:nth-child(2),
  .invite-stay-options article:nth-child(3) { margin-left: 0; }
  .invite-stay-options h3 { font-size: 39px; }
  .invite-stay-options > a { justify-self: start; }

  .invite-guide { padding: 100px 0 115px; }
  .invite-guide figure { width: 86%; }
  .invite-guide-copy { display: contents; }
  .invite-guide-copy h2 { grid-row: 1; }
  .invite-guide figure { grid-row: 2; }
  .invite-guide-list { grid-row: 3; margin-top: 0; }

  .invite-faq { padding: 100px 0 115px; }
  .invite-faq-list summary { padding-block: 23px; font-size: 13px; }

  .invite-contact { padding: 95px 0 125px; }
  .invite-contact-grid { grid-template-columns: 1fr; }
  .invite-contact-grid article:first-child { grid-column: auto; min-height: 250px; padding-right: 34px; }
  .invite-contact-grid article { min-height: 215px; }
  .invite-end { padding-bottom: 92px; }
}

@media (prefers-reduced-motion: reduce) {
  .invite-guest-nav,
  .invite-guest-nav > div a,
  .invite-quick-actions a,
  .invite-guide-list summary::after,
  .invite-faq-list summary::after { transition: none; }
}

@media (prefers-reduced-transparency: reduce) {
  .invite-guest-nav { background: #111813; backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Invitation V13: modular guest center */
.invite-guest-hub { position: relative; padding: clamp(110px,14vw,190px) 0; color: #f5f0e8; background: #111813; scroll-margin-top: 88px; }
.invite-guest-hub::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 82% 18%, rgba(180,114,136,.13), transparent 26%); }
.guest-hub-heading { position: relative; max-width: 760px; margin-bottom: clamp(58px,8vw,104px); }
.guest-hub-heading h2 { margin: 0; color: #f5f0e8; font: italic 500 clamp(66px,8vw,118px)/.88 var(--sc-font-display); letter-spacing: -.065em; }
.guest-hub-heading p { max-width: 490px; margin: 28px 0 0; color: #a9aaa1; font-size: 13px; line-height: 1.8; }
.guest-hub-shell { position: relative; display: grid; grid-template-columns: minmax(280px,330px) minmax(0,1fr); align-items: stretch; border: 1px solid rgba(245,240,232,.15); background: #151d17; box-shadow: 0 42px 110px rgba(3,8,5,.35); }

.guest-pass { position: relative; min-height: 720px; padding: 34px 30px; display: flex; flex-direction: column; color: #38242d; background: #eee5d9; border-right: 1px solid rgba(59,36,48,.16); }
.guest-pass::after { content: ""; position: absolute; inset: 11px; pointer-events: none; border: 1px solid rgba(59,36,48,.14); }
.guest-pass > * { position: relative; z-index: 1; }
.guest-pass-top { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid rgba(59,36,48,.18); }
.guest-pass-top span { font: italic 500 24px/1 var(--sc-font-display); }
.guest-pass-top small { color: #6c5961; font-size: 8px; font-weight: 700; }
.guest-pass [data-guest-qr] { width: 168px; height: 168px; margin: 42px auto 36px; padding: 10px; display: grid; place-items: center; overflow: hidden; color: #38242d; background: #f7f1e9; border: 1px solid rgba(59,36,48,.16); image-rendering: pixelated; font: 700 12px var(--sc-font-mono); }
.guest-pass [data-guest-qr] canvas,
.guest-pass [data-guest-qr] img { width: 146px !important; height: 146px !important; }
.guest-pass-name { display: grid; text-align: center; }
.guest-pass-name small,
.guest-pass-code span,
.guest-pass > label { color: #755e68; font-size: 8px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.guest-pass-name strong { margin: 10px 0 9px; font: italic 500 39px/1 var(--sc-font-display); letter-spacing: -.04em; }
.guest-pass-name span { color: #66545c; font-size: 10px; }
.guest-pass-code { margin: 34px 0 25px; padding: 17px 0; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(59,36,48,.16); border-bottom: 1px solid rgba(59,36,48,.16); }
.guest-pass-code strong { font: 600 11px/1 var(--sc-font-mono); letter-spacing: .08em; }
.guest-pass > label { display: grid; gap: 8px; }
.guest-pass select { min-height: 44px; padding: 0 12px; color: #38242d; background: rgba(255,255,255,.34); border: 1px solid rgba(59,36,48,.2); font: 600 11px var(--sc-font-text); }
.guest-pass > button { min-height: 46px; margin-top: 14px; color: #f5f0e8; background: #3b2430; border: 0; border-radius: 999px; cursor: pointer; font-size: 9px; font-weight: 750; }
.guest-pass > p { min-height: 30px; margin: 12px 0 0; color: #6a5860; font-size: 9px; line-height: 1.5; text-align: center; }

.guest-tools { min-width: 0; display: grid; grid-template-rows: auto 1fr; }
.guest-tool-tabs { min-width: 0; padding: 12px; display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid rgba(245,240,232,.13); scrollbar-width: thin; }
.guest-tool-tabs button { min-height: 44px; padding: 0 15px; flex: 0 0 auto; color: #949d95; background: transparent; border: 0; border-radius: 999px; cursor: pointer; font-size: 9px; font-weight: 750; transition: color 180ms ease-out, background 180ms ease-out, transform 140ms ease-out; }
.guest-tool-tabs button:hover { color: #f5f0e8; }
.guest-tool-tabs button[aria-selected="true"] { color: #172019; background: #eee5d9; }
.guest-tool-tabs button:active { transform: scale(.97); }
.guest-tool-panel { min-height: 660px; padding: clamp(34px,5vw,70px); }
.guest-tool-panel[hidden] { display: none !important; }
.guest-tool-panel.is-active { animation: guest-panel-in 320ms cubic-bezier(.23,1,.32,1) both; }
@keyframes guest-panel-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.guest-tool-panel > header { max-width: 650px; margin-bottom: 54px; }
.guest-tool-panel > header > span,
.guest-tool-panel form > span,
.guest-care-layout section > span,
.guest-after-layout section > span,
.guest-live-grid article > span { color: #d5a6b5; font-size: 9px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.guest-tool-panel h3 { margin: 17px 0 0; color: #f3ede5; font: italic 500 clamp(37px,4vw,59px)/.96 var(--sc-font-display); letter-spacing: -.045em; }
.guest-tool-panel > header p { max-width: 500px; margin: 18px 0 0; color: #929a92; font-size: 11px; line-height: 1.7; }

.guest-story-line { display: grid; grid-template-columns: 1fr 1.12fr .88fr; gap: 1px; background: rgba(245,240,232,.14); }
.guest-story-line article { min-height: 310px; padding: 28px; display: flex; flex-direction: column; justify-content: flex-end; background: #151d17; }
.guest-story-line article:nth-child(2) { min-height: 380px; background: linear-gradient(180deg, rgba(21,29,23,.28), #151d17 92%), url("assets/aniyla-invite-story-v2.jpg") center 35% / cover; }
.guest-story-line time { color: #d5a6b5; font: 500 8px var(--sc-font-mono); }
.guest-story-line h4 { margin: 18px 0 12px; color: #eee8df; font: 500 27px/1 var(--sc-font-display); }
.guest-story-line p { margin: 0; color: #969e96; font-size: 10px; line-height: 1.65; }
.guest-story-line article:nth-child(2) p,
.guest-story-line article:nth-child(2) h4 { color: #f5f0e8; text-shadow: 0 1px 16px rgba(3,8,5,.7); }

.guest-seat-map { position: relative; min-height: 400px; padding: 75px 38px 56px; display: grid; grid-template-columns: repeat(3,1fr); align-content: center; gap: 24px 34px; border: 1px solid rgba(245,240,232,.14); background: radial-gradient(ellipse at center, rgba(180,114,136,.1), transparent 58%); }
.guest-seat-map button { min-height: 86px; padding: 12px; color: #cbd0c8; background: rgba(245,240,232,.035); border: 1px solid rgba(245,240,232,.18); border-radius: 50%; cursor: pointer; font: 500 15px var(--sc-font-display); transition: color 180ms ease-out, background 180ms ease-out, border-color 180ms ease-out, transform 180ms ease-out; }
.guest-seat-map button:hover { color: #f5f0e8; border-color: rgba(213,166,181,.65); transform: translateY(-2px); }
.guest-seat-map button.is-active,
.guest-seat-map .is-guest-table { color: #33222a; background: #d5a6b5; border-color: #d5a6b5; }
.guest-seat-map button small { display: block; margin-top: 5px; font: 700 7px var(--sc-font-text); }
.seat-stage,
.seat-entrance { position: absolute; left: 50%; color: #818b82; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transform: translateX(-50%); }
.seat-stage { top: 22px; padding: 9px 44px; border-bottom: 1px solid rgba(245,240,232,.2); }
.seat-entrance { bottom: 18px; }
.guest-seat-status { margin: 18px 0 0; color: #d5a6b5; font-size: 10px; text-align: center; }

.guest-live-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1px; background: rgba(245,240,232,.14); }
.guest-live-grid article { min-height: 285px; padding: 34px; display: flex; flex-direction: column; align-items: flex-start; background: #151d17; }
.guest-live-grid .live-announcement { grid-row: span 2; min-height: 571px; justify-content: flex-end; background: radial-gradient(circle at 75% 20%, rgba(180,114,136,.18), transparent 35%), #151d17; }
.guest-live-grid h3 { margin-top: 22px; font-size: clamp(34px,3.3vw,50px); }
.guest-live-grid p { max-width: 480px; margin: 18px 0 0; color: #939b93; font-size: 11px; line-height: 1.72; }
.guest-live-grid button,
.guest-tool-panel form button,
.gift-preferences button,
.after-mode > button { min-height: 44px; margin-top: 26px; padding: 0 18px; color: #19221b; background: #eee5d9; border: 0; border-radius: 999px; cursor: pointer; font-size: 9px; font-weight: 750; }
.guest-live-grid button:disabled { color: #808880; background: rgba(245,240,232,.08); cursor: not-allowed; }
.guest-live-grid small,
.guest-tool-panel form > p,
.guest-after-layout section > small { min-height: 18px; margin-top: 11px; color: #d5a6b5; font-size: 9px; }

.guest-participate-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 1px; background: rgba(245,240,232,.14); }
.guest-tool-panel form { padding: 36px; display: flex; flex-direction: column; background: #151d17; }
.guest-tool-panel form h3 { margin-bottom: 34px; font-size: clamp(34px,3.4vw,49px); }
.guest-tool-panel form label { margin-top: 18px; color: #bbbcb3; font-size: 9px; font-weight: 700; }
.guest-tool-panel form input:not([type="checkbox"]),
.guest-tool-panel form textarea,
.guest-tool-panel form select { width: 100%; min-height: 46px; margin-top: 8px; padding: 12px 13px; color: #f5f0e8; background: rgba(245,240,232,.055); border: 1px solid rgba(245,240,232,.18); border-radius: 0; outline: 0; resize: vertical; font: 500 12px/1.55 var(--sc-font-text); }
.guest-tool-panel form input::placeholder,
.guest-tool-panel form textarea::placeholder { color: #838b83; opacity: 1; }
.guest-tool-panel form input:focus,
.guest-tool-panel form textarea:focus,
.guest-tool-panel form select:focus { border-color: #d5a6b5; outline: 2px solid rgba(213,166,181,.14); outline-offset: 2px; }
.guestbook-media { min-height: 46px; padding: 13px; display: flex; align-items: center; color: #f5f0e8 !important; border: 1px dashed rgba(245,240,232,.24); cursor: pointer; }
.guestbook-media input { position: absolute; opacity: 0; pointer-events: none; }
.guest-tool-panel form > small { margin-top: 8px; color: #879087; font-size: 8px; }
.guest-tool-panel form button { align-self: flex-start; }
.guestbook-entries { margin-top: 32px; }
.guestbook-entries article { padding: 22px 0; display: flex; justify-content: space-between; gap: 28px; border-top: 1px solid rgba(245,240,232,.14); }
.guestbook-entries p { margin: 0; color: #e9e3db; font: italic 500 22px/1.25 var(--sc-font-display); }
.guestbook-entries span { flex: 0 0 auto; color: #899289; font-size: 9px; }

.guest-care-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(245,240,232,.14); }
.guest-care-layout > section,
.guest-care-layout > form { min-height: 330px; padding: 34px; background: #151d17; }
.guest-care-layout .dress-guide { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; align-content: center; column-gap: 50px; }
.dress-guide > span,
.dress-guide > h3 { grid-column: 1; }
.dress-guide > p,
.dress-swatches { grid-column: 2; }
.dress-swatches { grid-row: 2; margin-bottom: 24px; display: flex; gap: 12px; align-items: center; }
.dress-swatches i { width: 48px; height: 48px; display: block; background: var(--dress); border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.dress-guide p { margin: 0; color: #929a92; font-size: 11px; line-height: 1.7; }
.guest-care-layout form { padding: 34px; }
.guest-care-layout form h3 { font-size: 35px; }
.guest-care-layout form label:has(input[type="checkbox"]) { min-height: 42px; margin: 0; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid rgba(245,240,232,.1); }
.guest-care-layout form input[type="checkbox"] { width: 18px; height: 18px; accent-color: #d5a6b5; }
.wedding-team > div { padding: 17px 0; display: grid; grid-template-columns: 1fr auto; border-top: 1px solid rgba(245,240,232,.13); }
.wedding-team h3 { margin-bottom: 30px; font-size: 35px; }
.wedding-team b { color: #eee8df; font-size: 12px; }
.wedding-team small { grid-row: 2; color: #899289; font-size: 9px; }
.wedding-team a { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #d5a6b5; font-size: 9px; text-decoration: none; }

.guest-after-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 1px; background: rgba(245,240,232,.14); }
.guest-after-layout > section { min-height: 500px; padding: clamp(34px,5vw,58px); display: flex; flex-direction: column; justify-content: flex-end; background: #151d17; }
.guest-after-layout .after-mode { background: linear-gradient(180deg, rgba(17,24,19,.2), #151d17 92%), url("assets/aniyla-invite-dance-v3.jpg") center 30% / cover; }
.guest-after-layout p { margin: 22px 0 0; color: #9ca39b; font-size: 11px; line-height: 1.72; }
.gift-preferences > div { margin-top: 4px; display: flex; flex-wrap: wrap; gap: 8px; }
.gift-preferences button { margin-top: 22px; }
.after-mode > button { align-self: flex-start; }
.after-mode [data-after-preview-content] { margin-top: 25px; padding: 20px; display: grid; gap: 7px; color: #38242d; background: #eee5d9; }
.after-mode [data-after-preview-content][hidden] { display: none !important; }
.after-mode [data-after-preview-content] strong { font: italic 500 22px var(--sc-font-display); }
.after-mode [data-after-preview-content] small { color: #6d5a62; font-size: 9px; }

@media (max-width: 960px) {
  .guest-hub-shell { grid-template-columns: 285px minmax(0,1fr); }
  .guest-pass { padding-inline: 23px; }
  .guest-tool-panel { padding: 34px 26px; }
  .guest-story-line { grid-template-columns: 1fr; }
  .guest-story-line article { min-height: 220px; }
  .guest-story-line article:nth-child(2) { min-height: 320px; }
  .guest-live-grid,
  .guest-care-layout,
  .guest-after-layout { grid-template-columns: 1fr; }
  .guest-live-grid .live-announcement { grid-row: auto; min-height: 390px; }
  .guest-care-layout .dress-guide { grid-column: auto; display: block; }
  .dress-guide > span,
  .dress-guide > h3,
  .dress-guide > p,
  .dress-swatches { grid-column: auto; grid-row: auto; }
  .dress-swatches { margin-top: 28px; }
}

@media (max-width: 720px) {
  .invite-guest-hub { padding: 100px 0 118px; scroll-margin-top: 0; }
  .guest-hub-heading h2 { font-size: clamp(58px,18vw,80px); }
  .guest-hub-shell { margin-inline: -10px; display: block; }
  .guest-pass { min-height: 680px; border-right: 0; border-bottom: 1px solid rgba(59,36,48,.16); }
  .guest-pass canvas { margin-top: 36px; }
  .guest-tool-tabs { position: sticky; z-index: 3; top: 0; background: #151d17; }
  .guest-tool-panel { min-height: 0; padding: 48px 22px; }
  .guest-tool-panel > header { margin-bottom: 38px; }
  .guest-tool-panel h3 { font-size: 42px; line-height: 1.05; }
  .guest-seat-map { min-height: 520px; padding-inline: 20px; grid-template-columns: 1fr 1fr; gap: 24px; }
  .guest-seat-map button { min-height: 96px; }
  .guest-live-grid,
  .guest-participate-grid,
  .guest-care-layout,
  .guest-after-layout { grid-template-columns: 1fr; }
  .guest-live-grid article,
  .guest-care-layout > section,
  .guest-care-layout > form,
  .guest-after-layout > section { min-height: 0; padding: 34px 25px; }
  .guest-live-grid .live-announcement,
  .guest-after-layout > section { min-height: 410px; }
  .guest-tool-panel form { padding: 34px 24px; }
  .guest-tool-panel form input:not([type="checkbox"]),
  .guest-tool-panel form textarea,
  .guest-tool-panel form select { font-size: 16px; }
  .guestbook-entries article { display: grid; }
  .dress-swatches i { width: 44px; height: 44px; }
}

/* Management center */
.manage-route { min-height: 100dvh; color: #2e2328; background: #f2efea; font-family: var(--body); }
.manage-shell { min-height: 100dvh; display: grid; grid-template-columns: 238px minmax(0,1fr); }
.manage-sidebar { position: sticky; top: 0; height: 100dvh; padding: 28px 22px; display: flex; flex-direction: column; color: #f5eee8; background: #21131a; border-right: 1px solid rgba(255,255,255,.08); }
.manage-brand { display: flex; align-items: center; gap: 11px; color: #f5eee8; text-decoration: none; font: 500 25px/1 var(--display); }
.manage-brand img { width: 31px; filter: brightness(0) invert(1); }
.manage-brand em { color: #d5a6b5; font-weight: 500; }
.manage-event { margin: 46px 0 34px; padding: 19px 0; display: grid; gap: 6px; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.manage-event span { color: #a9959e; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.manage-event strong { font: italic 500 23px/1.1 var(--display); }
.manage-event small { color: #b6aab0; font-size: 9px; }
.manage-sidebar nav { display: grid; gap: 5px; }
.manage-sidebar nav button { min-height: 45px; padding: 0 13px; color: #bcaeb5; background: transparent; border: 0; border-radius: 10px; cursor: pointer; text-align: left; font: 650 11px var(--body); transition: color 180ms ease-out, background 180ms ease-out; }
.manage-sidebar nav button:hover { color: #f5eee8; background: rgba(255,255,255,.055); }
.manage-sidebar nav button.is-active { color: #27181f; background: #eee5d9; }
.manage-back { margin-top: auto; color: #d5a6b5; font-size: 9px; text-decoration: none; }
.manage-main { min-width: 0; }
.manage-topbar { min-height: 112px; padding: 24px clamp(24px,4vw,62px); display: flex; align-items: center; justify-content: space-between; gap: 30px; background: rgba(247,244,240,.92); border-bottom: 1px solid rgba(62,44,51,.12); }
.manage-topbar > div:first-child span { color: #8b747e; font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
.manage-topbar h1 { margin: 8px 0 0; font: 500 clamp(28px,3vw,40px)/1 var(--display); letter-spacing: -.035em; }
.manage-topbar > div:last-child { display: flex; gap: 10px; }
.manage-topbar a,
.manage-topbar button,
.manage-section header > button,
.manage-section form button,
.manage-section article > button,
.module-heading button { min-height: 44px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: center; color: #f8f2ed; background: #4d2a3a; border: 1px solid #4d2a3a; border-radius: 999px; cursor: pointer; font-size: 9px; font-weight: 750; text-decoration: none; white-space: nowrap; transition: color 180ms ease-out, background 180ms ease-out, transform 140ms ease-out; }
.manage-topbar a { color: #4d2a3a; background: transparent; border-color: rgba(77,42,58,.25); }
.manage-topbar a:hover,
.manage-topbar button:hover,
.manage-section header > button:hover,
.manage-section form button:hover,
.manage-section article > button:hover,
.module-heading button:hover { transform: translateY(-1px); }
.manage-overview,
.manage-section { scroll-margin-top: 22px; padding: clamp(55px,6vw,86px) clamp(24px,4vw,62px); }
.manage-section { border-top: 1px solid rgba(62,44,51,.12); }
.manage-overview > header,
.manage-section > header { margin-bottom: 38px; display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.manage-overview > header h2,
.manage-section > header h2 { margin: 0; font: 500 clamp(35px,4vw,53px)/1 var(--display); letter-spacing: -.045em; }
.manage-overview > header p,
.manage-section > header p { max-width: 560px; margin: 13px 0 0; color: #76686e; font-size: 12px; line-height: 1.65; }
.manage-section > header > span { color: #897780; font-size: 9px; }
.manage-metrics { display: grid; grid-template-columns: 1.1fr .9fr .9fr 1.1fr; gap: 1px; background: rgba(62,44,51,.12); }
.manage-metrics article { min-height: 190px; padding: 25px; display: flex; flex-direction: column; justify-content: flex-end; background: #f8f5f1; }
.manage-metrics span,
.module-heading span,
.manage-today article > span { color: #8c707d; font-size: 8px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.manage-metrics strong { margin-top: 22px; color: #3e2832; font: 500 clamp(43px,5vw,66px)/.9 var(--display); letter-spacing: -.055em; font-variant-numeric: tabular-nums; }
.manage-metrics small { margin-top: 10px; color: #887b80; font-size: 9px; }
.manage-today { margin-top: 28px; display: grid; grid-template-columns: 1.05fr .95fr; gap: 28px; }
.manage-today > article { min-height: 340px; padding: 36px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; color: #f5eee8; background: radial-gradient(circle at 80% 20%, rgba(181,116,138,.24), transparent 32%), #21131a; }
.manage-today h3 { max-width: 510px; margin: 18px 0; font: italic 500 clamp(37px,4vw,56px)/.98 var(--display); letter-spacing: -.045em; }
.manage-today p { max-width: 460px; margin: 0; color: #b9aeb3; font-size: 11px; line-height: 1.65; }
.manage-today article button { margin-top: 30px; color: #2f1d25; background: #eee5d9; }
.manage-today ol { margin: 0; padding: 0 0 0 28px; list-style: none; background: #f8f5f1; }
.manage-today li { min-height: 104px; padding: 23px 26px 23px 0; display: grid; grid-template-columns: 82px 1fr; gap: 20px; align-items: center; border-bottom: 1px solid rgba(62,44,51,.12); }
.manage-today li:last-child { border-bottom: 0; }
.manage-today time { color: #8c707d; font-size: 9px; font-weight: 750; }
.manage-today li span { font-size: 12px; font-weight: 650; line-height: 1.5; }

.manage-add-guest { margin: -12px 0 28px; padding: 22px; display: grid; grid-template-columns: 1.2fr 1fr .5fr auto; gap: 12px; align-items: end; background: #e8e2dc; }
.manage-add-guest[hidden] { display: none !important; }
.manage-add-guest label,
.manage-table-tools > label,
.manage-message-layout form > label { display: grid; gap: 7px; color: #76646c; font-size: 8px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.manage-add-guest input,
.manage-add-guest select,
.manage-table-tools input,
.manage-message-layout input,
.manage-message-layout select,
.manage-message-layout textarea { width: 100%; min-height: 44px; padding: 11px 13px; color: #34272c; background: #fbf8f5; border: 1px solid rgba(62,44,51,.2); border-radius: 8px; outline: 0; font: 500 12px var(--body); }
.manage-add-guest input:focus,
.manage-add-guest select:focus,
.manage-table-tools input:focus,
.manage-message-layout select:focus,
.manage-message-layout textarea:focus { border-color: #805168; outline: 2px solid rgba(128,81,104,.14); outline-offset: 2px; }
.manage-add-guest p { grid-column: 1 / -1; margin: 0; color: #6e4054; font-size: 10px; }
.manage-table-tools { margin-bottom: 16px; display: grid; grid-template-columns: minmax(220px,1fr) auto; gap: 18px; align-items: end; }
.manage-table-tools > label { grid-column: 1; }
.manage-table-tools > input { grid-column: 1; }
.manage-table-tools > div { grid-column: 2; grid-row: 1 / 3; align-self: end; padding: 4px; display: flex; gap: 3px; background: #e6e0da; border-radius: 10px; }
.manage-table-tools > div button { min-height: 40px; padding: 0 13px; color: #75666c; background: transparent; border: 0; border-radius: 8px; cursor: pointer; font-size: 9px; font-weight: 700; }
.manage-table-tools > div button.is-active { color: #37282e; background: #fffdfa; box-shadow: 0 4px 14px rgba(62,44,51,.08); }
.manage-table-wrap { overflow-x: auto; background: #f8f5f1; border: 1px solid rgba(62,44,51,.12); }
.manage-table-wrap table { width: 100%; min-width: 760px; border-collapse: collapse; }
.manage-table-wrap th,
.manage-table-wrap td { padding: 18px 20px; text-align: left; border-bottom: 1px solid rgba(62,44,51,.1); font-size: 11px; }
.manage-table-wrap thead th { color: #806e76; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.manage-table-wrap tbody th { color: #392b31; font-weight: 750; }
.manage-table-wrap tbody th small { display: block; margin-top: 4px; color: #8b7d82; font-weight: 500; }
.manage-table-wrap tbody tr:last-child th,
.manage-table-wrap tbody tr:last-child td { border-bottom: 0; }
.manage-table-wrap tbody tr[hidden] { display: none; }
.status-confirmed,
.status-pending,
.status-declined { display: inline-flex; min-height: 28px; padding: 0 9px; align-items: center; border-radius: 999px; font-size: 8px; font-weight: 750; }
.status-confirmed { color: #355441; background: #dce8df; }
.status-pending { color: #725522; background: #eee4cc; }
.status-declined { color: #784953; background: #eddadd; }

.manage-logistics-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; }
.manage-logistics-grid > article,
.manage-planning-grid > article,
.manage-insight-grid > article { padding: 28px; background: #f8f5f1; border: 1px solid rgba(62,44,51,.12); }
.module-heading { margin-bottom: 25px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.module-heading h3 { margin: 8px 0 0; font: 500 30px/1 var(--display); letter-spacing: -.035em; }
.module-heading small { color: #85767c; font-size: 9px; }
.module-heading button { min-height: 40px; padding-inline: 13px; color: #4d2a3a; background: transparent; border-color: rgba(77,42,58,.25); }
.manage-seat-canvas { min-height: 360px; padding: 32px; display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; background: #e8e2dc; }
.manage-seat-canvas button { min-height: 100px; color: #4d3540; background: #f8f5f1; border: 1px solid rgba(62,44,51,.16); border-radius: 50%; cursor: pointer; }
.manage-seat-canvas button b,
.manage-seat-canvas button small { display: block; }
.manage-seat-canvas button b { font: 500 18px var(--display); }
.manage-seat-canvas button small { margin-top: 5px; color: #807178; font-size: 8px; }
.manage-seating-plan > p,
.manage-transport > p,
.manage-budget > p,
.manage-vendors > p,
.manage-print > p,
.manage-roles > p { min-height: 18px; margin: 13px 0 0; color: #75475a; font-size: 9px; }
.manage-transport ol { margin: 0; padding: 0; list-style: none; }
.manage-transport li { min-height: 85px; padding: 17px 0; display: grid; grid-template-columns: 60px 1fr; gap: 18px; align-items: center; border-bottom: 1px solid rgba(62,44,51,.11); }
.manage-transport li:last-child { border-bottom: 0; }
.manage-transport time { color: #8c536d; font: 650 10px var(--utility); }
.manage-transport b,
.manage-transport small { display: block; }
.manage-transport b { font-size: 12px; }
.manage-transport small { margin-top: 5px; color: #85787d; font-size: 9px; }

.manage-message-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 22px; }
.manage-message-layout form,
.message-history { padding: 30px; background: #f8f5f1; border: 1px solid rgba(62,44,51,.12); }
.manage-message-layout form { display: grid; gap: 14px; }
.manage-message-layout textarea { resize: vertical; line-height: 1.6; }
.manage-message-layout form > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.manage-message-layout form small { color: #84757b; font-size: 9px; }
.manage-message-layout form > p { min-height: 18px; margin: 0; color: #6f4054; font-size: 10px; }
.message-history h3 { margin: 0 0 20px; font: 500 28px var(--display); }
.message-history article { padding: 19px 0; display: grid; gap: 6px; border-top: 1px solid rgba(62,44,51,.11); }
.message-history article span { color: #8c536d; font-size: 8px; font-weight: 750; }
.message-history article b { font-size: 11px; }
.message-history article small { color: #85777d; font-size: 9px; }

.manage-planning-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 22px; }
.manage-planning-grid .manage-vendors { grid-column: 1 / -1; }
.manage-budget dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.manage-budget dl div { padding: 18px; background: #ede8e2; }
.manage-budget dt { color: #7a6a70; font-size: 9px; }
.manage-budget dd { margin: 9px 0 0; font: 500 22px var(--display); }
.manage-budget > button { margin-top: 22px; }
.manage-tasks > label { min-height: 54px; display: flex; align-items: center; gap: 12px; border-top: 1px solid rgba(62,44,51,.11); cursor: pointer; font-size: 11px; font-weight: 600; }
.manage-tasks input { width: 18px; height: 18px; accent-color: #74465b; }
.manage-vendors > div:not(.module-heading),
.manage-roles > div:not(.module-heading) { min-height: 72px; padding: 17px 0; display: grid; grid-template-columns: 1fr auto; gap: 5px 20px; border-top: 1px solid rgba(62,44,51,.11); }
.manage-vendors b,
.manage-roles b { font-size: 11px; }
.manage-vendors span,
.manage-roles span { color: #7b4a60; font-size: 9px; }
.manage-vendors small { color: #86787d; font-size: 9px; }

.manage-insight-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; }
.manage-insight-grid .manage-roles { grid-column: 1 / -1; }
.manage-analytics figure { margin: 0; }
.analytics-bars { min-height: 250px; display: flex; align-items: flex-end; gap: 16px; }
.analytics-bars > span { width: 25%; height: var(--bar); min-height: 74px; padding: 14px 10px; display: flex; flex-direction: column; justify-content: space-between; color: #f7f0e9; background: #4d2a3a; }
.analytics-bars > span:nth-child(even) { background: #7b4a61; }
.analytics-bars b { font-size: 8px; font-weight: 650; writing-mode: vertical-rl; transform: rotate(180deg); }
.analytics-bars i { font: 500 24px var(--display); }
.manage-analytics figcaption { margin-top: 14px; color: #817279; font-size: 9px; }
.manage-print > button { width: 100%; min-height: 64px; padding: 14px 0; display: flex; align-items: center; justify-content: space-between; color: #35272d; background: transparent; border: 0; border-top: 1px solid rgba(62,44,51,.12); border-radius: 0; }
.manage-print > button b { font-size: 11px; }
.manage-print > button small { color: #887a80; font-size: 9px; }
.manage-roles > button { margin-top: 20px; }
.manage-toast { position: fixed; z-index: 120; right: 24px; bottom: 24px; max-width: min(360px,calc(100vw - 48px)); padding: 14px 18px; color: #f8f2ed; background: #3e2631; border-radius: 10px; box-shadow: 0 18px 60px rgba(36,20,28,.24); opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity 180ms ease-out, transform 220ms ease-out; font-size: 11px; }
.manage-toast.is-visible { opacity: 1; transform: translateY(0); }
.studio-sidebar .studio-manage-link { margin-top: auto; color: #f4e9e3; }
.studio-sidebar .studio-manage-link + a { margin-top: 12px; }

@media (max-width: 1050px) {
  .manage-shell { grid-template-columns: 190px minmax(0,1fr); }
  .manage-sidebar { padding-inline: 16px; }
  .manage-metrics { grid-template-columns: 1fr 1fr; }
  .manage-logistics-grid,
  .manage-message-layout,
  .manage-insight-grid { grid-template-columns: 1fr; }
  .manage-insight-grid .manage-roles { grid-column: auto; }
}

@media (max-width: 760px) {
  .manage-shell { display: block; }
  .manage-sidebar { position: sticky; z-index: 30; top: 0; width: 100%; height: auto; min-height: 66px; padding: 10px 14px; flex-direction: row; align-items: center; gap: 15px; overflow-x: auto; }
  .manage-brand { flex: 0 0 auto; font-size: 0; }
  .manage-brand img { width: 30px; }
  .manage-event,
  .manage-back { display: none; }
  .manage-sidebar nav { display: flex; flex: 0 0 auto; gap: 4px; }
  .manage-sidebar nav button { min-height: 44px; padding-inline: 12px; white-space: nowrap; }
  .manage-topbar { padding: 22px 18px; align-items: flex-start; }
  .manage-topbar > div:last-child { display: grid; }
  .manage-topbar a,
  .manage-topbar button { min-height: 42px; }
  .manage-overview,
  .manage-section { padding: 55px 18px; }
  .manage-overview > header,
  .manage-section > header { display: block; }
  .manage-section > header > button,
  .manage-section > header > span { margin-top: 18px; }
  .manage-metrics { grid-template-columns: 1fr 1fr; }
  .manage-metrics article { min-height: 155px; padding: 20px 16px; }
  .manage-metrics strong { font-size: 45px; }
  .manage-today,
  .manage-planning-grid { grid-template-columns: 1fr; }
  .manage-planning-grid .manage-vendors { grid-column: auto; }
  .manage-add-guest { grid-template-columns: 1fr; }
  .manage-table-tools { grid-template-columns: 1fr; }
  .manage-table-tools > div { grid-column: 1; grid-row: auto; overflow-x: auto; }
  .manage-seat-canvas { padding: 22px 14px; grid-template-columns: 1fr 1fr; }
  .manage-message-layout form,
  .message-history,
  .manage-logistics-grid > article,
  .manage-planning-grid > article,
  .manage-insight-grid > article { padding: 24px 18px; }
  .manage-message-layout input,
  .manage-message-layout select,
  .manage-message-layout textarea,
  .manage-add-guest input,
  .manage-add-guest select,
  .manage-table-tools input { font-size: 16px; }
  .manage-budget dl { grid-template-columns: 1fr; }
  .analytics-bars { min-height: 220px; }
  .manage-toast { right: 16px; bottom: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .guest-tool-panel.is-active { animation: none; }
  .guest-tool-tabs button,
  .guest-seat-map button,
  .manage-sidebar nav button,
  .manage-topbar a,
  .manage-topbar button,
  .manage-section button,
  .manage-toast { transition: none; }
}

@media print {
  body[data-current-route="invitation"] .invite-experience > * { display: none !important; }
  body[data-current-route="invitation"] .invite-guest-hub,
  body[data-current-route="invitation"] .guest-hub-shell,
  body[data-current-route="invitation"] .guest-pass { display: block !important; }
  body[data-current-route="invitation"] .invite-guest-hub { padding: 0; background: #fff; }
  body[data-current-route="invitation"] .guest-hub-heading,
  body[data-current-route="invitation"] .guest-tools { display: none !important; }
  body[data-current-route="invitation"] .guest-pass { width: 90mm; min-height: 140mm; margin: 20mm auto; border: 1px solid #38242d; box-shadow: none; }
}
