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

:root { font-family: 'DM Sans', sans-serif; color: #18221f; background: #f3f0e8; font-synthesis: none; text-rendering: optimizeLegibility; --ink: #18221f; --muted: #68716c; --line: rgba(24,34,31,.16); --soft: #e5e1d5; --accent: #b8d86c; --olive: #9db95d; --night: #15211e; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: #f3f0e8; }
button, input, select { font: inherit; }
button, a { color: inherit; }
button { border: 0; cursor: pointer; background: none; }
a { text-decoration: none; }
.app-shell { overflow: hidden; }
.pricing-ribbon { margin-top: 46px; border-top: 1px solid var(--line); padding-top: 17px; }
.pricing-ribbon-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.pricing-ribbon-head h3 { font: 500 32px/.95 'Manrope', sans-serif; letter-spacing: -.07em; margin: 8px 0 0; }
.pricing-ribbon-head .text-button { font-size: 10px; padding-bottom: 7px; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 16px; }
.price-card { position: relative; min-height: 162px; padding: 16px 17px 14px; background: #e9e5da; border: 1px solid rgba(24,34,31,.1); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.price-card:before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: #9eb87c; opacity: .6; }
.price-card:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(24,34,31,.08); }
.price-card-featured { color: #f3f0e8; background: var(--night); border-color: var(--night); }
.price-card-featured:before { background: var(--accent); opacity: 1; }
.price-card-label { display: flex; justify-content: space-between; gap: 10px; color: #6e796f; font: 9px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }
.price-card-featured .price-card-label { color: #b9c8b5; }.price-card-label span { color: var(--accent); }
.price-card-main { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-top: 18px; }
.price-card-main strong { font: 500 22px 'Manrope', sans-serif; letter-spacing: -.06em; }.price-card-main span { color: #758076; font: 9px 'DM Mono', monospace; text-transform: uppercase; }.price-card-featured .price-card-main span { color: #aab9a7; }
.price-card p { color: #727c72; font-size: 11px; line-height: 1.45; margin: 8px 0 10px; max-width: 225px; }.price-card-featured p { color: #b6c2b4; }
.price-card-link { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); font-size: 10px; font-weight: 700; padding-bottom: 3px; border-bottom: 1px solid rgba(24,34,31,.7); }.price-card-featured .price-card-link { color: #f3f0e8; border-color: rgba(243,240,232,.75); }
@keyframes heroFromLeft { from { opacity: 0; transform: translate3d(-48px, 12px, 0); filter: blur(6px); } to { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); } }
@keyframes heroFromRight { from { opacity: 0; transform: translate3d(48px, -8px, 0); filter: blur(6px); } to { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); } }
@keyframes heroFromTop { from { opacity: 0; transform: translate3d(0, -18px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes heroFromBottom { from { opacity: 0; transform: translate3d(0, 26px, 0); filter: blur(5px); } to { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); } }
@keyframes heroVisualIn { from { opacity: 0; transform: translate3d(56px, 0, 0) scale(1.04); clip-path: inset(0 0 0 10%); } to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); clip-path: inset(0 0 0 0); } }
@keyframes heroScrollIn { from { opacity: 0; transform: translate3d(-18px, 0, 0) rotate(-90deg); } to { opacity: 1; transform: rotate(-90deg); } }
.hero-motion-ready .site-nav .brand { animation: heroFromLeft 1s cubic-bezier(.16,1,.3,1) .05s both; }
.hero-motion-ready .site-nav .nav-links { animation: heroFromTop .9s cubic-bezier(.16,1,.3,1) .16s both; }
.hero-motion-ready .site-nav .nav-actions { animation: heroFromRight 1s cubic-bezier(.16,1,.3,1) .2s both; }
.hero-motion-ready .hero .eyebrow { animation: heroFromLeft 1s cubic-bezier(.16,1,.3,1) .25s both; }
.hero-motion-ready .hero h1 { animation: heroFromLeft 1.15s cubic-bezier(.16,1,.3,1) .36s both; }
.hero-motion-ready .hero-deck { animation: heroFromLeft 1s cubic-bezier(.16,1,.3,1) .52s both; }
.hero-motion-ready .hero-actions { animation: heroFromBottom 1s cubic-bezier(.16,1,.3,1) .64s both; }
.hero-motion-ready .hero-visual { animation: heroVisualIn 1.5s cubic-bezier(.16,1,.3,1) .12s both; }
.hero-motion-ready .hero-location { animation: heroFromBottom .95s cubic-bezier(.16,1,.3,1) .82s both; }
.hero-motion-ready .hero-counter { animation: heroFromRight .9s cubic-bezier(.16,1,.3,1) .9s both; }
.hero-motion-ready .hero-scroll { left: 22px; animation: heroScrollIn .9s cubic-bezier(.16,1,.3,1) 1s both; }
.section-padding { padding-left: 7vw; padding-right: 7vw; }
.site-nav { height: 78px; display: flex; align-items: center; justify-content: space-between; padding: 0 7vw; position: absolute; z-index: 10; width: 100%; color: #fff; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-family: 'Manrope', sans-serif; font-weight: 800; font-size: 13px; letter-spacing: .14em; color: inherit; }
.brand-mark { width: 21px; height: 24px; position: relative; display: inline-block; transform: skewX(-12deg); }
.brand-mark span { position: absolute; bottom: 0; width: 5px; background: var(--accent); border-radius: 6px 6px 0 0; }
.brand-mark span:nth-child(1) { left: 0; height: 12px; opacity: .66; }.brand-mark span:nth-child(2) { left: 8px; height: 19px; }.brand-mark span:nth-child(3) { right: 0; height: 24px; opacity: .76; }
.nav-links { display: flex; align-items: center; gap: 31px; margin-left: 12%; }.nav-links button, .nav-actions button { color: inherit; font-size: 12px; letter-spacing: .02em; }.nav-links button:hover, .nav-actions button:hover { color: var(--accent); }.nav-studio { display: inline-flex; align-items: center; gap: 6px; opacity: .72; }.nav-actions { display: flex; align-items: center; gap: 25px; }.nav-cta { display: inline-flex; align-items: center; gap: 10px; color: var(--ink) !important; background: var(--accent); border-radius: 100px; padding: 13px 18px; font-weight: 700 !important; }.nav-menu { display: none; }
.hero { min-height: 790px; display: grid; grid-template-columns: 48% 52%; background: #15211e; color: #f8f6ef; padding-top: 120px; }
.hero-copy { align-self: center; padding: 4vw 4vw 8vw 0; position: relative; z-index: 2; }.eyebrow, .section-kicker { font-family: 'DM Mono', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: .13em; color: var(--muted); }.hero .eyebrow { color: #b4c0b5; display: flex; align-items: center; gap: 8px; }.live-dot { width: 6px; height: 6px; display: inline-block; background: var(--accent); border-radius: 50%; box-shadow: 0 0 0 4px rgba(184,216,108,.15); }.hero h1 { font-family: 'Manrope', sans-serif; font-size: clamp(56px, 7.9vw, 125px); line-height: .88; letter-spacing: -.075em; margin: 30px 0 30px; font-weight: 500; }.hero h1 em, h2 em { font-family: Georgia, serif; font-weight: 400; letter-spacing: -.08em; }.hero-deck { color: #b9c1b9; max-width: 370px; line-height: 1.65; font-size: 15px; margin: 0 0 36px; }.hero-actions { display: flex; align-items: center; gap: 24px; }.button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; border-radius: 100px; padding: 15px 21px; font-size: 12px; font-weight: 700; transition: transform .25s ease, background .25s ease; }.button:hover, .nav-cta:hover { transform: translateY(-2px); }.button-dark { background: var(--accent); color: var(--ink); }.button-light { background: #f6f4ec; color: var(--ink); }.play-link { color: #d4ddd2; display: flex; align-items: center; gap: 10px; font-size: 12px; }.play-icon { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; }
.hero-visual { min-height: 650px; position: relative; overflow: hidden; margin-right: -7vw; }.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 1.2s ease, transform 8s ease; }.hero-image.active { opacity: 1; transform: scale(1); }.hero-image-wash { position: absolute; inset: 0; background: linear-gradient(90deg, #15211e 0%, rgba(21,33,30,.36) 22%, rgba(21,33,30,0) 55%), linear-gradient(0deg, rgba(10,18,16,.55), transparent 45%); }.hero-location { position: absolute; bottom: 120px; left: 8%; display: flex; flex-direction: column; gap: 6px; }.hero-location span, .hero-location small, .hero-counter span { font-family: 'DM Mono', monospace; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: #d0dacd; }.hero-location strong { font-family: 'Manrope', sans-serif; font-size: 30px; font-weight: 500; letter-spacing: -.05em; }.hero-counter { position: absolute; bottom: 31px; right: 7vw; display: flex; align-items: baseline; gap: 7px; }.hero-counter strong { color: var(--accent); font-family: 'DM Mono', monospace; font-weight: 400; font-size: 24px; }.hero-scroll { position: absolute; left: -25px; bottom: 30px; transform: rotate(-90deg); transform-origin: left top; display: flex; gap: 10px; align-items: center; font-family: 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .12em; font-size: 9px; color: #d0dacd; }
.manifesto { background: #f3f0e8; padding-top: 150px; padding-bottom: 145px; }.manifesto-content { margin: 64px 0 85px 22%; display: grid; grid-template-columns: 1fr 330px; gap: 10vw; align-items: end; }.manifesto h2, .experience-copy h2, .section-heading h2, .booking-banner h2 { font-family: 'Manrope', sans-serif; font-size: clamp(42px, 5vw, 77px); line-height: .97; font-weight: 500; letter-spacing: -.072em; margin: 0; }.manifesto h2 span { color: #a6b09e; }.manifesto-content p, .experience-copy p { color: var(--muted); line-height: 1.7; font-size: 14px; max-width: 330px; margin: 0 0 24px; }.text-button { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; padding-bottom: 10px; border-bottom: 1px solid var(--ink); }.manifesto-content .text-button { grid-column: 2; justify-self: start; }.manifesto-foot { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 17px; color: #777e75; font-family: 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; font-size: 9px; }.manifesto-foot span:last-child { display: flex; align-items: center; gap: 6px; }
.experience-band { min-height: 740px; display: grid; grid-template-columns: 50% 50%; background: #dcdace; }.experience-image { min-height: 600px; position: relative; overflow: hidden; }.experience-image img { width: 100%; height: 100%; object-fit: cover; display: block; }.image-tag { position: absolute; bottom: 28px; left: 7vw; color: #fff; font: 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .1em; }.experience-copy { padding: 10vw 10vw 8vw 7vw; display: flex; flex-direction: column; justify-content: space-between; }.experience-copy .section-kicker { color: #7c857a; }.experience-copy h2 { margin-top: 70px; }.experience-copy h2 em { color: #86947f; }.experience-copy p { margin-top: 40px; }.stat-row { display: flex; gap: 42px; border-top: 1px solid var(--line); padding-top: 22px; margin-top: 40px; }.stat-row div { display: flex; align-items: baseline; gap: 8px; }.stat-row strong { font: 38px 'Manrope', sans-serif; letter-spacing: -.08em; }.stat-row span { color: var(--muted); font: 10px 'DM Mono', monospace; text-transform: uppercase; line-height: 1.4; }
.legacy-section { background: var(--night); color: #f3f0e8; padding-top: 140px; padding-bottom: 140px; }.legacy-section .section-kicker { color: #91a092; }.legacy-title { display: flex; align-items: end; justify-content: space-between; margin: 64px 0 58px 15%; }.legacy-title > span { color: #b7c3b5; font: 11px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .11em; padding-bottom: 7px; }.legacy-title h2 { font: 500 clamp(52px, 7vw, 105px)/.85 'Manrope', sans-serif; letter-spacing: -.08em; margin: 0; }.legacy-title h2 em { color: #a8b99d; }.legacy-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 6vw; align-items: end; }.legacy-image { aspect-ratio: 1.05; position: relative; overflow: hidden; }.legacy-image img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.86); }.legacy-image:after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,18,16,.56), transparent 47%); }.legacy-image span { position: absolute; z-index: 1; left: 19px; bottom: 18px; color: #dce4d7; font: 9px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }.legacy-copy { padding-bottom: 7px; }.legacy-model { display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); padding: 15px 0; color: #a9b5a7; font: 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .1em; }.legacy-model strong { color: var(--accent); font-weight: 400; }.legacy-copy > p { color: #b9c4b8; max-width: 390px; font-size: 15px; line-height: 1.65; margin: 36px 0 44px; }.spec-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.2); }.spec-grid div { padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.2); display: flex; flex-direction: column; gap: 7px; }.spec-grid div:nth-child(odd) { margin-right: 20px; }.spec-grid span { color: #91a092; font: 9px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }.spec-grid strong { font: 500 15px 'Manrope', sans-serif; letter-spacing: -.03em; }.light-text { color: #f3f0e8; border-color: #f3f0e8; margin-top: 35px; }
.precision-section { display: grid; grid-template-columns: 50% 50%; background: #dcdace; min-height: 710px; }.precision-copy { padding-top: 140px; padding-bottom: 110px; display: flex; flex-direction: column; align-items: flex-start; }.precision-copy h2 { font: 500 clamp(50px, 6vw, 92px)/.9 'Manrope', sans-serif; letter-spacing: -.08em; margin: 74px 0 32px; }.precision-copy h2 em { color: #758570; }.precision-copy p { max-width: 320px; color: #6e786f; font-size: 14px; line-height: 1.7; margin: 0 0 25px; }.precision-image { min-height: 550px; position: relative; overflow: hidden; }.precision-image img { width: 100%; height: 100%; object-fit: cover; display: block; }.image-caption { position: absolute; left: 7vw; bottom: 25px; z-index: 1; color: #f3f0e8; font: 10px 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }.services { padding-top: 145px; padding-bottom: 145px; }.services-heading { display: grid; grid-template-columns: 1fr 300px; gap: 11vw; align-items: end; margin: 65px 0 70px 15%; }.services-heading h2 { font: 500 clamp(53px, 6vw, 89px)/.88 'Manrope', sans-serif; letter-spacing: -.08em; margin: 0; }.services-heading h2 em { color: #a4ae9e; }.services-heading p { color: var(--muted); line-height: 1.7; font-size: 14px; margin: 0; }.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }.service-art { height: 300px; position: relative; overflow: hidden; }.service-art:after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,18,16,.35), transparent 50%); }.service-art span { position: absolute; z-index: 1; top: 14px; left: 14px; color: #f3f0e8; font: 10px 'DM Mono', monospace; }.service-art-1 { background: linear-gradient(150deg, #9eab93, #caaf78 54%, #37594e); }.service-art-2 { background: linear-gradient(145deg, #6e8690, #c39c72 53%, #202f3d); }.service-art-3 { background: linear-gradient(145deg, #a7ad8d, #727a52 48%, #314331); }.service-art-4 { background: linear-gradient(145deg, #d2a17c, #a06960 55%, #344346); }.service-grid h3 { font: 500 20px 'Manrope', sans-serif; letter-spacing: -.04em; margin: 18px 0 8px; }.service-grid p { color: var(--muted); font-size: 12px; line-height: 1.6; max-width: 230px; margin: 0; }
.journeys { padding-top: 150px; padding-bottom: 150px; }.section-heading { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 57px; }.section-heading h2 { font-size: clamp(46px, 5.2vw, 79px); margin-top: 25px; }.package-grid { display: grid; grid-template-columns: 1.17fr 1fr 1fr; gap: 19px; align-items: start; }.package-card { cursor: pointer; }.package-card:nth-child(2) { padding-top: 60px; }.package-image { aspect-ratio: .83; overflow: hidden; position: relative; background: #d1d4c8; }.package-card:not(.featured) .package-image { aspect-ratio: .88; }.package-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }.package-card:hover .package-image img { transform: scale(1.05); }.package-image:after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(16,24,22,.46), transparent 40%); }.package-image > span { position: absolute; left: 17px; top: 17px; padding: 8px 11px; border-radius: 100px; background: rgba(243,240,232,.86); z-index: 1; font: 9px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }.card-arrow { position: absolute; right: 17px; bottom: 17px; z-index: 1; width: 42px; height: 42px; background: var(--accent); border-radius: 50%; display: grid; place-items: center; transform: translate(0, 0); transition: transform .25s ease; }.package-card:hover .card-arrow { transform: translate(3px, -3px); }.package-meta { display: flex; justify-content: space-between; padding: 18px 0 9px; font: 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; color: #737a71; }.package-card h3, .journal-card h3 { font: 500 25px 'Manrope', sans-serif; letter-spacing: -.05em; margin: 0 0 12px; }.package-card p { color: var(--muted); font-size: 13px; line-height: 1.55; max-width: 310px; margin: 0 0 20px; }.package-bottom { display: flex; align-items: baseline; gap: 7px; border-top: 1px solid var(--line); padding-top: 12px; }.package-bottom strong { font: 600 15px 'Manrope', sans-serif; }.package-bottom span { color: var(--muted); font: 10px 'DM Mono', monospace; }
.global-section { background: #dcdace; padding: 140px 0 70px; overflow: hidden; }.global-top { display: flex; justify-content: space-between; align-items: end; }.global-top h2 { font: 500 clamp(54px, 6vw, 94px)/.88 'Manrope', sans-serif; letter-spacing: -.08em; margin: 65px 0 0; }.global-top h2 em { color: #81907f; }.global-live { display: grid; grid-template-columns: 8px 1fr 1fr; column-gap: 9px; align-items: center; min-width: 250px; border-top: 1px solid var(--line); padding-top: 16px; }.global-live .live-dot { grid-row: 1; grid-column: 1; }.global-live > span:nth-child(2) { grid-column: 2 / 4; font: 9px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .09em; color: #6d786f; }.global-live strong { grid-column: 2; font: 500 56px 'Manrope', sans-serif; letter-spacing: -.09em; margin-top: 16px; }.global-live small { grid-column: 3; color: #6d786f; font: 9px 'DM Mono', monospace; text-transform: uppercase; line-height: 1.45; margin-top: 16px; }.destination-cloud { max-width: 1080px; margin: 100px auto 105px; display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; column-gap: 27px; row-gap: 11px; padding: 0 7vw; }.destination-cloud button { color: #8b9489; font: 500 clamp(19px, 2.25vw, 32px) 'Manrope', sans-serif; letter-spacing: -.06em; transition: color .2s ease, transform .2s ease; }.destination-cloud button:nth-child(3n+1) { color: #697769; }.destination-cloud button:nth-child(4n+2) { font-family: Georgia, serif; font-style: italic; color: #a0a792; }.destination-cloud button:hover { color: var(--ink); transform: translateY(-2px); }.global-bottom { border-top: 1px solid var(--line); padding-top: 22px; display: grid; grid-template-columns: 1fr 1fr 1fr 2.15fr; gap: 24px; align-items: start; }.global-bottom div { display: flex; align-items: baseline; gap: 9px; }.global-bottom strong { font: 500 31px 'Manrope', sans-serif; letter-spacing: -.07em; }.global-bottom span { color: #747f74; font: 9px 'DM Mono', monospace; text-transform: uppercase; line-height: 1.4; }.global-bottom p { color: #747f74; font-size: 12px; line-height: 1.6; margin: 0; max-width: 285px; justify-self: end; }
.quote-section { padding-top: 150px; padding-bottom: 150px; background: var(--night); color: #f3f0e8; }.quote-mark { color: var(--accent); font: 100px Georgia, serif; line-height: .4; }.quote-section blockquote { font: 500 clamp(38px, 5vw, 72px)/1.06 'Manrope', sans-serif; letter-spacing: -.07em; margin: 55px 0 65px 15%; }.quote-section blockquote em { font-family: Georgia, serif; font-weight: 400; }.quote-author { margin-left: 15%; display: flex; align-items: center; gap: 13px; }.avatar { width: 37px; height: 37px; border-radius: 50%; display: grid; place-items: center; background: #b78a7e; font: 10px 'DM Mono', monospace; }.quote-author div:nth-child(2) { display: flex; flex-direction: column; gap: 3px; }.quote-author strong { font-size: 12px; }.quote-author span { color: #a7b2a7; font: 10px 'DM Mono', monospace; }.quote-stars { margin-left: auto; color: var(--accent); letter-spacing: 3px; font-size: 13px; }
.journal { padding-top: 150px; padding-bottom: 150px; }.journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }.journal-art { height: 300px; position: relative; overflow: hidden; display: flex; justify-content: space-between; padding: 17px; color: #f3f0e8; }.journal-art:after { content: ''; position: absolute; inset: 0; background: linear-gradient(145deg, rgba(20,34,28,.15), rgba(20,34,28,.52)); }.journal-art > * { position: relative; z-index: 1; }.journal-art span { font: 10px 'DM Mono', monospace; }.journal-art b { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: var(--ink); }.art-0 { background: linear-gradient(145deg,#7c9074,#d0a678 55%,#1d4b4c); }.art-1 { background: linear-gradient(150deg,#da9f68,#925956 50%,#273c48); }.art-2 { background: linear-gradient(145deg,#8b9f8d,#617b6d 45%,#d1ac79); }.journal-info .package-meta { padding-top: 17px; }.journal-info h3 { margin-top: 4px; max-width: 300px; }.journal-date { color: #858c83; font: 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .07em; }
.booking-banner { display: flex; align-items: end; justify-content: space-between; background: var(--accent); padding: 110px 7vw; min-height: 420px; }.booking-banner .section-kicker { color: #4c6438; }.booking-banner h2 { margin-top: 26px; color: var(--ink); }.booking-banner h2 em { color: #4e6339; }.booking-banner .button { margin-bottom: 8px; }
.site-footer { background: var(--night); color: #f3f0e8; padding: 75px 7vw 28px; }.footer-top { display: grid; grid-template-columns: 2fr 1fr 1.6fr 1fr; gap: 5vw; min-height: 210px; }.footer-brand p { color: #9ba89c; font-size: 12px; line-height: 1.65; margin-top: 24px; }.footer-column { display: flex; flex-direction: column; gap: 12px; }.footer-column > span { color: var(--accent); font: 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 11px; }.footer-column button, .footer-column a { color: #c8d0c5; text-align: left; font-size: 12px; }.footer-column button:hover, .footer-column a:hover { color: var(--accent); }.social div { display: flex; gap: 17px; }.social a { color: #c8d0c5; }.footer-bottom { display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.16); padding-top: 20px; color: #7f8d80; font: 9px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }.light-brand { color: #f3f0e8; }
.modal-backdrop, .studio-backdrop { position: fixed; inset: 0; z-index: 30; background: rgba(10,18,16,.7); backdrop-filter: blur(8px); }.booking-modal { width: min(520px, calc(100% - 32px)); max-height: calc(100vh - 32px); overflow: auto; position: absolute; right: 7vw; top: 7vh; background: #f3f0e8; padding: 46px; box-shadow: 0 20px 80px rgba(0,0,0,.24); }.close-button { position: absolute; top: 19px; right: 19px; width: 31px; height: 31px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line); font-size: 20px; line-height: 1; }.booking-modal h2 { font: 500 47px/.94 'Manrope', sans-serif; letter-spacing: -.07em; margin: 24px 0 15px; }.booking-modal h2 em { font-family: Georgia, serif; font-weight: 400; }.booking-modal > p { color: var(--muted); font-size: 13px; margin-bottom: 30px; }.booking-modal form { display: flex; flex-direction: column; gap: 17px; }.booking-modal label { display: flex; flex-direction: column; gap: 7px; color: #68716c; font: 9px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }.booking-modal input, .booking-modal select, .new-post input { border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); outline: 0; border-radius: 0; padding: 10px 0; font-size: 13px; }.booking-modal input:focus, .booking-modal select:focus, .new-post input:focus { border-color: var(--ink); }.form-split { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; }.selected-route { display: flex; align-items: center; gap: 12px; margin-top: 2px; padding: 9px; background: #e5e1d5; font: 10px 'DM Mono', monospace; line-height: 1.5; }.selected-route img { width: 43px; height: 43px; object-fit: cover; }.selected-route strong { color: var(--ink); font-family: 'DM Sans', sans-serif; font-size: 12px; }.full-width { width: 100%; margin-top: 9px; }.form-note { display: block; color: #899188; font: 9px 'DM Mono', monospace; text-align: center; margin-top: 19px; }
.studio-panel { position: absolute; inset: 0 0 0 auto; width: min(920px, 100%); background: #f3f0e8; box-shadow: -20px 0 60px rgba(0,0,0,.24); display: flex; flex-direction: column; }.studio-head { display: flex; justify-content: space-between; padding: 26px 36px 24px; border-bottom: 1px solid var(--line); }.studio-head h2 { font: 500 31px 'Manrope', sans-serif; letter-spacing: -.06em; margin: 8px 0 0; }.studio-workspace { display: grid; grid-template-columns: 220px 1fr; flex: 1; min-height: 0; }.studio-tabs { padding: 26px 15px; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 3px; }.studio-tabs button { padding: 12px 15px; border-radius: 7px; text-align: left; display: flex; align-items: center; gap: 11px; color: #738077; font-size: 12px; }.studio-tabs button.active { background: #dfe4d5; color: var(--ink); font-weight: 700; }.studio-content { padding: 40px 42px 50px; overflow: auto; }.studio-title-row { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; }.studio-title-row h3 { font: 500 28px 'Manrope', sans-serif; letter-spacing: -.06em; margin: 9px 0 0; }.status-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px; background: #e2e8d8; color: #5e7643; border-radius: 100px; font: 10px 'DM Mono', monospace; }.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 12px; }.metric { background: #e7e3d8; padding: 18px 15px; display: flex; flex-direction: column; gap: 10px; }.metric > span { color: #707a72; font: 9px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .07em; }.metric strong { font: 500 26px 'Manrope', sans-serif; letter-spacing: -.06em; }.metric small { color: #648044; font: 9px 'DM Mono', monospace; display: flex; gap: 3px; align-items: center; }.analytics-card, .recent-viewers, .route-list { background: #e7e3d8; padding: 22px; margin-top: 12px; }.analytics-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 23px; }.analytics-head > div { display: flex; flex-direction: column; gap: 5px; }.analytics-head span { color: #78847a; font: 9px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }.analytics-head strong { font: 600 13px 'DM Sans', sans-serif; }.chart { height: 190px; position: relative; }.chart svg { height: 160px; width: 100%; position: relative; z-index: 1; }.chart-grid-lines { position: absolute; inset: 10px 0 25px; background: repeating-linear-gradient(to bottom, rgba(24,34,31,.12) 0 1px, transparent 1px 39px); }.chart-axis { color: #859084; display: flex; justify-content: space-between; font: 9px 'DM Mono', monospace; }.chart-label { display: flex; align-items: center; gap: 6px; }.chart-label i { width: 8px; height: 8px; background: #8eb050; border-radius: 50%; }.interest-row { display: grid; grid-template-columns: 38px 1fr 1.1fr 37px; align-items: center; gap: 11px; border-top: 1px solid var(--line); padding: 13px 0; }.interest-row img, .editable-row img { width: 38px; height: 38px; object-fit: cover; }.interest-row div:nth-child(2), .editable-main { display: flex; flex-direction: column; gap: 4px; }.interest-row strong, .editable-main strong { font-size: 11px; }.interest-row span, .editable-main span { color: #758078; font: 9px 'DM Mono', monospace; }.interest-bar { height: 4px; background: #cbd3c2; }.interest-bar i { height: 100%; display: block; background: #8eb050; }.interest-percent { color: #648044 !important; font: 10px 'DM Mono', monospace !important; text-align: right; }.mini-link { display: flex; align-items: center; gap: 6px; color: #56703e; font: 10px 'DM Mono', monospace; }.studio-intro { color: var(--muted); font-size: 13px; line-height: 1.6; max-width: 550px; margin: -8px 0 24px; }.small-button { padding: 10px 13px; font-size: 10px; }.editable-list { border-top: 1px solid var(--line); }.editable-row, .post-row { display: flex; align-items: center; gap: 13px; padding: 14px 0; border-bottom: 1px solid var(--line); }.editable-main { flex: 1; }.editable-price { display: flex; align-items: center; gap: 8px; font: 600 13px 'Manrope', sans-serif; }.price-edit { display: flex; align-items: center; border-bottom: 1px solid var(--ink); }.price-edit span { font: 13px 'DM Mono', monospace; }.price-edit input { border: 0; background: transparent; outline: 0; width: 70px; padding: 8px 4px; }.price-edit button { color: #56703e; }.studio-pricing-editor { margin-top: 36px; padding-top: 25px; border-top: 1px solid var(--line); }.studio-pricing-editor h4 { font: 500 22px 'Manrope', sans-serif; letter-spacing: -.06em; margin: 8px 0 16px; }.studio-pricing-editor .studio-intro { margin-bottom: 18px; }.new-post { display: flex; gap: 12px; margin-bottom: 28px; }.new-post input { flex: 1; }.post-index { width: 32px; font: 10px 'DM Mono', monospace; color: #899188; }.post-row > div:nth-child(2) { display: flex; flex-direction: column; gap: 5px; flex: 1; }.post-row strong { font-size: 12px; }.post-row span { color: #758078; font: 9px 'DM Mono', monospace; }.icon-button { color: #6c786e; padding: 8px; }.tracking-notice { display: flex; align-items: flex-start; gap: 12px; background: #e2e8d8; padding: 17px; color: #5f714d; }.tracking-notice p { color: #6e7a70; font-size: 11px; line-height: 1.5; margin: 6px 0 0; }.tracking-metrics { grid-template-columns: 1fr 1fr; margin-top: 12px; }.path-row { display: grid; grid-template-columns: 14px 1fr 1.35fr auto; gap: 9px; align-items: center; border-top: 1px solid var(--line); padding: 14px 0; font-size: 11px; }.path-row strong { font-weight: 600; }.path-row small { color: #78847a; font: 9px 'DM Mono', monospace; }.pulse-icon { width: 7px; height: 7px; background: var(--accent); border-radius: 50%; box-shadow: 0 0 0 4px rgba(184,216,108,.2); }.toast { position: fixed; z-index: 50; bottom: 24px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; color: var(--ink); background: var(--accent); border-radius: 100px; padding: 12px 17px; box-shadow: 0 8px 25px rgba(0,0,0,.18); font-size: 12px; font-weight: 700; animation: toast-in .25s ease both; }@keyframes toast-in { from { opacity: 0; transform: translate(-50%, 10px); } to { opacity: 1; transform: translate(-50%,0); } }
@media (max-width: 900px) { .site-nav { padding: 0 5vw; }.nav-links { margin-left: 0; gap: 18px; }.nav-link-hide { display: none; }.section-padding { padding-left: 5vw; padding-right: 5vw; }.hero { grid-template-columns: 45% 55%; }.hero-visual { margin-right: -5vw; }.experience-band, .precision-section { grid-template-columns: 1fr; }.experience-image { height: 52vw; min-height: 400px; }.experience-copy { min-height: 600px; padding: 80px 10vw; }.legacy-title, .services-heading { margin-left: 0; }.legacy-grid { gap: 5vw; }.service-grid { grid-template-columns: 1fr 1fr; row-gap: 36px; }.global-top { align-items: start; }.global-bottom { grid-template-columns: 1fr 1fr; row-gap: 24px; }.global-bottom p { grid-column: span 2; justify-self: start; max-width: 400px; }.studio-panel { width: 100%; }.studio-workspace { grid-template-columns: 185px 1fr; } }
@media (max-width: 680px) { .site-nav { height: 67px; }.brand { font-size: 12px; }.nav-links { display: none; position: absolute; top: 66px; left: 0; right: 0; background: var(--night); padding: 15px 5vw 21px; flex-direction: column; align-items: flex-start; }.nav-links.mobile-open { display: flex; }.nav-actions { gap: 10px; }.nav-menu { display: grid; place-items: center; color: #fff !important; }.nav-cta { padding: 11px 12px; font-size: 10px !important; }.hero { min-height: 790px; display: flex; flex-direction: column; padding-top: 105px; }.hero-copy { padding: 0 0 50px; }.hero h1 { font-size: 67px; }.hero-deck { max-width: 300px; font-size: 13px; }.hero-visual { min-height: 420px; margin: 0 -5vw; }.hero-location { bottom: 83px; left: 7%; }.hero-location strong { font-size: 24px; }.hero-scroll { display: none; }.manifesto { padding-top: 92px; padding-bottom: 85px; }.manifesto-content { margin: 43px 0 65px; display: block; }.manifesto h2 { font-size: 47px; }.manifesto-content p { margin: 34px 0 24px; }.manifesto-content .text-button { grid-column: unset; }.manifesto-foot { flex-wrap: wrap; gap: 13px; line-height: 1.6; }.manifesto-foot span:last-child { width: 100%; }.experience-image { min-height: 350px; height: 100vw; }.experience-copy { min-height: 620px; padding: 75px 7vw 65px; }.experience-copy h2 { margin-top: 70px; font-size: 48px; }.stat-row { gap: 17px; }.stat-row strong { font-size: 30px; }.stat-row span { font-size: 8px; }.legacy-section, .services, .global-section { padding-top: 92px; padding-bottom: 92px; }.legacy-title { margin: 48px 0 39px; display: block; }.legacy-title > span { display: block; margin-bottom: 25px; }.legacy-title h2 { font-size: 57px; }.legacy-grid { grid-template-columns: 1fr; }.legacy-image { aspect-ratio: 1.1; }.legacy-copy > p { margin: 28px 0 32px; }.spec-grid div:nth-child(odd) { margin-right: 14px; }.precision-copy { padding-top: 92px; padding-bottom: 75px; }.precision-copy h2 { font-size: 54px; margin-top: 60px; }.precision-image { min-height: 390px; }.services-heading { margin: 45px 0 50px; display: block; }.services-heading h2 { font-size: 58px; margin-bottom: 28px; }.service-grid { grid-template-columns: 1fr 1fr; gap: 27px 14px; }.service-art { height: 180px; }.service-grid h3 { font-size: 17px; }.service-grid p { font-size: 11px; }.global-top { display: block; }.global-top h2 { font-size: 57px; margin-top: 48px; }.global-live { margin-top: 55px; }.destination-cloud { margin: 70px auto 77px; padding: 0 6vw; column-gap: 17px; row-gap: 9px; }.destination-cloud button { font-size: 21px; }.global-bottom { grid-template-columns: 1fr 1fr; gap: 20px 12px; }.global-bottom div { display: block; }.global-bottom strong { display: block; font-size: 27px; margin-bottom: 5px; }.global-bottom p { grid-column: span 2; margin-top: 13px; }.journeys, .journal { padding-top: 93px; padding-bottom: 92px; }.section-heading { align-items: flex-start; flex-direction: column; gap: 24px; margin-bottom: 37px; }.section-heading h2 { font-size: 52px; }.package-grid, .journal-grid { display: flex; flex-direction: column; gap: 52px; }.package-card:nth-child(2) { padding-top: 0; }.package-image, .package-card:not(.featured) .package-image { aspect-ratio: 1.08; }.quote-section { padding-top: 92px; padding-bottom: 92px; }.quote-section blockquote { margin: 43px 0 50px; font-size: 43px; }.quote-author { margin-left: 0; }.quote-stars { display: none; }.journal-art { height: 320px; width: 100%; }.booking-banner { min-height: 500px; padding: 78px 7vw; flex-direction: column; align-items: flex-start; justify-content: space-between; }.booking-banner h2 { font-size: 56px; }.site-footer { padding: 65px 7vw 25px; }.footer-top { grid-template-columns: 1fr 1fr; gap: 42px 20px; }.footer-brand { grid-column: span 2; }.footer-bottom { flex-direction: column; gap: 10px; line-height: 1.5; }.booking-modal { right: 16px; left: 16px; top: 16px; width: auto; padding: 35px 25px; }.booking-modal h2 { font-size: 42px; }.studio-head { padding: 22px 20px; }.studio-workspace { display: block; }.studio-tabs { padding: 10px 15px; border-right: 0; border-bottom: 1px solid var(--line); flex-direction: row; overflow-x: auto; }.studio-tabs button { flex: 0 0 auto; white-space: nowrap; }.studio-content { padding: 28px 20px 40px; }.studio-title-row { align-items: flex-start; gap: 14px; }.studio-title-row h3 { font-size: 24px; }.metric-grid { grid-template-columns: 1fr 1fr; }.interest-row { grid-template-columns: 38px 1fr 42px; }.interest-bar { grid-column: 2 / 4; }.interest-percent { grid-column: 3; grid-row: 1; }.path-row { grid-template-columns: 14px 1fr auto; }.path-row strong { grid-column: 2; }.path-row small { grid-column: 3; grid-row: 1; }.new-post { flex-direction: column; } }
@media (prefers-reduced-motion: reduce), (pointer: coarse) { .hero-motion-ready * { animation: none !important; } }
@media (min-width: 681px) { .hero { height: 100svh; min-height: 0; grid-template-rows: minmax(0, 1fr); } .hero-copy { min-height: 0; } .hero-visual { height: auto; min-height: 0; align-self: stretch; } }
@media (min-width: 681px) and (max-height: 850px) {
  .manifesto { height: 100svh; min-height: 0; padding-top: 58px; padding-bottom: 42px; }
  .manifesto-content { margin: 40px 0 42px 16%; gap: 6vw; }
  .pricing-ribbon { margin-top: 28px; padding-top: 12px; }
  .pricing-ribbon-head h3 { font-size: 26px; }
  .pricing-grid { margin-top: 10px; gap: 8px; }
  .price-card { min-height: 128px; padding: 12px 13px 10px; }
  .price-card-main { margin-top: 12px; }
  .price-card-main strong { font-size: 17px; }
  .price-card p { font-size: 10px; line-height: 1.35; margin: 6px 0 7px; }
  .price-card-link { font-size: 9px; }
  .experience-band { height: 100svh; min-height: 0; }
  .experience-image { min-height: 0; }
  .experience-copy { min-height: 0; padding: 68px 8vw 48px 6vw; }
  .experience-copy h2 { margin-top: 40px; }
  .experience-copy p { margin-top: 20px; }
  .stat-row { margin-top: 20px; padding-top: 16px; gap: 24px; }
  .legacy-section { height: 100svh; min-height: 0; padding-top: 64px; padding-bottom: 54px; display: flex; flex-direction: column; }
  .legacy-title { margin: 32px 0 30px 13%; }
  .legacy-title h2 { font-size: clamp(48px, 6vw, 80px); }
  .legacy-grid { flex: 1; min-height: 0; align-items: stretch; }
  .legacy-image { height: 100%; aspect-ratio: auto; }
  .legacy-copy { padding-bottom: 0; display: flex; flex-direction: column; justify-content: center; }
  .legacy-copy > p { margin: 20px 0 22px; font-size: 13px; }
  .spec-grid div { padding: 10px 0; }
  .light-text { margin-top: 20px; }
  .precision-section { height: 100svh; min-height: 0; }
  .precision-copy { padding-top: 64px; padding-bottom: 54px; }
  .precision-copy h2 { margin: 48px 0 24px; font-size: clamp(48px, 5.5vw, 76px); }
  .precision-image { min-height: 0; }
  .services { height: 100svh; min-height: 0; padding-top: 64px; padding-bottom: 50px; }
  .services-heading { margin: 38px 0 42px 13%; }
  .services-heading h2 { font-size: clamp(50px, 5.5vw, 76px); }
  .service-art { height: 175px; }
  .service-grid h3 { margin: 12px 0 6px; font-size: 18px; }
  .service-grid p { font-size: 11px; }
  .journeys { height: 100svh; min-height: 0; padding-top: 65px; padding-bottom: 50px; }
  .section-heading { margin-bottom: 30px; }
  .section-heading h2 { margin-top: 16px; font-size: clamp(44px, 4.6vw, 66px); }
  .package-card:nth-child(2) { padding-top: 20px; }
  .package-image, .package-card:not(.featured) .package-image { height: 285px; aspect-ratio: auto; }
  .package-meta { padding: 12px 0 7px; }
  .package-card h3 { font-size: 22px; margin-bottom: 7px; }
  .package-card p { font-size: 11px; margin-bottom: 12px; }
  .global-section { height: 100svh; min-height: 0; padding: 65px 0 48px; }
  .global-top h2 { margin-top: 38px; font-size: clamp(50px, 5.5vw, 76px); }
  .destination-cloud { margin: 50px auto 60px; row-gap: 8px; }
  .quote-section { height: 100svh; min-height: 0; padding-top: 110px; padding-bottom: 92px; }
  .quote-section blockquote { margin-top: 42px; margin-bottom: 50px; }
  .journal { height: 100svh; min-height: 0; padding-top: 65px; padding-bottom: 50px; }
  .journal { padding-top: 65px; }
  .journal-grid { gap: 14px; }
  .journal-art { height: 215px; }
  .journal-card h3 { font-size: 22px; }
  .booking-banner { height: 55svh; min-height: 0; padding: 62px 7vw; }
  .site-footer { padding-top: 50px; }
  .footer-top { min-height: 0; }
}

/* Pricing cards: soft, rounded tiles with a tactile hover state inspired by the reference. */
.pricing-grid { align-items: stretch; }
.price-card { min-height: 190px; padding: 18px 18px 15px; border-radius: 24px; background: linear-gradient(145deg, #f2eee5 0%, #e7e2d6 100%); border: 1px solid rgba(24,34,31,.08); box-shadow: 0 8px 18px rgba(24,34,31,.04); transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .45s ease, opacity .35s ease; }
.price-card:before { inset: 0 0 auto; height: 4px; border-radius: 24px 24px 0 0; background: linear-gradient(90deg, #b9d875, #d9e9ad); opacity: .72; }
.price-card:after { content: ''; position: absolute; inset: auto -18% -42% 24%; height: 115px; border-radius: 50%; background: rgba(184,216,108,.13); filter: blur(22px); pointer-events: none; }
.price-card:hover { transform: translateY(-8px) scale(1.015); border-color: rgba(156,188,91,.86); box-shadow: 0 23px 42px rgba(24,34,31,.14), 0 0 0 5px rgba(184,216,108,.12); }
.pricing-grid:hover .price-card:not(:hover) { transform: translateY(2px) scale(.992); opacity: .78; }
.price-card-featured { background: linear-gradient(145deg, #1b3029 0%, #15211e 72%, #253d32 100%); border-color: rgba(184,216,108,.72); box-shadow: 0 12px 24px rgba(21,33,30,.14); }
.price-card-featured:before { background: linear-gradient(90deg, var(--accent), #e4f4b8); opacity: 1; }
.price-card-featured:after { background: rgba(184,216,108,.18); }
.price-card-tools { position: relative; z-index: 1; display: flex; align-items: center; gap: 7px; margin-bottom: 14px; }
.price-card-tools > span:not(.price-card-corner) { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(24,34,31,.09); border-radius: 11px; background: rgba(255,255,255,.62); color: #5d7762; font: 15px 'Manrope', sans-serif; box-shadow: 0 6px 12px rgba(24,34,31,.07); }
.price-card-tools > span:nth-child(2) { color: #8f6a77; }
.price-card-tools > span:nth-child(3) { color: #7e9162; }
.price-card-featured .price-card-tools > span:not(.price-card-corner) { background: rgba(243,240,232,.11); border-color: rgba(243,240,232,.16); color: #c8df83; box-shadow: none; }
.price-card-corner { width: 31px; height: 31px; display: grid; place-items: center; margin-left: auto; border-radius: 50%; background: rgba(184,216,108,.22); color: var(--ink); font: 16px 'Manrope', sans-serif; opacity: .55; transform: rotate(-15deg) scale(.88); transition: opacity .35s ease, transform .35s ease, background .35s ease; }
.price-card:hover .price-card-corner { opacity: 1; transform: rotate(0) scale(1); background: var(--accent); }
.price-card-label, .price-card-main, .price-card p, .price-card-tags, .price-card-link { position: relative; z-index: 1; }
.price-card-label { margin-bottom: 0; }
.price-card-main { margin-top: 13px; }
.price-card-main strong { font-size: 23px; }
.price-card p { max-width: 245px; margin: 8px 0 11px; }
.price-card-tags { display: flex; flex-wrap: wrap; gap: 5px; min-height: 22px; }
.price-card-tags span { padding: 5px 8px; border-radius: 100px; background: rgba(184,216,108,.2); color: #5c734d; font: 8px 'DM Mono', monospace; letter-spacing: .02em; }
.price-card-featured .price-card-tags span { background: rgba(184,216,108,.16); color: #c6da8d; }
.price-card-link { margin-top: 9px; }

@media (min-width: 681px) and (max-height: 850px) {
  .price-card { min-height: 158px; padding: 13px 14px 11px; border-radius: 20px; }
  .price-card:before { border-radius: 20px 20px 0 0; }
  .price-card-tools { gap: 5px; margin-bottom: 8px; }
  .price-card-tools > span:not(.price-card-corner), .price-card-corner { width: 25px; height: 25px; border-radius: 9px; font-size: 12px; }
  .price-card-corner { border-radius: 50%; }
  .price-card-main { margin-top: 8px; }
  .price-card-main strong { font-size: 17px; }
  .price-card p { font-size: 10px; line-height: 1.32; margin: 5px 0 6px; }
  .price-card-tags { gap: 4px; min-height: 18px; }
  .price-card-tags span { padding: 4px 6px; font-size: 7px; }
  .price-card-link { margin-top: 6px; font-size: 9px; }
}

@media (max-width: 680px) {
  .pricing-ribbon { margin-top: 42px; }
  .pricing-grid { grid-template-columns: 1fr; gap: 12px; }
  .price-card { min-height: 0; padding: 17px; }
}

/* Larger editorial pricing tiles, with a graphic header like the supplied reference. */
.price-card { min-height: 252px; padding: 17px 18px 16px; }
.price-card-art { position: relative; height: 68px; margin-bottom: 14px; overflow: hidden; border-radius: 14px; background: #edf0e6; border: 1px solid rgba(24,34,31,.04); transition: transform .45s cubic-bezier(.2,.8,.2,1), background .45s ease; }
.price-card-art:before, .price-card-art:after { content: ''; position: absolute; pointer-events: none; }
.price-card:hover .price-card-art { transform: translateY(-2px); background: #e9efdc; }
.price-card-art-symbols { position: absolute; z-index: 2; left: 12px; bottom: 9px; display: flex; gap: 5px; color: #839a65; font: 10px 'Manrope', sans-serif; opacity: .72; }
.price-card-art-symbols span { width: 17px; height: 17px; display: grid; place-items: center; border-radius: 6px; background: rgba(255,255,255,.48); }
.price-card-corner { position: absolute; z-index: 3; top: 9px; right: 10px; width: 28px; height: 28px; display: grid; place-items: center; margin: 0; border-radius: 50%; background: rgba(184,216,108,.2); color: var(--ink); font: 14px 'Manrope', sans-serif; opacity: .58; transform: rotate(-15deg) scale(.9); transition: opacity .35s ease, transform .35s ease, background .35s ease; }
.price-card:hover .price-card-corner { opacity: 1; transform: rotate(0) scale(1); background: var(--accent); }
.price-card-art-essential:before { top: 50%; left: 50%; width: 36px; height: 36px; border: 2px solid rgba(127,153,95,.22); border-radius: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 0 8px rgba(184,216,108,.08); }
.price-card-art-essential:after { top: 50%; left: 50%; width: 10px; height: 10px; border-radius: 50%; background: #8aa65b; transform: translate(-50%, -50%); box-shadow: 0 0 18px rgba(138,166,91,.82); }
.price-card-art-signature:before { top: 50%; left: 50%; width: 9px; height: 9px; border-radius: 2px; background: #98b66b; transform: translate(-40px, 2px); box-shadow: 18px -4px 0 #86a45c, 36px 1px 0 #9fbd68, 54px -12px 0 #76984e, 72px -20px 0 #a8c96f; }
.price-card-art-signature:after { inset: 0; background: linear-gradient(125deg, transparent 0 48%, rgba(184,216,108,.12) 49% 50%, transparent 51%); }
.price-card-art-bespoke:before { top: 20px; left: 31%; width: 42%; height: 30px; background: rgba(123,154,94,.62); clip-path: polygon(0 76%, 19% 57%, 39% 66%, 58% 30%, 78% 43%, 100% 0, 100% 8%, 79% 51%, 59% 38%, 40% 74%, 20% 65%, 0 84%); }
.price-card-art-bespoke:after { top: 19px; left: 31%; width: 7px; height: 7px; border-radius: 50%; background: #9fbd68; box-shadow: 23px -5px 0 #9fbd68, 46px -13px 0 #9fbd68, 69px -20px 0 #9fbd68; }
.price-card-featured .price-card-art { background: rgba(184,216,108,.1); border-color: rgba(184,216,108,.16); }
.price-card-featured .price-card-art-symbols { color: #c8df83; }
.price-card-featured .price-card-art-symbols span { background: rgba(243,240,232,.1); }
.price-card-featured .price-card-corner { color: var(--ink); }
.price-card-topline { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.price-card-index { color: #7d9e52; font: 11px 'DM Mono', monospace; letter-spacing: .08em; }
.price-card-period { padding: 5px 8px; border-radius: 100px; background: rgba(184,216,108,.18); color: #698449; font: 8px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .04em; }
.price-card-featured .price-card-index { color: var(--accent); }
.price-card-featured .price-card-period { background: rgba(184,216,108,.16); color: #c5da8d; }
.price-card-name { position: relative; z-index: 1; font: 600 22px 'Manrope', sans-serif; letter-spacing: -.06em; margin: 11px 0 3px; }
.price-card-label { position: relative; z-index: 1; display: block; color: #6e796f; font: 8px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }
.price-card-featured .price-card-label { color: #c2d2bb; }
.price-card-main { position: relative; z-index: 1; margin-top: 10px; }
.price-card-main strong { font-size: 21px; }
.price-card-main span { color: #758076; font: 8px 'DM Mono', monospace; text-transform: uppercase; }
.price-card-featured .price-card-main span { color: #aab9a7; }
.price-card p { position: relative; z-index: 1; margin: 7px 0 9px; }
.price-card-tags, .price-card-link { position: relative; z-index: 1; }

@media (min-width: 681px) and (max-height: 850px) {
  .price-card { min-height: 238px; padding: 13px 14px 11px; border-radius: 20px; }
  .price-card-art { height: 60px; margin-bottom: 9px; border-radius: 12px; }
  .price-card-art-essential:before { width: 30px; height: 30px; }
  .price-card-art-signature:before { transform: translate(-32px, 2px) scale(.82); }
  .price-card-art-bespoke:before { top: 17px; }
  .price-card-art-bespoke:after { top: 16px; transform: scale(.82); transform-origin: left top; }
  .price-card-name { font-size: 19px; margin-top: 7px; }
  .price-card-main { margin-top: 7px; }
  .price-card-main strong { font-size: 17px; }
  .price-card p { font-size: 9px; line-height: 1.28; margin: 4px 0 6px; }
  .price-card-tags span { padding: 3px 5px; font-size: 7px; }
  .price-card-link { margin-top: 5px; font-size: 8px; }
}

@media (max-width: 680px) {
  .price-card { min-height: 0; }
}

/* Premium deck spacing and reference-style handoff connectors. */
@media (min-width: 681px) {
  .pricing-grid { grid-template-columns: minmax(0, 1fr) 52px minmax(0, 1fr) 52px minmax(0, 1fr); gap: 0; align-items: center; }
  .price-card { height: 320px; min-height: 320px; display: flex; flex-direction: column; }
  .price-card-link { margin-top: auto; }
  .price-connector { display: flex; align-items: center; justify-content: center; height: 34px; }
  .price-connector i { position: relative; display: block; width: 46px; height: 17px; border-top: 1px dashed rgba(113,134,87,.78); border-radius: 50%; transform: rotate(-9deg); }
  .price-connector i:after { content: '↗'; position: absolute; right: -3px; top: -10px; color: #7d9e52; font: 13px 'Manrope', sans-serif; }
  .price-connector:nth-child(4) i { transform: rotate(9deg) scaleX(-1); }
}

@media (min-width: 681px) and (max-height: 850px) {
  .manifesto-content { margin-top: 25px; margin-bottom: 18px; }
  .pricing-ribbon { margin-top: 18px; }
  .price-card { height: 320px; min-height: 320px; }
  .price-card-art { height: 60px; flex: 0 0 60px; }
}

@media (max-width: 680px) {
  .pricing-grid { grid-template-columns: 1fr; }
  .price-connector { display: none; }
  .price-card { height: auto; }
}

/* Final polish: brighter surfaces and a checklist footer for a more considered luxury feel. */
.price-card { background: linear-gradient(145deg, #fcfbf7 0%, #f0ece3 100%); box-shadow: 0 18px 38px rgba(24,34,31,.1), 0 2px 4px rgba(24,34,31,.05); }
.price-card:hover { box-shadow: 0 26px 50px rgba(24,34,31,.17), 0 0 0 5px rgba(184,216,108,.13); }
.price-card-featured { background: linear-gradient(145deg, #1c332b 0%, #15211e 70%, #294438 100%); box-shadow: 0 20px 42px rgba(21,33,30,.2); }
.pricing-grid:hover .price-card:not(:hover) { opacity: .9; transform: translateY(2px) scale(.996); }
.price-card-tags { display: grid; gap: 6px; min-height: 64px; margin-top: 4px; }
.price-card-tags span { display: flex; align-items: center; gap: 8px; padding: 0; background: transparent; color: #5d655d; font: 9px 'DM Sans', sans-serif; letter-spacing: 0; }
.price-card-tags span:before { content: '✓'; width: 17px; height: 17px; flex: 0 0 17px; display: grid; place-items: center; border-radius: 50%; background: #9fc263; color: #f8f6ef; font: 10px 'DM Sans', sans-serif; box-shadow: 0 4px 9px rgba(126,157,79,.22); }
.price-card-featured .price-card-tags span { color: #c3d0bf; }
.price-card-featured .price-card-tags span:before { background: var(--accent); color: var(--ink); }

@media (min-width: 681px) and (max-height: 850px) {
  .price-card-tags { gap: 5px; min-height: 59px; }
  .price-card-tags span { font-size: 8px; }
  .price-card-tags span:before { width: 15px; height: 15px; flex-basis: 15px; font-size: 9px; }
}

/* Match the reference sequence: manifesto first, pricing deck second, generous spacing. */
@media (min-width: 681px) {
  .pricing-grid { grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr) 72px minmax(0, 1fr); }
  .price-card { height: 336px; min-height: 336px; }
  .price-card-featured { color: var(--ink); background: linear-gradient(145deg, #fcfbf7 0%, #f0ece3 100%); border-color: rgba(184,216,108,.9); box-shadow: 0 20px 42px rgba(24,34,31,.12), 0 0 0 4px rgba(184,216,108,.1); }
  .price-card-featured:before { background: linear-gradient(90deg, var(--accent), #e0edb3); }
  .price-card-featured .price-card-art { background: #edf0e6; border-color: rgba(24,34,31,.04); }
  .price-card-featured .price-card-art-symbols { color: #839a65; }
  .price-card-featured .price-card-art-symbols span { background: rgba(255,255,255,.48); }
  .price-card-featured .price-card-label, .price-card-featured p { color: #6e796f; }
  .price-card-featured .price-card-main span { color: #758076; }
  .price-card-featured .price-card-tags span { color: #5d655d; }
  .price-card-featured .price-card-tags span:before { background: #9fc263; color: #f8f6ef; }
  .price-card-featured .price-card-link { color: var(--ink); border-color: rgba(24,34,31,.7); }
}

@media (min-width: 681px) and (max-height: 850px) {
  .manifesto { display: flex; flex-direction: column; }
  .manifesto > .section-kicker { order: 1; }
  .manifesto-content { order: 2; }
  .pricing-ribbon { order: 3; }
  .manifesto-foot { order: 4; display: none; }
  .pricing-ribbon { margin-top: 16px; }
  .price-card { height: 336px; min-height: 336px; }
}

@media (min-width: 681px) and (max-height: 850px) {
  .manifesto-content { display: block; margin-right: 0; margin-left: 0; margin-bottom: 16px; text-align: center; }
  .manifesto h2 { max-width: 1100px; margin-left: auto; margin-right: auto; }
  .price-card { height: 300px; min-height: 300px; padding: 20px 18px 15px; }
  .price-card-topline { margin-top: 0; }
  .price-card-name { font-size: 22px; margin-top: 12px; }
  .price-card-main { margin-top: 10px; }
  .price-card-main strong { font-size: 21px; }
  .price-card p { font-size: 11px; line-height: 1.45; margin: 9px 0 10px; }
  .price-card-tags { gap: 8px; min-height: 72px; }
  .price-card-tags span { font-size: 10px; }
  .price-card-tags span:before { width: 18px; height: 18px; flex-basis: 18px; font-size: 10px; }
  .price-card-link { font-size: 9px; }
}

/* Reference-matched card geometry: narrow/tall tiles, wider air, centered deck. */
@media (min-width: 681px) {
  .pricing-grid { width: 100%; max-width: 1475px; margin-left: auto; margin-right: auto; grid-template-columns: minmax(0, 1fr) clamp(72px, 8.9vw, 166px) minmax(0, 1fr) clamp(72px, 8.9vw, 166px) minmax(0, 1fr); }
  .price-card { height: auto; min-height: 0; aspect-ratio: .78; }
}

@media (min-width: 681px) and (max-height: 850px) {
  .manifesto-content { margin-top: 12px; }
  .price-card { height: auto; min-height: 0; aspect-ratio: .78; }
}

@media (min-width: 851px) {
  .price-card { padding: 28px 28px 22px; }
  .price-card-name { font-size: 28px; }
  .price-card-main { margin-top: 13px; }
  .price-card-main strong { font-size: 27px; }
  .price-card p { font-size: 14px; line-height: 1.5; margin: 10px 0 13px; }
  .price-card-tags { gap: 10px; min-height: 82px; }
  .price-card-tags span { font-size: 11px; }
  .price-card-tags span:before { width: 21px; height: 21px; flex-basis: 21px; font-size: 11px; }
  .price-card-link { font-size: 11px; }
}

@media (min-width: 851px) and (min-height: 851px) {
  .manifesto { display: flex; flex-direction: column; padding-top: 78px; padding-bottom: 90px; }
  .manifesto > .section-kicker { order: 1; }
  .manifesto-content { order: 2; display: block; margin: 36px 0 28px; text-align: center; }
  .manifesto h2 { max-width: 1100px; margin-left: auto; margin-right: auto; }
  .pricing-ribbon { order: 3; margin-top: 10px; }
  .manifesto-foot { order: 4; display: none; }
}

@media (min-width: 681px) {
  .price-card-tags { margin-top: auto; }
  .price-card-link { margin-top: 14px; }
}

/* Laptop-height safeguard: preserve the wide gaps while keeping every card edge visible. */
@media (min-width: 851px) and (min-height: 851px) and (max-height: 950px) {
  .manifesto { padding-top: 50px; padding-bottom: 70px; }
  .manifesto-content { margin-top: 20px; margin-bottom: 20px; }
  .price-card { aspect-ratio: .84; }
}

/* Keep the pricing deck contained on shorter laptop screens and above the next visual. */
@media (min-width: 681px) {
  .manifesto { position: relative; z-index: 1; }
  .experience-band { position: relative; z-index: 0; }
}

@media (min-width: 851px) and (min-height: 851px) and (max-height: 950px) {
  .manifesto { padding-bottom: 112px; }
}

@media (min-width: 851px) and (max-height: 850px) {
  .manifesto { padding-top: 34px; padding-bottom: 42px; }
  .manifesto-content { margin-top: 4px; margin-bottom: 12px; }
  .pricing-ribbon { margin-top: 4px; }
  .price-card { aspect-ratio: .88; }
}

/* Floating editorial header inspired by the supplied reference. */
.site-nav {
  top: 16px;
  left: 7.5vw;
  width: 85vw;
  height: 76px;
  padding: 0 12px 0 27px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: rgba(247,248,252,.88);
  box-shadow: 0 12px 34px rgba(7,15,20,.15), inset 0 1px 0 rgba(255,255,255,.7);
  backdrop-filter: blur(18px) saturate(1.1);
  color: #11141a;
}
.site-nav .brand { color: #11141a; font-size: 18px; letter-spacing: -.045em; }
.site-nav .brand-mark { width: 25px; height: 27px; }
.site-nav .brand-mark span { width: 6px; }
.site-nav .brand-mark span:nth-child(1) { height: 14px; }
.site-nav .brand-mark span:nth-child(2) { left: 9px; height: 21px; }
.site-nav .brand-mark span:nth-child(3) { height: 27px; }
.site-nav .nav-links { display: none; margin: 0; }
.site-nav .nav-links.mobile-open {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 26px;
  background: rgba(247,248,252,.96);
  box-shadow: 0 18px 42px rgba(7,15,20,.18);
  color: #11141a;
  backdrop-filter: blur(18px);
}
.site-nav .nav-links.mobile-open button { padding: 13px 16px; border-bottom: 1px solid rgba(17,20,26,.1); text-align: left; color: #11141a; }
.site-nav .nav-links.mobile-open button:last-child { border-bottom: 0; }
.site-nav .nav-links.mobile-open button:hover { color: #55713b; background: rgba(184,216,108,.16); }
.site-nav .nav-actions { gap: 14px; }
.site-nav .nav-link-hide { display: none; }
.site-nav .nav-cta {
  min-height: 54px;
  padding: 0 25px;
  border-radius: 999px;
  background: #11141a;
  color: #f7f8fc !important;
  font-size: 14px !important;
  letter-spacing: -.02em;
  box-shadow: 0 6px 16px rgba(17,20,26,.14);
}
.site-nav .nav-cta:hover { background: #26302b; color: #fff !important; }
.site-nav .nav-menu {
  width: 54px;
  height: 54px;
  display: grid;
  place-content: center;
  gap: 5px;
  border: 1px solid rgba(17,20,26,.1);
  border-radius: 50%;
  background: rgba(255,255,255,.76);
  color: #11141a;
  box-shadow: 0 4px 12px rgba(17,20,26,.08);
}
.site-nav .nav-menu:hover { background: #fff; transform: translateY(-1px); }
.site-nav .nav-menu span { display: block; width: 18px; height: 1.5px; border-radius: 10px; background: currentColor; }

@media (max-width: 680px) {
  .site-nav { top: 12px; left: 12px; width: calc(100% - 24px); height: 60px; padding: 0 9px 0 17px; }
  .site-nav .brand { gap: 8px; font-size: 13px; }
  .site-nav .brand-mark { width: 19px; height: 22px; }
  .site-nav .brand-mark span { width: 5px; }
  .site-nav .brand-mark span:nth-child(1) { height: 11px; }
  .site-nav .brand-mark span:nth-child(2) { left: 7px; height: 17px; }
  .site-nav .brand-mark span:nth-child(3) { height: 22px; }
  .site-nav .nav-actions { gap: 8px; }
  .site-nav .nav-cta { min-height: 42px; padding: 0 13px; font-size: 10px !important; }
  .site-nav .nav-menu { width: 42px; height: 42px; gap: 4px; }
  .site-nav .nav-menu span { width: 15px; height: 1.4px; }
  .site-nav .nav-links.mobile-open { top: calc(100% + 9px); border-radius: 20px; }
}

/* Keep the glass pill visible as the visitor moves through the page. */
.site-nav {
  position: fixed;
  background: rgba(247,248,252,.7);
  border-color: rgba(255,255,255,.8);
  box-shadow: 0 14px 38px rgba(7,15,20,.16), inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter: blur(24px) saturate(1.25);
  -webkit-backdrop-filter: blur(24px) saturate(1.25);
}

/* Premium guest review deck with a featured testimonial and supporting voices. */
.quote-section {
  position: relative;
  overflow: hidden;
  padding-top: clamp(34px, 3.5vw, 58px);
  padding-bottom: clamp(82px, 9vw, 132px);
  background: radial-gradient(circle at 50% 42%, rgba(226,231,255,.92), transparent 34%), linear-gradient(135deg, #eef0fa 0%, #f4f2fb 52%, #e8eaf7 100%);
  color: #171b27;
}
.quote-section:before,
.quote-section:after { content: ''; position: absolute; border-radius: 50%; pointer-events: none; filter: blur(2px); }
.quote-section:before { width: 280px; height: 280px; top: 18%; left: -130px; background: rgba(184,216,108,.16); }
.quote-section:after { width: 420px; height: 420px; right: -190px; bottom: -180px; background: rgba(121,108,230,.1); }
.review-heading { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; max-width: 1290px; margin: 0 auto; }
.review-heading .section-kicker { color: #6d7793; }
.review-heading h2 { margin: 0; font: 500 clamp(44px, 6.3vw, 86px)/.9 'Manrope', sans-serif; letter-spacing: -.085em; text-align: right; }
.review-heading h2 em { color: #a2ad98; }
.review-metrics { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; max-width: 1110px; margin: 58px auto 0; text-align: center; }
.review-metrics > div { position: relative; display: flex; flex-direction: column; align-items: center; gap: 9px; padding: 0 12px 20px; }
.review-metrics > div:after { content: ''; position: absolute; bottom: 0; width: 78px; height: 3px; border-radius: 99px; background: linear-gradient(90deg, transparent, #a89bea, transparent); }
.review-metrics strong { font: 700 clamp(38px, 4.5vw, 62px)/.9 'Manrope', sans-serif; letter-spacing: -.08em; }
.review-metrics span { color: #707587; font-size: 14px; }
.review-metric-featured strong { color: #6853d4; }
.review-metric-featured b { color: #e8a900; font-size: 16px; letter-spacing: 1px; margin-right: 5px; }
.review-deck { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1.24fr 1fr; align-items: center; max-width: 1290px; margin: 112px auto 0; padding: 0 24px 18px; }
.review-card { min-height: 340px; display: flex; flex-direction: column; padding: 38px 40px 32px; border: 1px solid rgba(104,113,145,.08); border-radius: 28px; background: rgba(255,255,255,.5); box-shadow: 0 20px 45px rgba(100,103,148,.08); }
.review-card-side { opacity: .66; transform: scale(.91); filter: saturate(.82); }
.review-card-side:first-child { transform: translateX(30px) scale(.91); }
.review-card-side:last-child { transform: translateX(-30px) scale(.91); }
.review-card-active { position: relative; z-index: 2; min-height: 400px; background: rgba(255,255,255,.96); border-color: rgba(255,255,255,.95); transform: scale(1.02); box-shadow: 0 28px 70px rgba(91,91,138,.18), 0 2px 7px rgba(48,51,81,.06); }
.review-card-stars { color: #efa900; font-size: 23px; letter-spacing: 2px; line-height: 1; }
.review-card blockquote { margin: 28px 0 30px; color: #242735; font: 500 clamp(19px, 2vw, 29px)/1.25 'Manrope', sans-serif; letter-spacing: -.045em; }
.review-card-side blockquote { color: #74798b; font-size: clamp(16px, 1.45vw, 21px); }
.review-card-active blockquote em { color: #6853d4; font-style: italic; }
.review-person { display: flex; align-items: center; gap: 13px; margin-top: auto; }
.review-avatar { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border: 3px solid #a998f1; border-radius: 50%; color: #fff; font: 10px 'DM Mono', monospace; box-shadow: 0 0 0 3px rgba(169,152,241,.13); }
.avatar-sage { background: linear-gradient(145deg, #718b69, #223a38); }
.avatar-sand { background: linear-gradient(145deg, #be8a62, #3e4b57); }
.avatar-clay { background: linear-gradient(145deg, #b27664, #49564c); }
.review-person div { display: flex; flex-direction: column; gap: 4px; }
.review-person strong { font-size: 13px; }
.review-person span:not(.review-avatar) { color: #858999; font-size: 11px; }
.review-footer { position: relative; z-index: 1; display: flex; justify-content: space-between; max-width: 1290px; margin: 40px auto 0; padding: 15px 24px 0; border-top: 1px solid rgba(104,113,145,.18); color: #7c8294; font: 10px 'DM Mono', monospace; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 900px) {
  .review-heading { display: block; }
  .review-heading h2 { margin-top: 28px; text-align: left; }
  .review-deck { margin-top: 78px; }
}

@media (max-width: 680px) {
  .quote-section { height: auto; min-height: 0; padding-top: 92px; padding-bottom: 75px; }
  .review-metrics { grid-template-columns: 1fr 1fr; gap: 30px 8px; margin-top: 52px; }
  .review-metrics strong { font-size: 38px; }
  .review-metrics span { font-size: 11px; }
  .review-metric-featured b { display: block; font-size: 13px; }
  .review-deck { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 64px -5vw 0; padding: 0 5vw 18px; scrollbar-width: none; }
  .review-deck::-webkit-scrollbar { display: none; }
  .review-card { flex: 0 0 84vw; min-height: 330px; padding: 29px 25px 25px; scroll-snap-align: center; opacity: 1; filter: none; transform: none; }
  .review-card-active { order: -1; min-height: 370px; transform: none; }
  .review-card-side:first-child, .review-card-side:last-child { transform: none; }
  .review-card blockquote { font-size: 22px; margin: 24px 0 28px; }
  .review-card-side blockquote { font-size: 18px; }
  .review-footer { margin-top: 26px; padding: 14px 0 0; font-size: 8px; }
}

/* Moving three-up carousel: the center card is always the active guest story. */
.review-deck { display: block; overflow: hidden; max-width: 1500px; margin-top: 48px; padding: 0 24px 18px; }
.review-track { display: flex; align-items: center; width: 166.6667%; transform: translate3d(var(--review-translate, 0px), 0, 0); transition: transform .82s cubic-bezier(.2,.8,.2,1); will-change: transform; }
.review-track-reset { transition: none !important; }
.review-track .review-card { flex: 0 0 20%; width: 20%; min-height: 300px; margin: 0 var(--review-overlap, 0px); padding: 40px 42px 32px; opacity: .55; transform: scale(.91); filter: saturate(.78); }
.review-track .review-card:not(.review-is-active) blockquote { color: #74798b; font-size: clamp(18px, 1.6vw, 24px); }
.review-track .review-card.review-is-active { position: relative; z-index: 2; min-height: 355px; opacity: 1; transform: scale(1.04); filter: none; background: rgba(255,255,255,.97); border-color: rgba(255,255,255,.96); box-shadow: 0 28px 70px rgba(91,91,138,.18), 0 2px 7px rgba(48,51,81,.06); }
.review-track .review-card.review-is-active blockquote { font-size: clamp(21px, 2.05vw, 31px); }
.review-track .review-card.review-is-active blockquote em { color: #6853d4; font-style: italic; }
.review-controls { display: flex; align-items: center; gap: 10px; }
.review-controls button { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid rgba(104,113,145,.28); border-radius: 50%; color: #5f6680; font-size: 14px; transition: background .2s ease, color .2s ease, transform .2s ease; }
.review-controls button:hover { background: #6853d4; color: #fff; transform: translateY(-2px); }
.review-controls span { min-width: 39px; text-align: center; }

@media (max-width: 680px) {
  .review-deck { display: block; overflow: hidden; margin: 64px -5vw 0; padding: 0 5vw 18px; }
  .review-track { width: 500%; align-items: stretch; }
  .review-track .review-card { flex: 0 0 20%; width: 20%; min-height: 330px; opacity: .64; transform: none; }
  .review-track .review-card.review-is-active { min-height: 370px; opacity: 1; transform: none; }
  .review-footer { align-items: center; }
}

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

/* Final review composition: centered heading first, complete carousel below. */
.review-heading { flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.review-heading h2 { max-width: none; font-size: clamp(42px, 4.4vw, 68px); text-align: center; white-space: nowrap; }
.review-metrics { margin-top: 42px; }
.review-deck { max-width: 1500px; margin-top: 34px; }
.review-track .review-card { min-height: 300px; }
.review-track .review-card.review-is-active { min-height: 355px; }
.review-card blockquote { margin-top: 22px; margin-bottom: 22px; }
.review-footer { margin-top: 24px; }

@media (max-width: 680px) {
  .review-heading { gap: 18px; }
  .review-heading h2 { max-width: 100%; font-size: clamp(40px, 10vw, 58px); text-align: center; white-space: normal; }
  .review-metrics { margin-top: 40px; }
  .review-deck { margin-top: 48px; }
  .review-track .review-card { min-height: 310px; padding: 29px 25px 25px; }
  .review-track .review-card.review-is-active { min-height: 350px; transform: none; }
}

/* Exact three-card review stack: one full-size story in front, two stories overlapping behind it. */
.review-deck {
  position: relative;
  display: block;
  height: clamp(380px, 28vw, 440px);
  max-width: 1500px;
  margin-top: 34px;
  padding: 0 24px 18px;
  overflow: hidden;
}

.review-track {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  transform: none !important;
  transition: none;
  --review-shift: clamp(220px, 22vw, 330px);
}

.review-track-reset .review-card { transition: none !important; }

.review-track .review-card {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: min(52vw, 780px);
  min-height: 355px;
  margin: 0;
  flex: none;
  opacity: 0;
  pointer-events: none;
  filter: saturate(.78);
  transform: translate(-50%, -50%) scale(.86);
  transition: transform .82s cubic-bezier(.2,.8,.2,1), opacity .82s ease, filter .82s ease, box-shadow .82s ease;
  will-change: transform, opacity;
}

.review-track .review-card.review-card-left,
.review-track .review-card.review-card-right {
  opacity: .52;
  pointer-events: auto;
  cursor: pointer;
}

.review-track .review-card.review-card-left {
  transform: translate(-50%, -50%) translateX(calc(var(--review-shift) * -1)) scale(.88);
}

.review-track .review-card.review-card-right {
  transform: translate(-50%, -50%) translateX(var(--review-shift)) scale(.88);
}

.review-track .review-card.review-card-left:hover {
  opacity: .76;
  filter: saturate(.98);
  transform: translate(-50%, -50%) translateX(calc(var(--review-shift) * -1)) scale(.93);
}

.review-track .review-card.review-card-right:hover {
  opacity: .76;
  filter: saturate(.98);
  transform: translate(-50%, -50%) translateX(var(--review-shift)) scale(.93);
}

.review-track .review-card:focus-visible {
  outline: 2px solid #6853d4;
  outline-offset: 5px;
}

.review-track .review-card.review-card-center,
.review-track .review-card.review-is-active {
  z-index: 3;
  min-height: 355px;
  opacity: 1;
  pointer-events: auto;
  filter: none;
  background: rgba(255,255,255,.97);
  border-color: rgba(255,255,255,.96);
  box-shadow: 0 28px 70px rgba(91,91,138,.18), 0 2px 7px rgba(48,51,81,.06);
  transform: translate(-50%, -50%) scale(1.04);
}

.review-track .review-card:not(.review-card-center) blockquote {
  color: #74798b;
  font-size: clamp(18px, 1.6vw, 24px);
}

.review-track .review-card.review-card-center blockquote,
.review-track .review-card.review-is-active blockquote {
  font-size: clamp(21px, 2.05vw, 31px);
}

.review-track .review-card.review-card-center blockquote em,
.review-track .review-card.review-is-active blockquote em {
  color: #6853d4;
  font-style: italic;
}

@media (max-width: 680px) {
  .review-deck {
    height: 390px;
    margin: 48px -5vw 0;
    padding: 0 5vw 18px;
  }

  .review-track {
    width: 100%;
    height: 100%;
    --review-shift: 0px;
  }

  .review-track .review-card {
    width: 84vw;
    min-height: 350px;
    padding: 29px 25px 25px;
    transform: translate(-50%, -50%) scale(.9);
  }

  .review-track .review-card.review-card-left,
  .review-track .review-card.review-card-right {
    opacity: 0;
    pointer-events: none;
  }

  .review-track .review-card.review-card-center,
  .review-track .review-card.review-is-active {
    min-height: 350px;
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

/* Laptop framing: lift the guest notes into the viewport and leave a clean breathing line below. */
@media (min-width: 681px) {
  .quote-section {
    padding-top: clamp(26px, 2.8vw, 44px);
    padding-bottom: clamp(108px, 10vw, 148px);
  }

  .review-metrics { margin-top: 34px; }
  .review-deck { margin-top: 8px; }
  .review-footer { margin-top: 28px; }
}

/* Hold the first hero paint until the reveal choreography is armed. */
.app-shell:not(.hero-motion-ready) .site-nav .brand,
.app-shell:not(.hero-motion-ready) .site-nav .nav-links,
.app-shell:not(.hero-motion-ready) .site-nav .nav-actions,
.app-shell:not(.hero-motion-ready) .hero .eyebrow,
.app-shell:not(.hero-motion-ready) .hero h1,
.app-shell:not(.hero-motion-ready) .hero-deck,
.app-shell:not(.hero-motion-ready) .hero-actions,
.app-shell:not(.hero-motion-ready) .hero-location,
.app-shell:not(.hero-motion-ready) .hero-counter,
.app-shell:not(.hero-motion-ready) .hero-scroll {
  opacity: 0;
}

.app-shell:not(.hero-motion-ready) .hero-visual {
  opacity: 0;
  transform: translate3d(56px, 0, 0) scale(1.04);
  clip-path: inset(0 0 0 10%);
}
