.contact-page nav a[aria-current]{color:#ff865b}.contact-hero{padding:160px max(7vw,24px) 75px;background:radial-gradient(ellipse at top right,#24435a,transparent 65%),#07111f;color:#fff}.contact-hero h1{font-size:clamp(38px,5.6vw,76px);line-height:1.12;letter-spacing:-2px;margin:22px 0}.contact-hero h1 em{font-style:normal;color:#ff865b}.contact-hero>p:last-child{max-width:620px;color:#bdc9d6;line-height:1.8}.contact-page .kicker{color:#ba390e;font-size:11px;letter-spacing:2px;font-weight:700}.contact-hero .kicker{color:#ffac85}.contact-layout{max-width:1240px;margin:auto;padding:80px 28px;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-layout h2,.office-section h2{font-size:clamp(28px,3.3vw,44px);line-height:1.2;margin:18px 0 24px}.contact-details>p,.portfolio-note p,.office-section>p{color:#576575;line-height:1.8}.contact-email{display:inline-block;font-weight:700;font-size:clamp(17px,2vw,24px);margin:20px 0;color:#ae350d;overflow-wrap:anywhere}.portfolio-note{padding:24px;border:1px solid #ddd8cf;border-left:3px solid #ff5b21;margin:24px 0 30px;border-radius:6px}.portfolio-note h3{margin:0 0 10px}.portfolio-note p{margin:0}.inquiry-form{display:flex;flex-direction:column;padding:32px;background:white;border:1px solid #e1ded7;border-radius:14px;gap:10px}.inquiry-form h2{font-size:25px;margin:0 0 16px}.inquiry-form label{font-size:13px;font-weight:700;margin-top:8px}.inquiry-form input,.inquiry-form textarea{width:100%;min-width:0;padding:14px;border:1px solid #bdc5cd;border-radius:5px;background:#fafbfc;color:#07111f;font:inherit}.inquiry-form textarea{resize:vertical}.contact-note{color:#576575;font-size:12px;line-height:1.7}.inquiry-form button{justify-content:center;cursor:pointer}.inquiry-form button:disabled{opacity:.65;cursor:wait}#contact-status{font-size:14px;line-height:1.7;margin:0}#contact-status[data-state=error]{color:#ae271b}#contact-status[data-state=success]{color:#176346}.office-section{padding:55px max(7vw,24px) 75px;background:#fff}.office-section iframe{display:block;width:100%;height:380px;border:0;border-radius:12px;margin:28px 0 20px}.contact-page :is(a,button,input,textarea):focus-visible{outline:3px solid #ff865b;outline-offset:4px}@media(max-width:760px){.contact-layout{grid-template-columns:1fr;padding:45px 20px;gap:35px}.inquiry-form{padding:24px}.contact-page footer{gap:24px;flex-wrap:wrap}.contact-page .footer-links{flex-wrap:wrap;gap:16px}}

@media(max-width:560px){.contact-page .site-header nav{top:72px}}

/* Shared outer edges and branding for the contact header and footer. */
.contact-page .nav-wrap,.contact-footer-inner{width:100%;max-width:1240px;margin-inline:auto;padding-inline:28px}
.contact-page .nav-wrap{gap:24px}
.contact-page .site-header .brand,.contact-footer .brand{flex-shrink:0}
.contact-page .site-header nav{gap:20px}
.contact-page .contact-footer{display:block;padding:32px 0;border-top:1px solid #ffffff1f}
.contact-footer-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.contact-page .contact-footer-links{position:static;display:flex;width:auto;padding:0;background:transparent;flex-direction:row;align-items:center;justify-content:center;gap:24px;font-size:13px}
.contact-page .contact-footer-links a{color:#ccd3da}
.contact-page .contact-footer-links a:hover,.footer-phone:hover{color:#ff865b}
.footer-phone{justify-self:end;font-size:14px;white-space:nowrap}
.contact-page .contact-copyright{grid-column:1/-1;text-align:center;margin:0;padding-top:24px;border-top:1px solid #ffffff1f}
.contact-email{margin-bottom:12px}
.contact-phone{display:block;width:fit-content;color:#ae350d;font-size:20px;font-weight:700;letter-spacing:.2px}
@media(max-width:1100px){.contact-page .site-header .menu-btn{display:block}.contact-page .site-header nav{display:none;position:absolute;top:84px;left:0;width:100%;padding:28px;background:#07111f;flex-direction:column;align-items:flex-start}.contact-page .site-header nav.open{display:flex}}
@media(max-width:760px){.contact-footer-inner{grid-template-columns:1fr 1fr}.contact-page .contact-footer-links{grid-column:1/-1;grid-row:2;flex-wrap:wrap}.contact-page .contact-copyright{grid-row:3}}
@media(max-width:560px){.contact-page .nav-wrap,.contact-footer-inner{padding-inline:20px}.contact-page .site-header nav{top:72px}.contact-footer-inner{grid-template-columns:1fr;justify-items:center;gap:22px}.footer-phone{justify-self:center;grid-row:2}.contact-page .contact-footer-links{grid-row:3}.contact-page .contact-copyright{grid-row:4;width:100%}}
/* Gentle, staggered entrance as each contact section comes into view. */
.contact-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.contact-reveal.is-revealed{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.contact-reveal{opacity:1;transform:none;transition:none}}
/* Direct contact cards with a shared line-icon language. */
.contact-channels{display:grid;gap:14px;margin:30px 0}
.channel-card{position:relative;display:flex;align-items:center;gap:18px;padding:22px 20px;background:linear-gradient(120deg,#fff,#fffaf5);border:1px solid #ddd8cf;border-radius:14px;box-shadow:0 5px 18px #07111f04;transition:border-color .25s,box-shadow .25s,transform .25s}
.channel-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border:1px solid #ff5b2126;border-radius:15px;background:#fff0e7;color:#b83b13;transition:background .25s,color .25s}
.channel-icon svg{width:26px;height:26px}
.channel-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.channel-label{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#865b45}
.channel-copy strong{font-family:'Manrope',sans-serif;font-size:clamp(16px,1.7vw,22px);letter-spacing:-.5px;overflow-wrap:anywhere;color:#07111f}
.channel-description{font-size:12px;line-height:1.6;color:#5b6976}
.channel-arrow{margin-left:auto;align-self:flex-start;color:#a63a17;font-size:22px;transition:transform .25s}
.channel-card:hover,.channel-card:focus-visible{border-color:#ed8c65;box-shadow:0 12px 26px #9d3b1010;transform:translateY(-3px)}
.channel-card:hover .channel-icon,.channel-card:focus-visible .channel-icon{background:#07111f;color:#ffad87;border-color:#07111f}
.channel-card:hover .channel-arrow{transform:translate(2px,-2px)}
@media(max-width:420px){.channel-card{padding:18px 14px;gap:12px}.channel-icon{width:42px;height:42px;border-radius:12px}.channel-icon svg{width:22px;height:22px}.channel-copy strong{font-size:16px}.channel-description{font-size:11px}.channel-arrow{font-size:18px}}
@media(prefers-reduced-motion:reduce){.channel-card,.channel-icon,.channel-arrow{transition:none}.channel-card:hover,.channel-card:focus-visible,.channel-card:hover .channel-arrow{transform:none}}