.home-layout-additions{position:relative;isolation:isolate;overflow:hidden;background:#fff;color:var(--navy)}.home-layout-additions:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:repeating-linear-gradient(174deg,transparent 0,transparent 320px,#e6f8fcaa 340px,transparent 360px,transparent 590px)}.home-layout-additions .ha-section{position:relative;padding:18px 0}.home-layout-additions .eyebrow{font-size:.75rem;letter-spacing:.18em;margin-bottom:3px;line-height:1.5}.home-layout-additions h2{font-size:clamp(1.9rem,2.65vw,2.85rem);line-height:1.12;margin:0 0 5px}.home-layout-additions h3{font-size:1.3rem;line-height:1.05;letter-spacing:-.025em}.home-layout-additions p{font-size:.88rem;line-height:1.35;margin:0}.home-layout-additions .ha-intro{font-size:1.1rem;color:var(--navy)}.home-layout-additions .ha-process{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}.home-layout-additions .ha-process li{position:relative;text-align:center;padding-top:0}.home-layout-additions .ha-process li>div{padding:0 16px;border-left:1px solid #dbeef5;min-height:142px}.home-layout-additions .ha-process li:first-child>div{border-left:0}.home-layout-additions .ha-process h3{margin-bottom:10px}.home-layout-additions .ha-step{display:grid;place-items:center;width:48px;height:48px;background:linear-gradient(145deg,#a7def3,#dbf6fc);border-radius:50%;font-size:1.2rem;font-weight:800;color:#06255e;margin:0 auto 10px}.home-layout-additions .ha-process li:not(:last-child):after{content:'›';position:absolute;width:calc(100% - 62px);height:1px;right:calc(-50% + 31px);top:24px;background:#acd9e9;color:#119ed0;line-height:0;font-size:1.7rem}.home-layout-additions .ha-trust-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:center}.home-layout-additions .ha-trust figure{position:relative;overflow:hidden;border-radius:34px 34px 45px 34px;min-width:0}.home-layout-additions .ha-trust img{width:100%;height:315px;object-fit:cover;transition:transform .5s}.home-layout-additions .ha-trust-intro{font-size:.98rem;margin:0 0 7px}.home-layout-additions .ha-checks{padding:0;list-style:none;display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:repeat(5,auto);grid-auto-flow:column;gap:3px 20px;margin:12px 0}.home-layout-additions .ha-checks li{display:flex;gap:9px;align-items:flex-start;font-size:.85rem;line-height:1.3;color:var(--text)}.home-layout-additions .ha-checks svg{color:#fff;fill:#09649b;stroke-width:2.5;width:18px;height:18px}.home-layout-additions .ha-trust .button{margin-top:14px}.home-layout-additions .button{font-size:.8rem;padding:12px 23px;min-height:44px;background:linear-gradient(180deg,#096ca5,#002d58 85%)}.home-layout-additions .home-add-wave{position:absolute;bottom:-1px;left:-3%;width:106%;height:83px;pointer-events:none}.home-layout-additions .home-add-wave svg{display:block;width:100%;height:100%}.home-layout-additions .ha-testimonials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}.home-layout-additions .ha-testimonials article{display:flex;gap:16px;padding:15px 16px 12px;border:1px solid #d4e7ef;border-radius:10px;background:#ffffffc9;min-width:0}.home-layout-additions .ha-quote{font:700 3.7rem/1 Georgia,serif;color:#0663a1;flex-shrink:0}.home-layout-additions .ha-testimonials h3{font-family:var(--font);font-weight:800;font-size:.79rem;letter-spacing:0;line-height:1.3;margin-bottom:8px}.home-layout-additions .ha-testimonials p{font-size:.77rem;font-style:italic;line-height:1.4;margin-bottom:7px}.home-layout-additions strong{color:var(--navy)}.home-layout-additions .ha-review-note{background:#eff7fa9c;border-radius:6px;width:fit-content;margin:6px auto 0;padding:5px 22px;text-align:center;font-size:.75rem}.home-layout-additions .ha-insight-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.home-layout-additions .ha-insight-heading .button{flex-shrink:0}.home-layout-additions .ha-featured-label{color:var(--navy);font-weight:700;margin:8px 0 5px}.home-layout-additions .ha-reading-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.home-layout-additions .ha-reading-grid article{overflow:hidden;border:1px solid #d8eaf1;border-radius:10px;background:#ffffffbd;transition:transform .25s,box-shadow .25s}.home-layout-additions .ha-reading-grid img{width:100%;height:130px;object-fit:cover}.home-layout-additions .ha-reading-grid article>div{padding:10px 13px 15px}.home-layout-additions .ha-reading-grid h3{font-size:1.16rem;margin-bottom:5px}.home-layout-additions .ha-reading-grid p{font-size:.83rem;line-height:1.4}.home-layout-additions .ha-faq{padding-top:0;padding-bottom:28px}.home-layout-additions .ha-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px;align-items:start}.home-layout-additions .ha-faq details{border:1px solid #d7e9f1;border-radius:7px;padding:9px 12px;background:#ffffffbd;min-width:0}.home-layout-additions .ha-faq details:nth-child(1){grid-area:1/1}.home-layout-additions .ha-faq details:nth-child(2){grid-area:2/1}.home-layout-additions .ha-faq details:nth-child(3){grid-area:3/1}.home-layout-additions .ha-faq details:nth-child(4){grid-column:2;grid-row:1}.home-layout-additions .ha-faq details:nth-child(5){grid-column:2;grid-row:2/4}.home-layout-additions .ha-faq summary{display:flex;align-items:flex-start;gap:10px;font-size:.79rem;font-weight:800;line-height:1.3;cursor:pointer;list-style:none}.home-layout-additions .ha-faq summary::-webkit-details-marker{display:none}.home-layout-additions .ha-faq summary svg{width:17px;height:17px;color:#00659e}.home-layout-additions .ha-faq summary svg:last-child{margin-left:auto;width:14px;height:14px;transition:transform .2s}.home-layout-additions .ha-faq details:not([open]) summary svg:last-child{transform:rotate(-90deg)}.home-layout-additions .ha-faq details p{margin:4px 15px 0 27px;font-size:.77rem;line-height:1.4}@media(hover:hover) and (pointer:fine){.home-layout-additions .ha-reading-grid article:hover{transform:translateY(-4px);box-shadow:0 12px 25px #07365b12}.home-layout-additions .ha-trust figure:hover img{transform:scale(1.025)}}@media(max-width:1050px){.home-layout-additions .ha-process{grid-template-columns:repeat(3,1fr);gap:20px 0}.home-layout-additions .ha-process li:nth-child(3):after{display:none}.home-layout-additions .ha-trust-grid{grid-template-columns:1fr 1.2fr;gap:23px}.home-layout-additions .ha-testimonials article{gap:9px;padding:14px 12px}.home-layout-additions .ha-insight-heading{align-items:flex-start}.home-layout-additions .ha-checks{column-gap:12px}}@media(max-width:780px){.home-layout-additions .ha-trust-grid{grid-template-columns:1fr}.home-layout-additions .ha-trust figure{max-width:600px}.home-layout-additions .ha-reading-grid{grid-template-columns:1fr 1fr}.home-layout-additions .ha-testimonials{grid-template-columns:1fr}.home-layout-additions .ha-insight-heading{display:block}.home-layout-additions .ha-insight-heading .button{margin:8px 0 12px}.home-layout-additions .ha-section{padding:22px 0}.home-layout-additions .ha-testimonials p{font-size:.85rem}}@media(max-width:520px){.home-layout-additions .container{width:calc(100% - 36px)}.home-layout-additions .ha-process{grid-template-columns:1fr 1fr}.home-layout-additions .ha-process li:nth-child(3):after{display:block}.home-layout-additions .ha-process li:nth-child(even):after{display:none}.home-layout-additions .ha-process li>div{padding-inline:10px}.home-layout-additions .ha-process li:nth-child(odd)>div{border-left:0}.home-layout-additions .ha-checks{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;gap:6px}.home-layout-additions .ha-trust img{height:255px}.home-layout-additions .ha-reading-grid{gap:12px}.home-layout-additions .ha-reading-grid img{height:115px}.home-layout-additions .ha-reading-grid article>div{padding:10px}.home-layout-additions .ha-faq-grid{display:flex;flex-direction:column}.home-layout-additions .ha-faq details{width:100%}.home-layout-additions .ha-faq summary{font-size:.85rem}.home-layout-additions .ha-faq details p{font-size:.82rem}.home-layout-additions .ha-review-note{padding:9px}.home-layout-additions .ha-process h3{font-size:1.2rem}}@media(prefers-reduced-motion:reduce){.home-layout-additions *, .home-layout-additions *:before,.home-layout-additions *:after{transition:none!important}}
/* Show more of the entrance and less sky in the homepage hero. */
#home .hero-image { object-position: center 80%; }
@media (min-width: 901px) {
  #home .hero-image {
    left: calc(12% + 100px);
    width: 100%;
  }
}
@media (max-width: 900px) {
  #home .hero-image { object-position: 60% 80%; }
}
@media (max-width: 600px) {
  #home .hero-image { object-position: 69% 80%; }
}

