﻿@charset "utf-8";

/* =========================================================
XOVER - Ad Agency Prompt Page
File: ad-agency.css
URL: /ad-agency/
========================================================= */

:root {
--xover-black: #111111;
--xover-dark: #1b1b1b;
--xover-gray: #666666;
--xover-light-gray: #f5f5f5;
--xover-line: #e5e5e5;
--xover-white: #ffffff;
--xover-point: #c8231e;
--xover-point-dark: #a91d19;
--xover-max: 1180px;
}

* {
  box-sizing: border-box;
  }

html {
-webkit-text-size-adjust: 100%;
scroll-behavior: smooth;
}

body {
margin: 0;
font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
color: var(--xover-black);
background: var(--xover-white);
line-height: 1.65;
word-break: keep-all;
}

a {
color: inherit;
text-decoration: none;
}

p,
ul,
ol,
li,
h1,
h2,
h3 {
margin: 0;
padding: 0;
}

ul,
ol {
list-style: none;
}

.xover-prompt-page {
overflow: hidden;
}

.page-inner {
width: min(100% - 40px, var(--xover-max));
margin: 0 auto;
}

/* =========================================================
Common Typography
========================================================= */

.eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
margin-bottom: 18px;
font-size: 14px;
font-weight: 800;
letter-spacing: 0.16em;
color: var(--xover-point);
}

.eyebrow::before {
content: "";
display: block;
width: 34px;
height: 2px;
background: var(--xover-point);
}

h1 {
font-size: clamp(38px, 5vw, 68px);
line-height: 1.12;
letter-spacing: -0.055em;
font-weight: 900;
}

h2 {
margin-bottom: 24px;
font-size: clamp(28px, 3vw, 42px);
line-height: 1.22;
letter-spacing: -0.045em;
font-weight: 850;
}

h3 {
font-size: 20px;
line-height: 1.35;
letter-spacing: -0.035em;
font-weight: 800;
}

p {
font-size: 18px;
color: #333333;
letter-spacing: -0.025em;
}

.lead {
max-width: 860px;
margin-top: 28px;
font-size: clamp(19px, 2vw, 24px);
line-height: 1.55;
color: rgba(255, 255, 255, 0.86);
}

/* =========================================================
Buttons
========================================================= */

.btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 180px;
height: 54px;
padding: 0 28px;
border-radius: 999px;
font-size: 16px;
font-weight: 800;
letter-spacing: -0.025em;
transition: 0.25s ease;
}

.btn.primary {
color: var(--xover-white);
background: var(--xover-point);
}

.btn.primary:hover {
background: var(--xover-point-dark);
transform: translateY(-2px);
}

.btn.secondary {
color: var(--xover-white);
border: 1px solid rgba(255, 255, 255, 0.45);
background: rgba(255, 255, 255, 0.08);
}

.btn.secondary:hover {
border-color: var(--xover-white);
background: rgba(255, 255, 255, 0.16);
transform: translateY(-2px);
}

.form-link-wrap {
display: inline-flex;
}

.form-link-mo {
display: none;
}

/* =========================================================
Hero
========================================================= */

.page-hero {
position: relative;
padding: 150px 0 130px;
color: var(--xover-white);
background:
radial-gradient(circle at 12% 20%, rgba(200, 35, 30, 0.42), transparent 34%),
radial-gradient(circle at 84% 18%, rgba(255, 255, 255, 0.10), transparent 28%),
linear-gradient(135deg, #111111 0%, #1d1d1d 52%, #2b1010 100%);
}

.page-hero::after {
content: "";
position: absolute;
inset: auto 0 0;
height: 120px;
background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.22));
pointer-events: none;
}

.page-hero .page-inner {
position: relative;
z-index: 2;
}

.page-hero h1 {
max-width: 980px;
}

.hero-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 42px;
}

/* =========================================================
Sections
========================================================= */

.ai-summary,
.section-block,
.cta-section,
.source-section,
.source-nav {
padding: 100px 0;
}

.ai-summary {
background: var(--xover-white);
}

