/* ═══════════════════════════════════════════
   ROTSAC WORDPRESS THEME — MAIN STYLESHEET
   ═══════════════════════════════════════════ */

:root {
  --dark:#0F0F0F; --dark2:#181818; --dark3:#222;
  --orange:#E8620A; --orange2:#F07820; --red:#C0281A;
  --green:#1A6B45; --green2:#22A066; --green3:#2EC47A;
  --white:#FAFAF8; --gray:#8A8A8A;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Montserrat',sans-serif; background:var(--dark); color:var(--white); overflow-x:hidden; }

/* ── NAV ── */
.rotsac-nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 5vw;
  background:rgba(15,15,15,0.97); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(232,98,10,0.18);
}
.nav-logo { display:flex; align-items:center; gap:.9rem; text-decoration:none; }
.nav-logo img { height:42px; width:auto; object-fit:contain; }
.nav-wordmark { font-family:'Cormorant Garamond',serif; font-size:1.7rem; font-weight:600; color:var(--white); letter-spacing:.15em; }
.nav-wordmark span { color:var(--orange); }
.nav-links { display:flex; gap:2rem; list-style:none; }
.nav-links a { color:rgba(255,255,255,.65); text-decoration:none; font-size:.68rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; transition:color .3s; }
.nav-links a:hover { color:var(--orange); }
.nav-right { display:flex; gap:.8rem; align-items:center; }
.nav-lang { display:flex; gap:.4rem; }
.lang-btn { font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:.28rem .7rem; border:1px solid rgba(232,98,10,.35); background:transparent; color:rgba(232,98,10,.85); cursor:pointer; transition:all .3s; border-radius:2px; }
.lang-btn.active,.lang-btn:hover { background:var(--orange); color:var(--white); border-color:var(--orange); }
.nav-cta { background:var(--orange); color:var(--white); padding:.55rem 1.3rem; border:none; border-radius:2px; font-family:'Montserrat',sans-serif; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:all .3s; text-decoration:none; display:inline-block; }
.nav-cta:hover { background:var(--orange2); transform:translateY(-1px); }

/* ── HERO ── */
.hero { min-height:100vh; display:grid; grid-template-columns:1.1fr .9fr; position:relative; overflow:hidden; }
.hero-hub { grid-template-columns:1fr; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:6rem 5vw 4rem; }
.hero-bg { position:absolute; inset:0; background:radial-gradient(ellipse 55% 70% at 70% 50%, rgba(232,98,10,.08) 0%, transparent 70%); }
.hero-bg-green { background:radial-gradient(ellipse 55% 70% at 70% 50%, rgba(34,160,102,.08) 0%, transparent 70%); }
.hero-grid-lines { position:absolute; inset:0; opacity:.05; background-image:linear-gradient(rgba(34,160,102,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(34,160,102,.8) 1px,transparent 1px); background-size:60px 60px; }
.arc { position:absolute; border-radius:50%; border:1px solid rgba(232,98,10,.07); top:50%; left:50%; transform:translate(-50%,-50%); }
.arc:nth-child(1){width:700px;height:700px;animation:spin 40s linear infinite;}
.arc:nth-child(2){width:520px;height:520px;animation:spin 28s linear infinite reverse;}
.arc:nth-child(3){width:360px;height:360px;animation:spin 18s linear infinite;}
@keyframes spin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero-logo-wrap { margin-bottom:2rem; }
.hero-logo-wrap img { height:100px; width:auto; filter:drop-shadow(0 0 30px rgba(232,98,10,.3)); }
.hero-content { display:flex; flex-direction:column; justify-content:center; padding:9rem 4vw 5rem 8vw; position:relative; z-index:2; }
.hero-hub .hero-content { padding:6rem 5vw 4rem; max-width:900px; align-items:center; }
.hero-right { display:flex; align-items:center; justify-content:center; padding:9rem 7vw 5rem 2rem; position:relative; z-index:2; }
.hero-card { background:rgba(255,255,255,.04); border:1px solid rgba(232,98,10,.18); border-radius:4px; padding:2.2rem; width:100%; max-width:360px; }
.hero-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:var(--orange); margin-bottom:1.5rem; }
.stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-bottom:1.5rem; }
.stat-item { text-align:center; }
.stat-number { font-family:'Cormorant Garamond',serif; font-size:2.5rem; font-weight:600; color:var(--orange2); display:block; line-height:1; }
.stat-label { font-size:.58rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.4); display:block; margin-top:.3rem; }
.hero-eyebrow { font-size:.62rem; font-weight:600; letter-spacing:.3em; text-transform:uppercase; color:var(--orange); margin-bottom:1.3rem; display:flex; align-items:center; gap:.8rem; }
.hero-eyebrow::before { content:''; width:22px; height:1px; background:var(--orange); }
.hero-hub .hero-eyebrow::before { display:none; }
.hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(3rem,5.5vw,6rem); font-weight:300; line-height:1.05; color:var(--white); margin-bottom:1.5rem; }
.hero-title em { font-style:italic; color:var(--orange); }
.hero-sub,.hero-subtitle { font-size:.88rem; font-weight:300; line-height:1.85; color:rgba(255,255,255,.55); max-width:480px; margin-bottom:2.5rem; }
.hero-hub .hero-subtitle { max-width:580px; }
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }

