*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050505;color:#f4f4f5;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Noto Sans JP",Arial,sans-serif;line-height:1.7}.site-header{position:sticky;top:0;z-index:10;background:rgba(0,0,0,.88);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px)}.header-inner{max-width:1180px;margin:auto;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{text-decoration:none;color:white}.brand span{display:block;font-size:11px;letter-spacing:.34em;color:#a1a1aa}.brand strong{font-size:20px}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{color:#d4d4d8;text-decoration:none;font-size:14px}nav a:hover{color:white}.cta,.button-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;text-decoration:none;font-weight:700}.cta{background:#dc2626;color:white}.cta:hover{background:#ef4444}.small{padding:9px 15px;font-size:14px}.button-secondary{border:1px solid rgba(255,255,255,.2);color:white}.hero{max-width:1180px;margin:34px auto 0;padding:0 22px 30px;display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center}.hero-image{border:1px solid rgba(255,255,255,.12);border-radius:34px;overflow:hidden;background:#111;box-shadow:0 30px 80px rgba(0,0,0,.55)}.hero-image img{width:100%;display:block}.eyebrow{font-size:12px;letter-spacing:.42em;color:#ef4444;font-weight:800;text-transform:uppercase}.hero h1,h2{font-size:clamp(38px,6vw,72px);line-height:1.02;margin:10px 0 20px;font-weight:900;letter-spacing:-.04em}.lead{font-size:20px;color:#d4d4d8}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.vertical{flex-direction:column}.cred-strip{max-width:1180px;margin:0 auto 30px;padding:0 22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.cred-strip div{border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(220,38,38,.18),rgba(255,255,255,.04));border-radius:24px;padding:20px}.cred-strip strong{display:block;font-size:18px}.cred-strip span{display:block;margin-top:4px;color:#d4d4d8}.section{max-width:1180px;margin:auto;padding:70px 22px}.muted{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));max-width:none}.muted>*{max-width:1180px;margin-left:auto;margin-right:auto}.steps,.cards,.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article,.cards article,.panel,.partner-grid article,.manager-card,.spotlight-soon{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);border-radius:28px;padding:28px}.steps span{width:42px;height:42px;border-radius:50%;background:#dc2626;display:flex;align-items:center;justify-content:center;font-weight:900}.steps h3,.cards h3,.partner-grid h3,.manager-card h3,.spotlight-soon h3{font-size:24px;margin:16px 0 8px}.steps p,.cards p,.partner-grid p,.manager-card p,.section p,.spotlight-soon p{color:#d4d4d8}.panel.split{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin-top:24px}.note{color:#a1a1aa!important;font-size:14px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.photo-placeholder,.portrait-placeholder,.photo-small,.mosaic-item{border:1px dashed rgba(255,255,255,.25);background:linear-gradient(135deg,#27272a,#09090b);border-radius:24px;display:flex;align-items:center;justify-content:center;color:#71717a}.photo-placeholder{height:310px}.photo-small{height:170px}.manager-card{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:center}.portrait-placeholder{height:280px}.contact-link{display:inline-flex;margin-top:14px;border-radius:999px;border:1px solid rgba(255,255,255,.24);padding:11px 18px;color:white;text-decoration:none;font-weight:700}.contact-link:hover{background:white;color:black}.spotlight-soon{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:center}.activity-list{display:grid;gap:12px}.activity-list div{display:grid;grid-template-columns:90px 1fr auto;gap:22px;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);padding:16px 0}.activity-list strong{color:#ef4444;min-width:90px}.activity-list a{color:#d4d4d8;text-decoration:none;font-size:14px;border-bottom:1px solid rgba(255,255,255,.35)}.activity-list a:hover{color:white}.mosaic-title{margin-top:40px}.mosaic-title h3{font-size:28px;margin:0}.photo-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:14px;margin-top:18px}.mosaic-item.large{grid-column:span 2;grid-row:span 2}.mosaic-item.wide{grid-column:span 2}.partner-grid{grid-template-columns:repeat(2,1fr)}.partner-grid img{max-width:100%;height:95px;object-fit:contain;background:white;border-radius:18px;padding:14px}footer{border-top:1px solid rgba(255,255,255,.1);padding:32px 22px;max-width:1180px;margin:auto;color:#a1a1aa}footer strong{color:white}@media(max-width:850px){.header-inner{display:block}.header-inner nav{margin:14px 0}.hero,.grid-two,.panel.split,.manager-card,.spotlight-soon,.cred-strip{grid-template-columns:1fr}.steps,.cards,.partner-grid{grid-template-columns:1fr}.hero h1,h2{font-size:42px}.lead{font-size:17px}.cta.small{display:flex;width:100%;margin-top:10px}.activity-list div{grid-template-columns:1fr;gap:4px}.photo-mosaic{grid-template-columns:1fr;grid-auto-rows:180px}.mosaic-item.large,.mosaic-item.wide{grid-column:span 1;grid-row:span 1}}

/* v3 refinements */
.nowrap{white-space:nowrap}
.partner-name-link{color:white;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.32)}
.partner-name-link:hover{color:#ef4444;border-color:#ef4444}
.spotlight-meta{color:#ef4444!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:-6px}


/* v4 image integration */
.image-card{margin:0;border:1px solid rgba(255,255,255,.12);border-radius:24px;overflow:hidden;background:#111}
.image-card img,.portrait-image img,.mosaic-item img{width:100%;height:100%;object-fit:cover;display:block}
.image-card figcaption{padding:10px 14px;color:#a1a1aa;font-size:13px}
.portrait-image{height:280px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#111}
.mosaic-item{padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#111}
.mosaic-item img{transition:transform .35s ease}
.mosaic-item:hover img{transform:scale(1.035)}

.guide-title{font-size:32px;letter-spacing:-0.02em;}

/* v6 fixes */
.photo-small.image-fit{
  height:170px;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  background:#111;
}
.photo-small.image-fit img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
