/* One shared visual language: retained purples, spacious copy and quiet motion. */
.quote-weather { display: inline-flex; width: 20px; height: 20px; flex: 0 0 20px; color: #e8e2f5; }
.quote-weather svg { width: 100%; height: 100%; }
.quote-weather[data-kind="sun"], .quote-weather[data-kind="storm"] { color: #ffda70; }
.quote-weather[data-kind="snow"], .quote-weather[data-kind="rain"] { color: #9bdfff; }
.site-header :is(.btn-nav,.header-quote,.nav-mobile .btn) { gap: .5rem; }

/* The two hero panels share a row, with natural content height and no empty column. */
.hero-feature.hero-home-balanced { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.hero-feature.hero-home-balanced .hero-inner { gap: 1.5rem; padding-block: 0; }
.hero-home-balanced .hero-top-with-frame { align-items: stretch; }
.hero-home-balanced .hero-top-with-frame > .hero-copy {
  align-self: stretch !important; justify-content: center !important; gap: 1.2rem !important;
  padding: clamp(1.35rem, 3vw, 2.2rem) !important; margin: 0 !important;
  min-width: 0; width: 100% !important; height: auto !important;
  background-image: none !important; backdrop-filter: none !important;
  -webkit-mask-image: none !important; mask-image: none !important;
}
.hero-home-balanced .hero-intro-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; }
.hero-home-balanced .hero-copy .greeting { display: block !important; margin: 0 !important; padding: 0 !important; min-height: 0; flex: 1 1 12rem; }
.hero-home-balanced .hero-copy h1 { text-align: left !important; margin: 0 !important; font-size: clamp(1.65rem, 2.65vw, 2.6rem); line-height: 1.2; text-wrap: balance; }
.hero-home-balanced .hero-copy > .lede {
  position: static !important; inset: auto !important; display: block !important;
  margin: 0 !important; padding: 0 !important; max-width: 33rem !important; width: auto !important;
  text-align: left !important; font-size: 1.1rem !important; line-height: 1.55 !important;
}
.hero-home-balanced .hero-trust-note { margin: 0; color: var(--purple-200); font-size: .9rem; line-height: 1.5; }
.hero-main-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.2rem; }
.hero-main-actions .btn { min-height: 48px; white-space: normal; text-align: center; max-width: 100%; }
.hero-home-balanced .hero-services-link { color: var(--purple-100); font-size: .95rem; text-underline-offset: .25em; }
.hero-home-balanced .hero-services-link:hover { text-decoration-color: var(--champagne); }
/* Keep the photo substantial while letting longer captions expand the card. */
.hero-feature.hero-has-crew-frame .seasonal-banner { width: min(100%, 34rem); }
.hero-feature.hero-has-crew-frame .seasonal-banner .hero-crew-card {
  min-height: 25rem; aspect-ratio: auto; border-radius: 2rem;
}
.hero-home-balanced .seasonal-banner { align-self: stretch; }
.hero-home-balanced .seasonal-banner .hero-crew-card { flex: 1 0 auto; }
.seasonal-banner .hero-crew-slideshow .slide { object-position: 50% 20%; }
.seasonal-banner .hero-crew-card-copy { padding: 5rem 2rem 1.6rem; gap: .65rem; }
.seasonal-banner .hero-crew-card-copy h3 { font-family: var(--font-body, system-ui); font-size: clamp(1.45rem, 2.1vw, 1.9rem); font-variant: normal; text-transform: none; line-height: 1.2; font-weight: 650; letter-spacing: -.025em; text-wrap: balance; }
.seasonal-banner .hero-crew-card-copy > p:not(.seasonal-eyebrow):not(.hero-crew-card-actions) { max-width: 28rem; font-size: 1rem; line-height: 1.5; }
.seasonal-banner .seasonal-eyebrow { font-size: .75rem; line-height: 1.3; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.seasonal-choices { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1rem; }
.seasonal-choices[hidden] { display: none; }
.seasonal-choices button { min-height: 44px; padding: .55rem .85rem; border: 1px solid var(--purple-500); border-radius: 999px; font: 600 .85rem/1.3 var(--font-body, system-ui); cursor: pointer; background: var(--purple-800); color: var(--purple-100); }
.seasonal-choices button[aria-pressed="true"] { background: var(--purple-200); color: var(--purple-800); border-color: var(--purple-200); }
.seasonal-choices button:hover { border-color: var(--purple-100); }

/* A full-width audience section: useful cards and a real crew photo together. */
.section.band.section-rely { display: block; padding: clamp(2rem, 5vw, 4rem) 0; }
.section-rely .section-shell { width: min(76rem, calc(100% - 2rem)); max-width: none; margin: 0 auto; padding: 0; }
.section-rely .section-head { max-width: 44rem; margin: 0 auto 1.75rem; text-align: center; }
.section-rely .section-head p { color: var(--gallery-muted); }
.rely-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: clamp(1.5rem, 4vw, 3rem); }
.section-rely .rely-grid { display: grid; grid-template-columns: 1fr; gap: .85rem; margin: 0; min-width: 0; }
.section-rely .rely-card-link { grid-template-columns: 4.5rem minmax(0,1fr); padding: 1rem; gap: 1rem; align-items: center; }
.section-rely .rely-card h3 { letter-spacing: .035em; margin-bottom: .4rem; }
.section-rely .rely-card h3::after { display: none; }
.section-rely .rely-card p { font-size: .95rem; line-height: 1.5; }
.section-rely .rely-stat { width: 4.5rem; min-height: 4.5rem; box-shadow: none; }
.rely-photo-frame { min-width: 0; margin: 0; padding: .6rem; border: 1px solid var(--champagne); border-radius: 1.3rem; background: var(--gallery-white); box-shadow: var(--gallery-shadow); }
.section-rely .rely-photo { display: block; width: 100%; height: auto; min-height: 0; aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: .8rem; -webkit-mask-image: none; mask-image: none; }
.rely-photo-frame figcaption { padding: .85rem .5rem .35rem; color: var(--gallery-muted); font-size: .85rem; line-height: 1.5; text-align: center; }
@media (max-width: 899px) {
 .rely-content { grid-template-columns: 1fr; }
 .rely-photo-frame { width: min(100%, 38rem); justify-self: center; box-sizing: border-box; }
}
@media (max-width: 389px) {
 .section-rely .rely-card-link { grid-template-columns: 1fr; gap: .65rem; }
 .section-rely .rely-stat { width: auto; min-height: 0; flex-direction: row; justify-content: flex-start; padding: .4rem .6rem; gap: .45rem; }
}

/* Three drifting banks of mist, fading into wisps without covering the type. */
.site-header .utility-bar > .sky-live { display: block; }
html[data-sky] .utility-bar .sky-cloud {
  width: 13rem; height: 4rem; top: -1rem; left: -15%; border-radius: 50%; box-shadow: none;
  background: radial-gradient(ellipse at 26% 65%, #e8e2f5 0 15%, transparent 55%), radial-gradient(ellipse at 53% 40%, #cfc4e8 0 14%, transparent 62%), radial-gradient(ellipse at 76% 66%, #e8e2f5 0 10%, transparent 51%);
  opacity: 0; animation: header-cloud-dissolve 64s linear infinite; pointer-events: none;
}
html[data-sky] .utility-bar .sky-cloud-b { animation-duration: 83s; animation-delay: -29s; top: -.7rem; width: 17rem; }
html[data-sky] .utility-bar .sky-cloud-c { animation-duration: 101s; animation-delay: -58s; top: -1.2rem; width: 11rem; }
@keyframes header-cloud-dissolve {
  0% { transform: translateX(0) scale(.85); opacity: 0; filter: blur(4px); }
  18% { opacity: .16; filter: blur(5px); }
  50% { opacity: .2; filter: blur(7px); }
  76% { opacity: .09; filter: blur(13px); }
  91%,100% { transform: translateX(115vw) scale(1.4); opacity: 0; filter: blur(18px); }
}
@media (max-width: 759px) {
  .hero-feature.hero-has-crew-frame .seasonal-banner { width: 100%; }
  .hero-feature.hero-has-crew-frame .seasonal-banner .hero-crew-card { min-height: 26rem; border-radius: 1.5rem; }
  .seasonal-banner .hero-crew-card-copy { padding: 5rem 1.25rem 1.4rem; }
}
@media (max-width: 899px) {
  .hero-feature.hero-home-balanced { padding-top: 1rem; }
  .hero-home-balanced .hero-top-with-frame { gap: 1rem; }
  .hero-feature.hero-home-balanced .seasonal-banner { width: 100%; }
  .hero-home-balanced .hero-top-with-frame > .hero-copy { gap: 1rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-sky] .utility-bar .sky-cloud { animation: none; opacity: .1; filter: blur(7px); transform: none; left: 8%; }
  html[data-sky] .utility-bar .sky-cloud-b { left: 60%; }
  html[data-sky] .utility-bar .sky-cloud-c { display: none; }
}
/* Keep the founder marks and legal links within the phone width at enlarged type. */
@media(max-width:760px){
 .section-anniversary.is-plain .anniversary-intro{grid-template-columns:minmax(0,1fr)}
 .section-anniversary.is-plain :is(.anniversary-identity,.anniversary-identity-copy,.anniversary-marks){min-width:0;max-width:100%}
 .section-anniversary.is-plain .anniversary-marks{flex-wrap:wrap}
 .site-footer :is(.footer-legal,.footer-legal-nav){min-width:0;max-width:100%;flex-wrap:wrap}
}
