.contact-hero{background:var(--cream);padding:7rem 1.5rem 4rem;text-align:center}.contact-hero h1{font-size:clamp(2.4rem,7vw,3.8rem);font-weight:700;color:var(--green);line-height:1.1;letter-spacing:-.02em;margin-bottom:1rem}.contact-hero p{font-size:1.1rem;color:var(--text-mid);max-width:480px;margin:0 auto;line-height:1.6}.contact-cards-section{background:var(--cream);padding:2rem 1.5rem 5rem}.contact-cards-inner{max-width:920px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}@media(max-width:680px){.contact-cards-inner{grid-template-columns:1fr}}.contact-card{background:#fff;border-radius:14px;border:1px solid rgba(0,0,0,.08);padding:2.25rem 1.75rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .22s ease,box-shadow .22s ease}.contact-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #0000001a}.contact-card-icon{width:52px;height:52px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}.contact-card h2{font-size:1.1rem;font-weight:600;color:var(--green);margin-bottom:.6rem}.contact-card p{font-size:.9rem;color:var(--text-light);line-height:1.6;flex:1;margin-bottom:1.5rem}.contact-card-btn{display:inline-block;padding:.65rem 1.5rem;border-radius:50px;font-size:.9rem;font-weight:600;text-decoration:none;background:#fff;border:1.5px solid var(--green);color:var(--green);transition:background .2s ease,color .2s ease}.contact-card-btn:hover{background:var(--green);color:#fff}.contact-location-section{background:#fff;padding:5rem 1.5rem}.contact-location-inner{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:stretch}@media(max-width:720px){.contact-location-inner{grid-template-columns:1fr}}.contact-map{min-height:340px;height:100%}.contact-map iframe{width:100%;height:100%;min-height:340px;border-radius:12px;border:none;display:block}.contact-location-details h2{font-size:1.7rem;font-weight:700;color:var(--green);margin-bottom:.5rem}.contact-location-details .address{font-size:1rem;color:var(--text-mid);margin-bottom:.25rem}.contact-location-details .studio-name{font-size:1rem;font-weight:600;color:var(--text-mid);margin-bottom:1.75rem}.contact-transport-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--text-light);margin-bottom:.75rem}.contact-transport-list{list-style:none;padding:0;margin:0 0 1.75rem}.contact-transport-list li{font-size:.95rem;color:var(--text-mid);padding:.3rem 0;display:flex;align-items:flex-start;gap:.5rem}.contact-transport-list li span.icon{flex-shrink:0}.contact-rule-box{background:var(--cream);border-radius:6px;padding:1rem 1.25rem}.contact-rule-box strong{font-size:.9rem;color:var(--green);display:block;margin-bottom:.3rem}.contact-rule-box p{font-size:.88rem;color:var(--text-mid);line-height:1.55;margin:0}.contact-faq-section{background:var(--cream);padding:5rem 1.5rem 6rem}.contact-faq-inner{max-width:760px;margin:0 auto}.contact-faq-eyebrow{text-align:center;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:600;color:var(--green);margin-bottom:.75rem}.contact-faq-inner h2{font-size:2rem;font-weight:700;color:var(--green);text-align:center;margin-bottom:.6rem}.contact-faq-inner .faq-subtitle{text-align:center;font-size:1rem;color:var(--text-light);margin-bottom:3rem}.faq-item{border-bottom:1px solid rgba(0,0,0,.1);background:#fff}.faq-item:first-of-type{border-top:1px solid rgba(0,0,0,.1)}.faq-question{width:100%;background:none;border:none;text-align:left;padding:1.2rem 1.25rem;font-size:1rem;font-weight:600;color:var(--green);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem}.faq-question:after{content:"+";font-size:1.4rem;font-weight:300;color:var(--green);flex-shrink:0;transition:transform .2s ease}.faq-item.is-open .faq-question:after{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1),opacity .22s ease;opacity:0;font-size:.97rem;color:var(--text-mid);line-height:1.75}.faq-answer-inner{overflow:hidden;padding:0 1.25rem}.faq-item.is-open .faq-answer{grid-template-rows:1fr;opacity:1}.faq-item.is-open .faq-answer-inner{padding-bottom:1.25rem}.faq-answer-inner{transition:padding-bottom .32s cubic-bezier(.4,0,.2,1)}@media(prefers-reduced-motion:reduce){.faq-answer,.faq-answer-inner{transition:none}}
