/* full-screen snap sections (Home/About behavior) */
html{scroll-snap-type:y proximity}
section{scroll-snap-align:start}
section:not(.banner){min-height:100vh;display:flex;align-items:center}
@media(max-width:1000px){html{scroll-snap-type:none}section:not(.banner){min-height:0;display:block}}
/* contact specifics */
.contact{padding:110px 0}
.ct-cols{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start}
.ct-info .eyebrow{margin-bottom:14px}
.ct-info h2{margin-bottom:14px}
.ct-info>p{color:var(--ink-2);margin-bottom:30px}
.ways{list-style:none;display:grid;gap:16px}
.way{display:flex;gap:16px;align-items:flex-start;background:var(--glass);backdrop-filter:blur(10px);border:1.5px solid var(--brd-gold);border-radius:16px;padding:20px 22px;transition:.3s}
.way:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.way .ic{width:46px;height:46px;flex:none;border-radius:12px;background:linear-gradient(135deg,rgba(201,162,39,.2),rgba(201,162,39,.05));border:1.5px solid var(--brd-gold);display:flex;align-items:center;justify-content:center;color:var(--gold-deep);font-size:18px}
.way .wt .k{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.way .wt .v{font-family:'Sora',sans-serif;font-size:15px;font-weight:600;color:var(--ink)}
.way .wt .v a:hover{color:var(--gold-deep)}
.wa-btn{margin-top:20px;display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;font-family:'Sora',sans-serif;font-weight:600;font-size:14px;border-radius:12px;padding:13px 22px;transition:.3s}
.wa-btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px -10px rgba(37,211,102,.5)}
.wa-btn svg{width:20px;height:20px;fill:#fff}
/* form */
.ct-form{background:var(--glass);backdrop-filter:blur(26px) saturate(1.4);border:1.5px solid var(--brd-gold);border-radius:26px;box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.7);padding:44px 42px}
.ct-form h3{font-size:20px;margin-bottom:6px}
.ct-form .fsub{color:var(--ink-2);font-size:14px;margin-bottom:26px}
.ct-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.ct-form .row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px}
.ct-form .full{margin-bottom:16px}
.ct-form label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px}
.ct-form input,.ct-form select,.ct-form textarea{width:100%;background:rgba(255,255,255,.65);border:1.5px solid var(--brd-soft);border-radius:12px;color:var(--ink);padding:13px 15px;font-family:'Inter',sans-serif;font-size:14.5px;transition:.2s}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(201,162,39,.14)}
.ct-form textarea{resize:vertical;min-height:88px}
.ct-form .tech{border:1.5px dashed var(--brd-gold);border-radius:16px;padding:22px 20px;margin-bottom:16px;background:rgba(201,162,39,.04)}
.ct-form .tech .th{font-family:'Sora',sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:16px}
.ct-form .upload{border:1.5px dashed var(--brd-gold);border-radius:12px;padding:18px;text-align:center;color:var(--ink-2);font-size:13.5px;background:rgba(201,162,39,.04)}
.ct-form .btn{width:100%;justify-content:center;margin-top:6px}
/* map */
.mapsec{padding:120px 0 0!important;min-height:0!important;display:block!important;scroll-snap-align:none!important}
/* full-width live google map */
.map-full{position:relative;width:100%;height:480px;border-top:1.5px solid var(--brd-gold);border-bottom:1.5px solid var(--brd-gold);overflow:hidden;background:#1b1e23}
.map-full iframe{width:100%;height:100%;border:0;display:block}
.map-card{position:absolute;left:max(32px,calc((100% - var(--max))/2 + 32px));bottom:30px;z-index:5;cursor:pointer;display:flex;align-items:center;gap:16px;background:rgba(15,17,21,.92);backdrop-filter:blur(14px);border:1.5px solid var(--brd-gold);border-radius:18px;box-shadow:0 24px 60px -20px rgba(0,0,0,.6);padding:18px 24px;max-width:min(92vw,440px);transition:.3s}
.map-card:hover{transform:translateY(-3px);border-color:var(--gold-3)}
.map-card .mc-pin{width:48px;height:48px;flex:none;border-radius:50%;background:linear-gradient(135deg,var(--gold-3),var(--gold));display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 8px rgba(201,162,39,.14);animation:pulse2 2.4s infinite}
@keyframes pulse2{0%,100%{box-shadow:0 0 0 8px rgba(201,162,39,.14)}50%{box-shadow:0 0 0 14px rgba(201,162,39,.02)}}
.map-card .mc-pin svg{width:24px;height:24px;fill:#171204}
.map-card .mc-txt b{display:block;font-family:'Sora',sans-serif;font-size:15px;font-weight:700;color:#F2F0EA}
.map-card .mc-txt span{font-size:13px;color:#A9AEB6}
.map-card .mc-go{margin-left:auto;font-family:'Sora',sans-serif;font-size:12.5px;font-weight:600;color:var(--gold-3);white-space:nowrap}
@media(max-width:1000px){.ct-cols{grid-template-columns:1fr;gap:40px}}
@media(max-width:640px){.map-full{height:420px}.map-card{left:16px;right:16px;bottom:16px;flex-wrap:wrap;padding:16px 18px}.map-card .mc-go{margin-left:0;width:100%}}
@media(max-width:640px){.ct-form{padding:32px 22px}.ct-form .row,.ct-form .row3{grid-template-columns:1fr}}
/* GALLERY-CAREERS-NAV-FIX */

/* render_form adaptation — the CMS form builder emits Bootstrap-style markup
   (.mb-3 wrappers, .form-control/.form-select, .btn.btn-primary, .alert,
   .form-hint, .invalid-feedback). This maps it onto the design's .ct-form
   input styling and two-column / three-column grid rhythm. */
.ct-form form{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.ct-form form>.mb-3{grid-column:1/-1;margin:0;min-width:0}
@media(min-width:641px){
  .ct-form form>.mb-3:has(#ff-enquiry-full_name),
  .ct-form form>.mb-3:has(#ff-enquiry-company),
  .ct-form form>.mb-3:has(#ff-enquiry-phone),
  .ct-form form>.mb-3:has(#ff-enquiry-email){grid-column:span 3}
  .ct-form form>.mb-3:has(#ff-enquiry-material_grade),
  .ct-form form>.mb-3:has(#ff-enquiry-thickness_mm),
  .ct-form form>.mb-3:has(#ff-enquiry-width_mm),
  .ct-form form>.mb-3:has(#ff-enquiry-length_mm),
  .ct-form form>.mb-3:has(#ff-enquiry-quantity),
  .ct-form form>.mb-3:has(#ff-enquiry-delivery_timeline){grid-column:span 2}
}
.ct-form input[type="file"]{border-style:dashed;background:rgba(201,162,39,.04);cursor:pointer}
.ct-form .form-hint{display:block;margin-top:6px;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-3)}
.ct-form .form-control.is-invalid,.ct-form .form-select.is-invalid{border-color:#B3372B}
.ct-form .invalid-feedback{display:block;margin-top:6px;font-size:12.5px;color:#B3372B}
.ct-form .alert{border-radius:12px;padding:13px 16px;font-size:14px;margin-bottom:18px;border:1.5px solid}
.ct-form .alert-success{background:rgba(46,125,50,.08);border-color:rgba(46,125,50,.35);color:#2E7D32}
.ct-form .alert-danger{background:rgba(179,55,43,.08);border-color:rgba(179,55,43,.35);color:#B3372B}
.ct-form form .btn.btn-primary{grid-column:1/-1;width:100%;justify-content:center;margin-top:6px;background:linear-gradient(135deg,var(--gold-3),var(--gold));color:#171204;border:1.5px solid rgba(122,95,15,.65);box-shadow:0 14px 34px -12px rgba(184,144,31,.55),inset 0 1px 0 rgba(255,255,255,.4)}
.ct-form form .btn.btn-primary:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 22px 48px -12px rgba(184,144,31,.7)}
