.torba-content { --torba-ink:#191919; --torba-yellow:#ffe500; --torba-border:#dddcd5; color:var(--torba-ink); font-family:inherit; font-size:1rem; line-height:1.65; }
.torba-content *, .torba-content *::before, .torba-content *::after { box-sizing:border-box; }
.torba-content a { color:inherit; text-decoration:underline; text-underline-offset:.18em; }
.torba-content :is(a,button,input,select):focus-visible { outline:3px solid #175bb8; outline-offset:4px; }
.torba-content img { display:block; max-width:100%; height:auto; }
.torba-content img[hidden] { display:none; }
.torba-content .torba-photo-unavailable { display:flex; min-height:180px; align-items:center; justify-content:center; padding:24px; background:#f3f2ee; color:#4b4b45; }
.torba-content :is(h2,h3) { color:var(--torba-ink); line-height:1.25; }
.torba-content h2 { font-size:clamp(1.55rem,3vw,2.25rem); margin:0 0 1.2rem; }
.torba-content h3, .torba-content .torba-card h3 { font-size:1.25rem; margin:0 0 .65rem; }
.torba-content figure { margin:0; }
.torba-content figcaption { color:#4b4b45; font-size:.92rem; padding:.65rem 0; overflow-wrap:anywhere; }
.torba-content .torba-lead { font-size:clamp(1.1rem,2vw,1.35rem); line-height:1.6; }
.torba-project > :is(.torba-lead,.torba-project-facts,.torba-project-story) { max-width:48rem; margin-inline:auto; }
.torba-content .torba-project-facts { display:flex; flex-wrap:wrap; gap:1rem 3rem; padding:1.3rem 0; margin:1.5rem 0 2rem; border-block:1px solid var(--torba-border); }
.torba-content.torba-project > .torba-project-facts { margin-inline:auto; }
.torba-project-facts > div { min-width:0; overflow-wrap:anywhere; }
.torba-project-facts dt { font-weight:700; }
.torba-project-facts dd { margin:0; }
.torba-content :is(.torba-project-gallery,.torba-comparison,.torba-video) { margin:3rem 0; }
.torba-content :is(.torba-card-grid,.torba-photo-grid) { display:grid; gap:24px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.torba-content .torba-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.torba-photo-grid figure { align-self:start; min-width:0; }
.torba-photo-grid img { width:100%; height:auto; border-radius:4px; }
/* Complete photographs in consistent desktop frames; captions stay outside. */
@media(min-width:601px) { .torba-content .torba-photo-grid img { aspect-ratio:4/3; object-fit:contain; background:#f4f3ec; } }
.torba-content .torba-card { border:1px solid var(--torba-border); border-radius:6px; overflow:hidden; background:#fff; min-width:0; }
.torba-card .torba-card-image { display:block; }
.torba-card-image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.torba-card .torba-card-body { padding:1.25rem; }
.torba-card .torba-card-meta { font-size:.875rem; color:#55554e; margin:.35rem 0; }
.torba-card p:last-child { margin-bottom:0; }
.torba-content .torba-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; border:2px solid transparent; border-radius:4px; background:var(--torba-yellow); color:#111; font:inherit; font-weight:700; line-height:1.3; text-decoration:none; cursor:pointer; }
.torba-content .torba-button:hover { background:#f3d900; border-color:#111; }
.torba-content .torba-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; margin:0 0 2rem; }
.torba-filters label { display:block; font-weight:700; margin-bottom:6px; }
.torba-filters select { min-width:180px; max-width:100%; min-height:48px; padding:8px 36px 8px 12px; border:1px solid #76766e; background:#fff; color:#191919; font:inherit; }
.torba-filters > a { min-height:48px; display:inline-flex; align-items:center; }
.torba-pagination ul { display:flex; list-style:none; gap:8px; flex-wrap:wrap; margin:2rem 0; padding:0; }
.torba-pagination :is(a,span) { display:flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; padding:8px 12px; border:1px solid var(--torba-border); }
.torba-pagination .current { background:var(--torba-yellow); color:#111; font-weight:700; }
.torba-compare-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.torba-compare-ready .torba-compare-images { display:block; position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:4px; }
.torba-compare-ready .torba-compare-images figure { position:absolute; inset:0; }
.torba-compare-ready .torba-compare-images img { width:100%; height:100%; object-fit:cover; }
.torba-compare-ready .torba-compare-after { clip-path:inset(0 calc(100% - var(--torba-reveal,50%)) 0 0); }
.torba-compare-ready figcaption { position:absolute; top:12px; right:12px; padding:5px 12px; border-radius:3px; background:#111; color:#fff; font-weight:700; }
.torba-compare-ready .torba-compare-after figcaption { left:12px; right:auto; }
.torba-compare-control { padding:16px 0; }
.torba-compare-control[hidden] { display:none; }
.torba-compare-control label { display:block; font-weight:700; }
.torba-compare-control input { display:block; width:100%; height:44px; padding:0; accent-color:#191919; cursor:ew-resize; }
.torba-compare-control p { font-size:.9rem; margin:0; }
.torba-content .torba-sr-only { border:0; clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; white-space:nowrap; }
@media(max-width:900px) { .torba-content .torba-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .torba-content :is(.torba-card-grid,.torba-photo-grid) { grid-template-columns:1fr; } .torba-content .torba-filters > div { flex:1 1 100%; } .torba-filters select { width:100%; } .torba-content :is(.torba-project-gallery,.torba-comparison,.torba-video) { margin:2.25rem 0; } .torba-compare-images { grid-template-columns:1fr; } }