/* ── BUTTONS ── */
.btn-primary { background:var(--orange); color:var(--white); padding:.9rem 2rem; border:none; border-radius:2px; font-family:'Montserrat',sans-serif; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:all .3s; text-decoration:none; display:inline-block; }
.btn-primary:hover { background:var(--orange2); transform:translateY(-2px); box-shadow:0 8px 30px rgba(232,98,10,.35); }
.btn-green { background:var(--green2); }
.btn-green:hover { background:var(--green3); box-shadow:0 8px 30px rgba(34,160,102,.3); }
.btn-secondary { background:transparent; color:var(--white); padding:.9rem 2rem; border:1px solid rgba(255,255,255,.2); border-radius:2px; font-family:'Montserrat',sans-serif; font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:all .3s; text-decoration:none; display:inline-block; }
.btn-secondary:hover { border-color:var(--orange); color:var(--orange); }

/* ── TICKER ── */
.ticker { background:var(--orange); padding:.65rem 0; overflow:hidden; white-space:nowrap; }
.ticker-green { background:var(--green2); }
.ticker-track { display:inline-flex; gap:2.5rem; animation:ticker 28s linear infinite; }
.ticker-item { font-size:.62rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--white); display:flex; align-items:center; gap:.8rem; }
.ticker-item::after { content:'◆'; font-size:.35rem; opacity:.6; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── SECTIONS ── */
section { padding:6rem 8vw; }
.section-label { font-size:.6rem; font-weight:600; letter-spacing:.3em; text-transform:uppercase; color:var(--orange); margin-bottom:.9rem; display:flex; align-items:center; gap:.7rem; }
.section-label::before { content:''; width:20px; height:1px; background:var(--orange); }
.section-label-green { color:var(--green3); }
.section-label-green::before { background:var(--green3); }
.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3.8rem); font-weight:300; line-height:1.1; margin-bottom:1.5rem; }
.section-title em { font-style:italic; color:var(--orange); }
.green-em { color:var(--green3); }
.section-body { font-size:.87rem; font-weight:300; line-height:1.9; color:rgba(255,255,255,.5); max-width:600px; }

/* ── DIVISIONS (hub) ── */
.divisions { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; width:100%; max-width:900px; margin-top:.5rem; }
.div-card { border:1px solid rgba(232,98,10,.2); border-radius:6px; padding:2.8rem 2.2rem; cursor:pointer; text-decoration:none; display:block; position:relative; overflow:hidden; transition:all .4s; text-align:left; background:rgba(255,255,255,.03); }
.div-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(232,98,10,.08) 0%,transparent 60%); opacity:0; transition:opacity .4s; }
.div-card:hover { border-color:rgba(232,98,10,.5); transform:translateY(-6px); }
.div-card:hover::before { opacity:1; }
.div-icon { font-size:2.8rem; margin-bottom:1.2rem; display:block; }
.div-tag { font-size:.58rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--orange); margin-bottom:.7rem; display:block; }
.div-title { font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:300; color:var(--white); line-height:1.1; margin-bottom:1rem; }
.div-title em { font-style:italic; color:var(--orange); }
.div-desc { font-size:.78rem; font-weight:300; line-height:1.75; color:rgba(255,255,255,.55); margin-bottom:1.5rem; }
.div-cta { display:inline-flex; align-items:center; gap:.5rem; font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); border:1px solid rgba(232,98,10,.4); padding:.45rem 1rem; border-radius:2px; transition:all .3s; }
.div-card:hover .div-cta { background:var(--orange); color:var(--white); }

