@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

:root {
  --paper: #ffffff;
  --ink: #241638;
  --purple: #563a91;
  --violet: #7456ad;
  --pink: #bd388d;
  --gold: #c7b475;
  --lavender: #f4f0fa;
  --muted: #756e80;
  --line: #e8e1ef;
  --sans: 'DM Sans', sans-serif;
  --heading: 'Manrope', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 0; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.75; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-family: var(--heading); }
h1, h2 { font-weight: 750; line-height: 1.15; letter-spacing: -2.5px; }
h1 { font-size: clamp(48px, 5.2vw, 78px); }
h2 { font-size: clamp(32px, 3.35vw, 48px); }
h3 { font-weight: 700; font-size: 23px; line-height: 1.35; letter-spacing: -.7px; }
em { color: var(--purple); font-style: normal; }
p { color: var(--muted); }
p + p { margin-top: 20px; }
.container { width: min(1280px, calc(100% - 100px)); margin: auto; }
.section-space { padding-top: 100px; padding-bottom: 100px; }
.eyebrow { color: var(--purple); font-size: 10px; font-weight: 700; letter-spacing: 1.6px; line-height: 1.6; margin-bottom: 22px; }
.site-header { position: sticky; top: 0; z-index: 30; background: #ffffffed; backdrop-filter: blur(20px); border-bottom: 1px solid #ece6f2; }
.nav-shell { width: min(1380px, calc(100% - 70px)); height: 104px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand img { width: 76px; height: 82px; object-fit: contain; }
.brand > span { font-family: var(--heading); font-size: 21px; font-weight: 750; line-height: 1.2; letter-spacing: 1.5px; color: #4b2c75; }
.brand small { display: block; font-family: var(--sans); font-size: 8px; font-weight: 600; letter-spacing: 2.3px; margin-top: 8px; }
nav { display: flex; gap: 27px; align-items: center; }
nav > a { font-size: 12px; font-weight: 500; position: relative; padding: 10px 0; transition: color .2s; }
nav > a:hover { color: var(--pink); }
nav > a[aria-current]:not(.nav-cta) { color: var(--purple); }
nav > a[aria-current]:not(.nav-cta)::after { content: ''; position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--pink); bottom: 0; left: calc(50% - 2px); }
nav .nav-cta { display: flex; gap: 28px; color: white; background: var(--purple); border-radius: 9px; padding: 13px 22px; margin-left: 8px; }
nav .nav-cta:hover { background: var(--pink); color: white; }
.menu-toggle { display: none; }
.button { display: inline-flex; gap: 26px; align-items: center; justify-content: center; border: 1px solid transparent; padding: 16px 23px; min-height: 54px; border-radius: 9px; font-size: 12px; font-weight: 650; line-height: 1.5; transition: transform .2s, background .2s, box-shadow .2s; }
.button span { font-size: 20px; line-height: 1; }
.button:hover { transform: translateY(-3px); box-shadow: 0 8px 24px #563a9122; }
.primary, .dark { background: var(--purple); color: white; }
.primary:hover, .dark:hover { background: #452879; }
.outline { border-color: #d6c9e8; background: white; color: var(--purple); }
.white, .light { color: var(--purple); background: white; }
.text-link { display: inline-flex; align-items: center; gap: 25px; font-size: 12px; font-weight: 700; color: var(--purple); border-bottom: 1px solid #cdbde0; padding: 9px 0; }
.text-link:hover { color: var(--pink); border-color: var(--pink); }
.status-dot { display: inline-block; flex-shrink: 0; width: 7px; height: 7px; background: var(--pink); border-radius: 50%; box-shadow: 0 0 0 5px #bd388d12; }
.occasion-strip { background: var(--purple); color: white; display: flex; justify-content: center; align-items: center; gap: 45px; padding: 26px 25px; font-size: 14px; font-family: var(--heading); font-weight: 500; }
.occasion-strip i { color: #dfbf6c; font-size: 23px; font-style: normal; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 42px; }
.section-heading > p, .section-heading > div > p:not(.eyebrow) { font-size: 13px; }
.section-heading .text-link { margin-top: 15px; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 27px; }
.featured-services { grid-template-columns: repeat(4, 1fr); gap: 22px; }
.service-card { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: white; display: flex; flex-direction: column; transition: box-shadow .3s, transform .3s; }
.service-card:hover { transform: translateY(-6px); box-shadow: 0 15px 35px #38215e12; }
.image-wrap { position: relative; overflow: hidden; }
.service-card .image-wrap { aspect-ratio: 1.18; }
.image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.service-card:hover img, .journal-card:hover img { transform: scale(1.045); }
.category-pill { position: absolute; top: 15px; left: 15px; border-radius: 30px; background: #ffffffed; color: var(--purple); padding: 5px 12px; font-size: 9px; font-weight: 600; backdrop-filter: blur(10px); }
.image-arrow { position: absolute; bottom: 13px; right: 13px; background: white; color: var(--purple); width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-size: 20px; }
.service-card-copy { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.service-card h3 { font-size: 21px; margin-bottom: 14px; }
.service-card p { font-size: 12px; line-height: 1.85; margin-bottom: 23px; }
.featured-services .service-card-copy { padding: 21px; }
.featured-services h3 { font-size: 18px; }
.card-link { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 15px; border-top: 1px solid var(--line); color: var(--purple); font-size: 10px; font-weight: 600; margin-top: auto; }
.card-link b { font-size: 20px; font-weight: 400; }
.about-band { background: var(--lavender); }
.story-section { display: grid; grid-template-columns: 1fr 1fr; gap: 95px; align-items: center; padding-top: 100px; padding-bottom: 100px; }
.story-visual { height: 510px; position: relative; }
.story-main { width: 82%; height: 460px; object-fit: cover; border-radius: 140px 18px 18px 18px; }
.story-detail { position: absolute; right: -5px; bottom: 0; width: 48%; height: 225px; object-fit: cover; border: 8px solid white; border-radius: 18px; box-shadow: 0 10px 35px #29164115; }
.story-sticker { position: absolute; top: 36px; right: -22px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 135px; height: 135px; border-radius: 50%; background: var(--purple); color: white; font-size: 9px; letter-spacing: 1px; transform: rotate(9deg); z-index: 1; }
.story-sticker strong { font-family: var(--heading); font-size: 19px; font-weight: 600; letter-spacing: -.5px; }
.story-sticker span { color: #e5cd8c; font-size: 30px; line-height: 1.5; }
.story-copy h2 { margin-bottom: 25px; }
.story-copy p { font-size: 14px; }
.story-copy .button { margin-top: 30px; }
.value-chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 25px; }
.value-chips span { padding: 7px 11px; font-size: 9px; border: 1px solid #ded1ee; border-radius: 25px; color: var(--purple); background: #ffffff90; }
.gallery-editorial { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 22px; }
.gallery-tile { position: relative; padding: 0; background: #f2eaf8; border: 0; border-radius: 16px; overflow: hidden; color: white; text-align: left; isolation: isolate; }
.gallery-tile::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, #251535ba); z-index: 0; pointer-events: none; }
.gallery-tile img { width: 100%; height: 360px; object-fit: cover; transition: transform .5s; }
.gallery-tile:hover img { transform: scale(1.045); }
.gallery-tile > span { position: absolute; z-index: 1; left: 22px; bottom: 23px; right: 22px; font-size: 13px; font-weight: 500; padding-right: 32px; }
.gallery-tile > span b { position: absolute; right: 0; bottom: -3px; font-size: 22px; font-weight: 400; }
.gallery-tile small { display: block; font-size: 9px; letter-spacing: 1px; margin-bottom: 8px; opacity: .8; }
.gallery-editorial .gallery-tile:first-child { grid-row: span 2; }
.gallery-editorial .gallery-tile:first-child img { height: 100%; min-height: 520px; }
.gallery-editorial .gallery-tile:nth-child(2) { grid-column: 2 / 4; }
.gallery-editorial .gallery-tile:nth-child(2) img { height: 250px; }
.gallery-editorial .gallery-tile:nth-child(n+3) img { height: 248px; }
.approach { background: #27183e; color: white; padding: 90px 0; position: relative; overflow: hidden; }
.approach::before { content: ''; position: absolute; top: -350px; right: -170px; width: 700px; height: 700px; border: 1px solid #ffffff10; border-radius: 50%; pointer-events: none; }
.approach .eyebrow { color: #d5b7e5; }
.approach h2 em { color: #d4b9ef; }
.approach p { color: #c3b8ce; font-size: 13px; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.steps > div { padding: 30px; border: 1px solid #ffffff21; border-radius: 16px; background: #ffffff04; }
.step-top { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #ffffff1a; padding-bottom: 22px; margin-bottom: 25px; }
.step-top > span:last-child { color: #d5b5e9; font-size: 24px; }
.step-number { color: #cfb2ed; font-family: var(--heading); font-weight: 600; font-size: 34px; letter-spacing: -1px; }
.steps h3 { font-size: 22px; margin-bottom: 15px; }
.journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.journal-card { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: white; display: flex; flex-direction: column; transition: transform .2s; }
.journal-card:hover { transform: translateY(-5px); }
.journal-card .image-wrap { aspect-ratio: 1.55; }
.journal-copy { padding: 26px; display: flex; flex: 1; flex-direction: column; }
.journal-copy h3 { font-size: 21px; margin-bottom: 25px; }
.journal-copy .eyebrow { font-size: 8px; letter-spacing: 1.2px; margin-bottom: 15px; color: var(--pink); }
.faq-section { display: grid; grid-template-columns: 1fr 1.15fr; gap: 90px; border-top: 1px solid var(--line); }
.faq-section > div > p:not(.eyebrow) { margin-top: 25px; font-size: 13px; }
.faq-section .text-link { margin-top: 10px; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list details:first-child { border-top: 1px solid var(--line); }
.faq-list summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 24px 0; font-family: var(--heading); font-size: 14px; font-weight: 650; line-height: 1.7; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { font-size: 25px; color: var(--purple); font-weight: 400; flex-shrink: 0; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { font-size: 13px; padding-bottom: 25px; padding-right: 25px; }
.closing { position: relative; overflow: hidden; background: linear-gradient(110deg, #55368e 15%, #743c94 70%, #953582); color: white; padding: 75px 0; }
.closing-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; position: relative; z-index: 1; }
.closing .eyebrow { color: #e6d9f3; font-size: 9px; }
.closing h2 { font-size: 52px; letter-spacing: -2.5px; }
.closing h2 span { color: #e0c8f4; }
.closing p:not(.eyebrow) { color: #e0d3ed; font-size: 13px; margin-top: 20px; }
.closing-action { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 16px; align-items: center; margin-right: 80px; }
.closing-action > a:last-child { color: #eddef3; font-size: 11px; }
.closing-spark { position: absolute; top: -4px; right: -38px; font-size: 160px; color: #d3aed131; line-height: 1; }
.closing-orbit { position: absolute; right: -100px; top: -110px; width: 700px; height: 550px; border: 1px solid #ffffff20; border-radius: 50%; transform: rotate(-25deg); }
footer { background: #fcfaff; padding-top: 65px; }
.footer-grid { display: grid; grid-template-columns: 1.1fr .65fr 1fr 1fr; gap: 45px; }
.footer-brand { gap: 7px; margin: -17px 0 20px -10px; }
.footer-brand img { width: 79px; height: 90px; }
.footer-brand > span { font-size: 19px; }
.footer-brand small { font-size: 7px; letter-spacing: 1.8px; }
.footer-grid h3 { font-family: var(--sans); font-size: 12px; letter-spacing: 0; margin-bottom: 25px; }
.footer-grid p, .footer-grid a:not(.brand) { font-size: 11px; line-height: 2.1; }
.footer-grid a:not(.brand) { display: block; width: fit-content; max-width: 100%; overflow-wrap: anywhere; }
.footer-grid a:hover { color: var(--pink); }
.footer-grid .text-link { display: inline-flex !important; margin-top: 10px; }
.footer-grid .location-pill { display: inline-block; font-size: 10px; color: var(--purple); margin-top: 21px; border: 1px solid #e2d6ee; border-radius: 20px; padding: 5px 12px; }
.footer-grid > div:nth-child(3) p { font-size: 10px; margin-top: 16px; }
.footer-bottom { border-top: 1px solid var(--line); margin-top: 50px; padding: 21px 0; display: flex; justify-content: space-between; gap: 15px; color: var(--muted); font-size: 9px; }
.page-intro { background: var(--lavender); overflow: hidden; border-bottom: 1px solid var(--line); }
.intro-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 80px; min-height: 445px; align-items: center; padding-top: 35px; padding-bottom: 45px; }
.breadcrumb { display: inline-flex; gap: 8px; font-size: 9px; margin-bottom: 30px; color: var(--purple); }
.breadcrumb span { color: #8a7d99; font-size: 8px; letter-spacing: .6px; }
.intro-copy .eyebrow { font-size: 9px; margin-bottom: 17px; color: var(--pink); }
.intro-copy h1 { font-size: clamp(43px, 4.6vw, 66px); letter-spacing: -2.7px; }
.intro-copy > p:last-child { margin-top: 25px; max-width: 550px; font-size: 14px; }
.intro-art { width: 100%; max-width: 365px; height: 320px; position: relative; margin: 15px auto 0; }
.intro-art > img { height: 100%; width: 100%; object-fit: cover; border-radius: 100px 100px 18px 18px; transform: rotate(5deg); }
.intro-art::before { content: ''; position: absolute; inset: -15px 15px -15px -15px; border: 1px solid #c9b8df; border-radius: 110px 110px 18px 18px; transform: rotate(-3deg); }
.intro-spark { position: absolute; top: -30px; right: -35px; color: var(--pink); font-size: 80px; line-height: 1; }
.intro-note { position: absolute; bottom: 15px; left: -50px; padding: 14px 24px; background: white; box-shadow: 0 10px 30px #38215e18; border-radius: 10px; font-size: 11px; line-height: 1.7; transform: rotate(-6deg); color: var(--muted); }
.intro-note strong { color: var(--purple); font-weight: 600; }
.page-section { padding-top: 75px; padding-bottom: 90px; }
.values-section { background: var(--lavender); }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.values-grid > div { background: white; border: 1px solid var(--line); border-radius: 15px; padding: 35px; }
.value-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 15px; background: var(--lavender); color: var(--purple); font-size: 35px; margin-bottom: 27px; }
.values-grid > div:nth-child(2) .value-icon { background: #fbeef7; color: var(--pink); }
.values-grid > div:nth-child(3) .value-icon { background: #f6f2e7; color: #8b7743; }
.values-grid h3 { font-size: 21px; margin-bottom: 17px; }
.values-grid p { font-size: 13px; }
.service-toolbar, .gallery-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 45px; margin-bottom: 45px; }
.filters { display: flex; flex-wrap: wrap; gap: 7px; }
.filters button { padding: 10px 17px; border: 1px solid var(--line); border-radius: 25px; color: #6d617d; background: white; font-size: 11px; transition: background .2s; }
.filters button[aria-pressed=true] { background: var(--purple); color: white; border-color: var(--purple); }
.filters button:hover { border-color: var(--purple); }
.all-services { gap: 30px; }
.service-note, .journal-banner { display: flex; align-items: center; gap: 28px; padding: 35px; background: var(--lavender); border: 1px solid var(--line); border-radius: 16px; margin-top: 55px; }
.service-note > span, .journal-banner > span { color: var(--pink); font-size: 48px; }
.service-note h3 { font-size: 22px; margin-bottom: 8px; }
.service-note p { font-size: 12px; }
.service-note .button, .journal-banner .button { flex-shrink: 0; margin-left: auto; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.gallery-grid .gallery-tile img { height: 390px; }
.gallery-grid .gallery-tile:nth-child(3n+2) img { height: 320px; }
.gallery-grid .gallery-tile:nth-child(3n+2) { align-self: center; }
.gallery-tile[hidden], .service-card[hidden] { display: none; }
.journal-banner .eyebrow { font-size: 9px; margin-bottom: 10px; }
.journal-banner h3 { font-size: 21px; }
.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
.contact-sidebar h2 { font-size: 37px; letter-spacing: -1.5px; }
.contact-sidebar > p:not(.eyebrow) { font-size: 13px; margin-top: 25px; max-width: 380px; }
.contact-item { display: flex; gap: 18px; padding-top: 26px; margin-top: 26px; border-top: 1px solid var(--line); }
.contact-icon { flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; background: var(--lavender); color: var(--purple); display: grid; place-items: center; font-size: 23px; }
.contact-item h3 { font-family: var(--sans); font-size: 12px; font-weight: 650; letter-spacing: 0; margin: 2px 0 9px; }
.contact-item a:not(.text-link) { display: block; font-size: 13px; overflow-wrap: anywhere; }
.contact-item p { font-size: 12px; max-width: 320px; }
.contact-item .text-link { margin-top: 7px; font-size: 11px; }
.hours-card { display: flex; gap: 15px; align-items: center; border-radius: 12px; background: var(--lavender); padding: 20px; margin-top: 30px; }
.hours-card p { color: var(--purple); font-size: 12px; }
.hours-card small { color: var(--muted); font-size: 10px; }
.form-panel { background: var(--lavender); border-radius: 20px; padding: 40px; border: 1px solid var(--line); align-self: start; }
.form-panel-heading { display: flex; gap: 18px; align-items: center; margin-bottom: 35px; padding-bottom: 28px; border-bottom: 1px solid #ded2eb; }
.form-panel-heading > span { color: var(--pink); font-size: 45px; line-height: 1; }
.form-panel .eyebrow { font-size: 8px; letter-spacing: 1px; margin-bottom: 9px; }
.form-panel h2 { font-size: 30px; letter-spacing: -1.2px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.enquiry-form label { display: block; font-size: 11px; font-weight: 600; margin-bottom: 20px; }
input, select, textarea { display: block; width: 100%; min-width: 0; min-height: 46px; padding: 13px 14px; margin-top: 8px; border: 1px solid #e0d6eb; border-radius: 8px; background: white; color: var(--ink); font-size: 11px; font-weight: 400; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { color: #938a9d; }
.enquiry-form .button { width: 100%; border: 0; }
.form-note { font-size: 10px; margin-top: 13px; text-align: center; }
.form-alert { border: 1px solid #d1c0e5; border-left: 4px solid var(--purple); border-radius: 8px; background: white; padding: 18px; font-size: 13px; margin-bottom: 25px; }
.contact-bottom { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 40px; border: 1px solid var(--line); border-radius: 16px; margin-bottom: 80px; }
.contact-bottom h3 { font-size: 25px; }
.contact-bottom .eyebrow { font-size: 8px; margin-bottom: 15px; }
.contact-bottom > span { font-size: 60px; color: var(--pink); }
.contact-bottom > p { font-size: 13px; }
.detail-layout { display: grid; grid-template-columns: 1.6fr 1fr; gap: 60px; padding-top: 70px; padding-bottom: 90px; }
.detail-photo { width: 100%; max-height: 510px; object-fit: cover; border-radius: 18px; margin-bottom: 35px; }
.detail-layout h2 { font-size: 34px; letter-spacing: -1.5px; margin-bottom: 22px; }
.detail-layout > div > p { font-size: 14px; }
.detail-aside { position: sticky; top: 130px; align-self: start; border: 1px solid #ded2eb; border-radius: 18px; background: var(--lavender); padding: 33px; }
.detail-aside .eyebrow { font-size: 9px; }
.detail-aside h3 { font-size: 25px; margin-bottom: 20px; }
.detail-aside p { font-size: 13px; }
.detail-aside .button { width: 100%; margin: 25px 0 18px; font-size: 11px; }
.detail-aside > a:last-child { display: block; font-size: 11px; text-align: center; }
.detail-aside .value-chips { margin-bottom: 24px; }
.includes-panel { margin-top: 32px; padding: 30px; background: var(--lavender); border-radius: 16px; }
.includes-panel h3 { margin-bottom: 22px; }
.includes-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.includes-list li { font-size: 12px; padding-left: 24px; position: relative; }
.includes-list li::before { content: '✓'; position: absolute; left: 0; color: var(--pink); font-weight: 700; }
.detail-related { border-top: 1px solid var(--line); }
.article-body { padding-top: 65px; padding-bottom: 85px; }
.article-cover { width: 100%; height: 500px; object-fit: cover; border-radius: 20px; }
.article-layout { display: grid; grid-template-columns: 180px 1fr; gap: 65px; max-width: 1000px; margin: 45px auto 0; }
.article-meta { border-top: 2px solid var(--purple); padding-top: 20px; font-size: 11px; color: var(--muted); }
.article-meta strong { display: block; color: var(--purple); margin-bottom: 10px; }
.article-meta .text-link { font-size: 10px; margin-top: 20px; }
.article-text p { font-size: 16px; line-height: 1.95; margin-bottom: 25px; }
.article-text .text-link { margin-top: 20px; }
.article-callout { background: var(--lavender); border-radius: 15px; padding: 30px; margin-top: 35px; }
.article-callout h3 { margin-bottom: 15px; }
.article-callout p { font-size: 13px; }
.article-callout .button { margin-top: 15px; }
.review-heading { text-align: center; margin-bottom: 40px; }
.review-heading p:last-child { margin-top: 20px; font-size: 13px; }
.reviews-panel { border: 1px solid var(--line); border-radius: 20px; background: #fcfaff; padding: 35px; }
.review-service-note { display: flex; align-items: center; gap: 25px; max-width: 900px; margin: 25px auto 0; }
.review-service-note > span { color: var(--pink); font-size: 38px; }
.review-service-note > p { font-size: 12px; }
.review-service-note > a { flex-shrink: 0; }
.review-values { margin-top: 45px; }
dialog { max-width: 90vw; max-height: 92vh; border: 0; padding: 15px; border-radius: 17px; background: white; }
dialog::backdrop { background: #211231e8; backdrop-filter: blur(7px); }
dialog img { max-height: 76vh; max-width: 82vw; object-fit: contain; border-radius: 8px; margin: auto; }
dialog p { padding: 12px 5px 0; font-size: 12px; }
.dialog-close { position: absolute; z-index: 2; right: 23px; top: 23px; width: 40px; height: 40px; border: 0; background: white; color: var(--purple); border-radius: 50%; font-size: 18px; box-shadow: 0 3px 15px #21123130; }
.sr-only, .skip-link { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.skip-link:focus { position: fixed; z-index: 100; top: 10px; left: 10px; clip: auto; width: auto; height: auto; background: white; padding: 12px; }
:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; }

@media (max-width: 1180px) {
  .container { width: calc(100% - 80px); }
  .nav-shell { width: calc(100% - 40px); gap: 20px; }
  nav { gap: 18px; }
  nav > a { font-size: 11px; }
  .brand > span { font-size: 19px; }
  .brand img { width: 65px; }
  .occasion-strip { gap: 30px; font-size: 12px; }
  .featured-services { grid-template-columns: 1fr 1fr; gap: 26px; }
  .featured-services .service-card { display: grid; grid-template-columns: 1fr 1fr; }
  .featured-services .image-wrap { aspect-ratio: auto; min-height: 255px; }
  .featured-services .image-arrow { display: none; }
  .featured-services h3 { font-size: 19px; }
  .featured-services .card-link { font-size: 9px; }
  .story-section { gap: 60px; }
  .footer-grid { gap: 28px; }
  .contact-layout { gap: 55px; }
  .service-toolbar, .gallery-toolbar { gap: 30px; }
}
@media (max-width: 950px) {
  .nav-shell { height: 88px; }
  .brand img { width: 62px; height: 70px; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 20px; border: 1px solid #ded2eb; border-radius: 8px; background: var(--lavender); color: var(--purple); padding: 10px 16px; font-size: 12px; }
  nav { display: none; position: absolute; left: 0; right: 0; top: 88px; padding: 25px 35px; background: white; border-bottom: 1px solid var(--line); box-shadow: 0 15px 25px #24163815; max-height: calc(100dvh - 88px); overflow: auto; }
  nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
  nav > a { font-size: 14px; padding: 8px 0; }
  nav > a[aria-current]:not(.nav-cta)::after { left: auto; right: 5px; bottom: 18px; }
  nav .nav-cta { margin: 4px 0 0; justify-content: space-between; padding: 14px 20px; }
  .container { width: calc(100% - 60px); }
  .occasion-strip { gap: 22px; font-size: 10px; padding: 23px 15px; }
  .occasion-strip i { font-size: 18px; }
  .section-space { padding-top: 75px; padding-bottom: 75px; }
  .story-section { gap: 45px; padding-top: 75px; padding-bottom: 75px; }
  .story-visual { height: 440px; }
  .story-main { height: 390px; }
  .story-detail { height: 180px; }
  .story-sticker { width: 105px; height: 105px; font-size: 7px; right: -5px; }
  .story-sticker strong { font-size: 16px; }
  h2 { font-size: 35px; letter-spacing: -1.5px; }
  .story-copy p { font-size: 12px; }
  .value-chips { gap: 6px; }
  .value-chips span { font-size: 8px; padding: 6px 9px; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .featured-services .service-card { display: flex; }
  .featured-services .image-wrap { aspect-ratio: 1.4; min-height: 0; }
  .featured-services h3 { font-size: 23px; }
  .featured-services .card-link { font-size: 10px; }
  .section-heading { gap: 30px; }
  .section-heading > p, .section-heading > div > p:not(.eyebrow) { font-size: 12px; }
  .gallery-editorial { gap: 16px; }
  .gallery-editorial .gallery-tile:first-child img { min-height: 470px; }
  .gallery-editorial .gallery-tile:nth-child(n+2) img { height: 227px; }
  .gallery-tile > span { font-size: 11px; left: 16px; right: 16px; bottom: 18px; }
  .steps { gap: 16px; }
  .steps > div { padding: 24px; }
  .steps h3 { font-size: 19px; }
  .steps p { font-size: 12px; }
  .journal-grid { gap: 20px; }
  .journal-copy { padding: 20px; }
  .journal-copy h3 { font-size: 18px; }
  .faq-section { gap: 45px; }
  .closing h2 { font-size: 43px; }
  .closing-action { margin-right: 0; }
  .closing-spark { right: -15px; font-size: 120px; opacity: .7; }
  .footer-grid { grid-template-columns: 1.1fr 1fr; gap: 40px 75px; }
  .intro-inner { grid-template-columns: 1.3fr 1fr; gap: 45px; }
  .intro-copy h1 { font-size: 46px; }
  .intro-copy > p:last-child { font-size: 12px; }
  .intro-art { height: 285px; }
  .intro-note { left: -20px; font-size: 10px; padding: 12px 17px; }
  .intro-spark { right: -20px; font-size: 65px; }
  .values-grid { gap: 20px; }
  .values-grid > div { padding: 25px; }
  .values-grid h3 { font-size: 19px; }
  .values-grid p { font-size: 12px; }
  .service-toolbar, .gallery-toolbar { align-items: flex-start; flex-direction: column; }
  .gallery-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .gallery-grid .gallery-tile:nth-child(n) img { height: 360px; }
  .service-note, .journal-banner { padding: 28px; flex-wrap: wrap; gap: 20px; }
  .service-note .button, .journal-banner .button { margin-left: 0; }
  .contact-layout { gap: 35px; grid-template-columns: .9fr 1.1fr; }
  .contact-sidebar h2 { font-size: 30px; }
  .contact-item { gap: 12px; }
  .contact-icon { width: 34px; height: 34px; }
  .contact-item a:not(.text-link) { font-size: 11px; }
  .form-panel { padding: 28px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-panel-heading { gap: 13px; }
  .form-panel h2 { font-size: 27px; }
  .form-panel-heading > span { font-size: 32px; }
  .contact-bottom { padding: 30px; }
  .contact-bottom h3 { font-size: 22px; }
  .contact-bottom > p { font-size: 11px; }
  .detail-layout { gap: 30px; grid-template-columns: 1.3fr 1fr; }
  .detail-aside { padding: 25px; }
  .detail-aside h3 { font-size: 21px; }
  .detail-layout h2 { font-size: 30px; }
  .article-layout { grid-template-columns: 145px 1fr; gap: 35px; }
  .review-service-note { flex-wrap: wrap; }
}
@media (max-width: 650px) {
  .container { width: calc(100% - 40px); }
  .nav-shell { height: 82px; width: calc(100% - 30px); }
  .brand { gap: 6px; }
  .brand img { width: 58px; height: 66px; }
  .brand > span { font-size: 17px; letter-spacing: 1px; }
  .brand small { font-size: 6.5px; letter-spacing: 1.7px; margin-top: 7px; }
  .menu-toggle { padding: 9px 12px; gap: 12px; font-size: 11px; }
  nav { top: 82px; padding: 20px; max-height: calc(100dvh - 82px); }
  .status-dot { width: 6px; height: 6px; box-shadow: 0 0 0 4px #bd388d12; }
  .occasion-strip { display: grid; grid-template-columns: 1fr auto 1fr auto; padding: 20px; gap: 12px 9px; font-size: 9px; text-align: center; }
  .occasion-strip i { font-size: 15px; }
  .section-space { padding-top: 60px; padding-bottom: 60px; }
  h2 { font-size: 34px; letter-spacing: -1.5px; }
  h3 { font-size: 22px; }
  .eyebrow { font-size: 8px; letter-spacing: 1.3px; margin-bottom: 17px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 22px; margin-bottom: 30px; }
  .section-heading > p, .section-heading > div > p:not(.eyebrow) { font-size: 12px; }
  .section-heading .text-link { margin-top: 9px; }
  .service-grid, .featured-services { grid-template-columns: 1fr; gap: 24px; }
  .featured-services .service-card { display: flex; }
  .featured-services .service-card .image-wrap { aspect-ratio: 1.55; }
  .featured-services .service-card-copy, .service-card-copy { padding: 24px; }
  .service-card h3, .featured-services h3 { font-size: 24px; }
  .service-card p { font-size: 12px; }
  .service-card .image-wrap { aspect-ratio: 1.5; }
  .featured-services .image-arrow { display: grid; }
  .card-link, .featured-services .card-link { font-size: 11px; }
  .story-section { grid-template-columns: 1fr; padding-top: 60px; padding-bottom: 60px; gap: 40px; }
  .story-visual { height: 420px; width: calc(100% - 8px); }
  .story-main { height: 370px; width: 83%; border-radius: 110px 15px 15px 15px; }
  .story-detail { height: 180px; border-width: 6px; right: -5px; }
  .story-sticker { width: 110px; height: 110px; right: -5px; top: 27px; }
  .story-copy p { font-size: 13px; }
  .story-copy h2 { margin-bottom: 22px; }
  .story-copy .button { margin-top: 25px; }
  .value-chips span { font-size: 8px; padding: 6px 10px; }
  .gallery-editorial { grid-template-columns: 1fr 1fr; gap: 15px; }
  .gallery-editorial .gallery-tile:first-child { grid-row: auto; grid-column: 1 / -1; }
  .gallery-editorial .gallery-tile:first-child img { height: 350px; min-height: 0; }
  .gallery-editorial .gallery-tile:nth-child(2) { grid-column: auto; }
  .gallery-editorial .gallery-tile:nth-child(n+2) img { height: 240px; }
  .gallery-editorial .gallery-tile:last-child { grid-column: 1 / -1; }
  .gallery-editorial .gallery-tile:last-child img { height: 270px; }
  .gallery-tile > span { font-size: 11px; left: 16px; right: 16px; bottom: 18px; }
  .gallery-editorial .gallery-tile:nth-child(2) > span, .gallery-editorial .gallery-tile:nth-child(3) > span { font-size: 9px; }
  .gallery-tile > span b { font-size: 19px; }
  .approach { padding: 60px 0; }
  .steps { grid-template-columns: 1fr; gap: 18px; }
  .steps > div { padding: 27px; }
  .step-top { padding-bottom: 17px; margin-bottom: 20px; }
  .step-number { font-size: 32px; }
  .steps h3 { font-size: 24px; }
  .steps p { font-size: 13px; }
  .journal-grid { grid-template-columns: 1fr; gap: 25px; }
  .journal-card .image-wrap { aspect-ratio: 1.65; }
  .journal-copy { padding: 25px; }
  .journal-copy h3 { font-size: 23px; }
  .faq-section { grid-template-columns: 1fr; gap: 32px; }
  .faq-list summary { font-size: 13px; padding: 22px 0; }
  .faq-list details p { font-size: 12px; }
  .closing { padding: 55px 0; }
  .closing-inner { flex-direction: column; align-items: flex-start; gap: 30px; }
  .closing h2 { font-size: 39px; letter-spacing: -1.9px; }
  .closing .eyebrow { font-size: 8px; }
  .closing p:not(.eyebrow) { font-size: 12px; max-width: 280px; }
  .closing-action { gap: 13px; align-items: flex-start; }
  .closing-action > a:last-child { margin-left: 13px; font-size: 10px; }
  .closing-spark { top: auto; bottom: 0; right: -5px; font-size: 100px; }
  footer { padding-top: 45px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 25px; }
  .footer-about { grid-column: 1 / -1; }
  .footer-brand { margin-bottom: 12px; }
  .footer-brand > span { font-size: 21px; }
  .footer-brand small { font-size: 8px; }
  .footer-brand img { width: 75px; height: 80px; }
  .footer-about p { max-width: 270px; }
  .footer-grid h3 { margin-bottom: 17px; font-size: 11px; }
  .footer-grid p, .footer-grid a:not(.brand) { font-size: 10px; }
  .footer-grid > div:nth-child(3) { min-width: 0; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { margin-top: 35px; flex-wrap: wrap; gap: 12px; font-size: 8px; padding: 20px 0; }
  .footer-bottom > span:nth-child(2) { order: 3; width: 100%; }
  .intro-inner { grid-template-columns: 1fr; gap: 30px; padding-top: 27px; padding-bottom: 42px; }
  .breadcrumb { font-size: 8px; margin-bottom: 23px; }
  .breadcrumb span { font-size: 7px; }
  .intro-copy .eyebrow { font-size: 8px; }
  .intro-copy h1 { font-size: clamp(38px, 10vw, 54px); letter-spacing: -1.9px; }
  .intro-copy > p:last-child { margin-top: 20px; font-size: 12px; }
  .intro-art { width: 77%; height: 235px; margin-top: 10px; margin-bottom: 5px; }
  .intro-art > img { border-radius: 80px 80px 15px 15px; }
  .intro-art::before { inset: -9px 9px -9px -9px; border-radius: 80px 80px 15px 15px; }
  .intro-spark { right: -35px; top: -15px; font-size: 62px; }
  .intro-note { left: -30px; bottom: 4px; font-size: 9px; padding: 11px 18px; }
  .page-section { padding-top: 55px; padding-bottom: 60px; }
  .values-grid { grid-template-columns: 1fr; gap: 20px; }
  .values-grid > div { padding: 28px; }
  .values-grid h3 { font-size: 23px; }
  .values-grid p { font-size: 13px; }
  .value-icon { margin-bottom: 22px; width: 53px; height: 53px; font-size: 30px; }
  .service-toolbar, .gallery-toolbar { gap: 27px; margin-bottom: 30px; }
  .filters { gap: 7px; }
  .filters button { font-size: 9px; padding: 9px 13px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; gap: 15px; }
  .gallery-grid .gallery-tile:nth-child(n) img { height: 250px; }
  .gallery-grid .gallery-tile:first-child { grid-column: 1 / -1; }
  .gallery-grid .gallery-tile:first-child img { height: 350px; }
  .gallery-grid .gallery-tile > span { font-size: 9px; left: 12px; right: 12px; bottom: 15px; padding-right: 20px; }
  .gallery-grid .gallery-tile:first-child > span { font-size: 12px; }
  .gallery-tile small { font-size: 7px; letter-spacing: .5px; }
  .service-note, .journal-banner { padding: 25px; gap: 15px; margin-top: 35px; }
  .service-note > span, .journal-banner > span { font-size: 38px; }
  .service-note h3, .journal-banner h3 { font-size: 22px; }
  .journal-banner .eyebrow { font-size: 8px; }
  .contact-layout { grid-template-columns: 1fr; gap: 35px; }
  .contact-sidebar h2 { font-size: 34px; }
  .contact-sidebar > p:not(.eyebrow) { font-size: 13px; margin-top: 22px; }
  .contact-item { gap: 17px; }
  .contact-item h3 { font-size: 13px; }
  .contact-item a:not(.text-link) { font-size: 12px; }
  .contact-item p { font-size: 12px; }
  .contact-icon { width: 39px; height: 39px; }
  .form-panel { padding: 27px 22px; border-radius: 16px; }
  .form-panel h2 { font-size: 29px; }
  .form-panel-heading { gap: 13px; }
  .form-panel .eyebrow { font-size: 7px; }
  .form-grid { grid-template-columns: 1fr; }
  input, select, textarea { font-size: 16px; padding: 12px; }
  input::placeholder, textarea::placeholder { font-size: 12px; }
  select { font-size: 12px; min-height: 49px; }
  .contact-bottom { padding: 27px; gap: 20px; flex-wrap: wrap; margin-bottom: 55px; }
  .contact-bottom > span { font-size: 40px; }
  .contact-bottom > p { font-size: 12px; }
  .detail-layout { grid-template-columns: 1fr; gap: 35px; padding: 45px 0 60px; }
  .detail-layout h2 { font-size: 31px; }
  .detail-layout > div > p { font-size: 13px; }
  .detail-aside { position: static; padding: 28px; }
  .detail-aside h3 { font-size: 25px; }
  .includes-panel { padding: 25px; }
  .includes-panel h3 { font-size: 22px; }
  .includes-list { grid-template-columns: 1fr; gap: 13px; }
  .article-body { padding: 40px 0 60px; }
  .article-cover { height: 280px; border-radius: 14px; }
  .article-layout { grid-template-columns: 1fr; gap: 27px; margin-top: 30px; }
  .article-meta { display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 10px; }
  .article-meta strong { margin-bottom: 3px; }
  .article-meta .text-link { margin-top: 0; }
  .article-text p { font-size: 14px; }
  .article-callout { padding: 25px; }
  .article-callout h3 { font-size: 23px; }
  .review-heading { text-align: left; }
  .reviews-panel { padding: 22px; }
  .review-service-note { gap: 15px; margin-top: 10px; }
  .review-service-note > p { font-size: 12px; }
  .review-values { margin-top: 30px; }
  dialog { padding: 10px; border-radius: 12px; }
  dialog img { max-width: 84vw; }
}
@media (max-width: 365px) {
  .brand > span { font-size: 15px; }
  .brand small { font-size: 6px; }
  .brand img { width: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
.scope-note { font-size: 10px; margin-top: 23px; }
.sub-services { margin-top: 35px; }
.sub-services > h3 { margin-bottom: 25px; }


/* Bright event hero with deliberately selected event inspiration. */
.event-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 22px 24px 0;
  min-height: 685px;
  border-radius: 22px;
  background: #f4edfc;
  color: #382057;
}
.event-scene, .event-hero-shade { position: absolute; inset: 0; bottom: 117px; }
.event-scene { left: 44%; z-index: -2; }
.event-scene > img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; filter: brightness(1.08) saturate(1.13); }
.event-hero-shade { z-index: -1; background: linear-gradient(90deg, #f4edfc 0%, #f4edfc 39%, #f4edfcf5 45%, #f4edfca6 51%, transparent 65%); }
.event-hero-content { width: min(1280px, calc(100% - 110px)); margin: auto; padding: 65px 0 165px; position: relative; z-index: 1; pointer-events: none; }
.event-hero-content a { pointer-events: auto; }
.event-hero-eyebrow { display: flex; align-items: center; gap: 12px; color: #88337f; font-weight: 700; font-size: 8px; letter-spacing: 1.2px; max-width: 410px; margin-bottom: 25px; }
.event-hero-eyebrow > span { display: inline-block; height: 1px; width: 26px; background: #bd388d; }
.event-hero h1 { color: #42236c; font-weight: 800; font-size: clamp(52px, 4.8vw, 71px); max-width: 600px; letter-spacing: -3px; line-height: 1.1; }
.event-hero h1 em { color: #b82988; font-weight: 750; }
.event-hero-description { color: #6d5a7f; max-width: 365px; font-size: 13px; line-height: 1.9; margin-top: 25px; }
.event-hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 28px; }
.event-primary { background: #b82988; color: white; border: 1px solid #b82988; box-shadow: 0 8px 22px #b8298822; min-width: 180px; justify-content: space-between; }
.event-primary:hover { background: #a62a7e; box-shadow: 0 8px 25px #b8298830; }
.event-secondary { color: #563a91; border-bottom: 1px solid #ae8fc9; font-weight: 650; font-size: 12px; padding: 10px 0; display: flex; align-items: center; gap: 25px; }
.event-secondary:hover { color: #b82988; }
.scene-label { position: absolute; right: 36px; top: 29px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; background: #fffffff0; color: #563a91; border: 1px solid white; box-shadow: 0 4px 15px #39225910; font-weight: 650; border-radius: 30px; font-size: 8px; letter-spacing: 1.2px; }
.scene-dot { height: 5px; width: 5px; border-radius: 50%; background: #b82988; }
.hero-event-selector { position: absolute; bottom: 0; left: 0; right: 0; display: grid; grid-template-columns: .75fr 3fr; gap: 25px; padding: 22px max(35px, calc((100% - 1280px) / 2)); border-top: 1px solid #e8dbf1; align-items: center; background: white; }
.hero-selector-intro { line-height: 1.5; }
.hero-selector-intro > span { display: block; font-size: 7px; color: #9c768f; letter-spacing: 1.5px; margin-bottom: 7px; }
.hero-selector-intro strong { color: #563a91; font-family: var(--heading); font-size: 14px; font-weight: 650; }
.hero-event-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.hero-event-tabs > button { text-align: left; background: #faf7fd; color: #563a91; border: 1px solid #e8ddf0; border-radius: 10px; display: flex; align-items: center; gap: 15px; padding: 15px 18px; min-height: 75px; transition: background .2s, border-color .2s; }
.hero-event-tabs > button:hover { background: #f3e8fb; }
.hero-event-tabs > button[aria-selected=true] { background: #efe2f8; border-color: #a478c5; }
.hero-tab-number { font-size: 10px; color: #a16ca6; }
.hero-tab-copy { display: flex; flex-direction: column; gap: 3px; }
.hero-tab-copy strong { font-size: 12px; font-weight: 750; }
.hero-tab-copy small { font-size: 9px; color: #8c769c; }
.hero-tab-arrow { color: #b82988; margin-left: auto; font-size: 19px; }
@media (min-width: 1550px) {
  .event-hero { min-height: 720px; }
  .event-hero-content { padding-top: 90px; }
}
@media (max-width: 1180px) {
  .event-hero { min-height: 685px; margin: 18px 20px 0; }
  .event-hero-content { width: calc(100% - 85px); padding-top: 70px; }
  .hero-event-selector { grid-template-columns: 1fr; gap: 0; padding: 20px 30px; }
  .hero-selector-intro { display: none; }
  .event-hero h1 { font-size: 62px; }
  .event-hero-description { max-width: 330px; }
  .event-hero-actions { gap: 20px; }
  .hero-event-tabs > button { padding: 13px 16px; gap: 12px; }
}
@media (max-width: 950px) {
  .event-hero { min-height: 690px; }
  .event-hero-content { width: calc(100% - 65px); }
  .event-hero h1 { font-size: 55px; letter-spacing: -2.5px; }
  .event-hero-description { max-width: 300px; font-size: 12px; }
  .event-hero-eyebrow { font-size: 6px; max-width: 300px; letter-spacing: .8px; }
  .event-hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .event-scene { left: 38%; }
  .event-hero-shade { background: linear-gradient(90deg, #f4edfc 0%, #f4edfc 32%, #f4edfcf0 40%, #f4edfc8c 49%, transparent 70%); }
  .hero-event-tabs { gap: 10px; }
  .hero-event-tabs > button { padding: 13px; gap: 9px; }
  .hero-tab-copy strong { font-size: 11px; }
  .hero-tab-copy small { font-size: 8px; }
  .hero-tab-number { font-size: 9px; }
  .scene-label { top: 23px; right: 24px; font-size: 7px; }
}
@media (max-width: 650px) {
  .event-hero { display: flex; flex-direction: column; margin: 12px 12px 0; min-height: 0; border-radius: 16px; }
  .event-hero-content { order: 0; padding: 35px 0 30px; width: calc(100% - 44px); }
  .event-hero-eyebrow { font-size: 6px; max-width: none; letter-spacing: .6px; margin-bottom: 20px; gap: 7px; }
  .event-hero-eyebrow > span { width: 17px; }
  .event-hero h1 { font-size: clamp(39px, 10.5vw, 56px); line-height: 1.12; letter-spacing: -1.7px; }
  .event-hero-description { max-width: 100%; font-size: 12px; margin-top: 20px; line-height: 1.85; }
  .event-hero-actions { flex-direction: row; align-items: center; gap: 17px; margin-top: 23px; }
  .event-primary { font-size: 10px; min-width: 145px; padding: 13px 15px; min-height: 47px; gap: 15px; }
  .event-primary span { font-size: 17px; }
  .event-secondary { font-size: 9px; gap: 10px; padding: 7px 0; }
  .event-scene { position: relative; inset: auto; z-index: 0; width: 100%; height: 280px; order: 1; flex-shrink: 0; }
  .event-scene > img { object-position: center; }
  .event-hero-shade { display: none; }
  .scene-label { top: 15px; right: 15px; padding: 7px 10px; font-size: 6px; letter-spacing: .8px; }
  .hero-event-selector { position: relative; inset: auto; order: 2; width: 100%; padding: 15px 18px; }
  .hero-event-tabs { grid-template-columns: 1fr; gap: 7px; }
  .hero-event-tabs > button { min-height: 49px; padding: 10px 13px; border-radius: 8px; gap: 12px; }
  .hero-tab-number { font-size: 8px; }
  .hero-tab-copy { flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; flex: 1; }
  .hero-tab-copy strong { font-size: 10px; }
  .hero-tab-copy small { font-size: 7px; }
  .hero-tab-arrow { font-size: 16px; }
}
@media (max-width: 365px) {
  .event-hero h1 { font-size: 36px; }
  .event-hero-content { width: calc(100% - 36px); }
  .event-hero-eyebrow { font-size: 5.4px; letter-spacing: .4px; }
  .event-primary { min-width: 133px; font-size: 9px; }
  .event-secondary { font-size: 8px; gap: 7px; }
  .hero-tab-copy small { font-size: 6.5px; }
  .hero-tab-copy strong { font-size: 9px; }
}

/* Bright inner pages share the homepage palette and use contextual imagery. */
.page-intro {
  margin: 20px 24px 0;
  border: 1px solid #ece0f4;
  border-radius: 24px;
  background: linear-gradient(110deg, #f4edfc 0%, #faf1f8 66%, #fff8f9 100%);
}
.intro-inner { grid-template-columns: 1.05fr 1fr; gap: 65px; min-height: 485px; padding: 42px 0; }
.intro-copy, .intro-art { min-width: 0; }
.intro-copy .breadcrumb { margin-bottom: 24px; }
.intro-copy .eyebrow { color: #ad277f; letter-spacing: 1.5px; }
.intro-copy h1 { font-size: clamp(40px, 4.1vw, 59px); line-height: 1.13; letter-spacing: -2.4px; color: #42236c; font-weight: 800; overflow-wrap: break-word; }
.intro-copy h1 em { color: #b82988; font-weight: 750; }
.intro-description { max-width: 530px; margin-top: 22px; color: #756183; font-size: 13px; line-height: 1.9; }
.intro-action { background: #b82988; color: white; margin-top: 25px; font-size: 11px; min-height: 49px; padding: 13px 20px; }
.intro-action:hover { background: #a32779; box-shadow: 0 8px 24px #b8298825; }
.intro-art { width: 100%; max-width: none; height: 355px; margin: 0; padding: 8px; background: #ffffffb3; border: 1px solid white; border-radius: 22px; box-shadow: 0 14px 40px #563a9110; }
.intro-art::before { display: none; }
.intro-art > img { border-radius: 16px; transform: none; object-fit: cover; filter: brightness(1.04) saturate(1.06); }
.intro-art figcaption { position: absolute; left: 23px; bottom: 23px; display: flex; align-items: center; gap: 8px; background: #fffffff2; color: #563a91; padding: 9px 14px; border-radius: 30px; font-size: 7px; font-weight: 700; letter-spacing: 1px; box-shadow: 0 5px 15px #3922590d; }
.intro-caption-dot { width: 5px; height: 5px; border-radius: 50%; background: #b82988; }
.page-service-details .intro-art { height: 380px; }
.page-service-details .intro-copy h1, .page-blog-details .intro-copy h1 { font-size: clamp(37px, 3.6vw, 53px); }
.page-blog-details .intro-action { display: none; }
.page-blog-details .intro-art { height: 370px; }
.page-about-us .story-main { border-radius: 22px; width: 83%; object-position: 60% center; }
.page-about-us .story-sticker { background: #f5dff1; color: #942477; border: 7px solid white; transform: none; font-weight: 700; }
.page-about-us .story-sticker span { color: #b82988; }
.page-about-us .story-detail { border-radius: 20px; }
.values-section { background: #faf6fe; border-top: 1px solid #f0e5f7; border-bottom: 1px solid #f0e5f7; }
.values-grid > div { border-radius: 20px; box-shadow: 0 10px 30px #563a9107; }
.values-grid > div:nth-child(2) { background: #fff6fb; border-color: #f1daeb; }
.values-grid > div:nth-child(3) { background: #fffdf5; border-color: #eee7cf; }
.values-grid h3 { color: #563a91; }
.approach { background: linear-gradient(115deg, #f6f0fc, #fdf3fa); color: #42236c; border-top: 1px solid #eee1f5; border-bottom: 1px solid #eee1f5; }
.approach::before { border-color: #b8298810; }
.approach .eyebrow { color: #b82988; }
.approach h2 em { color: #b82988; }
.approach p { color: #7d688c; }
.steps > div { background: white; border-color: #eadcf3; border-radius: 20px; box-shadow: 0 8px 30px #563a9106; }
.steps > div:nth-child(2) { background: #fff9fd; border-color: #eddaea; }
.step-top { border-color: #eee3f5; }
.step-number { color: #b82988; }
.step-top > span:last-child { color: #b82988; }
.steps h3 { color: #563a91; }
.service-toolbar, .gallery-toolbar { padding-bottom: 30px; border-bottom: 1px solid var(--line); }
.filters button { min-height: 42px; background: #faf6fd; color: #6f4f8c; border-color: #e8daf0; }
.filters button[aria-pressed=true] { background: #b82988; border-color: #b82988; box-shadow: 0 5px 15px #b8298818; }
.all-services { grid-template-columns: repeat(2, 1fr); gap: 30px; }
.all-services .service-card .image-wrap { aspect-ratio: 1.85; }
.all-services .service-card-copy { padding: 28px; }
.all-services .service-card h3 { font-size: 25px; color: #4b2d75; }
.all-services .service-card p { font-size: 13px; max-width: 460px; }
.all-services .service-card:nth-child(4n+2), .all-services .service-card:nth-child(4n+3) { background: #fdf9ff; }
.service-card { box-shadow: 0 7px 30px #563a9105; border-radius: 20px; }
.service-card:hover { border-color: #d5b7e6; box-shadow: 0 14px 38px #563a9114; }
.category-pill { background: #fff9ffed; color: #992277; }
.image-arrow { color: #b82988; }
.card-link { color: #a12a80; }
.service-note, .journal-banner { background: linear-gradient(110deg, #f5edfc, #fff0f9); padding: 38px; border-radius: 20px; border-color: #edddf4; }
.service-note h3, .journal-banner h3 { color: #563a91; }
.journal-banner .button, .service-note .button { background: #b82988; }
.page-gallery .gallery-grid { padding: 24px; border-radius: 24px; background: #faf6fe; border: 1px solid #eee2f6; }
.gallery-tile { box-shadow: 0 8px 25px #563a9110; }
.gallery-tile::after { background: linear-gradient(transparent, #321a52c9); }
.gallery-grid .gallery-tile:nth-child(3n+2) img { height: 390px; }
.gallery-grid .gallery-tile:nth-child(3n+2) { align-self: stretch; }
.journal-card { border-radius: 20px; box-shadow: 0 8px 30px #563a9107; }
.journal-card:nth-child(2) { background: #fff8fc; }
.journal-card:nth-child(3) { background: #faf7ff; }
.journal-copy h3 { color: #563a91; }
.article-body { background: white; }
.article-layout { max-width: 1100px; margin-top: 0; grid-template-columns: 190px 1fr; gap: 60px; }
.article-meta { border-top-color: #b82988; padding: 22px 0; }
.article-text { padding: 35px 40px; border: 1px solid #eee2f6; border-radius: 20px; background: #fffdff; box-shadow: 0 8px 32px #563a9105; }
.article-callout { background: linear-gradient(110deg, #f4edfc, #fff0f8); border: 1px solid #eadbf1; }
.article-callout h3 { color: #563a91; }
.article-callout .button { background: #b82988; }
.detail-layout { grid-template-columns: 1.6fr 1fr; gap: 55px; }
.detail-layout h2 { color: #563a91; font-size: 36px; }
.detail-layout > div > p:not(.eyebrow) { font-size: 14px; line-height: 1.95; }
.detail-aside { background: linear-gradient(140deg, #f4edfc, #fff0f9); border-color: #e9d6ef; box-shadow: 0 10px 35px #563a9108; border-radius: 20px; }
.detail-aside h3 { color: #563a91; }
.detail-aside .button { background: #b82988; }
.detail-aside .value-chips span { background: #ffffffb3; }
.includes-panel { background: #faf5ff; border: 1px solid #eadcf2; border-radius: 20px; }
.includes-panel h3 { color: #563a91; }
.includes-list li { background: white; border: 1px solid #eee3f5; border-radius: 9px; padding: 12px 12px 12px 34px; font-size: 12px; }
.includes-list li::before { left: 13px; top: 12px; }
.form-panel { padding: 40px; background: linear-gradient(135deg, #f4eafc, #fff0f8); border-color: #ead5f0; box-shadow: 0 14px 45px #563a910a; }
.form-panel h2 em { color: #b82988; }
.enquiry-form .button { background: #b82988; box-shadow: 0 8px 20px #b8298818; }
.contact-item { padding: 22px; margin-top: 18px; border: 1px solid #ede1f5; border-radius: 14px; background: #fdfaff; }
.contact-item h3 { color: #563a91; }
.contact-item:nth-of-type(2) { background: #fff6fc; border-color: #f2dfed; }
.contact-item:nth-of-type(2) .contact-icon { background: #f8e2f0; color: #b82988; }
.contact-bottom { background: linear-gradient(110deg, #f7efff, #fff3fa); border-color: #ebdcef; }
.contact-bottom h3 { color: #563a91; }
.reviews-panel { border-color: #e9d5f0; background: linear-gradient(120deg, #f7efff, #fff4fb); padding: 40px; box-shadow: 0 10px 35px #563a9106; }
.review-heading h2 em { color: #b82988; }
.review-service-note { background: white; border: 1px solid #eee0f4; border-radius: 16px; padding: 25px; }
.closing { background: linear-gradient(110deg, #f0e6fc 0%, #fbe6f4 70%, #fff1f7); color: #563a91; border-top: 1px solid #eadbf2; }
.closing .eyebrow { color: #a22b80; }
.closing h2 span { color: #b82988; }
.closing p:not(.eyebrow) { color: #82678e; }
.closing-action .button { background: #b82988; color: white; }
.closing-action > a:last-child { color: #715084; }
.closing-orbit { border-color: #b8298815; }
.closing-spark { color: #c459a32b; }
footer { background: #fffcff; }
.faq-list details[open] { background: #fcf8ff; border-radius: 10px; padding-left: 15px; padding-right: 15px; }
@media (max-width: 1180px) {
  .intro-inner { gap: 40px; }
  .intro-copy h1 { font-size: 49px; }
  .intro-art { height: 340px; }
}
@media (max-width: 950px) {
  .page-intro { margin: 16px 18px 0; border-radius: 20px; }
  .intro-inner { grid-template-columns: 1.1fr 1fr; min-height: 440px; gap: 30px; padding: 35px 0; }
  .intro-copy h1 { font-size: 40px; letter-spacing: -1.6px; }
  .intro-description { font-size: 12px; margin-top: 20px; }
  .intro-art { height: 300px; padding: 6px; border-radius: 18px; }
  .intro-art > img { border-radius: 13px; }
  .intro-action { padding: 12px 15px; font-size: 10px; gap: 17px; }
  .page-service-details .intro-art, .page-blog-details .intro-art { height: 320px; }
  .page-service-details .intro-copy h1, .page-blog-details .intro-copy h1 { font-size: 37px; }
  .intro-art figcaption { left: 16px; bottom: 16px; font-size: 6px; padding: 8px 11px; }
  .all-services .service-card h3 { font-size: 22px; }
  .all-services .service-card .image-wrap { aspect-ratio: 1.4; }
  .all-services .service-card-copy { padding: 24px; }
  .page-gallery .gallery-grid { padding: 18px; }
  .gallery-grid .gallery-tile:nth-child(n) img { height: 340px; }
  .detail-layout { grid-template-columns: 1.25fr 1fr; gap: 30px; }
  .detail-layout h2 { font-size: 30px; }
  .includes-list { grid-template-columns: 1fr; }
  .contact-layout { gap: 30px; }
  .contact-item { padding: 18px; gap: 12px; }
  .form-panel { padding: 28px; }
  .article-layout { grid-template-columns: 135px 1fr; gap: 25px; }
  .article-text { padding: 28px; }
  .reviews-panel { padding: 25px; }
}
@media (max-width: 650px) {
  .page-intro { margin: 12px 12px 0; border-radius: 16px; }
  .intro-inner { width: calc(100% - 36px); grid-template-columns: 1fr; padding: 25px 0 18px; gap: 27px; }
  .intro-copy .breadcrumb { margin-bottom: 20px; font-size: 8px; }
  .intro-copy .eyebrow { font-size: 7px; letter-spacing: 1.2px; margin-bottom: 15px; }
  .intro-copy h1 { font-size: clamp(36px, 10vw, 48px); letter-spacing: -1.8px; }
  .intro-description { font-size: 12px; margin-top: 19px; }
  .intro-action { margin-top: 20px; min-height: 46px; font-size: 10px; }
  .intro-art, .page-service-details .intro-art, .page-blog-details .intro-art { width: 100%; height: 240px; margin: 0; padding: 5px; border-radius: 16px; }
  .intro-art > img { border-radius: 11px; }
  .intro-art figcaption { font-size: 6px; left: 17px; bottom: 17px; }
  .page-service-details .intro-copy h1, .page-blog-details .intro-copy h1 { font-size: 36px; }
  .all-services { grid-template-columns: 1fr; gap: 24px; }
  .all-services .service-card .image-wrap { aspect-ratio: 1.5; }
  .all-services .service-card h3 { font-size: 24px; }
  .all-services .service-card p { font-size: 12px; }
  .service-toolbar, .gallery-toolbar { padding-bottom: 25px; }
  .filters button { font-size: 10px; padding: 9px 13px; }
  .service-note, .journal-banner { padding: 26px; }
  .page-gallery .gallery-grid { padding: 12px; gap: 13px; border-radius: 18px; }
  .gallery-grid .gallery-tile:nth-child(n) img { height: 240px; }
  .gallery-grid .gallery-tile:first-child img { height: 320px; }
  .gallery-grid .gallery-tile > span { font-size: 8px; left: 10px; right: 10px; }
  .gallery-grid .gallery-tile:first-child > span { font-size: 12px; }
  .detail-layout { grid-template-columns: 1fr; gap: 30px; }
  .detail-layout h2 { font-size: 31px; }
  .detail-aside { padding: 28px; }
  .includes-panel { padding: 23px; }
  .includes-list { grid-template-columns: 1fr; }
  .article-layout { grid-template-columns: 1fr; gap: 24px; }
  .article-meta { padding-bottom: 0; }
  .article-text { padding: 26px 22px; border-radius: 16px; }
  .article-callout { padding: 22px; }
  .contact-item { padding: 20px; gap: 16px; }
  .form-panel { padding: 27px 22px; }
  .reviews-panel { padding: 18px; }
  .review-service-note { padding: 20px; }
}

/* Reference header: generous centered logo with a separate lavender navigation. */
.centered-header { top: 0; background: #fff; border-bottom: 1px solid #e9e1ef; backdrop-filter: none; }
.header-brand-row { width: min(1440px, calc(100% - 64px)); height: 200px; display: grid; grid-template-columns: minmax(0, 1fr) 200px minmax(0, 1fr); align-items: center; gap: 24px; }
.header-logo { grid-column: 2; grid-row: 1; justify-self: center; display: flex; width: 184px; height: 184px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; line-height: 0; }
.header-logo img { width: 184px; height: 184px; object-fit: contain; }
.header-phone { grid-column: 1; grid-row: 1; display: inline-flex; align-items: center; justify-self: start; gap: 17px; color: var(--purple); }
.header-phone-icon { display: grid; place-items: center; width: 52px; height: 52px; flex-shrink: 0; border: 1px solid #e4d8ef; border-radius: 50%; background: #f1e8fa; }
.header-phone-icon svg { width: 25px; height: 25px; }
.header-phone small, .header-invitation > small { display: block; color: #89738f; font-size: 9px; font-weight: 750; letter-spacing: 1.4px; line-height: 1.6; }
.header-phone strong { display: block; margin-top: 9px; font-size: clamp(18px, 1.55vw, 24px); line-height: 1.3; font-weight: 750; letter-spacing: -.5px; }
.header-phone:hover strong { color: var(--pink); }
.header-invitation { grid-column: 3; grid-row: 1; justify-self: end; text-align: right; }
.header-event-button { margin-top: 13px; display: inline-flex; align-items: center; justify-content: space-between; gap: 42px; padding: 18px 25px; border-radius: 11px; background: var(--pink); color: #fff; font-size: 13px; font-weight: 700; box-shadow: 0 8px 22px #a40b9010; transition: background .2s; }
.header-event-button span { font-size: 30px; font-weight: 400; line-height: 1; }
.header-event-button:hover { background: #8e1378; }
.header-nav-row { position: relative; background: #faf6fd; border-top: 1px solid #eee6f3; }
.centered-header nav { position: static; display: flex; justify-content: center; align-items: center; gap: clamp(24px, 3.4vw, 66px); width: min(1200px, calc(100% - 64px)); height: 64px; margin: auto; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.centered-header nav > a { position: relative; padding: 11px 18px; border-radius: 8px; font-size: 14px; line-height: 1.5; font-weight: 600; white-space: nowrap; color: #5e5067; transition: color .2s, background .2s; }
.centered-header nav > a:hover { color: #962071; background: #f4e7f5; }
.centered-header nav > a[aria-current] { color: #962071; background: #f0dff2; font-weight: 750; }
.centered-header nav > a[aria-current]::after { display: none; }
.centered-header .menu-toggle { display: none; }
main[id], section[id], .form-panel[id] { scroll-margin-top: 285px; }
@media (min-width: 901px) { .detail-aside { top: 285px; } }
@media (max-width: 1100px) and (min-width: 901px) {
  .header-brand-row { width: calc(100% - 44px); gap: 15px; }
  .header-phone { gap: 10px; }
  .header-phone-icon { width: 42px; height: 42px; }
  .header-phone small, .header-invitation > small { font-size: 7px; letter-spacing: .9px; }
  .centered-header nav { gap: 18px; }
  .centered-header nav > a { padding: 11px 14px; font-size: 13px; }
}
@media (max-width: 900px) {
  .header-brand-row { width: calc(100% - 36px); height: 142px; grid-template-columns: minmax(0, 1fr) 132px minmax(0, 1fr); gap: 8px; }
  .header-logo, .header-logo img { width: 132px; height: 132px; }
  .header-phone { display: none; }
  .centered-header .menu-toggle { grid-column: 1; grid-row: 1; display: inline-flex; align-items: center; justify-self: start; gap: 8px; padding: 11px 12px; border: 1px solid #e3d7ec; border-radius: 8px; color: var(--purple); background: #f4ecfa; font-size: 11px; }
  .header-invitation > small { display: none; }
  .header-event-button { margin: 0; gap: 0; padding: 13px 10px; border-radius: 8px; font-size: 10px; line-height: 1.4; white-space: nowrap; }
  .header-event-button span { display: none; }
  .header-nav-row { border-top: 0; }
  .centered-header nav { display: none; position: absolute; top: 0; left: 16px; right: 16px; width: auto; height: auto; max-height: calc(100dvh - 160px); overflow: auto; margin: 0; padding: 12px; background: #faf6fd; border: 1px solid #e9dfef; border-radius: 12px; box-shadow: 0 12px 24px #563a911a; }
  .centered-header nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
  .centered-header nav > a { padding: 12px 16px; font-size: 14px; }
  main[id], section[id], .form-panel[id] { scroll-margin-top: 160px; }
  .detail-aside { top: 160px; }
}
@media (max-width: 380px) {
  .header-brand-row { width: calc(100% - 24px); height: 130px; grid-template-columns: minmax(0, 1fr) 112px minmax(0, 1fr); gap: 5px; }
  .header-logo, .header-logo img { width: 112px; height: 112px; }
  .header-event-button { padding: 12px 8px; font-size: 9px; }
  .centered-header .menu-toggle { padding: 10px 9px; font-size: 10px; }
  .centered-header nav { max-height: calc(100dvh - 148px); }
  main[id], section[id], .form-panel[id] { scroll-margin-top: 148px; }
}

/* Shared enquiry popup and quick contact rail. */
.contact-rail { position: fixed; z-index: 40; right: 14px; top: 55%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 9px; padding: 8px; border: 1px solid #e9e0ef; border-radius: 40px; background: #ffffffed; box-shadow: 0 6px 30px #35204d1c; }
.rail-link { position: relative; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; color: white; cursor: pointer; transition: transform .2s; }
.rail-link:hover { transform: translateX(-3px); }
.rail-link svg { width: 22px; height: 22px; }
.rail-instagram { background: linear-gradient(35deg, #e89b38, #c42e80 48%, #733ab7); }
.rail-call { background: #563a91; }
.rail-whatsapp { background: #168744; }
.rail-link > span { position: absolute; right: calc(100% + 16px); top: 50%; transform: translateY(-50%) translateX(5px); padding: 7px 12px; border-radius: 7px; background: #35204d; color: white; font-size: 11px; font-weight: 600; white-space: nowrap; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s, transform .2s; }
.rail-link:hover > span, .rail-link:focus-visible > span { opacity: 1; visibility: visible; transform: translateY(-50%); }
.enquiry-modal-open { overflow: hidden; }
.enquiry-dialog { width: 660px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 40px); margin: auto; padding: 32px; border: 1px solid #e7d9ee; border-radius: 22px; color: var(--ink); background: #fcf9ff; overflow-y: auto; box-shadow: 0 30px 90px #20103145; }
.enquiry-dialog::backdrop { background: #26133699; backdrop-filter: blur(5px); }
.enquiry-dialog-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 15px; margin-bottom: 24px; }
.enquiry-dialog-heading .eyebrow { margin-bottom: 10px; font-size: 9px; }
.enquiry-dialog h2 { font-size: 32px; letter-spacing: -1.1px; }
.enquiry-dialog-heading p:last-child { padding: 0; margin-top: 12px; font-size: 12px; }
.enquiry-dialog-close { flex-shrink: 0; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #e2d5ed; border-radius: 50%; background: white; color: var(--purple); cursor: pointer; }
.enquiry-dialog .enquiry-form label { margin-bottom: 15px; }
.enquiry-dialog .form-note { padding: 0; font-size: 10px; }
.enquiry-dialog textarea { min-height: 85px; }
.enquiry-dialog-contact { padding-top: 17px; margin-top: 19px; border-top: 1px solid #e7dced; text-align: center; color: var(--muted); font-size: 11px; }
.enquiry-dialog-contact a { color: var(--purple); font-weight: 700; white-space: nowrap; }
@media (max-width: 650px) {
  .contact-rail { right: 8px; top: auto; bottom: max(18px, env(safe-area-inset-bottom)); transform: none; padding: 5px; gap: 7px; }
  .rail-link { width: 40px; height: 40px; }
  .rail-link svg { width: 20px; height: 20px; }
  .enquiry-dialog { padding: 22px 18px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); border-radius: 17px; }
  .enquiry-dialog h2 { font-size: 27px; }
  .enquiry-dialog .form-grid { grid-template-columns: 1fr; }
  .enquiry-dialog .enquiry-form input, .enquiry-dialog .enquiry-form select, .enquiry-dialog .enquiry-form textarea { font-size: 16px; }
  .enquiry-dialog-contact a { display: block; margin-top: 5px; }
}
@media (prefers-reduced-motion: reduce) { .rail-link, .rail-link > span { transition: none; } }
