/* Local tier-page preview. Existing ALYI fonts, palette and site chrome remain. */
body.tier-detail { --tier-content-width: 1180px; --tier-panel-gap: 32px; }
body.tier-detail main { color: var(--menu-purple); background: var(--light-surface); padding-top: 60px; }
body.tier-detail main .wrap { max-width: var(--tier-content-width); padding-inline: 32px; }
body.tier-detail main .tier-hero {
  position: relative; display: flex; align-items: center; min-height: 580px;
  height: min(660px, 70vh); padding: 64px 0; isolation: isolate;
  background: var(--menu-purple); overflow: hidden; text-align: left;
}
.tier-hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; z-index: -2; }
body.tier-detail .tier-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(53,21,28,.86),rgba(53,21,28,.7) 47%,rgba(53,21,28,.2)); }
body.page-aura .tier-hero-photo { object-position: center 44%; }
body.page-luminous .tier-hero-photo { object-position: center; }
body.page-glow .tier-hero-photo { object-position: center 35%; }
body.page-pulse .tier-hero-photo { object-position: right center; }
body.tier-detail .tier-hero-inner { width: 100%; }
body.tier-detail main .tier-hero h1 { max-width: 18ch; margin: 0; font-size: clamp(44px,4.6vw,64px); line-height: 1.12; letter-spacing: 0; text-align: left; color: #fffaf5; }
body.tier-detail main .tier-hero h1 em { display: block; margin-top: 12px; max-width: 40ch; font-family: var(--flourish); font-size: 30px; font-weight: 500; font-style: italic; line-height: 1.3; color: var(--preview-gold-pink); }
body.tier-detail main .tier-hero p:not(.hero-sub) { max-width: 48ch; margin: 24px 0 0; color: #fffaf5; font-size: 15px; line-height: 1.8; text-align: left; }
body.tier-detail main .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; font-size: 11px !important; letter-spacing: .12em !important; padding: 12px 24px !important; }
.tier-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 28px; }
body.tier-detail .tier-hero .btn { margin: 0; }
body.tier-detail .tier-jump { display: inline-flex; align-items: center; min-height: 44px; color: #fffaf5; font-size: 12px; text-decoration: underline; text-underline-offset: 5px; }
body.tier-detail .tier-jump:hover { color: var(--preview-gold-pink); }
body.tier-detail .tier-hero :is(a,button):focus-visible { outline: 2px solid #fffaf5; outline-offset: 5px; }
.tier-facts { padding-block: 26px; background: var(--light-surface); }
.tier-facts dl { display: flex; justify-content: flex-start; gap: 32px 80px; margin: 0; }
.tier-facts dt { margin-bottom: 5px; font-family: var(--body); font-size: 10px; line-height: 1.5; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; }
.tier-facts dd { margin: 0; font-family: var(--display); font-size: 20px; line-height: 1.5; }
body.tier-detail main .tier-overview { padding-block: 64px; background: var(--menu-purple); color: #fffaf5; }
body.tier-detail main .tier-overview h2 { max-width: 28ch; margin: 0 auto 20px; font-size: 38px; line-height: 1.22; color: #fffaf5; text-align: center; }
body.tier-detail main .tier-overview p { max-width: 66ch; margin: 0 auto; color: #fffaf5; font-size: 14px; text-align: center; }
body.tier-detail main .tier-inclusions { padding-block: 80px; background: var(--light-surface); }
body.tier-detail main .tier-inclusions h2 { margin: 0 0 36px; font-size: 42px; text-align: left; }
#included, #walkaway { scroll-margin-top: 84px; }
.tier-scope-panels { display: grid; gap: var(--tier-panel-gap); }
.tier-scope-panel { display: grid; grid-template-columns: 46% 54%; align-items: stretch; min-width: 0; min-height: 408px; background: var(--preview-gold-pink); }
.tier-scope-panel:nth-child(even) { background: var(--preview-cashmere); }
.tier-scope-visual { position: relative; margin: 0; min-width: 0; min-height: 0; }
.tier-scope-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tier-scope-visual.is-project { display: flex; flex-direction: column; justify-content: center; padding: 24px; }
.tier-scope-visual.is-project > a { display: block; width: 100%; }
.tier-scope-visual.is-project img { width: 100%; height: auto; aspect-ratio: 1440 / 1000; object-fit: contain; }
.tier-scope-visual figcaption { margin-top: 14px; font-size: 11px; line-height: 1.6; text-align: left; }
.tier-scope-visual figcaption a { text-decoration: underline; text-underline-offset: 4px; }
.tier-scope-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 40px 44px; min-width: 0; }
body.tier-detail main .tier-scope-copy h3 { margin: 0 0 18px; font-size: 28px; line-height: 1.25; text-align: left; }
body.tier-detail main .tier-scope-copy p { margin: 0; max-width: 52ch; font-size: 14px; line-height: 1.8; text-align: left; }
.tier-scope-copy ul { list-style: disc; margin: 20px 0 0; padding-left: 18px; font-size: 13px; line-height: 1.9; }
.tier-scope-copy li { padding-left: 3px; }
body.tier-detail main .tier-scope-note { max-width: 76ch; margin: 28px 0 0; font-size: 12px; text-align: left; }
.tier-related-services { margin-top: 48px; }
body.tier-detail main .tier-related-services h3 { margin: 0 0 24px; font-size: 27px; text-align: left; }
.tier-related-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.tier-related { padding: 28px; background: var(--preview-cashmere); }
body.tier-detail main .tier-related h4 { margin: 0 0 12px; font-family: var(--display); font-size: 23px; line-height: 1.3; font-weight: 400; }
body.tier-detail main .tier-related p { margin: 0; font-size: 13px; text-align: left; }
body.tier-detail main .tier-related .related-facts { margin-bottom: 14px; font-size: 12px; line-height: 1.75; }
body.tier-detail main .tier-faq { padding-block: 72px; background: var(--preview-gold-pink); }
.tier-faq-list { max-width: 820px; margin: 0 auto; }
body.tier-detail main .tier-faq h2 { margin: 0 auto 32px; font-size: 40px; text-align: center; }
.tier-faq details { border-bottom: 1px solid #71343b33; }
.tier-faq summary { position: relative; padding: 22px 42px 22px 0; min-height: 64px; list-style: none; font-family: var(--display); font-size: 19px; line-height: 1.45; cursor: pointer; text-align: left; }
.tier-faq summary::-webkit-details-marker { display: none; }
.tier-faq summary::marker { content: ''; }
.tier-faq summary:hover { color: var(--brand-pink); }
.tier-faq summary:focus-visible { outline: 2px solid var(--menu-purple); outline-offset: 4px; }
.tier-faq summary svg { position: absolute; right: 2px; top: 25px; width: 18px; height: 18px; }
.tier-faq details[open] .faq-vertical { display: none; }
body.tier-detail main .tier-faq details p { max-width: 68ch; margin: 0; padding: 0 32px 24px 0; font-size: 14px; line-height: 1.85; text-align: left; }
body.tier-detail main .tier-close { padding-block: 80px; background: var(--light-surface); text-align: center; }
body.tier-detail main .tier-close h2 { max-width: 28ch; margin: 0 auto 28px; font-size: 40px; line-height: 1.25; text-align: center; }
.tier-close .btn { margin: 0; }
body.tier-detail main .tier-alternative { margin: 24px auto 0; max-width: 56ch; font-size: 12px; line-height: 1.7; text-align: center; }
.tier-alternative a { display: inline-block; min-height: 36px; padding-block: 8px; text-decoration: underline; text-underline-offset: 4px; }
body.tier-detail main a:focus-visible { outline: 2px solid var(--menu-purple); outline-offset: 5px; }
body.tier-detail main .tier-hero a:focus-visible { outline-color: #fffaf5; }
@media (max-width: 900px) {
  body.tier-detail main .wrap { padding-inline: 28px; }
  .tier-scope-panel { grid-template-columns: 42% 58%; }
  .tier-scope-copy { padding: 32px; }
  body.tier-detail main .tier-scope-copy h3 { font-size: 25px; }
  .tier-scope-visual.is-project { padding: 18px; }
  body.tier-detail main .tier-hero h1 em { font-size: 27px; }
}
@media (max-width: 620px) {
  body.tier-detail main { padding-top: 56px; }
  body.tier-detail main .wrap { padding-inline: 24px; }
  body.tier-detail main .tier-hero { height: auto; min-height: 500px; padding-block: 56px; }
  body.tier-detail .tier-hero::before { background: rgba(53,21,28,.74); }
  body.tier-detail main .tier-hero h1 { font-size: 40px; max-width: 18ch; }
  body.tier-detail main .tier-hero h1 em { font-size: 24px; margin-top: 12px; }
  body.tier-detail main .tier-hero p:not(.hero-sub) { font-size: 14px; max-width: 36ch; margin-top: 22px; }
  .tier-hero-actions { margin-top: 24px; column-gap: 22px; }
  .tier-facts { padding-block: 22px; }
  .tier-facts dl { flex-direction: column; gap: 18px; }
  .tier-facts dd { font-size: 18px; }
  body.tier-detail main .tier-overview { padding-block: 48px; }
  body.tier-detail main .tier-overview h2 { font-size: 30px; margin-bottom: 18px; }
  body.tier-detail main .tier-overview p { text-align: left; }
  body.tier-detail main .tier-inclusions { padding-block: 56px; }
  body.tier-detail main .tier-inclusions h2 { font-size: 32px; margin-bottom: 28px; }
  .tier-scope-panel { grid-template-columns: minmax(0,1fr); min-height: 0; }
  .tier-scope-visual { min-height: 0; height: 220px; }
  .tier-scope-visual.is-project { height: auto; padding: 20px; }
  .tier-scope-copy { padding: 28px; }
  body.tier-detail main .tier-scope-copy h3 { font-size: 25px; margin-bottom: 14px; }
  .tier-scope-copy ul { margin-top: 16px; }
  .tier-related-list { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .tier-related { padding: 24px; }
  body.tier-detail main .tier-faq { padding-block: 52px; }
  body.tier-detail main .tier-faq h2 { font-size: 31px; margin-bottom: 24px; }
  .tier-faq summary { font-size: 18px; padding-block: 20px; }
  body.tier-detail main .tier-faq details p { padding-right: 8px; }
  body.tier-detail main .tier-close { padding-block: 56px; }
  body.tier-detail main .tier-close h2 { font-size: 31px; }
  #included, #walkaway { scroll-margin-top: 76px; }
}
@media (max-height: 500px) and (min-width: 621px) {
  body.tier-detail main .tier-hero { min-height: 380px; height: auto; padding-block: 40px; }
  body.tier-detail main .tier-hero h1 { font-size: 42px; }
}
