*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#120e14;
  --panel:#1a1420;
  --tile:#241c2c;
  --tile-up:#2e2436;
  --line:#ffffff0c;
  --glow:#c96b3a44;
  --snow:#f3ebe3;
  --dim:#a8949e;
  --copper:#c96b3a;
  --copper-lit:#e08855;
  --plum:#8b5cf6;
  --wine:#9e2a4a;
  --sage:#6aab8a;
  --r-lg:18px;
  --r-sm:9px;
  --w-max:1140px;
  --type:Georgia,"Times New Roman",serif;
  --ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --lift:0 6px 28px #00000050;
  --lift-big:0 22px 55px #00000060;
  --wash:linear-gradient(128deg,#c96b3a 0%,#9e2a4a 52%,#8b5cf6 100%);
}

html{scroll-behavior:smooth}
body{
  font-family:var(--ui);
  background:var(--ink);
  color:var(--snow);
  line-height:1.62;
  font-size:16px;
  overflow-x:hidden;
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(ellipse 62% 38% at 8% -2%,#c96b3a14 0%,transparent 52%),
    radial-gradient(ellipse 48% 32% at 92% 4%,#8b5cf610 0%,transparent 48%),
    radial-gradient(ellipse 40% 28% at 42% 102%,#9e2a4a08 0%,transparent 45%);
}

img{max-width:100%;height:auto;display:block}
a{color:var(--copper-lit);text-decoration:none}
a:hover{color:#f0a878}
.wrap{width:min(100% - 2.2rem,var(--w-max));margin-inline:auto}
.jump{position:absolute;left:-9999px;top:0;background:var(--copper);color:#120e14;padding:.45rem .9rem;z-index:9999;border-radius:6px}
.jump:focus{left:.8rem}

.topbar{
  position:sticky;top:0;z-index:100;
  background:#120e14e0;
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.topbar-row{display:flex;align-items:center;justify-content:space-between;padding:.95rem 0;gap:.8rem}
.mark{
  display:flex;align-items:center;gap:.65rem;
  font-family:var(--type);font-weight:700;font-size:1.08rem;
  color:var(--snow);letter-spacing:.01em;
}
.mark img{width:36px;height:36px;border-radius:8px;border:1px solid #c96b3a35}
.mark:hover{color:var(--snow)}
.menu-trigger{
  display:none;background:var(--tile);border:1px solid var(--line);
  color:var(--snow);padding:.4rem .8rem;border-radius:var(--r-sm);
  cursor:pointer;font:inherit;font-size:.85rem;
}
.site-links ul{display:flex;gap:.2rem;list-style:none;flex-wrap:wrap}
.site-links a{
  color:var(--dim);font-size:.86rem;padding:.45rem .85rem;
  border-radius:6px;transition:background .18s,color .18s;
}
.site-links a:hover,.site-links a.here{
  color:var(--snow);background:#ffffff08;text-decoration:none;
}
.site-links a.here{color:var(--copper-lit)}

.act{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.72rem 1.45rem;border-radius:7px;font-weight:600;
  border:none;cursor:pointer;font-size:.9rem;font-family:inherit;
  transition:transform .18s,box-shadow .18s;
}
.act:hover{transform:translateY(-1px);text-decoration:none;box-shadow:var(--lift)}
.act-solid{background:var(--copper);color:#1a0e08;box-shadow:0 3px 16px #c96b3a30}
.act-solid:hover{color:#1a0e08}
.act-ghost{background:transparent;border:1px solid #ffffff1a;color:var(--snow)}
.act-ghost:hover{background:#ffffff06;color:var(--snow)}
.act-ember{background:var(--wine);color:#fff;box-shadow:0 3px 16px #9e2a4a28}
.act-ember:hover{color:#fff}

.splash{
  padding:3.2rem 0 4.2rem;
  display:grid;grid-template-columns:.98fr 1.02fr;
  gap:2.6rem;align-items:center;
}
.splash-tag{
  display:inline-block;font-size:.72rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--copper-lit);margin-bottom:.9rem;
}
.splash h1{
  font-family:var(--type);
  font-size:clamp(2.1rem,4.8vw,3.35rem);
  line-height:1.08;font-weight:700;margin-bottom:1rem;
}
.splash h1 em{
  font-style:normal;
  background:var(--wash);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.splash-lead{color:var(--dim);font-size:1.05rem;margin-bottom:1.5rem;max-width:44ch}
.splash-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:2rem}
.splash-notes{display:flex;gap:1.6rem;flex-wrap:wrap}
.splash-notes dt{font-size:1.35rem;font-weight:800;font-family:var(--type);color:var(--snow)}
.splash-notes dd{font-size:.74rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem}
.splash-art{position:relative}
.splash-frame{
  border-radius:14px 14px 14px 4px;overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--lift-big);
}
.splash-frame img{width:100%}
.splash-halo{
  position:absolute;width:65%;height:55%;
  background:radial-gradient(circle,#9e2a4a22 0%,transparent 68%);
  top:40%;left:50%;transform:translate(-50%,-50%);
  z-index:-1;filter:blur(36px);
}

.band{padding:4rem 0}
.band.shade{background:var(--panel);border-block:1px solid var(--line)}
.band:not(.splash){content-visibility:auto;contain-intrinsic-size:auto 480px}
.kicker{
  display:block;font-size:.72rem;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;
  color:var(--copper-lit);margin-bottom:.55rem;
}
.headline{
  font-family:var(--type);
  font-size:clamp(1.45rem,2.8vw,2rem);
  font-weight:700;margin-bottom:.45rem;line-height:1.15;
}
.deck{color:var(--dim);font-size:.96rem;margin-bottom:2rem;max-width:52ch}
.block-head{text-align:center;margin-bottom:2.6rem}
.block-head .deck{margin-inline:auto}

.tag-row{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 1.4rem}
.tag-pill{
  padding:.32rem .78rem;background:var(--tile);
  border:1px solid var(--line);border-radius:5px;
  font-size:.76rem;font-weight:600;color:var(--dim);
}

.tile-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(188px,1fr));gap:1.1rem}
.pair-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.trio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.tile{
  background:var(--tile);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:1.45rem;
  transition:border-color .22s,transform .22s;
}
.tile:hover{border-color:var(--glow);transform:translateY(-2px)}
.tile h3{font-size:1rem;font-weight:700;margin-bottom:.4rem}
.tile p,.tile li{color:var(--dim);font-size:.88rem;line-height:1.52}
.tile-icon .glyph{
  width:48px;height:48px;margin-bottom:.85rem;
  border-radius:11px;overflow:hidden;
}
.tile-icon .glyph img{width:100%;height:100%;object-fit:cover}
.tile-num{display:flex;gap:1.1rem;align-items:flex-start;padding:1.55rem}
.tile-num .idx{
  font-family:var(--type);font-size:1.85rem;font-weight:700;
  color:var(--copper);opacity:.45;line-height:1;
}

.lane{display:grid;grid-template-columns:repeat(6,1fr);gap:.4rem}
.lane .hop{text-align:center;padding:0 .35rem}
.lane .hop i{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;
  background:var(--tile);border:2px solid var(--copper);
  color:var(--copper-lit);font-style:normal;font-weight:800;
  font-size:.8rem;margin:0 auto .65rem;
}
.lane .hop span{font-size:.76rem;color:var(--dim)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center}
.split-shot img{border-radius:12px;border:1px solid var(--line);box-shadow:var(--lift-big)}

.slot-stage{
  position:relative;width:100%;max-width:520px;margin:1.6rem auto;
  padding-bottom:min(130%,680px);height:0;
  overflow:hidden;background:#0a0608;border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--lift-big);
}
.slot-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:none}

.gpc-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1.4rem 0}
.gpc-badge{
  display:inline-flex;align-items:center;gap:.6rem;
  background:#0d0d0d;border:1px solid #ffffff20;
  border-radius:8px;padding:.5rem .95rem;color:var(--snow);
  font-size:.76rem;line-height:1.25;
}
.gpc-badge:hover{background:#1a1a1a;text-decoration:none;color:var(--snow);transform:translateY(-1px)}
.gpc-badge b{display:block;font-size:.92rem;font-weight:700}

.stamp-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;margin:1.2rem 0}
.age-stamp{
  width:50px;height:50px;border-radius:50%;
  border:2px solid #e85d6a;color:#e85d6a;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.8rem;
}
.fi-tag{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.45rem .85rem;background:var(--tile);
  border:1px solid #00358040;border-radius:var(--r-sm);
  font-size:.8rem;font-weight:600;
}
.help-chip{
  padding:.5rem .95rem;background:var(--tile);
  border:1px solid var(--line);border-radius:var(--r-sm);
  font-size:.82rem;font-weight:600;color:var(--snow);
}
.help-chip:hover{border-color:var(--copper-lit);color:var(--copper-lit);text-decoration:none}

.note-box{
  background:#0e0a10;border:1px solid var(--line);
  border-left:3px solid var(--copper);
  padding:1rem 1.2rem;border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:.84rem;color:var(--dim);
}

.quote-rail{position:relative;overflow:hidden;max-width:700px;margin-inline:auto}
.quote-track{display:flex;transition:transform .42s ease}
.quote-slide{min-width:100%;padding:0 .2rem}
.quote-box{
  background:var(--tile);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:1.75rem 1.65rem;
}
.quote-stars{color:#d4a853;font-size:.85rem;margin-bottom:.65rem}
.quote-box blockquote{color:var(--dim);font-size:.94rem;margin-bottom:1rem;font-style:normal}
.quote-box cite{font-size:.84rem;font-weight:600;color:var(--snow);font-style:normal}
.quote-ctrl{display:flex;gap:.5rem;justify-content:center;margin-top:1.1rem}
.quote-ctrl button{
  width:38px;height:38px;border-radius:50%;
  background:var(--tile);border:1px solid var(--line);
  color:var(--snow);cursor:pointer;
}
.quote-ctrl button:hover{background:var(--wine);border-color:var(--wine)}

.pitch-box{
  background:linear-gradient(145deg,#241c2c,#1a1218);
  border:1px solid var(--line);border-radius:20px;
  padding:2.6rem 2.2rem;max-width:700px;margin-inline:auto;
}
.pitch-box .headline,.pitch-box .deck{text-align:center}
.pitch-box .deck{margin-inline:auto}

.fld{margin-bottom:1rem}
.fld label{display:block;font-size:.8rem;color:var(--dim);margin-bottom:.35rem}
.fld input,.fld textarea,.fld select{
  width:100%;padding:.7rem .95rem;border-radius:var(--r-sm);
  border:1px solid var(--line);background:#0c080c;
  color:var(--snow);font:inherit;
}
.fld input:focus,.fld textarea:focus,.fld select:focus{
  outline:none;border-color:var(--copper);box-shadow:0 0 0 2px #c96b3a18;
}
.fld textarea{min-height:100px;resize:vertical}
.fld-check{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:1rem}
.fld-check input{width:17px;height:17px;margin-top:.12rem;accent-color:var(--copper)}
.fld-check label{font-size:.86rem;color:var(--dim);line-height:1.45}
.fld-ok{
  display:none;margin-top:.9rem;padding:.85rem;
  background:#c96b3a14;border:1px solid #c96b3a35;
  border-radius:var(--r-sm);color:var(--copper-lit);font-size:.88rem;
}

.tab-strip{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1.8rem;justify-content:center}
.tab-pick{
  padding:.55rem 1.1rem;border-radius:6px;
  border:1px solid var(--line);background:var(--tile);
  color:var(--dim);cursor:pointer;font:inherit;font-size:.86rem;
}
.tab-pick.on{background:var(--copper);color:#1a0e08;border-color:transparent;font-weight:600}
.tab-body{display:none}
.tab-body.on{display:block}

.crew-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.crew-card{
  text-align:center;padding:1.35rem .9rem;
  background:var(--tile);border:1px solid var(--line);border-radius:var(--r-lg);
}
.crew-card img{
  width:92px;height:92px;border-radius:50%;
  margin:0 auto .75rem;object-fit:cover;
  border:2px solid #c96b3a30;
}
.crew-card h4{font-size:.92rem}
.crew-card p{font-size:.8rem;color:var(--dim);margin-top:.15rem}

.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.post-card{
  background:var(--tile);border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden;
}
.post-card:hover{border-color:var(--glow);transform:translateY(-3px);transition:.22s}
.post-card img{width:100%;aspect-ratio:5/3;object-fit:cover}
.post-body{padding:1.2rem}
.post-body h3{font-size:.98rem;margin-bottom:.3rem;line-height:1.35}
.post-body .when{font-size:.72rem;color:var(--wine);font-weight:700;text-transform:uppercase;margin-bottom:.4rem}
.post-filter{margin-bottom:1.6rem}
.post-filter input{
  width:100%;padding:.8rem 1rem;border-radius:var(--r-lg);
  border:1px solid var(--line);background:var(--tile);color:var(--snow);font:inherit;
}

.page-top{padding:3rem 0 1.8rem;text-align:center}
.page-top h1{font-family:var(--type);font-size:clamp(1.75rem,3.2vw,2.4rem)}
.page-top .deck{margin:1rem auto 0}

.legal-sheet{max-width:70ch;margin:0 auto;padding:2rem 0 3.5rem}
.legal-sheet h1{font-family:var(--type);font-size:1.75rem;margin-bottom:.8rem}
.legal-sheet h2{font-size:1.1rem;margin:1.8rem 0 .65rem;color:var(--copper-lit)}
.legal-sheet p,.legal-sheet li{color:var(--dim);font-size:.9rem;margin-bottom:.55rem}
.legal-sheet ul,.legal-sheet ol{padding-left:1.15rem;margin-bottom:.85rem}

.yhteys-split{display:grid;grid-template-columns:1.02fr .98fr;gap:2.4rem}
.desk-card{background:var(--tile);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem 1.4rem}
.desk-card address{font-style:normal;color:var(--dim);font-size:.9rem;line-height:1.6}
.desk-list{list-style:none;margin-top:.85rem}
.desk-list li{margin-bottom:.4rem;font-size:.88rem;color:var(--dim)}
.map-slot{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);min-height:280px}
.map-slot iframe{width:100%;height:100%;min-height:280px;border:none}

.partner-band{
  background:var(--tile);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:1.8rem;margin:1.6rem 0;
}

.site-foot{
  background:var(--panel);border-top:1px solid var(--line);
  padding:3.2rem 0 1.2rem;margin-top:2.5rem;
}
.foot-mesh{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(130px,1fr));
  gap:1.8rem 2rem;margin-bottom:1.8rem;
}
.foot-col h5{
  font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;
  color:var(--copper-lit);margin-bottom:.75rem;font-weight:700;
}
.foot-col p,.foot-col li{font-size:.82rem;color:var(--dim);line-height:1.65;margin-bottom:.3rem}
.foot-col ul{list-style:none}
.foot-col a{color:var(--dim)}
.foot-col a:hover{color:var(--copper-lit)}
.foot-map{
  margin:.6rem 0;border-radius:var(--r-sm);overflow:hidden;
  border:1px solid var(--line);max-width:300px;height:140px;
}
.foot-map iframe{width:100%;height:100%;border:0}
.foot-pay{display:flex;gap:.4rem;flex-wrap:wrap;margin:.7rem 0}
.pay-chip{
  height:26px;padding:0 .65rem;background:#fff;border-radius:5px;
  font-size:.68rem;font-weight:700;display:inline-flex;align-items:center;
  border:1px solid #ddd;color:#222;
}
.pay-chip.visa{color:#1a1f71;font-style:italic;font-size:.75rem}
.pay-chip.mc{gap:.3rem;font-size:.6rem}
.pay-chip.mc i{display:inline-block;width:20px;height:12px;position:relative}
.pay-chip.mc i::before,.pay-chip.mc i::after{
  content:"";position:absolute;top:0;width:12px;height:12px;border-radius:50%;
}
.pay-chip.mc i::before{left:0;background:#eb001b}
.pay-chip.mc i::after{right:0;background:#f79e1b}
.pay-chip.pp{color:#003087}
.pay-chip.pp span{color:#009cde}
.foot-help{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}
.foot-help a{
  font-size:.76rem;padding:.5rem .75rem;background:var(--tile);
  border:1px solid var(--line);border-radius:6px;color:var(--snow);
}
.foot-help a:hover{border-color:var(--copper-lit)}
.foot-social{list-style:none;margin-top:.6rem}
.foot-social li{margin-bottom:.35rem}
.foot-social a{font-size:.76rem;word-break:break-all}
.foot-bar{
  padding-top:1.2rem;border-top:1px solid var(--line);
  text-align:center;font-size:.78rem;color:var(--dim);
}
.foot-bar p{margin:.25rem 0}
.foot-bar strong{color:var(--snow)}
.foot-disclaimer{
  font-size:.72rem;color:var(--dim);max-width:90ch;
  margin:.8rem auto 0;line-height:1.55;opacity:.85;
}

.crumb-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:300;
  background:var(--panel);border-top:1px solid var(--line);
  display:none;box-shadow:0 -6px 32px #00000055;
}
.crumb-bar.vis{display:block}
.crumb-inner{
  width:min(100% - 1.8rem,var(--w-max));margin-inline:auto;
  padding:1.1rem 0;display:flex;align-items:center;
  justify-content:space-between;gap:1.2rem;flex-wrap:wrap;
}
.crumb-inner p{font-size:.82rem;color:var(--dim);max-width:58ch}
.crumb-inner strong{display:block;color:var(--snow);font-size:.88rem;margin-bottom:.2rem}
.crumb-btns{display:flex;gap:.45rem;flex-wrap:wrap}

.talk-dock{position:fixed;bottom:1.4rem;right:1.4rem;z-index:250}
.talk-open{
  display:flex;align-items:center;gap:.55rem;
  background:var(--wine);color:#fff;border:none;
  border-radius:7px;padding:.7rem 1.15rem .7rem .95rem;
  cursor:pointer;font:inherit;font-weight:700;font-size:.86rem;
  box-shadow:0 5px 24px #9e2a4a35;
}
.talk-open:hover{transform:translateY(-1px)}
.talk-sheet{
  display:none;position:absolute;bottom:calc(100% + 10px);right:0;
  width:min(340px,calc(100vw - 1.6rem));height:460px;
  background:var(--tile);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;flex-direction:column;
  box-shadow:var(--lift-big);
}
.talk-sheet.vis{display:flex}
.talk-top{
  display:flex;justify-content:space-between;align-items:center;
  padding:.8rem .95rem;border-bottom:1px solid var(--line);
  background:#1a1218;
}
.talk-top img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.talk-top strong{font-size:.86rem;display:block}
.talk-top small{font-size:.72rem;color:var(--dim)}
.talk-x{background:none;border:none;color:var(--dim);font-size:1.3rem;cursor:pointer}
.talk-feed{
  flex:1;overflow-y:auto;padding:.9rem;
  display:flex;flex-direction:column;gap:.65rem;background:#0c080c;
}
.talk-msg{max-width:84%;padding:.6rem .8rem;border-radius:10px;font-size:.84rem}
.talk-msg.them{align-self:flex-start;background:var(--tile);border:1px solid var(--line)}
.talk-msg.you{align-self:flex-end;background:var(--copper);color:#1a0e08}
.talk-msg small{display:block;font-size:.65rem;margin-top:.25rem;opacity:.7}
.talk-type{display:flex;border-top:1px solid var(--line)}
.talk-type input{
  flex:1;border:none;background:transparent;padding:.75rem .9rem;
  color:var(--snow);font:inherit;font-size:.86rem;
}
.talk-type button{background:none;border:none;padding:0 .9rem;color:var(--copper-lit);cursor:pointer}

@media(max-width:920px){
  .splash,.split,.pair-grid,.trio-grid,.crew-grid,.post-grid,.foot-mesh,.yhteys-split{grid-template-columns:1fr}
  .splash{padding:2.2rem 0 3rem}
  .splash-art{order:-1}
  .lane{grid-template-columns:repeat(3,1fr);gap:.8rem}
  .menu-trigger{display:block}
  .site-links{
    position:absolute;top:100%;left:0;right:0;
    background:var(--panel);border-bottom:1px solid var(--line);
    display:none;padding:.9rem;
  }
  .site-links.open{display:block}
  .site-links ul{flex-direction:column}
  .topbar-row{position:relative}
  .foot-mesh{grid-template-columns:1fr 1fr}
}
@media(max-width:580px){
  .lane{grid-template-columns:repeat(2,1fr)}
  .foot-mesh{grid-template-columns:1fr}
  .talk-dock{bottom:.9rem;right:.9rem}
  .talk-open span{display:none}
  .talk-open{padding:.8rem;border-radius:50%}
}
