:root{
  --ink:#172126;--muted:#647077;--paper:#fff;--wash:#f3f6f5;--line:#d8e0dd;
  --accent:#245d58;--accent2:#bd6a4e;--dark:#183330;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
img{max-width:100%;display:block}.shell{width:min(calc(100% - 40px),var(--max));margin:auto}.shell--narrow{max-width:880px}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:99}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.topbar__inner{min-height:72px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand__mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:12px}
nav{display:flex;gap:20px}nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:650}button{border:0;border-radius:7px;background:var(--accent);color:#fff;padding:11px 16px;font-weight:700;cursor:pointer}
.cover{padding:88px 0 72px;background:linear-gradient(135deg,#eef4f1,#fff 54%,#f8eee9);border-bottom:1px solid var(--line)}
.cover__meta{display:flex;flex-wrap:wrap;gap:10px 26px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.eyebrow{margin:0 0 10px;color:var(--accent2);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
h1{max-width:850px;margin:18px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,78px);line-height:1.02;letter-spacing:-.035em}
.subtitle{margin:0 0 45px;font-size:22px;color:var(--muted)}
.cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.info-card{padding:24px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.74)}.info-card>span,.value small{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.info-card strong{display:block;margin-top:6px;font-size:19px}.info-card p{margin:2px 0 12px;color:var(--muted)}
.status-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.status-grid div{padding:17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.status-grid div:nth-child(3n){border-right:0}.status-grid div:nth-last-child(-n+3){border-bottom:0}.status-grid span,.status-grid strong{display:block}.status-grid span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.status-grid strong{margin-top:3px;font-size:14px}
.resolution-panel{display:grid;grid-template-columns:290px 1fr;gap:36px;align-items:center;margin-top:18px;padding:28px;border-radius:12px;background:var(--dark);color:#fff}.resolution-panel span,.resolution-panel strong{display:block}.resolution-panel span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;opacity:.76}.resolution-panel strong{font-family:Georgia,serif;font-size:46px}.resolution-panel p{margin:0;color:#d9e6e2}
.section{padding:82px 0}.section--tint{background:var(--wash)}.section--dark{background:var(--dark);color:#fff}.section-heading{margin-bottom:34px}.section-heading--center{text-align:center}.section-heading h2{margin:0;font-family:Georgia,serif;font-size:clamp(32px,4vw,48px);line-height:1.12}.section-heading>p:last-child{max-width:680px;color:var(--muted)}.section-heading--center>p:last-child{margin-left:auto;margin-right:auto}
.prose p{font-size:18px;color:#344046}.summary-table{margin-top:36px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.summary-table>div{display:flex;justify-content:space-between;gap:20px;padding:15px 18px;border-bottom:1px solid var(--line)}.summary-table>div:last-child{border-bottom:0}.summary-table__total{background:var(--dark);color:#fff;font-size:19px}.summary-table--large>div{padding:18px 22px;font-size:18px}

/* Assessment Principles grid (retained) */
.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.principle-grid article{padding:22px;border:1px solid var(--line);border-radius:10px;background:#fff}.principle-grid article>span{font-size:12px;color:var(--accent2);font-weight:800}.principle-grid h3{margin:8px 0;font-size:17px}.principle-grid p{margin:0;color:var(--muted);font-size:14px}

/* Assessment Basis grid (new — Criterion 2) */
.basis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.basis-card{padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff}
.basis-card h3{margin:0 0 8px;font-size:17px;color:var(--accent)}
.basis-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}

/* Lease Summary grid (new — Criterion 3) */
.lease-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.lease-card{padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff}
.lease-card h3{margin:0 0 8px;font-size:17px;color:var(--accent)}
.lease-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.lease-grid .lease-card:nth-child(4),
.lease-grid .lease-card:nth-child(5){grid-column:span 1}

/* Item assessments */
.assessment{margin:0 0 42px;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 12px 32px rgba(20,45,42,.06)}.assessment__header{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:22px 26px;background:var(--wash);border-bottom:1px solid var(--line)}.assessment__header span{color:var(--accent2);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.assessment__header h3{margin:3px 0 0;font-family:Georgia,serif;font-size:31px}.value{text-align:right}.value strong{display:block;font-family:Georgia,serif;font-size:31px;color:var(--accent)}
.assessment__grid{display:grid;grid-template-columns:42% 58%}.assessment figure{margin:0;background:#e9eeec}.assessment figure img{width:100%;height:100%;min-height:380px;object-fit:cover}.assessment figcaption{padding:9px 12px;color:var(--muted);font-size:12px;background:#fff;border-top:1px solid var(--line)}
.assessment__body{padding:28px}.assessment__body--wide{padding:28px}.assessment dl{margin:0}.assessment dl div{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--line)}.assessment dl div:last-child{margin-bottom:0}.assessment dt{font-size:12px;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.assessment dd{margin:4px 0 0;color:#39454a}.confidence{display:flex;justify-content:space-between;margin-top:22px;padding:12px 14px;border-radius:8px;background:var(--wash)}.confidence span{color:var(--muted)}.photo-pair{display:grid;grid-template-columns:1fr 1fr}.photo-pair figure img{height:390px;object-fit:cover}.assessment--text .assessment__body{min-height:0}

/* IKEA reference thumbnails */
.ikea-refs{display:flex;gap:14px;margin-top:14px}
.ikea-ref{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--ink);transition:border-color .2s}
.ikea-ref:hover{border-color:var(--accent)}
.ikea-ref img{width:64px;height:64px;object-fit:contain;border-radius:4px;background:#f5f5f5}
.ikea-ref span{font-size:14px;font-weight:600}
.ikea-refs--validation{margin-top:10px;margin-bottom:10px}

/* Market validation */
.validation-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.validation-grid article{padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff}.validation-grid h3{margin-top:0}.validation-grid p{margin-bottom:7px}.note{color:var(--muted);font-size:14px}.source-note{margin-top:18px;padding:20px 22px;border-left:4px solid var(--accent2);background:#fff}.source-note p{margin:4px 0 0;color:var(--muted)}

/* Validation subheadings and video refs */
.validation-subheading{margin:42px 0 0;font-family:Georgia,serif;font-size:24px;color:var(--ink)}
.validation-intro{margin:8px 0 20px;color:var(--muted);font-size:15px}
.video-ref{margin:6px 0}.video-ref a{color:var(--accent);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.video-ref a:hover{border-bottom-color:var(--accent)}

/* Video card thumbnails */
.video-card__link{position:relative;display:block;border-radius:8px;overflow:hidden;margin-bottom:14px;background:#000}
.video-card__thumb{width:100%;display:block;opacity:.9;transition:opacity .2s}
.video-card__link:hover .video-card__thumb{opacity:1}
.video-card__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;display:grid;place-items:center;background:rgba(0,0,0,.65);color:#fff;border-radius:50%;font-size:18px;pointer-events:none;transition:background .2s}
.video-card__link:hover .video-card__play{background:rgba(255,0,0,.85)}

/* Cost estimate reference */
.cost-estimate-ref{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px;padding:24px;border:1px solid var(--line);border-radius:10px;background:#fff}
.cost-estimate-figure{margin:0}
.cost-estimate-figure img{width:100%;border-radius:6px;border:1px solid var(--line)}
.cost-estimate-figure figcaption{margin-top:10px;font-size:13px;color:var(--muted);line-height:1.5}
.cost-estimate-note p{margin:0 0 10px;font-size:15px;color:#344046}.cost-estimate-note p:last-child{margin-bottom:0}

/* Cost breakdown list */
.cost-breakdown{list-style:none;margin:12px 0;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cost-breakdown li{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:15px}
.cost-breakdown li:last-child{border-bottom:0}
.cost-breakdown li span{color:var(--muted)}
.cost-breakdown li strong{font-weight:600;white-space:nowrap}

/* Reference thumbnail link */
.ref-thumb{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--accent);font-size:13px;font-weight:600;transition:border-color .2s}
.ref-thumb:hover{border-color:var(--accent)}
.ref-thumb img{width:48px;height:48px;object-fit:contain;border-radius:4px;background:#f5f5f5}

.center-note{text-align:center;color:var(--muted)}.opinion p{font-size:19px;color:#e3ece9}.section--dark .section-heading h2{color:#fff}.section--dark .eyebrow{color:#e7a78f}

/* Appendix */
.appendix-stack{display:grid;gap:18px}.appendix-stack article{padding:25px;border:1px solid var(--line);border-radius:10px;background:#fff}.appendix-stack h3{margin-top:0;font-family:Georgia,serif;font-size:26px}.appendix table{width:100%;border-collapse:collapse}.appendix th,.appendix td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.appendix th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}

footer{padding:25px 0;background:#101e1c;color:#c7d4d0;font-size:12px}footer .shell{display:flex;justify-content:space-between;gap:20px}

/* ── Responsive ── */
@media(max-width:900px){
  nav{display:none}
  .principle-grid{grid-template-columns:1fr 1fr}
  .basis-grid{grid-template-columns:1fr 1fr}
  .lease-grid{grid-template-columns:1fr 1fr}
  .status-grid{grid-template-columns:1fr 1fr}
  .status-grid div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}
  .assessment__grid{grid-template-columns:1fr}
  .resolution-panel{grid-template-columns:1fr}
  .cover-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .shell{width:min(calc(100% - 24px),var(--max))}
  .topbar__inner{min-height:62px}
  .brand small{display:none}
  button{font-size:12px}
  .cover{padding:55px 0}
  .ikea-refs{flex-direction:column}
  .cost-estimate-ref{grid-template-columns:1fr}
  .status-grid,.principle-grid,.basis-grid,.lease-grid,.validation-grid,.photo-pair{grid-template-columns:1fr}
  .assessment__header{align-items:flex-start}
  .value strong{font-size:25px}
  .assessment figure img,.photo-pair figure img{min-height:260px;height:300px}
  footer .shell{display:grid}
}
