/* Shared 2026 direction: warm white, stone, navy. No legacy theme restyling. */
:root { --a360-paper: #fbfaf6; --a360-stone: #eeeae2; --a360-ivory: var(--a360-stone); --a360-ivory-2: var(--a360-paper); }
.a360-homepage { overflow: clip; }
.a360-showcase, .a360-markets, .a360-property-directory, .a360-immersive { background: var(--a360-stone); }
.a360-logo-shell, .a360-logo-row { background: var(--a360-paper); }
.a360-logo-row::before { background: linear-gradient(90deg,var(--a360-paper),transparent); }
.a360-logo-row::after { background: linear-gradient(270deg,var(--a360-paper),transparent); }
.a360-homepage :focus-visible { outline: 2px solid var(--a360-gold); outline-offset: 5px; }

/* Keep the review composition; replace narrow, hover-only glyphs with real controls. */
.a360-trust-review-card .a360-review-arrow:not(:disabled) { width: 36px; height: 36px; opacity: .85; pointer-events: auto; border: 1px solid var(--a360-line); background: var(--a360-paper); color: var(--a360-navy); box-shadow: 0 3px 12px #07182708; transform: translateY(-50%); }
.a360-trust-review-card .a360-review-arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.a360-trust-review-card .a360-review-arrow-prev { left: 8px; }
.a360-trust-review-card .a360-review-arrow-next { right: 8px; }
.a360-trust-review-card .a360-review-arrow:hover, .a360-trust-review-card .a360-review-arrow:focus-visible { background: var(--a360-navy); color: white; opacity: 1; transform: translateY(-50%); }

/* The closing photograph is a single, generous visual moment. */
.a360-editorial-cta { position: relative; isolation: isolate; min-height: clamp(640px,84svh,1000px); display: flex; align-items: center; color: var(--a360-paper); background: var(--a360-navy); }
.a360-homepage .a360-editorial-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 54% 52%; z-index: -2; }
.a360-editorial-cta::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(20,21,19,.72),rgba(20,21,19,.40) 54%,rgba(20,21,19,.15)); }
.a360-editorial-content { width: 100%; max-width: 1600px; padding: 100px clamp(24px,5vw,96px); }
.a360-editorial-content .a360-eyebrow { color: #fff; font-size: 10px; margin-bottom: 28px; }
.a360-editorial-content h2 { color: var(--a360-paper); font: 400 clamp(64px,6.7vw,108px)/1.04 var(--a360-serif); letter-spacing: -.025em; text-transform: none; margin: 0 0 30px; }
.a360-editorial-content h2 > span { display: block; }
.a360-editorial-content h2 > span:last-child { color: #e0c98f; font-style: italic; }
.a360-editorial-content > p:not(.a360-eyebrow) { color: #f4f1e9; font-size: 16px; line-height: 1.85; margin: 0 0 32px; }
.a360-editorial-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.a360-homepage .a360-pill { display: inline-flex; min-height: 56px; justify-content: center; align-items: center; padding: 16px 32px; background: var(--a360-paper); border-radius: 100px; color: var(--a360-navy); font-size: 14px; font-weight: 700; transition: background .3s, transform .3s; }
.a360-pill:hover { background: #fff; transform: translateY(-2px); }
.a360-editorial-cta .a360-pill { border-radius: 0; min-height: 45px; padding: 15px 28px; font-size: 11px; letter-spacing: .11em; text-transform: uppercase; background: var(--a360-gold); }
.a360-editorial-cta .a360-pill:hover { background: #d9bd7d; }
.a360-homepage .a360-quiet-link { display: inline-block; font-size: 14px; font-weight: 700; padding: 10px 0; border-bottom: 1px solid currentColor; text-decoration: none; }
.a360-homepage .a360-editorial-actions .a360-quiet-link { display: inline-flex; align-items: center; justify-content: center; min-height: 45px; padding: 14px 28px; border: 1px solid rgba(255,255,255,.75); font-size: 11px; letter-spacing: .11em; text-transform: uppercase; transition: color 300ms ease, background-color 300ms ease, border-color 300ms ease; }
.a360-homepage .a360-editorial-actions .a360-quiet-link:hover { background: rgba(255,255,255,.12); border-color: white; color: white; }
.a360-homepage .a360-editorial-actions a:focus-visible { outline: 2px solid var(--a360-gold); outline-offset: 5px; }

/* Pointer interaction never alters the moving marks. Keyboard navigation keeps
   a separate accessible, stationary focus path through the original set. */
.a360-homepage .a360-client-logo,
.a360-homepage .a360-client-logo:hover { transform: none; transition: none; z-index: 1; }
.a360-homepage .a360-client-logo img,
.a360-homepage .a360-client-logo:hover img { transform: none; transition: none; filter: saturate(1.06) contrast(1.02) opacity(.92); }
.a360-homepage .a360-logo-row.is-keyboard-browsing { overflow-x: auto; scroll-behavior: auto; scroll-padding-inline: 24px; scrollbar-width: thin; scrollbar-color: var(--a360-gold) transparent; }
.a360-homepage .a360-logo-row.is-keyboard-browsing .a360-logo-track { animation: none; transform: none; }
.a360-homepage .a360-logo-row.is-keyboard-browsing .a360-logo-set[aria-hidden="true"],
.a360-homepage .a360-logo-row.is-keyboard-browsing::before,
.a360-homepage .a360-logo-row.is-keyboard-browsing::after { display: none; }
.a360-homepage a.a360-client-logo { text-decoration: none; }
.a360-homepage a.a360-client-logo:focus-visible { outline: 2px solid var(--a360-gold); outline-offset: -3px; }
@media (max-width: 720px) {
  .a360-homepage #why .a360-editorial-content > p:not(.a360-eyebrow) { display: none; }
  .a360-homepage .a360-review-controls { display: none; }
  .a360-homepage .a360-google-rating { gap: 10px; align-items: center; }
  .a360-homepage .a360-google-rating .a360-stars { font-size: 24px; letter-spacing: .045em; line-height: 1; }
  .a360-homepage .a360-google-rating .a360-rating { font: 600 23px/1 var(--a360-sans); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.025em; text-shadow: none; }
}

/* Standalone pages share the new typography, spacing and navigation. */
body.a360-designed-page { margin: 0; }
.a360-designed-page h1, .a360-designed-page h2, .a360-designed-page h3, .a360-designed-page p, .a360-designed-page figure { margin-top: 0; }
.a360-designed-page button, .a360-designed-page input, .a360-designed-page textarea { font-family: var(--a360-sans); }
.a360-designed-page button { cursor: pointer; }
.a360-designed-page .a360-shell { max-width: 1440px; padding-inline: clamp(24px,4vw,64px); }
.a360-page-header { position: relative; padding-block: 32px; min-height: 116px; }
.a360-page-header .a360-logo, .a360-page-header .a360-logo span, .a360-page-header .a360-nav a:not(.a360-btn) { color: var(--a360-navy); }
.a360-page-header .a360-menu-toggle { color: var(--a360-navy); border-color: var(--a360-line); }
.a360-skip { position: absolute; left: 24px; top: -100px; z-index: 100; background: var(--a360-paper); padding: 12px; }
.a360-skip:focus { top: 12px; }
.a360-page-intro { min-height: 680px; padding-block: 72px 100px; display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: clamp(48px,7vw,112px); }
.a360-page-intro h1 { color: var(--a360-navy-2); font: 500 clamp(60px,6.1vw,92px)/1 var(--a360-serif); letter-spacing: -.035em; margin-bottom: 28px; }
.a360-page-intro h1 em { font-weight: inherit; color: #a58343; }
.a360-page-lede { max-width: 510px; color: var(--a360-muted); font-size: 16px; line-height: 1.9; margin-bottom: 30px; }
.a360-page-intro figure { margin: 0; }
.a360-homepage .a360-page-intro figure img { width: 100%; height: clamp(500px,60svh,680px); object-fit: cover; }
.a360-page-intro figcaption { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; padding-top: 18px; color: var(--a360-muted); }
.a360-service-index { margin-top: 38px; max-width: 500px; display: flex; gap: 10px 20px; flex-wrap: wrap; }
.a360-service-index a { border-bottom: 1px solid var(--a360-line); font-size: 12px; padding-bottom: 5px; }
.a360-service-index a:hover { border-color: var(--a360-gold); }
.a360-approach { padding-block: 100px 110px; }
.a360-section-intro { display: grid; grid-template-columns: 1.3fr 1fr; gap: 20px 80px; align-items: end; }
.a360-section-intro .a360-eyebrow { grid-column: 1/-1; margin-bottom: 0; }
.a360-section-intro h2, .a360-plan-section h2 { color: var(--a360-navy-2); font: 500 clamp(44px,4.2vw,64px)/1.05 var(--a360-serif); letter-spacing: -.025em; margin-bottom: 0; }
.a360-section-intro > p:last-child, .a360-plan-section p { color: var(--a360-muted); line-height: 1.9; font-size: 15px; }
.a360-approach-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 48px; margin-top: 58px; margin-bottom: 24px; }
.a360-approach-grid article { border-top: 1px solid var(--a360-line); padding-top: 24px; }
.a360-approach-grid span { color: #a58343; font-size: 10px; letter-spacing: .15em; }
.a360-approach-grid h3 { font: 500 32px/1.1 var(--a360-serif); color: var(--a360-navy-2); margin: 20px 0 16px; }
.a360-approach-grid p { font-size: 14px; color: var(--a360-muted); line-height: 1.8; }
.a360-page-cta { background: var(--a360-navy); color: var(--a360-paper); padding: 100px 0; }
.a360-page-cta h2 { color: inherit; font: 500 clamp(52px,5.5vw,82px)/1 var(--a360-serif); letter-spacing: -.02em; margin: 0 0 38px; }
.a360-plan-section { padding-block: 110px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; }
.a360-plan-section figure { margin: 0; background: white; padding: 28px; }
.a360-plan-section h2 { margin-bottom: 26px; }
.a360-plan-section .a360-eyebrow { color: #a58343; font-size: 11px; }
.a360-designed-page .a360-booking { min-height: 72svh; display: flex; align-items: center; padding-block: 100px; }
.a360-designed-page .a360-booking-grid { width: 100%; }
.a360-designed-page .a360-immersive-grid { max-width: none; padding-inline: 0; }
.a360-designed-page .a360-booking h1 { font-size: clamp(52px,5vw,76px); }
.a360-designed-page .a360-footer ul { padding: 0; }
.a360-designed-page .a360-markets.is-scroll-ready { height: 150svh; }
.a360-homepage .a360-press-strip, body.home .a360-squeaky-credit { background: var(--a360-navy); }

@media (max-width: 900px) {
 .a360-page-intro { gap: 36px; padding-block: 44px 72px; }
 .a360-page-intro h1 { font-size: 60px; }
 .a360-page-intro .a360-eyebrow { line-height: 1.7; }
 .a360-section-intro { gap: 24px; }
 .a360-approach-grid { gap: 28px; }
 .a360-plan-section { gap: 40px; }
}
@media (max-width: 720px) {
 .a360-trust-review-card .a360-review-arrow:not(:disabled) { width: 32px; height: 32px; }
 .a360-trust-review-card .a360-review-arrow-prev { left: 2px; }
 .a360-trust-review-card .a360-review-arrow-next { right: 2px; }
 .a360-editorial-cta { min-height: clamp(540px,76svh,740px); }
 .a360-editorial-content { padding-block: 76px; text-align: center; }
 .a360-editorial-content h2 { font-size: clamp(34px,10.5vw,68px); margin-bottom: 32px; }
 .a360-editorial-content h2 > span { white-space: nowrap; }
 .a360-editorial-content .a360-eyebrow { max-width: none; font-size: 9px; line-height: 1.7; letter-spacing: .13em; margin-bottom: 24px; }
 .a360-editorial-actions { justify-content: center; gap: 12px; }
 .a360-homepage .a360-editorial-actions :is(.a360-pill, .a360-quiet-link) { min-height: 48px; min-width: 138px; padding: 14px 16px; font-size: 10px; letter-spacing: .07em; }
 .a360-editorial-cta::after { background: linear-gradient(180deg,#07182759,#07182794 38%,#07182794 70%,#0718274d); }
 .a360-homepage .a360-editorial-backdrop { object-position: 62% 50%; }
 .a360-page-header { min-height: 100px; padding-block: 24px; }
 .a360-page-header .a360-nav { top: 90px; left: 24px; right: 24px; background: var(--a360-paper); border: 1px solid var(--a360-line); box-shadow: 0 20px 40px #07182714; }
 .a360-page-intro { display: flex; flex-direction: column; align-items: stretch; gap: 48px; min-height: 0; }
 .a360-page-intro h1 { font-size: clamp(54px,11.5vw,74px); }
 .a360-page-lede { font-size: 15px; }
 .a360-homepage .a360-page-intro figure img { height: 500px; }
 .a360-section-intro { display: block; }
 .a360-section-intro h2 { margin: 22px 0; }
 .a360-approach { padding-block: 72px; }
 .a360-approach-grid { grid-template-columns: 1fr; gap: 20px; margin-top: 38px; }
 .a360-approach-grid h3 { margin: 12px 0; }
 .a360-page-cta { padding: 76px 0; }
 .a360-plan-section { grid-template-columns: 1fr; padding-block: 76px; gap: 42px; }
 .a360-designed-page .a360-booking { padding-block: 65px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .a360-pill, .a360-review-arrow { transition: none !important; }
}
