.accordion{display:flex;flex-direction:column;border-top:2px solid var(--color-black)}.accordion__item{border-bottom:2px solid var(--color-black)}.accordion__item:last-child{border-bottom:none}.accordion__header{display:grid;grid-template-columns:minmax(140px,1fr) 2fr auto;align-items:center;gap:var(--space-lg);width:100%;padding:var(--space-md) 0;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:opacity .2s ease}.accordion__header:hover{opacity:.6}.accordion__label{font-size:clamp(1rem,.9rem + .5vw,1.25rem);font-weight:var(--font-weight-medium);letter-spacing:-.02em;color:var(--color-black)}.accordion__title{font-size:clamp(1rem,.9rem + .5vw,1.25rem);font-weight:var(--font-weight-regular);letter-spacing:-.02em;color:var(--color-gray-500)}.accordion__arrow{width:20px;height:20px;flex-shrink:0;transition:transform .4s cubic-bezier(.4,0,.2,1)}.accordion__checkbox{display:flex;align-items:center;cursor:pointer}.accordion__checkbox input{position:absolute;opacity:0;width:0;height:0}.accordion__check{width:20px;height:20px;border:2px solid var(--color-black);border-radius:2px;flex-shrink:0;position:relative;transition:background-color .2s ease,border-color .2s ease}.accordion__check:after{content:"";position:absolute;top:2px;left:6px;width:5px;height:10px;border:solid var(--color-white);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .2s ease}.accordion__checkbox input:checked+.accordion__check{background-color:var(--color-black);border-color:var(--color-black)}.accordion__checkbox input:checked+.accordion__check:after{transform:rotate(45deg) scale(1)}.accordion__checkbox:hover .accordion__check{border-color:var(--color-gray-500)}.accordion__item.is-open .accordion__arrow{transform:rotate(90deg)}.accordion__item.is-open .accordion__header:hover{opacity:1}.accordion__content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1)}.accordion__item.is-open .accordion__content{grid-template-rows:1fr}.accordion__inner{overflow:hidden;display:grid;grid-template-columns:minmax(140px,1fr) 2fr 20px;gap:var(--space-lg);padding-bottom:0;opacity:0;transform:translateY(-10px);transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1),padding-bottom .4s cubic-bezier(.4,0,.2,1)}.accordion__item.is-open .accordion__inner{padding-bottom:var(--space-xl);opacity:1;transform:translateY(0);transition-delay:.05s}.accordion__text{grid-column:1}.accordion__description{grid-column:2;font-family:var(--font-family-detail);font-size:.875rem;line-height:1.6;letter-spacing:0;color:var(--color-black)}.accordion__description p{margin:0}.accordion__profile-intro{margin-bottom:var(--space-lg)}.accordion__profile-title{font-size:1rem;font-weight:var(--font-weight-medium);letter-spacing:-.02em;margin:0 0 var(--space-sm) 0}.accordion__profile-email,.accordion__profile-social{display:block;font-size:.875rem;color:var(--color-black);text-decoration:underline;text-underline-offset:2px}.accordion__profile-email:hover,.accordion__profile-social:hover{text-decoration:none}.accordion__profile-section{margin-top:var(--space-lg)}.accordion__profile-section-title{font-size:.875rem;font-weight:var(--font-weight-medium);letter-spacing:-.02em;margin:0 0 var(--space-sm) 0;color:var(--color-black)}.accordion__profile-item{font-size:.8rem;line-height:1.4;margin-bottom:var(--space-sm)}.accordion__profile-item-title{display:block;font-weight:var(--font-weight-medium)}.accordion__profile-item-detail,.accordion__profile-item-year{display:block;color:var(--color-gray-500)}@media(max-width:768px){.accordion__header{grid-template-columns:1fr auto;gap:var(--space-md)}.accordion__label{grid-column:1}.accordion__title{grid-column:1;grid-row:2}.accordion__arrow{grid-column:2;grid-row:1 / span 2;align-self:center}.accordion__inner{grid-template-columns:1fr}.accordion__text,.accordion__description{grid-column:1}}@media(min-width:769px){.accordion__description{grid-column:2 / span 1}}@media(max-width:480px){.accordion__header{padding:var(--space-sm) 0}.accordion__label,.accordion__title{font-size:.9rem}.accordion__arrow{width:16px;height:16px}}
