.cot-calculator-wrapper {
	--cot-font-family: Georgia, "Times New Roman", serif;
	--cot-bg: #fbf9f6;
	--cot-surface: #ffffff;
	--cot-ink: #2b2a28;
	--cot-muted: #6b645d;
	--cot-border: #e7e1da;
	--cot-accent: #8b5d74;
	--cot-accent-soft: #f3e7ec;
	--cot-secondary: #6f8f78;
	--cot-secondary-soft: #e9f0ea;
	--cot-error: #a8402a;
	--cot-error-soft: #f8e9e5;
	--cot-radius: 18px;
	--cot-radius-sm: 10px;
	--cot-shadow: 0 6px 20px rgba(43, 42, 40, 0.06);
	--cot-max-width: 640px;

	max-width: var(--cot-max-width);
	margin: 0 auto;
	font-family: inherit;
	color: var(--cot-ink);
}

.cot-calculator {
	background: var(--cot-surface);
	border: 1px solid var(--cot-border);
	border-radius: var(--cot-radius);
	box-shadow: var(--cot-shadow);
	padding: 28px 24px 24px;
}

@media (min-width: 640px) {
	.cot-calculator {
		padding: 40px 44px 36px;
	}
}

.cot-notice {
	border-radius: var(--cot-radius-sm);
	padding: 16px 18px;
	font-size: 0.95rem;
}

.cot-notice--error {
	background: var(--cot-error-soft);
	color: var(--cot-error);
	border: 1px solid rgba(168, 64, 42, 0.25);
}

.cot-loading {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--cot-muted);
	font-size: 0.95rem;
	padding: 12px 0;
}

.cot-header {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 22px;
}

.cot-header h2 {
	margin: 0 0 6px;
	font-size: 1.4rem;
	line-height: 1.25;
}

.cot-header p {
	margin: 0;
	color: var(--cot-muted);
	font-size: 0.95rem;
	line-height: 1.5;
}

.cot-progress {
	margin-bottom: 26px;
}

.cot-progress-label {
	display: flex;
	justify-content: space-between;
	font-size: 0.82rem;
	color: var(--cot-muted);
	margin-bottom: 8px;
}

.cot-progress-track {
	height: 6px;
	background: var(--cot-border);
	border-radius: 999px;
	overflow: hidden;
}

.cot-progress-fill {
	height: 100%;
	background: var(--cot-accent);
	border-radius: 999px;
	transition: width 0.25s ease;
}

@media (prefers-reduced-motion: reduce) {
	.cot-progress-fill { transition: none; }
}

.cot-question h3 {
	font-size: 1.15rem;
	margin: 0 0 4px;
	line-height: 1.35;
}

.cot-question-hint {
	color: var(--cot-muted);
	font-size: 0.88rem;
	margin: 0 0 18px;
}

.cot-options {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-bottom: 6px;
}

@media (min-width: 480px) {
	.cot-options[data-columns="2"] {
		grid-template-columns: 1fr 1fr;
	}
}

.cot-option {
	position: relative;
}

.cot-option input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.cot-option label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1.5px solid var(--cot-border);
	border-radius: var(--cot-radius-sm);
	padding: 14px 16px;
	cursor: pointer;
	font-size: 0.98rem;
	background: var(--cot-surface);
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.cot-option label:hover {
	border-color: var(--cot-accent);
	background: var(--cot-accent-soft);
}

.cot-option input[type="radio"]:focus-visible + label {
	outline: 3px solid var(--cot-accent);
	outline-offset: 2px;
}

.cot-option input[type="radio"]:checked + label {
	border-color: var(--cot-accent);
	background: var(--cot-accent-soft);
	font-weight: 600;
}

.cot-option-check {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1.5px solid var(--cot-border);
	flex: 0 0 auto;
	display: inline-block;
	position: relative;
}

.cot-option input[type="radio"]:checked + label .cot-option-check {
	border-color: var(--cot-accent);
	background: var(--cot-accent);
	box-shadow: inset 0 0 0 3px var(--cot-surface);
}

