:root{color-scheme:dark;--bg:#09090b;--panel:#141416;--line:#ffffff24;--ink:#f3f1ec;--muted:#aeada9;--red:#e32935}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,select,input,summary,textarea{outline-offset:5px}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--red)}.shell{width:min(1280px,calc(100% - 48px));margin:auto}.site-nav{height:90px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.site-nav img{object-fit:contain;display:block}.site-nav nav,footer nav{display:flex;gap:25px;font-size:12px}.site-nav a:hover,footer a:hover{color:var(--red)}.intro{padding:80px 0 35px;max-width:940px}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.18em;color:var(--muted)}h1{font-size:clamp(40px,6vw,78px);line-height:.94;letter-spacing:-.065em;margin:22px 0 28px}h1 em{font-style:normal;color:var(--red)}.lede{font-size:18px;max-width:710px}.reference-note{font-size:12px;max-width:780px;color:var(--muted);border-left:2px solid #70706c;padding-left:16px}.filters{display:grid;grid-template-columns:1fr 1fr 1.4fr auto;align-items:end;gap:14px;padding:22px;background:var(--panel);border:1px solid var(--line)}.filters label{display:grid;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.filters input,.filters select{min-width:0;width:100%;background:#202024;color:white;border:1px solid #ffffff38;border-radius:0;padding:12px;font-size:14px;letter-spacing:normal;text-transform:none;min-height:46px}.reset{border:0;background:transparent;color:#e5e3df;padding:12px}.results-line{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0;font-size:12px;color:var(--muted)}.component-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.component{background:var(--panel);border:1px solid var(--line);scroll-margin-top:20px}.component[hidden]{display:none}.photo-open{display:block;position:relative;padding:0;width:100%;border:0;color:white;background:#151719;overflow:hidden}.photo-open img{width:100%;height:auto;aspect-ratio:1;display:block;object-fit:contain;transition:transform .3s}.photo-open:hover img{transform:scale(1.025)}.photo-tag{position:absolute;bottom:12px;left:12px;font-size:10px;padding:4px 7px;color:#d9d9d6;background:#09090bcc}.enlarge{position:absolute;top:12px;right:14px;font-size:23px}.component-copy{padding:23px}.meta{display:flex;justify-content:space-between;gap:8px;color:#e88a90;font-size:10px;letter-spacing:.07em;text-transform:uppercase}.meta span{color:var(--muted);white-space:nowrap}.component h2{font-size:24px;line-height:1.15;letter-spacing:-.025em;margin:13px 0}.kind{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#efeeee!important}.component p{color:var(--muted);font-size:14px}.component details{border-top:1px solid var(--line);margin-top:22px;padding-top:15px}.component summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;font-size:13px}.component summary::-webkit-details-marker{display:none}.component details[open] summary span{transform:rotate(45deg)}.detail-content p{font-size:13px}.copy-enquiry{background:transparent;border:1px solid #ffffff50;color:white;padding:10px 12px;width:100%;text-align:left}.copy-enquiry:hover{border-color:var(--red)}.enquiry-help{font-size:11px!important}.ready{padding:70px 0;border-bottom:1px solid var(--line);margin-top:25px}.ready h2{font-size:30px;line-height:1.2;letter-spacing:-.03em}.ready a{border-bottom:2px solid var(--red);padding-bottom:5px}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 0;color:var(--muted);font-size:12px}dialog{background:#141416;color:var(--ink);border:1px solid #ffffff40;padding:22px;max-width:min(820px,94vw);max-height:92vh;overflow:auto}dialog::backdrop{background:#000c}dialog h2{font-size:19px;margin:0}.gallery-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}dialog button{color:white;background:#252529;border:1px solid #ffffff35;padding:9px 14px}#gallery-image{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain}#gallery-thumbs{display:flex;gap:9px;margin-top:12px}#gallery-thumbs button{padding:0;border:2px solid transparent;background:#151719}#gallery-thumbs button[aria-pressed=true]{border-color:var(--red)}#gallery-thumbs img{width:64px;height:64px;display:block;object-fit:cover}dialog p{font-size:12px;color:var(--muted)}#enquiry{width:560px}textarea{width:100%;background:#202024;color:white;border:1px solid #ffffff40;padding:12px;resize:vertical}.enquiry-actions{display:flex;gap:12px;margin-top:14px}#empty{padding:45px;border:1px solid var(--line)}@media(max-width:1000px){.component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1}}@media(max-width:620px){.shell{width:calc(100% - 28px)}.site-nav{height:78px}.site-nav img{width:125px;height:34px}.site-nav nav a:first-child{display:none}.site-nav nav{font-size:11px}.intro{padding:48px 0 25px}.lede{font-size:16px}.filters{padding:14px;gap:12px}.search-field{grid-column:1/-1}.filters .reset{grid-column:1/-1;text-align:left;padding:3px}.component-grid{grid-template-columns:1fr}.results-line{align-items:flex-start}.results-line span{max-width:160px;text-align:right}.component-copy{padding:22px}.ready{padding:45px 0}footer{flex-direction:column}footer nav{gap:20px}dialog{padding:14px}.gallery-header h2{font-size:16px}}
.filters{grid-template-columns:1fr 1.2fr 1fr auto}
.component-grid[data-state="idle"]{display:none}
.selection-prompt{min-height:230px;border:1px solid var(--line);background:linear-gradient(135deg,#151518,#0c0c0e);display:flex;align-items:center;gap:24px;padding:42px;margin-bottom:28px}
.selection-prompt[hidden]{display:none}.selection-prompt>span{font-size:54px;line-height:1;color:#e32935;font-weight:800;letter-spacing:-.06em}.selection-prompt strong{font-size:24px}.selection-prompt p{margin:8px 0 0;color:var(--muted);max-width:590px}
@media(max-width:1100px){.filters{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.selection-prompt{min-height:190px;padding:26px;align-items:flex-start}.selection-prompt>span{font-size:36px}.selection-prompt strong{font-size:19px}}
