/* Arynwood studio collection: product imagery and a quieter editorial rhythm. */
:root { --studio-gold: #e6c89c; }
::selection { background: #365f59; color: #fff8ef; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
:focus-visible { outline: 2px solid #a6f2e1; outline-offset: 5px; }
.hero .hero-logo { width: 112px; margin-bottom: 1.8rem; }
.hero .display { font-size: clamp(3.1rem, 7.5vw, 6rem); letter-spacing: -.035em; }
.hero .lede { max-width: 44rem; }
.choice, .card, .spec { border-color: rgba(224,204,246,.17); }
.card { background: linear-gradient(145deg, rgba(62,44,73,.48), rgba(20,15,29,.78)); }
.card-icon, .choice-icon { border-radius: 50%; }
.grove-showcase { padding-block: clamp(3.5rem,7vw,6rem); }
.grove-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.75rem; margin-top: 2.5rem; }
.grove-frame { min-width: 0; margin: 0; border: 1px solid rgba(218,200,241,.22); border-radius: 20px; background: #1b1426; box-shadow: 0 24px 70px -42px #000; overflow: hidden; }
.grove-frame:first-child { grid-column: 1 / -1; }
.grove-frame > a { display: block; padding: clamp(.6rem,2vw,1.5rem); background: radial-gradient(ellipse at 20% 0%,#56796c66,transparent 70%),#292235; }
.grove-frame img { display: block; width: 100%; height: auto; border: 1px solid #ffffff1f; border-radius: 8px; box-shadow: 0 14px 38px #0005; }
.grove-frame figcaption { padding: 1.5rem 1.7rem 1.8rem; }
.grove-frame .eyebrow { display: block; margin-bottom: .65rem; color: #e6c89c; font-size: .65rem; }
.grove-frame h3 { color: #f6f1ff; font-size: clamp(1.6rem,3vw,2.3rem); line-height: 1.1; margin: 0 0 .6rem; }
.grove-frame p { color: #c7bdd3; font-size: .92rem; line-height: 1.6; }
.demo-caption { grid-column: 1 / -1; color: #b6a8c8; font-size: .78rem; line-height: 1.6; margin: 0; }
.grove-gallery.is-compact { display: block; margin: 0 0 1.8rem; }
.is-compact .grove-frame figcaption { padding: 1rem 1.2rem; }
.is-compact .grove-frame h3 { font-size: 1.7rem; }
.is-compact .demo-caption { margin-top: .75rem; }
.grove-photo { position: relative; margin: 1.5rem 0 0; border-radius: 20px; overflow: hidden; }
.grove-photo img { width: 100%; height: clamp(230px,32vw,400px); object-fit: cover; display: block; }
.grove-photo figcaption { position: absolute; bottom: 0; inset-inline: 0; padding: 2.5rem 1.4rem 1.1rem; background: linear-gradient(transparent,#100a1be8); color: #fff4e4; font: italic 1.5rem/1.2 Georgia,serif; }
@media (hover:hover) { .grove-frame > a:hover img { filter: brightness(1.08); } }
@media (max-width:700px) { .grove-gallery { grid-template-columns: 1fr; gap: 1.25rem; } .grove-frame figcaption { padding: 1.25rem; } .hero .hero-logo { width: 88px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation:none !important; transition:none !important; } }

/* Clear, consistent headings; emphasis remains semantic within body text. */
h1, h2, h3, .display, .title, .choice strong { font-family: var(--sans); font-weight: 600; letter-spacing: -.025em; }
h1 em, h2 em, h3 em, .display em, .title em { font: inherit; color: inherit; }
.hero .display { font-size: clamp(2.6rem,6vw,4.5rem); line-height: 1.1; }
.title { font-size: clamp(1.9rem,4vw,2.8rem); line-height: 1.18; }
.grove-frame h3 { font-size: clamp(1.3rem,2.4vw,1.7rem); }

.spec h4, .fit h4, .faq summary { font-family:var(--sans); font-style:normal; }

/* Sleek, consistent type with the original mark's mint glow. */
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('/assets/fonts/manrope-latin-wght-normal.woff2') format('woff2'); }
:root { --sans: 'Manrope', system-ui, sans-serif; }
.hero-logo, .brand img { filter: drop-shadow(0 0 8px rgba(98,224,198,.42)) drop-shadow(0 0 24px rgba(60,200,175,.24)); }
.hero .hero-logo { width: 160px; }
@media(max-width:700px) { .hero .hero-logo { width: 124px; } }
