/* SpinReport layout.css — header, footer, grid, page structure */
.island-motif{
  position:relative;
  overflow:hidden;
}
.island-motif::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 200'%3E%3Cellipse cx='200' cy='100' rx='180' ry='70' fill='none' stroke='%233FBFA6' stroke-width='1' opacity='0.15'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right -40px top -10px;
  background-size:520px;
  pointer-events:none;
}

.site-header{
  background:var(--dark-bg);
  color:var(--text-on-dark);
}
.site-header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:14px;
  padding-bottom:14px;
  flex-wrap:wrap;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--ff-head);
  font-size:22px;
  font-weight:600;
  color:var(--text-on-dark);
  text-decoration:none;
}
.brand svg{width:28px;height:28px;}
.site-header nav ul{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:4px 14px;
  margin:0;
  padding:0;
  font-size:14px;
}
.site-header nav a{
  color:var(--text-on-dark);
  text-decoration:none;
  opacity:.9;
}
.site-header nav a:hover{opacity:1; text-decoration:underline;}
.header-right{display:flex; align-items:center; gap:12px;}

.hero{
  background:var(--dark-bg);
  color:var(--text-on-dark);
  padding:40px 0 48px;
}
.hero .eyebrow{color:var(--accent);}
.hero h1{color:var(--text-on-dark);}
.hero p{color:var(--text-on-dark); font-size:18px;}

.breadcrumbs{
  font-size:14px;
  padding:14px 0;
}
.breadcrumbs ol{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
  padding:0;
}
.breadcrumbs li:not(:last-child)::after{content:"›"; margin-left:6px; color:var(--poi);}
.breadcrumbs a{text-decoration:none;}

main{padding-bottom:56px;}
.content-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
}
@media (min-width:900px){
  .content-grid{grid-template-columns:2fr 1fr;}
}
article section{margin-bottom:2em;}
aside.side-note{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px 20px;
  height:fit-content;
}
:root[data-theme="dark"] aside.side-note{background:var(--dark-surface); color:var(--text-on-dark);}

.card-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
@media (min-width:600px){
  .card-grid{grid-template-columns:1fr 1fr;}
}
@media (min-width:900px){
  .card-grid{grid-template-columns:1fr 1fr 1fr;}
}

.site-footer{
  background:var(--dark-bg);
  color:var(--text-on-dark);
  padding:40px 0 24px;
  margin-top:40px;
}
.site-footer a{color:var(--text-on-dark);}
.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  margin-bottom:24px;
}
@media (min-width:600px){
  .footer-grid{grid-template-columns:repeat(3,1fr);}
}
.footer-grid ul{list-style:none; margin:0; padding:0;}
.footer-grid li{margin-bottom:6px;}
.responsible-note{
  border:1px solid var(--accent);
  border-radius:var(--radius);
  padding:14px 16px;
  font-size:14px;
  margin-bottom:20px;
}
.footer-legal{font-size:12px; opacity:.85; border-top:1px solid rgba(255,255,255,.15); padding-top:16px;}

/* age gate */
#age-gate-overlay{
  position:fixed;
  inset:0;
  background:rgba(6,20,19,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:20px;
}
#age-gate-box{
  background:var(--bg);
  color:var(--text);
  max-width:420px;
  width:100%;
  border-radius:var(--radius);
  padding:28px 24px;
  text-align:center;
}
#age-gate-box h2{margin-top:0;}
#age-gate-box h2::after{margin-left:auto; margin-right:auto;}
.age-gate-actions{display:flex; gap:12px; justify-content:center; margin-top:20px; flex-wrap:wrap;}

/* cookie banner */
#cookie-banner{
  position:fixed;
  left:0; right:0; bottom:0;
  background:var(--dark-surface);
  color:var(--text-on-dark);
  padding:14px 16px;
  z-index:900;
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
}
#cookie-banner p{margin:0; max-width:60ch; font-size:14px; color:var(--text-on-dark);}
.cookie-actions{display:flex; gap:10px; flex-wrap:wrap;}

@media (max-width:599px){
  .site-header nav{width:100%; order:3;}
}