/* ── ABOUT STATS ── */
.about { background:var(--dark); display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.about-stats { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.stat { border:1px solid rgba(232,98,10,.15); border-radius:4px; padding:1.4rem; background:rgba(255,255,255,.03); }
.stat-n { font-family:'Cormorant Garamond',serif; font-size:2.8rem; font-weight:600; color:var(--orange2); display:block; line-height:1; }
.stat-l { font-size:.58rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.4); display:block; margin-top:.3rem; }

/* ── SERVICES ── */
.services { background:var(--dark2); }
.services-green { background:var(--dark2); }
.services .section-title,.services-green .section-title { color:var(--white); }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3.5rem; }
.service-card { background:rgba(255,255,255,.03); border:1px solid rgba(232,98,10,.12); border-radius:4px; padding:2rem; transition:all .4s; position:relative; overflow:hidden; }
.service-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--red),var(--orange)); transform:scaleX(0); transition:transform .4s; transform-origin:left; }
.service-card:hover { background:rgba(232,98,10,.06); border-color:rgba(232,98,10,.3); transform:translateY(-4px); }
.service-card:hover::after { transform:scaleX(1); }
.service-card-green { border-color:rgba(34,160,102,.12); }
.service-card-green::after { background:linear-gradient(90deg,var(--green),var(--green3)); }
.service-card-green:hover { background:rgba(34,160,102,.06); border-color:rgba(34,160,102,.3); }
.service-number { font-family:'Cormorant Garamond',serif; font-size:.72rem; color:var(--orange); letter-spacing:.15em; display:block; margin-bottom:.8rem; }
.service-number-green { color:var(--green3); }
.service-icon { font-size:1.7rem; margin-bottom:.9rem; display:block; }
.service-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:400; color:var(--white); margin-bottom:.8rem; }
.service-card p { font-size:.76rem; font-weight:300; color:rgba(255,255,255,.5); line-height:1.7; }
.service-tag { display:inline-block; margin-top:1rem; font-size:.56rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); border:1px solid rgba(232,98,10,.3); padding:.22rem .6rem; border-radius:2px; }
.service-tag-green { color:var(--green3); border-color:rgba(34,160,102,.3); }

/* ── PROCESS ── */
.process { background:var(--dark3); }
.process .section-title { color:var(--white); }
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:4rem; position:relative; }
.process-steps::before { content:''; position:absolute; top:26px; left:10%; right:10%; height:1px; background:linear-gradient(90deg,transparent,var(--orange),transparent); }
.process-step { text-align:center; padding:0 1.2rem; }
.step-number { width:52px; height:52px; background:var(--dark); border:2px solid var(--orange); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 1.4rem; font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:600; color:var(--orange); position:relative; z-index:1; }
.process-step h4 { font-size:.78rem; font-weight:600; color:var(--white); margin-bottom:.5rem; }
.process-step p { font-size:.72rem; font-weight:300; color:rgba(255,255,255,.45); line-height:1.6; }

