.page-contact main{padding-top:var(--header-h)}.contact-hero{background:radial-gradient(900px 500px at 90% -20%,rgba(11,37,69,.05) 0,transparent 60%),linear-gradient(180deg,#ffffff,#fafbfc);border-bottom:1px solid var(--border);padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(3rem,5vw,4.5rem)}.contact-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1.75rem,4vw,3.5rem)}.contact-hero-copy{max-width:640px}.contact-hero-copy .section-label{display:inline-block;margin-bottom:1.25rem}.contact-title{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.05;letter-spacing:-.03em;font-weight:700;color:var(--ink);max-width:22ch}.contact-title em{font-style:normal;color:inherit;font-weight:inherit}.contact-lead{margin-top:1.5rem;font-size:clamp(.98rem,1.05vw,1.05rem);line-height:1.6;color:var(--ink-2);max-width:56ch}.contact-hero-visual{position:relative;aspect-ratio:5/4;width:100%;max-width:520px;margin-left:auto}.contact-hero-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(46% 52% at 50% 50%,rgba(46,111,217,.12) 0,transparent 70%);pointer-events:none}.contact-hero-waves{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;animation:contact-waves-drift 16s ease-in-out infinite alternate}@keyframes contact-waves-drift{0%{transform:translateY(-6px)}to{transform:translateY(6px)}}.contact-hero-call{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:999px;display:inline-grid;place-items:center;background:var(--accent);color:#ffffff;box-shadow:0 0 0 8px rgba(46,111,217,.08),0 22px 48px -18px rgba(46,111,217,.55);transition:transform .25s var(--ease-out),box-shadow .25s ease}.contact-hero-call svg{width:30px;height:30px}.contact-hero-call-ring{position:absolute;inset:0;border-radius:999px;border:1.5px solid rgba(46,111,217,.5);animation:contact-call-sonar 3.2s var(--ease-out) infinite}@keyframes contact-call-sonar{0%{transform:scale(1);opacity:.9}70%,to{transform:scale(2);opacity:0}}.contact-hero-call:hover{transform:translate(-50%,-50%) scale(1.04);box-shadow:0 0 0 10px rgba(46,111,217,.1),0 28px 60px -18px rgba(46,111,217,.6)}@media (prefers-reduced-motion:reduce){.contact-hero-waves{animation:none}.contact-hero-call-ring{animation:none;opacity:0}}.contact-info-section{padding:clamp(2.5rem,5vw,4rem) 0 clamp(2rem,4vw,3rem);background:#ffffff}.contact-card{background:#ffffff;border:1px solid var(--border);border-radius:24px;padding:clamp(1.25rem,2.4vw,1.75rem);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.5rem,3.5vw,2.75rem);align-items:stretch;box-shadow:0 30px 70px -45px rgba(15,23,42,.18)}.contact-card-map{position:relative;display:flex;flex-direction:column;gap:.75rem}.contact-card-map-frame{position:relative;flex:1;min-height:360px;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:var(--surface)}.contact-card-map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.contact-card-map-actions{display:flex;flex-wrap:wrap;gap:.65rem}.contact-card-map-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.65rem .95rem;border-radius:999px;border:1px solid var(--border);background:#ffffff;color:var(--ink);font-size:.86rem;font-weight:700;transition:border-color .25s ease,color .25s ease,transform .25s var(--ease-out),box-shadow .25s ease}.contact-card-map-actions a:first-child{background:var(--accent);border-color:var(--accent);color:#ffffff;box-shadow:0 14px 26px -20px rgba(46,111,217,.7)}.contact-card-map-actions a:hover{border-color:rgba(46,111,217,.28);color:var(--accent);transform:translateY(-1px)}.contact-card-map-actions a:first-child:hover{color:#ffffff;box-shadow:0 18px 34px -22px rgba(46,111,217,.85)}.contact-card-info{display:flex;flex-direction:column;padding:.5rem 0}.contact-card-info .info-row{display:grid;grid-template-columns:44px 1fr;gap:1rem;align-items:start;padding:1.15rem 0;border-top:1px solid var(--border)}.contact-card-info .info-row:first-child{border-top:0;padding-top:.4rem}.contact-card-info .info-row:last-child{padding-bottom:.4rem}.info-row-icon{width:40px;height:40px;border-radius:999px;border:1px solid var(--border);display:inline-grid;place-items:center;color:var(--ink-2);background:#ffffff;flex-shrink:0}.info-row-icon svg{width:18px;height:18px}.info-row-body{display:flex;flex-direction:column;gap:.4rem;min-width:0}.info-heading{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}.info-address{display:block;font-size:.98rem;line-height:1.55;color:var(--ink);font-weight:500;margin:0}.info-address-link{transition:color .25s ease}.info-address-link:hover{color:var(--accent)}.info-line{display:block;font-size:.98rem;font-weight:500;color:var(--ink);letter-spacing:-.005em;transition:color .25s ease;line-height:1.45;word-break:break-word}.info-line:hover{color:var(--accent)}.info-hours{display:flex;flex-direction:column;gap:.35rem}.info-hours li{display:grid;grid-template-columns:110px 1fr;gap:1rem;align-items:baseline}.info-hours li span:first-child{font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted)}.info-hours li span:last-child{font-size:.94rem;color:var(--ink);font-weight:500}.info-social{display:flex;flex-direction:column;gap:.4rem}.info-social-link{display:inline-flex;align-items:center;font-size:.95rem;color:var(--ink);font-weight:500;transition:color .25s ease}.info-social-link:hover{color:var(--accent)}.contact-form-section{padding:clamp(2rem,4vw,3rem) 0 clamp(4rem,7vw,6rem);background:#ffffff}.enquiry-card{background:#ffffff;border:1px solid var(--border);border-radius:24px;padding:clamp(1.5rem,3vw,2.5rem);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.75rem,3.5vw,3rem);align-items:start;box-shadow:0 30px 70px -45px rgba(15,23,42,.18)}.enquiry-intro{display:flex;flex-direction:column;gap:1rem}.enquiry-intro .section-label{display:inline-block}.enquiry-title{font-size:clamp(1.45rem,2.2vw,1.95rem);line-height:1.18;letter-spacing:-.02em;font-weight:700;color:var(--ink);max-width:18ch;margin:0}.enquiry-lead{font-size:.98rem;line-height:1.6;color:var(--ink-2);max-width:46ch;margin:0}.enquiry-lead a{color:var(--accent);border-bottom:1px solid var(--border-strong);transition:color .25s ease,border-color .25s ease}.enquiry-lead a:hover{color:var(--ink);border-color:var(--ink)}.enquiry-form-wrap{min-width:0}.enquiry-form{display:flex;flex-direction:column;gap:1rem;background:transparent;border:0;border-radius:0;padding:0}.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.input-invalid{border-color:#b63d31!important;box-shadow:0 0 0 3px rgba(182,61,49,.1)!important}.field-error{font-size:.84rem;line-height:1.45;color:#b63d31}.field-optional{font-style:normal;text-transform:none;letter-spacing:.02em;color:var(--ink-muted)}.form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.4rem}.form-meta{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.form-note{margin:.5rem 0 0;padding:.9rem 1rem;background:var(--accent-soft);border:1px solid rgba(11,37,69,.15);border-radius:10px;font-size:.92rem;color:var(--accent);font-weight:500}.form-note-error{background:#fff4f2;border-color:rgba(182,61,49,.22);color:#8f221a}.form-note-success{background:var(--accent-soft)}@media (max-width:1024px){.contact-hero-grid{grid-template-columns:1fr;gap:2rem}.contact-hero-visual{max-width:360px;aspect-ratio:4/3;margin-inline:auto}.contact-card{grid-template-columns:1fr}.contact-card-map-frame{min-height:280px}.enquiry-card{gap:1.75rem}.enquiry-card,.form-row{grid-template-columns:1fr}}@media (max-width:720px){.contact-hero-visual{max-width:300px}.contact-hero-call{width:64px;height:64px}.contact-hero-call svg{width:26px;height:26px}.contact-hero-panel-actions .se-btn{width:100%;justify-content:center}.contact-card{padding:1rem;border-radius:18px}.contact-card-info .info-row{grid-template-columns:36px 1fr;gap:.85rem;padding:.95rem 0}.info-row-icon{width:34px;height:34px}.info-row-icon svg{width:16px;height:16px}.info-hours li{grid-template-columns:1fr;gap:.1rem}.enquiry-card{padding:1.25rem;border-radius:18px}.enquiry-title{font-size:1.4rem}.form-actions .btn{flex:1;justify-content:center}}