/* Free5000 — ivory, ink and electric blue. Shared across all templates. */
:root{--paper:#f6f7f9;--ink:#172339;--muted:#667085;--line:#e4e8ef;--blue:#315bea;--radius:20px}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body.site-theme{background:var(--paper);color:var(--ink);font-family:Pretendard,'Noto Sans KR',sans-serif;letter-spacing:-.025em;-webkit-font-smoothing:antialiased}
body.site-theme::selection{background:#dbe5ff;color:#172339}
.site-theme h1,.site-theme h2,.site-theme h3{color:var(--ink);letter-spacing:-.045em;word-break:keep-all;overflow-wrap:anywhere}
.site-theme p{word-break:keep-all;overflow-wrap:anywhere}
.site-theme a,.site-theme button,.site-theme input,.site-theme select,.site-theme textarea,.site-theme summary{transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s,transform .18s}
.site-theme :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #7598ff;outline-offset:4px}
.site-theme :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){border-color:#d9e0e9;border-radius:12px;background:#fbfcfe;min-height:46px;box-shadow:0 1px 2px #17233903}
.site-theme :is(input,select,textarea):focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 4px #315bea12}
.site-theme textarea{line-height:1.75;resize:vertical}
.site-theme label{color:#475467;font-weight:600}
.site-theme :is(a,button).bg-orange-500{background:var(--blue);border-radius:12px;font-weight:650;box-shadow:0 4px 10px #315bea16}
.site-theme :is(a,button).bg-orange-500:hover{background:#2346ca;box-shadow:0 6px 16px #315bea25;transform:translateY(-1px)}
.site-theme :is(a,button).border.rounded-full{border-radius:10px;min-height:36px}
.site-theme button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.site-theme .border-gray-200{border-color:var(--line)}
.site-theme .shadow-sm{box-shadow:0 3px 16px #17233904}
.site-theme .text-gray-400{color:#7b8494}
.site-header{background:#ffffffed!important;border-color:var(--line)!important;backdrop-filter:blur(20px)}
.site-header>div{max-width:1248px}
.site-header>div>div{height:80px}
.brand-link{display:flex;align-items:center;gap:11px}
.brand-mark{display:grid;place-items:center;width:39px;height:39px;background:var(--blue);border-radius:12px;color:#fff;font-size:23px;font-weight:850;letter-spacing:-2px;box-shadow:0 4px 12px #315bea25}
.site-header .brand-link strong{background:none;color:var(--ink);font-size:22px;letter-spacing:-1px}
.site-header nav>a,.site-header nav summary{padding:10px 13px;font-weight:600}
.site-header details[open]>summary{background:#eff4ff;color:var(--blue)}
.site-header details>div{margin-top:12px;padding:8px;border-radius:16px;box-shadow:0 16px 45px #17233914}
.site-header details>div>a{border-radius:8px}
.site-main{max-width:1248px!important;padding-top:38px!important;padding-bottom:48px!important;min-height:65vh}
.site-main>section.bg-white,.site-main>section.border{border-radius:var(--radius)}
.site-main>section.bg-white:not(.home-hero){padding:30px}
.site-main>section :is(h1.text-xl,h2.text-xl){font-size:27px;font-weight:750}
.site-main .overflow-x-auto{border-radius:12px;scrollbar-width:thin;scrollbar-color:#c5cfdf transparent}
.site-main table{border-collapse:separate;border-spacing:0}
.site-main th{background:#f7f9fc;color:#68758a;font-size:12px;white-space:nowrap}
.site-main td{padding-top:18px;padding-bottom:18px;border-color:#edf0f5;line-height:1.65}
.site-main tbody tr:hover{background:#f8faff}
.site-main article{border-radius:18px}
.site-main article:hover{box-shadow:0 10px 30px #17233908}
.home-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:center;padding:58px 48px 0!important;background:#eeeee8!important;border:1px solid #e3e4dc!important;box-shadow:none!important;border-radius:26px!important;position:relative;overflow:hidden}
.hero-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:750;letter-spacing:1.7px;color:#5a655d;margin-bottom:23px}
.hero-eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:#315bea}
.hero-copy h1{font-size:clamp(36px,4.4vw,59px);line-height:1.18;font-weight:800;letter-spacing:-.065em;margin:0 0 22px}
.hero-copy h1 span{color:var(--blue)}
.hero-copy>p{max-width:390px;font-size:15px;line-height:1.9;color:#65706c;margin-bottom:28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hero-actions>a,.hero-actions>button{min-height:48px;padding:13px 18px;border-radius:12px;font-size:13px}
.hero-note{display:block;margin-top:16px;font-size:11px;color:#767d75}
.hero-art{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center;padding:18px 14px}
.hero-orbit{position:absolute;width:300px;height:300px;border:1px solid #d6dacf;border-radius:50%}
.hero-orbit::before{content:'';position:absolute;inset:35px;border:1px dashed #cdd3c6;border-radius:50%}
.project-card{z-index:1;width:100%;max-width:325px;background:#fff;border:1px solid #e3e7ed;border-radius:20px;box-shadow:0 22px 45px #24342913;transform:rotate(-4deg);padding:25px}
.project-top{display:flex;justify-content:space-between;align-items:center;color:#7b8494;font-size:10px;font-weight:650;letter-spacing:1.6px}
.project-top span:last-child{color:#315bea;background:#eff4ff;padding:5px 8px;border-radius:6px;letter-spacing:0}
.project-card h2{font-size:23px;font-weight:750;margin:23px 0 8px}
.project-card>p{font-size:12px;color:#7b8494}
.project-price{font-size:45px;line-height:1.3;font-weight:800;letter-spacing:-2px;margin:12px 0 20px}
.project-price small{font-size:13px;color:#7b8494;font-weight:500;letter-spacing:0}
.project-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #eff1f5;font-size:12px;color:#586579}
.project-row i{color:#315bea;font-size:11px}
.project-sticker{position:absolute;right:-2px;bottom:22px;z-index:2;background:#c7ef93;color:#2c4720;border:5px solid #eeeee8;border-radius:16px;padding:13px 19px;font-size:12px;font-weight:700;transform:rotate(5deg);box-shadow:0 8px 20px #17233909}
.project-sticker i{margin-right:6px}
.hero-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid #d9ddd1;padding:23px 0;margin-top:9px}
.hero-stats>div{display:flex;align-items:center;justify-content:center;gap:12px}
.hero-stats>div+div{border-left:1px solid #d9ddd1}
.hero-stats p:first-child{color:#273c36;font-size:23px;font-weight:750}
.hero-stats p:last-child{color:#727b72;font-size:11px;margin:0}
.services-section{margin:45px 0!important}
.services-section>div:first-child{margin-bottom:23px;gap:12px}
.services-section h2{font-size:25px;font-weight:750}
.services-section>div:first-child p{margin-top:5px;font-size:13px}
/* Semantic service palettes share one hover/focus rule, independent of card order. */
.service-card{--service-accent:#315bea;--service-soft:#edf2ff;--service-tint:#f8faff;--service-line:#c5d3ff;position:relative;padding:22px!important;box-shadow:none!important;background:#fff;display:flex;flex-direction:column;transition:background-color .22s,border-color .22s,transform .22s,box-shadow .22s}
.service-card[data-service="crawl"]{--service-accent:#427149;--service-soft:#eaf3e8;--service-tint:#f7fbf5;--service-line:#c4ddbf}
.service-card[data-service="auto"]{--service-accent:#7c50c5;--service-soft:#f0eaff;--service-tint:#faf7ff;--service-line:#dac8f8}
.service-card[data-service="tutor"]{--service-accent:#a4611d;--service-soft:#fff2dd;--service-tint:#fffbf4;--service-line:#f0d5a8}
.service-card[data-service="etc"]{--service-accent:#bd5267;--service-soft:#ffedf1;--service-tint:#fff8fa;--service-line:#f4c6d0}
.service-visual{position:relative;height:132px;margin-bottom:25px;border-radius:13px;background-color:var(--service-soft);background-image:radial-gradient(var(--service-line) .8px,transparent .8px);background-size:12px 12px;color:var(--service-accent);transition:background-color .22s}
.service-art{display:block;width:100%;height:100%;padding:6px 0;transition:transform .3s}
.service-icon{position:absolute;bottom:-12px;left:13px;display:grid;place-items:center;width:36px;height:36px;border:3px solid white;border-radius:11px;background:var(--service-soft);color:var(--service-accent);font-size:14px;box-shadow:0 3px 8px #1723390a;transition:background-color .22s,color .22s,transform .22s}
.service-card h3{font-size:19px;font-weight:750}
.service-card>p{font-size:13px;line-height:1.85}
.service-card .service-count{font-size:11px;color:#7b8494}
.service-card>a,.service-card>button{margin-top:auto;justify-content:space-between;width:100%;padding:11px 13px;border-color:#e4e8ef;background:#fafbfe;color:#435573}
.site-main .service-card:is(:hover,:focus-within){background:var(--service-tint);border-color:var(--service-accent);transform:translateY(-4px);box-shadow:0 12px 26px #17233908!important}
.service-card:is(:hover,:focus-within) .service-visual{background-color:var(--service-line)}
.service-card:is(:hover,:focus-within) .service-icon{background:var(--service-accent);color:#fff;transform:rotate(-6deg)}
.service-card:is(:hover,:focus-within) .service-art{transform:translateY(-3px) rotate(-2deg)}
.site-theme .service-card:is(:hover,:focus-within)>:is(a,button){background:var(--service-accent);border-color:var(--service-accent);color:#fff}
.service-card>:is(a,button) i{transition:transform .22s}
.service-card:is(:hover,:focus-within)>:is(a,button) i{transform:translateX(3px)}
.traffic-section{margin:28px 0 38px!important;display:grid;grid-template-columns:1fr 1.7fr;gap:18px}
.traffic-section>div{margin-top:0!important;min-width:0}
.traffic-section>div:first-child>div{min-width:0}
.traffic-section>div:first-child>div>div{flex-wrap:wrap}
.traffic-section>div:first-child{grid-template-columns:1fr;gap:14px}
.traffic-section>div:first-child>div{background:#fff;border-color:var(--line);padding:18px 22px}
.traffic-section>div:first-child .text-3xl{font-size:28px}
.traffic-section>div:last-child{padding:24px}
.site-footer{margin-top:0!important;background:#18243a!important;color:#a9b4c6!important;border:none!important;text-align:left!important;padding:38px 0!important}
.site-footer>div{max-width:1248px;display:grid;grid-template-columns:1fr auto;gap:8px 32px;padding:0 24px}
.site-footer p:first-child{font-size:16px;color:#f0f4fc;font-weight:650}
.site-footer p:nth-child(2){grid-column:1;font-size:12px;color:#a9b4c6}
.site-footer p:last-child{grid-column:2;grid-row:1/3;align-self:center;margin:0;font-size:12px}
.site-footer a{color:#c8d7ff!important}
#mobileMenu>div:last-child{padding:25px;border-radius:22px 0 0 22px}
#mobileMenu nav a{padding:13px 14px;font-weight:600}
#mobileMenu nav>p{color:#8591a5;font-size:10px;letter-spacing:1px;margin-top:18px}
#menuBackdrop,#applyModalBackdrop{background:#111e3866;backdrop-filter:blur(5px)}
#applyModal>div:last-child{border:1px solid #e4e8ef;border-radius:22px;box-shadow:0 30px 80px #101c3833}
.auth-page{background:radial-gradient(ellipse at 20% 25%,#e6ebff,transparent 50%),#f4f5f7!important}
.auth-card{border-radius:24px!important;border-color:#e1e6ef!important;padding:38px!important;box-shadow:0 20px 70px #1723390b!important}
.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:32px;color:var(--ink);font-size:20px;font-weight:800;letter-spacing:-.7px}
.auth-card h1{font-size:28px;font-weight:750;margin-bottom:9px}
.auth-card form{margin-top:26px}
.auth-card form>button{min-height:48px;margin-top:24px}
@media(min-width:1024px){.services-section>div.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.home-hero{padding:38px 28px 0!important;gap:18px}.hero-copy h1{font-size:40px}.hero-art{padding:12px;min-height:300px}.project-card{padding:20px}.project-sticker{right:-8px}.traffic-section{grid-template-columns:1fr 1.4fr}}
@media(max-width:767px){.site-header>div>div{height:66px}.site-main{padding-top:22px!important}.home-hero{grid-template-columns:1fr;padding:30px 23px 0!important;gap:8px}.hero-copy h1{font-size:42px}.hero-copy>p{font-size:14px;max-width:100%}.hero-eyebrow{margin-bottom:18px;font-size:10px}.hero-art{min-height:290px;max-width:370px;width:100%;margin:10px auto}.project-card{max-width:290px}.project-card h2{font-size:21px;margin-top:18px}.project-price{font-size:38px}.hero-orbit{width:260px;height:260px}.hero-stats{gap:7px;padding:19px 0}.hero-stats>div{flex-direction:column;gap:5px}.hero-stats p:first-child{font-size:21px}.hero-stats p:last-child{font-size:10px}.hero-stats i{display:none}.traffic-section{grid-template-columns:1fr}.traffic-section>div:first-child{grid-template-columns:repeat(2,minmax(0,1fr))}.services-section{margin:32px 0!important}.services-section h2{font-size:23px}.site-main>section.bg-white:not(.home-hero){padding:22px 18px}.site-footer>div{grid-template-columns:1fr;gap:10px}.site-footer p:last-child{grid-column:1;grid-row:auto;margin-top:9px}.auth-card{padding:28px 24px!important}}
@media(max-width:380px){.hero-copy h1{font-size:36px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions>a,.hero-actions>button{justify-content:center}.home-hero{padding-left:18px!important;padding-right:18px!important}.traffic-section>div:first-child>div{padding:15px}.brand-mark{width:34px;height:34px}.site-header .brand-link strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-theme *{transition:none!important;animation:none!important}}

.hero-art{isolation:isolate}
.hero-grid{position:absolute;inset:-25px -35px;background-image:radial-gradient(#a8b5a5 1px,transparent 1px);background-size:18px 18px;mask-image:radial-gradient(ellipse,#000 15%,transparent 68%);opacity:.55;z-index:-2;pointer-events:none}
.hero-sphere{position:absolute;width:106px;height:106px;right:-18px;top:-19px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#9fbbff,#4774f2 42%,#2544a6 80%);box-shadow:inset -9px -10px 18px #172e9433,9px 18px 25px #315bea1a;z-index:0}
.hero-spark{position:absolute;left:-24px;bottom:8px;width:90px;height:90px;color:#b0d47f;transform:rotate(12deg);z-index:2;filter:drop-shadow(0 5px 0 #84a752)}
.hero-code{position:absolute;left:-34px;top:5px;z-index:2;width:130px;padding:13px 15px;border:1px solid #435675;border-radius:13px;background:#20304c;color:#fff;transform:rotate(-10deg);box-shadow:0 12px 24px #17233922}
.hero-code>span{display:flex;gap:4px;margin-bottom:12px}
.hero-code b{width:5px;height:5px;background:#647694;border-radius:50%}
.hero-code b:first-child{background:#c7ef93}
.hero-code strong{display:block;font-family:Consolas,monospace;font-size:19px;font-weight:500;letter-spacing:-.5px;color:#d6edbc}
.hero-code small{display:block;font-size:8px;letter-spacing:.6px;margin-top:5px;color:#b4c2d9}
@media(max-width:900px){.hero-code{left:-12px;top:-12px;width:110px;padding:10px}.hero-code strong{font-size:16px}.hero-sphere{width:75px;height:75px;right:-10px;top:-12px}.hero-spark{width:66px;height:66px;left:-9px}}
@media(max-width:767px){.hero-art{margin-top:37px}.hero-code{left:-6px;top:-16px}.hero-sphere{right:-6px;top:-17px}.hero-spark{left:-8px;bottom:6px;width:56px;height:56px}.service-visual{height:126px}}

/* Shared state labels also appear outside the incoming content wrapper. */
.site-theme .stars { color:#cbd5e1; white-space:nowrap; }
.site-theme .stars .on { color:#f59e0b; }
.site-theme .badge { display:inline-block; padding:3px 9px; border-radius:999px; font-size:11px; font-weight:600; background:#eef2f6; color:#475569; }
.site-theme .badge-pending { background:#fef3c7; color:#92400e; }
.site-theme .badge-in_progress { background:#dbeafe; color:#1e40af; }
.site-theme .badge-done { background:#dcfce7; color:#166534; }
.site-theme .badge-rejected { background:#fee2e2; color:#991b1b; }
.site-theme .flash { margin-bottom:16px; padding:12px 16px; border:1px solid #bfdbfe; border-radius:12px; background:#eff6ff; color:#1e40af; font-size:14px; }
.site-theme .flash-error { background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.site-theme .flash-success { background:#f0fdf4; border-color:#bbf7d0; color:#166534; }

/* Home motion: pointer coordinates only change compositor transforms. */
.hero-art .project-card { transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotateZ(-4deg); }
.hero-art .hero-sphere { transform:perspective(900px) translate3d(var(--orb-x,0px),var(--orb-y,0px),0) rotateY(var(--tilt-y,0deg)); }
[data-countup] { display:inline-block; font-variant-numeric:tabular-nums; }
.metric-final { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.visitor-trend-chart { position:relative; height:248px; width:100%; min-width:0; }
.visitor-trend-chart>svg { display:block; width:100%; height:248px; overflow:visible; touch-action:pan-y; }
.trend-grid line { stroke:#e8edf5; stroke-dasharray:3 5; }
.trend-grid text,.trend-axis text { fill:#6b778d; font:11px Pretendard,sans-serif; }
.trend-area { fill:#315bea12; }
.trend-line { fill:none; stroke:#315bea; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.trend-dot { fill:#315bea; stroke:white; stroke-width:2; }
.trend-guide { stroke:#8ba6f4; stroke-dasharray:4 4; pointer-events:none; }
.trend-target { fill:transparent; cursor:crosshair; }
.trend-target:focus-visible { outline:none; stroke:#315bea; stroke-width:2; }
.trend-tooltip { position:absolute; z-index:2; pointer-events:none; border-radius:9px; padding:8px 11px; background:#172339; color:#fff; box-shadow:0 5px 18px #17233920; font-size:12px; white-space:nowrap; }
.trend-data-table { margin-top:10px; font-size:12px; color:#667085; }
.trend-data-table summary { cursor:pointer; padding:6px 0; }
.trend-data-table table { margin-top:12px; }
.trend-data-table th,.trend-data-table td { padding:8px 12px; text-align:left; }
.referrer-by-day-table th[scope="row"] { vertical-align:top; white-space:nowrap; }
.referrer-by-day-table td:last-child { white-space:nowrap; }
@media(prefers-reduced-motion:reduce) { .hero-art .project-card { transform:rotate(-4deg); } .hero-art .hero-sphere { transform:none; } }
