/* ---------- me ---------- */
.me{
   width:35px;
   height:Auto;
}


/* ---------- Profile ---------- */

.profile-box{
    max-width:700px;
    margin:60px auto 100px;
    padding:48px 40px;

    background:var(--cream-deep);
    border:1px dashed var(--stitch);
    border-radius:6px;

    text-align:center;
}

.about-title{
    display:block;

    margin-bottom:14px;

    text-align:center;

    font-family:'Cormorant Garamond', serif;
    font-style:italic;

    font-size:13px;
    letter-spacing:.28em;
    text-transform:uppercase;

    color:var(--magenta);

    opacity:.9;
}

.about-title::before,
.about-title::after{
    content:"";
    display:inline-block;

    width:40px;
    height:1px;

    background:var(--stitch);

    vertical-align:middle;
    margin:0 12px;
}

/* ---------- icon ---------- */

.profile-icon{
    width:180px;
    height:180px;

    object-fit:cover;
    object-position:center;

    border-radius:50%;

    border:3px solid var(--stitch);
    padding:8px;

    background:var(--cream);

    display:block;
    margin:0 auto 28px;

    box-shadow:0 10px 30px rgba(0,0,0,.35);
    
    cursor:pointer;
    transition:transform .25s ease, filter .25s ease;
}

.profile-icon:hover{
  transform:scale(1.05);
  filter:brightness(1.1);
}

/* ==========================
   プロフィール画像ポップアップ
========================== */

.profile-icon{
  cursor:zoom-in;
}

/* 画像とクレジットをまとめる */
.profile-modal-content{
  display:flex;
  flex-direction:column;
  align-items:center;

  max-width:90vw;

  animation:
    profile-popup
    .25s ease;
}

/* 背景 */
.profile-modal{
  position:fixed;
  inset:0;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:24px;

  background:rgba(5, 3, 4, .88);
  backdrop-filter:blur(7px);

  opacity:0;
  visibility:hidden;
  pointer-events:none;

  transition:
    opacity .25s ease,
    visibility .25s ease;

  z-index:9999;

  cursor:zoom-out;
}

/* 開いた状態 */
.profile-modal.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

/* ポップアップ画像 */

.profile-modal img{
  display:block;

  max-width:90vw;

  /* クレジットの分だけ少し高さを空ける */
  max-height:78vh;

  width:auto;
  height:auto;

  object-fit:contain;

  background:var(--cream-deep);

  border:1px solid var(--stitch);
  border-radius:8px;

  box-shadow:
    0 25px 80px
    rgba(0, 0, 0, .7);
}

/* クレジット */
.profile-credit{
  margin:12px 0 0;

  color:var(--cream-deep);

  font-family:
    "Cormorant Garamond",
    "Zen Old Mincho",
    serif;

  font-size:12px;

  font-style:italic;

  letter-spacing:.12em;

  text-align:center;

  opacity:.8;
}

/* 出現アニメーション */
@keyframes profile-popup{

  from{
    opacity:0;
    transform:scale(.92);
  }

  to{
    opacity:1;
    transform:scale(1);
  }

}

/* ---------- name ---------- */

.name{
    font-family:'Zen Old Mincho', serif;
    font-size:34px;
    color:var(--ink);
    letter-spacing:.08em;
    margin-bottom:0px;
}



/* ---------- bio ---------- */

.bio{
    max-width:520px;
    margin:0 auto 48px;

    text-align:center;
    line-height:2.1;

    color:var(--ink-soft);
    font-size:15px;
}

/* ---------- Contact ---------- */

.contact-box{
    text-align:left;

    background:rgba(255,255,255,.25);

    border:1px dashed var(--stitch);
    border-radius:4px;

    padding:28px;
}

.contact-box h2{
    text-align:center;

    margin-bottom:24px;

    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    letter-spacing:.12em;

    color:var(--magenta);
}

/* ---------- Contact list ---------- */

.contact-list{
    list-style:none;
    padding:0;
    margin:0;

    display:flex;
    flex-direction:column;
    gap:18px;
}

.contact-list li{
    display:flex;
    align-items:center;
    gap:14px;

    padding-bottom:12px;

    border-bottom:1px dashed var(--stitch);
}

.contact-list li:last-child{
    border-bottom:none;
    padding-bottom:0;
}

.icon{
    width:22px;
    height:22px;

    object-fit:contain;

    flex-shrink:0;
}

.contact-list a{
    color:var(--ink);
    transition:.25s;
}

.contact-list a:hover{
    color:var(--magenta);
}

/* ---------- Mobile ---------- */

@media (max-width:700px){

.profile-box{
    margin:30px 20px 80px;
    padding:32px 24px;
}

.profile-icon{
    width:140px;
    height:140px;
}

.name{
    font-size:28px;
}

.bio{
    font-size:14px;
    line-height:1.9;
}

.contact-box{
    padding:20px;
}

.contact-list li{
    font-size:13px;
}
}