:root{--ay-ink:#1f2428;--ay-muted:#6f7174;--ay-paper:#ffffff;--ay-soft:#f4f1ed;--ay-line:#ddd6cf;--ay-accent:#c14b5c;--ay-accent-dark:#8f3440;--ay-display:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--ay-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ay-ink);background:var(--ay-paper);font-family:var(--ay-body);font-size:1rem;line-height:1.55}img{max-width:100%;height:auto;vertical-align:middle}a{color:var(--ay-accent);text-decoration-thickness:1px;text-underline-offset:0.18em}a:hover,a:focus{color:var(--ay-accent-dark)}a:focus,button:focus,.btn:focus{outline:3px solid rgba(193,75,92,0.45);outline-offset:3px}button{font:inherit}h1,h2,h3,p,ol,ul,dl{margin-top:0}h1,h2,h3{font-family:var(--ay-display);font-weight:700}.container{width:min(100% - 30px,1140px);margin-right:auto;margin-left:auto}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col-lg-4{width:100%;padding-right:15px;padding-left:15px}.align-items-center{align-items:center}.ml-auto{margin-left:auto}.my-3{margin-top:1rem;margin-bottom:1rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.text-uppercase{text-transform:uppercase}.text-muted{color:var(--ay-muted) !important}.bg-light{background-color:var(--ay-soft) !important}.black-text{color:#000 !important}.img-fluid{max-width:100%;height:auto}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}#mainNav{background:rgba(31,36,40,0.96);padding:0.9rem 0}#mainNav .container{display:flex;align-items:center}.navbar-brand{display:inline-flex;align-items:center;margin-right:1rem}.navbar-brand img{height:2.25rem;width:auto}.navbar-toggler{margin-left:auto;padding:0.75rem;color:#fff;background:var(--ay-accent);border:0;border-radius:0.2rem;font-size:0.875rem;font-weight:700;text-transform:uppercase}.nav-menu-icon{display:inline-block;margin-left:0.35rem;line-height:1}.navbar-collapse{display:none;flex-basis:100%;flex-grow:1;align-items:center}.navbar-collapse.show{display:block}.navbar-nav{display:flex;flex-direction:column;gap:0.25rem;list-style:none;margin:1rem 0 0;padding:0}.nav-link{display:block;color:#fff;padding:0.65rem 0;font-size:0.95rem;font-weight:700;letter-spacing:0.02em;text-decoration:none}.nav-link:hover,.nav-link:focus,.nav-link.active{color:#f1c6cd}.nav-phone,.nav-call{color:#fff !important;font-weight:700;text-decoration:none}.nav-phone{margin-left:auto;margin-right:1rem}.nav-call{border:1px solid rgba(255,255,255,0.45);padding:0.65rem 0.9rem !important}.d-lg-none{display:inline-flex}.page-section{padding:5rem 0}.section-intro{max-width:760px;margin:0 auto 3rem}.section-heading{color:var(--ay-ink);font-size:2rem;line-height:1.1;margin-bottom:1rem}.section-subheading{font-size:1.05rem;font-style:normal;line-height:1.75;margin-bottom:0}header.masthead{min-height:92svh;display:flex;align-items:center;color:#fff;text-align:left;background-image:linear-gradient(90deg,rgba(20,23,26,0.88),rgba(20,23,26,0.68)),var(--hero-image-mobile,var(--hero-image));background-position:center;background-size:cover;padding-top:8.5rem;padding-bottom:4rem}header.masthead.masthead-compact{min-height:auto;background-image:linear-gradient(90deg,rgba(20,23,26,0.9),rgba(20,23,26,0.68)),var(--hero-image-mobile,var(--hero-image));padding-top:5.75rem;padding-bottom:2rem}.masthead-subheading{max-width:760px;color:#fff;font-size:1.1rem;line-height:1.4;margin-bottom:1rem}.masthead-heading{max-width:850px;color:#fff;font-size:2.25rem;line-height:1.06;margin-bottom:1.25rem}.masthead-compact .masthead-heading{max-width:880px;font-size:1.75rem;line-height:1.14;margin-bottom:0.65rem}.masthead-copy{max-width:720px;color:rgba(255,255,255,0.92);font-size:1.1rem;line-height:1.65;margin-bottom:2rem}.masthead-compact .masthead-copy{max-width:760px;font-size:1.05rem;margin-bottom:1rem}.hero-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.hero-proof{display:flex;flex-wrap:wrap;gap:0.75rem;max-width:900px}.masthead-compact .hero-proof{display:none}.hero-proof span{border:1px solid rgba(255,255,255,0.35);color:#fff;padding:0.55rem 0.75rem;font-size:0.875rem;font-weight:700;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:0.2rem;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}.btn-xl{padding:1rem 1.4rem;font-size:0.95rem}.btn-primary{color:#fff;background-color:var(--ay-accent);border-color:var(--ay-accent)}.btn-primary:hover,.btn-primary:focus{color:#fff;background-color:var(--ay-accent-dark);border-color:var(--ay-accent-dark)}.btn-outline-light{color:#fff;border-color:rgba(255,255,255,0.55)}.btn-outline-light:hover,.btn-outline-light:focus{color:var(--ay-ink);background:#fff}.masthead-compact .btn-xl{padding:0.75rem 1.1rem;font-size:0.9rem}.service-grid,.portfolio-grid,.process-list,.service-layout,.project-case,.contact-panel,.service-details-grid,.project-columns,.featured-gallery,.project-gallery{display:grid;grid-template-columns:1fr;gap:1.5rem}.service-card{display:flex;flex-direction:column;min-height:100%;border-top:1px solid var(--ay-line);padding-top:1.5rem}.service-card h3,.service-details-grid h3,.project-story h3,.process-list h3{color:var(--ay-ink);font-size:1.15rem}.service-card p,.portfolio-caption p{color:var(--ay-muted)}.service-card .section-link{margin-top:auto}.task-logo{width:5.75rem;height:5.75rem;object-fit:contain;margin-bottom:1.25rem}.compact-list,.feature-list{margin:0 0 1.5rem;padding-left:1.2rem;color:var(--ay-muted);line-height:1.7}.portfolio-group+.portfolio-group{margin-top:3rem}.sectionname{font-size:1.6rem;margin-bottom:1.25rem}#portfolio .portfolio-item{max-width:none}.portfolio-link{position:relative;display:block;overflow:hidden;background:var(--ay-ink)}.portfolio-link img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform 0.25s ease-out,opacity 0.25s ease-out}.portfolio-link:hover img,.portfolio-link:focus img{opacity:0.78;transform:scale(1.03)}.portfolio-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(31,36,40,0.46);opacity:0;transition:opacity 0.2s ease-out}.portfolio-link:hover .portfolio-hover,.portfolio-link:focus .portfolio-hover{opacity:1}.portfolio-hover-content{border:1px solid rgba(255,255,255,0.55);padding:0.65rem 0.9rem;font-size:0.875rem;font-weight:700;text-transform:uppercase}.portfolio-caption{min-height:15rem;padding:1.25rem 0 0;text-align:left}.portfolio-caption h3{font-size:1.35rem;line-height:1.25;margin-bottom:0.65rem}.project-meta{color:var(--ay-accent-dark) !important;font-size:0.875rem;font-weight:700;letter-spacing:0.02em;margin-bottom:0.55rem;text-transform:uppercase}.process-section{background:var(--ay-ink);color:#fff}.process-section .section-heading,.process-section .section-subheading,.process-list h3,.process-list p{color:#fff !important}.process-list{list-style:none;margin:0;padding:0;counter-reset:process}.process-list li{border-top:1px solid rgba(255,255,255,0.28);padding-top:1.2rem;counter-increment:process}.process-list li::before{content:counter(process,decimal-leading-zero);display:block;color:#f1c6cd;font-family:var(--ay-display);font-size:0.9rem;font-weight:700;margin-bottom:1rem}.about-copy,.privacy-copy{max-width:820px}.about-copy p,.privacy-copy p,.service-summary p,.project-story p{font-size:1.08rem}.service-card p,.portfolio-caption p{font-size:1.02rem;line-height:1.65}.service-summary,.project-facts{position:static}.service-reassurance{border-top:1px solid var(--ay-line);margin-top:1.5rem;padding-top:1.5rem;color:var(--ay-ink);font-weight:700}.project-facts{background:var(--ay-soft);padding:2rem}.project-facts h2{font-size:2rem;line-height:1.15;margin-bottom:1.5rem}.project-facts dl{margin:0}.project-facts div{border-top:1px solid var(--ay-line);padding:1rem 0}.project-facts dt{color:var(--ay-muted);font-size:0.875rem;text-transform:uppercase}.project-facts dd{margin:0.25rem 0 0;font-weight:700}.featured-gallery{margin:4rem 0}.featured-gallery figure{margin:0}.featured-gallery img{width:100%;min-height:18rem;height:100%;object-fit:cover}.project-photo{display:block;background:var(--ay-ink);cursor:zoom-in}.project-photo img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform 0.2s ease-out,opacity 0.2s ease-out}.project-photo:hover img,.project-photo:focus img{opacity:0.82;transform:scale(1.02)}.project-links{margin-top:2rem}.project-links .section-link{display:inline-block;margin:0 0.5rem 0.75rem}.gallery-heading{margin-bottom:2rem}.modal{position:fixed;inset:0;z-index:1050;display:none;overflow:hidden;outline:0}.image-modal.show{display:block;background:rgba(0,0,0,0.78);overflow-x:hidden;overflow-y:auto}body.modal-open{overflow:hidden}.modal-dialog{position:relative;width:calc(100% - 2rem);margin:1rem auto;pointer-events:none}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 2rem)}.modal-content{position:relative;width:100%;pointer-events:auto}.image-modal .modal-dialog{max-width:min(1100px,calc(100vw - 2rem))}.image-modal .modal-content{background:#111417;border:0;padding:1rem}.image-modal img{display:block;width:100%;max-height:82vh;object-fit:contain}.image-modal-nav{position:absolute;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;color:#fff;background:rgba(17,20,23,0.72);border:1px solid rgba(255,255,255,0.35);border-radius:50%;transform:translateY(-50%);cursor:pointer}.image-modal-nav span{display:block;font-size:2.4rem;line-height:1;margin-top:-0.15rem}.image-modal-nav:hover,.image-modal-nav:focus{color:var(--ay-ink);background:#fff;border-color:#fff}.image-modal-prev{left:1.5rem}.image-modal-next{right:1.5rem}.image-modal-close{position:absolute;top:0.35rem;right:0.65rem;z-index:2;color:#fff;background:transparent;border:0;font-size:2rem;line-height:1;cursor:pointer}.image-modal-caption{color:rgba(255,255,255,0.86);margin:0.75rem 0 0;text-align:center}section#contact{background:var(--ay-soft)}.contact-panel{align-items:center}.contact-actions{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.privacy-section{min-height:calc(100svh - 88px);padding-top:7rem;background:#fff}.privacy-copy .section-heading{font-size:1.65rem}.section-link{color:var(--ay-accent);font-weight:700}.footer{text-align:center;font-size:0.95rem}::selection{background:#f1c6cd;color:var(--ay-ink)}@media (min-width:768px){.section-heading{font-size:2.45rem}header.masthead{background-image:linear-gradient(90deg,rgba(20,23,26,0.82),rgba(20,23,26,0.54),rgba(20,23,26,0.18)),var(--hero-image)}header.masthead.masthead-compact{min-height:clamp(21rem,44svh,31rem);background-image:linear-gradient(90deg,rgba(20,23,26,0.9),rgba(20,23,26,0.68),rgba(20,23,26,0.38)),var(--hero-image);padding-top:7rem;padding-bottom:2.75rem}.hero-actions{flex-direction:row;flex-wrap:wrap}.masthead-subheading{font-size:1.35rem}.masthead-heading{font-size:3.75rem}.masthead-copy{font-size:1.25rem}.featured-gallery{grid-template-columns:1.4fr 1fr 1fr}}@media (min-width:992px){#mainNav{padding:1.5rem 0;background:transparent;transition:padding 0.3s ease-in-out,background 0.3s ease-in-out}#mainNav.navbar-shrink{padding:1rem 0;background:rgba(31,36,40,0.96)}.navbar-brand img{height:4rem;transition:height 0.3s ease-in-out}#mainNav.navbar-shrink .navbar-brand img{height:2.5rem}.navbar-toggler,.d-lg-none{display:none}.navbar-collapse{display:flex !important;flex-basis:auto}.navbar-nav{flex-direction:row;align-items:center;gap:1rem;margin:0 0 0 auto}.text-lg-left{text-align:left}.text-lg-right{text-align:right}.my-lg-0{margin-top:0;margin-bottom:0}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-grid,.service-details-grid,.project-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.process-list{grid-template-columns:repeat(4,minmax(0,1fr))}.service-layout,.project-case,.contact-panel{grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:3rem;align-items:start}.service-summary,.project-facts{position:sticky;top:7rem}.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.privacy-section{padding-top:8.5rem}}@media (min-width:1200px){.masthead-heading{font-size:4.65rem}}@media (max-width:767px){.page-section{padding:4rem 0}.privacy-section{padding-top:7rem}.hero-actions .btn{width:100%}.portfolio-caption{min-height:auto}}
