/* Release 0 pages beyond the buyer and park journeys. */

/* Ownership guide */
.guide-hero { padding: 72px 0 0; color: var(--paper); background: var(--atlantic); }
.guide-hero__layout { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 70px; }
.guide-hero h1 { margin: 18px 0 22px; font-family: var(--serif); font-size: clamp(4.6rem,7vw,7.5rem); font-weight: 500; line-height: .83; letter-spacing: -.05em; }
.guide-hero h1 em { color: var(--coral); font-weight: 400; }
.guide-hero__layout > div > p { max-width: 600px; color: #bdd0cd; }
.guide-hero__layout > div > div { display: flex; align-items: center; gap: 24px; margin-top: 30px; }
.guide-hero figure { position: relative; align-self: end; min-height: 650px; margin: 0; }
.guide-hero figure img { width: 100%; height: 100%; object-fit: cover; }
.guide-hero figcaption { position: absolute; right: 14px; bottom: 14px; padding: 7px 9px; color: var(--atlantic); background: var(--coral); font-size: 0.75rem; font-weight: 700; }
.guide-principle { display: grid; grid-template-columns: 90px .7fr 1.3fr; gap: 45px; padding-block: 130px; }
.guide-principle__number { color: var(--coral-dark); font-family: var(--serif); font-size: 2.4rem; }
.guide-principle h2 { margin: 14px 0 20px; font-family: var(--serif); font-size: clamp(3.2rem,5vw,5rem); font-weight: 500; line-height: .92; }
.guide-principle > div > p { color: var(--muted); }
.guide-principle dl { margin: 0; border-top: 3px solid var(--atlantic); }
.guide-principle dl > div { display: grid; grid-template-columns: .8fr 1fr; gap: 5px 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.guide-principle dt { color: var(--muted); font-size: 0.8125rem; }
.guide-principle dd { margin: 0; font-family: var(--serif); font-size: 1.25rem; }
.guide-principle dl span { grid-column: 2; color: var(--muted); font-size: 1rem; }
.ownership-costs { padding-block: 120px; color: var(--paper); background: var(--kelp); }
.ownership-costs__layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.ownership-costs h2 { margin: 14px 0 20px; font-family: var(--serif); font-size: clamp(3.5rem,5.5vw,5.5rem); font-weight: 500; line-height: .91; }
.ownership-costs p { color: #bdd0cd; }
.cost-stack { display: grid; }
.cost-stack article { position: relative; padding: 30px 32px 30px 76px; border-top: 1px solid rgba(255,255,255,.22); }
.cost-stack article:last-child { border-bottom: 1px solid rgba(255,255,255,.22); }
.cost-stack article > span { position: absolute; top: 35px; left: 0; color: var(--coral); font-size: 0.75rem; font-weight: 700; }
.cost-stack h3 { margin: 0; font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.cost-stack p { margin: 6px 0 0; font-size: 0.875rem; }
.buying-steps { padding-block: 130px; }
.buying-steps ol { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 70px; margin: 55px 0 0; padding: 0; list-style: none; }
.buying-steps li { display: grid; grid-template-columns: 45px 1fr; gap: 15px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.buying-steps li > span { color: var(--coral-dark); font-size: 0.8125rem; font-weight: 700; }
.buying-steps h3 { margin: 0; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.buying-steps li p { margin: 5px 0 0; color: var(--muted); font-size: 0.8125rem; }
.questions-panel { padding-block: 110px; background: var(--paper); }
.questions-panel__layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; }
.questions-panel h2 { margin: 14px 0; font-family: var(--serif); font-size: clamp(3.5rem,5vw,5rem); font-weight: 500; line-height: .92; }
.question-groups { border-top: 2px solid var(--atlantic); }
.question-groups details { border-bottom: 1px solid var(--line); }
.question-groups summary { display: flex; min-height: 74px; align-items: center; justify-content: space-between; gap: 20px; font-family: var(--serif); font-size: 1.25rem; cursor: pointer; list-style: none; }
.question-groups summary::-webkit-details-marker { display: none; }
.question-groups summary span { color: var(--coral-dark); font-family: var(--sans); }
.question-groups ul { margin: 0 0 24px; color: var(--muted); font-size: 0.875rem; }
.guide-cta { padding-block: 120px; color: var(--paper); text-align: center; background: var(--atlantic); }
.guide-cta h2 { margin: 16px auto 30px; font-family: var(--serif); font-size: clamp(4rem,6vw,6.2rem); font-weight: 500; line-height: .88; }
.guide-cta .shell > div { display: flex; justify-content: center; gap: 10px; }

/* Coastal stays */
.stays-powered { display: inline-flex; align-items: baseline; gap: 2px; color: var(--atlantic); font-size: 0.875rem; font-weight: 400; letter-spacing: .06em; }
.stays-powered b { color: var(--coral-dark); }
.stays-powered small { margin-left: 7px; color: var(--muted); font-size: 0.75rem; font-weight: 700; letter-spacing: .08em; }
.stays-powered--light { color: var(--paper); }
.stays-powered--light b { color: var(--coral); }
.stays-hero { position: relative; display: grid; grid-template-columns: 1.12fr .88fr; min-height: 720px; color: var(--paper); background: var(--atlantic); }
.stays-hero__image { position: relative; }
.stays-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.stays-hero__image > span { position: absolute; bottom: 18px; left: 18px; padding: 7px 9px; color: var(--atlantic); background: var(--coral); font-size: 0.75rem; font-weight: 700; }
.stays-hero__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 70px clamp(36px,6vw,90px) 140px; }
.stays-hero__copy .stays-powered { margin-bottom: 45px; color: var(--paper); }
.stays-hero__copy .stays-powered small { color: #a9bfbb; }
.stays-hero h1 { margin: 16px 0 20px; font-family: var(--serif); font-size: clamp(5rem,7.5vw,8rem); font-weight: 500; line-height: .82; letter-spacing: -.055em; }
.stays-hero h1 em { color: var(--coral); font-weight: 400; }
.stays-hero__copy > p { color: #bdd0cd; }
.stay-search-card { position: absolute; right: max(32px,calc((100vw - var(--shell))/2)); bottom: -54px; left: max(32px,calc((100vw - var(--shell))/2)); z-index: 3; display: grid; grid-template-columns: 1.2fr repeat(3,.8fr) auto; background: var(--paper); border: 1px solid var(--atlantic); box-shadow: var(--shadow); }
.stay-search-card label { display: grid; min-height: 88px; align-content: center; gap: 4px; padding: 12px 20px; border-right: 1px solid var(--line); }
.stay-search-card label span { color: var(--muted); font-size: 0.75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.stay-search-card input,.stay-search-card select { width: 100%; color: var(--ink); background: transparent; border: 0; font-family: var(--serif); font-size: 1rem; }
.stay-search-card > small { position: absolute; right: 0; bottom: -26px; color: var(--muted); font-size: 0.75rem; }
.stay-results { padding-block: 150px 130px; }
.stay-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 48px; }
.stay-result-card { background: var(--paper); border-top: 4px solid var(--atlantic); box-shadow: 0 12px 30px rgba(8,35,40,.07); }
.stay-result-card__media { position: relative; aspect-ratio: 1.35; overflow: hidden; }
.stay-result-card__media a,.stay-result-card__media img { display: block; width: 100%; height: 100%; }
.stay-result-card__media img { object-fit: cover; transition: transform 400ms ease; }
.stay-result-card:hover img { transform: scale(1.025); }
.stay-result-card__media .demo-label { top: 12px; left: 12px; }
.stay-result-card__body { padding: 22px; }
.stay-result-card__body > p:first-child { margin: 0; color: var(--muted); font-size: 0.8125rem; }
.stay-result-card h2 { margin: 8px 0 10px; font-family: var(--serif); font-size: 2rem; font-weight: 500; line-height: 1; }
.stay-result-card__body > div { display: flex; gap: 14px; padding-bottom: 16px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: 0.8125rem; }
.stay-result-card__body > p:nth-of-type(2) { margin: 16px 0 5px; }
.stay-result-card__body > p strong { font-family: var(--serif); font-size: 1.55rem; font-weight: 500; }
.stay-result-card__body small { display: block; color: var(--muted); font-size: 0.75rem; }
.stay-result-card__body > a { display: inline-flex; align-items: center; gap: 7px; margin-top: 17px; color: var(--coral-dark); font-size: 0.8125rem; font-weight: 700; }
.stay-result-card__body > a .icon { width: 15px; height: 15px; }
.sublet-story { padding-block: 110px; color: var(--paper); background: var(--atlantic); }
.sublet-story__layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; }
.sublet-story h2 { margin: 20px 0; font-family: var(--serif); font-size: clamp(4rem,6vw,6rem); font-weight: 500; line-height: .88; }
.sublet-story p { color: #b8cbc8; }
.sublet-story dl { margin: 0; border-top: 1px solid rgba(255,255,255,.22); }
.sublet-story dl > div { display: grid; grid-template-columns: 120px 1fr; gap: 30px; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.17); }
.sublet-story dt { color: var(--coral); font-family: var(--serif); font-size: 1.25rem; }
.sublet-story dd { margin: 0; color: #b8cbc8; }
.stay-to-own { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 570px; padding-block: 120px; }
.stay-to-own img { width: 100%; height: 100%; object-fit: cover; }
.stay-to-own > div { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 55px; background: var(--paper); }
.stay-to-own h2 { margin: 15px 0; font-family: var(--serif); font-size: clamp(3rem,5vw,4.8rem); font-weight: 500; line-height: .92; }
.stay-to-own p { color: var(--muted); }

/* Stay detail */
.stay-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-block: 64px 36px; }
.stay-heading > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.stay-heading h1 { width: 100%; margin: 15px 0 0; font-family: var(--serif); font-size: clamp(4.5rem,8vw,8rem); font-weight: 500; line-height: .82; letter-spacing: -.05em; }
.stay-heading p { display: flex; width: 100%; align-items: center; gap: 7px; margin: 10px 0 0; color: var(--muted); font-size: 0.875rem; }
.stay-heading p .icon { width: 16px; color: var(--coral-dark); }
.favourite--inline { position: static; display: inline-flex; width: auto; height: 44px; align-items: center; gap: 7px; padding: 0 15px; border: 1px solid var(--line); border-radius: 0; font-size: 0.875rem; }
.stay-gallery { position: relative; display: grid; grid-template-columns: 1.4fr .6fr; grid-template-rows: 1fr 1fr; gap: 7px; height: 690px; }
.stay-gallery img { width: 100%; height: 100%; object-fit: cover; }
.stay-gallery__main { grid-row: 1/3; }
.stay-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.stay-gallery > span { position: absolute; right: 14px; bottom: 14px; padding: 7px 9px; background: var(--paper); font-size: 0.75rem; font-weight: 700; }
.stay-layout { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 100px; padding-block: 100px 130px; }
.stay-layout > article { min-width: 0; }
.stay-layout aside { position: relative; }
.stay-intro { padding-bottom: 80px; }
.stay-intro h2,.stay-section h2 { margin: 14px 0 18px; font-family: var(--serif); font-size: clamp(3.2rem,5vw,5rem); font-weight: 500; line-height: .92; }
.stay-intro .lead { max-width: 760px; color: var(--muted); font-family: var(--serif); font-size: 1.3rem; }
.stay-key-facts { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 35px; border: 1px solid var(--line); }
.stay-key-facts span { display: grid; padding: 18px; color: var(--muted); font-size: 0.75rem; }
.stay-key-facts span + span { border-left: 1px solid var(--line); }
.stay-key-facts strong { color: var(--ink); font-family: var(--serif); font-size: 1.1rem; font-weight: 500; }
.stay-section { padding-block: 70px; border-top: 1px solid var(--line); }
.amenity-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 25px; margin: 30px 0 0; padding: 0; list-style: none; }
.amenity-grid li { padding: 11px 0 11px 24px; border-bottom: 1px solid var(--line); font-size: 0.875rem; }
.amenity-grid li::before { margin-left: -24px; margin-right: 11px; color: var(--coral-dark); content: "✓"; }
.stay-rules { margin: 30px 0 0; border-top: 1px solid var(--atlantic); }
.stay-rules > div { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 0.875rem; }
.stay-rules dt { color: var(--muted); }
.stay-rules dd { margin: 0; font-weight: 700; text-align: right; }
.stay-owner-note { padding: 42px; color: var(--paper); background: var(--kelp); border-bottom: 7px solid var(--coral); }
.stay-owner-note > span { color: var(--coral); font-size: 0.75rem; font-weight: 700; letter-spacing: .1em; }
.stay-owner-note h2 { margin: 10px 0; font-family: var(--serif); font-size: 2.4rem; font-weight: 500; }
.stay-owner-note p { color: #c1d3d0; }
.stay-book-card { position: sticky; top: 120px; padding: 28px; background: var(--paper); border-top: 5px solid var(--coral); box-shadow: var(--shadow); }
.stay-book-card > span { color: var(--coral-dark); font-size: 0.75rem; font-weight: 700; letter-spacing: .1em; }
.stay-book-card > p { margin: 10px 0 22px; }
.stay-book-card > p strong { font-family: var(--serif); font-size: 2.3rem; font-weight: 500; }
.stay-book-card > label:not(.check-row) { display: grid; gap: 5px; margin-bottom: 13px; font-size: 0.8125rem; font-weight: 700; }
.stay-book-card label > span { color: var(--coral-dark); }
.stay-book-card input:not([type="checkbox"]),.stay-book-card select { width: 100%; min-height: 48px; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 0; font-size: 16px; }
.stay-book-card input:invalid.was-validated,.stay-book-card select:invalid.was-validated { border-color: #b42318; }
.stay-book-card .button { width: 100%; }
.stay-book-card > small { display: block; margin-top: 10px; color: var(--muted); text-align: center; }
.stay-book-card__powered { display: grid; justify-items: center; margin: 20px -28px -28px; padding: 18px; background: var(--mist); }
.stay-book-card__powered p { margin: 4px 0 0; color: var(--muted); font-size: 0.75rem; }

/* Saved items */
.saved-hero { padding-block: 100px; color: var(--paper); background: var(--atlantic); }
.saved-hero h1 { margin: 14px 0 20px; font-family: var(--serif); font-size: clamp(4.5rem,8vw,8rem); font-weight: 500; line-height: .83; letter-spacing: -.05em; }
.saved-hero h1 em { color: var(--coral); font-weight: 400; }
.saved-hero p { max-width: 620px; color: #b8cbc8; }
.saved-section { min-height: 650px; padding-block: 90px 130px; }
.saved-tabs { display: flex; gap: 30px; margin-bottom: 45px; border-bottom: 1px solid var(--line); }
.saved-tabs button { display: flex; min-height: 58px; align-items: center; gap: 8px; padding: 0; background: transparent; border: 0; border-bottom: 3px solid transparent; font-family: var(--serif); font-size: 1.3rem; }
.saved-tabs button[aria-selected="true"] { border-color: var(--coral); }
.saved-tabs button span { display: grid; width: 23px; height: 23px; place-items: center; color: var(--paper); background: var(--atlantic); border-radius: 50%; font-family: var(--sans); font-size: 0.8125rem; }
.saved-empty { display: grid; max-width: 650px; justify-items: start; padding: 55px; background: var(--paper); border-left: 7px solid var(--coral); }
.saved-empty > .icon { width: 40px; height: 40px; color: var(--coral-dark); }
.saved-empty h2 { margin: 18px 0 8px; font-family: var(--serif); font-size: 2.5rem; font-weight: 500; line-height: .97; }
.saved-empty p { color: var(--muted); }
.saved-empty[hidden] + .catalogue-grid,.saved-empty[hidden] + .stay-grid { margin-top: 0; }
.shortlist-tip { padding-block: 100px; color: var(--paper); background: var(--kelp); }
.shortlist-tip span { color: var(--coral); font-size: 0.75rem; font-weight: 700; letter-spacing: .1em; }
.shortlist-tip h2 { margin: 12px 0; font-family: var(--serif); font-size: clamp(3.5rem,5.5vw,5.5rem); font-weight: 500; line-height: .9; }
.shortlist-tip p { max-width: 700px; color: #bdd0cd; }

/* Park operator commercial page */
.operator-hero { padding: 76px 0 0; color: var(--paper); background: var(--atlantic-deep); }
.operator-hero__layout { display: grid; grid-template-columns: .96fr 1.04fr; gap: 60px; }
.operator-hero__layout > div { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-bottom: 80px; }
.operator-eyebrow { padding: 7px 9px; color: var(--atlantic); background: var(--coral); font-size: 0.75rem; font-weight: 700; letter-spacing: .08em; }
.operator-hero h1 { margin: 20px 0; font-family: var(--serif); font-size: clamp(4.5rem,7vw,7.2rem); font-weight: 500; line-height: .84; letter-spacing: -.05em; }
.operator-hero h1 em { color: var(--coral); font-weight: 400; }
.operator-hero__layout > div > p { max-width: 620px; color: #b8cbc8; }
.operator-hero__actions { display: flex; align-items: center; gap: 24px; margin-top: 25px; }
.operator-hero ul { display: flex; flex-wrap: wrap; gap: 18px; margin: 35px 0 0; padding: 0; list-style: none; color: #b8cbc8; font-size: 0.8125rem; }
.operator-hero li { display: flex; align-items: center; gap: 6px; }
.operator-hero li .icon { width: 16px; color: var(--coral); }
.operator-hero figure { position: relative; min-height: 700px; margin: 0; }
.operator-hero figure img { width: 100%; height: 100%; object-fit: cover; }
.operator-hero figcaption { position: absolute; right: 14px; bottom: 14px; padding: 7px 9px; color: var(--atlantic); background: var(--coral); font-size: 0.75rem; font-weight: 700; }
.operator-problem { padding-block: 120px; }
.operator-problem__layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 110px; }
.operator-problem h2 { margin: 14px 0; font-family: var(--serif); font-size: clamp(3.4rem,5vw,5rem); font-weight: 500; line-height: .92; }
.operator-problem__layout > div:last-child > p { color: var(--muted); font-family: var(--serif); font-size: 1.35rem; }
.operator-problem dl { margin: 30px 0 0; border-top: 2px solid var(--atlantic); }
.operator-problem dl > div { display: grid; grid-template-columns: 160px 1fr; gap: 30px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.operator-problem dt { font-weight: 700; }
.operator-problem dd { margin: 0; color: var(--muted); font-size: 0.875rem; }
.founding-offer { padding-block: 120px; color: var(--paper); background: var(--kelp); }
.founding-offer__layout { display: grid; grid-template-columns: 420px 1fr; align-items: start; gap: 110px; }
.offer-card { padding: 38px; color: var(--ink); background: var(--paper); box-shadow: 14px 14px 0 var(--coral); }
.offer-card > span { color: var(--coral-dark); font-size: 0.8125rem; font-weight: 700; letter-spacing: .12em; }
.offer-price { display: flex; align-items: center; gap: 14px; margin: 18px 0 6px; }
.offer-price strong { font-family: var(--serif); font-size: 5.3rem; font-weight: 500; line-height: .9; }
.offer-price small { color: var(--muted); line-height: 1.4; }
.offer-card > p { margin: 0 0 24px; color: var(--muted); }
.offer-card .tick-list { padding-block: 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.offer-card .button { width: 100%; margin-top: 25px; }
.offer-copy h2 { margin: 16px 0; font-family: var(--serif); font-size: clamp(4rem,6vw,6rem); font-weight: 500; line-height: .89; }
.offer-copy > p { max-width: 650px; color: #bdd0cd; }
.offer-steps { display: grid; gap: 0; margin-top: 42px; border-top: 1px solid rgba(255,255,255,.22); }
.offer-steps article { display: grid; grid-template-columns: 45px 1fr; gap: 5px 20px; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.offer-steps article > span { grid-row: 1/3; color: var(--coral); font-size: 0.8125rem; font-weight: 700; }
.offer-steps h3 { margin: 0; font-family: var(--serif); font-size: 1.5rem; font-weight: 500; }
.offer-steps p { margin: 5px 0 0; color: #b8cbc8; font-size: 0.8125rem; }
.operator-guarantee { padding-block: 85px; color: var(--atlantic); text-align: center; background: var(--coral); }
.operator-guarantee span { font-size: 0.75rem; font-weight: 700; letter-spacing: .12em; }
.operator-guarantee h2 { margin: 10px 0 3px; font-family: var(--serif); font-size: clamp(3.2rem,5vw,5rem); font-weight: 500; }
.operator-guarantee p { max-width: 750px; margin: 0 auto; }
.operator-guarantee .qualified-enquiry { display: grid; grid-template-columns: auto 1fr; gap: 12px 28px; max-width: 900px; margin: 30px auto 20px; padding: 18px 22px; color: var(--paper); text-align: left; background: var(--atlantic); }
.operator-guarantee .qualified-enquiry strong { font-family: var(--serif); font-size: 1.12rem; font-weight: 500; }
.operator-guarantee .qualified-enquiry span { align-self: center; color: #d4e1df; font-size: 0.8125rem; font-weight: 400; letter-spacing: 0; }
.operator-guarantee > .shell > small { display: block; max-width: 780px; margin: 0 auto; font-size: 0.8125rem; }
.operator-service { padding-block: 120px; background: var(--mist); }
.operator-service__layout { display: grid; grid-template-columns: 1fr 430px; align-items: center; gap: 100px; }
.operator-service h2 { max-width: 760px; margin: 16px 0 24px; font-family: var(--serif); font-size: clamp(3.4rem,5.4vw,5.6rem); font-weight: 500; line-height: .9; }
.operator-service__layout > div > p { max-width: 640px; color: var(--muted); }
.operator-service article { padding: 34px; background: var(--paper); border-top: 6px solid var(--coral); box-shadow: var(--shadow); }
.operator-service article > span { color: var(--coral-dark); font-size: 0.75rem; font-weight: 700; letter-spacing: .12em; }
.operator-service article > div { display: flex; align-items: center; gap: 14px; margin: 18px 0; }
.operator-service article > div strong { font-family: var(--serif); font-size: 4rem; font-weight: 500; line-height: .9; }
.operator-service article > div small { color: var(--muted); line-height: 1.35; }
.operator-service h3 { margin: 0; font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.operator-service .tick-list { margin-block: 22px; padding-block: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.operator-service .button { width: 100%; }
.operator-product { padding-block: 130px; }
.operator-product__grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 0 70px; margin-top: 55px; }
.operator-product figure { position: relative; grid-row: 1/4; min-height: 620px; margin: 0; }
.operator-product figure img { width: 100%; height: 100%; object-fit: cover; }
.operator-product figcaption { position: absolute; bottom: 14px; left: 14px; padding: 7px 9px; color: var(--atlantic); background: var(--coral); font-size: 0.75rem; font-weight: 700; }
.operator-product article { position: relative; padding: 28px 0 28px 48px; border-top: 1px solid var(--line); }
.operator-product article:last-child { border-bottom: 1px solid var(--line); }
.operator-product article > span { position: absolute; left: 0; color: var(--coral-dark); font-size: 0.8125rem; font-weight: 700; }
.operator-product h3 { margin: 0; font-family: var(--serif); font-size: 1.7rem; font-weight: 500; }
.operator-product article p { margin: 7px 0 0; color: var(--muted); font-size: 0.875rem; }
.sublet-angle { padding-block: 100px; color: var(--paper); background: var(--atlantic-deep); }
.sublet-angle__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.sublet-angle h2 { margin: 18px 0 0; font-family: var(--serif); font-size: clamp(3.4rem,5vw,5rem); font-weight: 500; line-height: .92; }
.sublet-angle__layout > div:last-child { align-self: end; }
.sublet-angle p { color: #b8cbc8; }
.operator-form-section { padding-block: 130px; }
.operator-form-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.operator-form-layout h2 { margin: 14px 0; font-family: var(--serif); font-size: clamp(3.5rem,5vw,5rem); font-weight: 500; line-height: .92; }
.operator-form-layout > div > p { color: var(--muted); }
.operator-form-layout dl { margin-top: 30px; border-top: 2px solid var(--atlantic); }
.operator-form-layout dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 0.8125rem; }
.operator-form-layout dd { margin: 0; font-weight: 700; }
.operator-form { position: relative; padding: 42px; background: var(--paper); border-top: 6px solid var(--coral); box-shadow: var(--shadow); }
.operator-form label { display: grid; gap: 6px; margin-bottom: 15px; font-size: 0.8125rem; font-weight: 700; }
.operator-form label > span { color: var(--coral-dark); }
.operator-form input:not([type="checkbox"]),.operator-form select { width: 100%; min-height: 48px; padding: 10px 12px; background: #fff; border: 1px solid var(--line); border-radius: 0; font-size: 16px; }
.operator-form input:invalid.was-validated { border-color: #b42318; }
.operator-form > small { display: block; margin-top: 12px; color: var(--muted); }
.operator-form > small a { color: var(--atlantic); text-decoration: underline; text-underline-offset: 2px; }
.form-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.operator-form .form-success { min-height: 100%; }

/* Prototype information */
.information-page { display: grid; grid-template-columns: 260px minmax(0,760px); gap: 100px; padding-block: 100px 140px; }
.information-page aside { position: sticky; top: 130px; align-self: start; display: grid; gap: 9px; padding: 24px; background: var(--paper); border-top: 4px solid var(--coral); }
.information-page aside > span { margin-bottom: 10px; color: var(--coral-dark); font-size: 0.75rem; font-weight: 700; letter-spacing: .11em; }
.information-page aside a { color: var(--muted); font-size: 0.8125rem; }
.information-page aside a:hover { color: var(--coral-dark); }
.information-page article header { padding-bottom: 60px; }
.information-page h1 { margin: 14px 0; font-family: var(--serif); font-size: clamp(4rem,7vw,6.5rem); font-weight: 500; line-height: .88; }
.information-page header p { color: var(--muted); font-family: var(--serif); font-size: 1.3rem; }
.information-page article section { padding-block: 45px; border-top: 1px solid var(--line); scroll-margin-top: 120px; }
.information-page h2 { margin: 0 0 16px; font-family: var(--serif); font-size: 2.5rem; font-weight: 500; }
.information-page article section p { color: var(--muted); }

/* Park enquiry confirmation */
.confirmation-page { background: var(--salt); }
.confirmation-hero { position: relative; overflow: hidden; color: var(--paper); background: var(--atlantic-deep); }
.confirmation-hero::after { position: absolute; inset: 0 0 0 auto; width: 37%; background: var(--coral); content: ""; }
.confirmation-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(430px,.92fr); align-items: center; gap: clamp(64px,8vw,118px); min-height: 720px; padding-block: 88px; }
.confirmation-message { position: relative; min-width: 0; padding-right: 12px; }
.confirmation-message::before,.confirmation-message::after { position: absolute; z-index: -1; border: 1px solid rgba(131,174,180,.16); border-radius: 50%; content: ""; }
.confirmation-message::before { top: -180px; right: -40px; width: 480px; height: 480px; }
.confirmation-message::after { top: -125px; right: 15px; width: 370px; height: 370px; }
.confirmation-status { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 44px; color: var(--coral); font-size: .875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.confirmation-status svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.confirmation-message h1 { max-width: 760px; margin: 18px 0 28px; font-family: var(--serif); font-size: clamp(4.4rem,6.2vw,7rem); font-weight: 500; line-height: .84; letter-spacing: -.05em; }
.confirmation-message h1 em { display: block; color: var(--coral); font-weight: 400; }
.confirmation-lead { max-width: 630px; margin: 0; color: #c5d5d2; font-size: 1.125rem; line-height: 1.65; }
.confirmation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 34px; }
.confirmation-actions .button { font-size: 1rem; }
.confirmation-back-link { color: var(--paper); font-size: 1rem; }
.confirmation-complete { display: flex; flex-wrap: wrap; gap: 10px; margin: 44px 0 0; color: #a8c0bc; font-size: 1rem; }
.confirmation-complete span { color: var(--coral); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.confirmation-next { color: var(--ink); background: var(--paper); box-shadow: 14px 14px 0 var(--atlantic); }
.confirmation-next > header { padding: 44px 44px 32px; border-top: 7px solid var(--atlantic); }
.confirmation-next > header > span { color: var(--coral-dark); font-size: .875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.confirmation-next h2 { max-width: 390px; margin: 14px 0 0; font-family: var(--serif); font-size: clamp(2.6rem,3.5vw,3.7rem); font-weight: 500; line-height: .94; letter-spacing: -.035em; }
.confirmation-next ol { margin: 0; padding: 0 44px; list-style: none; counter-reset: none; }
.confirmation-next li { display: grid; grid-template-columns: 38px 1fr; gap: 18px; padding: 23px 0; border-top: 1px solid var(--line); }
.confirmation-next li > span { padding-top: 4px; color: var(--coral-dark); font-size: .875rem; font-weight: 700; }
.confirmation-next h3 { margin: 0; font-family: var(--serif); font-size: 1.4rem; font-weight: 500; line-height: 1.2; }
.confirmation-next li p { margin: 7px 0 0; color: var(--muted); font-size: 1rem; line-height: 1.55; }
.confirmation-assurance { display: grid; grid-template-columns: 1fr 1fr; margin-top: 8px; color: var(--paper); background: var(--atlantic); }
.confirmation-assurance p { display: grid; gap: 2px; margin: 0; padding: 22px 44px; }
.confirmation-assurance p + p { border-left: 1px solid rgba(255,255,255,.18); }
.confirmation-assurance span { color: #a8c0bc; font-size: .875rem; }
.confirmation-assurance strong { font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.confirmation-route { padding-block: 92px; background: var(--mist); }
.confirmation-route__layout { display: grid; grid-template-columns: 1.08fr .92fr; align-items: end; gap: clamp(60px,9vw,140px); }
.confirmation-route h2 { max-width: 700px; margin: 14px 0 0; font-family: var(--serif); font-size: clamp(3.8rem,5.8vw,6rem); font-weight: 500; line-height: .88; letter-spacing: -.045em; }
.confirmation-route h2 em { display: block; color: var(--coral-dark); font-weight: 400; }
.confirmation-route__layout > div:last-child > p { max-width: 580px; margin: 0 0 26px; color: var(--muted); font-size: 1.0625rem; }
.confirmation-route .button { font-size: 1rem; }

@media (max-width: 1080px) {
  .guide-hero__layout,.operator-hero__layout { grid-template-columns: 1fr; }
  .guide-hero__layout > div,.operator-hero__layout > div { padding-block: 50px 70px; }
  .guide-hero figure,.operator-hero figure { min-height: 560px; }
  .guide-principle { grid-template-columns: 60px 1fr; }
  .guide-principle dl { grid-column: 2; }
  .stay-search-card { grid-template-columns: repeat(2,1fr); bottom: -150px; }
  .stay-search-card .button { min-height: 60px; }
  .stay-results { padding-top: 250px; }
  .stay-layout { grid-template-columns: minmax(0,1fr) 320px; gap: 50px; }
  .founding-offer__layout { grid-template-columns: 360px 1fr; gap: 70px; }
}

@media (max-width: 960px) {
  .ownership-costs__layout,.questions-panel__layout,.sublet-story__layout,.operator-problem__layout,.sublet-angle__layout,.operator-form-layout,.operator-service__layout { grid-template-columns: 1fr; gap: 55px; }
  .stays-hero { grid-template-columns: 1fr; }
  .stays-hero__image { min-height: 560px; }
  .stays-hero__copy { min-height: 600px; padding-bottom: 190px; }
  .stay-grid { grid-template-columns: 1fr 1fr; }
  .stay-result-card:last-child { grid-column: 1/-1; width: calc(50% - 12px); }
  .stay-layout { grid-template-columns: 1fr; }
  .stay-book-card { position: relative; top: auto; }
  .founding-offer__layout { grid-template-columns: 1fr; }
  .offer-card { max-width: 500px; }
  .operator-service article { max-width: 520px; }
  .operator-product__grid { grid-template-columns: 1fr; }
  .operator-product figure { grid-row: auto; min-height: 520px; margin-bottom: 35px; }
  .information-page { grid-template-columns: 1fr; gap: 45px; }
  .information-page aside { position: static; display: flex; flex-wrap: wrap; }
  .information-page aside > span { width: 100%; }
  .confirmation-hero::after { display: none; }
  .confirmation-hero__layout { grid-template-columns: 1fr; gap: 70px; padding-block: 80px 94px; }
  .confirmation-message { max-width: 780px; padding-right: 0; }
  .confirmation-next { width: min(100%,680px); box-shadow: 14px 14px 0 var(--coral); }
  .confirmation-route__layout { grid-template-columns: 1fr; align-items: start; gap: 38px; }
}

@media (max-width: 680px) {
  .guide-hero { padding-top: 30px; }
  .guide-hero__layout > div > div,.guide-cta .shell > div,.operator-hero__actions { align-items: stretch; flex-direction: column; }
  .guide-hero__layout > div { min-width: 0; }
  .guide-hero h1 { max-width: 100%; font-size: clamp(3.65rem,16.8vw,4.25rem); overflow-wrap: anywhere; }
  .guide-hero figure,.operator-hero figure { min-height: 430px; }
  .guide-principle { grid-template-columns: 1fr; gap: 25px; padding-block: 80px; }
  .guide-principle dl { grid-column: auto; }
  .guide-principle dl > div { grid-template-columns: 1fr; }
  .guide-principle dl span { grid-column: auto; }
  .ownership-costs,.questions-panel,.guide-cta { padding-block: 80px; }
  .cost-stack article { padding-left: 58px; }
  .buying-steps { padding-block: 80px; }
  .buying-steps ol { grid-template-columns: 1fr; }
  .stays-hero__image { min-height: 440px; }
  .stays-hero__copy { min-height: 570px; padding: 65px 20px 230px; }
  .stays-hero h1 { font-size: clamp(4.4rem,21vw,6rem); }
  .stay-search-card { right: 16px; bottom: -315px; left: 16px; grid-template-columns: 1fr; }
  .stay-search-card label { min-height: 72px; border-right: 0; border-bottom: 1px solid var(--line); }
  .stay-search-card > small { bottom: -42px; left: 0; }
  .stay-results { padding-top: 420px; padding-bottom: 80px; }
  .stay-grid { grid-template-columns: 1fr; }
  .stay-result-card:last-child { grid-column: auto; width: auto; }
  .sublet-story,.shortlist-tip,.operator-guarantee,.sublet-angle,.operator-service { padding-block: 80px; }
  .sublet-story dl > div { grid-template-columns: 1fr; gap: 6px; }
  .stay-to-own { grid-template-columns: 1fr; padding-block: 80px; }
  .stay-to-own img { min-height: 380px; }
  .stay-to-own > div { padding: 40px 22px; }
  .stay-heading { align-items: flex-start; flex-direction: column; padding-top: 40px; }
  .stay-heading h1 { font-size: clamp(4.2rem,19vw,5.8rem); }
  .stay-gallery { width: 100%; height: 620px; grid-template-columns: 1fr 1fr; grid-template-rows: 1.5fr .7fr; gap: 4px; }
  .stay-gallery__main { grid-column: 1/-1; grid-row: auto; }
  .stay-layout { width: calc(100% - 32px); padding-block: 70px 90px; }
  .stay-key-facts { grid-template-columns: 1fr 1fr; }
  .stay-key-facts span:nth-child(odd) { border-left: 0; }
  .stay-key-facts span:nth-child(n+3) { border-top: 1px solid var(--line); }
  .amenity-grid { grid-template-columns: 1fr; }
  .saved-hero { padding-block: 75px; }
  .saved-tabs { gap: 18px; }
  .saved-tabs button { font-size: 1.05rem; }
  .saved-empty { padding: 35px 24px; }
  .operator-hero { padding-top: 30px; }
  .operator-hero h1 { font-size: clamp(4rem,19vw,5.6rem); }
  .operator-hero ul { display: grid; }
  .operator-problem,.founding-offer,.operator-product,.operator-form-section { padding-block: 80px; }
  .operator-problem dl > div { grid-template-columns: 1fr; gap: 6px; }
  .offer-card { padding: 30px 24px; box-shadow: 8px 8px 0 var(--coral); }
  .offer-price strong { font-size: 4.4rem; }
  .operator-guarantee .qualified-enquiry { grid-template-columns: 1fr; text-align: center; }
  .operator-service article { padding: 28px 22px; }
  .operator-product figure { min-height: 400px; }
  .operator-form { padding: 28px 20px; }
  .information-page { padding-block: 70px 100px; }
  .information-page aside { gap: 14px; }
  .confirmation-hero__layout { gap: 52px; min-height: 0; padding-block: 58px 74px; }
  .confirmation-message::before { top: -80px; right: -180px; width: 360px; height: 360px; }
  .confirmation-message::after { display: none; }
  .confirmation-status { margin-bottom: 32px; }
  .confirmation-status svg { width: 42px; height: 42px; }
  .confirmation-message h1 { margin-block: 16px 24px; font-size: clamp(3.7rem,17.3vw,4.85rem); overflow-wrap: normal; }
  .confirmation-lead { font-size: 1rem; }
  .confirmation-actions { align-items: stretch; flex-direction: column; margin-top: 30px; }
  .confirmation-actions .button,.confirmation-actions .quiet-link { width: 100%; justify-content: center; }
  .confirmation-actions .quiet-link { min-height: 48px; }
  .confirmation-complete { display: grid; gap: 4px; margin-top: 34px; }
  .confirmation-next { box-shadow: 8px 8px 0 var(--coral); }
  .confirmation-next > header { padding: 30px 22px 26px; }
  .confirmation-next h2 { font-size: 2.65rem; }
  .confirmation-next ol { padding-inline: 22px; }
  .confirmation-next li { grid-template-columns: 32px 1fr; gap: 12px; padding-block: 21px; }
  .confirmation-assurance { grid-template-columns: 1fr; }
  .confirmation-assurance p { padding: 18px 22px; }
  .confirmation-assurance p + p { border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
  .confirmation-route { padding-block: 72px; }
  .confirmation-route h2 { font-size: clamp(3.35rem,16vw,4.4rem); }
  .confirmation-route .button { width: 100%; }
}
