.hero h1,.intro h2{margin-top:.85rem;font-weight:700;line-height:1.1;color:var(--next-blue)}.hero h1{font-size:clamp(1.75rem,3vw,2.5rem)}.intro h2{font-size:clamp(1.5rem,2.2vw,1.9rem)}.hero p,.awards-lead{margin-top:1rem;max-width:45ch;font-size:1.05rem;font-weight:300;line-height:1.5}.hero b{font-weight:600}.reviews{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem;font-size:.95rem;font-weight:400;color:var(--next-blue);text-decoration:none;& .stars{display:inline-flex;gap:.12rem}& .stars .icon{width:1.15rem;height:1.15rem;fill:#e8a33d;stroke:none;&.off{fill:color-mix(in srgb,var(--next-blue) 16%,white)}}& .mark{font-weight:700}& .said{color:var(--next-steel)}&:hover .said{color:var(--next-deep-teal);text-decoration:underline;text-underline-offset:.2em}}.hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(1.5rem,3vw,3rem);padding-top:2rem}.photo{display:block;border-radius:1.25rem;overflow:hidden;box-shadow:0 1.25rem 2.5rem color-mix(in srgb,var(--next-blue) 20%,transparent);transition:transform .25s,box-shadow .25s;& img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}&:hover,&:focus-visible{transform:translateY(-.25rem);box-shadow:0 1.75rem 3rem color-mix(in srgb,var(--next-blue) 28%,transparent);& img{transform:scale(1.04)}}}.awards{margin-top:3rem;display:flex;flex-direction:column;align-items:center;gap:2.5rem}.intro{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:3rem;text-align:left}.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;& .feature{padding:1rem;border-radius:.75rem;background-color:color-mix(in srgb,var(--next-green) 15%,#fff);transition:transform .2s,box-shadow .2s,background-color .2s;&:hover{transform:translateY(-.3rem) scale(1.03);background-color:color-mix(in srgb,var(--next-green) 28%,#fff);box-shadow:0 .75rem 1.25rem color-mix(in srgb,var(--next-green) 35%,transparent)}}& .icon{box-sizing:content-box;width:1.1rem;height:1.1rem;padding:.55rem;border-radius:50%;background-color:var(--next-green);fill:none;stroke:white;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}& h3{margin-top:.6rem;font-size:1.25rem;font-weight:600;line-height:1.2;color:var(--next-blue)}& p{margin-top:.3rem;font-size:1rem;font-weight:300;line-height:1.5}}@media(max-width:1200px){.intro{grid-template-columns:1fr;gap:2rem}}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:2rem}.hero>div{order:2}.hero>.photo{order:1}}