.projects-page{--project-red:#be0000;background:#f7f7f8;color:#19191e;overflow:hidden}
.projects-hero{position:relative;padding:72px 0 64px;background:radial-gradient(ellipse at 85% 40%,#f6eded,transparent 60%),#fff;border-bottom:1px solid #eee}
.projects-hero::after{content:"";position:absolute;right:-160px;top:-270px;width:590px;height:590px;border:85px solid #be000006;border-radius:50%;pointer-events:none}
.projects-hero__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);align-items:center;gap:80px}
.projects-hero h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.98;letter-spacing:-.055em;margin:22px 0}
.projects-hero h1 span{color:var(--project-red)}
.projects-hero p{max-width:650px;color:#74747d;font-size:1rem;line-height:1.85;margin:0}
.projects-hero__count{justify-self:end;display:grid;gap:16px;min-width:260px;padding:28px 35px;border:1px solid #e8dddd;border-radius:24px;background:#ffffff9c}
.projects-hero__count>span{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#8a7c7c}
.projects-hero__count strong{font-size:5.4rem;line-height:1;letter-spacing:-.06em;color:var(--project-red)}
.projects-hero__count small{font-size:.68rem;color:#777}.projects-hero__count i{margin:0 10px;color:#ccc;font-style:normal}
.projects-catalog{padding:35px 0 80px;scroll-margin-top:110px}
.projects-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}
.project-filters{display:flex;flex-wrap:wrap;gap:10px}
.project-filters>a{display:flex;align-items:center;gap:12px;padding:12px 18px;border:1px solid #e4e4e8;border-radius:999px;background:#fff;font-size:.76rem;font-weight:800;transition:background-color .2s,border-color .2s,color .2s}
.project-filters>a span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border-radius:50%;background:#f2f2f4;color:#8a8a94;font-size:.65rem}
.project-filters>a:hover{border-color:#c66b6b;color:var(--project-red)}
.project-filters>a[aria-current=page]{background:var(--project-red);color:#fff;border-color:var(--project-red);box-shadow:0 6px 17px #be00001a}
.project-filters>a[aria-current=page] span{background:#ffffff24;color:#fff}
.projects-result-count{font-size:.71rem;color:#91919b;margin:0}.projects-result-count strong{color:#444}
.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.project-card{min-width:0;overflow:hidden;border:1px solid #e7e7eb;border-radius:23px;background:#fff;box-shadow:0 8px 24px #17171c04;transition:transform .25s,box-shadow .25s,border-color .25s}
.project-card__link{display:flex;flex-direction:column;height:100%}
.project-card__photo{position:relative;aspect-ratio:3/2;overflow:hidden;background:#e8e8eb}
.project-card__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;transition:transform .5s}
.project-card__photo>span{position:absolute;top:18px;left:18px;border-radius:999px;padding:8px 11px;background:#ffffffed;color:var(--project-red);font-size:.6rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.project-card__photo>i{position:absolute;right:17px;bottom:17px;width:35px;height:35px;border:1px solid #ffffff77;border-radius:50%;display:grid;place-items:center;background:#ffffffdf;font-style:normal;font-size:1rem;color:var(--project-red)}
.project-card__body{display:flex;flex-direction:column;flex:1;padding:24px}
.project-card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;color:#8a8a94;font-size:.65rem;font-weight:650}
.project-card__meta>span{display:flex;align-items:center;gap:5px;min-width:0}.project-card__meta svg{width:15px;height:15px;flex-shrink:0;stroke:currentColor;stroke-width:1.3}
.project-card__meta time{white-space:nowrap}
.project-card h3{font-size:1.2rem;letter-spacing:-.025em;line-height:1.35;margin:0 0 12px}
.project-card p{flex:1;font-size:.78rem;line-height:1.75;color:#7c7c85;margin:0 0 22px}
.project-card__cta{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #efeff1;padding-top:17px;color:var(--project-red);font-size:.68rem;font-weight:850}
.project-card__cta b{font-size:1.1rem}
.project-card:focus-within{outline:3px solid #e65a62;outline-offset:3px}
.project-filters>a:focus-visible,.projects-link:focus-visible,.project-detail__cta:focus-visible{outline:3px solid #e65a62;outline-offset:4px}
.projects-empty{min-height:280px;padding:45px 25px;border:1px dashed #dedee4;border-radius:24px;background:#fff;text-align:center}
.projects-empty>span{color:var(--project-red);font-size:2rem}.projects-empty h2{font-size:1.6rem;text-transform:none;font-style:normal}.projects-empty p{font-size:.88rem;line-height:1.8;color:#888}
.projects-link{display:inline-flex;align-items:center;gap:16px;font-size:.73rem;font-weight:800;color:var(--project-red);padding:6px 0;border-bottom:1px solid #d8aaaa}
.projects-contact{padding:58px 0;background:linear-gradient(110deg,#bc0000,#680000);color:#fff}
.projects-contact__inner{display:flex;align-items:center;justify-content:space-between;gap:45px}
.projects-contact__inner>div:first-child>span{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#f0b1b1}
.projects-contact h2{font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.1;letter-spacing:-.04em;margin:12px 0}
.projects-contact p{font-size:.82rem;line-height:1.7;color:#e0aaaa;margin:0}
.projects-contact__inner>div:last-child{display:grid;gap:12px;flex-shrink:0}
.projects-contact a{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 22px;border:1px solid #ffffff5c;border-radius:999px;font-size:.75rem;font-weight:800}
.projects-contact a:first-child{background:#fff;color:var(--project-red);border-color:#fff}.projects-contact a:hover{box-shadow:0 8px 20px #0002}
.project-detail__heading{padding:40px 0 38px;background:#fff}
.project-breadcrumbs{display:flex;align-items:center;gap:12px;color:#92929a;font-size:.7rem;font-weight:650;margin-bottom:26px}
.project-breadcrumbs a:hover{color:var(--project-red)}
.project-detail h1{max-width:1100px;font-size:clamp(2.3rem,4.2vw,4.3rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 25px;overflow-wrap:anywhere}
.project-detail__meta{display:flex;align-items:center;gap:16px 22px;flex-wrap:wrap;color:#85858f;font-size:.72rem}
.project-detail__meta>a{padding:8px 12px;border-radius:999px;background:#fff0f0;color:var(--project-red);font-weight:800}
.project-detail__layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:36px;padding-top:36px;padding-bottom:70px}
.project-detail__main-photo{position:relative;display:block;aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:#e2e2e7}
.project-detail__main-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.project-detail__main-photo>span{position:absolute;right:20px;bottom:20px;display:flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid #ffffff6b;border-radius:999px;background:#fffffff0;color:#37373f;font-size:.69rem;font-weight:750}
.project-detail__summary{padding:32px;border:1px solid #e6e6eb;border-radius:24px;background:#fff;position:sticky;top:110px;min-width:0}
.project-detail__summary>.section-kicker{font-size:.64rem}
.project-detail__summary h2{font-size:1.55rem;line-height:1.25;letter-spacing:-.035em;margin:18px 0;text-transform:none;font-style:normal}
.project-detail__description{color:#777781;font-size:.83rem;line-height:1.85;overflow-wrap:anywhere}
.project-detail__summary dl{margin:23px 0;border-top:1px solid #eee}
.project-detail__summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #eee;font-size:.72rem}
.project-detail__summary dt{color:#92929c}.project-detail__summary dd{margin:0;font-weight:700;text-align:right}
.project-detail__inquiry h3{font-size:1rem;margin:26px 0 9px}.project-detail__inquiry p{font-size:.74rem;color:#8b8b94;line-height:1.7;margin:0 0 20px}
.project-detail__cta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border-radius:999px;background:var(--project-red);color:#fff;font-size:.76rem;font-weight:850;box-shadow:0 8px 23px #be00001c}
.project-detail__cta:hover{background:#9c0000}
.project-detail__phone{display:block;text-align:center;padding-top:18px;font-size:.69rem;color:#93939d}.project-detail__phone strong{color:#4a4a52}
.project-detail__gallery{margin-top:28px}.project-detail__gallery>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.project-detail__gallery h2{font-size:1.15rem;margin:0;font-style:normal;text-transform:none}.project-detail__gallery>div:first-child>span{color:#999;font-size:.75rem}
.project-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.project-thumbnails>a{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:15px;background:#e2e2e7}
.project-thumbnails img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.project-thumbnails span{position:absolute;right:10px;bottom:10px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#ffffffe6;color:var(--project-red);font-size:.85rem}
.projects-related{padding:60px 0 80px;border-top:1px solid #e5e5eb;background:#f2f2f5}
.projects-related__heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}
.projects-related h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:13px 0 0;letter-spacing:-.04em}
.projects-not-found{padding-top:90px;padding-bottom:100px;min-height:60vh}.projects-not-found h1{max-width:800px;font-size:clamp(2.4rem,5vw,4rem);line-height:1.1}.projects-not-found p{color:#888;line-height:1.8;max-width:600px}.projects-not-found .project-detail__cta{width:fit-content;margin-top:28px}
.project-gallery-open{overflow:hidden}
.project-lightbox{width:min(1400px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;margin:auto;border:1px solid #444;border-radius:20px;background:#17171c;color:#fff;box-shadow:0 25px 100px #0008}
.project-lightbox::backdrop{background:#09090de6;backdrop-filter:blur(7px)}
.project-lightbox__inner{padding:18px 24px 20px}.project-lightbox__toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:14px}.project-lightbox__toolbar>span{color:#ccc;font-size:.8rem;font-weight:750}
.project-lightbox button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff25;border-radius:50%;background:#ffffff0f;color:#fff;font-size:1.3rem;cursor:pointer;flex-shrink:0}.project-lightbox button:hover{background:#be0000}.project-lightbox button:focus-visible{outline:3px solid #f08a8a;outline-offset:3px}
.project-lightbox__stage{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:180px}.project-lightbox__stage img{display:block;min-width:0;max-width:calc(100% - 128px);width:auto;height:auto;max-height:calc(100dvh - 200px);object-fit:contain;margin:auto}
.project-lightbox__inner>p{font-size:.73rem;line-height:1.6;color:#aaa;text-align:center;margin:16px 30px 0}.project-lightbox [hidden]{display:none!important}
@media(hover:hover){.project-card:hover{transform:translateY(-5px);border-color:#d8b4b4;box-shadow:0 18px 35px #3000000c}.project-card:hover .project-card__photo img,.project-thumbnails a:hover img{transform:scale(1.04)}}
@media(max-width:1050px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail__layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.project-detail__summary{padding:25px}.projects-hero__grid{gap:35px}.projects-hero__count{min-width:220px}}
@media(max-width:800px){.project-detail__layout{grid-template-columns:minmax(0,1fr)}.project-detail__summary{position:static}.projects-contact__inner{align-items:start;flex-direction:column;gap:28px}.projects-contact__inner>div:last-child{display:flex;flex-wrap:wrap}.projects-related__heading{align-items:start;flex-direction:column}.projects-hero__grid{grid-template-columns:minmax(0,1fr)}.projects-hero__count{display:none}.projects-toolbar{align-items:start;flex-direction:column;gap:17px}}
@media(max-width:640px){.projects-hero{padding:44px 0 38px}.projects-hero h1{font-size:3rem;line-height:1.03;margin:20px 0}.projects-hero p{font-size:.88rem;line-height:1.8}.projects-catalog{padding:25px 0 55px}.projects-grid{grid-template-columns:minmax(0,1fr);gap:22px}.project-filters{gap:7px;flex-wrap:nowrap;width:100%}.project-filters>a{padding:10px 12px;gap:7px;font-size:.68rem;justify-content:center;flex:1}.project-filters>a span{min-width:20px;height:20px;font-size:.59rem}.projects-toolbar{margin-bottom:25px}.project-card__body{padding:22px}.project-card h3{font-size:1.2rem}.projects-contact{padding:42px 0}.projects-contact__inner>div:last-child{width:100%;display:grid}.projects-contact a{width:100%}.project-detail__heading{padding:28px 0}.project-detail h1{font-size:2.35rem}.project-detail__meta{gap:12px;font-size:.65rem}.project-detail__layout{padding-top:24px;padding-bottom:45px;gap:25px}.project-detail__main-photo{border-radius:19px}.project-detail__main-photo>span{bottom:14px;right:14px;font-size:.62rem;padding:10px 12px}.project-detail__summary{padding:25px 22px;border-radius:20px}.project-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.projects-related{padding:42px 0 55px}.projects-related .section-kicker{font-size:.65rem}.project-lightbox{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:16px}.project-lightbox__inner{padding:13px}.project-lightbox__stage{position:relative;gap:0;flex-wrap:wrap;justify-content:center;padding-bottom:55px}.project-lightbox__stage img{max-width:100%;max-height:calc(100dvh - 230px)}.project-lightbox__stage button{position:absolute;bottom:0;width:40px;height:40px}.project-lightbox__stage button:first-child{left:calc(50% - 51px)}.project-lightbox__stage button:last-child{right:calc(50% - 51px)}.project-lightbox__inner>p{font-size:.66rem;margin:12px 12px 0}}
@media(prefers-reduced-motion:reduce){.project-card,.project-card__photo img,.project-thumbnails img,.project-filters>a{transition:none}.project-card:hover,.project-card:hover .project-card__photo img,.project-thumbnails a:hover img{transform:none}}
