/* 2026-09-23 BUIYON — AIYON editorial character introduction
   Character artwork itself is never modified. This file only controls layout/motion. */

.buiyon-intro{
  display:none;
  position:relative;
  margin:8px 0 54px;
  overflow:hidden;
  background:#fff;
  border-top:1px solid #e9e9e9;
  border-bottom:1px solid #e9e9e9;
}
.buiyon-intro.is-ready{display:grid}

.buiyon-copy{
  grid-area:copy;
  position:relative;
  z-index:4;
  padding:38px 22px 32px;
  background:#fff;
}
.buiyon-eyebrow{
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:0 0 15px;
  color:#111;
  font-size:11.5px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.04em;
}
.buiyon-eyebrow:before{
  content:"";
  width:22px;
  height:3px;
  background:linear-gradient(90deg,#ef6670 0%,#ff7a72 100%);
  transform:none;
  border-radius:999px;
  flex:0 0 auto;
}
.buiyon-copy h2{
  position:relative;
  display:inline-block;
  margin:0 0 24px;
  color:#0b0b0b;
  font-size:43px;
  line-height:1;
  letter-spacing:-.065em;
  font-weight:900;
}
.buiyon-copy h2:after{
  content:"";
  position:absolute;
  left:0;
  right:auto;
  width:64px;
  bottom:-10px;
  height:4px;
  background:linear-gradient(90deg,#ef6670 0%,#ff7a72 100%);
  border-radius:999px;
  transform:none;
  transform-origin:left center;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.buiyon-lead{
  margin:0 0 9px;
  max-width:360px;
  font-size:16px;
  line-height:1.75;
  letter-spacing:-.02em;
  font-weight:900;
  color:#111;
}
.buiyon-body{
  margin:0;
  max-width:365px;
  font-size:12px;
  line-height:1.95;
  font-weight:600;
  color:#3f3f3f;
}
.buiyon-quote{
  position:relative;
  width:max-content;
  max-width:100%;
  margin-top:24px;
  padding:0 2px 8px;
  color:#111;
  background:transparent;
  font-family:"Bradley Hand","Marker Felt","Comic Sans MS","Noto Sans JP",sans-serif;
  font-size:18px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.01em;
  transform:rotate(-2deg);
}
.buiyon-quote:after{
  content:"";
  position:absolute;
  left:2px;
  right:auto;
  width:48px;
  bottom:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#ef6670 0%,#ff7a72 100%);
  transform:none;
  opacity:1;
}

.buiyon-visual{
  grid-area:visual;
  position:relative;
  min-height:350px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  background:#f8f6f0;
  border-top:1px solid #eee;
}
.buiyon-visual:before{
  content:"";
  position:absolute;
  width:310px;
  height:310px;
  left:50%;
  bottom:-140px;
  border-radius:50%;
  background:#ef6670;
  transform:translateX(-50%);
  opacity:.18;
}
.buiyon-visual:after{
  content:"";
  position:absolute;
  width:145px;
  height:15px;
  left:50%;
  bottom:24px;
  border-radius:50%;
  background:rgba(0,0,0,.10);
  filter:blur(4px);
  transform:translateX(-50%);
}
.buiyon-visual img{
  position:relative;
  z-index:2;
  width:min(71%,282px);
  height:auto;
  margin-bottom:20px;
  transform-origin:50% 82%;
  animation:buiyonFloat 4.8s ease-in-out infinite;
}
.buiyon-orbit{
  position:absolute;
  z-index:1;
  right:-20px;
  top:-24px;
  font-family:Montserrat,sans-serif;
  font-size:142px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.09em;
  color:rgba(11,11,11,.055);
  pointer-events:none;
}
.buiyon-float-note{
  position:absolute;
  z-index:3;
  right:18px;
  bottom:24px;
  font-family:Montserrat,sans-serif;
  font-size:8px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.09em;
  color:#0057ff;
  transform:rotate(5deg);
}
.buiyon-float-note:before{
  content:"";
  display:block;
  width:22px;
  height:3px;
  margin:0 0 5px auto;
  background:linear-gradient(90deg,#ef6670 0%,#ff7a72 100%);
  border-radius:999px;
  transform:none;
}

@keyframes buiyonFloat{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-6px) rotate(1.5deg)}
}

@media(min-width:760px){
  .buiyon-intro{
    grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);
    grid-template-areas:"visual copy";
    align-items:stretch;
    margin:20px 0 64px;
  }
  .buiyon-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:48px 42px;
  }
  .buiyon-visual{
    min-height:430px;
    border-top:0;
    border-right:1px solid #eee;
  }
  .buiyon-visual img{
    width:min(72%,340px);
    margin-bottom:28px;
  }
  .buiyon-orbit{font-size:170px;right:-12px}
}

