
/* RYSU.STORE v21 — Contact */
body.contact-page{color:#f7f7f7;min-height:100vh}
.contact-main{padding-top:86px}
.contact-hero{min-height:72vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:48px;align-items:center;padding-top:74px;padding-bottom:70px}
.contact-hero-copy h1{margin:18px 0 0;font-size:clamp(78px,9vw,154px);font-weight:950;line-height:.78;letter-spacing:-.065em;text-transform:uppercase}
.contact-hero-copy h1 span{color:#ffd21f}
.contact-hero-copy p{max-width:610px;margin:26px 0 0;color:rgba(255,255,255,.52);font-size:15px;line-height:1.75}
.contact-direct-grid{display:grid;gap:12px}
.contact-direct-card{position:relative;min-height:218px;padding:26px;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:rgba(10,10,10,.70);text-decoration:none;overflow:hidden;transition:.25s ease}
.contact-direct-card::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-85px;top:-90px;background:rgba(59,130,246,.12)}
.contact-direct-card.primary{border-color:rgba(255,210,31,.26);background:linear-gradient(135deg,rgba(255,210,31,.08),rgba(10,10,10,.72) 48%)}
.contact-direct-card.primary::after{background:rgba(255,210,31,.13)}
.contact-direct-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.24)}
.contact-card-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.03)}
.contact-card-icon img{width:22px;height:22px;object-fit:contain}
.contact-direct-card small{display:block;margin-top:26px;color:#ffd21f;font-size:8px;font-weight:950;letter-spacing:.18em}
.contact-direct-card strong{display:block;margin-top:8px;font-size:clamp(25px,2.2vw,38px);font-weight:950;line-height:.92;letter-spacing:-.04em}
.contact-direct-card p{margin:10px 0 0;color:rgba(255,255,255,.45);font-size:11px}
.contact-direct-card b{position:absolute;right:24px;bottom:22px;font-size:8px;letter-spacing:.14em;color:rgba(255,255,255,.6)}
.contact-form-section{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:58px;padding-top:80px;padding-bottom:70px;border-top:1px solid rgba(255,255,255,.09)}
.contact-form-head h2{margin:18px 0 0;font-size:clamp(54px,6vw,100px);font-weight:950;line-height:.8;letter-spacing:-.06em}
.contact-form-head h2 span{color:#ffd21f}
.contact-form-head p{max-width:420px;margin:22px 0 0;color:rgba(255,255,255,.46);font-size:13px;line-height:1.7}
.contact-form-card{padding:28px;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:rgba(10,10,10,.72);display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form-card label{display:grid;gap:8px;color:rgba(255,255,255,.5);font-size:8px;font-weight:950;letter-spacing:.16em}
.contact-form-card label:nth-of-type(4){grid-column:1/-1}
.contact-form-card input,.contact-form-card select,.contact-form-card textarea{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.035);color:#fff;padding:14px 16px;outline:none;font:500 13px/1.4 Inter,ui-sans-serif,system-ui,sans-serif}
.contact-form-card select option{background:#111;color:#fff}
.contact-form-card textarea{min-height:160px;resize:vertical}
.contact-form-card input:focus,.contact-form-card select:focus,.contact-form-card textarea:focus{border-color:rgba(255,210,31,.55)}
.contact-form-card button{grid-column:1/-1;min-height:54px;border:0;border-radius:999px;background:#ffd21f;color:#080808;font-size:10px;font-weight:950;letter-spacing:.13em;cursor:pointer}
.contact-socials{padding-top:30px;padding-bottom:40px}
.contact-section-label{margin-bottom:18px;color:rgba(255,255,255,.4);font-size:8px;font-weight:950;letter-spacing:.18em}
.contact-social-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.contact-social-card{min-height:92px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:13px;padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(10,10,10,.66);text-decoration:none}
.contact-social-card img{width:20px;height:20px;object-fit:contain}
.contact-social-card strong{display:block;font-size:12px}.contact-social-card small{display:block;margin-top:3px;color:rgba(255,255,255,.4);font-size:9px}.contact-social-card b{font-size:14px;color:rgba(255,255,255,.45)}
@media(max-width:900px){.contact-main{padding-top:70px}.contact-hero{min-height:0;grid-template-columns:1fr;padding-top:55px;gap:30px}.contact-form-section{grid-template-columns:1fr;gap:28px}.contact-social-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.contact-hero{padding-top:36px;padding-bottom:45px}.contact-hero-copy h1{font-size:clamp(62px,20vw,92px)}.contact-hero-copy p{font-size:12px;margin-top:18px}.contact-direct-card{min-height:170px;padding:20px}.contact-direct-card small{margin-top:18px}.contact-form-section{padding-top:52px;padding-bottom:48px}.contact-form-card{grid-template-columns:1fr;padding:18px}.contact-form-card label{grid-column:1/-1}.contact-social-grid{grid-template-columns:1fr}.contact-social-card{min-height:72px}.contact-section-label{text-align:center}}


/* =====================================================================
   v25 — traffic routing from Contact back into Services / Shop
   ===================================================================== */
.contact-route-actions{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  width:min(100%,470px);
}
.contact-route-btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:0 20px;
  border-radius:999px;
  text-decoration:none;
  font-size:9px;
  font-weight:950;
  letter-spacing:.13em;
  transition:
    transform .22s cubic-bezier(.16,1,.3,1),
    border-color .22s ease,
    background .22s ease;
}
.contact-route-btn strong{font:inherit}
.contact-route-btn span{font-size:14px;line-height:1}
.contact-route-services{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.035);
  color:#fff;
}
.contact-route-shop{
  border:1px solid #ffd21f;
  background:#ffd21f;
  color:#080808;
}
.contact-route-btn:hover{transform:translateY(-2px)}
.contact-route-services:hover{
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.07);
}
.contact-route-shop:hover{filter:brightness(1.04)}

@media(max-width:580px){
  .contact-route-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:22px;
  }
  .contact-route-btn{
    min-width:0;
    width:100%;
    padding:0 10px;
    font-size:7.5px;
  }
}


/* =====================================================================
   v26 — mobile Contact first-view compression
   ===================================================================== */
@media(max-width:580px){
  .contact-main{
    padding-top:70px !important;
  }
  .contact-hero{
    padding-top:8px !important;
    padding-bottom:34px !important;
    gap:20px !important;
  }
  .contact-hero-copy .lab-eyebrow{
    display:none !important;
  }
  .contact-hero-copy h1{
    margin-top:0 !important;
  }
  .contact-hero-copy > p{
    display:none !important;
  }
  .contact-route-actions{
    margin-top:16px !important;
  }
}
