/* Compact public pages use the same identity as the homepage. */
.project-page{line-height:1.6;background:radial-gradient(ellipse at 95% 0,rgba(234,24,24,.045),transparent 30%),var(--bg)}
.project-page a:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.project-header,.project-page main,.project-footer{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.project-header{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:88px;padding:16px 0;border-bottom:1px solid var(--line)}
.project-brand{flex:none;display:flex;align-items:center}.project-brand img{height:54px;width:auto;object-fit:contain}
.project-header nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 26px;font:400 11px/1.4 var(--font-ui);letter-spacing:.08em;text-transform:uppercase}
.project-header nav>a{display:inline-flex;align-items:center;min-height:44px}.project-header nav>a[aria-current]{color:#ff6b6b}.project-header nav>a:not(.button):hover{color:#ff6b6b}
.project-header-contact{gap:20px;margin-left:8px}
.project-breadcrumb{display:flex;flex-wrap:wrap;gap:8px 10px;padding:21px 0;color:#aaa;font-size:12px;line-height:1.5}.project-breadcrumb a:hover{color:#fff}.project-breadcrumb [aria-current]{color:#d5d5d5}
.project-intro{max-width:920px;padding:16px 0 38px}.project-category{display:flex;align-items:center;gap:10px;margin:0;color:#ff6666;font:400 10px/1.5 var(--font-ui);letter-spacing:.12em;text-transform:uppercase}.project-category:before{content:"";width:20px;height:2px;flex:none;background:var(--red)}
.project-intro h1{font:900 clamp(36px,4.1vw,60px)/1.06 var(--font-title);letter-spacing:-.045em;overflow-wrap:break-word;margin:16px 0 20px;text-wrap:balance}
.project-description{max-width:65ch;margin:0;color:#d0d0d0;font-size:clamp(17px,1.5vw,20px);line-height:1.55}
.project-tags{display:flex;flex-wrap:wrap;gap:7px;padding:0;list-style:none;margin:20px 0}.project-tags li{padding:6px 9px;border:1px solid var(--line);border-radius:var(--radius);font:400 10px/1.4 var(--font-ui);color:#c8c8c8}
.project-new-window{font-size:10px;letter-spacing:0;text-transform:none}.project-section-nav{gap:6px 20px;margin-top:17px;font-size:12px}.project-section-nav a{min-height:38px}
.project-opening{margin-bottom:4px}.project-opening--website{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:40px;margin:10px 0 42px}.project-opening--website .project-intro{padding:12px 0}.project-opening--website h1{font-size:clamp(36px,3.65vw,52px)}.project-opening--website .project-description{font-size:18px}
.project-preview{min-width:0;margin:0;border:1px solid #373737;border-radius:var(--radius);overflow:hidden;background:#111;box-shadow:0 14px 42px #0005}.project-preview>a{display:block}.project-preview-chrome{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:12px 16px;background:#1a1a1a;color:#bbb;font:400 11px/1.4 var(--font-ui)}.project-preview-dots{display:flex;gap:5px}.project-preview-dots i{width:6px;height:6px;background:#666;border-radius:50%}.project-preview-dots i:first-child{background:var(--red)}.project-preview img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top}.project-preview figcaption{display:flex;flex-wrap:wrap;gap:5px 14px;justify-content:space-between;padding:12px 16px;color:#bcbcbc;font-size:12px}.project-preview figcaption a{text-decoration:underline;text-underline-offset:4px}
.project-case{padding:28px 0 0;border-top:1px solid var(--line)}.project-story-heading{font-size:clamp(25px,2.6vw,34px);margin-bottom:16px}.project-story-intro{font-size:17px;line-height:1.65;margin-bottom:24px}.project-story-grid{gap:18px;margin-bottom:40px}.project-story-block{padding:22px;border-radius:var(--radius)}.project-story-block h3{font-size:19px;margin-bottom:12px}.project-story-block p{font-size:15px;line-height:1.65}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;scroll-margin-top:24px}.project-gallery h2{grid-column:1/-1;font:400 26px/1.2 var(--font-ui);margin:0 0 2px}.project-gallery figure{margin:0;min-width:0;align-self:start;background:#111;border-radius:var(--radius)}.project-gallery img,.project-gallery video{width:100%;height:auto;object-fit:contain;background:#111}.project-gallery figcaption{padding:12px 16px;color:#bbb;font-size:13px;overflow-wrap:anywhere}
.project-contact{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:center;padding:36px 0;border-bottom:1px solid var(--line);margin-top:12px}.project-contact>a:last-child{text-decoration:underline;text-underline-offset:5px;font-size:14px}.project-contact .button-primary{gap:16px}
.project-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;padding:24px 0 32px;color:#aaa;font-size:12px}.project-footer a:not(.project-footer-brand){text-decoration:underline;text-underline-offset:4px}.project-footer-brand{display:block;margin-right:8px}.project-footer-brand img{width:auto;height:38px}
.service-page-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}.service-page-content h2,.service-process h2,.service-related h2{font:400 clamp(23px,2.3vw,30px)/1.2 var(--font-ui);margin:0 0 16px}.service-page-content p,.service-page-content li,.service-process li,.service-related p{color:#c9c9c9;font-size:17px;line-height:1.6}.service-page-content ul{padding-left:22px}.service-page-content li{padding:4px 0}.service-page-content h2:not(:first-child){margin-top:28px}.service-page-visual{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.service-page-visual img{width:100%;height:auto}.service-page-visual figcaption{font-size:12px;color:#bbb;padding:12px 16px}.service-process,.service-related{padding-top:36px;max-width:900px}.service-process ol{padding-left:24px}.service-process li{padding:7px 0}.service-related ul{list-style:none;padding:0}.service-related li{padding:18px 0;border-top:1px solid var(--line)}.service-related a{font:400 20px/1.4 var(--font-ui);text-decoration:underline;text-underline-offset:5px}.service-related p{margin:10px 0 0}.service-page-content strong,.service-process strong{font-weight:600;color:#fff}
.public-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.public-service-list article{padding:24px;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius)}.public-service-list .service-tile h3{font:900 clamp(23px,2.1vw,32px)/1.12 var(--font-title)}.public-service-list .service-tile p{font-size:16px;line-height:1.55}.public-page h2{font:400 clamp(24px,2.4vw,32px)/1.2 var(--font-ui)}.public-page p,.public-contact-data address{font-size:17px;line-height:1.6;color:#ccc}.public-contact-data{max-width:800px}.public-contact-data h2:not(:first-child){margin-top:30px}.public-contact-data address{font-style:normal}.public-contact-data p>a:not(.button),.public-studio p>a{text-decoration:underline;text-underline-offset:5px}.public-studio>p{max-width:78ch}.public-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px}.public-team article{min-width:0}.public-team img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;background:var(--panel);border-radius:var(--radius)}.public-team h3{font:400 25px/1.2 var(--font-ui);margin:18px 0 10px}.public-team p{font-size:16px}.public-team .public-team-role{color:#ff6b6b;font:400 11px/1.5 var(--font-ui)}
.project-page .website-project-grid{align-items:stretch;gap:24px}.project-page .website-project-card{display:flex;flex-direction:column;border-radius:var(--radius)}.project-page .website-project-body{display:flex;flex-direction:column;flex:1;padding:24px}.project-page .website-project-body dl{margin-bottom:22px}.project-page .website-project-actions{margin-top:auto;gap:12px 16px}.project-page .website-project-actions .button{gap:8px;font-size:10px;flex-wrap:wrap}.project-page .website-project-screen img{object-fit:cover;object-position:top}.project-page .website-project-body>p{line-height:1.6}.project-page .website-project-body dd{line-height:1.6}.websites-service-examples{padding-top:36px}
@media(max-width:980px){.project-opening--website{gap:26px}.project-opening--website h1{font-size:40px}.project-opening--website .project-description{font-size:17px}.project-story-grid{grid-template-columns:1fr}.project-header nav{gap:8px 18px}.project-header-contact{margin-left:0}.project-header-contact span{display:none}}
@media(max-width:800px){.project-opening--website{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.project-opening--website .project-intro{padding-bottom:0;max-width:680px}.project-opening--website h1{font-size:clamp(36px,6vw,48px)}.project-preview{max-width:680px;width:100%}.service-page-content{grid-template-columns:1fr;gap:24px}.service-page-visual{max-width:680px}.public-team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.project-header,.project-page main,.project-footer{width:calc(100% - 32px)}.project-header{align-items:center;gap:12px;flex-wrap:nowrap;padding:14px 0;min-height:80px}.project-brand img{height:50px}.project-header nav{width:auto;flex-direction:row;gap:0 14px;max-width:285px;font-size:10px;justify-content:flex-end}.project-header nav>a{min-height:36px}.project-header-contact{min-height:36px!important;padding:8px 11px;font-size:9px;letter-spacing:.03em}.project-breadcrumb{padding:18px 0;font-size:11px}.project-intro{padding:14px 0 30px}.project-intro h1{font-size:36px;margin:14px 0 18px}.project-description{font-size:17px}.project-tags{margin:18px 0}.project-opening--website{margin-top:0;gap:20px}.project-opening--website h1{font-size:36px}.project-gallery{grid-template-columns:1fr;gap:20px}.project-gallery h2{font-size:24px}.project-contact{gap:16px;padding:28px 0;align-items:flex-start;flex-direction:column}.project-footer{gap:12px 18px;font-size:11px}.project-footer-brand{width:100%;margin:0}.project-case{padding-top:24px}.project-story-block{padding:20px}.project-story-intro{font-size:16px}.project-story-grid{margin-bottom:32px}.project-preview-chrome{padding:11px 12px;font-size:10px}.project-preview figcaption{font-size:11px;padding:11px 12px}.public-services-page .public-service-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-service-list .service-tile--visual,.public-service-list .service-tile[data-service-number="01"],.public-service-list .service-tile[data-service-number="10"]{grid-column:1/-1}.public-service-list .service-tile h3{font-size:20px}.public-service-list .service-tile p{font-size:14px;line-height:1.5}.public-page .public-team{gap:24px 16px}.public-page .public-team img{aspect-ratio:4/3;object-position:center top}.public-page .public-team h3{font-size:21px;margin:16px 0 10px}.public-page .public-team p{font-size:14px;line-height:1.5}.public-page .public-team .public-team-role{font-size:10px}.project-page .website-project-grid{grid-template-columns:1fr;gap:22px}.project-page .website-project-body{padding:20px}}
@media(prefers-reduced-motion:reduce){.project-page{scroll-behavior:auto}.project-page .button{transition:none;transform:none}}
/* Native image inspection: keyboard focus, Escape and file-link fallback. */
.project-gallery-open{position:relative;display:block}.project-gallery-open img{transition:filter 220ms ease}.project-gallery-zoom{position:absolute;right:12px;bottom:12px;padding:7px 10px;border:1px solid #ffffff50;border-radius:var(--radius);background:#080808e8;color:#fff;font:400 11px/1.4 var(--font-ui)}.project-gallery-open:hover img{filter:brightness(1.05)}
.project-lightbox{position:fixed;inset:0;width:min(1360px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:58px 16px 14px;background:#111;color:#eee;border:1px solid #555;border-radius:var(--radius);overflow:auto}.project-lightbox::backdrop{background:#000e}.project-lightbox[open]{animation:project-image-open 220ms ease both}.project-lightbox-close{position:absolute;top:10px;right:14px;min-height:38px;padding:9px 14px;cursor:pointer;color:#fff}.project-lightbox figure{margin:0}.project-lightbox img{display:block;max-height:calc(100dvh - 145px);width:100%;height:auto;object-fit:contain}.project-lightbox figcaption{padding:12px 0 0;font-size:13px;color:#ccc;text-align:center}@keyframes project-image-open{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.project-gallery-open img{transition:none}.project-lightbox[open]{animation:none}}

.website-project-grid{grid-auto-rows:1fr}

.project-lightbox-status{color:#ddd;font:400 15px/1.6 var(--font-ui);margin:12px 0}.project-lightbox-status[hidden],.project-lightbox-source[hidden]{display:none}.project-lightbox-source{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px}

body .project-header nav>a{min-height:44px}.project-page:has(.project-lightbox[open]){overflow:hidden}