.cot-error-message {
	color: var(--cot-error);
	font-size: 0.88rem;
	margin: 10px 0 0;
	display: none;
}

.cot-error-message.is-visible {
	display: block;
}

.cot-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 26px;
	gap: 12px;
}

.cot-btn {
	appearance: none;
	border: none;
	border-radius: var(--cot-radius-sm);
	padding: 12px 22px;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	transition: transform 0.1s ease, background-color 0.15s ease;
}

.cot-btn:active { transform: translateY(1px); }

.cot-btn-primary {
	background: var(--cot-accent);
	color: #fff;
	margin-left: auto;
}

.cot-btn-primary:hover { background: #7a4f64; }

.cot-btn-secondary {
	background: transparent;
	color: var(--cot-muted);
	border: 1.5px solid var(--cot-border);
}

.cot-btn-secondary:hover {
	border-color: var(--cot-accent);
	color: var(--cot-accent);
}

.cot-btn:focus-visible {
	outline: 3px solid var(--cot-accent);
	outline-offset: 2px;
}

.cot-result-heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 4px;
}

.cot-result-heading h3 {
	margin: 0;
	font-size: 1.25rem;
}

.cot-result-percentage {
	font-size: 2.1rem;
	font-weight: 700;
	color: var(--cot-accent);
	margin: 10px 0 2px;
	line-height: 1.1;
}

.cot-result-oneinx {
	color: var(--cot-muted);
	font-size: 0.98rem;
	margin: 0 0 14px;
}

.cot-result-classification {
	display: inline-block;
	background: var(--cot-secondary-soft);
	color: var(--cot-secondary);
	border-radius: 999px;
	padding: 5px 14px;
	font-size: 0.85rem;
	font-weight: 600;
	margin-bottom: 18px;
}

.cot-result-factors {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.cot-result-factors li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 8px;
	font-size: 0.92rem;
	line-height: 1.45;
	color: var(--cot-ink);
}

.cot-result-factors li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--cot-accent);
}

.cot-disclaimer {
	background: var(--cot-bg);
	border: 1px solid var(--cot-border);
	border-radius: var(--cot-radius-sm);
	padding: 14px 16px;
	font-size: 0.85rem;
	color: var(--cot-muted);
	margin-bottom: 20px;
	line-height: 1.5;
}

.cot-result-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.cot-copy-feedback {
	font-size: 0.82rem;
	color: var(--cot-secondary);
	margin-left: 4px;
	display: none;
}

.cot-copy-feedback.is-visible {
	display: inline;
}

/* ---- Page-level content (SEO sections around the calculator) ---- */

