/* Soft architectural forms: the same radius family, different section silhouettes. */
:root{--radius-control:999px;--radius-card:28px;--radius-panel:40px}
.button,.hero-actions .hero-primary{border-radius:var(--radius-control);box-shadow:none}
.button.dark{box-shadow:0 8px 24px #14392d16}
.button.lime{box-shadow:0 10px 30px #061f2c22}
.plan-card{border-radius:var(--radius-card);border:1px solid #d8e0d1;padding:24px;box-shadow:0 8px 26px #14352b08;transition:transform .25s,box-shadow .25s}
.plan-card:hover{box-shadow:0 18px 42px #14352b18;transform:translateY(-5px)}
.plan-image-button{border-radius:20px;overflow:hidden}
.project-visual{border-radius:30px 30px 30px 9px}
.home-projects .project-card:nth-child(2) .project-visual{border-radius:30px 9px 30px 30px}
.project-feature-chips>span,.project-location{border-radius:999px}
.quick-rooms button{border-radius:16px}.tabs button{border-radius:999px}
.inline-quiz{border-radius:0 0 36px 36px;padding:34px;background:#f8f7f1;border:1px solid #dde3d5;box-shadow:0 12px 36px #13362909}
.main-project-facts .project-features>div{border-radius:24px}
.main-project-facts .project-features>div:first-child{border-radius:24px 24px 64px 24px}
.living{border-radius:0 64px 0 64px;overflow:clip}
.selection{border-radius:40px 40px 100px 40px;overflow:clip}
.catalog-art-stage{border-radius:40px 100px 40px 40px}
.scene-views{border-radius:999px;padding:7px}.scene-views button{border-radius:999px}
.scene-plan{border-radius:26px 26px 8px 26px}
.mortgage{border-radius:36px;overflow:clip}.mortgage-result{border-radius:32px}.mortgage-field{border-radius:16px}.mortgage-scenarios select{border-radius:14px}
dialog{border-radius:32px}.quiz-options label{border-radius:18px}.quiz-options label span{border-radius:18px}
.lead-form input:not([type=checkbox]):not([type=radio]):not([type=range]),.lead-form select,.lead-form textarea{border-radius:14px;min-height:50px}
.faq details{border:1px solid #d8dfd0;border-radius:22px;padding:5px 22px;margin-bottom:12px;background:#faf9f3}.faq summary{min-height:64px}
.cookie-banner{border-radius:22px;box-shadow:0 10px 35px #15382a18}
@media(max-width:760px){.inline-quiz{padding:26px 20px;margin:0 5%;border-radius:0 0 28px 28px}.plan-card{padding:18px;border-radius:24px}.living{border-radius:0 36px 0 36px}.selection{border-radius:28px 28px 60px 28px}.catalog-art-stage{border-radius:28px 60px 28px 28px}.mortgage,.mortgage-result{border-radius:26px}dialog{border-radius:24px}.scene-plan{border-radius:20px 20px 7px 20px}.scene-views{border-radius:22px}.faq details{padding:2px 16px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.plan-card:hover{transform:none}}

/* The section background itself must share the soft silhouette. */
.plans-section{border-radius:56px;isolation:isolate}
@media(max-width:760px){.plans-section{border-radius:30px}}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  @keyframes plan-entry{from{translate:0 48px;scale:.96}to{translate:0 0;scale:1}}
  .plans-section .plan-card{animation:plan-entry linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  .plans-section .plan-card:nth-child(3n+2){animation-range:entry 0% entry 120%}
  .plans-section .plan-card:nth-child(3n){animation-range:entry 0% entry 140%}
 }
}
@media(prefers-reduced-motion:reduce){.plans-section .plan-card{animation:none!important;translate:none;scale:1}}

.living{border-radius:48px}.selection{border-radius:48px 48px 88px 48px}.footer{border-radius:48px 48px 0 0}.catalog-help{border-radius:48px}.project-gallery button{border-radius:26px;overflow:clip}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  @keyframes section-arrive{from{translate:0 42px}to{translate:0 0}}
  @keyframes photo-arrive{from{scale:.94;translate:0 36px}to{scale:1;translate:0 0}}
  main .section-heading,main .about-heading,main .about-story,main .living-copy,main .selection>div:first-child,main .faq-section>div:first-child{animation:section-arrive linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  main .project-card,main .about-features>div,main .project-gallery>button{animation:photo-arrive linear both;animation-timeline:view();animation-range:entry 0% entry 110%}
  main .project-card:nth-child(2n),main .about-features>div:nth-child(2n){animation-range:entry 0% entry 140%}
  main .mortgage-result{animation:section-arrive linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
 }
}
@media(max-width:760px){.living,.catalog-help{border-radius:30px}.footer{border-radius:30px 30px 0 0}.selection{border-radius:30px 30px 55px 30px}}
@media(prefers-reduced-motion:reduce){main .section-heading,main .about-heading,main .about-story,main .living-copy,main .selection>div:first-child,main .faq-section>div:first-child,main .project-card,main .about-features>div,main .project-gallery>button,main .mortgage-result{animation:none!important;translate:none;scale:1}}

/* Each component converges into its own layout as it enters the viewport. */
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  @keyframes assemble{from{translate:var(--assemble-x,0px) 150px;rotate:var(--assemble-angle,0deg);scale:.84}to{translate:0 0;rotate:0deg;scale:1}}
  main .about-photo,main .about-story,main .living-image,main .living-copy,main .project-card,main .plan-card,main .about-features>div,main .selection>div,main .section-heading,main .mortgage-result{animation:assemble linear both;animation-timeline:view();animation-range:entry 0% entry 100%;transform-origin:center}
  main .about-photo,main .living-copy,main .selection>div:first-child{--assemble-x:-55px;--assemble-angle:-4deg}
  main .about-story,main .living-image,main .selection-art,main .mortgage-result{--assemble-x:55px;--assemble-angle:4deg}
  main .project-card:nth-child(3n+1),main .plan-card:nth-child(3n+1),main .about-features>div:nth-child(2n+1){--assemble-x:-32px;--assemble-angle:-4deg}
  main .project-card:nth-child(3n),main .plan-card:nth-child(3n),main .about-features>div:nth-child(2n){--assemble-x:32px;--assemble-angle:4deg}
  main .project-card:nth-child(3n+2),main .plan-card:nth-child(3n+2){--assemble-x:0px;--assemble-angle:1deg;animation-range:entry 0% entry 115%}
 }
}
@media(max-width:760px){main .about-photo,main .about-story,main .living-image,main .living-copy,main .project-card,main .plan-card,main .about-features>div,main .selection>div,main .section-heading,main .mortgage-result{--assemble-x:0px!important;--assemble-angle:0deg!important}}
@media(prefers-reduced-motion:reduce){main .about-photo,main .about-story,main .living-image,main .living-copy,main .project-card,main .plan-card,main .about-features>div,main .selection>div,main .section-heading,main .mortgage-result{animation:none!important;translate:none;rotate:none;scale:1}}

.selection-art .selection-keys{position:absolute;width:62%;height:auto;aspect-ratio:3/2;object-fit:contain;max-width:350px;right:5%;bottom:34%;z-index:2;filter:drop-shadow(0 18px 15px #16382b35);pointer-events:none}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 main .about-photo,main .about-story,main .living-image,main .living-copy,main .project-card,main .about-features>div,main .selection>div,main .section-heading,main .mortgage-result{animation-range:entry 0% cover 45%}
 .plans-section .plan-card{animation:assemble linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
 .plans-section .plan-card:nth-child(3n+1){--assemble-x:-32px;--assemble-angle:-4deg}.plans-section .plan-card:nth-child(3n){--assemble-x:32px;--assemble-angle:4deg}
}}
@media(max-width:760px){.selection-art .selection-keys{width:56%;right:1%;bottom:30%;max-width:220px}.plans-section .plan-card{--assemble-x:0px;--assemble-angle:0deg}}
@media(prefers-reduced-motion:reduce){.plans-section .plan-card{animation:none!important;translate:none;rotate:none;scale:1}}

.mortgage-heading .mortgage-intro-art{display:flex;align-items:center;gap:20px;flex:0 1 440px;min-width:0}.mortgage-intro-art .mortgage-keys{position:static;display:block;width:160px;height:auto;aspect-ratio:3/2;object-fit:contain;flex:0 0 160px;pointer-events:none}.mortgage-intro-art p{margin:0;font-size:15px;line-height:1.65;min-width:0}
@media(max-width:1000px){.mortgage-heading .mortgage-intro-art{flex:0 1 360px;gap:12px}.mortgage-intro-art .mortgage-keys{width:125px;flex-basis:125px}}
@media(max-width:760px){.mortgage-heading .mortgage-intro-art{flex:0 0 auto;width:100%;justify-content:flex-start;gap:15px;margin-top:12px}.mortgage-intro-art .mortgage-keys{width:110px;flex-basis:110px}.mortgage-intro-art p{font-size:14px}}

/* Treat the generated artwork as a visual, not as a small leading icon. */
.mortgage-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:40px}
.mortgage-heading .mortgage-intro-art{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:none}
.mortgage-intro-art .mortgage-keys{width:min(100%,480px);height:auto;flex:0 0 auto;max-width:100%;aspect-ratio:3/2;filter:drop-shadow(0 18px 22px #173c331c)}
.mortgage-intro-art p{text-align:center;max-width:36ch;font-size:16px}
@media(max-width:1000px){.mortgage-heading{gap:24px}.mortgage-intro-art .mortgage-keys{width:min(100%,380px);flex-basis:auto}.mortgage-heading .mortgage-intro-art{gap:8px}}
@media(max-width:760px){.mortgage-heading{grid-template-columns:1fr;gap:12px}.mortgage-heading .mortgage-intro-art{margin:0}.mortgage-intro-art .mortgage-keys{width:min(100%,340px);flex-basis:auto}.mortgage-intro-art p{font-size:15px;max-width:32ch}}
