/* ============================================================
   법무법인 해송 | 삼청교육대 피해보상
   /css/custom.css
   GNUboard 5.6.42 · Non-theme · Mobile-first (max 460px)
   Font Awesome 7.3.1: loaded separately from head.php
   ============================================================ */

/* 01. Google Fonts — @import must precede all other CSS rules */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+KR:100,300,400,500,700,900&display=swap&subset=korean');

/* 02. Design tokens — warm human palette */
:root {
    --color-primary: #30251f;
    --color-text: #40352f;
    --color-accent: #b47d4c;
    --color-accent-hover: #96643b;
    --color-sand: #e8d8c4;
    --color-bg: #faf7f2;
    --color-surface: #ffffff;
    --color-muted: #786e67;
    --color-border: #e5ddd4;
    --font-main: 'Poppins', 'Noto Sans KR', sans-serif;
    --font-size-base: 18px;
    --layout-width: 460px;
    --header-height: 82px;
    --space-page: 22px;
    --radius-sm: 6px;
    --radius-md: 12px;
    --transition-base: 200ms ease;
}

/* 03. Reset */
*, *::before, *::after { box-sizing: border-box; }
html { margin: 0; padding: 0; font-size: var(--font-size-base); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, ul, ol { margin: 0; }
body { padding: 0; min-height: 100vh; font-family: var(--font-main); font-size: 1rem; font-weight: 400; line-height: 1.7; color: var(--color-text); background: #eae6e0; overflow-wrap: break-word; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--color-accent-hover); }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
img { height: auto; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
button, input, select, textarea { max-width: 100%; }
button, input, textarea, select { border-radius: 0; }
button:disabled { cursor: not-allowed; }
textarea { resize: vertical; }
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
th { text-align: left; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
legend { padding: 0; }
hr { margin: 0; border: 0; border-top: 1px solid var(--color-border); }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
::selection { background: var(--color-sand); color: var(--color-primary); }

/* 04. Type scale — 18px body, consistent levels */
h1, h2, h3, h4, h5, h6 { font-family: var(--font-main); font-weight: 700; line-height: 1.35; letter-spacing: -0.035em; overflow-wrap: anywhere; }
h1 { font-size: 2rem; }
h2 { font-size: 1.65rem; }
h3 { font-size: 1.35rem; }
h4 { font-size: 1.15rem; }
h5, h6 { font-size: 1rem; }
small, .text-small { font-size: .85rem; }
strong, b { font-weight: 700; }

/* 05. Mobile-only canvas: 460px even on desktop */
#hd, #wrapper, #container, #ft, .site-shell {
    width: 100%;
    max-width: var(--layout-width);
    margin-left: auto;
    margin-right: auto;
}
.site-shell { min-height: 100vh; background: var(--color-bg); }
/* GNUboard templates may have preexisting widths/floats; override in page templates if needed. */
#hd, #wrapper, #container, #ft { min-width: 0; }
#container { background: var(--color-bg); }
.site-inner { width: 100%; padding-inline: var(--space-page); }
.site-section { padding-block: 64px; }
.site-section--sand { background: var(--color-sand); }
.site-section--white { background: var(--color-surface); }
.site-section--dark { background: var(--color-primary); color: #fff; }

/* 06. Shared buttons and media */
.site-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 20px; border: 1px solid var(--color-primary); border-radius: var(--radius-sm); background: var(--color-primary); color: #fff; font-weight: 500; line-height: 1.3; transition: background var(--transition-base), color var(--transition-base), border-color var(--transition-base); }
.site-btn:hover { background: var(--color-accent-hover); border-color: var(--color-accent-hover); color: #fff; }
.site-btn--outline { background: transparent; color: var(--color-primary); }
.site-btn--outline:hover { color: #fff; }
.site-media { width: 100%; height: auto; object-fit: cover; }

/* 07. Forms */
.site-input, .site-select, .site-textarea { display: block; width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface); }
.site-textarea { min-height: 120px; }
.site-input:focus, .site-select:focus, .site-textarea:focus { border-color: var(--color-accent); outline: 2px solid transparent; box-shadow: 0 0 0 2px rgba(180,125,76,.18); }

/* 08. Responsive adjustments */
@media (max-width: 360px) {
    :root { --space-page: 18px; }
    h1 { font-size: 1.85rem; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* 09. Haesong header / mobile navigation (head.php) */
#haesong-site { position: relative; }
.hs-skip-link { position: absolute; z-index: 1000; left: 12px; top: -100px; padding: 10px 16px; background: #fff; color: var(--color-primary); }
.hs-skip-link:focus { top: 10px; }
.hs-header { position: relative; z-index: 50; width: 100%; background: var(--color-bg); border-bottom: 1px solid var(--color-border); }
.hs-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: var(--header-height); padding: 10px var(--space-page); gap: 12px; }
.hs-brand { display: flex; flex-direction: column; justify-content: center; min-width: 0; line-height: 1.15; color: var(--color-primary); }
.hs-brand:hover { color: var(--color-primary); }
.hs-brand__eyebrow { font-family: 'Poppins', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: .24em; color: var(--color-accent); }
.hs-brand__name { margin-top: 5px; font-size: 20px; font-weight: 700; letter-spacing: -.055em; }
.hs-menu-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--color-border); border-radius: 50%; background: transparent; color: var(--color-primary); font-size: 19px; }
.hs-menu-toggle:hover { background: var(--color-sand); }
.hs-navigation { position: absolute; left: 0; right: 0; top: 100%; z-index: 60; padding: 14px var(--space-page) 20px; background: var(--color-bg); border-bottom: 1px solid var(--color-border); box-shadow: 0 14px 25px rgba(48,37,31,.12); }
.hs-navigation[hidden] { display: none !important; }
.hs-navigation__list { padding: 0; margin: 0; list-style: none; }
.hs-navigation__list li + li { border-top: 1px solid var(--color-border); }
.hs-navigation__list a { display: flex; align-items: center; justify-content: space-between; min-height: 60px; gap: 10px; padding: 14px 2px; color: var(--color-primary); font-size: 18px; font-weight: 500; }
.hs-navigation__list a[aria-current="page"] { color: var(--color-accent-hover); font-weight: 700; }
.hs-navigation__list a i { font-size: 14px; color: var(--color-accent); }
.hs-navigation__footer { padding-top: 18px; color: var(--color-muted); font-size: 10px; letter-spacing: .08em; }
.hs-main { width: 100%; min-width: 0; }

/* 10. Header identity: logo + firm + dedicated team + menu */
.hs-header__inner { gap: 10px; min-height: 82px; padding-block: 12px; }
.hs-brand { flex: 1 1 auto; flex-direction: row; align-items: center; justify-content: flex-start; gap: 11px; min-width: 0; }
.hs-brand__logo { position: relative; display: flex; flex: 0 0 50px; width: 50px; height: 50px; align-items: center; justify-content: center; overflow: hidden; border-radius: 6px; background: #e9dfd1; color: #8c6548; }
.hs-brand__logo img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; }
.hs-brand__logo > i { position: absolute; font-size: 24px; }
.hs-brand__logo--fallback > i { display: block; }
.hs-brand__text { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center; gap: 4px; min-width: 0; line-height: 1.35; }
.hs-brand__firm { font-size: 13px; font-weight: 500; color: var(--color-accent-hover); letter-spacing: -.035em; white-space: nowrap; }
.hs-brand__team { font-size: 17px; font-weight: 700; color: var(--color-primary); letter-spacing: -.065em; white-space: nowrap; }
.hs-menu-toggle { flex: 0 0 42px; width: 42px; height: 42px; border-radius: 6px; }
@media (max-width: 375px) {
    .hs-header__inner { gap: 8px; }
    .hs-brand { gap: 8px; }
    .hs-brand__logo { flex-basis: 42px; width: 42px; height: 42px; }
    .hs-brand__team { font-size: 15px; }
    .hs-brand__firm { font-size: 12px; }
    .hs-menu-toggle { flex-basis: 40px; width: 40px; height: 40px; }
}

/* 11. Site footer (tail.php) */
.hs-footer { width: 100%; background: var(--color-primary); color: #f8f2e9; }
.hs-footer__inner { padding: 48px var(--space-page) 28px; }
.hs-footer__eyebrow { display: block; margin-bottom: 9px; color: #d9b58d; font-family: 'Poppins',sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .16em; }
.hs-footer__title { margin: 0; color: #fffaf4; font-size: 24px; font-weight: 700; letter-spacing: -.05em; }
.hs-footer__team { margin-top: 6px; color: #e9d2bb; font-size: 17px; font-weight: 500; }
.hs-footer__nav { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: 30px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.hs-footer__nav a { color: #f8f2e9; font-size: 14px; font-weight: 500; }
.hs-footer__nav a:hover, .hs-footer__details a:hover, .hs-footer__bottom a:hover { color: #e6bd91; }
.hs-footer__details { display: grid; gap: 10px; margin-top: 26px; }
.hs-footer__details p { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 8px; align-items: start; font-size: 13px; line-height: 1.8; }
.hs-footer__label { color: #c8ab92; font-weight: 500; }
.hs-footer__details a { color: inherit; overflow-wrap: anywhere; }
.hs-footer__bottom { display: grid; gap: 9px; margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.16); color: #c8b9ab; font-size: 11px; line-height: 1.7; }
.hs-footer__bottom a { color: #e9d2bb; }
.hs-footer__bottom i { margin-left: 4px; font-size: 10px; }
@media (max-width: 360px) { .hs-footer__details p { grid-template-columns: 80px minmax(0,1fr); font-size: 12px; } }


/* 12. Main page: Samcheong compensation */
.hs-section {padding:68px var(--space-page);position:relative;}
.hs-section--cream {background:#faf7f2;}
.hs-section--white {background:#fff;}
.hs-section--sand {background:#f0e4d6;}
.hs-section--dark {background:#30251f;color:#f9f3ea;}
.hs-kicker {display:block;font-size:12px;font-weight:700;letter-spacing:.17em;color:#a16e44;margin-bottom:17px;}
.hs-section--dark .hs-kicker {color:#dfb98f;}
.hs-section-title {font-size:30px;line-height:1.4;letter-spacing:-.055em;margin-bottom:20px;}
.hs-lead {font-size:18px;line-height:1.85;color:#62554b;}
.hs-section--dark .hs-lead {color:#e2d5c8;}
.hs-link {display:inline-flex;align-items:center;gap:12px;margin-top:24px;font-size:16px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:8px;}
.hs-link i {font-size:14px;}
.hs-hero {position:relative;min-height:calc(100svh - 82px);min-height:max(660px,calc(100svh - 82px));display:flex;align-items:flex-end;overflow:hidden;background:#3a2c24;color:white;}
.hs-hero__media,.hs-hero__shade {position:absolute;inset:0;width:100%;height:100%;}
.hs-hero__media video,.hs-hero__media img {width:100%;height:100%;object-fit:cover;}
.hs-hero__shade {background:linear-gradient(180deg,rgba(27,19,14,.10),rgba(27,19,14,.38) 32%,rgba(22,16,12,.92) 100%);}
.hs-hero__content {position:relative;z-index:2;padding:70px var(--space-page) 55px;width:100%;}
.hs-hero__eyebrow {font-size:12px;font-weight:600;letter-spacing:.15em;color:#f1caa1;margin-bottom:19px;}
.hs-hero h1 {font-size:clamp(32px,8.2vw,43px);line-height:1.38;letter-spacing:-.07em;color:#fff;}
.hs-hero p {font-size:17px;line-height:1.85;color:#f1e9e1;margin-top:22px;}
.hs-hero__actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.hs-hero__actions a {display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:11px 17px;background:#faf7f2;color:#30251f;font-size:15px;font-weight:700;}
.hs-hero__actions a.hs-hero__ghost {background:transparent;color:white;border:1px solid rgba(255,255,255,.75);}
.hs-hero__video-toggle {position:absolute;z-index:3;right:var(--space-page);top:24px;width:42px;height:42px;border:1px solid #ffffff80;border-radius:50%;background:#1a130e66;color:white;}
.hs-statements {display:grid;gap:0;margin-top:34px;border-top:1px solid #d9cbbd;}
.hs-statement {display:flex;gap:16px;padding:21px 0;border-bottom:1px solid #d9cbbd;align-items:flex-start;}
.hs-statement i {color:#a16e44;font-size:22px;width:28px;margin-top:4px;}
.hs-statement strong {display:block;font-size:18px;margin-bottom:6px;}
.hs-statement p {font-size:15px;line-height:1.8;color:#65584e;}
.hs-visual {margin:28px 0 0;aspect-ratio:4/3;overflow:hidden;background:#d7c0a9;position:relative;}
.hs-visual img {width:100%;height:100%;object-fit:cover;}
.hs-visual__fallback {position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:24px;background:linear-gradient(140deg,#b18d6d,#3e3028);color:#fff;}
.hs-visual__fallback i {font-size:38px;}
.hs-visual__fallback span {font-size:13px;letter-spacing:.12em;}
.hs-process {counter-reset:step;margin-top:32px;border-top:1px solid #d9cbbd;}
.hs-process li {display:grid;grid-template-columns:45px 1fr;gap:12px;padding:22px 0;border-bottom:1px solid #d9cbbd;}
.hs-process li::before {counter-increment:step;content:'0' counter(step);font-family:Poppins,sans-serif;color:#a16e44;font-size:16px;font-weight:600;}
.hs-process strong {display:block;font-size:19px;margin-bottom:7px;}
.hs-process p {font-size:16px;line-height:1.8;color:#65584e;}
.hs-card-list {display:grid;gap:12px;margin-top:28px;}
.hs-info-card {display:flex;gap:15px;align-items:flex-start;padding:24px 20px;background:#fff;border:1px solid #e7dbce;}
.hs-info-card > i {flex:0 0 26px;font-size:24px;color:#a16e44;margin-top:4px;}
.hs-info-card h3 {font-size:19px;margin-bottom:7px;}
.hs-info-card p {font-size:15px;line-height:1.8;color:#65584e;}
.hs-attorneys {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px;margin-top:28px;}
.hs-attorney {display:block;width:100%;border:0;padding:0;background:transparent;text-align:left;}
.hs-attorney__photo {display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;background:#ded0c0;overflow:hidden;color:#967c65;}
.hs-attorney__photo img {width:100%;height:100%;object-fit:cover;}
.hs-attorney__photo i {font-size:36px;}
.hs-attorney__name {display:block;margin-top:9px;font-size:14px;font-weight:700;line-height:1.5;}
.hs-attorney__role {display:block;font-size:12px;color:#8b7a6b;}
.hs-attorney__note {margin-top:18px;font-size:13px;color:#786e67;line-height:1.7;}
.hs-archive {display:grid;gap:12px;margin-top:28px;}
.hs-archive a {display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 19px;border:1px solid #e7dbce;background:#fff;font-size:17px;font-weight:700;}
.hs-archive a i {color:#a16e44;}
.hs-faq {margin-top:28px;border-top:1px solid #d9cbbd;}
.hs-faq details {border-bottom:1px solid #d9cbbd;padding:18px 0;}
.hs-faq summary {cursor:pointer;font-size:17px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px;}
.hs-faq summary::-webkit-details-marker {display:none;}
.hs-faq summary::after {content:'+';font-size:24px;color:#a16e44;line-height:1;}
.hs-faq details[open] summary::after {content:'−';}
.hs-faq p {padding-top:13px;color:#65584e;font-size:16px;line-height:1.85;}
.hs-contact-number {display:block;margin-top:22px;color:#fff;font-family:Poppins,sans-serif;font-size:32px;font-weight:700;letter-spacing:-.04em;}
.hs-contact-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.hs-contact-actions a {display:inline-flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid #e6c19c;color:#fff;font-size:15px;font-weight:700;}
.hs-contact-actions a:first-child {background:#e6c19c;color:#30251f;}
.hs-modal {position:fixed;inset:0;z-index:500;background:#1a120ec9;display:flex;align-items:center;justify-content:center;padding:18px;}
.hs-modal[hidden] {display:none!important;}
.hs-modal__panel {width:100%;max-width:420px;max-height:88dvh;overflow-y:auto;background:#faf7f2;padding:25px;position:relative;color:#30251f;}
.hs-modal__close {position:absolute;right:16px;top:14px;width:38px;height:38px;border:1px solid #ded0c0;background:white;}
.hs-modal__panel h2 {padding-right:42px;font-size:25px;}
.hs-modal__body {margin-top:20px;line-height:1.85;font-size:16px;white-space:pre-line;}
body.hs-modal-open {overflow:hidden;}
@media(max-width:370px){.hs-section{padding:55px 18px}.hs-attorneys{gap:16px 8px}.hs-attorney__name{font-size:13px}.hs-hero__content{padding-left:18px;padding-right:18px}}

/* 13. Header A — final fixed palette and specificity */
#haesong-site > #hd.hs-header { background-color: #FAF7F2; color: #30251F; border-bottom: 1px solid #E5DDD4; }
#haesong-site > #hd.hs-header .hs-header__inner { background-color: #FAF7F2; }
#haesong-site > #hd.hs-header .hs-brand__logo { background-color: #E9DFD1; color: #8C6548; }
#haesong-site > #hd.hs-header .hs-brand__firm { color: #96643B; }
#haesong-site > #hd.hs-header .hs-brand__team { color: #30251F; }
#haesong-site > #hd.hs-header .hs-menu-toggle { background-color: transparent; color: #30251F; border-color: #E5DDD4; }
#haesong-site > #hd.hs-header .hs-navigation { background-color: #FAF7F2; }

/* 14. Section 01 — editorial compensation story */
.hs-comp-editorial{background:#faf7f2;color:#30251f;overflow:hidden;}
.hs-comp-editorial__intro{padding:66px 25px 38px;}
.hs-comp-editorial__topline{display:flex;align-items:center;gap:16px;color:#98704f;font:600 10px/1.4 Poppins,sans-serif;letter-spacing:.12em;white-space:nowrap;}
.hs-comp-editorial__rule{height:1px;background:#d7c5b4;flex:1;}
.hs-comp-editorial__overline{margin-top:47px;font-size:15px;font-weight:600;color:#a16e44;}
.hs-comp-editorial__intro h2{font-size:clamp(33px,8.4vw,42px);line-height:1.33;letter-spacing:-.075em;margin-top:13px;font-weight:700;}
.hs-comp-editorial__intro h2 em{font-style:normal;color:#aa7651;}
.hs-comp-editorial__summary{margin-top:29px;color:#62564d;font-size:17px;line-height:1.95;word-break:keep-all;}
.hs-comp-editorial__feature{margin:0 0 0 25px;position:relative;}
.hs-comp-editorial__feature img{width:100%;aspect-ratio:1.16;object-fit:cover;filter:saturate(.77) sepia(.12);}
.hs-comp-editorial__feature figcaption{display:flex;justify-content:space-between;gap:8px;padding:12px 24px 0 0;color:#84776a;font-size:11px;letter-spacing:.05em;}
.hs-comp-editorial__narrative{padding:73px 25px 59px;}
.hs-comp-editorial__index{display:flex;justify-content:space-between;border-bottom:1px solid #cbb8a6;padding-bottom:13px;color:#946b4e;font:600 11px Poppins,sans-serif;letter-spacing:.08em;}
.hs-comp-editorial__narrative h3{font-size:30px;line-height:1.42;margin:27px 0 26px;letter-spacing:-.06em;}
.hs-comp-editorial__narrative p{font-size:17px;line-height:1.95;color:#62564d;word-break:keep-all;}
.hs-comp-editorial__narrative p+p{margin-top:18px;}
.hs-comp-editorial__photo-note{display:grid;grid-template-columns:62% 1fr;align-items:end;gap:14px;padding:0 25px 68px 0;}
.hs-comp-editorial__photo-wrap{overflow:hidden;}
.hs-comp-editorial__photo-wrap img{width:100%;height:270px;object-fit:cover;filter:saturate(.72);}
.hs-comp-editorial__photo-caption{padding-bottom:4px;}
.hs-comp-editorial__photo-caption span{display:block;color:#a16e44;font:600 10px/1.5 Poppins,sans-serif;letter-spacing:.1em;}
.hs-comp-editorial__photo-caption p{font-size:14px;line-height:1.75;margin-top:12px;word-break:keep-all;}
.hs-comp-editorial__checks{padding:62px 25px 68px;background:#e9ddcf;}
.hs-comp-editorial__checks-head span{font:600 11px Poppins,sans-serif;letter-spacing:.13em;color:#8b5f40;}
.hs-comp-editorial__checks-head h3{font-size:31px;line-height:1.35;margin:15px 0 32px;letter-spacing:-.06em;}
.hs-comp-editorial__check{display:grid;grid-template-columns:34px minmax(0,1fr) 22px;gap:12px;border-top:1px solid #c9b7a5;padding:25px 0;}
.hs-comp-editorial__check:last-child{border-bottom:1px solid #c9b7a5;}
.hs-comp-editorial__num{font:600 12px Poppins,sans-serif;color:#96643b;padding-top:5px;}
.hs-comp-editorial__check h4{font-size:19px;line-height:1.5;letter-spacing:-.035em;}
.hs-comp-editorial__check p{font-size:15px;line-height:1.85;color:#65584e;margin-top:9px;word-break:keep-all;}
.hs-comp-editorial__check i{color:#96643b;font-size:19px;margin-top:5px;}
.hs-comp-editorial__closing{background:#3a2b22;color:#f7efe7;padding:51px 25px 59px;}
.hs-comp-editorial__closing>span{font:600 11px Poppins,sans-serif;letter-spacing:.13em;color:#d7b390;}
.hs-comp-editorial__closing p{font-size:23px;line-height:1.65;letter-spacing:-.04em;margin:20px 0 30px;word-break:keep-all;}
.hs-comp-editorial__closing a{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid #e0b991;font-size:16px;font-weight:600;color:#f7efe7;}
.hs-comp-editorial__closing a i{font-size:13px;}
@media(max-width:360px){.hs-comp-editorial__intro,.hs-comp-editorial__narrative,.hs-comp-editorial__checks,.hs-comp-editorial__closing{padding-left:19px;padding-right:19px}.hs-comp-editorial__feature{margin-left:19px}.hs-comp-editorial__photo-note{padding-right:19px;grid-template-columns:58% 1fr}.hs-comp-editorial__photo-wrap img{height:235px}}

/* 15. Section 01 — consistent image alignment (25px both sides) */
.hs-comp-editorial__feature { margin: 0 25px; width: auto; }
.hs-comp-editorial__feature img { display: block; width: 100%; }
.hs-comp-editorial__feature figcaption { padding-right: 0; }
.hs-comp-editorial__photo-note { padding: 0 25px 68px; grid-template-columns: minmax(0, 62fr) minmax(0, 38fr); gap: 14px; }
.hs-comp-editorial__photo-wrap { min-width: 0; }
@media (max-width: 360px) {
    .hs-comp-editorial__feature { margin-left: 19px; margin-right: 19px; }
    .hs-comp-editorial__photo-note { padding-left: 19px; padding-right: 19px; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); }
}

/* =========================================
   HAESONG HEADER — logo / menu visibility fix
   ========================================= */
#haesong-site .hs-header { background:#FAF7F2; }
#haesong-site .hs-header__inner { display:flex;align-items:center;gap:10px; }
#haesong-site .hs-brand { display:flex;flex:1 1 auto;min-width:0;align-items:center;gap:10px; }
#haesong-site .hs-brand__logo { box-sizing:border-box;display:flex;flex:0 0 50px;width:50px;height:50px;padding:5px;align-items:center;justify-content:center;background:#E9DFD1;border-radius:6px;overflow:hidden; }
#haesong-site .hs-brand__logo img { display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain; }
#haesong-site .hs-brand__logo > i { display:none !important; }
#haesong-site .hs-brand__text { min-width:0;flex:1 1 auto; }
#haesong-site .hs-menu-toggle { display:flex !important;visibility:visible !important;opacity:1 !important;position:relative;z-index:3;flex:0 0 42px;width:42px;height:42px;padding:0;align-items:center;justify-content:center;background:#FAF7F2;border:1px solid #E5DDD4;border-radius:6px;color:#30251F;cursor:pointer; }
#haesong-site .hs-menu-toggle__lines { width:19px;display:flex;flex-direction:column;gap:4px; }
#haesong-site .hs-menu-toggle__lines span { display:block;width:100%;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease; }
#haesong-site .hs-menu-toggle.is-open .hs-menu-toggle__lines span:first-child { transform:translateY(6px) rotate(45deg); }
#haesong-site .hs-menu-toggle.is-open .hs-menu-toggle__lines span:nth-child(2) { opacity:0; }
#haesong-site .hs-menu-toggle.is-open .hs-menu-toggle__lines span:last-child { transform:translateY(-6px) rotate(-45deg); }
#haesong-site .hs-navigation[hidden] { display:none !important; }
@media (max-width:360px) {
  #haesong-site .hs-brand { gap:8px; }
  #haesong-site .hs-brand__logo { flex-basis:42px;width:42px;height:42px;padding:5px; }
  #haesong-site .hs-menu-toggle { flex-basis:40px;width:40px;height:40px; }
}

/* 18. Header-to-hero flush alignment (home only) */
#haesong-site > #hd.hs-header { margin-bottom: 0 !important; }
#haesong-site > #container.hs-main { margin-top: 0 !important; padding-top: 0 !important; border-top: 0; }
#haesong-site > #container.hs-main > .hs-hero:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0;
}
/* Keep the hero media touching the header without altering other sections. */
#haesong-site > #container.hs-main > .hs-hero:first-child .hs-hero__media { top: 0; }