@media(min-width:1024px){
  .buiyon-intro{
    width:min(1180px,calc(100% - 64px));
    margin:88px auto 94px;
    border:1px solid #e8e8e8;
  }
  .buiyon-copy{padding:70px 68px}
  .buiyon-eyebrow{font-size:10px;margin-bottom:20px}
  .buiyon-copy h2{font-size:62px;margin-bottom:30px}
  .buiyon-lead{font-size:21px;max-width:520px}
  .buiyon-body{font-size:14px;max-width:520px}
  .buiyon-quote{font-size:23px;margin-top:30px}
  .buiyon-visual{min-height:520px}
  .buiyon-visual img{width:min(68%,405px);margin-bottom:38px}
  .buiyon-orbit{font-size:210px;right:6px;top:-30px}
  .buiyon-float-note{right:28px;bottom:30px;font-size:9px}
}

@media(max-width:759px){
  .buiyon-intro{grid-template-areas:"copy" "visual"}
}

@media(prefers-reduced-motion:reduce){
  .buiyon-visual img{animation:none}
}


/* Home → character page */
.buiyon-more{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin-top:23px;
  padding:0 0 7px;
  border-bottom:2px solid #111;
  color:#111;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  transition:transform .18s ease,border-color .18s ease,color .18s ease;
}
.buiyon-more:hover{color:#0057ff;border-color:#0057ff;transform:translateX(3px)}
@media(min-width:1024px){.buiyon-more{font-size:13px;margin-top:27px}}

/* Buiyon character page — AIYON visual language: white space, bold type, blue/coral brushwork, photos and motion */
.buiyon-page{
  --buiyon-blue:#0057ff;
  --buiyon-coral:#ef6670;
  --buiyon-mint:#5ed7b6;
  --buiyon-cream:#fff7e8;
  --buiyon-ink:#111;
  --buiyon-paper:#fff;
  background:#fff;
  color:var(--buiyon-ink);
  overflow:hidden;
}
.buiyon-page img{display:block;width:100%}

.buiyon-reveal{
  opacity:0;
  transform:translateY(26px) rotate(.35deg);
  transition:opacity .72s ease,transform .78s cubic-bezier(.2,.75,.2,1);
}
.buiyon-reveal.is-visible{opacity:1;transform:none}

.buiyon-page-hero{
  position:relative;
  display:grid;
  min-height:700px;
  background:#fff;
  overflow:hidden;
  border-bottom:1px solid #ececec;
}
.buiyon-page-hero-copy{
  position:relative;
  z-index:4;
  padding:58px 22px 40px;
  background:#fff;
}
.buiyon-page-kicker,
.buiyon-section-head>span{
  display:block;
  font-family:Montserrat,sans-serif;
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.17em;
}
.buiyon-page-kicker{
  color:#111;
  margin-bottom:13px;
  font-family:"Noto Sans JP",sans-serif;
  font-size:11px;
  line-height:1.35;
  letter-spacing:.05em;
}

.buiyon-page-name{
  display:flex;
  align-items:baseline;
  gap:10px;
  width:max-content;
  max-width:100%;
  margin:0 0 27px;
  font-size:32px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.055em;
  color:#111;
}
.buiyon-page-name span{
  font-family:Montserrat,sans-serif;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.12em;
  color:#666;
}

.buiyon-page-kicker:before{
  content:"";
  display:inline-block;
  width:28px;height:3px;
  margin:0 9px 2px 0;
  background:var(--buiyon-coral);
  transform:rotate(-7deg);
  border-radius:999px;
}
.buiyon-page-hero h1{
  position:relative;
  margin:0;
  max-width:410px;
  font-size:42px;
  line-height:1.12;
  letter-spacing:-.06em;
  font-weight:900;
}
.buiyon-page-hero h1:after{
  content:"";
  position:absolute;
  width:132px;height:8px;
  left:14px;bottom:-15px;
  border-radius:99px;
  background:var(--buiyon-coral);
  transform:rotate(-6deg);
}
.buiyon-page-hero-copy>p{
  max-width:365px;
  margin:36px 0 0;
  font-size:13px;
  line-height:1.95;
  font-weight:700;
  color:#4a4a4a;
}
.buiyon-page-sign{
  position:relative;
  width:max-content;
  margin-top:25px;
  padding-bottom:7px;
  font-family:"Bradley Hand","Marker Felt","Comic Sans MS","Noto Sans JP",sans-serif;
  font-size:19px;
  font-weight:800;
  transform:rotate(-2deg);
}
.buiyon-page-sign:after{
  content:"";
  position:absolute;
  left:5px;right:-8px;bottom:0;height:5px;
  background:var(--buiyon-blue);
  border-radius:99px;
  transform:rotate(-2deg);
}
.buiyon-hero-handnote{
  position:absolute;
  right:20px;
  bottom:26px;
  font-family:"Bradley Hand","Marker Felt","Comic Sans MS","Noto Sans JP",sans-serif;
  font-size:15px;
  line-height:1.25;
  font-weight:900;
  color:#111;
  transform:rotate(5deg);
  opacity:.88;
}
.buiyon-hero-handnote:after{
  content:"♡";
  display:block;
  margin-top:3px;
  color:var(--buiyon-coral);
  font-size:27px;
}

.buiyon-page-hero-art{
  --buiyon-y:0px;
  --buiyon-r:0deg;
  position:relative;
  min-height:365px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background:var(--buiyon-cream);
  overflow:hidden;
  transform:translateY(var(--buiyon-y)) rotate(var(--buiyon-r));
  transition:transform .18s linear;
}
.buiyon-page-hero-art:before{
  content:"";
  position:absolute;
  width:390px;height:390px;
  left:50%;bottom:-188px;
  border-radius:50%;
  background:var(--buiyon-coral);
  transform:translateX(-50%);
  opacity:.20;
}
.buiyon-page-hero-art img{
  position:relative;
  z-index:3;
  width:min(72%,300px);
  height:auto;
  margin-bottom:22px;
  transform-origin:50% 82%;
  animation:buiyonFloat 4.8s ease-in-out infinite;
}
.buiyon-page-04{
  position:absolute;
  z-index:1;
  right:-26px;top:-24px;
  font-family:Montserrat,sans-serif;
  font-size:158px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.09em;
  color:rgba(0,87,255,.08);
}
.buiyon-page-hero-art small{
  position:absolute;
  z-index:4;
  right:17px;bottom:22px;
  color:var(--buiyon-blue);
  font-family:Montserrat,sans-serif;
  font-size:8px;
  line-height:1.45;
  font-weight:900;
  letter-spacing:.09em;
  transform:rotate(5deg);
}
.buiyon-brush{
  position:absolute;
  z-index:2;
  width:115px;height:12px;
  border-radius:99px;
  opacity:.9;
  filter:saturate(1.1);
}
.buiyon-brush:after{
  content:"";
  position:absolute;
  width:78%;height:8px;
  left:12px;top:10px;
  border-radius:99px;
  background:inherit;
  transform:rotate(-4deg);
}
.brush-blue{
  left:-22px;top:28px;
  background:var(--buiyon-blue);
  transform:rotate(-12deg);
  animation:buiyonBrushDrift 5.5s ease-in-out infinite;
}
.brush-coral{
  right:-22px;bottom:88px;
  background:var(--buiyon-coral);
  transform:rotate(9deg);
  animation:buiyonBrushDrift 6.3s ease-in-out infinite reverse;
}
@keyframes buiyonBrushDrift{
  0%,100%{translate:0 0}
  50%{translate:6px -5px}
}

.buiyon-ticker{
  overflow:hidden;
  border-bottom:1px solid #eaeaea;
  background:#fff;
  white-space:nowrap;
}
.buiyon-ticker>div{
  display:inline-flex;
  align-items:center;
  gap:18px;
  min-width:max-content;
  padding:12px 0;
  animation:buiyonTicker 24s linear infinite;
}
.buiyon-ticker span{
  font-family:Montserrat,sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
}
.buiyon-ticker i{
  font-style:normal;
  font-size:13px;
  font-weight:900;
  color:var(--buiyon-coral);
}
.buiyon-ticker i:nth-of-type(even){color:var(--buiyon-blue)}
@keyframes buiyonTicker{to{transform:translateX(-50%)}}

.buiyon-page-section{
  width:min(1120px,100%);
  margin:0 auto;
  padding:66px 22px;
}
.buiyon-section-head{
  position:relative;
  max-width:700px;
  margin-bottom:35px;
}
.buiyon-section-head>span{
  color:var(--buiyon-blue);
  margin-bottom:12px;
}
.buiyon-section-head h2{
  margin:0;
  font-size:33px;
  line-height:1.16;
  letter-spacing:-.055em;
  font-weight:900;
}
.buiyon-section-head h2:after{
  content:"";
  display:block;
  width:72px;height:6px;
  margin-top:12px;
  border-radius:99px;
  background:var(--buiyon-coral);
  transform:rotate(-4deg);
}
.buiyon-section-head>p{
  margin:17px 0 0;
  font-size:13px;
  line-height:1.95;
  font-weight:600;
  color:#555;
}

.buiyon-story-grid{display:grid;gap:30px}
.buiyon-story-copy{display:grid;gap:0}
.buiyon-story-copy p{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:8px;
  margin:0;
  padding:18px 0;
  border-top:1px solid #e8e8e8;
  font-size:13px;
  line-height:1.85;
  font-weight:700;
}
.buiyon-story-copy p:last-child{border-bottom:1px solid #e8e8e8}
.buiyon-story-copy b{
  font-family:Montserrat,sans-serif;
  color:var(--buiyon-coral);
  font-size:10px;
  letter-spacing:.08em;
}
.buiyon-polaroid{
  --buiyon-y:0px;
  --buiyon-r:0deg;
  --hover-x:0deg;
  --hover-y:0deg;
  position:relative;
  margin:0;
  padding:9px 9px 30px;
  background:#fff;
  box-shadow:0 16px 38px rgba(32,39,54,.13);
  transform:translateY(var(--buiyon-y)) rotate(calc(-2deg + var(--buiyon-r))) rotateX(var(--hover-y)) rotateY(var(--hover-x));
  transform-style:preserve-3d;
  transition:transform .22s ease,box-shadow .22s ease;
}
.buiyon-polaroid:hover{box-shadow:0 22px 46px rgba(32,39,54,.18)}
.buiyon-polaroid img{aspect-ratio:4/5;object-fit:cover}
.buiyon-polaroid figcaption{
  margin:10px 5px 0;
  font-family:"Bradley Hand","Marker Felt","Comic Sans MS","Noto Sans JP",sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  color:#222;
}
.buiyon-photo-note{
  position:absolute;
  right:-8px;
  bottom:52px;
  padding:8px 10px;
  background:var(--buiyon-cream);
  color:#111;
  font-family:"Bradley Hand","Marker Felt","Comic Sans MS","Noto Sans JP",sans-serif;
  font-size:15px;
  line-height:1.15;
  font-weight:900;
  transform:rotate(7deg);
  box-shadow:0 7px 18px rgba(0,0,0,.08);
}
.buiyon-photo-note:after{
  content:"♡";
  color:var(--buiyon-coral);
  margin-left:4px;
}

.buiyon-name-section{
  position:relative;
  background:var(--buiyon-cream);
  color:#111;
  overflow:hidden;
  border-top:1px solid #eee3cf;
  border-bottom:1px solid #eee3cf;
}
.buiyon-name-section:before,
.buiyon-name-section:after{
  content:"";
  position:absolute;
  width:150px;height:14px;
  border-radius:99px;
}
.buiyon-name-section:before{
  left:-35px;top:28px;
  background:var(--buiyon-blue);
  transform:rotate(-10deg);
}
.buiyon-name-section:after{
  right:-34px;bottom:40px;
  background:var(--buiyon-coral);
  transform:rotate(8deg);
}
.buiyon-name-grid{
  display:grid;
  gap:10px;
}
.buiyon-name-grid article{
  position:relative;
  min-height:116px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px;
  background:#fff;
  border:1px solid #ece7dd;
  overflow:hidden;
}
.buiyon-name-grid article:nth-child(1){transform:rotate(-1deg)}
.buiyon-name-grid article:nth-child(2){transform:rotate(.8deg)}
.buiyon-name-grid article:nth-child(3){transform:rotate(-.6deg)}
.buiyon-name-grid strong{
  font-family:Montserrat,sans-serif;
  font-size:27px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.03em;
}
.buiyon-name-grid article:nth-child(1) strong{color:var(--buiyon-coral)}
.buiyon-name-grid article:nth-child(2) strong{color:var(--buiyon-blue)}
.buiyon-name-grid article:nth-child(3) strong{color:#17a884}
.buiyon-name-grid span{
  font-size:11px;
  line-height:1.5;
  color:#444;
  font-weight:800;
}
.buiyon-name-hand{
  position:relative;
  z-index:2;
  width:max-content;
  max-width:100%;
  margin:26px 0 0 auto;
  font-family:"Bradley Hand","Marker Felt","Comic Sans MS","Noto Sans JP",sans-serif;
  font-size:14px;
  line-height:1.3;
  font-weight:900;
  transform:rotate(-3deg);
}
.buiyon-name-hand:after{
  content:"";
  display:block;
  width:80px;height:5px;
  margin:4px 0 0 auto;
  border-radius:99px;
  background:var(--buiyon-coral);
  transform:rotate(-4deg);
}

.buiyon-profile-wrap{display:grid;gap:26px}
.buiyon-profile-art{
  --buiyon-y:0px;
  --buiyon-r:0deg;
  position:relative;
  min-height:340px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  background:#f7f7f5;
  border:1px solid #ededeb;
  transform:translateY(var(--buiyon-y)) rotate(var(--buiyon-r));
  transition:transform .18s linear;
}
.buiyon-profile-art:after{
  content:"04";
  position:absolute;right:-8px;top:-10px;
  font:900 120px/1 Montserrat,sans-serif;
  letter-spacing:-.09em;
  color:rgba(0,87,255,.055);
}
.buiyon-profile-art img{
  position:relative;z-index:2;
  width:min(75%,280px);
  height:auto;
  margin-bottom:18px;
}
.buiyon-mini-sticker{
  position:absolute;
  z-index:4;
  padding:8px 10px;
  background:#fff;
  border:1px solid #eee;
  box-shadow:0 7px 18px rgba(0,0,0,.08);
  font-family:"Bradley Hand","Marker Felt","Comic Sans MS","Noto Sans JP",sans-serif;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
}
.sticker-a{left:12px;top:22px;transform:rotate(-8deg)}
.sticker-b{
  right:13px;bottom:18px;
  color:#fff;
  background:var(--buiyon-blue);
  border:0;
  font-family:Montserrat,sans-serif;
  font-size:16px;
  transform:rotate(7deg);
}
.buiyon-profile dl{margin:0;border-top:3px solid #111}
.buiyon-profile dl>div{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:12px;
  padding:15px 0;
  border-bottom:1px solid #dedede;
}
.buiyon-profile dt{
  font-size:10px;
  font-weight:900;
  color:var(--buiyon-blue);
}
.buiyon-profile dd{
  margin:0;
  font-size:13px;
  line-height:1.55;
  font-weight:800;
}

.buiyon-habits{padding-top:30px}
.buiyon-habit-grid{display:grid;gap:11px}
.buiyon-habit-grid article{
  --hover-x:0deg;
  --hover-y:0deg;
  position:relative;
  min-height:330px;
  padding:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid #ececec;
  box-shadow:0 8px 24px rgba(30,36,50,.055);
  transform:rotateX(var(--hover-y)) rotateY(var(--hover-x));
  transform-style:preserve-3d;
  transition:transform .2s ease,box-shadow .2s ease;
}
.buiyon-habit-grid article:nth-child(1){rotate:-.7deg}
.buiyon-habit-grid article:nth-child(2){rotate:.6deg}
.buiyon-habit-grid article:nth-child(3){rotate:-.35deg}
.buiyon-habit-grid article:hover{box-shadow:0 16px 34px rgba(30,36,50,.11)}
.buiyon-habit-grid img{
  width:72%;
  max-width:260px;
  height:215px;
  margin:0 auto;
  object-fit:contain;
}
.buiyon-habit-grid article>span{
  display:block;
  margin-top:5px;
  color:var(--buiyon-coral);
  font-family:Montserrat,sans-serif;
  font-size:9px;
  font-weight:900;
}
.buiyon-habit-grid p{
  margin:7px 0 0;
  font-size:12px;
  line-height:1.7;
  font-weight:800;
}
.buiyon-habit-grid article:after{
  content:"";
  position:absolute;
  width:70px;height:5px;
  right:14px;bottom:18px;
  border-radius:99px;
  background:var(--buiyon-blue);
  transform:rotate(-7deg);
  opacity:.9;
}
.buiyon-habit-grid article:nth-child(2):after{background:var(--buiyon-coral)}
.buiyon-habit-grid article:nth-child(3):after{background:var(--buiyon-mint)}

.buiyon-days{
  position:relative;
  background:#f8f6f0;
  color:#111;
  border-top:1px solid #ece9e1;
  border-bottom:1px solid #ece9e1;
  overflow:hidden;
}
.buiyon-days:before{
  content:"";
  position:absolute;
  width:170px;height:15px;
  left:-35px;bottom:44px;
  border-radius:99px;
  background:var(--buiyon-blue);
  transform:rotate(-10deg);
}
.buiyon-days:after{
  content:"";
  position:absolute;
  width:140px;height:13px;
  right:-28px;top:52px;
  border-radius:99px;
  background:var(--buiyon-coral);
  transform:rotate(8deg);
}
.buiyon-days .buiyon-page-section{padding-top:64px;padding-bottom:72px}
.buiyon-days .buiyon-section-head>span{color:var(--buiyon-blue)}
.buiyon-days .buiyon-section-head>p{color:#555}
.buiyon-days-grid{display:grid;gap:22px}
.buiyon-days-grid .day-a{transform:rotate(-2deg)}
.buiyon-days-grid .day-b{transform:rotate(2deg)}
.buiyon-days-grid img{aspect-ratio:4/5;object-fit:cover}
.buiyon-days-hand{
  position:relative;
  z-index:2;
  width:max-content;
  max-width:100%;
  margin:30px 0 0 auto;
  font-family:"Bradley Hand","Marker Felt","Comic Sans MS","Noto Sans JP",sans-serif;
  font-size:22px;
  line-height:1.15;
  font-weight:900;
  transform:rotate(-5deg);
}
.buiyon-days-hand:after{
  content:"♡";
  display:inline-block;
  margin-left:8px;
  color:var(--buiyon-coral);
  font-size:28px;
}

.buiyon-page-closing{
  position:relative;
  display:grid;
  gap:28px;
  padding:58px 22px 68px;
  background:#fff;
}
.buiyon-closing-art{
  --buiyon-y:0px;
  --buiyon-r:0deg;
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:250px;
  transform:translateY(var(--buiyon-y)) rotate(var(--buiyon-r));
  transition:transform .18s linear;
}
.buiyon-closing-art img{width:min(65%,240px);height:auto;object-fit:contain}
.buiyon-closing-art>span{
  position:absolute;
  right:18%;top:13%;
  color:var(--buiyon-coral);
  font-family:"Bradley Hand","Marker Felt","Comic Sans MS",sans-serif;
  font-size:42px;
  transform:rotate(10deg);
  animation:buiyonHeartPop 2.8s ease-in-out infinite;
}
@keyframes buiyonHeartPop{
  0%,100%{transform:rotate(10deg) scale(1)}
  50%{transform:rotate(6deg) scale(1.12)}
}
.buiyon-page-closing small{
  font-family:Montserrat,sans-serif;
  color:var(--buiyon-blue);
  font-size:8px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.13em;
}
.buiyon-page-closing h2{
  position:relative;
  width:max-content;
  max-width:100%;
  margin:10px 0 18px;
  font-size:37px;
  line-height:1;
  letter-spacing:-.06em;
  font-weight:900;
}
.buiyon-page-closing h2:after{
  content:"";
  position:absolute;
  left:28%;right:-9px;bottom:-9px;
  height:6px;border-radius:999px;
  background:var(--buiyon-coral);
  transform:rotate(-5deg);
}
.buiyon-page-closing p{
  max-width:500px;
  margin:0;
  font-size:13px;
  line-height:1.9;
  font-weight:700;
}
.buiyon-closing-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:25px;
}
.buiyon-closing-actions a{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--buiyon-blue);
  color:#fff;
  font-size:11px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(0,87,255,.16);
  transition:transform .18s ease,box-shadow .18s ease;
}
.buiyon-closing-actions a:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,87,255,.22)}
.buiyon-closing-actions a:last-child{
  background:#fff;
  color:#111;
  border:1px solid #dcdcdc;
  box-shadow:none;
}

@media(min-width:760px){
  .buiyon-page-hero{
    grid-template-columns:1.05fr .95fr;
    min-height:610px;
  }
  .buiyon-page-hero-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:70px 52px;
  }
  .buiyon-page-hero-art{min-height:610px}
  .buiyon-story-grid{grid-template-columns:1fr .9fr;align-items:start}
  .buiyon-profile-wrap{grid-template-columns:.9fr 1.1fr;align-items:center}
  .buiyon-habit-grid{grid-template-columns:repeat(3,1fr)}
  .buiyon-days-grid{grid-template-columns:1.15fr .85fr;align-items:start}
  .buiyon-page-closing{grid-template-columns:.8fr 1.2fr;align-items:center;padding:74px max(34px,calc((100vw - 1120px)/2))}
}
@media(min-width:1024px){
  .buiyon-page-hero h1{font-size:67px;max-width:660px}
  .buiyon-page-hero-copy>p{font-size:15px;max-width:500px}
  .buiyon-page-sign{font-size:25px}
  .buiyon-hero-handnote{right:42px;bottom:42px;font-size:18px}
  .buiyon-page-hero-art img{width:min(66%,430px);margin-bottom:38px}
  .buiyon-page-04{font-size:230px;right:-16px;top:-40px}
  .buiyon-page-section{padding:96px 32px}
  .buiyon-section-head{margin-bottom:48px}
  .buiyon-section-head h2{font-size:48px}
  .buiyon-section-head>p{font-size:15px}
  .buiyon-story-copy p{font-size:15px;padding:22px 0}
  .buiyon-name-grid{grid-template-columns:repeat(3,1fr)}
  .buiyon-name-grid article{min-height:180px;padding:28px}
  .buiyon-name-grid strong{font-size:34px}
  .buiyon-name-grid span{font-size:12px}
  .buiyon-profile-art{min-height:480px}
  .buiyon-profile-art img{width:min(72%,370px);margin-bottom:28px}
  .buiyon-profile dl>div{grid-template-columns:120px 1fr;padding:20px 0}
  .buiyon-profile dt{font-size:11px}
  .buiyon-profile dd{font-size:15px}
  .buiyon-habit-grid article{min-height:400px;padding:24px}
  .buiyon-habit-grid img{height:285px;max-width:310px}
  .buiyon-habit-grid p{font-size:14px}
  .buiyon-days-grid img{aspect-ratio:16/12}
  .buiyon-days-hand{font-size:30px}
  .buiyon-page-closing h2{font-size:55px}
  .buiyon-page-closing p{font-size:15px}
  .buiyon-closing-actions{max-width:470px}
  .buiyon-closing-actions a{min-height:54px;font-size:13px}
}
@media(max-width:759px){
  .buiyon-hero-handnote{font-size:13px;right:14px;bottom:18px}
  .buiyon-page-hero h1{max-width:340px}
  .buiyon-name-hand{font-size:12px}
  .buiyon-days-hand{font-size:19px}
}
@media(prefers-reduced-motion:reduce){
  .buiyon-reveal{opacity:1;transform:none;transition:none}
  .buiyon-page-hero-art img{animation:none}
  .buiyon-brush,.buiyon-ticker>div,.buiyon-closing-art>span{animation:none}
  [data-buiyon-parallax]{transform:none!important}
}


