/* ============================================================
   Mediasatama v4 — site.css
   Standalone, ei @import-riippuvuuksia
   ============================================================ */

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{overflow-x:hidden;background:#0D0D0D;color:#F0EDE6;font-family:'DM Sans',sans-serif;font-weight:300;line-height:1.7}
img{max-width:100%;height:auto;display:block}

/* ── Muuttujat ── */
:root{
  --gold:#C9A84C;--gold2:#E8C97A;
  --bg1:#0D0D0D;--bg2:#141414;
  --text:#F0EDE6;--muted:#888;
}

/* ── Kielivaihtoanimaatio ── */
.ms-fade-out{opacity:0;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease}
.ms-fade-in {opacity:1;transform:translateY(0);  transition:opacity .25s ease,transform .25s ease}

/* ── HEADER ── */
.ms-header{
  position:fixed!important;top:0;left:0;right:0;z-index:1000;
  display:flex!important;align-items:center;justify-content:space-between;
  padding:1rem 4rem;
  background:rgba(13,13,13,.95)!important;
  border-bottom:1px solid rgba(201,168,76,.15);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  transition:box-shadow .3s;gap:1.5rem;
}
.ms-header.scrolled{box-shadow:0 2px 24px rgba(0,0,0,.5)}

.ms-logo a,.ms-header .wp-block-site-title a{
  font-family:'Bebas Neue',sans-serif!important;
  font-size:1.6rem!important;letter-spacing:2px!important;
  color:var(--gold)!important;text-decoration:none!important;
}

/* Nav links */
.wp-block-navigation a{color:var(--muted)!important;font-size:.85rem!important;letter-spacing:1px!important;text-transform:uppercase!important;text-decoration:none!important;transition:color .2s!important}
.wp-block-navigation a:hover{color:var(--gold)!important}

/* Header right */
.ms-header-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}

/* Kielinapit */
.ms-lang{display:flex;gap:.35rem}
.ms-lang-btn{
  font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:500;
  letter-spacing:1.5px;text-transform:uppercase;
  padding:.3rem .7rem;border-radius:2px;cursor:pointer;
  border:1px solid rgba(201,168,76,.35);
  color:var(--muted);background:transparent;
  transition:all .2s;
}
.ms-lang-btn.ms-lang-active,.ms-lang-btn:hover{
  background:var(--gold);color:var(--bg1);border-color:var(--gold);
}

/* CTA-nappi */
.ms-cta{
  display:inline-block; /* tärkeä */
  will-change:opacity, transform;

  font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:500;
  letter-spacing:1px;text-transform:uppercase;
  padding:.6rem 1.4rem;border-radius:2px;
  background:var(--gold);color:var(--bg1);
  text-decoration:none;transition:background 1s;white-space:nowrap;
}
.ms-cta:hover{background:var(--gold2);color:var(--bg1)}

/* Hampurilainen */
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg{fill:var(--gold)!important;width:26px!important;height:26px!important}
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close{background:none!important;border:none!important;cursor:pointer;padding:.3rem!important}
.wp-block-navigation__responsive-container.is-menu-open{background:rgba(13,13,13,.98)!important;backdrop-filter:blur(16px)!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;height:100%!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-family:'Bebas Neue',sans-serif!important;font-size:2.5rem!important;letter-spacing:3px!important;color:var(--text)!important;text-decoration:none!important;padding:.75rem 2rem!important;display:block!important;text-align:center!important;transition:color .2s!important;border-bottom:1px solid rgba(201,168,76,.08)!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover{color:var(--gold)!important}
.wp-block-navigation__responsive-container-close{position:absolute!important;top:1.5rem!important;right:1.5rem!important}

/* ── OSIOT ── */
.ms-section{padding:6rem 4rem!important}
.ms-bg1{background:var(--bg1)!important}
.ms-bg2{background:var(--bg2)!important}
.ms-gold{color:var(--gold)}

.ms-tag{font-size:.7rem;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:block}
.ms-section h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,6vw,4rem);line-height:1.05;letter-spacing:1px;color:var(--text);margin-bottom:1rem}
.ms-section h3{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:1px;color:var(--text);margin-bottom:.75rem}
.ms-section-sub{color:var(--muted);max-width:550px;margin-bottom:3rem!important;font-size:1rem}