.ai-summary .page-inner {
padding: 42px;
border: 1px solid var(--xover-line);
border-radius: 28px;
background:
linear-gradient(135deg, rgba(200, 35, 30, 0.06), rgba(255, 255, 255, 0) 45%),
var(--xover-white);
box-shadow: 0 24px 70px rgba(0, 0, 0, 0.06);
}

.ai-summary p + p,
.section-block p + p {
margin-top: 16px;
}

.section-block:nth-of-type(even) {
background: var(--xover-light-gray);
}

.section-block h2,
.ai-summary h2,
.cta-section h2,
.source-section h2,
.source-nav h2 {
max-width: 860px;
}

.section-block > .page-inner > p {
max-width: 960px;
}

/* =========================================================
Summary List
========================================================= */

.summary-list {
display: grid;
gap: 12px;
margin-top: 26px;
}

.summary-list li {
position: relative;
padding: 16px 18px 16px 44px;
border: 1px solid var(--xover-line);
border-radius: 16px;
background: var(--xover-white);
color: #333333;
font-size: 17px;
font-weight: 650;
letter-spacing: -0.03em;
}

.summary-list li::before {
content: "";
position: absolute;
left: 20px;
top: 25px;
width: 7px;
height: 7px;
border-radius: 50%;
background: var(--xover-point);
}

/* =========================================================
Service Grid
========================================================= */

.service-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 18px;
margin-top: 38px;
}

.service-grid article {
min-height: 210px;
padding: 28px;
border: 1px solid var(--xover-line);
border-radius: 22px;
background: var(--xover-white);
transition: 0.25s ease;
}

.service-grid article:hover {
transform: translateY(-5px);
border-color: rgba(200, 35, 30, 0.35);
box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08);
}

.service-grid h3 {
margin-bottom: 14px;
}

.service-grid p {
font-size: 16px;
color: var(--xover-gray);
}

/* =========================================================
Check List
========================================================= */

.check-list {
display: grid;
gap: 14px;
max-width: 980px;
margin-top: 34px;
}

.check-list li {
position: relative;
padding: 20px 22px 20px 58px;
border: 1px solid var(--xover-line);
border-radius: 18px;
background: var(--xover-white);
font-size: 18px;
font-weight: 650;
letter-spacing: -0.03em;
}

.check-list li::before {
content: "✓";
position: absolute;
left: 22px;
top: 18px;
display: inline-flex;
align-items: center;
justify-content: center;
width: 26px;
height: 26px;
border-radius: 50%;
color: var(--xover-white);
background: var(--xover-point);
font-size: 15px;
font-weight: 900;
}

/* =========================================================
Target List
========================================================= */

.target-list {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 18px;
margin-top: 38px;
}

.target-list article {
padding: 30px;
border-radius: 24px;
background: var(--xover-dark);
color: var(--xover-white);
}

.target-list h3 {
margin-bottom: 14px;
color: var(--xover-white);
}

.target-list p {
font-size: 16px;
color: rgba(255, 255, 255, 0.72);
}

/* =========================================================
Scope List
========================================================= */

.scope-list {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 34px;
}

.scope-list li {
padding: 11px 18px;
border: 1px solid var(--xover-line);
border-radius: 999px;
background: var(--xover-white);
color: #333333;
font-size: 16px;
font-weight: 750;
letter-spacing: -0.025em;
}

/* =========================================================
Process
========================================================= */

.process-list {
display: grid;
gap: 18px;
margin-top: 38px;
counter-reset: process;
}

.process-list li {
position: relative;
min-height: 120px;
padding: 28px 30px 28px 96px;
border: 1px solid var(--xover-line);
border-radius: 24px;
background: var(--xover-white);
counter-increment: process;
}

.process-list li::before {
content: counter(process, decimal-leading-zero);
position: absolute;
left: 30px;
top: 28px;
color: var(--xover-point);
font-size: 26px;
line-height: 1;
font-weight: 900;
letter-spacing: -0.04em;
}

.process-list strong {
display: block;
margin-bottom: 8px;
font-size: 20px;
letter-spacing: -0.035em;
}

