.hero-section,.hero-section *{box-sizing:border-box}.hero-section{text-align:center;flex-direction:column-reverse;align-items:center;gap:32px;width:100%;max-width:1120px;margin:0 auto;padding:48px 24px 72px;display:flex}.hero-content{flex-direction:column;align-items:center;gap:20px;width:100%;min-width:0;display:flex}.section-tag{color:var(--accent-color);letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:600}.hero-title{letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-family:Sora,system-ui,sans-serif;font-size:clamp(32px,7vw,68px);font-weight:700;line-height:1.08}.hero-description{width:100%;max-width:520px;color:var(--muted-text);margin:0;font-size:clamp(16px,2.5vw,20px);line-height:1.5}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.btn{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-size:15px;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.btn:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px}.btn-primary{background:var(--text-color);color:var(--bg-color)}.btn-primary:hover{background:#333330}.btn-secondary{border-color:var(--text-color);color:var(--text-color)}.btn-secondary:hover{background:#efeee9}.hero-avatar{aspect-ratio:1;width:min(220px,65vw);color:var(--muted-text);letter-spacing:.08em;background:#efeee9;border:1px solid #d9d8d2;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;display:flex;overflow:hidden}.avatar-image{object-fit:cover;width:100%;height:100%;display:block}.avatar-placeholder{text-align:center;padding:12px}@media (width>=768px){.hero-section{text-align:left;flex-direction:row;justify-content:space-between;gap:48px;padding:96px 32px 128px}.hero-content{flex:auto;align-items:flex-start}.hero-actions{justify-content:flex-start}.hero-avatar{width:min(300px,32vw)}}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.cert-card{scroll-snap-align:start;flex-direction:column;flex:0 0 min(80vw,300px);gap:12px;margin:0;padding:12px;display:flex}.cert-img-placeholder{aspect-ratio:4/3;letter-spacing:.08em;width:100%;color:var(--muted-text);background:#efeee9;border:1px solid #d9d8d2;border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex}.cert-caption{flex-direction:column;gap:4px;padding:0 4px 4px;display:flex}.cert-name{font-family:Sora,system-ui,sans-serif;font-size:16px;font-weight:600}.cert-meta{color:var(--muted-text);font-size:13px}@media (width>=768px){.cert-card{flex:0 0 320px;padding:16px}}.contact-section{box-sizing:border-box;width:100%;padding-bottom:80px}.contact-grid{box-sizing:border-box;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;width:100%;margin-top:28px;display:grid}.contact-card-link{color:inherit;box-sizing:border-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:16px;outline:none;width:100%;text-decoration:none;display:flex}.contact-card{border:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);width:100%;color:var(--text-color,#111827);box-sizing:border-box;border-radius:16px;align-items:center;gap:16px;padding:20px 24px;transition:transform .25s cubic-bezier(.4,0,.2,1),border-color .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.contact-card-link:hover .contact-card,.contact-card-link:focus-visible .contact-card{border-color:var(--text-color,#111827);transform:translateY(-3px);box-shadow:0 8px 24px #0000000f}.contact-card-link:focus-visible{box-shadow:0 0 0 3px var(--focus-ring,#11182726)}.contact-card-link:active .contact-card{transform:scale(.98)}.contact-icon{width:24px;height:24px;color:var(--text-color,#111827);flex-shrink:0;transition:transform .25s}.contact-card-link:hover .contact-icon{transform:scale(1.1)}.contact-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.contact-label{color:var(--muted-text,#6b7280);font-size:12px;font-weight:500;line-height:1.2}.contact-value{color:var(--text-color,#111827);white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:15px;font-weight:600;line-height:1.4;display:block;overflow:hidden}@media (width<=768px){.contact-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}}@media (width<=640px){.contact-section{padding-bottom:48px}.contact-grid{grid-template-columns:1fr;gap:12px;margin-top:20px}.contact-card{padding:16px 20px}.contact-value{font-size:14px}@media (hover:none){.contact-card-link:hover .contact-card,.contact-card-link:hover .contact-icon{transform:none}}}