.sap-wrap,.sap-single{--sap-accent:#ed1515;--sap-text:#111111;--sap-surface:#ffffff;--sap-overlay:rgba(0, 0, 0, .86);--sap-gap:24px;--sap-radius:16px;--sap-ratio:4 / 3;--sap-columns:3;--sap-tablet-columns:2;--sap-mobile-columns:1;color:var(--sap-text);background:var(--sap-surface);font-family:inherit;isolation:isolate}:where(.sap-wrap,.sap-single,.sap-gallery,.sap-lightbox),:where(.sap-wrap,.sap-single,.sap-gallery,.sap-lightbox) *,:where(.sap-wrap,.sap-single,.sap-gallery,.sap-lightbox) *::before,:where(.sap-wrap,.sap-single,.sap-gallery,.sap-lightbox) *::after{box-sizing:border-box}:where(.sap-wrap,.sap-single) :where(h1,h2,h3,h4){color:var(--sap-text,#111111);font-family:inherit;font-weight:800;text-transform:uppercase;line-height:1.15;overflow-wrap:anywhere}:where(.sap-wrap,.sap-single,.sap-gallery) :where(a,button,select):focus-visible{outline:3px solid var(--sap-accent,#ed1515);outline-offset:4px}.sap-grid{display:grid;grid-template-columns:repeat(var(--sap-columns,3),minmax(0,1fr));gap:var(--sap-gap,24px);margin:0;padding:0;list-style:none}.sap-card{position:relative;min-width:0;overflow:hidden;border-radius:var(--sap-radius,16px);background:#ededed;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease}.sap-card-image{position:relative;display:block;width:100%;aspect-ratio:var(--sap-ratio,4 / 3);overflow:hidden;border-radius:inherit;color:inherit;text-decoration:none}.sap-card-image img{display:block;width:100%;height:100%;margin:0;object-fit:cover;transition:transform .5s ease}.sap-card-overlay{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:10px;padding:clamp(18px, 2.5vw, 32px);color:#fff;background:linear-gradient(to top,var(--sap-overlay,rgb(0 0 0 / .86)) 0%,rgb(0 0 0 / .55) 45%,transparent 100%);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}.sap-card .sap-card-title{display:-webkit-box;max-width:100%;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#fff;font-size:clamp(1.125rem, 1.8vw, 1.625rem);font-weight:800;line-height:1.15;text-transform:uppercase;overflow-wrap:anywhere}.sap-card-title a{color:inherit;text-decoration:none;pointer-events:auto}.sap-card-summary{display:-webkit-box;max-width:100%;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#fff;font-size:.9375rem;line-height:1.5;overflow-wrap:anywhere}.sap-card-summary p{margin:0}.sap-card-link{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;min-height:36px;max-width:100%;padding:2px 0;border-bottom:2px solid var(--sap-accent,#ed1515);color:#fff;font-size:.8125rem;font-weight:800;letter-spacing:.07em;line-height:1.4;text-decoration:none;text-transform:uppercase;overflow-wrap:anywhere;pointer-events:auto}.sap-card-link::after{content:"\2192";font-size:1.2em}.sap-card-link:hover{color:#fff;border-bottom-color:#fff}.sap-card:hover .sap-card-overlay,.sap-card:focus-within .sap-card-overlay{opacity:1;transform:translateY(0)}.sap-card:focus-within{outline:3px solid var(--sap-accent,#ed1515);outline-offset:3px}.sap-card:focus-within .sap-card-image{outline:none}@media (hover:hover) and (pointer:fine){.sap-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgb(0 0 0 / .12)}.sap-card:hover .sap-card-image img{transform:scale(1.045)}}@media (hover:none),(pointer:coarse){.sap-card-overlay{opacity:1;transform:none}.sap-card-summary{display:none}}.sap-filter-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 var(--sap-gap,24px)}.sap-filter-form label{display:grid;gap:6px;color:var(--sap-text,#111111);font-size:.875rem;font-weight:700}.sap-filter-select{max-width:100%;min-width:min(220px, 100%);min-height:46px;padding:10px 38px 10px 14px;border:1px solid #d8d8d8;border-radius:8px;color:var(--sap-text,#111111);background-color:var(--sap-surface,#ffffff);font:inherit;line-height:1.4;cursor:pointer}.sap-filter-form button{min-height:46px;padding:11px 22px;border:1px solid var(--sap-accent,#ed1515);border-radius:8px;color:#fff;background:var(--sap-accent,#ed1515);font-family:inherit;font-size:.875rem;font-weight:800;line-height:1.4;text-transform:uppercase;cursor:pointer;transition:filter .2s ease}.sap-filter-form button:hover{filter:brightness(.88)}.sap-filter-form button:disabled{opacity:.55;cursor:not-allowed}.sap-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:calc(var(--sap-gap, 24px) * 1.5)}.sap-pagination ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}.sap-pagination .page-numbers:not(ul){display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #e4e4e4;border-radius:8px;color:var(--sap-text,#111111);background:var(--sap-surface,#ffffff);font-weight:700;line-height:1.4;text-decoration:none;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.sap-pagination a.page-numbers:hover,.sap-pagination .page-numbers.current{border-color:var(--sap-accent,#ed1515);color:#fff;background:var(--sap-accent,#ed1515)}.sap-pagination .page-numbers.dots{border-color:#fff0}.sap-empty{padding:clamp(24px, 5vw, 56px);border:1px solid #e4e4e4;border-radius:var(--sap-radius,16px);color:var(--sap-text,#111111);background:var(--sap-surface,#ffffff);line-height:1.6;text-align:center}.sap-single{width:100%}.sap-single-header{margin-bottom:clamp(24px, 4vw, 48px)}.sap-single .sap-single-title{max-width:100%;margin:0 0 20px;font-size:clamp(2rem, 5vw, 4.5rem);font-weight:900;line-height:1.06;letter-spacing:-.035em}.sap-single-summary{max-width:75ch;margin:0;color:var(--sap-text,#111111);font-size:clamp(1rem, 1.5vw, 1.1875rem);line-height:1.7;overflow-wrap:anywhere}.sap-single-summary>:first-child{margin-top:0}.sap-single-summary>:last-child{margin-bottom:0}.sap-single-hero{overflow:hidden;margin:0 0 clamp(24px, 4vw, 48px);border-radius:var(--sap-radius,16px)}.sap-single-hero img{display:block;width:100%;height:auto;margin:0}.sap-single-services{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px;padding:0;list-style:none}.sap-single-services .sap-service{display:inline-flex;align-items:center;max-width:100%;padding:9px 14px;border:1px solid #dedede;border-radius:999px;color:var(--sap-text,#111111);background:var(--sap-surface,#ffffff);font-size:.8125rem;font-weight:700;line-height:1.4;text-decoration:none;text-transform:uppercase;overflow-wrap:anywhere}.sap-single-content{margin-bottom:clamp(28px, 4vw, 48px);color:var(--sap-text,#111111);line-height:1.75;overflow-wrap:anywhere}.sap-single-content>:first-child{margin-top:0}.sap-single-content>:last-child{margin-bottom:0}.sap-single-content img{max-width:100%;height:auto}.sap-single-content a{color:var(--sap-accent,#ed1515);text-underline-offset:3px}.sap-single-content a:hover{text-decoration-thickness:2px}.sap-back-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-bottom:20px;color:var(--sap-text,#111111);font-size:.8125rem;font-weight:800;letter-spacing:.05em;line-height:1.4;text-decoration:none;text-transform:uppercase}.sap-back-link:hover{color:var(--sap-accent,#ed1515)}.sap-gallery{display:grid;grid-template-columns:repeat(var(--sap-gallery-columns,3),minmax(0,1fr));gap:var(--sap-gap,24px);margin:0;padding:0;list-style:none}.sap-gallery-link{display:block;min-width:0;overflow:hidden;border-radius:var(--sap-radius,16px);background:#ededed;text-decoration:none;cursor:zoom-in}.sap-gallery-link img{display:block;width:100%;height:auto;aspect-ratio:var(--sap-ratio,4 / 3);margin:0;object-fit:cover;transition:transform .4s ease}@media (hover:hover) and (pointer:fine){.sap-gallery-link:hover img{transform:scale(1.04)}}.sap-lightbox{position:fixed;inset:0;z-index:2147483000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));color:#fff;background:rgb(0 0 0 / .95);font-family:inherit;line-height:1.5;overscroll-behavior:contain;touch-action:pan-y;animation:sap-lightbox-in .18s ease}.sap-lightbox [hidden]{display:none!important}.sap-lightbox:focus{outline:none}.sap-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px}.sap-lightbox-counter{margin:0;padding:0 12px;font-size:.875rem;font-variant-numeric:tabular-nums}.sap-lightbox button{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:48px;height:48px;padding:12px;border:1px solid rgb(255 255 255 / .3);border-radius:50%;color:#fff;background:rgb(255 255 255 / .08);font:inherit;line-height:1;cursor:pointer;touch-action:manipulation;transition:background-color .2s ease,border-color .2s ease}.sap-lightbox button:hover{background:rgb(255 255 255 / .2);border-color:#fff}.sap-lightbox button:focus-visible{outline:3px solid var(--sap-accent,#ed1515);outline-offset:4px}.sap-lightbox button:disabled{opacity:.35;cursor:default}.sap-lightbox button svg{display:block;width:22px;height:22px}.sap-lightbox-stage{position:relative;display:flex;justify-content:center;align-items:center;min-width:0;min-height:0;margin:12px 0;padding:0 64px}.sap-lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;margin:0;object-fit:contain;border:0;border-radius:2px}.sap-lightbox-prev,.sap-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.sap-lightbox-prev{left:0}.sap-lightbox-next{right:0}.sap-lightbox-status{max-width:44ch;margin:0;padding:20px;color:#fff;font-size:.9375rem;text-align:center}.sap-lightbox-caption{max-width:80ch;max-height:22vh;margin:0 auto;padding:4px 12px 12px;overflow:auto;color:#fff;font-size:.9375rem;line-height:1.5;text-align:center;overflow-wrap:anywhere}.sap-lightbox-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes sap-lightbox-in{from{opacity:0}to{opacity:1}}@media (max-width:1024px){.sap-grid{grid-template-columns:repeat(var(--sap-tablet-columns,2),minmax(0,1fr))}.sap-gallery{grid-template-columns:repeat(var(--sap-gallery-tablet-columns,2),minmax(0,1fr))}}@media (max-width:600px){.sap-grid{grid-template-columns:repeat(var(--sap-mobile-columns,1),minmax(0,1fr))}.sap-gallery{grid-template-columns:repeat(var(--sap-gallery-mobile-columns,1),minmax(0,1fr))}.sap-filter-form{align-items:stretch}.sap-filter-form label,.sap-filter-select{width:100%}.sap-card-overlay{padding:20px}.sap-lightbox-stage{padding:0;margin-bottom:64px}.sap-lightbox-prev,.sap-lightbox-next{top:auto;bottom:-60px;transform:none}.sap-lightbox-prev{left:calc(50% - 58px)}.sap-lightbox-next{right:calc(50% - 58px)}.sap-lightbox-caption{max-height:18vh}}@media (prefers-reduced-motion:reduce){.sap-card,.sap-card-image img,.sap-card-overlay,.sap-card-link,.sap-gallery-link img,.sap-filter-form button,.sap-pagination .page-numbers,.sap-lightbox,.sap-lightbox button{animation:none;transition:none}.sap-card:hover,.sap-card:hover .sap-card-image img,.sap-gallery-link:hover img{transform:none}}.sap-template-main{width:min(1200px, 100%);margin:0 auto;padding:clamp(24px, 5vw, 64px) 20px}.sap-wrap .sap-section-title{margin:0 0 28px;font-size:clamp(1.8rem, 4vw, 3rem);font-weight:900}.sap-no-image{display:grid;min-height:180px;height:100%;place-items:center;padding:24px;color:#555;background:#ededed;text-align:center}.sap-gallery-image{overflow:hidden;border-radius:var(--sap-radius,10px)}.sap-gallery-image img{display:block;width:100%;height:auto;aspect-ratio:var(--sap-ratio,4/3);object-fit:cover}.sap-single-summary+.sap-single-services{margin-top:20px}.sap-completed-date{margin-top:16px;opacity:.75;font-size:.875rem}.sap-card-link::after{content:none}@media (max-width:1024px) and (min-width:601px){.sap-card-summary{-webkit-line-clamp:2;font-size:.8125rem}.sap-card-title{-webkit-line-clamp:2}.sap-card-overlay{padding:14px;gap:6px}}