body {
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.glass-nav {
    background: rgba(255, 255, 255, 0.72);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #e8dfcf; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #dccfb8; }

/* Radiant mark — the one light source, reused at small scale for glows */
.glow-orb {
    background: radial-gradient(circle at 35% 32%, #FFD873 0%, #FF9A2E 45%, #E8590C 75%, transparent 100%);
}
@keyframes glow-pulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.06); opacity: 0.72; }
}
.animate-glow-pulse { animation: glow-pulse 7s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
    .animate-glow-pulse { animation: none; }
}

/* Warm shadows, used only for the site's few "illuminated" moments */
.shadow-warm { box-shadow: 0 24px 60px -20px rgba(232, 89, 12, 0.28); }
.shadow-warm-sm { box-shadow: 0 10px 28px -10px rgba(232, 89, 12, 0.35); }

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-chevron { transform: rotate(180deg); }
.testimonial-slide { display: none; }
.testimonial-slide.active { display: flex; }
.dot {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 9999px;
    background: transparent;
    cursor: pointer;
}
.dot::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background: rgba(32, 24, 17, 0.15);
    transition: width 0.3s ease, background-color 0.3s ease;
}
.dot.active::before { width: 18px; background-color: #E8590C; }

section[id], header[id], #how-it-works { scroll-margin-top: 6rem; }
a:focus-visible, button:focus-visible, summary:focus-visible {
    outline: 2px solid #E8590C;
    outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    .dot::before { transition: none; }
}
#testimonial-track { touch-action: pan-y; }

/* Contact section */
.contact-grid { display:grid; grid-template-columns:minmax(0, .95fr) minmax(420px, 1.05fr); gap:clamp(2.5rem, 6vw, 5.5rem); align-items:center; }
.contact-invitation { max-width:34rem; }
.contact-eyebrow { display:inline-flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.58); font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; margin-bottom:1rem; }
.contact-eyebrow::before { content:''; width:1.75rem; height:1px; background:#FF9A2E; }
.contact-steps { display:grid; gap:1.15rem; margin-top:2rem; }
.contact-step { display:grid; grid-template-columns:2.5rem 1fr; gap:.9rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.11); }
.contact-step-number { color:rgba(255,154,46,.9); font-size:.68rem; font-weight:600; letter-spacing:.08em; padding-top:.15rem; }
.contact-step h3 { color:rgba(255,255,255,.88); font-size:.82rem; font-weight:600; margin:0 0 .25rem; }
.contact-step p { color:rgba(255,255,255,.43); font-size:.75rem; line-height:1.55; margin:0; }
.contact-card { background:#FAF6EF; border:1px solid rgba(255,255,255,.13); border-radius:1.25rem; padding:clamp(1.5rem, 3vw, 2.25rem); box-shadow:0 24px 60px -20px rgba(232,89,12,.28); }
.contact-card > div:not(.contact-card-heading):not(.contact-honeypot) { margin-top:1rem; }
.contact-card-heading { margin-bottom:1.25rem; }
.contact-card-kicker { display:block; color:#201811; font-size:1.05rem; font-weight:600; margin-bottom:.35rem; }
.contact-card-heading p { color:rgba(32,24,17,.55); font-size:.78rem; font-weight:300; line-height:1.55; margin:0; }
.contact-card label { display:block; color:rgba(32,24,17,.62); font-size:.7rem; font-weight:600; margin-bottom:.4rem; }
.contact-card label span { color:rgba(32,24,17,.4); font-weight:300; }
.contact-card input:not([type=checkbox]), .contact-card textarea { width:100%; box-sizing:border-box; padding:.8rem .9rem; border:1px solid rgba(32,24,17,.1); border-radius:.65rem; background:#fff; color:#201811; font-size:.82rem; outline:none; transition:border-color .2s, box-shadow .2s, background .2s; }
.contact-card input:not([type=checkbox])::placeholder, .contact-card textarea::placeholder { color:rgba(32,24,17,.35); }
.contact-card input:not([type=checkbox]):focus, .contact-card textarea:focus { border-color:rgba(232,89,12,.45); box-shadow:0 0 0 3px rgba(232,89,12,.1); background:#fff; }
.contact-card textarea { resize:vertical; min-height:7rem; }
.contact-card button { width:100%; display:flex; align-items:center; justify-content:center; gap:.5rem; margin-top:1.25rem; padding:.85rem 1.25rem; border:0; border-radius:.65rem; background:#E8590C; color:#fff; font-size:.82rem; font-weight:600; cursor:pointer; transition:transform .2s, background .2s, box-shadow .2s; }
.contact-card button:hover:not(:disabled) { background:#cf4e0a; transform:translateY(-1px); box-shadow:0 10px 28px -10px rgba(232,89,12,.45); }
.contact-card button:disabled { cursor:not-allowed; opacity:.6; }
.contact-note { display:flex; align-items:center; justify-content:center; gap:.35rem; color:rgba(32,24,17,.42); font-size:.68rem; font-weight:300; margin:.85rem 0 0; }
.contact-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
@media (max-width: 960px) { .contact-grid { grid-template-columns:1fr; } .contact-invitation { width:100%; max-width:42rem; margin-inline:auto; } }
@media (max-width: 640px) { .contact-card { padding:1.25rem; } }
