/* Agency layout foundation. Widget visuals and interactions live with each widget. */
.agency-home {
    --agency-ink: #191f28;
    --agency-ink-soft: #4e5968;
    --agency-muted: #6b7684;
    --agency-paper: var(--rb-main-bg, #fff);
    --agency-wash: #f2f4f6;
    --agency-line: #e5e8eb;
    --agency-primary: var(--rb-main-color, #2167ff);
    --agency-iris: var(--agency-primary);
    --agency-coral: #cfe6ff;
    --agency-mint: #e8f3ff;
    --agency-acid: #f3f7fc;
    --agency-shadow: 0 18px 36px rgba(25,31,40,.08);
    --agency-content-width: var(--rb-main-width, 1200px);
    width: 100vw;
    margin: 0 0 0 calc(50% - 50vw);
    overflow: hidden;
    color: var(--agency-ink);
    background: var(--agency-paper);
    font-family: Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.agency-home *,
.agency-home *::before,
.agency-home *::after {box-sizing: border-box;}

.agency-home h1,
.agency-home h2,
.agency-home h3,
.agency-home p {margin: 0;}

.agency-home .agency-shell {width: min(var(--agency-content-width), calc(100% - 48px)); margin: 0 auto;}

/* Rebuilder's layout wrapper must not constrain the full-width widget sequence. */
.agency-home--builder > .agency-widget-layout {display: block !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important;}
.agency-home--builder > .agency-widget-layout > .rb_layout_box {display: block !important; float: none !important; clear: both; width: 100% !important; max-width: none !important; min-width: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; overflow: visible !important;}
.agency-home--builder > .agency-widget-layout > .rb_layout_box > .content_box {display: block !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; list-style: none !important;}
.agency-home--builder > .agency-widget-layout > .rb_layout_box > .content_box > .module_widget_wrap {display: block !important; width: 100% !important; min-width: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; overflow: visible !important;}
.agency-home--builder > .agency-widget-layout > .rb_layout_box > .content_box > .module_widget_wrap > .agency-widget {width: 100%;}

/* Shared agency controls used by more than one widget. */
.agency-home .agency-eyebrow,
.agency-home .agency-section-index {display: inline-flex; align-items: center; width: fit-content; min-height: 28px; padding: 0 11px; border-radius: 999px; background: #e8f3ff; color: var(--agency-primary); font-size: 11px; font-weight: 800; letter-spacing: .04em; line-height: 1;}
.agency-home .agency-eyebrow {gap: 8px; margin-bottom: 22px !important;}
.agency-home .agency-eyebrow::before {width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: '';}
.agency-home .agency-section-index {margin: 0;}

.agency-home .agency-button {display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 0 21px; border: 1px solid transparent; border-radius: 16px; color: var(--agency-primary); font-size: 15px; font-weight: 700; line-height: 1; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;}
.agency-home .agency-button .ti {font-size: 19px; line-height: 1;}
.agency-home .agency-button--primary {color: #fff; background: var(--agency-primary); box-shadow: 0 10px 20px rgba(49,130,246,.22);}
.agency-home .agency-button--light {color: var(--agency-primary); background: #fff; box-shadow: 0 8px 18px rgba(25,31,40,.1);}
.agency-home .agency-button:focus-visible,
.agency-home .agency-text-link:focus-visible {outline: 3px solid var(--agency-primary); outline-offset: 4px;}
.agency-home .agency-text-link {display: inline-flex; align-items: center; gap: 7px; padding: 12px 2px; border: 0; color: var(--agency-ink-soft); font-size: 15px; font-weight: 700; text-decoration: none;}
.agency-home .agency-text-link .ti {font-size: 16px; line-height: 1;}

@media (hover: hover) and (pointer: fine) {
    .agency-home .agency-button:hover {transform: translateY(-1px); background: var(--agency-primary); color: #fff; box-shadow: 0 13px 24px rgba(49,130,246,.24);}
    .agency-home .agency-button--light:hover {background: #f7fbff; color: var(--agency-primary); box-shadow: 0 10px 22px rgba(25,31,40,.12);}
    .agency-home .agency-text-link:hover {color: var(--agency-primary);}
}

@media (max-width: 1024px) {
    .agency-home {margin-top: 0; margin-bottom: 0;}
}

@media (max-width: 640px) {
    .agency-home .agency-shell {width: min(100% - 40px, 520px);}
    .agency-home .agency-eyebrow {margin-bottom: 18px !important;}
}

@media (prefers-reduced-motion: reduce) {
    .agency-home *,
    .agency-home *::before,
    .agency-home *::after {scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important;}
}
