.hero{display:grid;grid-template-columns:.72fr 1.28fr;gap:78px;align-items:center;min-height:720px;padding:42px 0 105px;position:relative}
.hero__copy{position:relative;padding-left:5px}
.hero__tiny{font-size:9px;letter-spacing:.24em;color:#8196a8;margin:0 0 20px}
.hero h1{font-family:var(--sans);font-size:clamp(65px,8vw,104px);font-weight:400;line-height:.8;letter-spacing:-.035em;margin:0}
.hero__reading{font-family:var(--sans);font-size:10px;letter-spacing:.42em;color:var(--muted);margin:22px 0 48px}
.hero__catch{font-family:var(--sans);font-size:17px;font-weight:500;letter-spacing:.08em;margin:0 0 12px}
.hero__lead{font-family:var(--sans);font-size:12px;line-height:2.1;color:#586674;max-width:390px;margin:0 0 24px}
.hero__actions{display:flex;gap:9px;margin-top:32px}
.hero__art{
  position:relative;
  width:100%;
  max-width:680px;
  justify-self:end;
  aspect-ratio:1 / 1;
  overflow:hidden;
  background:#edf5fa;
}
.hero__art img{
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center;
}
.hero__placeholder{
  width:100%;
  height:100%;
  background:linear-gradient(135deg,#edf5fa,#f8fbfd);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #dce8f0;
}
.hero__placeholder span{color:var(--pink);font-size:24px}.hero__placeholder strong{font-family:var(--sans);font-size:14px;margin:12px 0 4px}.hero__placeholder small{font-family:var(--sans);font-size:9px;color:var(--muted)}

.mood-strip{overflow:hidden;border-top:1px solid #dce7ef;border-bottom:1px solid #dce7ef;background:#fff;padding:12px 0;color:#7893a8;font-family:var(--sans);font-size:9px;letter-spacing:.16em;white-space:nowrap}
.mood-strip div{display:flex;width:max-content;will-change:transform;animation:solasgMarquee 36s linear infinite}
.mood-strip span{display:block;padding-right:2.5rem}
@keyframes solasgMarquee{from{transform:translateX(0)}to{transform:translateX(-33.333333%)}}to{transform:translateX(-50%)}}
.works-section{padding:125px 0 145px}
.section-heading__mark{display:block;color:var(--pink);font-size:14px;margin-bottom:9px}
.section-heading small{display:block;font-family:var(--sans);font-size:9px;color:var(--muted);margin-top:13px;letter-spacing:.04em}
.works-layout{display:grid;grid-template-columns:150px 1fr;gap:50px;align-items:start}
.works-filter{position:sticky;top:120px;display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding-top:4px}
.works-filter button{background:none;border:0;padding:0;cursor:pointer;font-family:var(--sans);font-size:11px;color:var(--muted);transition:.2s;position:relative}
.works-filter button:before{content:"";width:0;height:1px;background:var(--pink);position:absolute;left:0;top:50%;transition:.25s}
.works-filter button:hover,.works-filter button.is-active{color:var(--ink);padding-left:19px}
.works-filter button:hover:before,.works-filter button.is-active:before{width:12px}
.section-more{text-align:right;margin-top:42px}.section-more a{font-family:var(--sans);font-size:10px;letter-spacing:.06em;border-bottom:1px solid var(--line);padding-bottom:7px}.section-more span{margin-left:14px}
.favorite-note{background:#fff;padding:105px 0;border-block:1px solid #e2eaf0;position:relative}
.favorite-note__inner{max-width:780px;text-align:center;position:relative}
.favorite-note__deco{display:block;font-family:var(--sans);font-size:72px;line-height:.4;color:#c9ddea;margin-bottom:28px}
.favorite-note p{font-family:var(--sans);font-size:13px;line-height:2.35;letter-spacing:.05em;margin:0;color:#586674}
.favorite-note strong{font-weight:500;color:#394957}
.favorite-note__star{position:absolute;right:5%;bottom:-45px;font-size:22px;color:#bdd5e5;transform:rotate(10deg)}
.about-preview{background:#f0f6fa;padding:125px 0;position:relative}
.about-preview:before{content:"";position:absolute;left:0;top:0;width:90px;height:90px;border-right:1px solid rgba(126,169,201,.22);border-bottom:1px solid rgba(126,169,201,.22);border-radius:0 0 100% 0}
.about-preview__inner{max-width:850px;display:grid;grid-template-columns:230px 1fr;gap:75px;align-items:center;position:relative}
.about-preview__portrait{width:230px;height:230px;border-radius:50%;overflow:hidden;background:#fff;border:8px solid rgba(255,255,255,.7);box-shadow:0 0 0 1px rgba(126,169,201,.30);display:grid;place-items:center}
.about-preview__portrait img{width:100%;height:100%;object-fit:cover}.about-preview__portrait span{font-family:var(--sans);font-size:70px;color:var(--pink)}
.about-preview__copy h2{font-family:var(--sans);font-size:48px;font-weight:400;margin:0 0 18px}.about-preview__copy h2 small{font-family:var(--sans);font-size:10px;letter-spacing:.25em;color:var(--muted);margin-left:10px}
.about-preview__copy>p:not(.eyebrow){font-family:var(--sans);font-size:12px;line-height:2.1;color:#586674;max-width:440px;margin-bottom:20px}
.about-preview__copy .social-links{margin-bottom:26px}.about-preview__ornament{position:absolute;right:-10px;top:-42px;font-size:32px;color:rgba(126,169,201,.28)}
.journal-section{padding:125px 0}.journal-list{max-width:880px;margin:auto;border-top:1px solid var(--line)}
.journal-card a{display:grid;grid-template-columns:110px 1fr 30px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:22px 5px;transition:.25s}.journal-card a:hover{padding-left:14px;background:rgba(255,255,255,.45)}
.journal-card time{font-size:10px;color:var(--muted)}.journal-card h3{font-family:var(--sans);font-size:12px;font-weight:400;margin:0}.journal-card__arrow{text-align:right;color:var(--pink)}
.journal-empty{text-align:center;font-size:11px;color:var(--muted)}
.contact-band{background:#dbeaf4;padding:100px 30px;text-align:center;position:relative}.contact-band__inner{max-width:620px;margin:auto}.contact-band__ornament{font-size:18px;color:#688ba5}
.contact-band h2{font-family:var(--sans);font-size:30px;font-weight:500;letter-spacing:.15em;margin:10px 0 20px}.contact-band__inner>p:not(.eyebrow){font-family:var(--sans);font-size:11px;color:#5d6c79;margin:0 0 30px}
@media(max-width:900px){.hero{grid-template-columns:1fr 1.25fr;gap:38px}.works-layout{grid-template-columns:110px 1fr;gap:28px}}
@media(max-width:760px){
 .hero{grid-template-columns:1fr;gap:48px;min-height:0;padding:48px 0 75px}.hero__copy{order:2}.hero__art{order:1}.hero h1{font-size:64px}.hero__reading{margin-bottom:32px}.hero__actions{flex-wrap:wrap}
 .works-section{padding:80px 0 95px}.works-layout{display:block}.works-filter{position:static;flex-direction:row;overflow-x:auto;gap:20px;padding-bottom:25px;margin-bottom:5px;white-space:nowrap}.works-filter button:hover,.works-filter button.is-active{padding-left:0}.works-filter button:before{top:auto;bottom:-5px}.works-filter button:hover:before,.works-filter button.is-active:before{width:100%}
 .favorite-note{padding:75px 0}.favorite-note p{font-size:11px}
 .about-preview{padding:85px 0}.about-preview__inner{grid-template-columns:1fr;gap:35px;text-align:center}.about-preview__portrait{width:170px;height:170px;margin:auto}.about-preview__copy>p:not(.eyebrow){margin-inline:auto}.about-preview__copy .social-links{justify-content:center}
 .journal-section{padding:85px 0}.journal-card a{grid-template-columns:1fr 24px;gap:5px 15px}.journal-card time,.journal-card h3{grid-column:1}.journal-card__arrow{grid-column:2;grid-row:1/3}
 .contact-band{padding:80px 20px}
}

.about-preview__title-star,
.contact-band__title-star{
  display:block;
  color:var(--pink);
  font-size:13px;
  margin-bottom:10px;
}
.contact-band__title-star{color:#688ba5}

@media(max-width:760px){
  .hero__art{
    width:100%;
    max-width:none;
    aspect-ratio:1 / 1;
    justify-self:stretch;
  }
}

/* v1.9: HOMEのILLUSTRATIONはフィルターなしで作品だけを大きく表示 */
.works-section .works-home-grid{
  width:100%;
}

.about-preview__copy .section-cta{margin-top:2px}
.contact-band .section-cta{margin-top:2px}


/* =========================================
   v2.1 Hero → ILLUSTRATION spacing
========================================= */
.mood-strip{
  margin-bottom:clamp(72px,9vw,132px);
}
@media(max-width:760px){
  .mood-strip{
    margin-bottom:68px;
  }
}
