/* Shared identity: the supplied logo is used intact. Screen blending removes its black ground visually. */
.brand-symbol{border:0;width:46px;height:48px;background:none;flex-shrink:0}
.brand-symbol img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;transition:transform .5s var(--ease)}
.brand:hover .brand-symbol img{transform:translate(3px,-2px) rotate(-4deg)}
.footer-brand{display:flex;align-items:center;gap:22px}
.footer-mark{width:clamp(50px,6vw,90px);height:auto;mix-blend-mode:screen}
.subpage{--paper:#181611;--ink:#f1ede5;--muted:#aea696;--line:#3a352c;background:#181611;color:#f1ede5}
.subpage .header{background:#181611;border-bottom:1px solid var(--line)}
.subpage .page-top{position:relative;isolation:isolate;overflow:hidden;background:#1b1914;padding:34px clamp(20px,2.6vw,56px) 35px}
.subpage .page-top:after{content:'';position:absolute;z-index:-1;right:-28px;top:-100px;width:clamp(240px,30vw,510px);height:510px;background:url('../assets/brand-mark.png') center/contain no-repeat;mix-blend-mode:screen;opacity:.035;transform:rotate(-16deg);pointer-events:none;animation:brand-drift 15s ease-in-out infinite alternate}
.subpage .page-top h1{max-width:none;font-size:clamp(38px,4.5vw,76px);letter-spacing:-2px;line-height:1.1;margin:12px 0 20px}
.subpage .page-top h1 em,.subpage h2 em{color:var(--lime)}
.subpage .breadcrumb{margin-bottom:22px;color:#aea696;gap:10px}
.subpage .page-top .eyebrow{color:#b9b2a3;margin-bottom:12px;font-size:12px}
.subpage .page-lead,.subpage .source-note{color:#bfb8ab;margin-bottom:0}
.subpage .page-actions{margin-top:22px;gap:24px}
.subpage .button.dark{background:var(--lime);color:#26221b}
.subpage .text-link{border-color:#746b58;color:#f1ede5}
.subpage .child-pages{padding:16px clamp(20px,2.6vw,56px);background:#181611;gap:8px}
.subpage .child-pages a{color:#d2cec5;background:#201d16;border-color:#3d382e;font-size:14px;padding:9px 14px}
.subpage .child-pages a:hover{background:var(--lime);color:#26221b}
.subpage .page-content{width:100%;max-width:none;margin:0;padding:12px clamp(12px,1.4vw,30px) 35px}
.subpage .content-block{padding:18px 0;border:0}
.subpage .content-block+.content-block{border-top:1px solid #2d2922}
.subpage .content-copy{max-width:88ch;padding:0 clamp(8px,1.2vw,26px)}
.subpage .content-copy h2{font-size:clamp(25px,2.8vw,42px);margin-bottom:15px}
.subpage .content-copy h3{margin-bottom:12px}
.subpage .content-copy p{color:#cbc6bc;margin-bottom:12px;line-height:1.75}
.subpage .content-links{padding:0 clamp(8px,1.2vw,26px);margin-top:12px;gap:8px 15px}
.subpage .content-links a{color:#e4dccc;border-color:#585142;font-size:14px}
.subpage .content-links a:hover{color:var(--lime)}
/* Six tiles make one asymmetrical composition. The complete image remains in the lightbox. */
.subpage .content-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(135px,14vw,255px);gap:12px;margin:14px 0 0;align-items:stretch}
.subpage .gallery-image{grid-column:span 4;grid-row:span 1;min-width:0;min-height:0;background:#211e18;border-radius:2px;isolation:isolate;transition:box-shadow .4s,transform .6s var(--ease)}
.subpage .gallery-image:nth-child(6n+1){grid-column:span 7;grid-row:span 2}
.subpage .gallery-image:nth-child(6n+2),.subpage .gallery-image:nth-child(6n+3){grid-column:span 5}
.subpage .gallery-image:nth-child(6n+4){grid-column:span 4;grid-row:span 2}
.subpage .gallery-image:nth-child(6n+5),.subpage .gallery-image:nth-child(6n+6){grid-column:span 8}
.subpage .gallery-image img{width:100%;height:100%;max-height:none;object-fit:cover;transition:transform .9s var(--ease),filter .7s;filter:brightness(.96)}
.subpage .gallery-image:hover{box-shadow:0 0 0 1px rgba(201,168,107,0.4);z-index:1}
.subpage .gallery-image:hover img{transform:scale(1.025);filter:brightness(1.04)}
.subpage .gallery-image span{background:var(--lime);color:#171510;opacity:.85;width:38px;height:38px}
.subpage .gallery-image:hover span{opacity:1}
.subpage .content-gallery.single{grid-template-columns:1fr;grid-auto-rows:auto}
.subpage .content-gallery.single .gallery-image{grid-column:auto;grid-row:auto;max-height:80vh}
.subpage .content-gallery.single img{max-height:80vh;height:auto;object-fit:contain}
.subpage .content-gallery:has(>.gallery-image:nth-child(2):last-child){grid-auto-rows:clamp(240px,30vw,560px)}
.subpage .content-gallery:has(>.gallery-image:nth-child(2):last-child)>.gallery-image{grid-row:span 1}
.subpage .content-gallery:has(>.gallery-image:nth-child(4):last-child)>.gallery-image:nth-child(4){grid-column:span 12;grid-row:span 1}
.subpage .content-gallery:has(>.gallery-image:nth-child(5):last-child)>.gallery-image:nth-child(5){grid-row:span 2}
.subpage .plan-gallery .gallery-image img{object-fit:contain;background:#27241d;filter:none}
.subpage .embed-gate{margin:12px 0;background:#221f18;border-color:#3f3a30;padding:35px 24px}
.subpage .embed-symbol{color:var(--lime)}
.subpage .embed-gate h3{margin:10px 0;font-size:24px}
.subpage .embed-gate p{color:#b8b1a2}
.subpage .embed-gate.loaded{padding:0}
.subpage .embed-gate iframe{height:76vh;min-height:440px;background:#14120e}
.subpage .external-view{color:#c9a86b}
.subpage .page-end{padding:40px 24px;background:#201d17;border-bottom:1px solid #3f3a30}
.subpage .page-end h2{font-size:clamp(28px,3vw,44px)}
.subpage .footer{padding:48px clamp(20px,2.6vw,56px) 24px;background:#181611}
.subpage .footer>p{margin-bottom:25px}
.subpage .catalog-section,.subpage .directory{max-width:none;width:100%;padding:28px clamp(20px,2.6vw,56px) 45px}
.subpage .catalog-tools{margin-bottom:18px}
.subpage .search-label input{background:#211e17;color:#f2eee6;border-color:#514a3d}
.subpage .search-label input::placeholder{color:#aaa190}
.subpage .favorites-toggle{color:#e8e0d1;border-color:#514a3d}
.subpage .favorites-toggle[aria-pressed=true]{background:var(--lime);color:#26221b}
.subpage .filter-chips{margin:18px 0}
.subpage .filter-chips button{color:#d0cbc1;border-color:#423c31}
.subpage .filter-chips button[aria-pressed=true]{background:var(--lime);color:#26221b;border-color:var(--lime)}
.subpage .filter-chips button:hover{border-color:#aca493}
.subpage .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.subpage .project-photo{background:#232019;border-radius:2px;aspect-ratio:1.35}
.subpage .project-card:nth-child(3n+2) .project-photo{aspect-ratio:1.02}
.subpage .project-card:nth-child(3n) .project-photo{aspect-ratio:1.65}
.subpage .project-open,.subpage .save-project{background:rgba(27,24,19,0.863);color:#f2eee6;border:1px solid #ffffff33}
.subpage .save-project[aria-pressed=true],.subpage .project-card:hover .project-open{background:var(--lime);color:#26221b}
.subpage .project-label{padding:13px 0 18px}
.subpage .project-label h3{color:#eee9de}
.subpage .project-label p{color:#b3ac9d;font-size:12px}
.subpage .directory-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin-top:16px}
.subpage .directory-list>a{padding:16px 0;border-color:#3c372e;transition:background .25s,padding .25s}
.subpage .directory-list>a:hover{background:#211e18;padding-left:10px}
.subpage .directory-list>a:hover strong{color:var(--lime)}
.subpage .directory-list small{color:#aba393;font-size:12px}
.subpage .directory-list strong{font-size:18px;color:#ede8dd}
.tile-arrival{animation:tile-arrival .7s var(--ease) both;animation-delay:var(--arrival-delay,0ms)}
@keyframes tile-arrival{from{opacity:.65;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes brand-drift{from{transform:rotate(-16deg) translateY(0)}to{transform:rotate(-12deg) translateY(12px)}}
@media(min-width:1800px){.subpage .catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.subpage .directory-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.subpage .directory-list{grid-template-columns:repeat(2,minmax(0,1fr))}.subpage .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subpage .page-top{padding:28px 24px}.subpage .content-gallery{gap:9px;grid-auto-rows:15vw}.subpage .footer-brand{font-size:48px}}
@media(max-width:650px){.brand-symbol{width:36px;height:40px}.footer-brand{gap:12px}.footer-mark{width:42px}.subpage .page-top{padding:25px 20px}.subpage .page-top:after{width:260px;right:-85px;top:-80px;opacity:.03}.subpage .page-top h1{font-size:39px;letter-spacing:-1.5px}.subpage .breadcrumb{margin-bottom:20px;font-size:12px}.subpage .page-top .eyebrow{font-size:11px}.subpage .page-actions{gap:12px}.subpage .page-content{padding:8px 10px 25px}.subpage .content-block{padding:12px 0}.subpage .content-copy{padding:0 10px}.subpage .content-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:38vw;gap:8px}.subpage .content-gallery .gallery-image:nth-child(n){grid-column:span 1;grid-row:span 1}.subpage .content-gallery .gallery-image:nth-child(5n+1){grid-column:span 2;grid-row:span 1}.subpage .content-gallery .gallery-image:nth-child(5n+3){grid-row:span 2}.subpage .content-gallery .gallery-image:nth-child(5n+5){grid-column:span 2}.subpage .content-gallery:has(>.gallery-image:nth-child(2):last-child){grid-auto-rows:55vw}.subpage .content-gallery:has(>.gallery-image:nth-child(2):last-child)>.gallery-image{grid-column:span 2}.subpage .content-gallery:has(>.gallery-image:nth-child(4):last-child)>.gallery-image:nth-child(4){grid-column:span 1}.subpage .content-gallery:has(>.gallery-image:nth-child(5):last-child)>.gallery-image:nth-child(5){grid-row:span 1}.subpage .content-gallery.single{display:block}.subpage .content-gallery.single .gallery-image{width:100%}.subpage .gallery-image span{width:32px;height:32px;bottom:9px;right:9px}.subpage .catalog-section,.subpage .directory{padding:24px 16px 35px}.subpage .catalog-grid{grid-template-columns:1fr;gap:12px}.subpage .project-card:nth-child(n) .project-photo{aspect-ratio:1.35}.subpage .directory-list{grid-template-columns:1fr}.subpage .footer-brand{font-size:28px}.subpage .embed-gate iframe{min-height:450px;height:70vh}.subpage .footer{padding:35px 20px 20px}}
@media(prefers-reduced-motion:reduce){.tile-arrival,.subpage .page-top:after{animation:none}.brand:hover .brand-symbol img,.subpage .gallery-image:hover img{transform:none}}
@media(min-width:651px){
  .subpage .content-gallery>.gallery-image:nth-child(6n+1):last-child{grid-column:span 12;grid-row:span 2}
  .subpage .content-gallery>.gallery-image:nth-child(6n+2):last-child{grid-row:span 2}
  .subpage .content-gallery>.gallery-image:nth-child(6n+4):last-child{grid-column:span 12;grid-row:span 1}
  .subpage .content-gallery>.gallery-image:nth-child(6n+5):last-child{grid-row:span 2}
  .subpage .content-gallery.single>.gallery-image{grid-column:auto;grid-row:auto}
}
.subpage .catalog-grid{display:block;columns:3;column-gap:18px}
.subpage .catalog-grid .project-card{break-inside:avoid;display:inline-block;width:100%;margin:0 0 18px;vertical-align:top}
.subpage #lightbox .dialog-close,.subpage #lightbox .light-prev,.subpage #lightbox .light-next{background:#231f18;color:#c9a86b}
@media(min-width:1800px){.subpage .catalog-grid{columns:4}}
@media(max-width:1000px){.subpage .catalog-grid{columns:2}}
@media(max-width:650px){.subpage .catalog-grid{columns:1}.subpage .content-gallery>.gallery-image:nth-child(5n+3):last-child{grid-row:span 1}}
/* Category navigation and image-led portfolio captions. */
.category-icon{width:25px;height:25px;flex:0 0 25px;vertical-align:middle}.subpage .filter-chips button,.subpage .child-pages a{display:inline-flex;align-items:center;gap:10px}.subpage .filter-chips button{padding:11px 16px}.subpage .project-card>a{position:relative;display:block;overflow:hidden;border-radius:2px}.subpage .project-card>a:after{content:'';position:absolute;inset:32% 0 0;background:linear-gradient(transparent,rgba(15,13,10,0.851) 88%);pointer-events:none}.subpage .project-label{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:26px;pointer-events:none}.subpage .project-label h3{color:#fff;font-size:clamp(21px,1.9vw,30px);line-height:1.2;margin:0;padding-right:45px;text-shadow:0 2px 14px #0006}.subpage .project-label p{color:#e2c894;font-size:10px;letter-spacing:1.5px;margin-bottom:9px}.subpage .project-open{z-index:2;bottom:24px;right:20px;width:35px;height:35px;font-size:21px}.subpage .save-project{z-index:3}.subpage .project-card>a:focus-visible{outline:2px solid #c9a86b;outline-offset:4px}.subpage .catalog-grid{row-gap:16px}@media(max-width:650px){.subpage .project-label{padding:22px}.subpage .project-label h3{font-size:25px}.subpage .filter-chips{gap:8px}.subpage .filter-chips button{padding:10px 12px;font-size:12px}.category-icon{width:23px;height:23px;flex-basis:23px}}
