*{margin:0;padding:0;box-sizing:border-box}
:root{--c-bg:#FBF8F4;--c-surface:#FFFFFF;--c-text:#2C2420;--c-text-light:#6B5D54;--c-accent:#D4792A;--c-accent-dark:#B55E25;--c-accent-light:#F5D5B8;--c-green:#4A7C59;--c-green-light:#E8F0EA;--c-red:#C0392B;--c-red-light:#FDEDEC;--c-border:#E8E0D8;--radius:12px;--shadow:0 2px 12px rgba(44,36,32,.08);--font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--c-text);background:var(--c-bg);line-height:1.6;font-size:16px}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
img{max-width:100%;height:auto}
a{color:var(--c-accent-dark);text-decoration:none}
a:hover{text-decoration:underline}

/* Header */
.site-header{background:var(--c-surface);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:100}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;color:var(--c-text)}
.logo:hover{text-decoration:none}
.main-nav{display:flex;gap:20px}
.main-nav a{font-size:.9rem;color:var(--c-text-light);padding:4px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.main-nav a:hover{color:var(--c-accent-dark);border-bottom-color:var(--c-accent);text-decoration:none}

/* Hero */
.hero{background:linear-gradient(135deg,#F5E6D3 0%,#FBF8F4 100%);padding:64px 0 48px;text-align:center}
.hero h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.2;margin-bottom:16px;color:var(--c-text)}
.hero-sub{font-size:1.1rem;color:var(--c-text-light);max-width:640px;margin:0 auto 32px}
.hero-stats{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.stat{text-align:center}
.stat strong{display:block;font-size:1.6rem;color:var(--c-accent-dark)}
.stat span{font-size:.85rem;color:var(--c-text-light)}

/* Sections */
.content-section{padding:64px 0}
.content-section.alt{background:var(--c-surface)}
.section-note{color:var(--c-text-light);margin-bottom:32px;max-width:700px}
h2{font-size:1.6rem;margin-bottom:8px}
h3{font-size:1.15rem;margin-bottom:8px}

/* Assessment */
.assessment-section{padding:64px 0;background:var(--c-surface);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}
.assessment-layout{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
.assessment-form-wrap{position:sticky;top:80px}
.q-block{border:1px solid var(--c-border);border-radius:var(--radius);padding:20px;margin-bottom:16px;background:var(--c-bg)}
.q-block legend{font-weight:600;margin-bottom:12px;font-size:.95rem}
.radio-group{display:flex;flex-direction:column;gap:8px}
.radio-group label{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer;padding:6px 8px;border-radius:8px;transition:background .15s}
.radio-group label:hover{background:var(--c-accent-light)}
.radio-group input{accent-color:var(--c-accent)}
.form-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.btn{padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;border:2px solid transparent;transition:all .15s}
.btn-secondary{background:var(--c-accent-light);color:var(--c-accent-dark);border-color:var(--c-accent-light)}
.btn-secondary:hover{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}
.btn-ghost{background:transparent;color:var(--c-text-light);border-color:var(--c-border)}
.btn-ghost:hover{color:var(--c-text);border-color:var(--c-text-light)}

/* Score Card */
.assessment-results{background:var(--c-bg);border-radius:var(--radius);padding:24px;border:1px solid var(--c-border);position:sticky;top:80px}
.score-card{text-align:center;margin-bottom:24px}
.score-circle{position:relative;width:120px;height:120px;margin:0 auto 12px}
.score-ring{width:100%;height:100%;transform:rotate(-90deg)}
.score-ring-bg{fill:none;stroke:var(--c-border);stroke-width:8}
.score-ring-fill{fill:none;stroke:var(--c-accent);stroke-width:8;stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:264;transition:stroke-dashoffset .6s ease}
.score-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.8rem;font-weight:700;color:var(--c-accent-dark)}
.score-label{font-size:.9rem;color:var(--c-text-light)}
.result-details h3,.result-warnings h3{font-size:1rem;margin-bottom:8px}
.result-details p{font-size:.9rem;color:var(--c-text-light);margin-bottom:12px}
.result-details ul,.result-warnings ul{list-style:none;padding:0}
.result-details li,.result-warnings li{font-size:.85rem;padding:4px 0;padding-left:20px;position:relative}
.result-details li::before{content:"✓";position:absolute;left:0;color:var(--c-green);font-weight:700}
.result-warnings li::before{content:"!";position:absolute;left:0;color:var(--c-red);font-weight:700}
.result-warnings{background:var(--c-red-light);border-radius:8px;padding:16px;margin-top:16px}

/* Cost Table */
.table-wrap{overflow-x:auto;margin-bottom:40px}
.cost-table{width:100%;border-collapse:collapse;font-size:.88rem}
.cost-table th,.cost-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--c-border)}
.cost-table thead th{background:var(--c-accent-light);color:var(--c-accent-dark);font-weight:600}
.cost-table thead th:first-child{border-radius:8px 0 0 8px}
.cost-table thead th:last-child{border-radius:0 8px 8px 0}
.cost-table tbody tr:hover{background:var(--c-accent-light)}
.cost-table tfoot td{font-weight:600;background:var(--c-accent-light)}
.cost-projection h3{margin-bottom:16px}
.projection-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px}
.proj-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:20px}
.proj-card h4{font-size:1rem;margin-bottom:8px;color:var(--c-accent-dark)}
.proj-card p{font-size:.85rem;color:var(--c-text-light);margin-bottom:4px}
.proj-card strong{color:var(--c-text)}
.fine-print{font-size:.8rem;color:var(--c-text-light);font-style:italic}

