:root { --hwajin-red:#C62828; --hwajin-red-dark:#A52020; --hwajin-ink:#383838; --hwajin-muted:#686868; --apt-ink:#383838; --apt-line:#e8e5e2; --apt-gutter:20px; }
*,*::before,*::after { box-sizing:border-box; }
body { margin:0; }
body.home { --apt-ink:#383838; }
section[id] { scroll-margin-top:110px; }
body.home .hwajin-header { background:rgba(255,255,255,.72); }
.hwajin-brand__logo { width:clamp(176px,20vw,220px); height:74px; aspect-ratio:3/1; background-image:var(--hwajin-logo-image,url('../images/site/brand-logo.svg')); }
.hwajin-header__inner { min-height:90px; }
.hwajin-header a { text-shadow:none!important; }
body.home .hwajin-header .wp-block-navigation-item__content { color:#383838; }
.apt-hero { min-height:680px; height:100svh; background:#f4f1ed; }
.apt-hero::after { content:''; pointer-events:none; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.8) 31%,rgba(255,255,255,.08) 74%); }
.hwajin-hero-copy { position:absolute; z-index:2; left:max(40px,calc((100vw - 1360px)/2)); top:50%; transform:translateY(-36%); max-width:650px; padding-right:24px; }
.hwajin-hero-copy h1 { font-size:clamp(38px,4.4vw,68px); letter-spacing:-.055em; line-height:1.2; font-weight:700; margin:0 0 24px; color:#383838; }
.hwajin-hero-copy > p:not(.apt-kicker) { font-size:clamp(16px,1.4vw,20px); line-height:1.75; color:#4a4a4a; }
.hwajin-hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.hwajin-hero-actions .apt-button { margin-top:20px; }
.apt-button--outline { background:#fff; color:#C62828; }
.hwajin-slider-controls { position:absolute; z-index:3; bottom:28px; right:120px; display:flex; gap:15px; align-items:center; background:rgba(255,255,255,.94); padding:8px 14px; border-radius:30px; font-size:13px; }
.hwajin-slider-controls button { border:0; color:#383838; background:transparent; min-width:36px; min-height:36px; cursor:pointer; }
.mobile-break { display:none; }
.hwajin-soft-section { background:#faf8f6; }
.apt-intro { max-width:1180px; grid-template-columns:1fr 1fr; gap:clamp(32px,7vw,100px); }
.apt-intro__media { width:100%; aspect-ratio:4/3; }
.hwajin-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.hwajin-process-grid article { border-top:1px solid #d8cfcb; padding:24px 0; }
.hwajin-process-grid h3 { font-size:22px; letter-spacing:-.04em; }
.hwajin-process-grid p { color:#686868; line-height:1.8; }
.hwajin-step-label { color:#C62828; font-size:15px; font-weight:700; }
.hwajin-faq { margin-top:36px; }
.hwajin-faq details { border-top:1px solid #e6e1dd; padding:24px 0; }
.hwajin-faq summary { cursor:pointer; font-size:18px; font-weight:600; }
.hwajin-faq p { max-width:800px; color:#686868; line-height:1.8; }
.hwajin-project-tabs { flex-wrap:wrap; gap:10px 22px; }
.hwajin-project-tab { white-space:nowrap; }
.hwajin-project-card[hidden],.hwajin-project-empty[hidden] { display:none!important; }
.hwajin-project-empty { padding:32px 0; color:#686868; }
.hwajin-project-no-image { display:grid; place-items:center; height:100%; padding:20px; background:#f5f2ee; color:#686868; }
.apt-home .hwajin-project-card__image,.hwajin-project-archive .hwajin-project-card__image { aspect-ratio:4/3; border-radius:0; }
.hwajin-project-card__image img { object-fit:contain!important; background:#f5f2ee; }
.single-hwajin_project main.wp-block-group { padding-top:clamp(48px,6vw,80px)!important; }
.single-hwajin_project main > .wp-block-post-terms,.single-hwajin_project main > .wp-block-post-title { max-width:1180px!important; margin-left:0!important; margin-right:0!important; }
.single-hwajin_project main > .wp-block-post-terms { color:#C62828; font-size:14px!important; font-weight:700; }
.single-hwajin_project main > .wp-block-post-terms a { color:#C62828; text-decoration:none; }
.single-hwajin_project main > .wp-block-post-title { margin-top:12px!important; margin-bottom:36px!important; font-size:clamp(32px,4vw,52px)!important; line-height:1.25; letter-spacing:-.045em; }
.single-hwajin_project main > .wp-block-post-featured-image { max-width:1180px!important; margin:0 0 56px!important; background:#f7f5f2; }
.single-hwajin_project .wp-block-post-content figure img,.single-hwajin_project .wp-block-post-featured-image img { height:auto!important; width:100%; object-fit:contain; }
.single-hwajin_project main > .wp-block-post-featured-image img { display:block; max-height:640px; }
.single-hwajin_project .wp-block-post-content h2 { margin-top:64px; }
.single-hwajin_project .wp-block-post-content figure { margin:24px 0; }
.single-hwajin_project main { width:calc(100% - 40px); max-width:1180px; margin-inline:auto; }
.apt-footer { background:#faf8f6; color:#383838; border-top:1px solid #e7dfdb; }
.apt-footer__inner { max-width:1360px; grid-template-columns:minmax(250px,1.2fr) repeat(3,minmax(130px,1fr)); gap:40px; }
.hwajin-footer-brand { display:block; width:300px; max-width:100%; height:auto; }
.apt-footer__column h2 { color:#383838; }
.apt-footer__rule { background:#dfd7d3; }
.apt-footer__column a,.apt-footer__column p,.apt-footer__legal { color:#686868; }
.apt-footer__column a:hover,.apt-footer__legal a { color:#C62828; }
.apt-footer__legal { grid-column:1/-1; border-top:1px solid #dfd7d3; padding-top:30px; }
.apt-footer__legal a { margin-right:20px; }
.hwajin-floating { position:fixed; right:22px; bottom:24px; z-index:60; }
.hwajin-floating__phone { background:#C62828!important; color:white!important; border:1px solid #C62828!important; }
:focus-visible { outline:3px solid #C62828; outline-offset:5px; }
@media(min-width:760px) and (max-width:1099px) { .apt-footer__inner { grid-template-columns:1fr 1fr; } .apt-footer__brand { grid-column:1/-1; } }
@media(max-width:759px) {
 body.home .hwajin-header__inner,body:not(.home) .hwajin-header__inner { width:calc(100% - 40px)!important; margin-inline:20px!important; }
 .hwajin-header__inner { min-height:80px; }
 .hwajin-header .wp-block-navigation { margin-left:auto!important; }
 .apt-hero { min-height:740px; height:100svh; }
 .apt-hero .apt-hero-slider__slide img { height:48%; margin-top:80px; object-position:center bottom; }
 .apt-hero::after { background:linear-gradient(180deg,transparent 35%,rgba(255,255,255,.85) 51%,#fff 61%); }
 .hwajin-hero-copy { left:24px; right:12px; top:auto; bottom:112px; transform:none; padding:0; }
 .hwajin-hero-copy h1 { font-size:clamp(31px,8.5vw,42px); }
 .hwajin-hero-copy .apt-kicker { font-size:10px; letter-spacing:.12em; }
 .hwajin-hero-copy > p:not(.apt-kicker) { font-size:15px; }
 .hwajin-hero-actions { gap:10px; }
 .hwajin-hero-actions .apt-button { padding:0 15px; min-width:0; font-size:13px; margin-top:12px; min-height:48px; }
 .hwajin-slider-controls { left:24px; right:auto; bottom:36px; }
 .mobile-break { display:block; }
 .apt-section { padding-block:76px; }
 .apt-intro { grid-template-columns:1fr; gap:32px; }
 .hwajin-process-grid { grid-template-columns:1fr 1fr; gap:12px 20px; }
 .hwajin-process-grid h3 { font-size:18px; }
 .hwajin-process-grid p { font-size:14px; }
 .apt-footer__inner { grid-template-columns:1fr 1fr; width:calc(100% - 40px); }
 .apt-footer__brand,.apt-footer__legal { grid-column:1/-1; }
 .hwajin-footer-brand { width:300px; }
 .hwajin-project-tabs { overflow:visible; }
 .hwajin-project-archive .hwajin-project-tab { margin-right:0; }
 .hwajin-floating { right:14px; bottom:16px; }
 .single-hwajin_project main.wp-block-group { padding-top:40px!important; }
 .single-hwajin_project main > .wp-block-post-title { margin-bottom:28px!important; }
 .single-hwajin_project main > .wp-block-post-featured-image { margin-bottom:36px!important; }
 .single-hwajin_project main > .wp-block-post-featured-image img { max-height:480px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .apt-hero-slider__track { transition:none!important; } }
