:root{--orange:#050505;--bright:#050505;--serif:Fraunces,Georgia,serif}
::selection{background:#050505;color:#fafafa}*:focus{outline-color:#050505}*:focus-visible{outline:2px solid #050505;outline-offset:4px}input,select,textarea{accent-color:#050505;caret-color:#050505}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#050505;box-shadow:0 0 0 2px #05050520}.footer-brand img{filter:brightness(0)}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.reference-work li{padding-left:26px}.reference-work li:before{display:none}.reference-work li>i{position:absolute;left:0;top:0;font-size:16px;color:#050505}.breadcrumb>i{font-size:10px;line-height:1;letter-spacing:0;color:#444}
.reference-article-layout .article-toc{padding:16px 12px 12px 16px;border-radius:8px;background:#fafafacc;display:flex;flex-direction:column;gap:12px}.reference-article-layout .article-toc>strong{margin:0 0 12px;font:600 11px/1.5 'Zilla Slab',serif;letter-spacing:1.1px;text-transform:uppercase;color:#444}.reference-article-layout .article-toc a{margin:0;padding:0;font:400 12px/1.5 Inter,Arial,sans-serif;color:#050505}.sidebar-block{padding:16px 12px 12px 16px;border:1px solid #cdcdcd;border-radius:8px;background:#fafafacc;margin-bottom:16px}.sidebar-block h2{margin:0 0 24px;font:600 11px/1.5 'Zilla Slab',serif!important;letter-spacing:1.1px;text-transform:uppercase;color:#444}.sidebar-block>a{font:400 13px/1.5 Inter,Arial,sans-serif;margin-bottom:12px}
.ds-faq{margin-top:56px}.ds-faq h2{margin-bottom:32px}.ds-faq details,.faq details{border:0;border-bottom:1px solid #0505051a;padding:0;margin:0;background:transparent}.ds-faq details:last-child,.faq details:last-child{border-bottom:0}.ds-faq summary,.faq summary{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font:500 14px/1.5 Inter,Arial,sans-serif;padding:16px 0;list-style:none;color:#050505;cursor:pointer}.ds-faq summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.ds-faq summary>i,.faq summary>i{font-size:14px;flex-shrink:0;margin-top:3px}details[open]>summary>i{transform:rotate(180deg)}.ds-faq details p,.faq details p{font:400 14px/1.5 Inter,Arial,sans-serif;margin:0 0 16px;color:#444}
.contact-panel small{display:inline-flex;align-items:center;background:#0505051a!important;color:#050505!important;border:0;border-radius:4px;padding:4px 12px;font:600 11px/1.5 'Zilla Slab',serif;letter-spacing:1.1px;text-transform:uppercase;vertical-align:middle}
.demo{font-family:Inter,Arial,sans-serif;background:#eae5de;color:#050505}.demo .notes{margin:auto;padding:0;align-items:center;justify-content:center;width:100%}.discovery-demo{display:flex;align-items:center}.demo .notes>span{background:#fafafa;color:#050505}.demo .notes>span:nth-child(2){background:#cdcdcd}.demo .swatches{margin-top:22px}.demo .swatches i:nth-child(1){background:#050505}.demo .swatches i:nth-child(2){background:#444}.demo .swatches i:nth-child(3){background:#cdcdcd}.demo .swatches i:nth-child(4){background:#fafafa;border-color:#cdcdcd}.demo .component-avatar{font:italic 400 28px/1.1 Fraunces,Georgia,serif;background:#cdcdcd}.demo .component{background:#fafafa}.demo .component b{font-family:Inter,Arial,sans-serif}.demo-buttons span:first-child{background:#050505}.demo-buttons span{border-color:#050505;color:#050505}.demo-buttons span:first-child{color:#fafafa}
.proto-demo{display:flex;align-items:center;justify-content:center;overflow:visible}.method-card .proto-demo{height:auto;min-height:245px}.mini-screen{width:100%;max-width:100%;background:#fafafa;padding:20px;border-radius:6px;transform:none}.mini-screen h4{font:italic 400 28px/1.15 Fraunces,Georgia,serif;margin:0 0 12px;outline:none}.mini-screen p,.mini-screen legend{font:400 12px/1.5 Inter,Arial,sans-serif;margin:0 0 16px;color:#444}.mini-screen button{font:500 12px/1.5 Inter,Arial,sans-serif;border:1px solid #050505;border-radius:6px;padding:10px 12px;background:#050505;color:#fafafa;display:inline-flex;gap:6px;align-items:center}.mini-screen button:hover{background:#444}.mini-screen button:disabled{opacity:.4;cursor:not-allowed}.mini-screen [data-back]{background:#fafafa;color:#050505}.mini-screen fieldset{border:0;padding:0;margin:0 0 16px;min-width:0}.booking-options{display:flex;flex-wrap:wrap;gap:6px}.booking-options label{cursor:pointer}.booking-options input{position:absolute;opacity:0;width:1px;height:1px}.booking-options span{display:block;font:400 12px/1.5 Inter,Arial,sans-serif;border:1px solid #cdcdcd;border-radius:6px;padding:8px;background:#fafafa;color:#050505}.booking-options input:checked+span{background:#050505;color:#fafafa;border-color:#050505}.booking-options input:focus-visible+span{outline:2px solid #050505;outline-offset:2px}.booking-actions{display:flex;gap:8px;flex-wrap:wrap}.demo-dots i.active{background:#050505}.demo-dots i{background:#cdcdcd}.demo-dots{margin-top:16px}
.carousel-card{cursor:grab;user-select:none}.carousel-card.active,.carousel-card.prev,.carousel-card.next{pointer-events:auto}.dragging,.dragging .carousel-card{cursor:grabbing}.carousel-card .carousel-more{font:500 14px/1.5 Inter,Arial,sans-serif;padding:12px 20px;border-radius:6px 0 0;background:#fafafa;color:#050505;display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}.carousel-card .carousel-more:hover{background:#e2e2e2}.carousel-card.prev .carousel-more,.carousel-card.next .carousel-more{visibility:hidden}.case-tags span,.case-facts small{font-family:'Zilla Slab',Georgia,serif}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.carousel-card .carousel-more{padding:12px}.mini-screen{padding:16px}.mini-screen h4{font-size:24px}}
/* Keep drag feedback independent of each card's positional transform. */
.infinity-carousel{touch-action:pan-y;cursor:grab}.carousel-track{translate:var(--drag-offset,0px) 0;transition:translate .2s ease}.dragging .carousel-track{transition:none}.carousel-card img{pointer-events:none}.carousel-card .carousel-label{pointer-events:none}.carousel-card.active .carousel-more{position:relative;z-index:4}
/* Lateral cards extend outside their grid column: keep their full visible
   surface above the copy column, without blocking the empty hero area. */
.hero-inner>.infinity-carousel{z-index:3;pointer-events:none;overflow:visible}
.infinity-carousel .carousel-track{pointer-events:none;overflow:visible}
.infinity-carousel .carousel-card{pointer-events:none}
.infinity-carousel .carousel-card.active,.infinity-carousel .carousel-card.prev,.infinity-carousel .carousel-card.next{pointer-events:auto}

/* Contact feedback: existing neutral palette, Inter, borders and radii. */
.contact-toast{position:fixed;z-index:1000;top:calc(var(--header-offset,104px) + 16px);right:24px;width:min(380px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:16px;padding:16px;border:1px solid #cdcdcd;border-radius:8px;background:#fafafa;color:#050505;font:400 14px/1.5 Inter,Arial,sans-serif}
.contact-toast p{font:inherit;margin:0;color:inherit}.contact-toast p:empty{display:none}.contact-toast button{flex:none;width:32px;height:32px;display:grid;place-items:center;padding:0;border:1px solid #cdcdcd;border-radius:6px;background:#fafafa;color:#050505;font:24px/1 Inter,Arial,sans-serif;cursor:pointer}.contact-toast button:hover{background:#e2e2e2}.contact-form button:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.contact-toast{right:16px;top:calc(var(--header-offset,104px) + 8px)}}

/* Article sidebars: shared surface from the supplied reference. */
.reference-article-layout .article-toc,.reference-article-layout .related-sidebar{padding:16px 12px 12px 16px;border:1px solid #cdcdcd;border-radius:8px;background:#fafafacc}
.reference-article-layout .related-sidebar{display:block}
.reference-article-layout .related-sidebar .sidebar-block{padding:0;border:0;border-radius:0;background:transparent;margin:0 0 32px}
.reference-article-layout .related-sidebar .sidebar-block:last-child{margin-bottom:0}
.reference-article-layout .article-toc>.eyebrow,.reference-article-layout .related-sidebar h2{font:600 11px/1.5 'Zilla Slab',Georgia,serif!important;letter-spacing:1.1px;text-transform:uppercase;color:#444}
.reference-article-layout .article-toc>.eyebrow{margin:0}
.reference-article-layout .related-sidebar h2{margin:0 0 12px}
.breadcrumb a,.breadcrumb a:hover,.breadcrumb a:focus,.breadcrumb a:active{text-decoration:none}

/* Footer: brand, navigation, articles and contact in a single grid. */
.footer .footer-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.footer .footer-grid>.footer-brand{margin:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.footer .footer-grid>.footer-brand>a{display:block}
.footer .footer-grid>.footer-brand img{display:block;width:119px;height:48px;max-width:100%;object-fit:contain;filter:brightness(0);opacity:1}
.footer .footer-grid>div:last-child{grid-column:auto}
@media(max-width:900px){.footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.footer .footer-grid{grid-template-columns:1fr}}

.portfolio-more{display:flex;justify-content:center;margin-top:32px}

/* Case media: moderate visual zoom, full original available by click. */
.case-media-zoom{display:block;width:100%;padding:0;border:0;border-radius:8px;overflow:hidden;background:transparent;cursor:zoom-in}
.case-media-zoom img{display:block;width:100%;height:auto}
.case-lightbox{width:min(1500px,96vw);padding:48px 16px 16px;background:#fafafa;color:#050505;border-radius:8px}
.case-lightbox img{width:100%;max-height:82vh;object-fit:contain;transform:none}
.case-lightbox .close-lightbox{color:#050505;font:400 14px/1.5 Inter,Arial,sans-serif}

/* Portfolio listing: 1200px grid, three cards per row on desktop. */
body[data-page="/portfolio/"] .reference-project-grid{width:100%;max-width:1200px;margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){body[data-page="/portfolio/"] .reference-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body[data-page="/portfolio/"] .reference-project-grid{grid-template-columns:1fr}}

/* Uniform card geometry; inactive scaling is applied only to the parent card. */
.infinity-carousel .carousel-card{width:var(--card);height:var(--card);scale:1}
.infinity-carousel .carousel-card .carousel-label{transform:none;top:12px;left:12px}
.carousel-card>picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.carousel-card>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}
.project-cover>picture{display:block;width:100%;height:100%}
.related-case>picture{display:block;flex-shrink:0}
.case-media-zoom>picture{display:block;width:100%}
.case-media-zoom picture img{display:block;width:100%;height:auto;transform:none;object-fit:contain}

.case-media-mobile-only{display:none}
@media(max-width:600px){.case-media-mobile-only{display:block}}

/* Shared square covers: remove obsolete per-project offsets and enlargement. */
.reference-project .project-cover{aspect-ratio:1/1;position:relative;overflow:hidden}
.reference-project .project-cover>picture{display:block;position:absolute;inset:0;width:100%;height:100%}
.reference-project .project-cover img{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;transform:none}