/* Setup Grid */
.setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.setup-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:24px}
.setup-card h3{color:var(--c-accent-dark);margin-bottom:12px}
.setup-card ul{list-style:none;padding:0;margin-bottom:12px}
.setup-card li{font-size:.88rem;padding:4px 0;padding-left:18px;position:relative}
.setup-card li::before{content:"•";position:absolute;left:0;color:var(--c-accent);font-weight:700}
.setup-note{font-size:.82rem;color:var(--c-text-light);font-style:italic}

/* Red Flags */
.flag-list{display:grid;gap:16px;margin-bottom:32px}
.flag{background:var(--c-bg);border-left:4px solid var(--c-red);border-radius:0 var(--radius) var(--radius) 0;padding:20px}
.flag h3{font-size:1rem;color:var(--c-red);margin-bottom:6px}
.flag p{font-size:.88rem;color:var(--c-text-light)}
.good-signs{background:var(--c-green-light);border-radius:var(--radius);padding:24px}
.good-signs h3{color:var(--c-green);margin-bottom:12px}
.good-signs ul{list-style:none;padding:0}
.good-signs li{font-size:.88rem;padding:4px 0;padding-left:20px;position:relative}
.good-signs li::before{content:"✓";position:absolute;left:0;color:var(--c-green);font-weight:700}

/* Timeline */
.timeline{display:grid;gap:24px;margin-bottom:40px}
.tl-item{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start}
.tl-day{background:var(--c-accent);color:#fff;font-weight:700;font-size:.85rem;padding:8px 12px;border-radius:8px;text-align:center}
.tl-content h3{margin-bottom:6px}
.tl-content p{font-size:.9rem;color:var(--c-text-light)}
.pro-tips{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:24px}
.pro-tips h3{margin-bottom:12px}
.pro-tips ul{list-style:none;padding:0}
.pro-tips li{font-size:.88rem;padding:6px 0;padding-left:20px;position:relative;border-bottom:1px solid var(--c-border)}
.pro-tips li:last-child{border-bottom:none}
.pro-tips li::before{content:"→";position:absolute;left:0;color:var(--c-accent);font-weight:700}

/* Checklist */
.checklist{list-style:none;padding:0;margin:24px 0}
.checklist li{padding:10px 0;border-bottom:1px solid var(--c-border);font-size:.92rem}
.checklist li:last-child{border-bottom:none}
.checklist input{accent-color:var(--c-accent);margin-right:10px;transform:scale(1.2)}
.checklist-note{font-size:.85rem;color:var(--c-text-light);font-style:italic}

/* Footer */
.site-footer{background:var(--c-text);color:rgba(255,255,255,.7);padding:40px 0 24px;font-size:.85rem}
.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}
.footer-brand{display:flex;align-items:center;gap:8px;font-weight:700;color:#fff}
.footer-nav{display:flex;gap:20px}
.footer-nav a{color:rgba(255,255,255,.7)}
.footer-nav a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom a{color:var(--c-accent-light)}

/* Responsive */
@media(max-width:900px){
  .assessment-layout{grid-template-columns:1fr}
  .assessment-form-wrap,.assessment-results{position:static}
  .main-nav{display:none}
  .hero{padding:40px 0 32px}
  .content-section{padding:40px 0}
  .tl-item{grid-template-columns:90px 1fr}
}
@media(max-width:600px){
  .container{padding:0 16px}
  .hero-stats{gap:20px}
  .stat strong{font-size:1.3rem}
  .form-actions{flex-direction:column}
  .btn{width:100%;text-align:center}
  .footer-bottom{flex-direction:column}
  .tl-item{grid-template-columns:1fr}
  .tl-day{width:fit-content}
}

/* Focus styles */
:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px;border-radius:4px}

/* Print */
@media print{
  .site-header,.site-footer,.assessment-form-wrap,.form-actions{display:none}
  .assessment-layout{grid-template-columns:1fr}
  body{font-size:12pt}
  h1{font-size:18pt}
}


/* Factory-injected deployment helpers. The AI owns the site design above this block. */
.ad-unit {
  width: min(100%, 720px);
  min-height: 120px;
  margin: 24px auto;
  display: block;
}

.legal-page {
  width: min(900px, calc(100% - 32px));
  margin: 40px auto;
}

.factory-fallback-nav {
  width: min(900px, calc(100% - 32px));
  margin: 24px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  font-size: 0.95rem;
}

.factory-fallback-nav a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
