
:root{
  --ink:#171c27;
  --muted:#767d89;
  --line:#e8e9ec;
  --pink:#e85f8f;
  --pink-dark:#d9487d;
  --pink-soft:#fff5f8;
  --paper:#fff;
  --rabbit-ink:#251817;
  --max:1240px;
  --shadow:0 14px 45px rgba(28,32,42,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,Arial,sans-serif;
  font-size:15px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:var(--ink);color:#fff;padding:10px 16px}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--pink-dark);outline-offset:3px}
.container{width:min(calc(100% - 48px),var(--max));margin:auto}
.site-header{
  height:84px;background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(232,233,236,.8);
  position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)
}
.header-inner{height:100%;display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:28px}
.logo img{width:138px;height:auto}
.main-nav ul,.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:34px}
.main-nav{justify-self:center}
.main-nav a,.footer-nav a{
  font-size:12px;letter-spacing:.11em;font-weight:600;position:relative
}
.main-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-10px;height:1px;background:var(--pink);transition:.25s
}
.main-nav a:hover::after,.main-nav a.is-active::after{right:0}
.header-tools{display:flex;align-items:center;gap:18px}
.sns-link{
  display:grid;place-items:center;width:26px;height:26px;font-weight:700;font-size:18px
}
.sns-link[href*="instagram.com"],.sns-link[href*="twitter.com"],.footer-sns a[href*="instagram.com"],.footer-sns a[href*="twitter.com"]{font-size:0}
.sns-link[href*="instagram.com"]::before,.sns-link[href*="twitter.com"]::before,.footer-sns a[href*="instagram.com"]::before,.footer-sns a[href*="twitter.com"]::before{content:"";display:block;width:19px;height:19px;background-position:center;background-size:contain;background-repeat:no-repeat}
.sns-link[href*="instagram.com"]::before,.footer-sns a[href*="instagram.com"]::before{background-image:url("../images/instagram.svg")}
.sns-link[href*="twitter.com"]::before,.footer-sns a[href*="twitter.com"]::before{background-image:url("../images/x.svg")}
.fc-button{
  border:1px solid var(--pink);color:var(--pink-dark);
  border-radius:5px;padding:10px 16px;font-size:12px;letter-spacing:.08em;font-weight:700
}
.mobile-toggle{display:none;border:0;background:none;width:40px;height:40px;font-size:24px}
.hero{
  min-height:515px;position:relative;overflow:hidden;
  background:#fff;
}
.hero-art{
  position:absolute;inset:0;z-index:1;overflow:hidden;background-color:transparent;
  background-image:url("../images/cannage-tile.svg");
  background-repeat:repeat;background-size:78px 104px;background-position:center -4px;
}
.hero-inner{min-height:515px;position:relative;z-index:2}
.hero-copy{position:absolute;z-index:4;left:28px;top:255px;display:flex;gap:18px}
.btn{
  min-width:164px;height:54px;padding:0 28px;border:1px solid var(--ink);
  display:inline-flex;align-items:center;justify-content:center;gap:28px;
  letter-spacing:.08em;font-size:12px;font-weight:700;transition:.25s;background:#fff
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-primary{background:linear-gradient(135deg,var(--pink-dark),var(--pink));border-color:var(--pink);color:#fff}
.hero-rabbit{position:absolute;z-index:2;right:max(9vw,96px);bottom:58px;width:auto;height:286px}
.hero-heart{position:absolute;z-index:1;color:var(--pink);font-family:Georgia,"Times New Roman",serif;line-height:1;text-shadow:0 0 8px #fff}
.hero-heart:nth-child(1){left:8%;top:18%;font-size:13px}
.hero-heart:nth-child(2){left:19%;top:70%;font-size:9px}
.hero-heart:nth-child(3){left:36%;top:29%;font-size:10px}
.hero-heart:nth-child(4){left:51%;top:13%;font-size:8px}
.hero-heart:nth-child(5){left:60%;top:72%;font-size:12px}
.hero-heart:nth-child(6){left:77%;top:18%;font-size:10px}
.hero-heart:nth-child(7){left:94%;top:60%;font-size:9px}
.hero-heart:nth-child(8){left:13%;top:43%;font-size:8px}
.hero-heart:nth-child(9){left:29%;top:83%;font-size:11px}
.hero-heart:nth-child(10){left:45%;top:55%;font-size:9px}
.hero-heart:nth-child(11){left:69%;top:42%;font-size:8px}
.hero-heart:nth-child(12){left:87%;top:82%;font-size:12px}
.section{padding:64px 0}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}
.section-title{font-size:20px;letter-spacing:.17em;margin:0;font-weight:600}
.view-all{font-size:11px;font-weight:700;letter-spacing:.12em;display:inline-flex;gap:16px;align-items:center}
.view-all:hover{color:var(--pink-dark)}
.schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-schedule-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.schedule-card{
  position:relative;border:1px solid var(--line);min-height:238px;padding:25px 20px 22px;
  display:flex;flex-direction:column;align-items:stretch;text-align:center;
  background:#fff;transition:.25s
}
.schedule-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#f3c2d2}
.schedule-card-link{display:block;min-width:0;height:100%;color:inherit;text-decoration:none}
.schedule-card-link .schedule-card{height:100%}
.schedule-card--linked{border-color:#f2c4d3}
.schedule-date{font-size:16px;letter-spacing:.04em;font-weight:600;line-height:1.4}
.schedule-day{font-size:10px;font-weight:700;letter-spacing:.12em;padding-top:3px}
.schedule-rule{width:100%;height:1px;background:#f2adc5;margin:15px 0 16px}
.schedule-category{align-self:center;margin:0 0 10px;padding:3px 10px;border:1px solid #f3bfd0;border-radius:999px;background:var(--pink-soft);color:var(--pink-dark);font-size:10px;font-weight:700;letter-spacing:.07em;line-height:1.5}
.schedule-name{min-height:45px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;line-height:1.65}
.schedule-place{display:flex;align-items:flex-start;justify-content:center;gap:8px;margin-top:auto;font-size:12px;color:#424855;line-height:1.65}
.schedule-location-text{min-width:0}
.schedule-link-mark{position:absolute;top:11px;right:12px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #efb3c7;border-radius:50%;background:#fff8fa;color:var(--pink-dark);font-size:14px;font-weight:700;line-height:1}
.schedule-card-link:focus-visible{outline:2px solid var(--pink-dark);outline-offset:3px}
.location-heart-stick{position:relative;display:inline-block;flex:0 0 17px;width:17px;height:23px;margin-top:0;color:var(--pink-dark)}
.location-heart-symbol{position:absolute;z-index:1;top:-2px;left:50%;transform:translateX(-50%);font-family:Georgia,"Times New Roman",serif;font-size:15px;line-height:1}
.location-heart-stem{position:absolute;top:10px;bottom:1px;left:50%;width:1px;transform:translateX(-50%);border-radius:999px;background:currentColor}
.note{font-size:11px;color:#9aa0aa;margin-top:16px}
.news-list{border-top:1px solid var(--line)}
.news-row{
  min-height:61px;border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:115px 90px 1fr 30px;align-items:center;gap:12px;
  transition:.2s
}
.news-row:hover{padding-left:8px}
.news-date{color:#9ba1ac;font-size:12px}
.news-tag{font-size:10px;background:#fbe3eb;border-radius:999px;padding:3px 12px;text-align:center}
.news-title{font-size:13px}
.home-coming-soon{
  min-height:118px;border:1px solid var(--line);background:linear-gradient(110deg,#fff,#fff8fa);
  display:grid;grid-template-columns:135px 215px 1fr 30px;align-items:center;gap:20px;
  padding:28px 32px;transition:.25s
}
.home-coming-soon:hover{border-color:#efb2c7;box-shadow:var(--shadow);transform:translateY(-2px)}
.home-coming-soon strong{font-size:15px;font-weight:600}
.home-coming-soon>span:not(.coming-soon-kicker):not(.home-coming-soon-arrow){color:var(--muted);font-size:12px}
.home-coming-soon-arrow{text-align:right}
.section-compact{padding-top:10px}
.section-description{margin:7px 0 0;color:var(--muted);font-size:12px}
.contents-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.content-card{position:relative;min-height:196px;display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:center;padding:24px 22px;border:1px solid #f1d5df;background:#fff;transition:.25s;overflow:hidden}
.content-card:hover{transform:translateY(-3px);border-color:#efb2c7;box-shadow:var(--shadow)}
.content-card-soldout{padding-bottom:46px}
.content-card-soldout:hover{transform:none;border-color:#f1d5df;box-shadow:none}
.content-illustration{width:78px;height:78px;color:#2a2022;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.content-illustration .accent{fill:var(--pink);stroke:none}
.content-card-body{min-width:0}
.content-card h3{margin:0 0 5px;font-size:16px;font-weight:600}
.content-card p{margin:0;color:var(--muted);font-size:12px}
.content-card-link{display:inline-flex;margin-top:13px;padding:7px 10px;border:1px solid #efafc4;color:var(--pink-dark);font-size:9px;font-weight:700;letter-spacing:.08em}
.sold-out-label{position:absolute;left:31%;right:10%;bottom:12px;padding:5px 10px;background:rgba(255,255,255,.9);box-shadow:0 3px 12px rgba(30,25,27,.12);text-align:center;font-family:Georgia,serif;font-size:14px;font-weight:700;letter-spacing:.2em}
.sold-out-label small{display:block;font-family:inherit;font-size:8px;letter-spacing:.12em}
.works-line{
  display:grid;grid-template-columns:110px 1fr auto;gap:24px;align-items:center;
  border-bottom:1px solid var(--line);padding:0 0 24px
}
.works-line h2{font-size:20px;letter-spacing:.17em;margin:0;font-weight:600}
.works-line p{margin:0;font-size:13px}
.inline-coming-soon{display:inline-block;margin-right:10px;color:var(--pink-dark);font-size:9px;font-weight:700;letter-spacing:.13em}
.home-works-block{border-bottom:1px solid var(--line);padding:0 0 24px}
.home-works-heading{display:flex;align-items:end;justify-content:space-between}
.home-works-heading h2{font-size:20px;letter-spacing:.17em;margin:0;font-weight:600}
.home-works-copy{display:flex;align-items:baseline;gap:18px;margin-top:13px}
.home-works-copy .inline-coming-soon{flex:0 0 auto;margin:0}
.home-works-copy p{margin:0;color:var(--muted);font-size:13px}
.contact-band{
  margin-top:24px;background:linear-gradient(100deg,#fff9fb,#fff3f7);
  min-height:120px;display:grid;grid-template-columns:90px 1fr auto;gap:28px;align-items:center;
  padding:24px 58px
}
.contact-band img{width:56px}
.contact-band h3{font-size:15px;margin:0 0 4px}
.contact-band p{margin:0;font-size:13px}
.page-hero{padding:70px 0 42px;border-bottom:1px solid var(--line)}
.page-kicker{font-size:11px;color:var(--pink-dark);letter-spacing:.17em;font-weight:700}
.page-title{font-size:38px;letter-spacing:.08em;margin:8px 0 12px;font-weight:500}
.page-lead{color:var(--muted);max-width:650px}
.content-section{padding:55px 0}
.profile-grid{display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);gap:clamp(38px,6vw,72px);align-items:start}
.profile-photo-column{min-width:0}
.profile-photo-frame{width:100%;aspect-ratio:3/4;overflow:hidden;background:#faf7f5}
.profile-main-photo{width:100%;height:100%;object-fit:cover;object-position:center center;transition:opacity .2s ease}
.profile-gallery-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.profile-thumb{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:6px;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;text-align:left;font-size:10px;letter-spacing:.1em;transition:.2s}
.profile-thumb:hover{border-color:#efb2c7}
.profile-thumb[aria-pressed="true"]{border-color:var(--pink);color:var(--pink-dark);box-shadow:0 0 0 1px var(--pink)}
.profile-thumb img{width:48px;height:58px;object-fit:cover}
.profile-name{color:var(--ink);font-size:32px;letter-spacing:.12em;margin:2px 0 28px;font-weight:500}
.profile-alias{color:var(--pink-dark);font-size:17px;letter-spacing:.06em;margin:0}
.data-list{margin:0;border-top:1px solid var(--line)}
.data-row{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid var(--line);padding:12px 0}
.data-row dt{color:var(--pink-dark);font-size:12px}
.data-row dd{margin:0}
.data-row-stacked dd{line-height:1.85}
.comments{margin-top:35px}
.comments h2,.highlight-title{font-size:18px;letter-spacing:.1em}
.profile-highlights-section{margin-top:55px}
.highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:22px}
.highlight-card{border:1px solid var(--line);padding:24px 16px;text-align:center;min-height:168px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px}
.highlight-illustration{width:58px;height:58px;color:#2a2022;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.highlight-illustration .accent{fill:var(--pink);stroke:none}
.highlights-minimal .highlight-card{min-height:112px;display:grid;place-items:center;background:#fff;font-size:13px}
.profile-actions{display:flex;justify-content:flex-end;gap:12px;margin-bottom:20px}
.profile-works-link{margin-top:48px}
.small-btn{padding:9px 16px;border:1px solid #efafc4;color:var(--pink-dark);background:#fff;font-size:12px}
.archive-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.filter-btn{border:1px solid var(--line);background:#fff;padding:8px 16px;font-size:12px;cursor:pointer}
.filter-btn.is-active{border-color:var(--ink);background:var(--ink);color:#fff}
.work-list{display:grid;gap:12px}
.work-item{
  display:grid;grid-template-columns:85px 125px 1fr;gap:20px;padding:20px;
  border:1px solid var(--line);background:#fff
}
.work-year{font-size:18px;font-weight:600}
.work-tags{font-size:11px;color:var(--pink-dark)}
.work-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.work-category-card{border:1px solid var(--line);padding:27px 25px;min-height:150px;background:#fff;transition:.25s}
.work-category-card:hover{transform:translateY(-3px);border-color:#efb2c7;box-shadow:var(--shadow)}
.work-category-card>span,.curated-work-heading>span{font-size:10px;letter-spacing:.14em;color:var(--pink-dark);font-weight:700}
.work-category-card h3{margin:9px 0 5px;font-size:17px;font-weight:600}
.work-category-card p{margin:0;color:var(--muted);font-size:12px}
.work-anchor-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:55px}
.work-anchor-nav a{border:1px solid var(--line);padding:9px 15px;font-size:12px;background:#fff}
.work-anchor-nav a:hover{border-color:var(--pink);color:var(--pink-dark)}
.work-taxonomy-note{max-width:820px;margin:0 0 24px;padding-left:14px;border-left:2px solid var(--pink);color:var(--muted);font-size:12px}
.curated-work-section{display:grid;grid-template-columns:230px 1fr;gap:45px;padding:48px 0;border-top:1px solid var(--line);scroll-margin-top:100px}
.curated-work-heading h2{font-size:22px;margin:6px 0 0;font-weight:500}
.curated-work-list{display:grid;gap:0}
.curated-work-list article{display:grid;grid-template-columns:80px 1fr;gap:8px 22px;padding:17px 0;border-bottom:1px solid var(--line)}
.curated-work-list article:first-child{padding-top:0}
.curated-work-list time{color:var(--pink-dark);font-size:12px}
.curated-work-list h3,.ring-work-grid h3{margin:0;font-size:14px;font-weight:600}
.curated-work-list p,.ring-work-grid p{margin:0;color:var(--muted);font-size:12px}
.work-detail-list{display:grid;gap:4px;margin:6px 0 0;padding-left:1.25em;color:var(--muted);font-size:12px}
.work-detail-list li::marker{color:var(--pink)}
.work-role{display:block;margin-bottom:4px;color:var(--pink-dark);font-size:9px;font-weight:700;letter-spacing:.12em}
.curated-work-intro{grid-column:2;margin:0 0 -20px;color:var(--muted);font-size:12px}
.ring-work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;grid-column:2}
.ring-work-grid article{border:1px solid var(--line);padding:18px 20px;background:#fff}
.ring-work-grid time{display:block;margin-bottom:8px;color:var(--pink-dark);font-size:11px}
.archive-section,.schedule-archive-section{background:#fbfbfc}
.coming-soon-panel{
  min-height:340px;border:1px solid var(--line);background:linear-gradient(135deg,#fff 30%,#fff6f9);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:55px 28px
}
.coming-soon-kicker{color:var(--pink-dark);font-size:11px;font-weight:700;letter-spacing:.2em}
.coming-soon-panel h2{margin:12px 0 10px;font-size:22px;font-weight:500;letter-spacing:.05em}
.coming-soon-panel p{max-width:620px;margin:0;color:var(--muted);font-size:13px}
.coming-soon-actions{display:flex;gap:12px;margin-top:30px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field{display:grid;gap:8px}
.form-field.full{grid-column:1/-1}
.form-field label{font-size:12px;font-weight:600;letter-spacing:.05em}
.form-field input,.form-field textarea,.form-field select{
  border:1px solid var(--line);padding:14px;background:#fff;width:100%
}
.form-field input[type="checkbox"]{width:auto;accent-color:var(--pink-dark)}
.form-field textarea{min-height:180px;resize:vertical}
.form-note{font-size:12px;color:var(--muted)}
.contact-intro{margin-bottom:30px}
.contact-intro>p:first-child{margin-top:0}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-submit:disabled{cursor:wait;opacity:.65;transform:none;box-shadow:none}
.form-status{grid-column:1/-1;min-height:0;margin:0;padding:0;font-size:12px}
.form-status.is-sending,.form-status.is-success,.form-status.is-error{padding:14px 16px;border:1px solid var(--line)}
.form-status.is-sending{color:var(--muted);background:#fafafa}
.form-status.is-success{color:#2f684b;border-color:#bcdcca;background:#f3fbf6}
.form-status.is-error{color:#8b3c51;border-color:#edc1cd;background:#fff6f8}
.form-status a{text-decoration:underline;text-underline-offset:3px}
.contact-response-frame{position:absolute;width:1px;height:1px;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.fan-letter{display:grid;grid-template-columns:230px 1fr;gap:45px;margin-top:64px;padding:42px 0 0;border-top:1px solid var(--line)}
.fan-letter-heading h2{margin:7px 0 0;font-size:20px;font-weight:500}
.fan-letter-body{max-width:560px}
.fan-letter-body>p:first-child{margin-top:0}
.fan-letter address{margin:22px 0;padding:20px 22px;border-left:2px solid var(--pink);background:var(--pink-soft);font-style:normal;line-height:1.9}
.privacy-body{max-width:820px}
.privacy-body h2{font-size:18px;margin-top:38px}
.privacy-body li+li{margin-top:7px}
.privacy-body a{text-decoration:underline;text-underline-offset:3px}
.privacy-date{margin-top:48px;color:var(--muted);font-size:12px}
.site-footer{
  background-color:#fff;padding:48px 0 10px;position:relative;overflow:hidden
}
.site-footer::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url("../images/cannage-tile.svg") center top/66px 88px repeat;opacity:.42}
.site-footer>.container{position:relative;z-index:3}
.footer-hearts{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.footer-heart{position:absolute;color:var(--pink);font-family:Georgia,"Times New Roman",serif;line-height:1;text-shadow:0 0 7px #fff}
.footer-heart:nth-child(1){left:5%;top:22%;font-size:10px}
.footer-heart:nth-child(2){left:18%;bottom:17%;font-size:7px}
.footer-heart:nth-child(3){left:37%;top:54%;font-size:9px}
.footer-heart:nth-child(4){left:58%;bottom:24%;font-size:11px}
.footer-heart:nth-child(5){left:76%;top:20%;font-size:8px}
.footer-heart:nth-child(6){left:90%;bottom:29%;font-size:10px}
.footer-top{display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:35px}
.footer-logo img{width:125px;height:auto;aspect-ratio:300/155;object-fit:contain}
.footer-nav{justify-self:center}
.footer-sns{display:flex;align-items:center;gap:20px;font-size:18px}
.footer-sns a{display:grid;place-items:center;width:26px;height:26px}
.footer-bottom{display:flex;justify-content:space-between;margin-top:38px;padding-bottom:48px;font-size:10px;color:#5f6671}
.footer-wave{display:none}
.footer-rabbit{position:absolute;z-index:2;right:32px;bottom:5px;width:54px;height:auto;transform:none}
.only-mobile{display:none}
@media (max-width:1200px){
  .home-schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1000px){
  .header-inner{grid-template-columns:160px 1fr auto}
  .main-nav ul{gap:18px}.main-nav a{font-size:11px}
  .hero-rabbit{right:50px;bottom:64px;height:258px}
  .schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .highlights{grid-template-columns:repeat(2,1fr)}
  .work-category-grid{grid-template-columns:repeat(2,1fr)}
  .curated-work-section{grid-template-columns:180px 1fr;gap:30px}
}
@media (max-width:760px){
  body{font-size:14px}.container{width:min(calc(100% - 32px),var(--max))}
  .site-header{height:70px}.header-inner{display:flex;justify-content:space-between}
  .logo img{width:112px}.main-nav,.header-tools .sns-link,.fc-button{display:none}
  .mobile-toggle{display:block}.main-nav.is-open{
    display:block;position:fixed;inset:70px 0 auto;background:#fff;border-bottom:1px solid var(--line);padding:24px
  }
  .main-nav.is-open ul{display:grid;gap:20px}
  .hero,.hero-inner{min-height:590px}
  .hero-art{background-size:63px 84px;background-position:center top}
  .hero-rabbit{top:42px;right:24px;bottom:auto;height:220px}
  .hero-heart:nth-child(2),.hero-heart:nth-child(4),.hero-heart:nth-child(7),.hero-heart:nth-child(9),.hero-heart:nth-child(11){display:none}
  .hero-heart:nth-child(1){left:8%;top:13%}
  .hero-heart:nth-child(3){left:42%;top:35%}
  .hero-heart:nth-child(5){left:25%;top:61%}
  .hero-heart:nth-child(6){left:82%;top:12%}
  .hero-heart:nth-child(8){left:11%;top:44%}
  .hero-heart:nth-child(10){left:68%;top:51%}
  .hero-heart:nth-child(12){left:88%;top:71%}
  .hero-copy{left:16px;top:auto;bottom:105px;gap:8px}
  .btn{min-width:132px;height:48px;padding:0 15px;gap:14px}
  .section{padding:45px 0}
  .schedule-grid,.home-schedule-grid{grid-template-columns:1fr}
  .schedule-card{min-height:218px;padding:23px 18px 20px}
  .news-row{grid-template-columns:82px 72px 1fr 14px;gap:8px}
  .news-tag{font-size:8px;padding:3px 5px;white-space:nowrap}
  .news-title{font-size:12px}
  .home-coming-soon{grid-template-columns:1fr auto;gap:7px 16px;padding:24px 20px}
  .home-coming-soon .coming-soon-kicker,.home-coming-soon strong,.home-coming-soon>span:not(.home-coming-soon-arrow){grid-column:1}
  .home-coming-soon-arrow{grid-column:2;grid-row:1/4;align-self:center}
  .contents-grid{grid-template-columns:1fr}
  .content-card{min-height:180px;grid-template-columns:78px 1fr;padding:22px 20px;gap:14px 18px}
  .content-illustration{width:70px;height:70px}
  .home-works-copy{display:grid;gap:5px;margin-top:12px}
  .works-line{grid-template-columns:1fr auto}.works-line p{grid-column:1/-1;grid-row:2}
  .contact-band{grid-template-columns:60px 1fr;padding:24px}.contact-band .btn{grid-column:1/-1;width:100%}
  .profile-grid{grid-template-columns:1fr;gap:35px}
  .highlights{grid-template-columns:1fr 1fr}
  .work-category-grid{grid-template-columns:1fr}
  .curated-work-section{grid-template-columns:1fr;gap:22px;padding:38px 0}
  .curated-work-list,.curated-work-intro,.ring-work-grid{grid-column:1}
  .ring-work-grid{grid-template-columns:1fr}
  .page-title{font-size:30px}
  .profile-actions{justify-content:flex-start}
  .work-item{grid-template-columns:60px 1fr}.work-tags{grid-column:2}.work-item>div:last-child{grid-column:1/-1}
  .form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}
  .fan-letter{grid-template-columns:1fr;gap:22px;margin-top:50px;padding-top:34px}
  .coming-soon-actions{width:100%;flex-direction:column}.coming-soon-actions .btn{width:100%}
  .footer-top{grid-template-columns:1fr;justify-items:start}
  .footer-nav{justify-self:start}.footer-nav ul{flex-wrap:wrap;gap:14px 22px}
  .footer-bottom{margin-bottom:0;padding-bottom:58px}
  .footer-rabbit{right:18px;width:48px}
  .footer-heart:nth-child(2){left:29%;bottom:11%}
  .footer-heart:nth-child(3){left:48%;top:48%}
  .footer-heart:nth-child(4){left:70%;bottom:28%}
  .footer-heart:nth-child(5){left:87%;top:16%}
  .footer-heart:nth-child(6){display:none}
  .only-mobile{display:block}
}
@media (max-width:520px){
  .schedule-grid,.home-schedule-grid{grid-template-columns:1fr}
  .schedule-card{min-height:206px}
}
@media print{
  .site-header,.site-footer,.profile-actions,.profile-gallery-controls,.contact-band{display:none!important}
  body{font-size:10pt}.page-hero{padding:10mm 0}.content-section{padding:8mm 0}
  .profile-grid{grid-template-columns:42% 1fr;gap:10mm}.profile-photo-frame{aspect-ratio:auto;overflow:visible}.profile-main-photo{width:100%;height:auto;max-height:220mm;object-fit:contain}
}


/* Google Calendar dynamic schedule */
.calendar-loading,.calendar-message{
  grid-column:1/-1;
  border:1px solid var(--line);
  padding:50px 24px;
  text-align:center;
  color:var(--muted);
  background:#fff;
}


/* Google Calendar → WORKS archive */
.works-archive-note{
  margin-bottom:28px;
  color:var(--muted);
  font-size:12px;
}
.works-year-group{margin-bottom:54px}
.works-year-heading{
  margin:0 0 18px;
  padding-bottom:10px;
  border-bottom:1px solid var(--ink);
  font-size:25px;
  font-weight:500;
  letter-spacing:.08em;
}
.work-item-link{display:block;color:inherit}
.calendar-work-item{
  grid-template-columns:112px 110px minmax(0,1fr);
  gap:22px;
  padding:22px 24px;
  transition:.2s;
}
.work-item-link:hover .calendar-work-item{
  border-color:#efb2c7;
  transform:translateY(-2px);
  box-shadow:var(--shadow);
}
.work-date{font-size:13px;color:#6f7682}
.work-title{font-weight:600}
.work-link-mark{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:9px;border:1px solid #efb3c7;border-radius:50%;background:#fff8fa;color:var(--pink-dark);font-size:12px;vertical-align:middle}
.work-location{display:flex;align-items:flex-start;gap:7px;margin-top:6px;font-size:12px;color:#606773;line-height:1.7}
.work-location .location-heart-stick{flex-basis:15px;width:15px;height:20px;margin-top:1px}
.work-location .location-heart-symbol{font-size:13px}
.work-location .location-heart-stem{top:9px}
.work-location-text{min-width:0}
.work-description{margin-top:7px;font-size:12px;color:#818792}
@media(max-width:760px){
  .calendar-work-item{grid-template-columns:110px minmax(0,1fr);gap:10px 16px;padding:18px}
  .calendar-work-item .work-tags{grid-column:2}
  .calendar-work-item>div:last-child{grid-column:1/-1}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
