.detail-hero{display:grid;grid-template-columns:1fr .72fr;gap:82px;align-items:center;padding:98px max(22px,calc((100% - 1180px)/2));background:var(--sand)}.detail-copy h1{max-width:660px;margin:15px 0 18px;font:500 clamp(48px,6vw,82px)/1.02 var(--serif);letter-spacing:-.05em}.detail-copy h1 em{color:var(--sage);font-style:italic}.detail-category{display:inline-block;padding:5px 9px;background:var(--lime);color:var(--moss);font-size:10px;font-weight:800}.detail-lede{max-width:560px;color:var(--muted);font-size:16px}.detail-hero .button{display:inline-block;margin-top:10px;background:var(--moss);color:#fff;padding:13px 18px;font-size:13px;font-weight:800}.visual-wrap{position:relative}.detail-image{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border:1px solid var(--line);background:var(--white)}.visual-note{position:absolute;right:14px;bottom:14px;padding:5px 8px;background:rgba(255,254,250,.9);color:var(--moss);font-size:9px;letter-spacing:.12em}.detail-section,.quotes,.history{padding:88px max(22px,calc((100% - 1180px)/2));background:var(--white)}.detail-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.detail-section h2,.review-section h2,.quotes h2,.history h2{margin:0;font:500 clamp(38px,5vw,62px)/1.05 var(--serif);letter-spacing:-.04em}.detail-section h2 em,.review-section h2 em{color:var(--sage);font-style:italic}.specs{border-top:1px solid var(--line)}.specs p{padding:16px 0;border-bottom:1px solid var(--line);margin:0;color:var(--muted);font-size:13px}.specs b{display:block;color:var(--moss);font-size:10px;letter-spacing:.1em;margin-bottom:4px}.review-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding:88px max(22px,calc((100% - 1180px)/2));background:#dce8df}.review-section h2{color:var(--moss)}.review-score-large{display:flex;align-items:end;gap:10px;margin:24px 0 0;color:var(--muted)}.review-score-large strong{font:500 60px var(--serif);color:#80653d;line-height:1}.review-score-large span{font-size:12px}.review-columns{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.review-columns article{padding:22px;background:var(--white)}.review-columns .caution{background:#f4ebe3}.review-columns b{display:block;margin-bottom:13px;color:var(--moss);font-size:11px;letter-spacing:.12em}.review-columns .caution b{color:#8a624b}.review-columns ul{margin:0;padding-left:17px;color:var(--muted);font-size:12px}.review-columns li+li{margin-top:10px}.quotes{background:#f1f3eb}.quotes h2{margin-bottom:28px;color:var(--moss)}.quote-table,.history-table{background:var(--white);border:1px solid var(--line);overflow:auto}.quote-head,.quote-line,.history-table>div{display:grid;grid-template-columns:1.45fr repeat(4,1fr);min-width:720px;gap:18px;padding:15px;align-items:center;border-bottom:1px solid var(--line);font-size:12px}.quote-head{background:var(--sand);font-size:11px}.quote-line:last-child,.history-table>div:last-child{border-bottom:0}.quote-line span,.quote-line strong{color:var(--moss)}.quote-line.reference{background:#f7f4ec}.quote-note{margin:13px 0 0;color:var(--muted);font-size:11px}.history{background:var(--white)}.history h2{color:var(--moss);margin-bottom:28px}.history-table>div{grid-template-columns:1fr repeat(3,1fr)}.history-table>div:first-child{background:var(--sand);font-size:11px}.history-table strong{color:#80653d}.detail-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.alert-button{border:1px solid #b7c0ae;background:transparent;color:var(--moss);padding:8px 11px;font-size:11px}.alert-button:hover,.alert-button.saved{border-color:#9d604d;color:#9d604d;background:#fff8f1}.detail-alert{padding:13px 15px;font-weight:800}.pending{color:#9a6e55!important}.alert-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px;margin:0 0 26px;background:#f1f3eb;border:1px solid var(--line)}.alert-panel strong{display:block;color:var(--moss);font:500 22px var(--serif)}.alert-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.alert-form label{display:flex;flex-direction:column;gap:5px;color:var(--moss);font-size:10px;font-weight:800;letter-spacing:.08em}.alert-form input{width:112px;border:1px solid var(--line);background:var(--white);padding:9px 10px;color:var(--ink);font-size:12px;outline:0}.alert-form input:focus{border-color:var(--sage);box-shadow:0 0 0 2px rgba(130,151,124,.16)}