
    :root{
      --paper:#f6f1e7;
      --paper2:#fbf8f1;
      --ink:#171512;
      --muted:#70695f;
      --gold:#9b8257;
      --line:rgba(23,21,18,.14);
      --serif:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP","Times New Roman",serif;
      --sans:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.92;letter-spacing:.04em}
    a{color:inherit;text-decoration:none}
    .wrap{width:min(1080px,calc(100% - 48px));margin:auto}
    header{position:fixed;top:0;left:0;right:0;z-index:30;background:rgba(246,241,231,.86);backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,21,18,.08)}
    .nav{height:58px;display:flex;align-items:center;justify-content:space-between}
    .brand{font-size:18px;letter-spacing:.16em;font-weight:600}
    .menu{display:flex;gap:21px;font-family:var(--sans);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#3e3932}
    .mobile-menu{display:none;position:relative;font-family:var(--sans);color:#3e3932}
    .mobile-menu summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 0 0 12px;list-style:none;cursor:pointer;font-size:11px;letter-spacing:.13em}
    .mobile-menu summary::-webkit-details-marker{display:none}
    .mobile-menu summary::after{content:"☰";font-size:18px;line-height:1}
    .mobile-menu[open] summary::after{content:"×";font-size:24px}
    .mobile-menu nav{position:absolute;top:calc(100% + 7px);right:0;min-width:205px;display:flex;flex-direction:column;background:var(--paper2);padding:6px 16px;border:1px solid var(--line);box-shadow:0 12px 24px rgba(23,21,18,.12)}
    .mobile-menu nav a{display:flex;align-items:center;min-height:43px;letter-spacing:.12em;font-size:12px;text-transform:uppercase;white-space:nowrap}
    .mobile-menu nav a+a{border-top:1px solid var(--line)}
    .hero{min-height:80svh;padding-top:58px;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}
    .hero-copy{display:flex;align-items:center;padding:48px 6vw 42px max(24px,calc((100vw - 1080px)/2));background:linear-gradient(130deg,#f7f2e8 0%,#eee5d5 100%)}
    .hero-inner{max-width:600px}
    h1{font-size:clamp(26px,2.7vw,36px);font-weight:500;letter-spacing:.16em;margin:0 0 18px;line-height:1.1}
    .hero h2{font-size:clamp(18px,1.7vw,24px);font-weight:500;line-height:1.55;margin:0 0 22px;letter-spacing:.04em}
    .hero p{font-size:14px;max-width:570px;margin:0;color:#3d3832}
    .hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,241,231,.12),transparent 36%),linear-gradient(0deg,rgba(0,0,0,.14),transparent 40%)}
    .scroll{position:absolute;bottom:20px;right:24px;color:white;font-family:var(--sans);font-size:9px;letter-spacing:.18em;z-index:2}
    section{padding:70px 0;border-top:1px solid var(--line)}
    .section-kicker{font-family:var(--sans);font-size:9px;letter-spacing:.2em;color:var(--gold);margin-bottom:15px;text-transform:uppercase}
    .section-title{font-size:clamp(22px,2.35vw,28px);font-weight:500;line-height:1.5;margin:0 0 26px;letter-spacing:.04em}
    .manifesto{background:var(--paper2)}
    .manifesto-inner{max-width:820px}
    .manifesto-inner p{font-size:15px;margin:0 0 12px;color:#403a34}
    .manifesto-inner .manifesto-end{font-size:18px;margin-top:24px;color:var(--ink)}
    .journey-intro{max-width:820px;margin:0 0 36px}
    .journey-intro p{font-size:14px;margin:0 0 12px;color:#403a34}
    .lead{font-size:15px;max-width:820px;color:#352f2a}
    .origin-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:64px;align-items:start}
    .origin-quote{font-size:20px;line-height:1.75;position:sticky;top:90px}
    .origin-quote strong{font-weight:500;border-bottom:1px solid var(--gold)}
    .origin-body p{margin:0 0 18px;font-size:14px}
    .origin-body .em{font-size:17px;line-height:1.8;margin:28px 0}
    .facts-band,.names-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.24)}
    .facts-band{padding:0}
    .names-band{padding:50px 0}
    .facts-grid{display:grid;grid-template-columns:repeat(3,1fr)}
    .fact{padding:20px 18px;text-align:center;border-right:1px solid var(--line)}
    .fact:last-child{border-right:0}
    .fact strong{display:block;font-size:18px;font-weight:500;line-height:1.35;margin-bottom:5px}
    .fact span{font-size:11px;color:#5e574f;line-height:1.55}
    .journey{background:var(--paper2)}
    .timeline{margin-top:44px;border-left:1px solid var(--gold);padding-left:32px;display:grid;gap:36px}
    .item{position:relative;display:grid;grid-template-columns:190px 1fr;gap:22px}
    .item:before{content:"";position:absolute;left:-38px;top:10px;width:10px;height:10px;border-radius:50%;background:var(--paper2);border:1px solid var(--gold)}
    .year{font-family:var(--sans);font-size:10px;letter-spacing:.13em;color:var(--gold)}
    .item h3{font-size:17px;margin:0 0 7px;font-weight:500}
    .item p{margin:0;color:#514b44;font-size:14px}
    .work-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:40px}
    .card{border:1px solid var(--line);background:rgba(255,255,255,.22);padding:26px 22px;min-height:300px;display:flex;flex-direction:column}
    .card .num{font-family:var(--sans);font-size:9px;color:var(--gold);letter-spacing:.16em;margin-bottom:30px}
    .card h3{font-size:19px;margin:0 0 14px;font-weight:500;line-height:1.5}
    .card p{margin:0 0 20px;color:#514b44;font-size:14px}
    .card .cta{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-family:var(--sans);font-size:10px;letter-spacing:.15em}
    .card .cta a{border-bottom:1px solid var(--gold);padding-bottom:5px}
    .session-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
    .session-pill{padding:16px 10px 10px;border-top:1px solid var(--line)}
    .session-pill h4{font-size:15px;margin:0 0 6px;font-weight:500}
    .session-pill p{font-size:13px;margin:0;color:#5c554e}
    .music{background:var(--paper2);color:var(--ink)}
    .music-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:center}
    .music-photo{min-height:370px;background:#0b0b0b center/cover no-repeat url('assets/sakurako-stage.webp')}
    .music-copy{padding:20px 0;display:flex;flex-direction:column;justify-content:center}
    .music-copy p{color:#514b44;max-width:570px;font-size:14px}
    .music-copy .cta{margin-top:22px;font-family:var(--sans);font-size:10px;letter-spacing:.17em;width:max-content}
    .music-copy .cta a{border-bottom:1px solid var(--gold);padding-bottom:7px}
    .names-wrap{text-align:center}
    .names-title{font-size:18px;font-weight:500;margin:0 0 22px;line-height:1.7}
    .names-list{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;font-size:17px}
    .voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px}
    .voice{border-top:1px solid var(--line);padding:20px 4px 6px;font-size:16px;line-height:1.65}
    .voice-note{margin-top:28px;font-size:14px;color:#514b44;max-width:840px}
    .culture-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px;margin-top:24px;border-top:1px solid var(--line)}
    .culture-item{padding:15px 0;border-bottom:1px solid var(--line);font-size:14px;color:#514b44}
    .first-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}
    .first-card{padding:22px;border:1px solid var(--line);background:rgba(255,255,255,.22)}
    .first-card .small{font-family:var(--sans);font-size:9px;letter-spacing:.14em;color:var(--gold);margin-bottom:9px}
    .first-card h3{font-size:17px;font-weight:500;margin:0 0 8px}
    .first-card p{font-size:13px;color:#5c554e;margin:0}
    .profile-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}
    .profile-name{font-size:31px;margin:0;letter-spacing:.16em;font-weight:500;position:sticky;top:90px}
    .profile-text p{font-size:14px;margin:0 0 18px;color:#403a34}
    .contact-email{font-family:var(--sans);font-size:15px;letter-spacing:.03em;text-decoration:underline;text-underline-offset:5px}
    footer{padding:56px 0 68px;border-top:1px solid var(--line)}
    .foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
    .foot-brand{font-size:24px;letter-spacing:.16em}
    .foot-copy{font-family:var(--sans);font-size:9px;color:#6d655c;letter-spacing:.12em;text-align:right}
    @media (max-width:900px){
      .menu{display:none}.mobile-menu{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:44px 24px 38px}.hero-photo{min-height:46svh;order:-1;margin-top:58px}.hero{padding-top:0}.origin-grid,.music-grid,.profile-grid{grid-template-columns:1fr}.origin-quote,.profile-name{position:static}.work-grid,.session-list,.first-grid,.voice-grid,.facts-grid,.culture-list{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid var(--line)}.fact:last-child{border-bottom:0}.item{grid-template-columns:1fr;gap:6px}.music-copy{padding:8px 0}.music-photo{min-height:290px}.wrap{width:min(100% - 34px,1080px)}section{padding:62px 0}.names-list{gap:14px;font-size:16px}
    }

    /* News: minimal editorial rows, integrated with the existing design */
    .news-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
    .news-head .section-title{margin-bottom:0}
    .news-more,.news-back{font-family:var(--sans);font-size:11px;letter-spacing:.08em;color:#4a443d;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:6px;text-decoration-thickness:1px}
    .news-list{border-top:1px solid var(--line)}
    .news-entry{border-bottom:1px solid var(--line)}
    .news-entry a{display:grid;grid-template-columns:155px 130px minmax(0,1fr) 20px;gap:20px;align-items:center;padding:22px 3px;min-height:91px}
    .news-meta,.news-category{font-family:var(--sans);font-size:11px;letter-spacing:.06em;color:var(--muted)}
    .news-category{color:var(--gold)}
    .news-name{font-size:17px;line-height:1.65;font-weight:500}
    .news-arrow{font-family:var(--sans);font-size:17px;color:var(--gold);text-align:right}
    .news-entry a:hover .news-name,.news-entry a:focus-visible .news-name{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:5px}
    @media(max-width:700px){
      .news-head{align-items:start;flex-direction:column;gap:14px}
      .news-entry a{grid-template-columns:minmax(0,1fr) 20px;column-gap:12px;row-gap:5px;padding:20px 2px}
      .news-meta{grid-column:1;grid-row:1}
      .news-category{grid-column:1;grid-row:2}
      .news-name{grid-column:1;grid-row:3;font-size:16px}
      .news-arrow{grid-column:2;grid-row:2/span 2;align-self:center}
    }
  
    /* News archive and article templates */
    .page-content{padding-top:58px;min-height:70vh}
    .page-top{padding:85px 0 52px;background:var(--paper2);border-top:0;border-bottom:1px solid var(--line)}
    .page-top .section-title{margin-bottom:0}
    .page-intro{font-size:14px;color:#514b44;max-width:710px;margin:15px 0 0}
    .page-news{padding:38px 0 95px;border-top:0}
    .page-news .news-entry a{grid-template-columns:155px 130px minmax(0,1fr) 20px}
    .page-news .news-note{font-size:14px;color:#514b44;margin-top:12px}
    .article-main{padding:76px 0 92px;border-top:0}
    .article-wrap{max-width:780px}
    .article-metadata{font-family:var(--sans);font-size:11px;letter-spacing:.08em;color:var(--gold);margin-bottom:23px}
    .article-title{font-size:clamp(25px,3.1vw,36px);font-weight:500;line-height:1.65;letter-spacing:.09em;margin:0 0 5px}
    .article-subtitle{font-size:clamp(15px,2vw,19px);font-weight:500;line-height:1.8;margin:0}
    .article-content{border-top:1px solid var(--line);margin-top:45px;padding-top:38px;font-size:16px;line-height:2.05;letter-spacing:.04em}
    .article-content p{margin:0 0 24px}
    .article-content .article-signature{margin-top:42px}
    .article-info{padding:22px 0 0;border-top:1px solid var(--line);font-size:14px;color:#514b44;margin-top:44px}
    .article-info p{margin:0 0 5px}
    .page-return{margin-top:56px}
    @media(max-width:700px){
      .page-top{padding:54px 0 37px}
      .page-news{padding:18px 0 64px}
      .page-news .news-entry a{grid-template-columns:minmax(0,1fr) 20px}
      .article-main{padding:48px 0 70px}
      .article-content{font-size:15px;padding-top:31px;margin-top:33px}
    }
