/* Cabinet page: shared brand, full-bleed photography, consistent product rail. */
.cabinet-design .hero{display:block;position:relative;aspect-ratio:auto;min-height:560px;height:44vw;max-height:720px;background:#182c35;overflow:hidden}
.cabinet-design .hero-photo{position:absolute;inset:0;width:100%;height:100%;margin:0;aspect-ratio:auto}
.cabinet-design .hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover!important;object-position:67% center;background:none}
.cabinet-design .hero-photo:after{display:block;background:linear-gradient(90deg,rgba(10,24,31,.78),rgba(10,24,31,.48) 30%,rgba(10,24,31,.12) 52%,transparent 67%)}
.cabinet-design .hero-copy{width:46%;padding:clamp(70px,7vw,120px) 0 70px 5%;position:relative;z-index:2}
.cabinet-design .hero-copy h1{color:#fff;font-size:clamp(40px,4.6vw,68px);line-height:1.04}
.cabinet-design .hero-copy h1 em{color:#f4d4a1;font-style:normal}
.cabinet-design .hero-copy .eyebrow{color:#fff1db}
.cabinet-design .hero-copy>p:not(.eyebrow){color:#f1f3f3;max-width:350px;font-size:17px;line-height:1.6}
.cabinet-design .hero-photo span{bottom:15px;right:24px;background:#152a35b3;color:#fff;font-size:10px}
.cabinet-design .styles{background:#f7f5ef;padding:38px 5% 40px}
.cabinet-design .rail{display:flex;gap:14px;scroll-snap-type:x mandatory;padding-bottom:4px}
.cabinet-design .card{flex:0 0 calc((100% - 56px)/5);min-width:0;display:flex;flex-direction:column;align-items:stretch;scroll-snap-align:start;border:1px solid #deded7;background:white;padding:0;text-align:left;overflow:hidden}
.cabinet-design .card img,.cabinet-design .custom-art{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;display:block}
.cabinet-design .card img{filter:none}
.cabinet-design .card strong{font-size:16px;line-height:1.3;min-height:0;margin:0;padding:15px 13px 5px}
.cabinet-design .card small{font-size:12px;line-height:1.45;min-height:50px;padding:0 13px 14px;color:#5c6b72}
.cabinet-design .card[aria-pressed=true]{border-color:#aa3542;box-shadow:inset 0 -3px #aa3542}
.cabinet-design .custom-card{background:#193748;color:#fff}
.cabinet-design .custom-card small{color:#d1dce0}
.cabinet-design .custom-art{position:relative;background:linear-gradient(135deg,#294d60,#122e3e);padding:22px 15px;display:flex;align-items:center}
.cabinet-design .custom-art span{font:600 15px/1.3 Manrope,sans-serif;letter-spacing:.02em;border-left:3px solid #cf5b61;padding-left:10px}
.cabinet-design .custom-art b{position:absolute;right:14px;top:12px;font-size:24px;color:#d2b98e}
.cabinet-design .detail{margin-top:20px;padding:16px 0;border-bottom:1px solid #dcded8;display:flex;align-items:center;gap:30px;justify-content:space-between}
.cabinet-design .detail p{max-width:760px;margin:0;font-size:15px}
.cabinet-quote{background:none;border:0;color:#a8313e!important;font-weight:700!important;white-space:nowrap;padding:12px 0}
.cabinet-design .range-note{font-size:10px;color:#727c80;margin:10px 0 0}
.face-help{margin-top:22px;padding-top:18px;border-top:1px solid #dcddd6}.face-help summary{cursor:pointer;display:flex;justify-content:space-between;font-weight:600;gap:20px}.face-help summary span{font-size:13px;color:#a8313e}.face-help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:24px}.face-help h3{font-size:21px}.face-help p{font-size:14px;color:#526670}
.cabinet-design .gallery{grid-template-columns:28% minmax(0,1fr);padding:52px 5%;gap:6%;align-items:center;background:#fff}
.cabinet-design .gallery .project img,.cabinet-design .gallery .project img.full-project-photo{aspect-ratio:16/9;object-fit:cover!important;object-position:center;display:block;width:100%;background:none}
.cabinet-design .gallery .project img[src*="cashmax"]{object-position:center 15%}
.cabinet-design .gallery .caption{line-height:1.5;min-height:30px}
.cabinet-design .gallery-info>.arrows{display:flex;align-items:center;float:none}
@media(max-width:950px){.cabinet-design .hero{height:570px;min-height:0;max-height:none}.cabinet-design .hero-copy{width:48%;padding:70px 0 50px 5%}.cabinet-design .hero-copy h1{font-size:44px}.cabinet-design .hero-copy h1 br{display:block}.cabinet-design .hero-copy h1 em{margin-left:0}.cabinet-design .hero-copy h1 em:before{content:none}.cabinet-design .hero-photo{position:absolute;height:100%;aspect-ratio:auto}.cabinet-design .card{flex-basis:calc((100% - 28px)/3)}}
@media(max-width:600px){.cabinet-design .hero{height:620px;display:block}.cabinet-design .hero-photo img{object-position:64% center}.cabinet-design .hero-photo:after{background:linear-gradient(0deg,rgba(8,24,32,.94),rgba(8,24,32,.67) 38%,rgba(8,24,32,.08) 75%)}.cabinet-design .hero-copy{position:absolute;bottom:38px;width:100%;padding:25px 6% 0}.cabinet-design .hero-copy h1{font-size:39px}.cabinet-design .hero-copy>p:not(.eyebrow){max-width:320px;font-size:15px;margin:15px 0}.cabinet-design .hero-copy .eyebrow{margin-bottom:10px}.cabinet-design .hero-photo span{bottom:8px;right:6%;font-size:8px}.cabinet-design .card{flex-basis:72%}.cabinet-design .section-head{flex-direction:row;align-items:center;gap:16px}.cabinet-design .section-head h2{font-size:28px}.cabinet-design .section-head .arrows{flex-shrink:0;align-self:center}.cabinet-design .detail{align-items:flex-start;flex-direction:column;gap:5px}.face-help summary{display:block}.face-help summary span{display:block;margin-top:5px}.face-help-grid{grid-template-columns:1fr;gap:15px}.cabinet-design .gallery{grid-template-columns:1fr;padding:32px 5%;gap:20px}.cabinet-design .gallery-info>.arrows{margin-top:16px}.cabinet-design .gallery-intro{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.cabinet-design .rail{scroll-behavior:auto}}

/* Close compositions keep the sign, rather than the entire site, in focus. */
.cabinet-design .project-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:#e8e8e3}
.cabinet-design .gallery .project-frame img{position:absolute;inset:0;height:100%;width:100%;margin:0}
.cabinet-design .gallery .project-frame img[src*="other-guys"]{transform:scale(1.25);transform-origin:50% 10%}
.cabinet-design .project-enlarge{position:absolute;right:14px;bottom:14px;width:38px;height:38px;border:1px solid #ffffffaa;border-radius:50%;background:#18313ce6;color:white;font-size:22px;cursor:pointer}
.cabinet-design .original-photo-link{display:flex;align-items:center;gap:11px;background:none;border:0;padding:0;margin-top:23px;color:white;cursor:pointer;text-align:left;font:600 13px/1.35 Manrope,sans-serif}
.original-photo-link img{width:43px;height:55px;object-fit:cover;border:1px solid #ffffff88;border-radius:2px}.original-photo-link small{display:block;font-size:11px;font-weight:400;margin-top:3px;color:#ece8e1}
#photo-viewer{width:fit-content;max-width:94vw;max-height:94dvh;border:0;padding:16px;background:#132b36;color:#fff;overflow:auto}
#photo-viewer::backdrop{background:#07161de8}#photo-viewer figure{margin:0}#photo-viewer img{display:block;max-width:88vw;max-height:77dvh;width:auto;height:auto;object-fit:contain;margin:auto}
#photo-viewer figcaption{padding:14px 40px 0 0}#photo-viewer figcaption strong,#photo-viewer figcaption span{display:block}#photo-viewer figcaption span{color:#c4cfd3;font-size:12px;margin-top:5px}
.photo-close{position:fixed;right:3vw;top:3vh;border:1px solid #ffffff77;background:#18313c;color:white;border-radius:50%;width:42px;height:42px;font-size:28px;cursor:pointer;z-index:2}
@media(max-width:600px){.original-photo-link{margin-top:14px}.original-photo-link img{width:30px;height:40px}.cabinet-design .hero{height:680px}.cabinet-design .hero-copy{bottom:38px}.project-enlarge{width:34px;height:34px;right:10px;bottom:10px}}

/* Keep Big Jim’s full interior context in the curated landscape photograph. */
.cabinet-design .gallery .project-frame img[src*="big-jims"]{object-position:center top;filter:none;transform:none}

/* Keep the complete round interior logo in its photographic context. */
.cabinet-design .gallery .project-frame img[src*="outpost-coffee"]{object-position:center top}
.cabinet-design .gallery .project-frame img[src*="retail-building"]{object-position:center 36%}

/* Glendale earns the opening image; copy follows the photograph's clear side. */
.cabinet-design .glendale-hero{height:clamp(570px,52vw,860px);min-height:0;max-height:none;background:#193347}
.cabinet-design .glendale-hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.cabinet-design .glendale-hero .hero-photo img{object-fit:cover!important;object-position:left 18%}
.cabinet-design .glendale-hero .hero-photo:after{background:linear-gradient(90deg,transparent 48%,#132b3615 59%,#132b36d9 75%,#132b36ed 100%)}
.cabinet-design .glendale-hero .hero-copy{position:relative;margin:0 0 0 auto;width:28%;padding:clamp(100px,10vw,175px) 5% 100px 0;box-sizing:content-box}
.cabinet-design .glendale-hero h1{font-size:clamp(38px,3.7vw,58px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.cabinet-design .glendale-hero h1 em{color:#dcebf0;margin-left:0}
.cabinet-design .glendale-hero .hero-copy>p{max-width:330px;margin:26px 0;font-size:16px;line-height:1.65;color:#f0f4f5}
.cabinet-design .glendale-hero .hero-photo span{right:5%;bottom:22px;padding:0;background:none;color:#e7f0f4;font-size:10px;line-height:1.6;max-width:34%;text-align:right;z-index:2}
.cabinet-design .glendale-hero .btn:focus-visible{outline:3px solid #fff;outline-offset:5px}

@media(max-width:950px){
 .cabinet-design .glendale-hero{height:auto;display:flex;flex-direction:column;background:#f7f5ef;color:#122e3e}
 .cabinet-design .glendale-hero .hero-photo{position:relative;inset:auto;height:auto;width:100%;aspect-ratio:auto;order:0;display:flex;flex-direction:column}
 .cabinet-design .glendale-hero .hero-photo img{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1672/941;object-fit:cover!important;object-position:center}
 .cabinet-design .glendale-hero .hero-photo:after{display:none}
 .cabinet-design .glendale-hero .hero-photo span{position:relative;inset:auto;max-width:none;padding:12px 6% 0;text-align:left;color:#526670;font-size:10px;line-height:1.6}
 .cabinet-design .glendale-hero .hero-copy{position:relative;inset:auto;order:1;width:auto;max-width:none;margin:0;padding:25px 6% 36px;box-sizing:border-box}
 .cabinet-design .glendale-hero h1{font-size:clamp(36px,7vw,48px);color:#122e3e;line-height:1.1;text-wrap:balance}
 .cabinet-design .glendale-hero h1 em{color:#122e3e;margin-left:0}
 .cabinet-design .glendale-hero .hero-copy h1 br{display:block}
 .cabinet-design .glendale-hero .hero-copy>p{max-width:520px;color:#526670;font-size:16px;margin:20px 0 24px}
 .cabinet-design .glendale-hero .btn:focus-visible{outline-color:#122e3e}
}

/* Preserve each customer photograph's natural colors. */
.cabinet-design .styles .card img{filter:none;height:auto;aspect-ratio:16/10}
.cabinet-design .styles .card .style-example{min-height:0;padding:9px 13px 0;color:#4b606a;font-size:11px}
.cabinet-design .styles .card strong{padding-top:9px}

/* Let the whole dental practice frame a quieter, smaller monument sign. */
@media(min-width:951px){.cabinet-design .glendale-hero{height:clamp(560px,44vw,740px)}.cabinet-design .glendale-hero .hero-photo img{object-position:center 50%}.cabinet-design .glendale-hero .hero-copy{width:30%;padding:clamp(65px,6.5vw,110px) 5% 65px 0}.cabinet-design .glendale-hero .hero-photo:after{background:linear-gradient(90deg,transparent 43%,#132b3630 57%,#132b36de 73%,#132b36ed 100%)}}
@media(max-width:950px){.cabinet-design .glendale-hero .hero-photo img{aspect-ratio:2/1}}
.cabinet-design .styles .card .style-example{padding:0 13px 14px}

/* Reframe only the style-card photograph so the contoured man remains legible. */
.cabinet-design .styles .style-visual{overflow:hidden}
.cabinet-design .styles .contour-example img{transform:scale(1.65);transform-origin:50% 22%}

/* Inspect one selected example without repeating it in the project gallery. */
.cabinet-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-shrink:0}
.cabinet-view-example{border:0;border-bottom:1px solid #8b989c;background:none;color:#415b68;padding:4px 0;white-space:nowrap;font-size:13px!important;font-weight:500!important}
.cabinet-view-example[hidden]{display:none}
.cabinet-view-example:focus-visible{outline:3px solid #a8313e;outline-offset:5px}
@media(max-width:600px){.cabinet-detail-actions{width:100%;justify-content:space-between;gap:14px;flex-wrap:wrap}.cabinet-view-example{padding:8px 0}.cabinet-detail-actions .cabinet-quote{margin-left:auto}}

/* Replacement-face details stay compact until requested. */
.face-help{scroll-margin-top:24px}
.face-guide-intro{display:grid;grid-template-columns:1fr 1.7fr;gap:32px;margin:28px 0 24px;align-items:start}
.face-guide-intro h3{font-size:27px;line-height:1.15;letter-spacing:-.025em;margin:0}
.face-guide-intro p{margin:0;max-width:62ch}
.replacement-face-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.replacement-face-grid article{display:flex;flex-direction:column;background:#fff}
.replacement-face-grid img{display:block;width:100%;height:auto;aspect-ratio:800/533;object-fit:contain}
.replacement-face-grid .face-project-photo{object-fit:cover}
.replacement-face-grid article>div{padding:18px 20px 22px;display:flex;flex:1;flex-direction:column}
.face-visual-label{font-size:10px;color:#60747c;letter-spacing:.035em;margin-bottom:12px}
.replacement-face-grid h4{font-size:22px;line-height:1.2;margin:0 0 12px;letter-spacing:-.02em}
.replacement-face-grid p{font-size:14px;line-height:1.65;margin:0 0 18px}
.face-help button[data-replacement-face]{align-self:flex-start;background:none;color:#a8313e;border:0;border-bottom:1px solid #a8313e;padding:5px 0;font:600 13px/1.4 Manrope,sans-serif;cursor:pointer}
.replacement-face-grid button[data-replacement-face]{margin-top:auto}
.face-help button[data-replacement-face]:focus-visible{outline:3px solid #a8313e;outline-offset:5px}
.face-help .face-help-grid{padding:24px 0 8px;border-top:1px solid #d8dedb;margin-top:30px;gap:28px}
@media(max-width:700px){.face-guide-intro,.replacement-face-grid{grid-template-columns:1fr;gap:18px}.face-guide-intro h3{font-size:25px}.replacement-face-grid{gap:26px}.replacement-face-grid article>div{padding:18px}.face-help .face-help-grid{grid-template-columns:1fr;gap:22px}}

.face-customer-example{align-self:flex-start;border:0;background:none;color:#48616c;font:500 12px/1.5 Manrope,sans-serif;text-decoration:underline;text-underline-offset:4px;padding:12px 0 0;cursor:zoom-in}

.face-customer-example{margin-bottom:14px;padding-top:0}

#photo-viewer .photo-alternate{display:block;margin-top:12px;padding:8px 0;border:0;border-bottom:1px solid #90a4ad;background:none;color:#fff;font:600 13px/1.4 Manrope,sans-serif;cursor:pointer}#photo-viewer .photo-alternate[hidden]{display:none}
