/* ===== source: css/contact.css ===== */
/* =========================================================
   CONTACT - contact / enquiry form
   ========================================================= */

/* =========================================================
   FORMS
   ========================================================= */

form.card-form,
#contact-form {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 20px;
  display: grid;
  gap: 6px;
}

input.err,
textarea.err {
  border-color: var(--red);
}

.form-msg {
  font-size: 13px;
  color: var(--red);
  margin: 6px 0 !important;
}

/* ===== source: css/organized/contact.css ===== */

/* SGS CONTACT PAGE - unique red / white / black visual system */
.contact-hero{position:relative;overflow:hidden;background:#0a0c11;color:#fff;min-height:570px;border-bottom:5px solid #e31d2b}
.contact-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 30%,rgba(227,29,43,.22),transparent 32%),linear-gradient(120deg,#080a0f 0%,#101521 58%,#191d28 100%);pointer-events:none}
.contact-hero:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-120px;top:-160px;box-shadow:0 0 0 80px rgba(227,29,43,.025),0 0 0 160px rgba(255,255,255,.02)}
.contact-hero-grid{position:relative;z-index:1;max-width:1240px;margin:auto;padding:82px 28px 76px;display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center}
.contact-kicker,.eyebrow-l{font-size:12px;font-weight:800;letter-spacing:2.5px;color:#e31d2b;margin:0 0 16px;text-transform:uppercase}
.contact-hero h1{font-family:var(--f-head);font-size:clamp(44px,5.2vw,78px);line-height:.98;letter-spacing:-2.8px;max-width:780px;margin:0 0 24px}
.contact-hero h1 span{display:block;color:#e31d2b}
.contact-hero-copy>p:not(.contact-kicker){color:#d7dae1;max-width:630px;font-size:17px;line-height:1.8}
.contact-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}
.contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:0 20px;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;border:1px solid transparent;transition:transform .25s,box-shadow .25s,background .25s}
.contact-btn:hover{transform:translateY(-3px)}
.contact-btn-red{background:#e31d2b;color:#fff;box-shadow:8px 8px 0 rgba(255,255,255,.08)}
.contact-btn-red:hover{background:#ff2938;box-shadow:12px 12px 0 rgba(255,255,255,.1)}
.contact-btn-light{background:#fff;color:#090b10}
.contact-btn-light:hover{background:#f2f2f2}
.contact-trust{display:flex;flex-wrap:wrap;gap:20px;color:#aeb4bf;font-size:11px;font-weight:700}
.contact-trust b{color:#e31d2b;margin-right:5px}
.contact-hero-visual{min-height:380px;position:relative;display:flex;align-items:center;justify-content:center}
.visual-ring{width:330px;height:330px;border:1px solid rgba(255,255,255,.13);border-radius:50%;position:absolute;animation:slowSpin 18s linear infinite}
.visual-ring:before,.visual-ring:after{content:"";position:absolute;width:9px;height:9px;background:#e31d2b;border-radius:50%;top:28px;left:50%;box-shadow:220px 230px 0 #fff}
.visual-panel{position:relative;width:280px;height:320px;background:#f7f7f7;color:#090b10;padding:42px 32px;box-shadow:20px 20px 0 #e31d2b;transform:rotate(-3deg);transition:transform .35s}
.visual-panel:hover{transform:rotate(0) translateY(-7px)}
.visual-label{font-size:10px;font-weight:900;letter-spacing:2px;color:#e31d2b}
.visual-panel strong{display:block;font:900 52px/1 var(--f-head);letter-spacing:-3px;margin-top:45px}
.visual-panel em{font-style:normal;color:#e31d2b}
.visual-panel p{font-size:12px;line-height:1.7;color:#555;margin-top:18px}
.visual-line{height:5px;width:58px;background:#e31d2b;margin-top:28px}
.floating-chip{position:absolute;background:#fff;color:#111;font-size:10px;font-weight:900;letter-spacing:1.5px;padding:11px 14px;box-shadow:7px 7px 0 #e31d2b;animation:floatChip 4s ease-in-out infinite}
.chip-one{left:0;top:56px}.chip-two{right:4px;bottom:48px;animation-delay:1.2s}
.contact-main{padding:90px 0 100px;background:#fff}
.contact-heading{max-width:720px;margin:0 auto 48px;text-align:center}
.contact-heading h2,.locations-head h2{font:900 clamp(34px,4vw,52px)/1 var(--f-head);letter-spacing:-1.5px;margin:0 0 16px}
.contact-heading>p:last-child{color:#60656e;line-height:1.8}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;max-width:1160px;margin:auto;align-items:start}
.contact-info{padding-top:10px}
.info-card{display:flex;gap:18px;padding:24px 0;border-bottom:1px solid #ddd}
.info-card-featured{border-top:4px solid #e31d2b;padding-top:20px}
.info-icon{flex:0 0 42px;height:42px;display:grid;place-items:center;background:#0b0d10;color:#fff;font-size:12px;font-weight:900}
.info-card h3{font-size:18px;margin:0 0 7px}
.info-card p{font-size:13px;line-height:1.65;color:#666;margin:0}
.contact-direct{margin-top:34px;padding:24px;background:#f3f3f3;border-left:5px solid #e31d2b}
.small-label{font-size:10px;font-weight:900;letter-spacing:2px;color:#e31d2b}
.contact-direct a{display:block;color:#111;font-weight:800;margin-top:9px}
.contact-direct a:hover{color:#e31d2b}
.contact-form-wrap{background:#fff;border:1px solid #d7d7d7;box-shadow:16px 16px 0 #0b0d10;padding:34px}
.form-top{display:flex;align-items:center;gap:12px;color:#e31d2b;font-size:10px;font-weight:900;letter-spacing:2px}
.form-top i{display:block;height:3px;width:45px;background:#e31d2b}
.contact-form-wrap h2{font:900 36px/1 var(--f-head);margin:17px 0 9px}
.form-intro{font-size:13px;color:#666;margin-bottom:26px}
.sgs-contact-form{display:grid;gap:17px}
.sgs-contact-form label{display:grid;gap:7px;font-size:11px;font-weight:800;color:#20232a}
.sgs-contact-form label>span{color:#e31d2b}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.sgs-contact-form input,.sgs-contact-form select,.sgs-contact-form textarea{width:100%;border:1px solid #bfc2c7;background:#fafafa;color:#111;padding:13px 14px;font:500 13px var(--f-body);outline:0;transition:border-color .2s,box-shadow .2s,transform .2s}
.sgs-contact-form textarea{resize:vertical;min-height:125px}
.sgs-contact-form input:focus,.sgs-contact-form select:focus,.sgs-contact-form textarea:focus{border-color:#e31d2b;box-shadow:0 0 0 3px rgba(227,29,43,.1);background:#fff}
.consent{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px!important;font-size:11px!important;font-weight:600!important;color:#666!important}
.consent input{width:16px;height:16px;accent-color:#e31d2b}
.contact-submit{border:0;background:#e31d2b;color:#fff;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:900;letter-spacing:1.5px;cursor:pointer;text-transform:uppercase;transition:.25s}
.contact-submit:hover{background:#0b0d10;transform:translateY(-2px)}
.form-status{margin:0;font-size:12px;font-weight:700;line-height:1.5}.form-status.error{color:#d7191f}.form-status.success{color:#087443}
.contact-strip{background:#0b0d10;color:#fff;padding:38px 0;border-top:1px solid #222;border-bottom:4px solid #e31d2b}
.contact-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.contact-strip-grid>div{display:flex;gap:15px}
.strip-number{width:36px;height:36px;border:1px solid #e31d2b;color:#e31d2b;display:grid;place-items:center;font-weight:900;font-size:12px;flex:none}
.contact-strip b{font-size:11px;letter-spacing:1px}.contact-strip p{font-size:12px;color:#aeb4bf;line-height:1.6;margin:6px 0 0}
.contact-locations{padding:90px 0}
.locations-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:42px}
.contact-outline{border:1px solid #111;color:#111;padding:13px 17px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.contact-outline:hover{background:#e31d2b;color:#fff;border-color:#e31d2b}
.location-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.location-card{position:relative;min-height:225px;border:1px solid #d8d8d8;padding:30px;background:#fff;overflow:hidden;transition:.3s}
.location-card:before{content:"";position:absolute;left:0;top:0;width:5px;height:0;background:#e31d2b;transition:height .3s}
.location-card:hover{transform:translateY(-8px);box-shadow:12px 12px 0 #e31d2b}.location-card:hover:before{height:100%}
.location-card>span{font-size:10px;color:#e31d2b;font-weight:900;letter-spacing:2px}.location-card h3{font:900 28px/1 var(--f-head);margin:28px 0 12px}.location-card p{font-size:13px;line-height:1.7;color:#666}.location-card a{font-size:11px;font-weight:900;color:#111;text-transform:uppercase;letter-spacing:1px}.location-card a:hover{color:#e31d2b}
.contact-cta{background:#e31d2b;color:#fff;text-align:center;padding:85px 20px;position:relative;overflow:hidden}
.contact-cta:before{content:"CONTACT";position:absolute;font:900 150px/1 var(--f-head);color:rgba(0,0,0,.08);left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}
.contact-cta>*{position:relative;z-index:1}
.contact-cta .eyebrow-l{color:#fff}.contact-cta h2{font:900 clamp(35px,5vw,62px)/1 var(--f-head);letter-spacing:-2px;max-width:900px;margin:0 auto 15px}.contact-cta p:not(.eyebrow-l){max-width:600px;margin:0 auto 28px;color:#ffe8e9;line-height:1.7}.contact-cta .contact-btn-red{background:#0b0d10;box-shadow:8px 8px 0 rgba(255,255,255,.22)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}
@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes floatChip{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:900px){.contact-hero-grid{grid-template-columns:1fr}.contact-hero-visual{min-height:330px}.contact-grid{grid-template-columns:1fr}.contact-strip-grid{grid-template-columns:1fr}.location-cards{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.contact-hero-grid{padding:60px 20px}.contact-hero h1{font-size:43px;letter-spacing:-1.8px}.contact-hero-copy>p:not(.contact-kicker){font-size:14px}.contact-hero-visual{min-height:290px}.visual-panel{width:230px;height:270px;padding:30px 24px}.visual-panel strong{font-size:42px;margin-top:35px}.floating-chip{font-size:8px}.chip-one{left:0}.chip-two{right:0}.contact-main,.contact-locations{padding:65px 0}.contact-form-wrap{padding:24px;box-shadow:9px 9px 0 #0b0d10}.form-row{grid-template-columns:1fr}.locations-head{align-items:start;flex-direction:column}.location-cards{grid-template-columns:1fr}.contact-cta h2{letter-spacing:-1px}.contact-cta:before{font-size:80px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.visual-ring,.floating-chip{animation:none}.contact-btn,.location-card{transition:none}}