.process-list p {
font-size: 16px;
color: var(--xover-gray);
}

/* =========================================================
FAQ
========================================================= */

.faq-section {
background: var(--xover-white);
}

.faq-section article {
padding: 30px 0;
border-bottom: 1px solid var(--xover-line);
}

.faq-section article:first-of-type {
border-top: 2px solid var(--xover-black);
}

.faq-section h3 {
position: relative;
padding-left: 38px;
margin-bottom: 12px;
}

.faq-section h3::before {
content: "Q";
position: absolute;
left: 0;
top: 0;
color: var(--xover-point);
font-size: 20px;
font-weight: 900;
}

.faq-section p {
padding-left: 38px;
font-size: 17px;
color: var(--xover-gray);
}

/* =========================================================
CTA
========================================================= */

.cta-section {
color: var(--xover-white);
text-align: center;
background:
radial-gradient(circle at 50% 0%, rgba(200, 35, 30, 0.42), transparent 36%),
linear-gradient(135deg, #151515 0%, #241010 100%);
}

.cta-section .page-inner {
max-width: 920px;
}

.cta-section h2 {
margin-left: auto;
margin-right: auto;
}

.cta-section p {
max-width: 760px;
margin: 0 auto 34px;
color: rgba(255, 255, 255, 0.78);
}

/* =========================================================
Source
========================================================= */

.source-section {
padding: 70px 0;
background: #fafafa;
}

.source-section h2,
.source-nav h2 {
margin-bottom: 18px;
font-size: 24px;
}

.source-section p {
font-size: 15px;
color: var(--xover-gray);
}

.source-section p + p {
margin-top: 6px;
}

.source-nav {
padding: 50px 0;
background: var(--xover-white);
}

.source-nav ul {
display: flex;
flex-wrap: wrap;
gap: 10px;
}

.source-nav a {
display: inline-flex;
padding: 10px 16px;
border: 1px solid var(--xover-line);
border-radius: 999px;
color: #333333;
font-size: 15px;
font-weight: 700;
transition: 0.2s ease;
}

.source-nav a:hover {
color: var(--xover-white);
border-color: var(--xover-point);
background: var(--xover-point);
}

/* =========================================================
Footer
========================================================= */

.xover-footer {
padding: 86px 0 42px;
color: var(--xover-white);
background:
radial-gradient(circle at 12% 0%, rgba(200, 35, 30, 0.34), transparent 34%),
linear-gradient(135deg, #111111 0%, #1c1c1c 54%, #210d0d 100%);
}

.footer-head {
max-width: 760px;
margin-bottom: 42px;
}

.footer-logo {
margin-bottom: 26px;
}

.footer-logo a {
display: inline-flex;
align-items: center;
}

.footer-logo img {
display: block;
width: auto;
max-width: 220px;
height: auto;
}

.footer-eyebrow {
margin-bottom: 10px;
color: var(--xover-point);
font-size: 13px;
font-weight: 900;
letter-spacing: 0.16em;
}

.xover-footer h2 {
margin-bottom: 14px;
color: var(--xover-white);
font-size: clamp(30px, 3vw, 42px);
}

.footer-head p {
color: rgba(255, 255, 255, 0.72);
}

.footer-info {
display: grid;
grid-template-columns: 1.5fr 1fr 1fr;
gap: 18px;
margin-top: 34px;
}

.footer-info article {
min-height: 210px;
padding: 30px;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 24px;
background: rgba(255, 255, 255, 0.055);
}

.footer-icon {
display: flex;
align-items: center;
justify-content: center;
width: 46px;
height: 46px;
margin-bottom: 18px;
border-radius: 50%;
background: rgba(200, 35, 30, 0.18);
}

.footer-icon img {
display: block;
max-width: 22px;
max-height: 22px;
}

.footer-info h3 {
margin-bottom: 12px;
color: var(--xover-white);
font-size: 19px;
}

.footer-info p {
color: rgba(255, 255, 255, 0.72);
font-size: 16px;
line-height: 1.75;
}

.footer-info a {
color: rgba(255, 255, 255, 0.82);
transition: 0.2s ease;
}

.footer-info a:hover {
color: var(--xover-white);
}

.footer-bottom {
display: flex;
justify-content: space-between;
gap: 18px;
margin-top: 38px;
padding-top: 24px;
border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-bottom p,
.footer-bottom a {
color: rgba(255, 255, 255, 0.52);
font-size: 14px;
}

.footer-bottom a:hover {
color: var(--xover-white);
}

/* =========================================================
Responsive
========================================================= */

@media (max-width: 1180px) {
.service-grid,
.target-list {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 900px) {
.footer-info {
grid-template-columns: 1fr;
}

.footer-info article {
min-height: auto;
}
}

@media (max-width: 768px) {
.page-inner {
width: min(100% - 32px, var(--xover-max));
}

.page-hero {
padding: 110px 0 90px;
}

.eyebrow {
margin-bottom: 14px;
font-size: 12px;
}

.eyebrow::before {
width: 26px;
}

h1 {
font-size: 38px;
line-height: 1.16;
}

h2 {
margin-bottom: 20px;
font-size: 28px;
}

h3 {
font-size: 19px;
}

p {
font-size: 16px;
line-height: 1.7;
}

.lead {
margin-top: 22px;
font-size: 18px;
}

.hero-actions {
flex-direction: column;
margin-top: 32px;
}

.btn {
width: 100%;
min-width: 0;
height: 52px;
font-size: 15px;
}

.form-link-wrap {
display: flex;
width: 100%;
}

.form-link-pc {
display: none;
}

.form-link-mo {
display: inline-flex;
}

.ai-summary,
.section-block,
.cta-section {
padding: 72px 0;
}

.ai-summary .page-inner {
padding: 30px 24px;
border-radius: 22px;
}

.summary-list {
gap: 10px;
margin-top: 22px;
}

.summary-list li {
padding: 15px 16px 15px 38px;
font-size: 15px;
}

.summary-list li::before {
left: 18px;
top: 24px;
}

.service-grid,
.target-list {
grid-template-columns: 1fr;
gap: 14px;
}

.service-grid article {
min-height: auto;
padding: 24px;
border-radius: 18px;
}

.target-list article {
padding: 24px;
border-radius: 18px;
}

.check-list li {
padding: 18px 18px 18px 52px;
font-size: 16px;
}

.check-list li::before {
left: 18px;
top: 17px;
width: 24px;
height: 24px;
}

.scope-list {
gap: 8px;
}

.scope-list li {
padding: 9px 14px;
font-size: 14px;
}

.process-list li {
min-height: auto;
padding: 72px 22px 24px;
border-radius: 20px;
}

.process-list li::before {
left: 22px;
top: 24px;
font-size: 24px;
}

.process-list strong {
font-size: 18px;
}

.faq-section article {
padding: 26px 0;
}

.faq-section h3 {
padding-left: 32px;
font-size: 18px;
}

.faq-section p {
padding-left: 32px;
font-size: 15px;
}

.source-section {
padding: 54px 0;
}

.source-nav {
padding: 42px 0;
}

.source-nav ul {
display: grid;
grid-template-columns: 1fr;
}

.source-nav a {
width: 100%;
justify-content: center;
}

.xover-footer {
padding: 68px 0 34px;
}

.footer-head {
margin-bottom: 30px;
}

.footer-logo {
margin-bottom: 22px;
}

.footer-logo img {
max-width: 180px;
}

.footer-info article {
padding: 24px;
border-radius: 20px;
}

.footer-info p {
font-size: 15px;
}

.footer-bottom {
flex-direction: column;
gap: 6px;
margin-top: 30px;
}
}

@media (max-width: 420px) {
body {
word-break: keep-all;
}

.page-inner {
width: min(100% - 28px, var(--xover-max));
}

.page-hero {
padding: 96px 0 78px;
}

h1 {
font-size: 33px;
}

h2 {
font-size: 25px;
}

.lead {
font-size: 17px;
}

.ai-summary,
.section-block,
.cta-section {
padding: 62px 0;
}

.ai-summary .page-inner {
padding: 26px 20px;
}
}
