@font-face { font-family: 'Manrope'; src: url('../fonts/manrope-latin.woff2') format('woff2'); font-style: normal; font-weight: 200 800; font-display: swap; }
@font-face { font-family: 'Space Grotesk'; src: url('../fonts/space-grotesk-latin.woff2') format('woff2'); font-style: normal; font-weight: 300 700; font-display: swap; }
:root {
    color-scheme: light;
    --paper: #f7faff;
    --white: #fff;
    --ink: #172c46;
    --muted: #536b87;
    --gold: #315f94;
    --line: #315d8f20;
    --dark: #18375e;
    --display: 'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
    --sans: 'Manrope', ui-sans-serif, system-ui, sans-serif;
    --serif: var(--display);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 114px; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: radial-gradient(ellipse 75% 15% at 85% 1%, #25406d38, transparent 80%), var(--paper); color: var(--ink); font-family: var(--sans); font-size: 15px; -webkit-font-smoothing: antialiased; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
figure, h1, h2, h3, h4, p { margin: 0; }
ul, ol { margin: 0; padding: 0; }
h1, h2, h3 { font-family: var(--display); }
h1, h2 { font-weight: 500; letter-spacing: -.057em; text-wrap: balance; }
h1 { font-size: clamp(3.6rem, 5.6vw, 6rem); line-height: 1.045; }
h2 { font-size: clamp(2.65rem, 3.9vw, 4.4rem); line-height: 1.08; }
h1 em, h2 em { color: #b5d4f9; font-style: normal; font-weight: 500; }
h1 em { background: linear-gradient(110deg, #e3efff 0%, #c6ddff 38%, #7eaff2 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
h3 { font-size: 1.15rem; font-weight: 500; line-height: 1.45; }
::selection { background: #8ebdff; color: #08101f; }
:focus-visible { outline: 2px solid #a5d4ff; outline-offset: 5px; }
[hidden] { display: none !important; }
.container { width: min(1400px, calc(100% - 112px)); margin-inline: auto; }
.section { padding-block: 112px; }
.eyebrow { display: block; color: #a9c5e7; font-size: .64rem; text-transform: uppercase; letter-spacing: .17em; font-weight: 600; line-height: 1.8; margin-bottom: 24px; }
.section-intro { font-size: .95rem; line-height: 1.95; color: var(--muted); max-width: 510px; }
.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { display: inline-block; flex-shrink: 0; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 25px; min-height: 53px; padding: 16px 23px; border: 1px solid #e3efff; border-radius: 999px; background: linear-gradient(115deg, #edf5ff, #b7d6ff); box-shadow: inset 0 1px 0 #fff, 0 4px 23px #83b7ff14; color: #101b2b; font-size: .78rem; font-weight: 700; line-height: 1.5; transition: box-shadow .2s, border-color .2s, transform .2s; }
.button:hover { border-color: #fff; box-shadow: inset 0 1px 0 #fff, 0 5px 30px #88bcff35; transform: translateY(-1px); }
.button .icon { width: 18px; height: 18px; stroke-width: 1.7; }
.button-small { min-height: 43px; padding: 11px 17px; font-size: .71rem; gap: 17px; }
.text-link { display: inline-flex; align-items: center; gap: 19px; padding: 9px 0; border: 0; border-bottom: 1px solid #a3b8d44d; background: transparent; color: #d6e5fb; text-align: left; font-size: .76rem; font-weight: 500; line-height: 1.6; transition: color .2s, border-color .2s; }
.text-link:hover { color: #fff; border-color: #bddfff; }
.text-link .icon { width: 18px; height: 18px; }
.skip-link { position: fixed; top: -90px; left: 16px; padding: 12px 20px; border-radius: 12px; background: #dbeaff; color: #0a1423; z-index: 1000; }
.skip-link:focus { top: 12px; }
.site-header { position: sticky; top: 16px; z-index: 50; width: min(1496px, calc(100% - 48px)); margin: 16px auto 0; border: 1px solid #d0e3ff26; border-radius: 22px; background: #111925bf; backdrop-filter: blur(22px); box-shadow: 0 12px 48px #0003, inset 0 1px 0 #fff05; }
.site-header .container { width: calc(100% - 48px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 75px; }
.brand { flex-shrink: 0; }
.brand img { width: 181px; height: 45px; object-fit: contain; }
.main-nav { display: flex; gap: 31px; align-items: center; margin-left: auto; }
.main-nav a { white-space: nowrap; font-size: .72rem; color: #adbbcf; transition: color .2s; }
.main-nav a:hover { color: #fff; }
.header-actions { display: flex; gap: 27px; align-items: center; }
.language-switch { display: flex; gap: 8px; align-items: center; font-size: .62rem; letter-spacing: .04em; }
.language-switch a { color: #8598b4; padding-block: 12px; }
.language-switch a[aria-current=true] { font-weight: 800; color: #eaf2ff; }
.language-switch>span { color: #516079; }
.menu-toggle { display: none; min-height: 42px; min-width: 38px; padding: 9px; border: 0; background: transparent; }
.menu-toggle span { display: block; width: 20px; height: 1px; background: #dbe9fc; margin: 5px 0; }
.mobile-demo-label { display: none; }

.hero-copy, .hero-visual, .experience-copy, .experience-stage, .insights-copy, .demo-copy, .demo-form-card { min-width: 0; }

.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 45px; }
.section-heading .section-intro { max-width: 350px; }
.value-section { border-top: 1px solid var(--line); }
.value-grid { display: grid; grid-template-columns: 1.18fr 1fr; gap: 75px; align-items: center; }
.home-visual { min-width: 0; }
.home-visual img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: contain; border-radius: 22px; border: 1px solid #c1d9ff20; }
.home-visual figcaption { color: #b4c7e4; font-family: var(--display); font-size: .94rem; line-height: 1.7; margin-top: 18px; letter-spacing: -.015em; }
.benefit { display: flex; gap: 21px; padding-block: 23px; border-bottom: 1px solid var(--line); }
.benefit:first-child { padding-top: 0; }
.benefit:last-child { border-bottom: 0; padding-bottom: 0; }
.item-number { font-family: var(--display); font-size: .65rem; color: #9fc3f2; letter-spacing: .05em; line-height: 2.4; }
.benefit h3 { font-size: 1.45rem; font-weight: 500; letter-spacing: -.035em; margin-bottom: 10px; }
.benefit p { font-size: .81rem; line-height: 1.95; color: #99abc4; }
.insights-section { background: radial-gradient(ellipse 80% 50% at 50% 0%, #254c8230, transparent 80%), #0c1320; border-block: 1px solid #bcd4fc14; }
.insights-grid { display: block; }
.insights-copy { max-width: 850px; margin-inline: auto; text-align: center; }
.insights-copy h2 { max-width: 850px; margin-inline: auto; }
.insights-copy .section-intro { color: #a7b8d0; max-width: 670px; margin: 27px auto 0; }
.light-link { color: #d6e9ff; border-color: #7799c04d; margin-top: 22px; }
.relationship-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 50px; }
.relationship-list article { position: relative; padding: 29px 27px 33px; border: 1px solid #bdd7ff24; border-radius: 20px; background: linear-gradient(145deg,#bfdcff09,#a5caff02); box-shadow: inset 0 1px 0 #fff04; transition: border-color .25s, background .25s; }
.relationship-list article:hover { border-color: #b7d6ff48; background: linear-gradient(145deg,#bfdcff10,#a5caff05); }
.relationship-list article>span { display: inline-block; text-transform: uppercase; font-size: .56rem; letter-spacing: .13em; color: #a8cbf8; padding-bottom: 19px; }
.relationship-list h3 { font-size: 1.45rem; font-weight: 500; letter-spacing: -.035em; }
.relationship-list p { font-size: .8rem; line-height: 1.9; color: #96a9c4; margin-top: 16px; }
.participation-band { display: grid; grid-template-columns: auto 1fr 1fr; gap: 32px; align-items: center; border: 1px solid #b9d7ff27; border-radius: 20px; background: #a5cbff06; margin-top: 25px; padding: 28px 30px; }
.participation-band>strong { font-family: var(--display); font-size: 3.8rem; font-weight: 500; color: #c4dfff; line-height: 1; letter-spacing: -.075em; }
.participation-band h3 { font-size: .9rem; font-weight: 500; }
.participation-band p { font-size: .7rem; line-height: 1.9; color: #9bafca; margin-top: 8px; }
.participation-band>.insights-note { margin-top: 0; padding-left: 27px; border-left: 1px solid #bbd6fa26; font-size: .64rem; }
.customisation-section { border-bottom: 1px solid var(--line); }
.customisation-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 70px; align-items: center; }
.customisation-copy>.section-intro { margin-top: 27px; }
.rollout-tags { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 27px; }
.rollout-tags span { display: flex; gap: 7px; align-items: center; color: #b2c4dd; font-size: .65rem; line-height: 1.7; padding: 8px 12px; border: 1px solid var(--line); border-radius: 40px; background: #a7cfff05; }
.rollout-tags .icon { width: 13px; height: 13px; color: #a8ceff; }
.customisation-copy>.text-link { margin-top: 25px; }
.packaging-visual img { width: 100%; height: auto; border-radius: 22px; border: 1px solid #bad5ff26; }
.packaging-visual figcaption { font-size: .63rem; color: #8398b6; line-height: 1.8; margin-top: 18px; }
.faq-section { max-width: 1000px; padding-block: 92px 105px; }
.faq-section h2 { font-size: clamp(2.4rem,3.5vw,3.7rem); text-align: center; max-width: 680px; margin: 0 auto 38px; }
.faq-list { display: grid; gap: 12px; }
.faq-list details { padding: 22px 25px; border: 1px solid var(--line); border-radius: 16px; background: #a6c8ff04; }
.faq-list details[open] { background: #a6c8ff08; border-color: #bad6ff37; }
.faq-list summary { list-style: none; display: flex; gap: 20px; justify-content: space-between; align-items: center; cursor: pointer; font-size: .84rem; line-height: 1.8; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary .icon { width: 17px; height: 17px; color: #a8cdff; }
.faq-list details[open] summary .icon { transform: rotate(45deg); }
.faq-list details p { color: #9eafc8; font-size: .8rem; line-height: 1.95; margin-top: 17px; padding-right: 28px; }
.demo-section { background: radial-gradient(ellipse at 20% 50%, #284c7f24, transparent 70%), #0b1220; border-top: 1px solid var(--line); }
.demo-grid { display: grid; grid-template-columns: 1fr 1.06fr; gap: 90px; align-items: start; }
.demo-copy { padding-top: 15px; }
.demo-copy .section-intro { margin-top: 25px; max-width: 440px; }
.sample-inclusions { list-style: none; display: grid; gap: 16px; margin-top: 32px; max-width: 410px; }
.sample-inclusions li { display: flex; gap: 11px; font-size: .78rem; line-height: 1.9; color: #adbed6; }
.sample-inclusions .icon { width: 15px; height: 15px; color: #b3d5ff; margin-top: 5px; }
.direct-contact { margin-top: 35px; padding-top: 25px; border-top: 1px solid var(--line); }
.direct-contact>span { display: block; font-size: .66rem; color: #879ebc; margin-bottom: 10px; }
.direct-contact>a { display: inline-flex; gap: 20px; align-items: center; font-family: var(--display); font-size: 1.16rem; }
.direct-contact .icon { width: 18px; height: 18px; color: #aed3ff; }
.demo-form-card { background: linear-gradient(150deg,#d2e3ff09,#cbe3ff03); padding: 35px; border: 1px solid #bdd7ff2d; border-radius: 24px; box-shadow: 0 25px 80px #0002, inset 0 1px 0 #fff05; }
.demo-form-card>h3 { font-size: 1.6rem; font-weight: 500; letter-spacing: -.04em; }
.form-intro { color: #97abc7; font-size: .7rem; line-height: 1.9; margin-top: 11px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 21px 17px; margin-top: 28px; }
.field { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.field-full { grid-column: 1/-1; }
.field>label { color: #c1d0e5; font-size: .7rem; line-height: 1.6; }
.field>label>span { color: #a4caff; margin-left: 3px; }
.field>label>small { color: #7e94b2; font-size: .61rem; margin-left: 4px; }
.field input, .field textarea { min-width: 0; width: 100%; border: 1px solid #bfd8ff29; border-radius: 10px; background: #080f1b80; color: #e8f1ff; padding: 13px; font-size: .83rem; line-height: 1.6; transition: border-color .2s, box-shadow .2s; }
.field textarea { min-height: 100px; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: #6d829f; }
.field input:focus, .field textarea:focus { outline: none; box-shadow: 0 0 0 3px #9dc5ff14; border-color: #b1d3ff8c; }
.field [aria-invalid=true] { border-color: #ef9da3; }
.privacy-check { display: flex; align-items: flex-start; gap: 10px; margin-top: 24px; font-size: .66rem; line-height: 1.9; color: #a4b6ce; }
.privacy-check input { width: 15px; height: 15px; flex-shrink: 0; margin: 4px 0 0; accent-color: #b5d7ff; }
.privacy-check a { color: #d5e5fa; text-decoration: underline; text-underline-offset: 3px; }
.data-note, .form-footnote { color: #8198b8; font-size: .62rem; line-height: 1.9; margin-top: 13px; }
.submit-button { display: flex; width: 100%; margin-top: 23px; justify-content: space-between; }
.submit-button:disabled { opacity: .65; cursor: wait; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.form-errors { background: #e0798012; color: #ffc5c9; border: 1px solid #d98d963d; border-radius: 12px; padding: 15px; font-size: .73rem; line-height: 1.8; margin-top: 20px; }
.form-errors ul { padding-left: 17px; margin-top: 7px; }
.field-error { font-size: .65rem; color: #f1b1b7; line-height: 1.6; }
.form-success { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; min-height: 400px; justify-content: center; outline: none; }
.success-icon { display: grid; place-items: center; border-radius: 50%; width: 52px; height: 52px; background: #9cc3ff11; border: 1px solid #b7d6ff3b; color: #b7d9ff; }
.form-success h3 { font-size: 2.1rem; font-weight: 500; letter-spacing: -.045em; }
.form-success p { font-size: .84rem; line-height: 1.9; color: #a5b8d1; }
.site-footer { background: #060b12; color: #d9e6f9; padding-block: 65px 27px; border-top: 1px solid var(--line); }
.footer-main { display: flex; justify-content: space-between; gap: 60px; padding-bottom: 45px; }
.footer-brand { max-width: 440px; }
.footer-brand img { width: 200px; height: auto; }
.footer-brand p { font-family: var(--display); font-size: 1.7rem; line-height: 1.35; letter-spacing: -.04em; margin-top: 24px; }
.footer-brand small { display: block; max-width: 380px; color: #7d94b4; font-size: .65rem; line-height: 1.9; margin-top: 15px; }
.footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 5px; }
.footer-contact .eyebrow { color: #a7c8f1; margin: 0; }
.footer-contact>a { font-family: var(--display); font-size: 1.2rem; }
.footer-contact .icon { width: 17px; height: 17px; margin-left: 18px; color: #9ec5f6; }
.footer-contact>.footer-demo { font-family: var(--sans); color: #aac1df; font-size: .72rem; border-bottom: 1px solid #809fc04d; padding-bottom: 7px; margin-top: 8px; }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; justify-content: space-between; padding-top: 24px; border-top: 1px solid var(--line); font-size: .6rem; color: #7088a9; }
.footer-bottom nav { display: flex; gap: 23px; }
.back-top { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #bcd6fc29; border-radius: 10px; color: #bdd6f8; font-size: 1.1rem; }
@media (min-width:1600px) {  }
@media (max-width:1200px) {
    .container { width: calc(100% - 72px); }

    .main-nav { gap: 20px; }
    .header-actions { gap: 20px; }

    
    .value-grid, .demo-grid { gap: 55px; }
    .relationship-list article { padding: 25px; }
    .relationship-list h3 { font-size: 1.3rem; }
}
@media (max-width:1000px) {
    .container { width: calc(100% - 48px); }
    .site-header { width: calc(100% - 32px); top: 12px; margin-top: 12px; }
    .site-header .container { width: calc(100% - 32px); }
    .header-inner { min-height: 69px; gap: 17px; }
    .brand img { width: 149px; height: 38px; }
    .main-nav { gap: 15px; }
    .main-nav a { font-size: .65rem; }
    .header-actions { gap: 15px; }
    .header-demo { font-size: .64rem; padding-inline: 13px; }
    .header-demo .icon { display: none; }

    h1 { font-size: 3.85rem; }

    
    .hero-actions .button { padding: 15px 17px; font-size: .7rem; gap: 14px; }

    
    .experience-copy h2 { font-size: 2.75rem; }
    .section { padding-block: 85px; }
    .value-grid, .demo-grid { gap: 37px; }
    .section-heading .section-intro { max-width: 290px; }
    .participation-band { gap: 22px; padding: 25px; }
    .participation-band>strong { font-size: 3rem; }
    .demo-form-card { padding: 26px; }
    .relationship-list { gap: 14px; }
    .relationship-list article { padding: 22px; }
    .relationship-list h3 { font-size: 1.2rem; }
}
@media (max-width:760px) {
    html { scroll-padding-top: 100px; }
    .container { width: calc(100% - 40px); }
    .site-header { width: calc(100% - 24px); border-radius: 18px; }
    .site-header .container { width: calc(100% - 24px); }
    .header-inner { min-height: 65px; gap: 12px; }
    .brand img { width: 137px; height: 35px; }
    .header-actions { gap: 9px; margin-left: auto; }
    .header-demo { min-height: 35px; padding: 9px 12px; font-size: .62rem; }
    .desktop-demo-label { display: none; }
    .mobile-demo-label { display: inline; }
    .language-switch { font-size: .56rem; gap: 6px; }
    .menu-toggle { display: block; }
    .main-nav { display: none; position: absolute; top: calc(100% + 9px); left: 0; right: 0; padding: 23px 16px; border: 1px solid #c2dcff29; border-radius: 18px; background: #111b2bf5; backdrop-filter: blur(22px); gap: 22px; justify-content: center; box-shadow: 0 10px 30px #0004; }
    .main-nav.is-open { display: flex; }
    .main-nav a { font-size: .73rem; }

    h1 { font-size: clamp(3.15rem, 10.5vw, 4.7rem); line-height: 1.06; max-width: 650px; }

    

    .hero-actions .button { font-size: .7rem; padding: 15px 18px; }

    

    

    
    .section { padding-block: 65px; }
    h2, .experience-copy h2 { font-size: clamp(2.45rem, 8.3vw, 3.5rem); }
    .eyebrow { font-size: .55rem; margin-bottom: 19px; }
    .section-intro { font-size: .85rem; line-height: 1.95; }

    

    

    
    .section-heading { display: block; margin-bottom: 29px; }
    .section-heading .section-intro { max-width: 530px; margin-top: 22px; }
    .value-grid { grid-template-columns: 1fr; gap: 34px; }
    .home-visual img { border-radius: 18px; }
    .home-visual figcaption { font-size: .87rem; margin-top: 15px; }
    .benefit { padding-block: 22px; gap: 17px; }
    .benefit h3 { font-size: 1.4rem; }
    .benefit p { font-size: .79rem; }
    .insights-copy { text-align: left; }
    .insights-copy .section-intro { margin-top: 23px; max-width: 530px; }
    .relationship-list { grid-template-columns: 1fr; gap: 14px; margin-top: 33px; }
    .relationship-list article { padding: 25px; border-radius: 18px; }
    .relationship-list article>span { padding-bottom: 13px; }
    .relationship-list h3 { font-size: 1.4rem; }
    .relationship-list p { font-size: .79rem; margin-top: 12px; }
    .participation-band { grid-template-columns: auto 1fr; gap: 18px; margin-top: 19px; padding: 24px 21px; border-radius: 18px; }
    .participation-band>strong { font-size: 2.75rem; }
    .participation-band>.insights-note { grid-column: 1/-1; padding: 17px 0 0; border: 0; border-top: 1px solid var(--line); font-size: .62rem; }
    .participation-band h3 { font-size: .76rem; }
    .participation-band p { font-size: .63rem; }
    .customisation-grid { grid-template-columns: 1fr; gap: 34px; }
    .customisation-copy>.section-intro { margin-top: 23px; }
    .packaging-visual img { border-radius: 18px; }
    .faq-section { padding-block: 62px 65px; }
    .faq-section h2 { font-size: 2.45rem; text-align: left; max-width: 530px; margin-bottom: 27px; }
    .faq-list details { padding: 19px; border-radius: 14px; }
    .faq-list summary { font-size: .77rem; }
    .faq-list details p { font-size: .75rem; padding-right: 0; }
    .demo-grid { grid-template-columns: 1fr; gap: 34px; }
    .demo-copy { padding-top: 0; }
    .sample-inclusions { margin-top: 25px; gap: 13px; }
    .direct-contact { margin-top: 27px; padding-top: 22px; }
    .demo-form-card { padding: 26px 21px; border-radius: 20px; }
    .demo-form-card>h3 { font-size: 1.5rem; }
    .field input, .field textarea { font-size: 16px; }
    .form-grid { gap: 19px 14px; }
    .field>label { font-size: .7rem; }
    .form-footnote, .data-note, .privacy-check { font-size: .62rem; }
    .footer-main { flex-direction: column; gap: 35px; }
    .site-footer { padding-block: 45px 25px; }
    .footer-brand p { font-size: 1.6rem; max-width: 330px; }
    .footer-bottom { gap: 20px; font-size: .56rem; }
    .footer-bottom nav { gap: 17px; flex-wrap: wrap; }
    .back-top { margin-left: auto; }
}
@media (max-width:390px) {
    .container { width: calc(100% - 32px); }
    .header-inner { gap: 5px; }
    .header-actions { gap: 5px; }
    .brand img { width: 124px; }
    .header-demo { padding: 8px 10px; }
    .menu-toggle { min-width: 32px; width: 32px; padding: 6px; }
    h1 { font-size: 3.15rem; }

    .hero-actions .text-link { font-size: .68rem; gap: 10px; }

    .form-grid { grid-template-columns: 1fr; }

}
@media (max-width:350px) {
    .brand img { width: 106px; }
    .header-actions { gap: 3px; }
    .header-demo { padding-inline: 8px; }
    .language-switch { font-size: .52rem; gap: 4px; }

    

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

/* Interactive guest album and survey. */
.contact-survey{margin:32px 0 0;scroll-margin-top:115px}.survey-device-eyebrow{font-size:.56rem;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:17px;line-height:1.7}.survey-device{width:300px;max-width:100%;border:6px solid #272b26;border-radius:39px;box-shadow:18px 23px 45px #363b2820;background:#f7f9fc;padding:0;overflow:hidden;position:relative;margin-inline:auto}.survey-device-screen{position:relative;height:596px;border-radius:31px;overflow:hidden;background:#f6f7f8}.survey-device-screen>.phone-status{position:absolute;top:0;left:0;right:0;z-index:3;background:#f7f9fc;height:31px;padding:9px 19px;font-size:.55rem}.survey-device-screen .phone-island{width:70px;height:18px;top:5px}.survey-phone-base{position:absolute;inset:30px 0 14px;transition:filter .3s}.survey-phone-base .landing-capture{width:100%}.survey-is-open .survey-phone-base{filter:blur(1.5px);opacity:.72}.survey-launch{position:absolute;bottom:30px;left:15px;right:15px;padding:12px;font-size:.64rem;z-index:1;gap:15px}.survey-device-screen>.phone-home-indicator{position:absolute;bottom:7px;left:33%;margin:0;z-index:4}.guest-survey-sheet{position:absolute;inset:77px 8px 21px;z-index:2;background:var(--white);border:1px solid #e9e3d7;border-radius:24px 24px 12px 12px;box-shadow:0 -12px 35px #262b2520;padding-top:13px;display:flex;flex-direction:column;overflow:hidden;animation:sheet-in .35s ease}.sheet-handle{width:31px;height:3px;border-radius:5px;background:#d8d3c8;position:absolute;top:7px;left:calc(50% - 15px)}.survey-close{position:absolute;right:9px;top:15px;display:grid;place-items:center;border:0;background:#efeee7;border-radius:50%;width:26px;height:26px;padding:4px;z-index:3}.survey-close>.icon{width:15px;height:15px;transform:rotate(45deg)}.guest-survey-sheet>[data-guest-survey]{display:flex;min-height:0;height:100%;flex-direction:column}.sheet-heading{flex-shrink:0;padding:9px 17px 11px;border-bottom:1px solid #eeece3;position:relative}.sheet-brand{display:flex;align-items:center;gap:6px;color:var(--gold);font-size:.44rem;letter-spacing:.08em;text-transform:uppercase;padding-right:20px}.sheet-brand>.icon{width:12px;height:12px}.sheet-heading>h3{font-family:var(--serif);font-size:1.35rem;letter-spacing:-.035em;line-height:1.15;margin-top:8px;padding-right:7px;outline:none}.sheet-heading>p{font-size:.59rem;color:var(--muted);line-height:1.65;margin-top:7px}.survey-progress{height:3px;overflow:hidden;background:#e9e6db;border-radius:2px;margin-top:12px;margin-right:40px}.survey-progress>span{display:block;height:100%;background:var(--gold);width:0;transition:width .25s ease}.survey-progress-label{position:absolute;right:17px;bottom:7px;font-size:.47rem;color:var(--muted);line-height:1.4}.survey-scroll{flex:1;min-height:0;overflow-y:scroll;overscroll-behavior:contain;padding:15px 13px 4px 17px;scrollbar-width:thin;scrollbar-color:#ad9262 #eeece5;scrollbar-gutter:stable;scroll-behavior:smooth}.survey-scroll::-webkit-scrollbar{width:5px}.survey-scroll::-webkit-scrollbar-track{background:#eeece5;border-radius:5px}.survey-scroll::-webkit-scrollbar-thumb{background:#ad9262;border-radius:5px}.survey-scroll:focus-visible{outline-offset:-3px;outline-width:2px}.guest-question{border:0;margin:0 0 21px;padding:0;min-width:0}.guest-question>legend,.guest-question>label{display:block;padding:0;font-size:.64rem;font-weight:600;line-height:1.55;color:var(--ink);margin-bottom:10px}.question-number{color:var(--gold);font-weight:400;font-size:.48rem;display:block;letter-spacing:.08em;margin-bottom:3px}.guest-answers{display:flex;gap:6px;flex-wrap:wrap}.guest-answers>label{position:relative;cursor:pointer;max-width:100%}.guest-answers input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.guest-answers input+span{display:block;border:1px solid #dedcd1;background:#faf9f4;border-radius:4px;padding:7px 8px;font-size:.54rem;line-height:1.4;transition:background .15s,border-color .15s,color .15s}.guest-answers input:checked+span{background:#ede4d2;border-color:#ac8a4d;color:#5e451d}.guest-answers input:focus-visible+span{outline:2px solid #a17a3b;outline-offset:2px}.rating-answers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.rating-answers input+span{text-align:center;padding:9px 3px;font-size:.8rem}.rating-captions{display:flex;justify-content:space-between;gap:10px;margin-top:5px;font-size:.43rem;color:var(--muted)}.guest-question>label>small{font-size:.48rem;font-weight:400;color:var(--muted)}.guest-question>textarea{display:block;width:100%;border:1px solid #dedcd1;border-radius:4px;resize:vertical;padding:8px;min-height:72px;font-size:.6rem;background:#faf9f4;color:var(--ink);line-height:1.6}.guest-question>textarea::placeholder{color:#8e8c7f}.survey-sheet-footer{padding:12px 13px 13px;box-shadow:0 -4px 15px #22271104;background:var(--white);border-top:1px solid #eeece3;flex-shrink:0}.survey-sheet-footer>.button{display:flex;width:100%;font-size:.6rem;min-height:41px;padding:10px 11px;gap:6px;justify-content:space-between}.survey-sheet-footer>.button .icon{width:15px;height:15px}.survey-sheet-footer>.button:disabled{cursor:default;opacity:.48}.contact-survey>figcaption{text-align:center;margin:18px auto 0;max-width:310px;line-height:1.7}.contact-survey>figcaption>strong{display:block;font-size:.59rem;font-weight:550;color:#626651}.contact-survey>figcaption>span{display:block;font-size:.54rem;color:#7b7e6d;margin-top:5px}.survey-no-js{font-size:.6rem;color:var(--muted);text-align:center;margin-top:10px}.demo-copy:has(.contact-survey)>.direct-contact{margin-top:27px}.demo-grid:has(.contact-survey){align-items:start}.demo-grid:has(.contact-survey)>.demo-form-card{position:sticky;top:118px}.guest-survey-reward{flex:1;min-height:0;overflow-y:auto;padding:24px 18px 20px;text-align:center;outline:none;animation:reward-in .6s ease}.reward-celebration{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 17px;background:#e8eddf;color:#627246;border:1px solid #dce4cf;border-radius:50%}.reward-celebration>.icon{width:22px;height:22px}.reward-thanks{font-size:.48rem;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;line-height:1.6}.reward-percentage{display:block;font-family:var(--serif);font-size:3.9rem;font-weight:400;letter-spacing:-.055em;line-height:1.3;color:var(--gold);margin-top:5px}.guest-survey-reward>h3{font-family:var(--serif);font-size:1.42rem;line-height:1.2;letter-spacing:-.035em}.reward-explanation{font-size:.61rem;color:var(--muted);line-height:1.75;margin-top:12px}.storage-comparison{margin-top:22px;text-align:left}.storage-comparison>div:not(.storage-bar){display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.46rem;color:var(--muted);margin-bottom:5px}.storage-comparison>div:not(.storage-bar)>span:last-child{font-size:.42rem}.storage-bar{height:6px;background:#e9e6dd;border-radius:4px;overflow:hidden;margin-bottom:12px}.storage-bar>span{display:block;width:var(--original-storage-share,40%);height:100%;background:#bbb9a9;border-radius:4px}.storage-bar.expanded>span{width:100%;background:#b28e4f;animation:storage-grow .9s ease}.guest-survey-reward>.text-link{font-size:.53rem;margin-top:11px;gap:9px}.survey-is-rewarded .guest-survey-sheet{background:#fdfbf4}@keyframes sheet-in{from{transform:translateY(18px);opacity:.65}to{transform:translateY(0);opacity:1}}@keyframes reward-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes storage-grow{from{width:var(--original-storage-share,40%)}to{width:100%}}
@media(max-width:1200px){.customisation-grid{gap:40px;grid-template-columns:.9fr 1.1fr}.customisation-copy h2{font-size:3rem}.customisation-copy .section-intro{font-size:.86rem}.product-preview>.preview-tag{top:20px}}
@media(max-width:1000px){.customisation-grid{grid-template-columns:1fr;gap:35px}.customisation-copy .section-intro{max-width:600px}.customisation-copy h2{font-size:2.8rem}.packaging-visual>figcaption{max-width:none}.survey-device{width:280px}.survey-device-screen{height:574px}.contact-survey{margin-top:26px}.survey-device-eyebrow{font-size:.5rem}.demo-grid:has(.contact-survey){gap:35px}.survey-sheet-footer>.button{font-size:.55rem}.sheet-heading>h3{font-size:1.22rem}.guest-survey-reward{padding-top:20px}.reward-percentage{font-size:3.65rem}}
@media(max-width:760px){.customisation-copy h2{font-size:clamp(2.25rem,6.8vw,3.25rem)}.customisation-copy .section-intro{font-size:.88rem;margin-top:20px}.customisation-grid{gap:30px}.customisation-copy .rollout-tags{gap:11px 18px}.packaging-visual>figcaption{font-size:.59rem}.survey-teaser{padding:25px}.contact-survey{max-width:360px;margin:30px auto 0}.survey-device{width:300px}.survey-device-screen{height:596px}.survey-device-eyebrow{text-align:center;font-size:.53rem}.survey-sheet-footer>.button{font-size:.6rem}.sheet-heading>h3{font-size:1.35rem}.demo-grid:has(.contact-survey)>.demo-form-card{position:static}.demo-copy:has(.contact-survey)>.direct-contact{margin-top:30px}.demo-grid:has(.contact-survey){gap:40px}.product-preview>.preview-tag{top:15px;max-width:270px;line-height:1.5}.phone-mockup-real{transform:rotate(3deg)}.product-preview:has(.phone-mockup-real){min-height:620px}.product-preview:has(.phone-mockup-real)>figcaption{bottom:0;max-width:290px}.guest-survey-reward{padding-top:24px}.reward-percentage{font-size:3.9rem}}
@media(max-width:390px){.survey-device{width:280px}.survey-device-screen{height:574px}.survey-device-eyebrow{font-size:.5rem}.sheet-heading>h3{font-size:1.25rem}.survey-sheet-footer>.button{font-size:.55rem}.survey-device-screen>.phone-status{padding-inline:17px}.guest-survey-reward{padding:21px 16px 18px}.reward-percentage{font-size:3.65rem}.product-preview>.preview-tag{font-size:.52rem;padding:9px 11px}.product-preview:has(.phone-mockup-real){min-height:625px}}
@media(prefers-reduced-motion:reduce){.survey-scroll{scroll-behavior:auto}.guest-survey-sheet,.guest-survey-reward,.storage-bar.expanded>span{animation:none}}
.product-preview:has(.phone-mockup-real){min-height:700px}.product-preview:has(.phone-mockup-real)>figcaption{bottom:0;max-width:320px}.product-preview:has(.phone-mockup-real)>.preview-tag{top:20px}
@media(max-width:760px){.product-preview:has(.phone-mockup-real){min-height:660px}.guest-question>textarea{font-size:16px}}
/* An independent, read-only replica of the selected album. */
.replica-demo-badge{position:absolute;top:10px;left:54px;z-index:8;font-size:.39rem;letter-spacing:.09em;color:#777e70;background:#e9ede4;border-radius:4px;padding:1px 4px;line-height:1.5}.replica-scroll{position:absolute;inset:31px 0 17px;overflow-y:scroll;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c6cad0 #f7f8fa;background:#f7f8fa;padding:9px 8px 100px;color:#101114;font-family:var(--sans);transition:filter .3s}.replica-scroll:focus-visible{outline-offset:-3px;outline-width:2px}.replica-topbar{display:flex;align-items:center;gap:7px;background:#ffffffd4;border:1px solid #eceef0;border-radius:17px;padding:9px 8px;margin-bottom:10px}.replica-topbar>img{width:27px;height:27px;object-fit:contain;border-radius:9px}.replica-topbar>div{min-width:0}.replica-topbar>div>span{display:block;text-transform:uppercase;font-size:.35rem;letter-spacing:.12em;color:#958b85;line-height:1.5}.replica-topbar>div>strong{display:block;font-size:.66rem;line-height:1.4}.replica-languages{font-size:.41rem;color:#aaa;margin-left:auto;white-space:nowrap}.replica-languages>b{display:inline-block;background:#111;color:white;border-radius:9px;padding:3px 5px;margin-left:3px;font-weight:600}.replica-hero{position:relative;min-height:220px;border-radius:20px;overflow:hidden;isolation:isolate;background:#dfe6e7;display:flex;align-items:flex-end;padding:13px 10px}.replica-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.replica-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fffaf657,#fffaf60a);z-index:-1}.replica-book{position:absolute;top:13px;right:11px;color:white;background:#151718d9;border-radius:20px;font-size:.6rem;padding:6px 10px}.replica-hero-card{width:100%;background:#ffffff0d;border:1px solid #ffffff47;border-radius:18px;padding:11px 8px;backdrop-filter:blur(.6px)}.replica-hero-card>span{display:block;font-size:.45rem;letter-spacing:.17em;text-transform:uppercase;color:#433d34}.replica-hero-card>h3{font-family:var(--serif);font-size:1.65rem;line-height:1.1;letter-spacing:-.04em;margin:7px 0 12px;color:#111}.replica-hero-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.replica-add{position:relative;border:1px solid #d2b477;border-radius:24px;background:#101820;color:#fff;font-family:var(--serif);font-size:.72rem;font-weight:650;padding:9px 11px;box-shadow:0 0 0 3px #caa86025,0 0 17px #f7cb8270;animation:try-glow 2.6s ease-in-out infinite}.replica-add>small{position:absolute;top:-10px;right:0;background:#d8b271;color:#2d281d;border:1px solid #f5dfb7;font-family:var(--sans);font-size:.38rem;padding:2px 5px;border-radius:8px;line-height:1.3;white-space:nowrap}.replica-inactive{font-family:var(--serif);font-size:.65rem;font-weight:650;color:#fff;background:#101820e8;border-radius:22px;padding:9px 10px;line-height:1.6}.replica-photo-section{background:#ffffffdc;border:1px solid #eceef0;border-radius:20px;padding:10px 8px;margin-top:11px}.replica-photo-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.replica-photo-heading>h3{font-family:var(--serif);font-size:1.5rem;font-weight:650;letter-spacing:-.04em;color:#111}.replica-photo-heading>span{font-size:.5rem;border:1px solid #eee;padding:6px 8px;border-radius:15px}.replica-storage{display:flex;justify-content:space-between;gap:7px;font-size:.42rem;color:#777b76;margin-bottom:11px}.replica-storage>strong{font-size:.46rem;font-weight:550;white-space:nowrap;color:#887044}.replica-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-items:start}.replica-photo{min-width:0;position:relative;border-radius:15px;overflow:hidden;aspect-ratio:1/1.12;background:#e9eaeb}.replica-photo:nth-child(4n+2),.replica-photo:nth-child(4n+3){aspect-ratio:1/.82}.replica-photo>img{width:100%;height:100%;object-fit:cover;pointer-events:none}.replica-photo[data-demo-added]{outline:2px solid #b28e4f;outline-offset:-2px}.replica-added-label{position:absolute;bottom:5px;left:5px;right:5px;background:#fffdebeb;border-radius:4px;padding:3px;font-size:.38rem;color:#5d512e;line-height:1.4}.replica-try-dock{position:absolute;bottom:19px;left:7px;right:7px;z-index:3;padding:9px 10px 8px;background:#f8f9f6ed;border:1px solid #e1e2d8;box-shadow:0 -8px 20px #22281810;border-radius:14px;backdrop-filter:blur(10px)}.replica-try-dock>p{text-align:center;font-size:.45rem;line-height:1.4;color:#74796c;margin-bottom:7px}.replica-try-dock>button{display:flex;align-items:center;gap:8px;width:100%;background:#111b1a;border:1px solid #b39458;border-radius:20px;padding:9px 10px;color:white;box-shadow:0 0 0 2px #caa8601f,0 0 14px #caa86038;font-size:.64rem;animation:try-glow 2.6s ease-in-out infinite}.replica-try-dock>button>.icon{width:15px;height:15px}.replica-try-dock>button>small{font-size:.45rem;letter-spacing:.02em;margin-left:auto;background:#d8b271;color:#2d281d;border-radius:8px;padding:3px 6px}.replica-intro{position:absolute;inset:31px 0 17px;display:grid;place-items:center;padding:18px 13px;background:radial-gradient(circle,#fffefaed,#f5f7fbea 60%,#edf1f8ed);z-index:4;overflow-y:auto;scrollbar-width:thin}.replica-welcome-copy{text-align:center;width:100%;min-width:0}.replica-welcome-logo{width:155px;max-width:70%;height:auto;max-height:124px;object-fit:contain;margin:0 auto 16px;border-radius:16px;filter:drop-shadow(0 12px 18px #1011140a)}.replica-welcome-eyebrow{display:block;font-size:.48rem;color:#9a8b84;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;line-height:1.6}.replica-welcome-copy>h3{font-family:var(--serif);font-size:1.95rem;line-height:1;letter-spacing:-.055em;color:#101114;font-weight:650}.replica-trip{font-family:var(--sans);background:#222426;color:white;border-radius:18px;padding:8px 10px;font-size:.48rem;line-height:1.6;margin:13px 0 11px;box-shadow:0 8px 20px #10111410}.replica-welcome-copy>p{font-family:var(--sans);font-size:.58rem;color:#797e87;line-height:1.6}.replica-start{font-size:.68rem;padding:12px 15px;gap:17px;min-height:42px;border-radius:20px;margin-top:22px}.replica-welcome-copy>small{display:block;font-family:var(--sans);font-size:.4rem;color:#858b7e;margin-top:10px;line-height:1.7}.replica-static-welcome{padding:33px 14px 28px;background:radial-gradient(circle,#fff,#f5f7fb 70%);min-height:480px;display:grid;align-items:center}.replica-static-welcome .replica-welcome-logo{width:170px;max-height:136px}.replica-static-welcome .replica-welcome-copy>h3{font-size:2rem}.replica-static-welcome .replica-start{font-family:var(--sans)}[data-album-demo]:not([data-demo-state=album]) .replica-scroll{overflow:hidden;filter:blur(1.5px)}[data-demo-state=intro] .replica-scroll{filter:blur(2px);opacity:.5}[data-demo-state=complete] .replica-scroll{filter:blur(3px);opacity:.3}.replica-unlock-action{display:flex;width:100%;gap:10px;justify-content:center;font-size:.6rem;padding:11px 8px;min-height:42px;margin-top:18px;border-radius:4px}.replica-unlock-action>.icon{width:16px;height:16px}.guest-survey-reward:has(.replica-unlock-action){padding-top:19px}.guest-survey-reward:has(.replica-unlock-action) .reward-celebration{margin-bottom:10px}.guest-survey-reward:has(.replica-unlock-action) .storage-comparison{margin-top:15px}.guest-survey-reward:has(.replica-unlock-action)>.text-link{font-size:.52rem;margin-top:8px}.replica-complete{position:absolute;inset:49px 9px 28px;z-index:5;border:1px solid #e6e5da;border-radius:21px;background:#fffefaeb;backdrop-filter:blur(10px);padding:24px 18px 18px;text-align:center;overflow-y:auto;outline:none;animation:reward-in .5s ease}.replica-complete .reward-celebration{margin-bottom:12px}.replica-complete-eyebrow{font-size:.46rem;text-transform:uppercase;color:var(--gold);letter-spacing:.1em;margin-bottom:12px;line-height:1.6}.replica-complete>h3{font-family:var(--serif);font-size:1.85rem;line-height:1.05;letter-spacing:-.045em}.replica-added-preview{display:flex;justify-content:center;gap:8px;margin-top:19px}.replica-added-preview>img{width:72px;height:80px;object-fit:cover;border-radius:10px;border:3px solid #fff;box-shadow:0 5px 12px #33381c15;transform:rotate(-5deg)}.replica-added-preview>img+img{transform:rotate(5deg)}.replica-complete>p:not(.replica-complete-eyebrow):not(.replica-complete-note){font-size:.62rem;color:#666f5d;line-height:1.8;margin-top:18px}.replica-final-count{display:block;font-size:.55rem;color:#8c713b;margin-top:13px;padding:7px 8px;background:#f0eadc;border-radius:8px}.replica-complete-note{font-size:.55rem;color:#727969;line-height:1.8;margin-top:16px}.replica-complete>.button{min-height:41px;padding:10px 15px;font-size:.64rem;gap:18px;border-radius:20px;margin-top:19px}.demo-state-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@keyframes try-glow{0%,100%{box-shadow:0 0 0 2px #caa86024,0 0 11px #caa86030}50%{box-shadow:0 0 0 4px #caa86040,0 0 22px #e4b55f80}}
@media(max-width:1000px){.replica-welcome-copy>h3{font-size:1.8rem}.replica-welcome-logo{width:145px}.replica-complete{padding:20px 15px 16px}.replica-complete>h3{font-size:1.7rem}.replica-complete>p:not(.replica-complete-eyebrow):not(.replica-complete-note){font-size:.59rem}.replica-hero-actions{gap:5px}.replica-add{font-size:.66rem;padding:9px 9px}.replica-inactive{font-size:.59rem;padding:9px 8px}}
@media(max-width:760px){.replica-static-welcome .replica-welcome-copy>h3{font-size:2rem}.replica-welcome-copy>h3{font-size:1.9rem}.replica-complete>h3{font-size:1.8rem}.replica-complete{padding:22px 17px 18px}.replica-complete>p:not(.replica-complete-eyebrow):not(.replica-complete-note){font-size:.62rem}}
@media(max-width:390px){.replica-welcome-copy>h3{font-size:1.8rem}.replica-welcome-logo{width:145px}.replica-complete>h3{font-size:1.68rem}.replica-complete{padding:20px 15px 16px}.replica-inactive{font-size:.58rem}.replica-add{font-size:.65rem}.replica-trip{font-size:.45rem}.replica-complete-note{font-size:.52rem}.replica-complete>p:not(.replica-complete-eyebrow):not(.replica-complete-note){font-size:.59rem}}
@media(prefers-reduced-motion:reduce){.replica-add,.replica-try-dock>button,.replica-complete{animation:none}.replica-scroll{transition:none}}
@media(max-width:350px){.site-header .container{width:calc(100% - 24px)}.header-inner{gap:7px}.brand img{width:120px}.header-actions{gap:5px}.language-switch{font-size:.56rem;gap:5px}.header-demo{padding:8px}.menu-toggle{min-width:30px;width:30px}}
.replica-grid.masonry-ready{display:block;position:relative}.replica-grid.masonry-ready>.replica-photo{position:absolute;margin:0}
/* The photo carousel stays inside the mock phone. */
.replica-photo{display:block;border:0;padding:0;cursor:zoom-in;text-align:inherit}.replica-photo:focus-visible{outline:2px solid #b28e4f;outline-offset:2px}.replica-viewer{position:absolute;inset:31px 0 17px;z-index:6;display:flex;align-items:center;justify-content:center;padding:18px 12px;background:#17201cb3;backdrop-filter:blur(3px);overscroll-behavior:contain}.replica-viewer-card{width:100%;min-width:0;max-height:100%;padding:8px;border:1px solid #fffffff0;border-radius:20px;background:#fffefa;box-shadow:0 15px 40px #07100a55;animation:viewer-in .18s ease}.replica-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 1px 7px}.replica-viewer-header>span{font-size:.55rem;color:#66705f;line-height:1.5;letter-spacing:.02em}.replica-viewer-close{display:grid;place-items:center;border:0;background:#eeeee7;border-radius:50%;width:29px;height:29px;padding:5px;color:#30372d}.replica-viewer-close .icon{width:17px;height:17px;transform:rotate(45deg)}.replica-viewer-stage{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:4/5;max-height:310px;border-radius:14px;overflow:hidden;background:#edf0e9;touch-action:pan-y;cursor:grab}.replica-viewer-stage:active{cursor:grabbing}.replica-viewer-image{width:100%;height:100%;max-height:310px;object-fit:contain;pointer-events:none;user-select:none}.replica-viewer-arrow{position:absolute;top:calc(50% - 17px);display:grid;place-items:center;min-width:34px;height:34px;padding:0;border:1px solid #ffffff8c;border-radius:50%;background:#1d2824a8;color:#fff;font-family:var(--serif);font-size:1.7rem;line-height:1;cursor:pointer;backdrop-filter:blur(5px);box-shadow:0 3px 12px #111b1720}.replica-viewer-arrow.previous{left:6px}.replica-viewer-arrow.next{right:6px}.replica-viewer-arrow>span{display:block;transform:translateY(-1px)}.replica-viewer-arrow:hover{background:#1d2824dc}.replica-viewer-thumbs{position:relative;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:9px 2px 5px;overscroll-behavior-x:contain;scrollbar-width:none}.replica-viewer-thumbs::-webkit-scrollbar{display:none}.replica-viewer-thumbs>button{display:block;flex:0 0 31px;width:31px;height:36px;border:2px solid transparent;border-radius:7px;overflow:hidden;padding:0;background:#e8ece4;opacity:.55;cursor:pointer}.replica-viewer-thumbs>button[aria-current=true]{border-color:#ad8446;opacity:1}.replica-viewer-thumbs img{width:100%;height:100%;object-fit:cover;pointer-events:none}.replica-viewer-hint{font-size:.44rem;line-height:1.6;color:#858b7d;text-align:center;padding:3px 1px 2px}[data-demo-state=viewer] .replica-scroll{overflow-y:scroll}@keyframes viewer-in{from{opacity:.4;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.replica-viewer-card{animation:none}}
/* The guest experience is the second section's main visual. */
.phone-status { display: flex; align-items: center; justify-content: space-between; position: relative; color: #202924; }
.phone-island { position: absolute; left: 50%; transform: translateX(-50%); border-radius: 14px; background: #202623; }
.phone-home-indicator { width: 34%; height: 4px; border-radius: 8px; background: #1e2520; }

.experience-stage .survey-device-eyebrow { display: none; }
.experience-stage .survey-device { width: var(--demo-width); border-width: 7px; border-color: #101a16; box-shadow: 0 24px 50px #05130c55, 0 0 0 1px #b9c0a455; }
.experience-stage .survey-device-screen { height: var(--demo-height); }
.experience-stage .contact-survey>figcaption { max-width: 370px; margin-top: 22px; }
.experience-stage .contact-survey>figcaption>strong { color: #e1dccb; font-size: .61rem; font-weight: 400; }
.experience-stage .contact-survey>figcaption>span { color: #9fad98; font-size: .55rem; line-height: 1.8; }
.experience-stage .guest-survey-sheet { inset: 47px 8px 23px; }
.experience-stage .replica-add, .experience-stage .replica-try-dock>button { animation: none; box-shadow: 0 0 0 2px #caa86020; }
.experience-stage .survey-close { width: 30px; height: 30px; right: 8px; top: 12px; }
.experience-stage .replica-welcome-copy>small { font-size: .49rem; }
.experience-stage .replica-start { font-size: .78rem; padding: 13px 18px; }
.experience-stage .survey-sheet-footer>.button { min-height: 44px; }
.replica-limit { position: absolute; inset: 31px 0 17px; z-index: 6; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow-y: auto; padding: 27px 24px; text-align: center; background: #fffdf6; }
.limit-symbol { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid #cfc4a8; border-radius: 50%; color: var(--gold); margin-bottom: 18px; }
.limit-symbol .icon { width: 22px; height: 22px; }
.limit-eyebrow { font-size: .52rem; text-transform: uppercase; letter-spacing: .12em; color: var(--gold); line-height: 1.8; margin-bottom: 12px; }
.replica-limit>h3 { font-family: var(--serif); font-size: 2rem; font-weight: 400; letter-spacing: -.045em; line-height: 1.08; outline: none; }
.replica-limit>p:not(.limit-eyebrow) { margin-top: 18px; font-size: .72rem; line-height: 1.9; color: var(--muted); }
.limit-reward { width: 100%; margin-top: 23px; padding-block: 15px; border-block: 1px solid #ddd9c9; }
.limit-reward strong { display: block; font-family: var(--serif); color: var(--gold); font-size: 3rem; font-weight: 400; letter-spacing: -.055em; line-height: 1.1; }
.limit-reward span { display: block; font-size: .61rem; color: var(--muted); margin-top: 7px; }
.replica-limit>.button { width: 100%; min-height: 45px; font-size: .7rem; padding: 12px; gap: 12px; margin-top: 25px; flex-shrink: 0; }
.replica-limit>.text-link { font-size: .62rem; margin-top: 9px; padding-block: 8px; }
.guest-contact { margin: 6px 0 23px; padding-top: 18px; border-top: 1px solid #dfdecf; }
.guest-contact h4 { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; margin-bottom: 13px; }
.guest-contact>label { display: block; font-size: .65rem; color: var(--ink); line-height: 1.7; }
.guest-contact small { font-size: .54rem; color: var(--muted); margin-left: 5px; }
.guest-contact>input { display: block; width: 100%; border: 1px solid #d7dacd; border-radius: 3px; padding: 10px; margin-top: 7px; color: var(--ink); background: #faf9f2; font-size: .75rem; }
.guest-contact>.guest-contact-choice { display: flex; gap: 9px; align-items: flex-start; margin-top: 14px; font-size: .61rem; }
.guest-contact-choice input { flex-shrink: 0; width: 14px; height: 14px; margin: 2px 0 0; accent-color: var(--dark); }
.guest-contact>p { font-size: .57rem; line-height: 1.8; color: var(--muted); margin-top: 12px; }
@media (min-width:1001px) {
    .experience-stage .replica-welcome-copy>h3 { font-size: 2.45rem; }
    .experience-stage .replica-welcome-copy>p { font-size: .75rem; line-height: 1.8; }
    .experience-stage .replica-welcome-eyebrow { font-size: .58rem; }
    .experience-stage .replica-welcome-logo { width: 178px; max-height: 143px; }
    .experience-stage .replica-trip { font-size: .59rem; padding: 11px; margin-block: 18px 13px; }
    .experience-stage .replica-hero { min-height: 250px; }
    .experience-stage .replica-hero-card>h3 { font-size: 2rem; }
    .experience-stage .replica-topbar>div>strong { font-size: .8rem; }
    .experience-stage .replica-storage { font-size: .55rem; }
    .experience-stage .replica-storage>strong { font-size: .58rem; }
    .experience-stage .replica-try-dock>button { font-size: .77rem; padding: 12px; }
    .experience-stage .replica-try-dock>p { font-size: .55rem; }
    .experience-stage .sheet-heading>h3 { font-size: 1.7rem; }
    .experience-stage .sheet-heading>p { font-size: .72rem; }
    .experience-stage .guest-question>legend, .experience-stage .guest-question>label { font-size: .76rem; }
    .experience-stage .guest-answers input+span { font-size: .65rem; padding: 9px; }
    .experience-stage .rating-answers input+span { font-size: .9rem; }
    .experience-stage .guest-survey-reward>h3 { font-size: 1.8rem; }
    .experience-stage .reward-explanation { font-size: .77rem; }
    .experience-stage .replica-unlock-action { font-size: .72rem; }
    .experience-stage .replica-complete>h3 { font-size: 2.2rem; }
    .experience-stage .replica-complete>p:not(.replica-complete-eyebrow):not(.replica-complete-note) { font-size: .75rem; }
}
@media (max-width:760px) {
    .experience-stage .contact-survey>figcaption { max-width: 285px; }
    .replica-limit { padding: 23px 19px; }
    .replica-limit>h3 { font-size: 1.8rem; }
    .replica-limit>p:not(.limit-eyebrow) { font-size: .66rem; margin-top: 15px; }
    .limit-symbol { width: 38px; height: 38px; margin-bottom: 14px; }
    .limit-reward { margin-top: 17px; padding-block: 12px; }
    .limit-reward strong { font-size: 2.65rem; }
    .replica-limit>.button { margin-top: 20px; font-size: .65rem; }
    .experience-stage .replica-start { font-size: .7rem; }
    .guest-contact>input { font-size: 16px; }
}
@media (max-width:350px) {
    .replica-limit { padding-inline: 16px; }
    .replica-limit>h3 { font-size: 1.65rem; }
    .replica-limit>p:not(.limit-eyebrow) { font-size: .61rem; }
    .limit-eyebrow { font-size: .47rem; }
    .limit-symbol { margin-bottom: 10px; }
    .limit-reward { margin-top: 13px; }
    .replica-limit>.button { margin-top: 17px; font-size: .61rem; }
}

.replica-welcome-brand { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 24px; color: #927348; }
.replica-welcome-brand>span { display: grid; place-items: center; width: 66px; height: 66px; border: 1px solid #b4a078; border-radius: 50%; font-family: var(--serif); font-size: 2.5rem; font-weight: 400; }
.replica-welcome-brand>strong { font-family: var(--serif); font-size: 1.1rem; letter-spacing: .035em; font-weight: 400; }
.demo-hotel-mark { display: grid; place-items: center; flex-shrink: 0; width: 29px; height: 29px; border: 1px solid #b4a078; border-radius: 50%; font-family: var(--serif); font-size: 1.05rem; color: #927348; }
@media (max-width:760px) { .replica-welcome-brand { margin-bottom: 20px; gap: 10px; } .replica-welcome-brand>span { width: 56px; height: 56px; font-size: 2.1rem; } .replica-welcome-brand>strong { font-size: 1rem; } }
/* The private guest album has its own light interface. */
.survey-device-screen { color-scheme: light; --paper: #f5f8fc; --ink: #172334; --muted: #65758b; --gold: #587ba7; --white: #fbfdff; --dark: #112139; color: #172334; }
.experience-stage .survey-device { border-color: #0a1019; box-shadow: 0 24px 55px #0007, 0 0 0 1px #b6d6ff60, 0 0 50px #81b3ff09; }
.experience-stage .contact-survey>figcaption>strong { color: #c4d6f1; }
.experience-stage .contact-survey>figcaption>span { color: #8198b8; }

.phone-status, .survey-device-screen>.phone-status { color: #1e2b3f; background: #f3f7fc; }
.phone-island, .phone-home-indicator { background: #152135; }
.replica-demo-badge { color: #506684; background: #e1eaf7; }
.replica-intro { background: radial-gradient(circle at 50% 35%,#fffffff2,#edf3fcee 85%); }
.replica-welcome-brand { color: #526e95; }
.replica-welcome-brand>span { border-color: #96b1d4; font-family: var(--display); font-weight: 400; }
.replica-welcome-brand>strong { font-family: var(--display); letter-spacing: -.015em; }
.replica-welcome-copy>h3 { font-weight: 600; color: #162334; letter-spacing: -.055em; }
.replica-welcome-eyebrow { color: #6a7f9d; }
.replica-welcome-copy>p { color: #687d99; }
.replica-trip { background: #e7eef9; color: #435f84; box-shadow: none; border: 1px solid #cfdbed; }
.survey-device .button { color: #f5f9ff; background: #15243b; border-color: #263d5b; box-shadow: 0 4px 15px #1025420b; }
.survey-device .button:hover { background: #243d60; border-color: #345a87; box-shadow: none; }
.survey-device .text-link { color: #527098; border-color: #bbcbe0; }
.demo-hotel-mark { color: #526e95; border-color: #a5bbd9; }
.replica-topbar>div>span { color: #7287a5; }
.replica-add { border-color: #9fbfe7; background: #15243b; }
.replica-add>small, .replica-try-dock>button>small { color: #253f63; background: #d5e5fb; border-color: #b4cdf0; }
.replica-inactive { background: #15243be8; }
.replica-try-dock { border-color: #d5e0ee; background: #f4f8fded; }
.replica-try-dock>p { color: #687d99; }
.experience-stage .replica-try-dock>button { background: #15243b; border-color: #89acd9; box-shadow: none; }
.replica-storage>strong { color: #567ba9; }
.replica-photo-section { border-color: #e0e7f0; }
.guest-survey-sheet { border-color: #dbe5f1; }
.sheet-heading, .survey-sheet-footer { border-color: #e0e7f0; }
.sheet-handle { background: #c6d4e8; }
.survey-close { color: #3c5679; background: #e9eff9; }
.survey-scroll { scrollbar-color: #9db4d5 #edf2fa; }
.guest-answers input+span { color: #445d7e; border-color: #d7e1ef; background: #f5f8fd; }
.guest-answers input:checked+span { background: #dce9fb; border-color: #89acd9; color: #274e80; }
.guest-answers input:focus-visible+span { outline-color: #7099ce; }
.guest-question>textarea, .guest-contact>input { border-color: #d7e1ef; background: #f5f8fd; color: #24456f; }
.guest-contact { border-color: #d8e2f0; }
.survey-is-rewarded .guest-survey-sheet, .replica-limit { background: #f8fbff; }
.replica-limit>h3 { font-weight: 500; }
.limit-symbol, .limit-reward { border-color: #cddbed; }
.limit-reward strong { font-family: var(--display); font-weight: 500; }
.reward-celebration { color: #4b76aa; border-color: #c9dbf1; background: #e5eefb; }
.storage-bar { background: #e3eaf5; }
.storage-bar>span { background: #a9bad3; }
.storage-bar.expanded>span { background: #658ec3; }
.replica-complete { background: #f6faffed; border-color: #d4e0f1; }
.replica-complete>p:not(.replica-complete-eyebrow):not(.replica-complete-note), .replica-complete-note { color: #657b9c; }
.replica-final-count { color: #4d6e98; background: #e3ecf9; }
.replica-viewer { background: #0b192fb3; }
.replica-viewer-card { background: #f7faff; }
.replica-viewer-thumbs>button[aria-current=true] { border-color: #7099ce; }
.customisation-section .customisation-copy h2 { font-size: clamp(2.65rem,3.9vw,4.4rem); }
@media (max-width:760px) { .customisation-section .customisation-copy h2 { font-size: clamp(2.45rem,8.3vw,3.5rem); } }
@media (max-width:350px) { .brand img { width: 106px; } .header-inner { gap: 5px; }  }
/* Product customisation and the demo completion link. */

[data-demo-state=album] .replica-add, [data-demo-state=album] .replica-try-dock>button { box-shadow: 0 0 0 3px #8ab8f62b !important; }
.replica-complete>.demo-next-step { display: flex; justify-content: center; }
.replica-complete>.text-link { margin-top: 12px; font-size: .59rem; gap: 10px; }
.customisation-product-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 35px; align-items: start; }
.customisation-parts { display: grid; gap: 12px; }
.customisation-parts article { display: flex; align-items: flex-start; gap: 18px; padding: 23px; border: 1px solid #bad6ff26; border-radius: 18px; background: #b9d8ff05; }
.part-icon { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; border: 1px solid #b7d8ff30; border-radius: 12px; color: #bad8ff; background: #a9cdff07; }
.part-icon>.icon { width: 22px; height: 22px; }
.customisation-parts h3 { font-size: 1.16rem; font-weight: 500; letter-spacing: -.025em; }
.customisation-parts p { color: #a3b5ce; font-size: .8rem; line-height: 1.8; margin-top: 7px; }
.customisation-parts small { display: inline-block; color: #bdd9ff; font-size: .64rem; line-height: 1.7; margin-top: 10px; padding: 4px 10px; border-radius: 20px; background: #b0d1ff0b; border: 1px solid #aacfff21; }
.customisation-next { display: flex; justify-content: flex-end; margin-top: 25px; }
@media (max-width:1000px) {
    .customisation-product-grid { grid-template-columns: 1.05fr 1fr; gap: 25px; }
    .customisation-parts article { padding: 18px; gap: 13px; }
    .customisation-parts h3 { font-size: 1.1rem; }
    .customisation-parts p { font-size: .76rem; }
}
@media (max-width:760px) {

    
    .customisation-product-grid { grid-template-columns: 1fr; gap: 25px; }
    .customisation-parts article { padding: 20px; gap: 16px; }
    .customisation-parts h3 { font-size: 1.16rem; }
    .customisation-parts p { font-size: .8rem; }
    .customisation-next { justify-content: flex-start; margin-top: 23px; }
    .customisation-next>.button { font-size: .73rem; gap: 17px; }
}
@media (max-width:350px) {

    
    .customisation-next>.button { padding-inline: 17px; font-size: .68rem; }
}

.customisation-section { border-bottom: 0; }

/* The public presentation uses the light palette exclusively. */






html[data-theme=day] {
    color-scheme: light;
    --paper: #f7faff;
    --white: #fff;
    --ink: #172c46;
    --muted: #536b87;
    --gold: #315f94;
    --line: #315d8f20;
    --dark: #18375e;
}
html[data-theme=day] body { background: #fff; }


html[data-theme=day] h1 em { background-image: linear-gradient(115deg, #244369, #466fa6 70%, #658bb9); }
html[data-theme=day] h2 em { color: #4a709e; }
html[data-theme=day] .eyebrow { color: #476991; }
html[data-theme=day] :focus-visible { outline-color: #315f94; }
html[data-theme=day] .button { background: linear-gradient(115deg, #203c60, #315a8b); color: #fff; border-color: #315582; box-shadow: inset 0 1px 0 #ffffff1a, 0 7px 22px #234a7717; }
html[data-theme=day] .button:hover { background: linear-gradient(115deg, #294b74, #3b669b); border-color: #416b9c; box-shadow: inset 0 1px 0 #ffffff1a, 0 8px 25px #234a7726; }
html[data-theme=day] .text-link { color: #31547e; border-color: #315d8f40; }
html[data-theme=day] .text-link:hover { color: #122c4f; border-color: #315d8f; }
html[data-theme=day] .site-header { background: #ffffffd9; border-color: #315d8f21; box-shadow: 0 12px 40px #244d7910, inset 0 1px 0 #fff; }
html[data-theme=day] .main-nav a { color: #526985; }
html[data-theme=day] .main-nav a:hover { color: #193d69; }
html[data-theme=day] .language-switch a { color: #647a95; }
html[data-theme=day] .language-switch a[aria-current=true] { color: #203f66; }
html[data-theme=day] .language-switch>span { color: #a2b1c4; }
html[data-theme=day] .menu-toggle span { background: #29486e; }





html[data-theme=day] .experience-stage .survey-device { box-shadow: 0 24px 50px #1f3f6530, 0 0 0 1px #fff; }
html[data-theme=day] .experience-stage .contact-survey>figcaption>strong { color: #31547e; }
html[data-theme=day] .experience-stage .contact-survey>figcaption>span { color: #5c7492; }
html[data-theme=day] .customisation-parts article { background: #ffffffc9; border-color: #315d8f1f; box-shadow: 0 7px 24px #315d8f04; }
html[data-theme=day] .part-icon { color: #476f9f; border-color: #315d8f21; background: #edf3fb; }
html[data-theme=day] .customisation-parts p { color: #56708e; }
html[data-theme=day] .customisation-parts small { color: #4a6c96; background: #eef4fc; border-color: #315d8f1a; }
html[data-theme=day] .packaging-visual img, html[data-theme=day] .home-visual img { border-color: #315d8f1f; }
html[data-theme=day] .packaging-visual figcaption { color: #607996; }
html[data-theme=day] .home-visual figcaption { color: #405f87; }
html[data-theme=day] .item-number { color: #4e75a3; }
html[data-theme=day] .benefit p { color: #56708e; }
html[data-theme=day] .insights-section { background: radial-gradient(ellipse 80% 50% at 50% 0%,#dfebfb80,transparent 80%), #eef4fc; border-color: #315d8f18; }
html[data-theme=day] .insights-copy .section-intro { color: #536e8e; }
html[data-theme=day] .relationship-list article { background: linear-gradient(145deg,#ffffffeb,#ffffff80); border-color: #315d8f21; box-shadow: inset 0 1px 0 #fff, 0 8px 25px #315d8f04; }
html[data-theme=day] .relationship-list article:hover { background: #fff; border-color: #315d8f42; }
html[data-theme=day] .relationship-list article>span { color: #476f9f; }
html[data-theme=day] .relationship-list p { color: #536e8e; }
html[data-theme=day] .participation-band { background: #ffffffb3; border-color: #315d8f21; }
html[data-theme=day] .participation-band>strong { color: #385f91; }
html[data-theme=day] .participation-band p { color: #536e8e; }
html[data-theme=day] .participation-band>.insights-note { border-color: #315d8f21; }
html[data-theme=day] .faq-list details { background: #ffffffb3; }
html[data-theme=day] .faq-list details[open] { background: #fff; border-color: #315d8f35; }
html[data-theme=day] .faq-list summary .icon { color: #476f9f; }
html[data-theme=day] .faq-list details p { color: #536e8e; }
html[data-theme=day] .demo-section { background: radial-gradient(ellipse at 20% 50%,#e1ecfc80,transparent 70%), #eef4fc; }
html[data-theme=day] .sample-inclusions li { color: #4b678a; }
html[data-theme=day] .sample-inclusions .icon, html[data-theme=day] .direct-contact .icon { color: #476f9f; }
html[data-theme=day] .direct-contact>span { color: #5d7796; }
html[data-theme=day] .demo-form-card { background: linear-gradient(145deg,#fff,#fbfdff); border-color: #315d8f24; box-shadow: 0 20px 60px #315d8f0b, inset 0 1px 0 #fff; }
html[data-theme=day] .form-intro { color: #56708e; }
html[data-theme=day] .field>label { color: #3e5c81; }
html[data-theme=day] .field>label>span { color: #476f9f; }
html[data-theme=day] .field>label>small { color: #617a99; }
html[data-theme=day] .field input, html[data-theme=day] .field textarea { border-color: #315d8f30; background: #f7faff; color: #203e64; }
html[data-theme=day] .field input::placeholder, html[data-theme=day] .field textarea::placeholder { color: #687f9c; }
html[data-theme=day] .field input:focus, html[data-theme=day] .field textarea:focus { border-color: #6488b3; box-shadow: 0 0 0 3px #315d8f0b; }
html[data-theme=day] .field [aria-invalid=true] { border-color: #b94c5d; }
html[data-theme=day] .privacy-check { color: #536e8e; }
html[data-theme=day] .privacy-check input { accent-color: #315f94; }
html[data-theme=day] .privacy-check a { color: #31547e; }
html[data-theme=day] .data-note, html[data-theme=day] .form-footnote { color: #5e7897; }
html[data-theme=day] .form-errors { color: #983c4b; background: #fff3f5; border-color: #bd596933; }
html[data-theme=day] .field-error { color: #a13b4c; }
html[data-theme=day] .success-icon { color: #426e9e; background: #edf4fc; border-color: #315d8f26; }
html[data-theme=day] .form-success p { color: #536e8e; }
html[data-theme=day] .site-footer { background: #f9fbff; color: #29476d; }
html[data-theme=day] .footer-brand small { color: #5c7695; }
html[data-theme=day] .footer-contact .eyebrow, html[data-theme=day] .footer-contact .icon { color: #476f9f; }
html[data-theme=day] .footer-contact>.footer-demo { color: #47678f; border-color: #315d8f40; }
html[data-theme=day] .footer-bottom { color: #5e7897; }
html[data-theme=day] .back-top { color: #476f9f; border-color: #315d8f26; background: #fff; }
@media (min-width:1101px) and (max-width:1300px) {
    .main-nav { gap: 18px; }
    .header-inner { gap: 22px; }
    .header-actions { gap: 18px; }
}
@media (max-width:1100px) {
    .menu-toggle { display: block; }
    .main-nav { display: none; position: absolute; top: calc(100% + 9px); left: 0; right: 0; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 15px 16px; border: 1px solid #c2dcff29; border-radius: 18px; background: #111b2bf5; backdrop-filter: blur(22px); gap: 12px; justify-content: center; box-shadow: 0 10px 30px #0004; }
    .main-nav.is-open { display: grid; }
    .main-nav>a { text-align: center; padding-block: 12px; font-size: .7rem; }
    
    
    html[data-theme=day] .main-nav { background: #fffffff5; border-color: #315d8f24; box-shadow: 0 10px 30px #315d8f15; }
}

/* Hero and four-step product experience. */
.hero { display: grid; grid-template-columns: 1fr 1.25fr; align-items: center; gap: 64px; min-height: 590px; padding-block: 65px; position: relative; }
.hero h1 { font-size: clamp(3.1rem,4vw,4.2rem); line-height: 1.08; letter-spacing: -.062em; }
.hero-copy h1 em { display: block; margin-top: 8px; font-size: .95em; }
.hero-description { max-width: 445px; font-size: .94rem; line-height: 1.9; margin-top: 27px; color: var(--muted); text-wrap: pretty; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-top: 31px; }
.hero-note { display: flex; gap: 9px; align-items: center; color: var(--muted); font-size: .65rem; line-height: 1.8; margin-top: 23px; }
.hero-note .icon { width: 14px; height: 14px; color: var(--gold); }
.hero-visual { position: relative; min-width: 0; padding: 0; border: 0; border-radius: 16px; background: transparent; box-shadow: 0 25px 70px #0003; }
.hero-image { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: contain; border-radius: 16px; }
.promise-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding-block: 23px; border-block: 1px solid var(--line); }
.promise-strip>span { display: flex; gap: 12px; align-items: center; justify-content: center; color: var(--muted); font-size: .72rem; line-height: 1.7; }
.promise-strip>span+span { border-left: 1px solid var(--line); }
.promise-strip .icon { width: 18px; height: 18px; color: var(--gold); }
.experience-section { position: relative; }
.experience-intro { text-align: center; max-width: 850px; margin: 0 auto 58px; }
.experience-intro h2 { font-size: clamp(2.7rem,4vw,4rem); }
.experience-intro .section-intro { max-width: 550px; margin: 23px auto 0; font-size: .92rem; }
.experience-layout { display: grid; grid-template-columns: minmax(0,1fr) 400px minmax(0,1fr); gap: 58px; align-items: center; max-width: 1240px; margin-inline: auto; }
.demo-steps { list-style: none; display: grid; gap: 48px; }
.demo-step { display: grid; align-content: start; min-height: 210px; gap: 18px; padding: 24px 0; border-top: 1px solid var(--line); transition: border-color .2s; }
.step-index { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); font-family: var(--display); font-size: .78rem; transition: color .2s, background .2s; }
.demo-step h3 { font-size: 1.25rem; font-weight: 500; line-height: 1.3; letter-spacing: -.035em; margin-bottom: 12px; text-wrap: balance; }
.demo-step p { color: var(--muted); font-size: .84rem; line-height: 1.85; max-width: 250px; }
.demo-step.is-current { border-top-color: var(--gold); }
.demo-step.is-current .step-index { background: #d7e8ff; color: #21436e; border-color: #d7e8ff; }
.experience-stage { position: relative; min-width: 0; padding: 0; border: 0; background: transparent; box-shadow: none; --demo-width: 400px; --demo-height: 742px; }
.experience-stage .contact-survey { margin: 0; max-width: none; }
.experience-footnote { display: flex; gap: 9px; align-items: center; justify-content: center; color: var(--muted); font-size: .67rem; line-height: 1.8; margin-top: 35px; text-align: center; }
.experience-footnote .icon { width: 14px; height: 14px; color: var(--gold); }
html[data-theme=day] .hero-visual { box-shadow: 0 25px 70px #23476d14; }
html[data-theme=day] .demo-step.is-current { border-top-color: #3f699a; }
html[data-theme=day] .demo-step.is-current .step-index { background: #254c79; border-color: #254c79; color: #fff; }
@media (min-width:1500px) {
    .hero { min-height: 660px; padding-block: 80px; }
    .experience-layout { grid-template-columns: minmax(0,1fr) 420px minmax(0,1fr); gap: 75px; }
    .experience-stage { --demo-width: 420px; --demo-height: 770px; }
}
@media (min-width:901px) and (max-width:1100px) {
    .hero { gap: 35px; min-height: 540px; padding-block: 55px; }
    .hero h1 { font-size: 3.3rem; }
    .hero-actions { gap: 17px; }
    .hero-actions .button { gap: 16px; padding-inline: 18px; }
    .experience-layout { grid-template-columns: minmax(0,1fr) 348px minmax(0,1fr); gap: 30px; }
    .experience-stage { --demo-width: 348px; --demo-height: 684px; }
    .demo-step h3 { font-size: 1.1rem; }
    .demo-step p { font-size: .77rem; }
    .demo-steps { gap: 45px; }
}
@media (max-width:900px) {
    .hero { grid-template-columns: 1fr 1fr; gap: 30px; min-height: 500px; padding-block: 50px; }
    .hero h1 { font-size: 2.8rem; }
    .hero-description { font-size: .84rem; line-height: 1.9; margin-top: 22px; }
    .hero-actions { gap: 17px; margin-top: 24px; }
    .hero-actions .button { font-size: .71rem; gap: 14px; padding-inline: 17px; }
    .hero-note { font-size: .61rem; }
    .experience-intro { margin-bottom: 36px; }
    .experience-layout { grid-template-columns: 1fr 1fr; gap: 22px; max-width: 600px; }
    .experience-stage { grid-column: 1/-1; grid-row: 1; width: 100%; --demo-width: 348px; --demo-height: 666px; margin-bottom: 15px; }
    .demo-steps { align-self: start; grid-column: 1/-1; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
    .demo-steps-before { grid-row: 2; }
    .demo-steps-after { grid-row: 3; }
    .demo-step { padding: 21px 0; gap: 13px; min-height: 0; }
    .demo-step h3 { font-size: 1.13rem; }
    .demo-step p { font-size: .8rem; }
    .experience-footnote { margin-top: 24px; font-size: .62rem; }
}
@media (max-width:760px) {
    .hero { grid-template-columns: 1fr; gap: 35px; padding-block: 45px 35px; min-height: 0; }
    .hero h1 { font-size: clamp(2.75rem,9.5vw,4.1rem); line-height: 1.08; max-width: 620px; }
    .hero-description { font-size: .88rem; max-width: 500px; }
    .hero-note { margin-top: 21px; font-size: .6rem; }
    .hero-visual, .hero-image { border-radius: 13px; }
    .promise-strip { grid-template-columns: 1fr; gap: 13px; padding-block: 22px; }
    .promise-strip>span { justify-content: flex-start; font-size: .69rem; }
    .promise-strip>span+span { border: 0; }
    .experience-intro h2 { font-size: clamp(2.35rem,8.1vw,3.4rem); }
    .experience-intro .section-intro { margin-top: 20px; font-size: .84rem; }
    .experience-layout { gap: 14px 22px; }
    .experience-stage { --demo-width: min(348px,100%); --demo-height: 638px; }
    .demo-step h3 { font-size: 1.04rem; }
    .demo-step p { font-size: .75rem; line-height: 1.8; }
    .step-index { width: 32px; height: 32px; font-size: .72rem; }
}
@media (max-width:350px) {
    .hero h1 { font-size: 2.55rem; }
    .hero-actions { gap: 16px; }
    .hero-actions .button { padding-inline: 15px; font-size: .67rem; }
    .hero-actions .text-link { font-size: .7rem; }
    .experience-stage { --demo-height: 602px; }
    .experience-layout { column-gap: 18px; }
    .demo-step h3 { font-size: .95rem; }
}

/* A compact desktop rhythm: adjacent white sections share a 96px gap. */
@media (min-width:901px) {
    .section { padding-block: 48px; }
    .hero { min-height: 0; padding-block: 48px; }
    .section-heading { margin-bottom: 32px; }
    .eyebrow { margin-bottom: 16px; }
    .experience-intro { margin-bottom: 36px; }
    .experience-footnote { margin-top: 24px; }
    .relationship-list { margin-top: 32px; }
    .faq-section { padding-block: 48px; }
    .faq-section h2 { margin-bottom: 28px; }
    .site-footer { padding-block: 44px 24px; }
}

/* Show the route back to the hotel and make the proposal easy to share. */
.booking-connection { display: flex; align-items: center; gap: 28px; max-width: 960px; margin: 32px auto 0; padding: 23px 28px; border: 1px solid #dbe6f3; border-radius: 18px; background: linear-gradient(110deg,#f0f5fc,#fff); }
.booking-preview { display: inline-flex; flex-shrink: 0; align-items: center; gap: 22px; padding: 12px 20px; border-radius: 999px; background: #254c79; color: #fff; font-size: .78rem; font-weight: 700; }
.booking-preview .icon { width: 17px; height: 17px; }
.booking-connection h3 { color: var(--ink); font-size: 1.12rem; letter-spacing: -.025em; }
.booking-connection p { color: var(--muted); font-size: .78rem; line-height: 1.85; margin-top: 7px; }
.team-section { border-bottom: 1px solid var(--line); }
.team-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--line); }
.team-grid article { min-width: 0; padding: 25px 27px; }
.team-grid article:first-child { padding-left: 0; }
.team-grid article:last-child { padding-right: 0; }
.team-grid article+article { border-left: 1px solid var(--line); }
.team-grid h3 { font-size: 1.08rem; letter-spacing: -.025em; }
.team-grid p { color: var(--muted); font-size: .79rem; line-height: 1.85; margin-top: 12px; }
.team-invitation { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; padding: 27px 30px; margin-top: 28px; border-radius: 18px; background: #f2f6fc; }
.team-invitation h3 { font-size: 1.15rem; letter-spacing: -.025em; }
.team-invitation p { max-width: 620px; color: var(--muted); font-size: .79rem; line-height: 1.85; margin-top: 9px; }
.team-share { max-width: 290px; }
.team-share .button { width: 100%; gap: 19px; }
.team-share small { display: block; color: var(--muted); font-size: .62rem; line-height: 1.8; margin-top: 11px; }
@media (max-width:900px) {
    .team-invitation { grid-template-columns: 1fr; gap: 23px; }
}
@media (max-width:760px) {
    .booking-connection { align-items: flex-start; flex-direction: column; gap: 16px; padding: 23px; }
    .booking-connection h3 { font-size: 1.06rem; }
    .team-grid { grid-template-columns: 1fr; }
    .team-grid article, .team-grid article:first-child, .team-grid article:last-child { padding: 22px 0; }
    .team-grid article+article { border-left: 0; border-top: 1px solid var(--line); }
    .team-invitation { padding: 25px 22px; }
}

/* Product film in the hero; the interactive album remains the next section. */
html[data-theme=day] .hero-promo { box-shadow: none; }
.promo-frame { position: relative; aspect-ratio: 16/9; overflow: hidden; border-radius: 16px; background: #e7edf5; box-shadow: 0 25px 70px #23476d14; }
.promo-video { display: block; width: 100%; height: 100%; aspect-ratio: 16/9; object-fit: contain; }
.promo-play { position: absolute; left: 20px; bottom: 20px; display: inline-flex; align-items: center; gap: 12px; min-height: 49px; padding: 12px 19px; border: 1px solid #fff; border-radius: 999px; background: #fffffff2; color: #18375e; box-shadow: 0 8px 30px #172c4629; font-size: .76rem; font-weight: 700; }
.promo-play .icon { width: 20px; height: 20px; fill: currentColor; stroke-width: 0; }
.promo-play small { color: #536b87; font-size: .65rem; font-weight: 500; padding-left: 11px; border-left: 1px solid #315d8f30; }
.promo-play:hover { background: #fff; box-shadow: 0 8px 30px #172c4645; }
.promo-caption { color: var(--muted); font-size: .68rem; line-height: 1.8; margin-top: 15px; }
@media (max-width:760px) {
    .promo-frame { border-radius: 13px; }
    .promo-play { left: 14px; bottom: 14px; gap: 10px; min-height: 44px; padding: 10px 15px; font-size: .72rem; }
    .promo-caption { font-size: .64rem; margin-top: 12px; }
}

/* Keep the tabletop products in their original orientation behind the hero copy. */
.hero-scene { position: relative; isolation: isolate; overflow: hidden; background: #fff; }
.hero-backdrop { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.hero-backdrop picture, .hero-backdrop img { display: block; width: 100%; height: 100%; }
.hero-backdrop picture { position: absolute; left: -30%; width: 130%; }
.hero-backdrop img { max-width: none; object-fit: cover; object-position: center 84%; }
.hero-backdrop::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#ffffffcf 0%,#ffffffb0 38%,#ffffff8c 60%,#ffffff40 100%),linear-gradient(180deg,#fff 0%,#ffffff00 18%,#ffffff00 68%,#fff 100%); }
.hero-scene>.hero { z-index: 1; }
.hero-scene .promo-frame { border: 1px solid #ffffffa6; box-shadow: 0 24px 65px #23476d29,0 3px 12px #23476d12; }
@media (max-width:760px) {
    .hero-backdrop { bottom: auto; height: clamp(390px,108vw,520px); }
    .hero-backdrop picture { left: -50%; width: 150%; }
    .hero-backdrop img { object-position: center bottom; }
    .hero-backdrop::after { background: linear-gradient(90deg,#ffffffc7,#ffffffa6),linear-gradient(180deg,#fff 0%,#ffffff00 20%,#ffffff00 68%,#fff 100%); }
}

/* Transparent packaging examples share live, aligned callouts in both languages. */
.customisation-product-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
.customisation-explainer { min-width: 0; }
.customisation-diagram { position: relative; display: grid; grid-template-columns: 1fr 3fr 1fr; align-items: center; width: 100%; }
.customisation-product-stage { position: relative; grid-column: 2; grid-row: 1; min-width: 0; aspect-ratio: 3/2; }
.customisation-diagram .customisation-box-image { display: block; width: 100%; height: auto; border: 0; border-radius: 0; background: transparent; transform-origin: center; }
html[lang=es] .customisation-box-image { transform: translateY(-.13%) scale(1.0225,1.0711); }
.customisation-callout { position: relative; z-index: 1; min-width: 0; }
.customisation-callout h3 { min-height: 2.4em; font-size: clamp(1.03rem,1.65vw,1.55rem); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
.customisation-callout p { min-height: 3.2em; max-width: 220px; font-size: clamp(.72rem,.95vw,.88rem); line-height: 1.6; color: var(--muted); margin-top: 10px; text-wrap: pretty; }
.customisation-callout-destination { grid-column: 1; grid-row: 1; align-self: start; padding-right: 20px; margin-top: 2vw; }
.customisation-callout-magnet { grid-column: 3; grid-row: 1; padding-left: 4px; }
.customisation-arrows-desktop, .customisation-arrows-mobile { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; fill: none; stroke: #d5a23b; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.customisation-arrows-desktop circle, .customisation-arrows-mobile circle { fill: #d5a23b; stroke: none; }
.customisation-arrows-mobile { display: none; }
.customisation-explainer>figcaption { color: var(--muted); font-size: .72rem; line-height: 1.8; margin: 12px auto 0; max-width: 650px; text-align: center; }
.customisation-parts { grid-template-columns: repeat(3,minmax(0,1fr)); }
.customisation-parts article { min-width: 0; }
@media (max-width:1000px) and (min-width:761px) {
    .customisation-callout h3 { font-size: 1.1rem; }
    .customisation-callout p { font-size: .72rem; }
    .customisation-parts article { gap: 12px; padding: 18px; }
    .customisation-parts .part-icon { width: 34px; height: 34px; }
}
@media (max-width:760px) {
    .customisation-diagram { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; row-gap: 7px; }
    .customisation-callout-destination, .customisation-callout-magnet { grid-row: 1; align-self: start; margin: 0; padding: 0; }
    .customisation-callout-destination { grid-column: 1; }
    .customisation-callout-magnet { grid-column: 2; }
    .customisation-callout h3 { min-height: 2.4em; font-size: clamp(1rem,4.6vw,1.3rem); }
    .customisation-callout p { min-height: 3.2em; max-width: 220px; font-size: .75rem; margin-top: 8px; }
    .customisation-product-stage { grid-column: 1/-1; grid-row: 2; }
    .customisation-arrows-desktop { display: none; }
    .customisation-arrows-mobile { display: block; }
    .customisation-parts { grid-template-columns: minmax(0,1fr); }
    .customisation-explainer>figcaption { margin-top: 9px; font-size: .66rem; }
}

/* Real product film near the close of the page, framed at its full portrait ratio. */
.product-detail-section { border-top: 1px solid var(--line); }
.product-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,.75fr); gap: clamp(36px,6vw,92px); align-items: center; max-width: 1060px; margin-inline: auto; }
.product-detail-copy h2 { font-size: clamp(2.4rem,4.2vw,4.1rem); line-height: 1.12; letter-spacing: -.055em; }
.product-detail-copy h2 em { color: #4b73a3; font-style: normal; }
.product-detail-copy .section-intro { max-width: 470px; margin-top: 24px; }
.product-detail-points { list-style: none; display: grid; gap: 17px; margin: 28px 0 32px; padding: 0; }
.product-detail-points li { display: flex; gap: 13px; align-items: center; color: var(--ink); font-size: .86rem; line-height: 1.65; }
.product-detail-points .icon { flex-shrink: 0; width: 20px; height: 20px; color: #4773a3; }
.product-film { width: 100%; max-width: 320px; min-width: 0; justify-self: center; margin: 0; }
.product-video-frame { aspect-ratio: 9/16; overflow: hidden; border-radius: 20px; background: #e8e0d4; box-shadow: 0 18px 48px #172c461c; }
.product-detail-video { display: block; width: 100%; height: 100%; object-fit: contain; }
.product-video-controls { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 15px; }
.product-video-controls button { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 8px 11px; border: 1px solid #dbe6f3; border-radius: 999px; background: #f3f7fc; color: #254c79; font-size: .68rem; font-weight: 600; }
.product-video-controls button:hover { background: #e8f0fa; }
.product-video-controls button:focus-visible { outline: 2px solid #254c79; outline-offset: 3px; }
.product-video-controls .icon { width: 15px; height: 15px; }
.product-film figcaption, .product-film noscript p { margin-top: 13px; font-size: .68rem; line-height: 1.8; color: var(--muted); }
@media (max-width:760px) {
    .product-detail-layout { grid-template-columns: minmax(0,1fr); gap: 34px; }
    .product-detail-copy h2 { font-size: clamp(2.35rem,8.3vw,3.4rem); }
    .product-detail-copy .section-intro { margin-top: 20px; font-size: .88rem; }
    .product-detail-points { gap: 14px; margin: 24px 0 27px; }
    .product-detail-points li { font-size: .8rem; }
    .product-film { max-width: 310px; }
    .product-video-frame { border-radius: 15px; }
}