/* 2026-09-23 compact Buiyon page */
.buiyon-page-compact .buiyon-page-section{padding-top:58px;padding-bottom:58px}
.buiyon-profile-compact{
  position:relative;
  overflow:hidden;
}
.buiyon-profile-cards{
  display:grid;
  gap:10px;
}
.buiyon-profile-cards article{
  position:relative;
  min-height:105px;
  padding:18px 18px 16px;
  border:1px solid #ececec;
  background:#fff;
  overflow:hidden;
}
.buiyon-profile-cards article:nth-child(1){transform:rotate(-.5deg)}
.buiyon-profile-cards article:nth-child(2){transform:rotate(.4deg)}
.buiyon-profile-cards article:nth-child(3){transform:rotate(-.25deg)}
.buiyon-profile-cards article:nth-child(4){transform:rotate(.35deg)}
.buiyon-profile-cards article:after{
  content:"";
  position:absolute;
  width:70px;height:6px;
  right:14px;bottom:14px;
  border-radius:99px;
  background:var(--buiyon-coral);
  transform:rotate(-6deg);
  opacity:.9;
}
.buiyon-profile-cards article:nth-child(2):after{background:var(--buiyon-blue)}
.buiyon-profile-cards article:nth-child(3):after{background:var(--buiyon-mint)}
.buiyon-profile-cards article:nth-child(4):after{background:#f2c14e}
.buiyon-profile-cards small{
  display:block;
  margin-bottom:10px;
  color:var(--buiyon-blue);
  font-size:9px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.08em;
}
.buiyon-profile-cards strong{
  display:block;
  max-width:88%;
  font-size:15px;
  line-height:1.55;
  letter-spacing:-.02em;
}
.buiyon-profile-hand{
  width:max-content;
  margin:24px 0 0 auto;
  font-family:"Bradley Hand","Marker Felt","Comic Sans MS","Noto Sans JP",sans-serif;
  font-size:15px;
  line-height:1.12;
  font-weight:900;
  transform:rotate(-4deg);
}
.buiyon-profile-hand::after{
  content:"";
  display:block;
  width:78px;height:5px;
  margin:7px 0 0 auto;
  border-radius:99px;
  background:var(--buiyon-blue);
  transform:rotate(3deg);
}

.buiyon-page-closing-compact{
  display:block;
  padding-top:58px;
  padding-bottom:66px;
  background:#f8f6f0;
}
.buiyon-page-closing-compact>div{
  width:min(620px,100%);
  margin:0 auto;
}
.buiyon-page-closing-compact .buiyon-closing-actions{
  max-width:470px;
}

@media(min-width:760px){
  .buiyon-profile-cards{grid-template-columns:1fr 1fr}
}
@media(min-width:1024px){
  .buiyon-page-compact .buiyon-page-section{padding-top:76px;padding-bottom:76px}
  .buiyon-profile-cards{grid-template-columns:repeat(4,1fr)}
  .buiyon-profile-cards article{min-height:140px;padding:22px}
  .buiyon-profile-cards strong{font-size:17px}
  .buiyon-profile-hand{font-size:19px}
  .buiyon-page-closing-compact{padding-top:78px;padding-bottom:82px}
}


/* 2026-09-23 single-card compact profile */
.buiyon-profile-compact{
  padding-top:42px!important;
  padding-bottom:46px!important;
}
.buiyon-profile-head{margin-bottom:20px}
.buiyon-profile-head h2{font-size:30px}
.buiyon-profile-card{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  overflow:hidden;
  background:#fff;
  border:1px solid #e9e9e9;
  box-shadow:0 10px 28px rgba(30,36,50,.055);
}
.buiyon-profile-card>div{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:78px 1fr;
  align-items:start;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid #ececec;
}
.buiyon-profile-card>div:last-of-type{border-bottom:0}
.buiyon-profile-card small{
  display:block;
  padding-top:2px;
  color:var(--buiyon-blue);
  font-size:9px;
  line-height:1.25;
  font-weight:900;
  letter-spacing:.08em;
}
.buiyon-profile-card strong{
  display:block;
  max-width:92%;
  font-size:13px;
  line-height:1.55;
  letter-spacing:-.015em;
}
.buiyon-profile-card>div:nth-child(1) small{color:var(--buiyon-coral)}
.buiyon-profile-card>div:nth-child(3) small{color:#17a884}
.buiyon-profile-card>div:nth-child(4) small{color:#b98500}
.buiyon-profile-card-mark{
  position:absolute;
  right:-9px;
  bottom:-18px;
  z-index:1;
  font:900 88px/1 Montserrat,sans-serif;
  letter-spacing:-.08em;
  color:rgba(0,87,255,.045);
  pointer-events:none;
}
@media(min-width:760px){
  .buiyon-profile-compact{
    padding-top:54px!important;
    padding-bottom:58px!important;
  }
  .buiyon-profile-card{
    grid-template-columns:1fr 1fr;
  }
  .buiyon-profile-card>div{
    min-height:84px;
    grid-template-columns:90px 1fr;
    padding:17px 18px;
  }
  .buiyon-profile-card>div:nth-child(odd){border-right:1px solid #ececec}
  .buiyon-profile-card>div:nth-child(3){border-bottom:0}
  .buiyon-profile-card strong{font-size:14px}
}
@media(min-width:1024px){
  .buiyon-profile-compact{
    padding-top:62px!important;
    padding-bottom:64px!important;
  }
  .buiyon-profile-head{margin-bottom:24px}
  .buiyon-profile-head h2{font-size:42px}
  .buiyon-profile-card{
    max-width:900px;
  }
  .buiyon-profile-card>div{
    min-height:92px;
    grid-template-columns:105px 1fr;
    padding:20px 22px;
  }
  .buiyon-profile-card small{font-size:10px}
  .buiyon-profile-card strong{font-size:15px}
}


/* 2026-09-23 compact home Buiyon on mobile */
@media(max-width:759px){
  .buiyon-intro{
    grid-template-columns:42% 58%;
    grid-template-areas:"visual copy";
    align-items:stretch;
    margin:10px 16px 46px;
    border:1px solid #ececec;
    border-radius:18px;
    background:#f8f6f0;
    box-shadow:0 10px 28px rgba(30,36,50,.045);
  }
  .buiyon-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:22px 18px 22px 8px;
    background:transparent;
  }
  .buiyon-eyebrow{
    gap:6px;
    margin:0 0 9px;
    font-size:7px;
    line-height:1.25;
    letter-spacing:.11em;
  }
  .buiyon-eyebrow:before{
    width:17px;
    height:2px;
  }
  .buiyon-copy h2{
    margin:0 0 11px;
    font-size:29px;
    letter-spacing:-.065em;
  }
  .buiyon-copy h2:after{
    left:0;
    right:auto;
    width:44px;
    bottom:-5px;
    height:3px;
  }
  .buiyon-lead{
    margin:0 0 6px;
    max-width:none;
    font-size:11px;
    line-height:1.58;
  }
  .buiyon-body{
    max-width:none;
    font-size:9px;
    line-height:1.7;
    color:#555;
  }
  .buiyon-quote{
    margin-top:10px;
    padding:0 1px 5px;
    font-size:11px;
  }
  .buiyon-quote:after{
    left:2px;
    right:auto;
    width:40px;
    height:3px;
  }
  .buiyon-more{
    margin-top:13px;
    padding-bottom:5px;
    font-size:9px;
  }
  .buiyon-visual{
    min-height:270px;
    align-items:flex-end;
    justify-content:center;
    background:#f8f6f0;
    border-top:0;
    border-right:1px solid #ececec;
  }
  .buiyon-visual:before{
    width:190px;
    height:190px;
    left:50%;
    bottom:-90px;
    opacity:.15;
  }
  .buiyon-visual:after{
    width:76px;
    height:9px;
    bottom:28px;
    filter:blur(3px);
  }
  .buiyon-visual img{
    width:min(78%,145px);
    margin-bottom:29px;
  }
  .buiyon-orbit{
    right:-12px;
    top:7px;
    font-size:78px;
    color:rgba(0,87,255,.055);
  }
  .buiyon-float-note{
    left:10px;
    right:auto;
    bottom:10px;
    font-size:6px;
    line-height:1.25;
    transform:rotate(-4deg);
  }
  .buiyon-float-note:before{
    width:18px;
    height:2px;
    margin:0 0 4px 0;
  }
}
@media(max-width:390px){
  .buiyon-intro{
    grid-template-columns:40% 60%;
    margin-left:12px;
    margin-right:12px;
  }
  .buiyon-copy{padding-right:14px}
  .buiyon-body{font-size:8.5px}
  .buiyon-visual img{width:min(80%,132px)}
}

@media(min-width:1024px){
  .buiyon-page-name{font-size:43px;margin-bottom:32px}
  .buiyon-page-name span{font-size:12px}
  .buiyon-page-kicker{font-size:12px}
}


/* 2026-09-26: align the homepage Buiyon accent marks with the refined AIYON title-line system. */