/* ── TEAM ── */
.team,.team-green { background:var(--dark); display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.team .section-title,.team-green .section-title { color:var(--white); }
.team-cards { display:flex; flex-direction:column; gap:1.5rem; }
.team-card,.team-card-green { background:var(--dark2); border:1px solid rgba(232,98,10,.15); border-radius:4px; overflow:hidden; transition:border-color .3s; }
.team-card-green { border-color:rgba(34,160,102,.15); }
.team-card:hover { border-color:rgba(232,98,10,.4); }
.team-card-green:hover { border-color:rgba(34,160,102,.4); }
.team-card-top { height:140px; background:linear-gradient(135deg,var(--dark2),var(--dark3)); display:flex; align-items:center; justify-content:center; }
.team-top-green { background:linear-gradient(135deg,#0F1E18,#152A20); }
.team-avatar { width:72px; height:72px; background:rgba(232,98,10,.12); border:2px solid var(--orange); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:1.6rem; color:var(--orange); }
.team-avatar-green { background:rgba(34,160,102,.12); border-color:var(--green2); color:var(--green3); }
.team-card-body { padding:1.4rem; }
.team-card-body h3 { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:400; color:var(--white); margin-bottom:.2rem; }
.role { font-size:.58rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--orange); margin-bottom:.7rem; display:block; }
.role-green { color:var(--green3); }
.team-card-body p { font-size:.74rem; font-weight:300; color:rgba(255,255,255,.5); line-height:1.65; }
.expertise-tags { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.8rem; }
.expertise-tag { font-size:.56rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; border:1px solid rgba(232,98,10,.3); color:rgba(232,98,10,.9); padding:.22rem .6rem; border-radius:2px; }

/* ── MARKETS ── */
.markets { background:var(--dark3); }
.markets .section-title { color:var(--white); }
.markets-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:3rem; }
.mkt-card { background:var(--dark2); border:1px solid rgba(34,160,102,.15); border-radius:4px; padding:1.5rem; text-align:center; transition:all .3s; }
.mkt-card:hover { border-color:var(--green2); transform:translateY(-4px); }
.mkt-flag { font-size:2rem; margin-bottom:.6rem; display:block; }
.mkt-name { font-size:.72rem; font-weight:600; color:var(--white); display:block; margin-bottom:.2rem; }
.mkt-desc { font-size:.62rem; font-weight:300; color:rgba(255,255,255,.4); display:block; }

/* ── CONTACT CTA ── */
.contact-cta,.contact-cta-green { background:var(--dark2); text-align:center; padding:5rem 8vw; }
.contact-cta .section-title,.contact-cta-green .section-title { color:var(--white); margin-bottom:2rem; }

/* ── CONTACT PAGE ── */
.contact-page { padding:8rem 8vw 6rem; }
.contact-page-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.contact-info { margin-top:2rem; display:flex; flex-direction:column; gap:1rem; }
.cinfo-item { display:flex; gap:1rem; align-items:flex-start; }
.cinfo-icon { width:36px; height:36px; background:rgba(232,98,10,.1); border:1px solid rgba(232,98,10,.2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.85rem; flex-shrink:0; }
.cinfo-item h5 { font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); margin-bottom:.2rem; }
.cinfo-item p,.cinfo-item a { font-size:.78rem; color:rgba(255,255,255,.6); font-weight:300; text-decoration:none; }
.cinfo-item a:hover { color:var(--orange); }

/* ── FORMS ── */
.contact-form { display:flex; flex-direction:column; gap:1rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.ff { display:flex; flex-direction:column; gap:.4rem; }
.ff label { font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--orange); }
.ff input,.ff select,.ff textarea { background:rgba(255,255,255,.05); border:1px solid rgba(232,98,10,.18); padding:.78rem 1rem; color:var(--white); font-family:'Montserrat',sans-serif; font-size:.78rem; font-weight:300; border-radius:2px; outline:none; transition:border-color .3s; }
.ff select option { background:var(--dark); }
.ff input:focus,.ff select:focus,.ff textarea:focus { border-color:var(--orange); }
.ff textarea { resize:vertical; min-height:100px; }

/* ── PRIVACY PAGE ── */
.privacy-page { padding:8rem 8vw 6rem; }
.privacy-container { max-width:960px; }
.privacy-title { font-family:'Cormorant Garamond',serif; font-size:2.2rem; font-weight:400; color:var(--white); margin-bottom:2rem; }
.privacy-wrap { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.privacy-wrap h4 { font-size:.72rem; font-weight:700; color:var(--orange); letter-spacing:.1em; text-transform:uppercase; margin:1.2rem 0 .4rem; }
.privacy-wrap p,.privacy-wrap li { font-size:.78rem; font-weight:300; color:rgba(255,255,255,.5); line-height:1.75; }
.privacy-wrap ul { padding-left:1.2rem; margin:.3rem 0; }

/* ── FOOTER ── */
.rotsac-footer { padding:2.5rem 8vw; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(232,98,10,.1); background:#0A0A0A; }
.footer-left { display:flex; align-items:center; gap:.8rem; }
.footer-left img { height:34px; }
.footer-wordmark { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:600; color:var(--white); letter-spacing:.12em; }
.footer-wordmark span { color:var(--orange); }
.footer-tagline { font-size:.6rem; color:rgba(255,255,255,.3); letter-spacing:.08em; }
.footer-info { font-size:.62rem; color:rgba(255,255,255,.3); margin-top:.2rem; }
.footer-right { text-align:right; }
.footer-links { display:flex; gap:1.5rem; list-style:none; justify-content:flex-end; }
.footer-links a { font-size:.62rem; color:rgba(255,255,255,.3); text-decoration:none; letter-spacing:.08em; text-transform:uppercase; transition:color .3s; }
.footer-links a:hover { color:var(--orange); }
.footer-copy { font-size:.6rem; color:rgba(255,255,255,.2); margin-top:.5rem; }

/* ── LANGUAGE ── */
.es { display:none; }
body.lang-es .en { display:none; }
body.lang-es .es { display:block; }
.en-i { display:inline; }
.es-i { display:none; }
body.lang-es .en-i { display:none; }
body.lang-es .es-i { display:inline; }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }

/* ── RESPONSIVE ── */
@media(max-width:900px) {
  .hero { grid-template-columns:1fr; }
  .hero-right { display:none; }
  .hero-content { padding:7rem 5vw 4rem; }
  .divisions,.about,.team,.team-green,.contact-page-inner,.privacy-wrap { grid-template-columns:1fr; gap:2.5rem; }
  .services-grid,.markets-grid { grid-template-columns:1fr; }
  .process-steps { grid-template-columns:1fr 1fr; }
  .process-steps::before { display:none; }
  .rotsac-footer { flex-direction:column; gap:1.5rem; text-align:center; }
  .footer-links { justify-content:center; }
  .nav-links { display:none; }
  .form-row { grid-template-columns:1fr; }
}