/* ── HERO ── */
.ms-hero{
  min-height:100vh;display:flex!important;flex-direction:column;justify-content:center;
  background:linear-gradient(160deg,#0D0D0D 60%,#1a1408 100%)!important;
  padding-top:10rem!important;
}
.ms-hero-title{font-family:'Bebas Neue',sans-serif!important;font-size:clamp(3.5rem,10vw,7rem)!important;line-height:1!important;letter-spacing:2px!important;color:var(--text)!important;margin-bottom:1.5rem!important}
.ms-hero-sub{color:var(--muted);font-size:1.1rem;line-height:1.8;max-width:520px;margin-bottom:3rem!important}
.ms-hero-btns{margin-bottom:4rem!important;gap:1rem!important}

.ms-btn-primary .wp-block-button__link{background:var(--gold)!important;color:var(--bg1)!important;padding:.9rem 2.5rem!important;border-radius:2px!important;font-size:.85rem!important;letter-spacing:2px!important;text-transform:uppercase!important;font-weight:500!important;transition:all .3s!important;text-decoration:none!important;border:none!important}
.ms-btn-primary .wp-block-button__link:hover{background:var(--gold2)!important;transform:translateY(-2px)}
.ms-btn-outline .wp-block-button__link{background:transparent!important;color:var(--gold)!important;border:1px solid var(--gold)!important;padding:.9rem 2.5rem!important;border-radius:2px!important;font-size:.85rem!important;letter-spacing:2px!important;text-transform:uppercase!important;font-weight:500!important;transition:all .3s!important;text-decoration:none!important}
.ms-btn-outline .wp-block-button__link:hover{background:rgba(201,168,76,.1)!important}

.ms-hero-stats{display:flex;flex-wrap:wrap;gap:3rem;padding-top:3rem;border-top:1px solid rgba(201,168,76,.15)}
.ms-stat-num{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:var(--gold);line-height:1}
.ms-stat-label{font-size:.75rem;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:.25rem}

/* ── PALVELUT ── */
.ms-grid{gap:1px!important;background:rgba(201,168,76,.1)!important;border:1px solid rgba(201,168,76,.1);margin-bottom:0!important}
.ms-grid-r2{border-top:none;margin-top:0!important}
.ms-card{background:var(--bg2)!important;padding:2.5rem!important;position:relative;overflow:hidden;transition:background .3s,opacity .5s,transform .5s;opacity:0;transform:translateY(20px)}
.ms-card.vis{opacity:1;transform:translateY(0)}
.ms-card:hover{background:#181611!important}
.ms-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height .4s}
.ms-card:hover::before{height:100%}
.ms-icon{font-size:1.8rem;margin-bottom:1.5rem!important}
.ms-card-desc{font-size:.9rem;color:var(--muted);line-height:1.7;margin:0}

/* ── TIIMI ── */
.ms-team-grid{gap:2rem!important}
.ms-team-card{background:var(--bg2)!important;border:1px solid rgba(201,168,76,.12)!important;padding:2.5rem 2rem!important;text-align:center;transition:border-color .3s,transform .3s,opacity .5s;opacity:0;transform:translateY(20px)}
.ms-team-card.vis{opacity:1;transform:translateY(0)}
.ms-team-card:hover{border-color:var(--gold)!important;transform:translateY(-4px)}
.ms-avatar{width:90px;height:90px;border-radius:50%;background:rgba(201,168,76,.1);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--gold)}
.ms-team-role{font-size:.75rem;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin:.3rem 0 0!important}
.ms-divider{width:30px;height:1px;background:var(--gold);border:none;margin:1rem auto;opacity:.5}
.ms-team-bio{font-size:.9rem;color:var(--muted);font-style:italic;margin:0}

/* ── MIKSI ME ── */
.ms-why-list{display:flex;flex-direction:column;gap:1.5rem}
.ms-why-item{display:flex;gap:1.2rem;align-items:flex-start;padding:1.5rem;border:1px solid rgba(201,168,76,.08);background:rgba(201,168,76,.02);transition:border-color .3s}
.ms-why-item:hover{border-color:rgba(201,168,76,.25)}
.ms-why-num{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:rgba(201,168,76,.3);line-height:1;min-width:2rem;flex-shrink:0}
.ms-why-title{font-size:.95rem;font-weight:500;color:var(--text);margin:0 0 .3rem!important}
.ms-why-text{font-size:.85rem;color:var(--muted);margin:0!important}
.ms-why-visual{border:1px solid rgba(201,168,76,.15);background:rgba(201,168,76,.03);padding:3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ms-why-big{font-family:'Bebas Neue',sans-serif;font-size:7rem;color:var(--gold);line-height:1;margin:0!important}
.ms-why-cap1{font-size:1.1rem;color:var(--text);margin:1rem 0 0!important}
.ms-why-cap2{font-size:.85rem;color:var(--muted);margin:0!important}

/* ── PROSESSI ── */
.ms-process{gap:0!important;position:relative}
.ms-process::before{content:'';position:absolute;top:1.2rem;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.4),transparent)}
.ms-pstep{padding:4.5rem 1.5rem 0!important;position:relative;text-align:center}
.ms-pdot{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg2);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:50%;transform:translateX(-50%);font-family:'Bebas Neue',sans-serif;color:var(--gold);font-size:1rem;z-index:1;margin:0!important;line-height:2.5rem}
.ms-pbody{flex:1}
.ms-pdesc{font-size:.82rem;color:var(--muted);line-height:1.6;margin:0;text-align:center}

