/* ============================================================
 *  seosearchrank — UI 2026 refresh (v3)
 *  라이트 · 웹 친화 · 넓은 컨테이너 · 큰 타이포 · 프리미엄 검정 푸터
 *  클래스명은 기존 그대로 유지.
 * ============================================================ */

/* ---------------- tokens ---------------- */
:root{
	/* brand */
	--accent:#3b74f0;
	--accent-2:#6a5cf0;
	--accent-d:#2a5bc8;
	--accent-ink:#1c3f8f;
	--grad:linear-gradient(135deg,#4a7bf2 0%,#6a5cf0 100%);
	--grad-soft:linear-gradient(135deg,#eef3ff 0%,#f2eeff 100%);

	/* ink / surface */
	--ink:#161b22;
	--ink-soft:#525c6d;
	--ink-faint:#868f9e;
	--bg:#ffffff;
	--bg-soft:#f4f6fa;
	--bg-tint:#e9edf4;
	--line:#e4e8f0;
	--line-2:#eef1f6;

	/* dark (footer) */
	--dk:#0d0f12;
	--dk-line:rgba(255,255,255,.08);
	--dk-ink:#c7ccd6;
	--dk-soft:#8b93a1;
	--dk-faint:#6b7280;

	/* status */
	--good:#12a150; --good-bg:#e7f6ec; --good-ink:#0b7a3b;
	--warn:#d5890a; --warn-bg:#fdf1db; --warn-ink:#8a5906;
	--bad:#e14b4b;  --bad-bg:#fbe8e8;  --bad-ink:#a82f2f;

	/* shape */
	--r-sm:10px; --r:14px; --r-lg:22px; --r-xl:32px;
	--radius:14px;

	/* elevation */
	--sh-1:0 1px 2px rgba(20,27,45,.06),0 2px 5px rgba(20,27,45,.05);
	--sh-2:0 6px 20px rgba(20,27,45,.09),0 2px 6px rgba(20,27,45,.04);
	--sh-3:0 22px 54px rgba(20,27,45,.14),0 6px 16px rgba(20,27,45,.06);
	--sh-accent:0 12px 34px rgba(59,116,240,.30);

	--ease:cubic-bezier(.22,.61,.36,1);
	--maxw:1440px;
	--pad:40px;
}

/* ---------------- base ---------------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:104px}
html,body{margin:0; padding:0}
body{
	font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,
		"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",Roboto,sans-serif;
	color:var(--ink); background:var(--bg);
	font-size:20px; line-height:1.7;
	-webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
	overflow-x:hidden;
}
body::before{
	content:""; position:fixed; left:0; right:0; top:0; height:660px; z-index:-1;
	pointer-events:none;
	background:
		radial-gradient(62% 100% at 12% 0%,rgba(90,141,239,.16),transparent 70%),
		radial-gradient(56% 100% at 100% 0%,rgba(122,92,240,.13),transparent 70%);
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.28; color:var(--ink)}
code{background:var(--bg-soft); padding:2px 7px; border-radius:7px; font-size:.9em;
	font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
img{max-width:100%}
::selection{background:rgba(59,116,240,.18)}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px}

/* ---------------- topbar ---------------- */
.sr-topbar{
	display:flex; align-items:center; justify-content:space-between;
	padding:18px var(--pad); border-bottom:1px solid var(--line);
	position:sticky; top:0; z-index:50;
	background:rgba(255,255,255,.72);
	-webkit-backdrop-filter:saturate(180%) blur(12px);
	backdrop-filter:saturate(180%) blur(12px);
}
.sr-logo{display:flex; align-items:center; gap:12px; color:var(--ink);
	font-weight:800; font-size:21px; letter-spacing:-.01em}
.sr-logo:hover{text-decoration:none}
.sr-logo-mark{
	display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center;
	background:var(--grad); color:#fff; border-radius:11px;
	font-size:15px; font-weight:800; letter-spacing:-.5px;
	box-shadow:var(--sh-accent);
}
.sr-nav{display:flex; align-items:center; gap:30px; font-size:18px}
.sr-nav a:not(.sr-btn){color:var(--ink-soft); position:relative; padding:5px 0}
.sr-nav a:not(.sr-btn)::after{
	content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
	background:var(--grad); transition:width .2s var(--ease);
}
.sr-nav a:not(.sr-btn):hover{color:var(--ink); text-decoration:none}
.sr-nav a:not(.sr-btn):hover::after{width:100%}
.sr-nav-muted{opacity:.7}

/* ---------------- layout ---------------- */
.sr-main{max-width:var(--maxw); margin:0 auto; padding:0 var(--pad)}

/* ---------------- buttons ---------------- */
.sr-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	border:1px solid var(--line); background:#fff; color:var(--ink);
	padding:15px 28px; border-radius:var(--r); font-size:18px; font-weight:700;
	cursor:pointer; white-space:nowrap;
	transition:transform .15s var(--ease),box-shadow .15s var(--ease),
		background .15s,border-color .15s,filter .15s;
}
.sr-btn:hover{text-decoration:none; border-color:#cbd3e0; transform:translateY(-1px); box-shadow:var(--sh-1)}
.sr-btn:active{transform:translateY(0)}
.sr-btn-primary{background:var(--grad); border-color:transparent; color:#fff; box-shadow:var(--sh-accent)}
.sr-btn-primary:hover{border-color:transparent; filter:brightness(1.06); box-shadow:0 16px 40px rgba(59,116,240,.36)}
.sr-btn-ghost{background:#fff; box-shadow:var(--sh-1)}
.sr-btn-sm{padding:10px 18px; font-size:16px; border-radius:var(--r-sm)}
.sr-btn-xs{padding:7px 13px; font-size:14px; border-radius:var(--r-sm); font-weight:600}

/* ---------------- hero ---------------- */
.sr-hero{
	position:relative; overflow:hidden; text-align:center;
	width:100vw; margin-left:calc(50% - 50vw);
	padding:144px max(var(--pad),calc(50vw - 720px)) 108px;
	background:linear-gradient(180deg,#e9f0ff 0%,#eef0ff 40%,#f6f8fc 76%,#ffffff 100%);
}
.sr-hero + .sr-sec{border-top:0}
.sr-hero::before,.sr-hero::after{
	content:""; position:absolute; border-radius:50%; filter:blur(90px);
	opacity:.42; z-index:0; pointer-events:none;
}
.sr-hero::before{width:540px; height:540px; top:-170px; left:-130px;
	background:radial-gradient(circle,#7aa2f7,transparent 70%)}
.sr-hero::after{width:500px; height:500px; top:-130px; right:-110px;
	background:radial-gradient(circle,#a38df7,transparent 70%)}
.sr-hero-inner{position:relative; z-index:1}
.sr-eyebrow{
	display:inline-block; margin:0 0 22px;
	color:var(--accent-ink); font-weight:800; letter-spacing:.02em; font-size:16px;
	background:var(--grad-soft); border:1px solid rgba(59,116,240,.16);
	padding:9px 20px; border-radius:999px;
}
.sr-hero h1{
	font-size:clamp(42px,6vw,68px); font-weight:800; letter-spacing:-.03em;
	line-height:1.2; margin:0 0 22px;
	background:linear-gradient(100deg,#141b2e 0%,#141b2e 56%,#3b74f0 100%);
	-webkit-background-clip:text; background-clip:text; color:transparent;
}
.sr-hero-sub{
	max-width:760px; margin:26px auto 0; color:var(--ink-soft);
	font-size:clamp(19px,2.4vw,25px); line-height:1.7;
}
.sr-hero-sub b{color:var(--ink); font-weight:700}
.sr-hero-note{color:var(--ink-faint); font-size:17px; margin:18px 0 0}
.sr-hero-note b{color:var(--accent-ink)}

/* 도메인 입력폼 */
.sr-analyze-form{
	display:flex; align-items:center; gap:10px; max-width:640px; margin:44px auto 14px;
	background:#fff; padding:10px; border:1px solid var(--line);
	border-radius:20px; box-shadow:var(--sh-2);
	transition:border-color .15s,box-shadow .15s;
}
.sr-analyze-form:focus-within{border-color:var(--accent); box-shadow:var(--sh-accent)}
.sr-analyze-form input{
	flex:1; height:62px; padding:0 18px; border:0; background:transparent;
	font-size:20px; color:var(--ink); font-family:inherit; min-width:0;
}
.sr-analyze-form input:focus{outline:none}
.sr-analyze-form button{height:62px; padding:0 28px; border-radius:14px}

/* ---------------- sections ---------------- */
.sr-sec{padding:100px 0; border-top:1px solid var(--line-2)}
.sr-sec h2{font-size:clamp(28px,4vw,40px); font-weight:800; letter-spacing:-.02em;
	margin:0 0 12px; text-align:center}
.sr-sec-lead{text-align:center; color:var(--ink-soft); margin:0 auto 44px; max-width:680px}
.sr-sec-alt{
	border-top:0; background:var(--grad-soft);
	border:1px solid rgba(59,116,240,.10); border-radius:var(--r-xl);
	padding:80px 48px; margin:0;
}

/* 3-column 카드 */
.sr-3col{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:48px}
.sr-3col article{
	position:relative; overflow:hidden;
	border:1px solid var(--line); border-radius:var(--r-lg); padding:40px 32px;
	background:#fff; box-shadow:var(--sh-1);
	transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.sr-3col article:hover{transform:translateY(-5px); box-shadow:var(--sh-3)}
.sr-3col article::before{
	content:""; position:absolute; left:0; top:0; width:100%; height:5px; background:var(--grad);
}
.sr-3col article::after{
	content:"01"; position:absolute; right:22px; top:20px;
	font-size:14px; font-weight:800; color:var(--accent-ink);
	background:var(--grad-soft); border-radius:999px; padding:5px 12px;
}
.sr-3col article:nth-child(2)::after{content:"02"}
.sr-3col article:nth-child(3)::after{content:"03"}
.sr-3col h3{margin:8px 0 0; font-size:26px; color:var(--accent-ink); font-weight:800}
.sr-3col-tag{margin:6px 0 14px; font-size:15px; color:var(--ink-faint); font-weight:700; letter-spacing:.02em}
.sr-3col p:last-child{margin:0; font-size:18px; color:var(--ink-soft); line-height:1.7}

/* steps */
.sr-steps{list-style:none; counter-reset:s; padding:0; max-width:860px; margin:0 auto; display:grid; gap:20px}
.sr-steps li{
	counter-increment:s; position:relative;
	padding:26px 30px 26px 84px; border:1px solid var(--line);
	border-radius:var(--r-lg); background:#fff; box-shadow:var(--sh-1);
	transition:transform .18s var(--ease);
}
.sr-steps li:hover{transform:translateX(4px)}
.sr-steps li::before{
	content:counter(s); position:absolute; left:24px; top:24px;
	width:40px; height:40px; background:var(--grad); color:#fff;
	border-radius:50%; display:flex; align-items:center; justify-content:center;
	font-size:18px; font-weight:800; box-shadow:var(--sh-accent);
}
.sr-steps b{display:block; font-size:20px; margin-bottom:4px}
.sr-steps span{font-size:17px; color:var(--ink-soft)}
.sr-steps em{color:var(--accent-ink); font-style:normal; font-weight:700}

/* plans */
.sr-plan-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:36px}
.sr-plan-grid-lg .sr-plan{padding:40px 32px}
.sr-plan{
	position:relative; border:1px solid var(--line); border-radius:var(--r-lg);
	padding:34px 28px; background:#fff; box-shadow:var(--sh-1);
	transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.sr-plan:hover{transform:translateY(-5px); box-shadow:var(--sh-3)}
.sr-plan-hot{
	border:1.5px solid transparent;
	background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;
	box-shadow:var(--sh-accent);
}
.sr-plan-badge{
	position:absolute; top:-15px; left:28px; background:var(--grad); color:#fff;
	font-size:14px; font-weight:800; letter-spacing:.02em;
	padding:6px 16px; border-radius:999px; box-shadow:var(--sh-accent);
}
.sr-plan-name{font-weight:800; letter-spacing:.08em; font-size:16px; color:var(--ink-soft)}
.sr-plan-price{font-size:34px; font-weight:800; color:var(--accent-ink); margin:8px 0 20px; letter-spacing:-.02em}
.sr-plan ul{margin:0; padding-left:0; list-style:none; font-size:17px; color:var(--ink-soft)}
.sr-plan li{margin:10px 0; padding-left:30px; position:relative}
.sr-plan li::before{content:"✓"; position:absolute; left:0; color:var(--good); font-weight:800}

/* CTA */
.sr-cta{
	text-align:center; padding:96px 48px; margin:110px 0 0;
	background:var(--grad); border-radius:var(--r-xl); color:#fff; box-shadow:var(--sh-accent);
}
.sr-cta h2{margin:0 0 22px; color:#fff; font-size:clamp(28px,4vw,40px); font-weight:800; letter-spacing:-.02em}
.sr-cta .sr-analyze-form{background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.32)}
.sr-cta .sr-analyze-form:focus-within{border-color:#fff; box-shadow:0 0 0 5px rgba(255,255,255,.22)}
.sr-cta .sr-analyze-form input{color:#fff}
.sr-cta .sr-analyze-form input::placeholder{color:rgba(255,255,255,.75)}
.sr-cta .sr-btn-primary{background:#fff; color:var(--accent-d); box-shadow:0 10px 26px rgba(0,0,0,.16)}
.sr-cta .sr-btn-primary:hover{filter:none; background:#f2f5ff}
.sr-analyze-form-cta{margin-top:0}

/* ---------------- login ---------------- */
.sr-login{
	max-width:520px; margin:110px auto; text-align:center;
	background:#fff; border:1px solid var(--line); border-radius:var(--r-xl);
	padding:60px 48px; box-shadow:var(--sh-2);
}
.sr-login h1{font-size:33px; font-weight:800; letter-spacing:-.02em}
.sr-muted{color:var(--ink-soft)}
.sr-fineprint{font-size:15px; color:var(--ink-faint); margin-top:30px}
.sr-gbtn{display:flex; justify-content:center; margin:34px 0 8px}
.sr-alert{
	background:var(--warn-bg); border:1px solid #f0d9a8; color:var(--warn-ink);
	border-radius:var(--r); padding:16px 18px; font-size:16px; margin:16px 0; text-align:left;
}
.sr-alert-ok{background:var(--good-bg); border-color:#bfe4cc; color:var(--good-ink)}

/* ---------------- analyze page ---------------- */
.sr-analyze-page{padding:44px 0 76px; min-height:64vh}
.sr-analyze-bar{
	display:flex; justify-content:space-between; align-items:flex-start;
	border-bottom:1px solid var(--line); padding-bottom:24px; margin-bottom:30px; gap:18px;
}
.sr-analyze-target{font-size:29px; font-weight:800; letter-spacing:-.02em}
.sr-analyze-quota{font-size:17px; margin-top:6px; color:var(--ink-soft)}
.sr-analyze-actions{display:flex; gap:10px; flex-shrink:0}

/* ---------------- modal ---------------- */
.sr-modal{
	position:fixed; inset:0; z-index:1000; padding:24px;
	display:flex; align-items:center; justify-content:center;
	background:rgba(15,20,30,.5);
	-webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
	opacity:1; transition:opacity .2s;
}
.sr-modal[aria-hidden="true"]{opacity:0; pointer-events:none}
.sr-modal-card{
	background:#fff; border:1px solid rgba(255,255,255,.6); border-radius:var(--r-xl);
	padding:48px 42px; max-width:520px; width:100%; text-align:center; box-shadow:var(--sh-3);
}
.sr-modal-card h3{margin:24px 0 8px; font-size:24px; font-weight:800}
.sr-modal-step{margin:0; color:var(--ink-soft); font-size:18px; min-height:24px}
.sr-modal-note{margin:22px 0 0; color:var(--ink-faint); font-size:15px}
.sr-modal-track{height:11px; background:var(--bg-tint); border-radius:999px; overflow:hidden; margin:24px 0 0}
.sr-modal-fill{height:100%; width:4%; background:var(--grad); border-radius:999px; position:relative; overflow:hidden; transition:width .5s ease}
.sr-modal-fill::after{
	content:""; position:absolute; inset:0;
	background-image:linear-gradient(90deg,rgba(255,255,255,.28) 25%,transparent 25% 50%,
		rgba(255,255,255,.28) 50% 75%,transparent 75%);
	background-size:28px 28px; animation:sr-stripe .9s linear infinite;
}
.sr-spinner{
	width:58px; height:58px; margin:0 auto; border-radius:50%;
	background:conic-gradient(from 90deg,transparent 0 25%,var(--accent) 300deg);
	-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));
	mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));
	animation:sr-spin .8s linear infinite;
}
@keyframes sr-spin{to{transform:rotate(1turn)}}
@keyframes sr-stripe{to{background-position:28px 0}}

/* ---------------- report ---------------- */
.sr-report{margin-top:10px}
.sr-rep-head{
	display:flex; justify-content:space-between; align-items:flex-start; gap:28px;
	border:1px solid var(--line); border-radius:var(--r-lg); padding:30px 32px;
	background:linear-gradient(180deg,#fff,var(--bg-soft)); box-shadow:var(--sh-1);
}
.sr-rep-domain{font-size:29px; font-weight:800; letter-spacing:-.02em}
.sr-rep-url{color:var(--ink-soft); font-size:15px; word-break:break-all; margin-top:5px}
.sr-rep-date{color:var(--ink-faint); font-size:14px; margin-top:4px}
.sr-grade{
	text-align:center; border:2px solid var(--accent); border-radius:var(--r-lg);
	padding:16px 24px; min-width:140px; background:var(--grad-soft); flex-shrink:0;
}
.sr-grade-letter{font-size:44px; font-weight:800; color:var(--accent-ink); line-height:1}
.sr-grade-num{font-size:15px; color:var(--ink-soft); margin-top:4px}
.sr-grade-num span{color:var(--ink-faint)}
.sr-grade-a,.sr-grade-b{border-color:var(--good); background:var(--good-bg)}
.sr-grade-a .sr-grade-letter,.sr-grade-b .sr-grade-letter{color:var(--good-ink)}
.sr-grade-d{border-color:var(--warn); background:var(--warn-bg)}
.sr-grade-d .sr-grade-letter{color:var(--warn-ink)}
.sr-grade-f{border-color:var(--bad); background:var(--bad-bg)}
.sr-grade-f .sr-grade-letter{color:var(--bad-ink)}
.sr-note{background:var(--warn-bg); border:1px solid #f0d9a8; color:var(--warn-ink);
	border-radius:var(--r); padding:14px 18px; font-size:16px; margin-top:18px}

.sr-scorebars{display:flex; gap:24px; margin:28px 0}
.sr-scorebar{flex:1; background:#fff; border:1px solid var(--line); border-radius:var(--r);
	padding:20px 22px; box-shadow:var(--sh-1)}
.sr-scorebar-top{display:flex; justify-content:space-between; font-weight:700; font-size:17px}
.sr-scorebar-top b{font-size:20px; color:var(--ink)}
.sr-track{height:13px; background:var(--bg-tint); border-radius:999px; overflow:hidden; margin-top:10px}
.sr-fill{height:100%; border-radius:999px; animation:sr-grow 1.1s var(--ease) both}
.sr-fill-g{background:linear-gradient(90deg,#12a150,#43cf82)}
.sr-fill-w{background:linear-gradient(90deg,#d5890a,#f0b640)}
.sr-fill-b{background:linear-gradient(90deg,#e14b4b,#f2827f)}
@keyframes sr-grow{from{width:0}}

.sr-summary{background:var(--grad-soft); border:1px solid rgba(59,116,240,.12);
	border-radius:var(--r-lg); padding:30px 32px; margin:28px 0}
.sr-summary h3{margin:0 0 10px; font-size:21px; font-weight:800}
.sr-summary h4{margin:22px 0 8px; font-size:15px; color:var(--ink-soft);
	text-transform:uppercase; letter-spacing:.05em}
.sr-summary p{margin:0}
.sr-summary ol{margin:8px 0 0; padding-left:0; list-style:none; counter-reset:p}
.sr-summary li{
	counter-increment:p; position:relative; padding:10px 0 10px 40px; font-size:18px;
	border-bottom:1px dashed rgba(59,116,240,.18);
}
.sr-summary li:last-child{border-bottom:0}
.sr-summary li::before{
	content:counter(p); position:absolute; left:0; top:10px;
	width:26px; height:26px; background:var(--accent); color:#fff; border-radius:8px;
	font-size:14px; font-weight:800; display:flex; align-items:center; justify-content:center;
}

.sr-cat{margin:38px 0}
.sr-cat>h3{
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	font-size:22px; font-weight:800; padding-bottom:14px; margin-bottom:20px;
	border-bottom:2px solid; border-image:var(--grad) 1;
}
.sr-cat-score{
	float:none; font-size:15px; font-weight:800; color:#fff; background:var(--grad);
	padding:6px 16px; border-radius:999px; box-shadow:var(--sh-accent); flex-shrink:0;
}
.sr-item{
	border:1px solid var(--line); border-left:5px solid var(--line); border-radius:var(--r);
	padding:22px 26px; margin:16px 0; background:#fff; box-shadow:var(--sh-1);
	transition:transform .16s var(--ease),box-shadow .16s var(--ease);
}
.sr-item:hover{transform:translateY(-2px); box-shadow:var(--sh-2)}
.sr-item-good{border-left-color:var(--good); background:linear-gradient(90deg,var(--good-bg),#fff 22%)}
.sr-item-warn{border-left-color:var(--warn); background:linear-gradient(90deg,var(--warn-bg),#fff 22%)}
.sr-item-bad{border-left-color:var(--bad); background:linear-gradient(90deg,var(--bad-bg),#fff 22%)}
.sr-item-head{display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:14px}
.sr-item-label{font-weight:800; font-size:19px}
.sr-pill{font-size:14px; padding:4px 13px; border-radius:999px; font-weight:800;
	white-space:nowrap; letter-spacing:.02em}
.sr-good{background:var(--good-bg); color:var(--good-ink)}
.sr-warn{background:var(--warn-bg); color:var(--warn-ink)}
.sr-bad{background:var(--bad-bg); color:var(--bad-ink)}
.sr-na{background:var(--bg-tint); color:var(--ink-faint)}
.sr-info{background:#e7efff; color:var(--accent-ink)}
.sr-item dl{display:grid; grid-template-columns:170px 1fr; gap:10px 20px; margin:2px 0 0}
.sr-item dt{color:var(--ink-faint); font-size:14px; font-weight:800;
	text-transform:uppercase; letter-spacing:.04em; padding-top:3px}
.sr-item dd{margin:0; font-size:18px; line-height:1.6}
.sr-item dd.sr-action{color:var(--accent-ink); font-weight:700}

.sr-plans{margin-top:50px; border-top:1px dashed var(--line); padding-top:32px}
.sr-plans h3{margin:0 0 6px; font-size:23px; font-weight:800}
.sr-plans-lead{color:var(--ink-soft); font-size:17px; margin:0 0 22px}

.sr-lead{margin-top:38px; background:var(--bg-soft); border:1px solid var(--line);
	border-radius:var(--r-lg); padding:32px}
.sr-lead h3{margin:0 0 18px; font-size:23px; font-weight:800}
.sr-lead-form label{display:block; font-size:16px; font-weight:700; color:var(--ink-soft); margin-bottom:16px}
.sr-lead-form input,.sr-lead-form select,.sr-lead-form textarea{
	width:100%; margin-top:8px; padding:14px 16px; border:1px solid var(--line);
	border-radius:var(--r-sm); font-size:18px; background:#fff; font-family:inherit;
	transition:border-color .15s,box-shadow .15s;
}
.sr-lead-form input:focus,.sr-lead-form select:focus,.sr-lead-form textarea:focus{
	outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(59,116,240,.14);
}
.sr-lead-row{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.sr-lead-done{color:var(--good-ink); font-weight:800; background:var(--good-bg);
	border-radius:var(--r-sm); padding:14px 16px; margin:16px 0 0}

/* ---------------- mypage ---------------- */
.sr-mypage{padding:44px 0 76px}
.sr-mypage h1{font-size:33px; font-weight:800; letter-spacing:-.02em}
.sr-tabnav{margin:24px 0 32px}
.sr-tabs{display:flex; gap:10px; flex-wrap:wrap; align-items:center;
	border-bottom:1px solid var(--line)}
.sr-tabs a{padding:12px 20px; font-size:17px; font-weight:600; color:var(--ink-soft);
	border-bottom:2px solid transparent; border-radius:var(--r-sm) var(--r-sm) 0 0; transition:.15s}
.sr-tabs a:hover{color:var(--ink); background:var(--bg-soft); text-decoration:none}
.sr-tabs a.on{color:var(--accent-ink); border-bottom-color:var(--accent); font-weight:800}
.sr-tabs-admin{margin-top:12px; padding:6px 8px 0; background:var(--bg-soft);
	border:1px solid var(--line); border-bottom:1px solid var(--line);
	border-radius:12px 12px 0 0}
.sr-tabs-admin a{font-size:16px; padding:10px 16px}
.sr-tabs-label{font-size:12px; font-weight:800; color:var(--ink-faint);
	letter-spacing:.09em; text-transform:uppercase; padding:0 10px}
.sr-tabs-div{font-size:13px; color:var(--ink-faint); margin:0 6px 0 16px;
	text-transform:uppercase; letter-spacing:.08em}

/* pagination : << < 1..10 > >> */
.sr-pager{display:flex; gap:6px; justify-content:center; align-items:center;
	flex-wrap:wrap; margin-top:26px}
.sr-pager a,.sr-pager span{
	min-width:40px; height:40px; padding:0 11px;
	display:inline-flex; align-items:center; justify-content:center;
	border:1px solid var(--line); border-radius:var(--r-sm);
	font-size:15px; font-weight:700; color:var(--ink-soft); background:#fff;
	transition:border-color .12s,color .12s;
}
.sr-pager a:hover{border-color:var(--accent); color:var(--accent-ink); text-decoration:none}
.sr-pager span{color:var(--ink-faint); background:var(--bg-soft)}
.sr-pager span.on{background:var(--grad); border-color:transparent; color:#fff; box-shadow:var(--sh-accent)}
.sr-card{border:1px solid var(--line); border-radius:var(--r-lg); padding:32px;
	margin-bottom:24px; background:#fff; box-shadow:var(--sh-1)}
.sr-card h3{margin:0 0 14px; font-size:21px; font-weight:800}
.sr-profile{display:flex; align-items:center; gap:18px}
.sr-profile img{width:68px; height:68px; border-radius:50%; object-fit:cover;
	box-shadow:0 0 0 3px #fff,0 0 0 5px var(--accent-2)}
.sr-profile b{display:block; font-size:21px; font-weight:800}
.sr-profile span{color:var(--ink-soft); font-size:17px}
.sr-quota-box{display:flex; gap:40px; margin-top:22px; padding-top:22px; border-top:1px solid var(--line-2)}
.sr-quota-box span{display:block; font-size:14px; color:var(--ink-faint);
	text-transform:uppercase; letter-spacing:.04em}
.sr-quota-box b{font-size:23px; font-weight:800}
.sr-form-inline{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
.sr-form-inline input[type=password],.sr-form-inline input[type=text]{
	flex:1; min-width:240px; padding:13px 15px; border:1px solid var(--line);
	border-radius:var(--r-sm); font-family:inherit; font-size:17px;
}
.sr-form-inline input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(59,116,240,.14)}
.sr-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.sr-form-grid label{font-size:16px; font-weight:700; color:var(--ink-soft)}
.sr-form-grid input{width:100%; margin-top:8px; padding:13px 15px; border:1px solid var(--line);
	border-radius:var(--r-sm); font-family:inherit; font-size:17px}
.sr-form-grid input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(59,116,240,.14)}
.sr-table-wrap{overflow-x:auto; border:1px solid var(--line-2); border-radius:var(--r)}
.sr-table{width:100%; border-collapse:collapse; font-size:16px}
.sr-table th,.sr-table td{padding:14px 18px; text-align:left; vertical-align:top}
.sr-table th{background:var(--bg-soft); font-weight:800; font-size:14px;
	text-transform:uppercase; letter-spacing:.03em; color:var(--ink-soft);
	white-space:nowrap; border-bottom:1px solid var(--line)}
.sr-table td{border-bottom:1px solid var(--line-2)}
.sr-table tbody tr{transition:background .12s}
.sr-table tbody tr:hover{background:var(--bg-soft)}
.sr-table tbody tr:last-child td{border-bottom:0}
.sr-mini-form{display:flex; gap:7px; align-items:center; flex-wrap:wrap}
.sr-mini-form input[type=number]{width:64px; padding:7px 8px; border:1px solid var(--line); border-radius:8px; font-size:15px}
.sr-mini-form input[type=text]{padding:7px 10px; border:1px solid var(--line); border-radius:8px; min-width:180px; font-size:15px}
.sr-mini-form select{padding:7px 8px; border:1px solid var(--line); border-radius:8px; font-size:15px}
.sr-tag-bad{background:var(--bad-bg); color:var(--bad-ink); font-size:14px; padding:3px 10px;
	border-radius:999px; font-weight:800}
.sr-lead-card{border:1px solid var(--line); border-radius:var(--r); padding:22px 24px;
	margin-bottom:16px; box-shadow:var(--sh-1)}
.sr-lead-card-top{display:flex; gap:16px; flex-wrap:wrap; align-items:baseline}
.sr-lead-card-top b{color:var(--accent-ink); font-weight:800}
.sr-lead-msg{background:var(--bg-soft); border-radius:var(--r-sm); padding:14px 16px;
	font-size:16px; margin:10px 0}

/* ---------------- footer (premium dark) ---------------- */
.sr-footer{
	margin-top:120px; background:var(--dk); color:var(--dk-ink); font-size:16px;
}
.sr-footer-inner{
	max-width:var(--maxw); margin:0 auto; padding:72px var(--pad) 48px;
	display:grid; grid-template-columns:1fr 1.8fr; gap:64px;
}
.sr-footer-brand .sr-logo-mark{width:42px; height:42px; box-shadow:none}
.sr-footer-brand b{display:block; color:#fff; font-size:20px; font-weight:800;
	margin:16px 0 12px; letter-spacing:-.01em}
.sr-footer-brand p{margin:0; color:var(--dk-soft); font-size:16px; line-height:1.75; max-width:340px}
.sr-footer-co{color:#fff; font-weight:800; font-size:18px; margin-bottom:20px; letter-spacing:-.01em}
.sr-footer-biz dl{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 48px; margin:0}
.sr-footer-biz dl>div{display:flex; gap:14px; font-size:15.5px; line-height:1.6}
.sr-footer-biz dt{flex-shrink:0; color:var(--dk-faint); font-weight:600; min-width:116px}
.sr-footer-biz dd{margin:0; color:var(--dk-ink)}
.sr-footer-biz dd a{color:var(--dk-ink)}
.sr-footer-biz .sr-f-addr{grid-column:1 / -1}
.sr-footer-bar{
	max-width:var(--maxw); margin:0 auto; padding:24px var(--pad);
	border-top:1px solid var(--dk-line);
	display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
	color:var(--dk-faint); font-size:14px;
}
.sr-footer-links a{color:var(--dk-soft); margin-left:22px}
.sr-footer-links a:first-child{margin-left:0}
.sr-footer-links a:hover{color:#fff; text-decoration:none}
/* legacy fallback (구 마크업 캐시 대비) */
.sr-footer-contact span{margin-left:18px}

/* ---------------- entrance motion ---------------- */
@media (prefers-reduced-motion:no-preference){
	.sr-hero-inner>*{animation:sr-rise .6s var(--ease) both}
	.sr-hero-inner>*:nth-child(2){animation-delay:.06s}
	.sr-hero-inner>*:nth-child(3){animation-delay:.12s}
	.sr-hero-inner>*:nth-child(4){animation-delay:.18s}
	.sr-hero-inner>*:nth-child(5){animation-delay:.24s}
	.sr-3col article{animation:sr-rise .55s var(--ease) both}
	.sr-3col article:nth-child(2){animation-delay:.08s}
	.sr-3col article:nth-child(3){animation-delay:.16s}
	.sr-cat{animation:sr-rise .5s var(--ease) both}
}
@keyframes sr-rise{from{opacity:0; transform:translateY(16px)}}

/* ---------------- responsive ---------------- */
@media (max-width:1080px){
	:root{--pad:28px}
	.sr-hero{padding:100px var(--pad) 72px}
	.sr-sec{padding:72px 0}
	.sr-sec-alt{padding:56px 28px; border-radius:var(--r-lg)}
	.sr-cta{padding:64px 28px; border-radius:var(--r-lg); margin-top:80px}
	.sr-3col,.sr-plan-grid{grid-template-columns:1fr}
	.sr-footer-inner{grid-template-columns:1fr; gap:44px; padding:56px 28px 40px}
	.sr-footer-biz dl{grid-template-columns:1fr}
}
@media (max-width:760px){
	:root{--pad:18px}
	body{font-size:18px}
	.sr-hero{padding:76px var(--pad) 56px}
	.sr-lead-row,.sr-form-grid{grid-template-columns:1fr}
	.sr-analyze-form{flex-direction:column; border-radius:18px}
	.sr-analyze-form input,.sr-analyze-form button{width:100%}
	.sr-analyze-form input{height:54px}
	.sr-analyze-form button{height:54px}
	.sr-item dl{grid-template-columns:1fr; gap:2px 0}
	.sr-item dt{margin-top:12px}
	.sr-scorebars{flex-direction:column; gap:14px}
	.sr-rep-head,.sr-analyze-bar{flex-direction:column}
	.sr-grade{align-self:flex-start}
	.sr-login{margin:56px auto; padding:40px 26px}
	.sr-topbar{padding:14px 18px}
	.sr-nav{gap:16px; font-size:15px}
	.sr-footer-bar{flex-direction:column; align-items:flex-start}
}

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