/* GEM Premium Design System — components */
body{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body)}
h1,h2,h3{font-family:var(--font-display);color:var(--text-heading);line-height:var(--lh-heading)}
h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}.lead{font-size:var(--fs-lead)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--color-rose-500) 72%,white);outline-offset:4px}
.btn{border-radius:var(--radius-pill);padding-inline:1.65rem;transition:transform var(--duration-base) var(--ease-premium),background var(--duration-base),box-shadow var(--duration-base)}
.btn-primary{background:var(--action-primary);box-shadow:0 14px 32px rgba(207,172,172,.32)}
.btn-primary:hover{background:var(--action-primary-hover);transform:translateY(-2px);box-shadow:0 20px 42px rgba(189,150,150,.34)}
.btn-tertiary{display:inline-flex;gap:.45rem;align-items:center;color:var(--color-forest-700);font-weight:750;border-bottom:1px solid rgba(58,82,64,.28);padding-bottom:.18rem}
.ds-card,.card,.service-slide-link,.team-card,.testimonial,.event-card{background:var(--surface-card);border:var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-premium),box-shadow var(--duration-base),background var(--duration-base)}
.ds-card:hover,.card:hover,.service-slide-link:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);background:#fff}
.ds-card{padding:var(--space-6)}.ds-card-media{overflow:hidden;border-radius:var(--radius-md);aspect-ratio:4/3;margin-bottom:var(--space-5)}.ds-card-media img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-premium)}.ds-card:hover .ds-card-media img{transform:scale(1.04)}
.ds-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.ds-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius-xl);min-height:min(680px,72svh);display:grid;align-items:end;padding:clamp(2rem,5vw,5rem);color:var(--text-inverse);box-shadow:var(--shadow-lg)}
.ds-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.ds-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(25,31,26,.72));z-index:-1}.ds-hero h1,.ds-hero h2{color:inherit;max-width:820px}.ds-hero-copy{max-width:760px}
.ds-cta,.cta-panel{border-radius:var(--radius-xl);padding:clamp(2rem,5vw,4.5rem);background:linear-gradient(135deg,var(--color-rose-200),var(--color-rose-500));color:var(--color-forest-900);box-shadow:var(--shadow-md)}.ds-cta h2,.cta-panel h2{color:inherit}
.ds-field{display:grid;gap:.5rem}.ds-field label,.field label{font-weight:700}.ds-field input,.ds-field textarea,.ds-field select,.field input,.field textarea,.field select{border:1px solid rgba(58,82,64,.2);border-radius:var(--radius-sm);padding:1rem;background:#fff;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.ds-field input:focus,.ds-field textarea:focus,.ds-field select:focus,.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-rose-600);box-shadow:0 0 0 4px rgba(207,172,172,.22);outline:0}
.ds-alert{border-left:4px solid var(--color-rose-500);background:#fff8f5;border-radius:var(--radius-sm);padding:1rem 1.2rem}
.ds-slider{overflow:hidden}.ds-slider-track{display:flex;gap:var(--space-5);transition:transform var(--duration-slow) var(--ease-premium);will-change:transform}.ds-slider-slide{flex:0 0 calc((100% - 2 * var(--space-5))/3)}
.ds-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(58,82,64,.18);color:var(--color-forest-700)}
.ds-section{padding-block:var(--space-9)}.ds-section-soft{background:var(--surface-soft)}.ds-kicker{letter-spacing:.15em;text-transform:uppercase;font-size:.76rem;font-weight:800;color:var(--color-forest-500)}
@media(max-width:900px){.ds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-slider-slide{flex-basis:calc((100% - var(--space-5))/2)}}
@media(max-width:620px){.ds-grid{grid-template-columns:1fr}.ds-slider-slide{flex-basis:100%}.ds-section{padding-block:var(--space-8)}}

/* V6.6.6 contact progressive disclosure */
.contact-progressive{border-left:3px solid var(--color-primary,#3a5240);padding:.85rem 1rem;background:rgba(58,82,64,.055);border-radius:0 12px 12px 0}.contact-progressive[hidden]{display:none}.contact-progressive.is-open{animation:gemReveal .22s ease-out}.field-hint{font-size:.86rem;opacity:.7;margin:.4rem 0 0}.consent-label{display:flex;gap:.65rem;align-items:flex-start}.consent-label input{width:1.25rem;height:1.25rem;flex:0 0 auto;margin-top:.1rem}@keyframes gemReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