/* Keep the lower edge of the experience photo visible when cropped or zoomed. */
#about .about-picture img {
  object-position: center bottom;
  transform-origin: center bottom;
}

/* Cover the photo's straight top edge with a continuous layered wave. */
.featured { padding-top: 115px; }
.featured-top-wave {
  position: absolute;
  top: -1px;
  left: -1px;
  width: calc(100% + 2px);
  height: 85px;
  display: block;
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 600px) {
  .featured { padding-top: 85px; }
  .featured-top-wave { height: 60px; }
}

/* Let the clubhouse show through while keeping the highlights legible. */
.featured .highlights {
  background: rgba(255, 255, 255, .62);
  border-color: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.featured .highlights li {
  color: #07365b;
  font-weight: 600;
}

/* Use the featured development's type scale throughout the lower homepage. */
body {
  --home-section-title: clamp(2.8rem, 3.6vw, 4rem);
  --home-card-title: 1.8rem;
  --home-body-size: .95rem;
  --home-label-size: .75rem;
  --home-button-size: .83rem;
}

/* Keep the experience strip in proportion with the homepage sections. */
.experience {
  min-height: 0;
  padding: 40px 30px 70px;
  font-family: var(--font);
}
.experience-inner { max-width: 1240px; }
.experience-heading { margin-bottom: 28px; }
.experience-heading h2 {
  font-family: var(--heading);
  font-size: var(--home-section-title);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.experience .eyebrow {
  font-size: var(--home-label-size);
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: .2em;
  margin-bottom: 13px;
}
.experience .intro,
.experience-item p {
  font-size: var(--home-body-size);
  line-height: 1.7;
}
.experience-grid { gap: 14px; }
.experience-grid::before { top: 56px; }
.experience-item { padding: 0 6px 18px; border-radius: 16px; }
.experience-item:not(:last-child)::after {
  top: 52px;
  right: -11px;
  width: 8px;
  height: 8px;
}
.experience .icon-orbit { width: 112px; height: 112px; margin-bottom: 14px; }
.experience .icon-disc { width: 76px; height: 76px; }
.experience .icon-disc svg { width: 34px; height: 34px; }
.experience-item h3 {
  font-family: var(--heading);
  font-size: min(var(--home-card-title), 1.5rem);
  font-weight: 600;
  line-height: 1.2;
  min-height: 58px;
  margin-bottom: 8px;
}
.experience-waves { height: 110px; }

@media (max-width: 1100px) {
  .experience { padding-bottom: 65px; }
  .experience-grid { gap: 24px 18px; }
}
@media (max-width: 600px) {
  .experience { padding: 30px 18px 55px; }
  .experience-heading { margin-bottom: 24px; }
  .experience-grid { gap: 20px 12px; }
  .experience .icon-orbit { width: 92px; height: 92px; margin-bottom: 10px; }
  .experience .icon-disc { width: 62px; height: 62px; }
  .experience .icon-disc svg { width: 28px; height: 28px; }
  .experience-item h3 { font-size: 1.3rem; min-height: 50px; }
  .experience-waves { height: 70px; }
}

.feature-copy h2,
.home-layout-additions h2,
.contact-banner h2 {
  font-family: var(--heading);
  font-size: var(--home-section-title);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.025em;
}

.feature-copy h3,
.highlights h3,
.home-layout-additions h3 {
  font-family: var(--heading);
  font-size: var(--home-card-title);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.feature-copy > p:not(.eyebrow):not(.location),
.highlights li,
.home-layout-additions p,
.home-layout-additions .ha-intro,
.home-layout-additions .ha-trust-intro,
.home-layout-additions .ha-checks li,
.home-layout-additions .ha-testimonials p,
.home-layout-additions .ha-reading-grid p,
.home-layout-additions .ha-faq details p,
.contact-banner p:not(.eyebrow) {
  font-family: var(--font);
  font-size: var(--home-body-size);
  line-height: 1.7;
}

.featured .eyebrow,
.home-layout-additions .eyebrow,
.contact-banner .eyebrow {
  font-size: var(--home-label-size);
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: .2em;
  margin-bottom: 13px;
}

.home-layout-additions .ha-testimonials h3,
.home-layout-additions .ha-faq summary {
  font-family: var(--font);
  font-size: var(--home-body-size);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0;
}

.featured .button,
.home-layout-additions .button,
.contact-banner .button {
  font-size: var(--home-button-size);
  line-height: 1.4;
  min-height: 48px;
  padding: 14px 24px;
}

/* Give the larger, consistent text enough room inside the existing grids. */
.home-layout-additions .ha-section { padding: 32px 0; }
.home-layout-additions h2 { margin-bottom: 12px; }
.home-layout-additions .ha-process { margin-top: 24px; }
.home-layout-additions .ha-process li > div { min-height: 0; }
.home-layout-additions .ha-checks { row-gap: 6px; }
.home-layout-additions .ha-checks svg { margin-top: 4px; }
.home-layout-additions .ha-testimonials article { padding: 20px; }
.home-layout-additions .ha-reading-grid article > div { padding: 16px; }
.home-layout-additions .ha-faq details { padding: 14px 16px; }
.home-layout-additions .ha-faq summary svg { margin-top: 3px; }
.home-layout-additions .ha-review-note {
  font-size: .85rem;
  line-height: 1.6;
}

@media (max-width: 900px) {
  body { --home-section-title: 2.8rem; }
}

@media (max-width: 600px) {
  body {
    --home-section-title: 2.65rem;
    --home-card-title: 1.6rem;
    --home-body-size: .875rem;
    --home-label-size: .62rem;
    --home-button-size: .8rem;
  }
  .home-layout-additions .ha-section { padding: 26px 0; }
  .home-layout-additions .ha-reading-grid { grid-template-columns: 1fr; }
  .home-layout-additions .ha-reading-grid img { height: 180px; }
}

/* Sequential filling for the homepage development process. */
.process-grid .process-icon {
  isolation: isolate;
  background: #eaf6ff;
  color: #092c75;
  transition: color .8s ease, transform .45s ease, box-shadow .45s ease;
}
.process-grid .process-icon::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(145deg, #168abb, #06416b);
  clip-path: inset(100% 0 0 0);
  transition: clip-path .8s ease;
}
.process-grid li.is-filled .process-icon {
  color: #fff;
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 0 0 1px #72b5e8, 0 8px 22px #0879be26;
}
.process-grid li.is-filled .process-icon::before { clip-path: inset(0); }
@media (prefers-reduced-motion: reduce) {
  .process-grid .process-icon,
  .process-grid .process-icon::before { transition: none; transform: none; }
}
