.contact-page{background:var(--color-bg);scroll-snap-type:none}.contact-hero{padding:10rem 5vw 4rem;max-width:1200px;margin:0 auto}.hero-label{font-family:var(--font-body);font-size:.75rem;font-weight:300;color:var(--color-warm-gray);text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.5rem}.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem, 7vw, 5.5rem);font-weight:485;font-variation-settings:'wdth' 150;color:var(--color-text);letter-spacing:-.02em;line-height:1.05}.contact-divider{width:100%;height:1px;background:var(--color-border-light)}.contact-body{padding:5rem 5vw;max-width:1200px;margin:0 auto}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:start}.contact-intro{font-family:var(--font-body);font-size:1.1rem;font-weight:300;color:var(--color-text);line-height:1.75;margin-bottom:3rem;opacity:.85}.contact-details{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem;padding-bottom:2.5rem;border-bottom:1px solid var(--color-border-light)}.contact-detail{display:flex;flex-direction:column;gap:.35rem}.contact-page .detail-label{font-family:var(--font-body);font-size:.7rem;font-weight:400;color:var(--color-warm-gray);text-transform:uppercase;letter-spacing:.12em}.contact-page .detail-value{font-family:var(--font-body);font-size:.95rem;font-weight:400;color:var(--color-text)}.detail-link{font-family:var(--font-body);font-size:.95rem;font-weight:400;color:var(--color-text);text-decoration:none;transition:opacity var(--transition-fast)}.detail-link:hover{opacity:.6}.contact-social{display:flex;flex-direction:column;gap:1rem}.social-links{display:flex;gap:2rem}.social-link{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.9rem;font-weight:300;color:var(--color-text);text-decoration:none;transition:opacity var(--transition-fast);min-height:44px}.social-link svg{opacity:.4;transition:opacity var(--transition-fast),transform var(--transition-fast)}.social-link:hover{opacity:.6}.social-link:hover svg{opacity:.8;transform:translate(2px,-2px)}.contact-form-wrapper{position:relative}.contact-form{display:flex;flex-direction:column;gap:2rem;transition:opacity .4s ease,transform .4s ease}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:var(--font-body);font-size:.7rem;font-weight:400;color:var(--color-warm-gray);text-transform:uppercase;letter-spacing:.12em}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-body);font-size:.95rem;font-weight:300;color:var(--color-text);background:0 0;border:none;border-bottom:1px solid var(--color-border-light);padding:.8rem 0;outline:0;transition:border-color var(--transition-fast);border-radius:0;-webkit-appearance:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-warm-gray);opacity:.5}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-bottom-color:var(--color-text)}.form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238B8680' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;padding-right:1.5rem}.form-group select option{background:var(--color-bg);color:var(--color-text)}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.form-submit{display:inline-flex;align-items:center;gap:.75rem;align-self:flex-start;background:0 0;color:var(--color-text);border:none;padding:0;font-family:var(--font-display);font-size:10px;font-weight:181;font-variation-settings:'wdth' 150;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;position:relative;padding-bottom:.5rem;margin-top:.5rem;transition:opacity var(--transition-fast);min-height:44px}.form-submit::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--color-text);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out)}.form-submit:hover::after{transform:scaleX(1)}.form-submit svg{transition:transform .4s ease}.form-submit:hover svg{transform:translateX(4px)}.form-success{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .5s ease .1s,transform .5s ease .1s}.form-success.visible{opacity:1;transform:translateY(0);pointer-events:auto}.form-success svg{color:var(--color-text);opacity:.7}.form-success p{font-family:var(--font-body);font-size:1.05rem;font-weight:300;color:var(--color-text);line-height:1.7;opacity:.85}.contact-marquee{padding:2.5rem 0;border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);overflow:hidden;margin-top:4rem}.contact-page .footer{border-top:none}@media (max-width:1024px){.contact-grid{gap:4rem}}@media (max-width:750px){.contact-hero{padding:7rem 1.5rem 3rem}.hero-title{font-size:clamp(2rem, 9vw, 3.5rem)}.contact-body{padding:3rem 1.5rem}.contact-grid{grid-template-columns:1fr;gap:3rem}.contact-intro{font-size:1rem}.social-links{gap:1.5rem}.form-group input,.form-group select,.form-group textarea{font-size:16px}}@media (max-width:480px){.contact-hero{padding:6rem 1rem 2rem}.hero-title{font-size:clamp(1.8rem, 10vw, 2.8rem)}.contact-body{padding:2.5rem 1rem}.contact-details{gap:1.5rem}.social-links{flex-direction:column;gap:1rem}}[data-theme=dark] .contact-divider{background:var(--color-border-light)}[data-theme=dark] .contact-details{border-bottom-color:var(--color-border-light)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{border-bottom-color:var(--color-border-light)}[data-theme=dark] .contact-marquee{border-top-color:var(--color-border-light);border-bottom-color:var(--color-border-light)}[data-theme=dark] .form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}