/* ── YHTEYSTIEDOT ── */
.ms-contact-grid{gap:5rem!important;align-items:start;margin-top:3rem!important}
.ms-contact-intro{color:var(--muted);font-size:1rem;line-height:1.8;margin-bottom:2rem!important}
.ms-contact-items{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}
.ms-ci{display:flex;align-items:flex-start;gap:.75rem;color:var(--text);font-size:.95rem;margin:0}
.ms-ci-icon{font-size:1.1rem;flex-shrink:0}
.ms-ci-label{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.1rem;font-weight:400}
.ms-ci-val{color:var(--text)}
.ms-promo{padding:1.5rem;border:1px solid rgba(201,168,76,.2);background:rgba(201,168,76,.04);margin-top:1rem}
.ms-promo-t{font-size:.85rem;color:var(--gold);font-weight:500;margin:0 0 .5rem!important}
.ms-promo-d{font-size:.8rem;color:var(--muted);margin:0!important}

/* ── LOMAKE ── */
.ms-form-wrap{display:flex;flex-direction:column;gap:1rem}
.ms-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ms-fg{display:flex;flex-direction:column;gap:.25rem}
.ms-fl{font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-family:'DM Sans',sans-serif}
.ms-fi,.ms-fta{background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.2);color:var(--text);padding:.85rem 1rem;font-family:'DM Sans',sans-serif;font-size:.9rem;outline:none;transition:border-color .3s;border-radius:2px;width:100%}
.ms-fi:focus,.ms-fta:focus{border-color:var(--gold)}
.ms-fi::placeholder,.ms-fta::placeholder{color:rgba(136,136,136,.6)}
.ms-fta{min-height:120px;resize:vertical}
select.ms-fi{appearance:none;-webkit-appearance:none}
.ms-submit{background:var(--gold);color:var(--bg1);padding:.9rem 2.5rem;border:none;border-radius:2px;font-family:'DM Sans',sans-serif;font-size:.85rem;letter-spacing:2px;text-transform:uppercase;font-weight:500;cursor:pointer;transition:all .3s;align-self:flex-start;margin-top:.5rem}
.ms-submit:hover{background:var(--gold2);transform:translateY(-2px)}
.ms-notice{padding:1rem 1.25rem;border-radius:2px;font-size:.9rem;margin-bottom:.5rem}
.ms-notice--ok{background:rgba(15,110,86,.15);border:1px solid rgba(15,110,86,.4);color:#5DCAA5}
.ms-notice--err{background:rgba(216,90,48,.1);border:1px solid rgba(216,90,48,.3);color:#F0997B}

/* ── FOOTER ── */
.ms-footer{background:var(--bg1)!important;border-top:1px solid rgba(201,168,76,.1);padding:2.5rem 4rem!important}
.ms-footer-logo .wp-block-site-title,.ms-footer .wp-block-site-title{font-family:'Bebas Neue',sans-serif!important;font-size:1.2rem!important;letter-spacing:2px!important;color:var(--gold)!important}
.ms-footer-copy{font-size:.75rem;color:var(--muted);margin:0}

/* ── Mobiili ── */
@media(max-width:1024px){
  .ms-header{padding:1rem 2rem}
  .ms-section{padding:5rem 2rem!important}
  .ms-footer{padding:2rem!important}
}
@media(max-width:781px){
  .ms-header{padding:1rem 1.5rem}
  .ms-cta{display:none}
  .ms-section{padding:4rem 1.5rem!important}
  .ms-hero{padding-left:1.5rem!important;padding-right:1.5rem!important;padding-top:8rem!important}
  .ms-form-row{grid-template-columns:1fr}
  .ms-contact-grid{gap:2rem!important}
  .ms-hero-stats{gap:1.5rem}
  .ms-why-visual{padding:2rem}
  .ms-why-big{font-size:5rem}
  .ms-footer{flex-direction:column;text-align:center;gap:1rem}
  /* Prosessi: pinottu mobiilissa */
  .ms-process{display:flex!important;flex-direction:column!important;gap:1rem!important}
  .ms-process::before{display:none}
  .ms-pstep{padding:1.25rem 1.5rem!important;display:flex!important;align-items:flex-start!important;gap:1.25rem!important;background:rgba(201,168,76,.03)!important;border:1px solid rgba(201,168,76,.1)!important;text-align:left!important}
  .ms-pdot{position:static!important;transform:none!important;left:auto!important;top:auto!important;flex-shrink:0!important;margin:0!important}
  .ms-pdesc{text-align:left!important}
  .ms-pstep h3{text-align:left!important;margin-bottom:.3rem!important}
  .ms-lang-btn{font-size:.68rem;padding:.28rem .55rem}
}
