 .contact-hero{min-height:72svh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:linear-gradient(180deg,#FBF9F5 0%,var(--ivory) 45%,var(--ivory-deep) 100%);overflow:hidden;padding-top:var(--nav-h);text-align:center}.contact-hero .hero-scene{position:absolute;inset:-20px;overflow:hidden}.contact-hero .hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.contact-hero .hero-inner{position:relative;z-index:2;max-width:880px}.contact-hero .hero-eyebrow{justify-content:center;color:var(--brown)}.contact-hero .hero-title{color:var(--charcoal);font-size:clamp(2.3rem,5.8vw,4.4rem);font-weight:700;margin-top:10px}.contact-hero .hero-sub{color:var(--charcoal-soft);font-size:1.08rem;max-width:660px;margin:22px auto 0}.marquee-section{background:var(--charcoal);padding:18px 0;overflow:hidden;border-top:1px solid rgba(243,239,231,.08);border-bottom:1px solid rgba(243,239,231,.08)}.marquee-track{display:flex;width:max-content;animation:marqueeScroll 32s linear infinite}.marquee-group{display:flex;align-items:center;gap:34px;padding-right:34px;white-space:nowrap}.marquee-group span{font-family:var(--font-display);font-size:.95rem;font-weight:500;color:rgba(243,239,231,.85);letter-spacing:.02em;line-height:1}.marquee-group i{color:var(--brown-light);font-size:.45rem}@keyframes marqueeScroll{to{transform:translateX(-50%)}}.contact-cards-section{background:var(--ivory)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.info-card{background:var(--white);border:1px solid var(--line-strong);border-radius:6px;padding:30px 24px;display:flex;flex-direction:column;transition:transform var(--dur-fast) var(--ease-premium),box-shadow var(--dur-fast) var(--ease-premium),border-color var(--dur-fast);text-decoration:none;color:var(--charcoal)}.info-card:hover{transform:translateY(-5px);border-color:var(--brown);box-shadow:var(--shadow-soft)}.info-icon{width:48px;height:48px;background:rgba(181,126,70,.1);border:1px solid var(--brown);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--brown);margin-bottom:20px}.info-card h3{font-size:1.15rem;margin-bottom:8px;color:var(--charcoal)}.info-card p{color:var(--charcoal-soft);font-size:.88rem;margin-bottom:16px;line-height:1.5}.info-value{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--brown);margin-top:auto}.form-section{background:var(--ivory-deep)}.form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.form-intro h2{font-size:clamp(2rem,3.5vw,2.7rem);margin-bottom:16px;color:var(--charcoal)}.form-intro p{color:var(--charcoal-soft);font-size:1.02rem;margin-bottom:28px;line-height:1.6}.form-perks-list{display:flex;flex-direction:column;gap:14px}.perk-item{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:600;font-size:.92rem;color:var(--charcoal)}.perk-item i{color:var(--brown);font-size:1.1rem}.form-wrapper{background:var(--white);border:1px solid var(--line-strong);border-radius:8px;padding:36px 30px;box-shadow:var(--shadow-hard)}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:span 2}.form-group label{font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--charcoal);letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;font-family:var(--font-body);font-size:.92rem;color:var(--charcoal);background:var(--ivory);border:1px solid var(--line-strong);border-radius:4px;transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brown);background:var(--white);box-shadow:0 0 0 3px rgba(181,126,70,.15)}.form-group.has-error input,.form-group.has-error textarea{border-color:#d93838}.error-msg{font-size:.75rem;color:#d93838;display:none}.form-group.has-error .error-msg{display:block}.form-submit-btn{align-self:flex-start;margin-top:10px;width:100%;justify-content:center}.form-alert{padding:14px;border-radius:4px;font-family:var(--font-display);font-size:.88rem;font-weight:600;display:none;text-align:center}.form-alert.success{display:block;background:rgba(46,125,50,.1);color:#2e7d32;border:1px solid rgba(46,125,50,.3)}.map-section{padding:80px 0 0;background:var(--ivory)}.map-frame-wrapper{position:relative;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-hard);border:1px solid var(--line-strong)}.google-map-iframe{display:block;filter:contrast(1.02) saturate(.9)}.map-overlay-badge{position:absolute;bottom:20px;left:20px;background:var(--white);border:1px solid var(--line-strong);padding:12px 18px;border-radius:6px;box-shadow:var(--shadow-soft);display:flex;align-items:center;gap:12px;z-index:2}.map-overlay-badge i{color:var(--brown);font-size:1.3rem}.map-overlay-badge strong{display:block;font-family:var(--font-display);font-size:.9rem;color:var(--charcoal)}.map-overlay-badge span{display:block;font-size:.78rem;color:var(--charcoal-soft)}.faq-section{background:var(--ivory)}.faq-accordion-wrapper{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.faq-item{background:var(--white);border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;transition:border-color var(--dur-fast)}.faq-item.active{border-color:var(--brown)}.faq-question{width:100%;padding:20px 24px;background:transparent;border:none;text-align:left;font-family:var(--font-display);font-size:1.02rem;font-weight:700;color:var(--charcoal);display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.faq-arrow{color:var(--brown);transition:transform var(--dur-fast) var(--ease-premium)}.faq-item.active .faq-arrow{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-premium),padding .4s var(--ease-premium);padding:0 24px}.faq-item.active .faq-answer{max-height:200px;padding:0 24px 20px}.faq-answer p{color:var(--charcoal-soft);font-size:.92rem;line-height:1.6}@media (max-width:900px){.form-grid{grid-template-columns:1fr;gap:40px}.form-row{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}}