.cot-page {
	--cot-content-width: 760px;
	color: var(--cot-ink, #2b2a28);
}

.cot-hero {
	max-width: var(--cot-content-width);
	margin: 0 auto;
	padding: 8px 20px 36px;
	text-align: center;
}

.cot-hero h1 {
	font-size: clamp(1.7rem, 3vw, 2.4rem);
	line-height: 1.2;
	margin: 0 0 14px;
}

.cot-hero p {
	font-size: 1.05rem;
	line-height: 1.6;
	color: var(--cot-muted, #6b645d);
	max-width: 560px;
	margin: 0 auto 20px;
}

.cot-section {
	max-width: var(--cot-content-width);
	margin: 0 auto;
	padding: 44px 20px;
	border-top: 1px solid var(--cot-border, #e7e1da);
}

.cot-section:first-of-type { border-top: none; }

.cot-section h2 {
	font-size: 1.55rem;
	margin: 0 0 16px;
	line-height: 1.3;
}

.cot-section h3 {
	font-size: 1.1rem;
	margin: 22px 0 8px;
}

.cot-section p {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--cot-ink, #2b2a28);
	margin: 0 0 14px;
}

.cot-section ul,
.cot-section ol {
	line-height: 1.7;
	padding-left: 22px;
	margin: 0 0 14px;
}

.cot-section li { margin-bottom: 6px; }

.cot-steps {
	counter-reset: cot-step;
	list-style: none;
	padding: 0;
	display: grid;
	gap: 14px;
}

.cot-steps li {
	counter-increment: cot-step;
	position: relative;
	padding: 16px 18px 16px 54px;
	background: var(--cot-surface, #fff);
	border: 1px solid var(--cot-border, #e7e1da);
	border-radius: 12px;
}

.cot-steps li::before {
	content: counter(cot-step);
	position: absolute;
	left: 16px;
	top: 16px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--cot-accent-soft, #f3e7ec);
	color: var(--cot-accent, #8b5d74);
	font-weight: 700;
	font-size: 0.85rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cot-steps li strong { display: block; margin-bottom: 4px; }

.cot-factor-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 18px 0;
}

@media (min-width: 620px) {
	.cot-factor-grid { grid-template-columns: 1fr 1fr; }
}

.cot-factor-card {
	background: var(--cot-surface, #fff);
	border: 1px solid var(--cot-border, #e7e1da);
	border-radius: 12px;
	padding: 16px 18px;
}

.cot-factor-card h3 {
	margin: 0 0 6px;
	font-size: 1rem;
}

.cot-factor-card p {
	margin: 0;
	font-size: 0.92rem;
	color: var(--cot-muted, #6b645d);
}

.cot-stat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
	margin: 18px 0 22px;
}

.cot-stat-card {
	background: var(--cot-bg, #fbf9f6);
	border-radius: 12px;
	padding: 16px;
	text-align: center;
}

.cot-stat-number {
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--cot-accent, #8b5d74);
	margin-bottom: 4px;
}

.cot-stat-label {
	font-size: 0.82rem;
	color: var(--cot-muted, #6b645d);
	line-height: 1.4;
}

.cot-faq-item {
	border: 1px solid var(--cot-border, #e7e1da);
	border-radius: 12px;
	padding: 4px 18px;
	margin-bottom: 12px;
}

.cot-faq-item summary {
	cursor: pointer;
	padding: 14px 0;
	font-weight: 600;
	font-size: 1rem;
	list-style: none;
}

.cot-faq-item summary::-webkit-details-marker { display: none; }

.cot-faq-item summary::after {
	content: "+";
	float: right;
	font-weight: 400;
	color: var(--cot-muted, #6b645d);
}

.cot-faq-item[open] summary::after { content: "–"; }

.cot-faq-item p {
	padding-bottom: 16px;
	margin: 0;
	color: var(--cot-muted, #6b645d);
}

.cot-sources {
	font-size: 0.85rem;
	color: var(--cot-muted, #6b645d);
	line-height: 1.7;
}

.cot-sources a {
	color: var(--cot-accent, #8b5d74);
}


/* Premium-theme integration layer. Calculation behavior is unchanged. */
.cot-preserved-section{padding:0;margin:0}
.cot-preserved-section .cot-calculator-wrapper{
  --cot-bg:#f7f4ee;
  --cot-surface:#fff;
  --cot-ink:#183c37;
  --cot-muted:#526a64;
  --cot-border:#dbe3de;
  --cot-accent:#a45e49;
  --cot-accent-soft:#faeee9;
  --cot-secondary:#2f514b;
  --cot-secondary-soft:#edf3ef;
  --cot-error:#9f4b4b;
  --cot-error-soft:#f8e9e5;
  --cot-shadow:0 18px 54px rgba(28,62,55,.12);
  --cot-max-width:760px;
}
.cot-preserved-section .cot-calculator{border-radius:var(--radius-lg,28px)}
.cot-preserved-section .cot-header h2,
.cot-preserved-section .cot-question h3,
.cot-preserved-section .cot-result-heading h3{font-family:var(--cot-font-family);color:var(--cot-ink);font-weight:500;letter-spacing:-.02em}
.cot-preserved-section .cot-btn{border-radius:999px;min-height:46px;padding:11px 20px}
.cot-preserved-section .cot-btn-primary{background:var(--cot-ink,#183c37)}
.cot-preserved-section .cot-btn-primary:hover{background:#0f2f2b}
.cot-preserved-section .cot-option label:hover,
.cot-preserved-section .cot-option input[type="radio"]:checked + label{border-color:var(--cot-blush-dark,#a45e49);background:#faeee9}
.cot-preserved-section .cot-option input[type="radio"]:checked + label .cot-option-check{border-color:var(--cot-blush-dark,#a45e49);background:var(--cot-blush-dark,#a45e49)}
.cot-preserved-section .cot-progress-fill{background:var(--cot-blush-dark,#a45e49)}
.cot-preserved-section .cot-result-percentage{color:var(--cot-ink,#183c37);font-family:var(--cot-font-family)}
.cot-preserved-section .cot-result-classification{background:var(--cot-sage-2,#edf3ef);color:var(--cot-ink-2,#2f514b)}
.cot-preserved-section .cot-result-factors li::before{background:var(--cot-blush-dark,#a45e49)}
@media (max-width:640px){.cot-preserved-section .cot-calculator-wrapper{max-width:100%}.cot-preserved-section .cot-calculator{border-radius:20px}}


/* Homepage SEO-content integration — content preserved, presentation aligned to the premium theme. */
.cot-home-seo{
	--cot-content-width:840px;
	--cot-bg:#f7f4ee;
	--cot-surface:#fff;
	--cot-ink:#183c37;
	--cot-muted:#526a64;
	--cot-border:#dbe3de;
	--cot-accent:#a45e49;
	--cot-accent-soft:#faeee9;
	background:var(--cot-paper,#fffdfa);
	padding:0 0 2rem;
}
.cot-home-seo .cot-section{
	padding:4.4rem 20px;
}
.cot-home-seo .cot-section h2{
	font-family:var(--cot-font-family);
	font-size:clamp(2rem,4vw,3rem);
	font-weight:500;
	letter-spacing:-.025em;
	line-height:1.12;
	color:var(--cot-ink,#183c37);
	margin-bottom:1.15rem;
}
.cot-home-seo .cot-section h3{
	font-family:var(--cot-font-family);
	font-weight:600;
	color:var(--cot-ink,#183c37);
}
.cot-home-seo .cot-section p,
.cot-home-seo .cot-section li{
	color:var(--cot-text,#243b37);
	font-size:1.01rem;
	line-height:1.8;
}
.cot-home-seo .cot-steps li,
.cot-home-seo .cot-factor-card,
.cot-home-seo .cot-faq-item{
	border-color:var(--cot-line,#dbe3de);
	box-shadow:0 8px 26px rgba(28,62,55,.035);
}
.cot-home-seo .cot-steps li,
.cot-home-seo .cot-factor-card{
	background:#fff;
}
.cot-home-seo .cot-steps li::before{
	background:#faeee9;
	color:var(--cot-blush-dark,#a45e49);
}
.cot-home-seo .cot-factor-card{
	padding:1.35rem 1.45rem;
	border-radius:16px;
}
.cot-home-seo .cot-factor-card h3{
	font-size:1.16rem;
}
.cot-home-seo .cot-stat-grid{
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:.8rem;
}
.cot-home-seo .cot-stat-card{
	background:var(--cot-sage-2,#edf3ef);
	border:1px solid var(--cot-line,#dbe3de);
	border-radius:16px;
	padding:1.3rem .9rem;
}
.cot-home-seo .cot-stat-number{
	font-family:var(--cot-font-family);
	font-weight:600;
	color:var(--cot-ink,#183c37);
}
.cot-home-seo .cot-stat-label{color:var(--cot-muted,#526a64)}
.cot-home-seo .cot-faq-item{
	background:#fff;
	border-radius:14px;
	padding:4px 20px;
}
.cot-home-seo .cot-faq-item summary{
	color:var(--cot-ink,#183c37);
	font-weight:800;
}
.cot-home-seo .cot-faq-item summary::after,
.cot-home-seo .cot-sources a{color:var(--cot-blush-dark,#a45e49)}
.cot-home-seo .cot-disclaimer{
	background:var(--cot-sage-2,#edf3ef);
	border-color:var(--cot-line,#dbe3de);
	color:var(--cot-muted,#526a64);
}
.cot-home-seo #sources{
	padding-bottom:5rem;
}
@media (max-width:820px){
	.cot-home-seo .cot-section{padding:3.4rem 14px}
	.cot-home-seo .cot-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
	.cot-home-seo .cot-stat-grid{grid-template-columns:1fr 1fr}
	.cot-home-seo .cot-factor-grid{grid-template-columns:1fr}
}

/* v1.3.0 mobile refinements — presentation only; calculator logic is unchanged. */
@media (max-width: 640px) {
	.cot-calculator-wrapper { width: 100%; max-width: 100%; }
	.cot-calculator { border-radius: 16px; padding: 22px 16px 18px; box-shadow: 0 10px 32px rgba(43,42,40,.07); }
	.cot-header { margin-bottom: 18px; }
	.cot-header h2 { font-size: 1.2rem; }
	.cot-header p { font-size: .88rem; line-height: 1.45; }
	.cot-progress { margin-bottom: 21px; }
	.cot-question h3 { font-size: 1.08rem; line-height: 1.32; }
	.cot-question-hint { font-size: .82rem; margin-bottom: 14px; }
	.cot-options { gap: 8px; }
	.cot-option label { min-height: 52px; padding: 12px 13px; font-size: .93rem; line-height: 1.3; }
	.cot-nav { margin-top: 20px; }
	.cot-btn { min-height: 46px; padding: 11px 17px; }
	.cot-result-percentage { font-size: 1.72rem; }
	.cot-result-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
	.cot-result-actions .cot-btn { width: 100%; margin: 0; }
	.cot-copy-feedback { margin: 0; text-align: center; }
}

@media (max-width: 380px) {
	.cot-calculator { padding-left: 13px; padding-right: 13px; }
	.cot-option label { padding-left: 11px; padding-right: 11px; font-size: .9rem; }
	.cot-btn { font-size: .9rem; }
}

/* v1.4.0 calculator mobile UX refinements — calculation logic remains unchanged. */
@media (max-width:640px){
  .cot-preserved-section .cot-calculator{padding:20px 15px 17px;border-radius:16px}
  .cot-header{gap:0;margin-bottom:17px}
  .cot-header h2{font-size:1.16rem;line-height:1.25}
  .cot-header p{font-size:.86rem;line-height:1.46}
  .cot-progress{margin-bottom:19px}
  .cot-progress-label{font-size:.76rem}
  .cot-question h3{font-size:1.04rem;line-height:1.34;margin-bottom:5px}
  .cot-question-hint{line-height:1.45}
  .cot-options{gap:8px}
  .cot-option label{min-height:52px;padding:12px 13px;font-size:.92rem;line-height:1.32}
  .cot-option-check{width:20px;height:20px}
  .cot-nav{margin-top:19px;gap:9px}
  .cot-btn{min-height:48px;padding:11px 16px}
  .cot-nav .cot-btn{min-width:92px}
  .cot-result-percentage{font-size:1.68rem;line-height:1.18;overflow-wrap:anywhere}
  .cot-result-oneinx{font-size:.91rem;line-height:1.45}
  .cot-result-factors li{font-size:.9rem}
  .cot-disclaimer{padding:12px 13px;font-size:.8rem;line-height:1.5}
  .cot-result-actions{gap:8px}
}
@media (max-width:420px){
  .cot-nav{display:grid;grid-template-columns:1fr 1fr}
  .cot-nav .cot-btn{width:100%;margin:0}
  .cot-nav .cot-btn:only-child{grid-column:2}
  .cot-result-actions{grid-template-columns:1fr}
  .cot-result-actions .cot-btn{width:100%;margin:0}
}


/* v1.6.0 QA refinements — presentation/accessibility only. */
.cot-faq-item summary:focus-visible{outline:3px solid rgba(164,94,73,.35);outline-offset:3px;border-radius:8px}
@media (max-width:380px){
  .cot-result-percentage{font-size:1.52rem}
  .cot-result-classification{white-space:normal;line-height:1.35}
}
