.hero-section{background-color:var(--kiyose-color-background);padding:var(--kiyose-spacing-2xl) var(--kiyose-spacing-md);position:relative}.hero-section__inner{align-items:center;display:flex;flex-direction:column;gap:var(--kiyose-spacing-xl);margin:0 auto;max-width:1200px;position:relative;z-index:1}@media (width >= 768px){.hero-section__inner{align-items:center;flex-direction:row;gap:var(--kiyose-spacing-2xl)}}.hero-section__image{flex-shrink:0;max-width:280px;width:100%}.hero-section__image img{border-radius:8px;box-shadow:0 8px 24px rgba(93,5,5,.15);height:auto;transform:rotate(-3deg);transition:transform var(--kiyose-transition-base);width:100%}@media (prefers-reduced-motion:no-preference){.hero-section__image img:hover{transform:rotate(0deg) scale(1.02)}}@media (width >= 768px){.hero-section__image{max-width:320px}}@media (width >= 1024px){.hero-section__image{max-width:380px}}.hero-section__content{flex:1;text-align:center}@media (width >= 768px){.hero-section--with-image .hero-section__content{text-align:left}}.hero-section__title{color:var(--kiyose-color-burgundy);font-family:var(--kiyose-font-heading);font-size:var(--kiyose-font-size-3xl);line-height:1.2;margin-bottom:var(--kiyose-spacing-lg)}.hero-section__subtitle{color:var(--kiyose-color-text);font-family:var(--kiyose-font-body);font-size:var(--kiyose-font-size-lg);line-height:1.6;margin-bottom:var(--kiyose-spacing-xl)}.hero-section__cta{align-items:center;border:2px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font-family:var(--kiyose-font-body);font-size:var(--kiyose-font-size-base);font-weight:600;justify-content:center;min-height:44px;min-width:44px;padding:var(--kiyose-spacing-md) var(--kiyose-spacing-xl);text-decoration:none;transition:all var(--kiyose-transition-base)}@media (width >= 768px){.hero-section{padding:var(--kiyose-spacing-3xl) var(--kiyose-spacing-xl)}.hero-section__title{font-size:var(--kiyose-font-size-4xl)}.hero-section__subtitle{font-size:var(--kiyose-font-size-xl)}}@media (width >= 1024px){.hero-section{padding:var(--kiyose-spacing-3xl) var(--kiyose-spacing-2xl)}}@media (prefers-reduced-motion:no-preference){.hero-section__cta:hover{transform:translateY(-2px)}.hero-section__cta:active{transform:translateY(0)}}