/* Reset & base */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:#0f0f0f;
  background:#fff;
  line-height:1.65;
}

/* Utilities */
.container{width:min(1100px, 92%); margin:0 auto}
h1{font-size:clamp(36px, 5vw, 54px); line-height:1.1; letter-spacing:-0.02em; margin-bottom:18px; color:#fff}
h2{font-size:clamp(24px, 4vw, 32px); margin-bottom:14px}
h3{font-size:18px; margin:10px 0 6px}
p{color:#2b2b2b}
a{text-decoration:none; color:inherit}

/* Header */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(255,255,255,0.92);
  border-bottom:1px solid #eee;
  backdrop-filter:saturate(180%) blur(8px);
}
.site-header .container{width:100vw; max-width:100vw; margin:0; padding:0}
.header-inner{display:flex; align-items:center; justify-content:space-between; height:64px}
.brand{font-weight:600; letter-spacing:0.2px}
.nav .btn{margin-left:10px}

/* Buttons */
.btn{display:inline-block; padding:10px 18px; border-radius:8px; font-weight:600; transition:.2s ease; border:1px solid transparent; cursor:pointer}
.btn-outline{border-color:#111; color:#111; background:transparent}
.btn-outline:hover{background:#111; color:#fff}
.btn-gold{background:#b79257; color:#111; border-color:#b79257}
.btn-gold:hover{filter:brightness(0.92)}

/* Hero */
.hero{margin-top:64px; display:grid; grid-template-columns: 1.15fr 0.85fr; min-height:68vh; position:relative}
.hero-left{display:flex; align-items:center; background:linear-gradient(180deg, #0f0f0f, #171717)}
.hero-card{color:#fff; width:min(560px, 88%); margin-left:7%; padding:46px 36px; background:#151515; border-radius:10px; box-shadow: 0 10px 30px rgba(0,0,0,.35)}
.hero-card p{color:#d7d7d7; margin-bottom:22px}
.hero-right{background:#000 url('../img/sasu.jpg') center/cover no-repeat}
.hero::after{
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:64px; background:#fff;
  clip-path: polygon(0 40%, 100% 0, 100% 100%, 0 100%); z-index:1;
}

/* About */
.about{padding:60px 0 30px}
.about p{max-width:860px; margin:0 auto 12px; text-align:center}

/* Services */
.services{background:#111; color:#ddd; padding:50px 0}
.services h2{color:#fff; margin-bottom:24px}
.services .grid{display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:34px}
.services .card{background:#161616; padding:26px; border-radius:12px; min-height:150px}
.services .card p{color:#bdbdbd; font-size:14px}
.services .icon{color:#b79257; margin-bottom:2px}

/* Samples */
.samples{padding:52px 0}
.samples-card{background:#efefef; border-radius:14px; padding:38px; text-align:center}
.samples-card p{max-width:720px; margin:0 auto 16px; color:#3a3a3a}
.player-wrap{margin-top:16px; display:block}
.player-wrap audio{width:min(720px, 100%); height:40px}

/* Footer */
.site-footer{background:#0f0f0f; color:#d8d8d8; padding:40px 0}

/* --- Footer: force three columns --- */
.site-footer .footer-inner{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap:40px;
  align-items:start;
  justify-items:start;
}
@media (max-width: 760px){
  .site-footer .footer-inner{ grid-template-columns: 1fr !important; gap:18px }
}

.footer-card h3{color:#fff; margin-bottom:6px}
.site-footer a{color:#d8d8d8; text-decoration:underline}
.site-footer a:hover{color:#fff}

/* Responsive */
@media (max-width: 900px){
  .hero{grid-template-columns:1fr; min-height:auto}
  .hero-right{height:56vh}
  .hero-card{margin:24px auto; width:92%}
  .services .grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns: 1fr}
}


/* --- Footer (forced 3 columns with flex) --- */
.site-footer .footer-inner{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:40px !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
}
.site-footer .footer-card{
  flex:1 1 0 !important;
  min-width:240px;
}
@media (max-width: 900px){
  .site-footer .footer-inner{
    flex-direction:column !important;
    gap:18px !important;
  }
}


/* === FI-specific responsive tweaks (longer copy handling) === */
@media (max-width: 560px){
  html[lang="fi"] .nav{flex-wrap:wrap; gap:8px; justify-content:flex-end}
  html[lang="fi"] .nav .btn{padding:8px 10px; font-size:14px}
  html[lang="fi"] .lang-toggle .btn{padding:8px 10px; font-size:14px}
  html[lang="fi"] .header-inner{padding-top:8px; padding-bottom:8px}
  html[lang="fi"] h1{font-size:clamp(28px, 7vw, 44px)}
  html[lang="fi"] .hero-card p{hyphens:auto; word-break:break-word}
}


/* Header spacing for both languages */
.site-header .container{padding:0 12px}
.header-inner{min-height:64px; height:auto; padding:6px 0}
.nav{display:flex; align-items:center; gap:10px; flex-wrap:nowrap}
.lang-toggle{display:flex; align-items:center; gap:6px}


@media (max-width: 560px){
  html[lang="fi"] h2{font-size:clamp(20px, 5.5vw, 28px)}
  html[lang="fi"] .hero-card .btn{white-space:normal; line-height:1.25; padding:10px 14px}
}


/* Header right padding so contact button doesn't hug the edge */
.site-header .container{ padding-left:12px; padding-right:16px; }
.nav .btn{ padding:10px 16px; }


/* === Header right-edge spacing fix === */
.site-header .container{ padding-left:16px !important; padding-right:20px !important; }
.header-inner{ padding-left:0; padding-right:0; }
.nav{ display:flex; align-items:center; gap:10px; }
.lang-toggle{ margin-right:8px; }
.nav > .btn:last-child{ margin-right:4px; }
@supports(padding: max(0px)){
  .site-header .container{
    padding-left: max(env(safe-area-inset-left), 16px) !important;
    padding-right: max(env(safe-area-inset-right), 20px) !important;
  }
}


/* Gold link utility */
.gold-link{ color: var(--gold, #b79257) !important; text-decoration: underline; font-weight: 600; }


/* === Gold 'täältä' link fix (robust) ===
   Match the Wikipedia link to Sasu_Moilanen in Services -> Character Voices paragraph,
   even if the markup differs. */
.services .card p a[href*="Luettelo_suomalaisten"][href*="Sasu_Moilanen"],
[data-i18n="svc4_p"] a[href*="Sasu_Moilanen"],
a.gold-link[href*="Sasu_Moilanen"]{
  color: var(--gold, #b79257) !important;
  text-decoration: underline;
  font-weight: 600;
}


/* === Footer email gold color === */
.site-footer a[href^="mailto:sasu.s.moilanen@gmail.com"]{
  color: var(--gold, #b79257) !important;
  text-decoration: underline;
  font-weight: 600;
}
.site-footer a[href^="mailto:sasu.s.moilanen@gmail.com"]:hover{
  filter: brightness(1.05);
}
