@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=IBM+Plex+Sans:wght@300;400;500&display=swap";:root{--surface:#fff;--surface-dim:#f5f5f5;--surface-container:#fff;--primary:#000;--primary-container:#111;--on-primary:#fff;--on-surface:#000;--tertiary:#8a8a8a;--font-display:"Cormorant Garamond", serif;--font-body:"IBM Plex Sans", sans-serif;--text-display-xl:2.5rem;--text-display-lg:2.25rem;--text-display-md:1.75rem;--text-headline-lg:1.5rem;--text-title-md:1.15rem;--text-body-md:1rem;--text-label-md:.8rem;--spacing-4:1rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:3.5rem;--spacing-16:6rem;--spacing-24:10rem;--spacing-32:15rem;--radius-none:0px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--surface);color:var(--on-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;font-weight:300;line-height:1.1}a{color:var(--on-surface);text-decoration:none}img{max-width:100%;display:block}.display-xl{font-size:var(--text-display-xl);font-family:var(--font-display);font-weight:300}.display-lg{font-size:var(--text-display-lg);font-family:var(--font-display);font-weight:300}.display-md{font-size:var(--text-display-md);font-family:var(--font-display);font-weight:300}.headline-lg{font-size:var(--text-headline-lg);font-family:var(--font-display)}.title-md{font-size:var(--text-title-md);font-family:var(--font-body);font-weight:300}.body-md{font-size:var(--text-body-md);font-family:var(--font-body);font-weight:300}.label-md{font-size:var(--text-label-md);font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;font-weight:600}.section-padding{padding:var(--spacing-10) var(--spacing-6)}.section-padding-large{padding:var(--spacing-16) var(--spacing-6)}@media (width>=768px){.section-padding{padding:var(--spacing-16) var(--spacing-10)}.section-padding-large{padding:var(--spacing-32) var(--spacing-10)}.display-xl{font-size:7rem}.display-lg{font-size:4.5rem}.display-md{font-size:2.5rem}.title-md{font-size:1.25rem}.body-md{font-size:1.125rem}}.btn-primary{background:var(--primary);color:var(--on-primary);border-radius:var(--radius-none);font-family:var(--font-body);font-size:var(--text-label-md);text-transform:uppercase;letter-spacing:.15em;border:1px solid var(--primary);cursor:pointer;justify-content:center;align-items:center;padding:1.25rem 2.5rem;font-weight:500;text-decoration:none;transition:background-color .3s,color .3s;display:inline-flex}.btn-primary:hover{color:var(--primary);background:0 0}.btn-secondary{color:var(--primary);border-radius:var(--radius-none);font-family:var(--font-body);font-size:var(--text-label-md);text-transform:uppercase;letter-spacing:.15em;cursor:pointer;background:0 0;border:1px solid #0a0a0a33;justify-content:center;align-items:center;padding:1.25rem 2.5rem;font-weight:500;text-decoration:none;transition:background-color .3s,color .3s;display:inline-flex}.btn-secondary:hover{border-color:var(--primary)}.btn-tertiary{color:var(--on-surface);font-family:var(--font-body);font-size:var(--text-label-md);text-transform:uppercase;letter-spacing:.15em;padding-bottom:2px;text-decoration:none;display:inline-block;position:relative}.btn-tertiary:after{content:"";background-color:var(--primary);transform-origin:100%;width:100%;height:1px;transition:transform .4s cubic-bezier(.25,1,.5,1);position:absolute;bottom:0;left:0}.btn-tertiary:hover:after{transform-origin:0;transform:scaleX(0)}.fade-in-section{opacity:0;will-change:opacity, visibility;transition:opacity 1.2s cubic-bezier(.25,1,.5,1),transform 1.2s cubic-bezier(.25,1,.5,1);transform:translateY(30px)}.is-visible{opacity:1;transform:none}.navigation{z-index:1000;width:100%;padding:24px 20px;transition:all .3s;position:fixed;top:0;left:0}@media (width>=768px){.navigation{padding:40px 60px}}.nav-home-transparent{background-color:#0000;border-bottom:none}.nav-solid{background-color:#fffffffa;border-bottom:1px solid #0000000d}.nav-container{justify-content:space-between;align-items:center;max-width:1600px;margin:0 auto;display:flex}.brand-logo-large{color:#000;font-family:var(--font-display);letter-spacing:.1em;white-space:nowrap;z-index:1001;font-size:.85rem;font-weight:500;text-decoration:none}@media (width>=1024px){.brand-logo-large{letter-spacing:.15em;font-size:1.5rem}}.logo-light-large{color:#555;font-weight:300}.desktop-nav-large{align-items:center;gap:60px;display:none}.nav-link-large{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:#000;font-size:15px;font-weight:500;text-decoration:none;display:inline-block;position:relative}.nav-link-large:after{content:"";background-color:#000;width:0;height:1px;transition:width .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:-4px;left:0}.nav-link-large:hover:after{width:100%}.nav-home-transparent .nav-link-large:after{background-color:#000}.mobile-toggle-large{color:#000;cursor:pointer;z-index:1001;background:0 0;border:none;display:flex}.mobile-nav{z-index:999;background-color:#fff;flex-direction:column;width:100%;height:100vh;display:flex;position:fixed;top:0;left:0}.mobile-nav-content{flex-direction:column;gap:40px;margin-top:15vh;padding:0 40px;display:flex}@media (width>=768px){.desktop-nav-large{display:flex}.mobile-toggle-large{display:none}}.ash-footer{background-color:var(--surface);border-top:1px solid #0a0a0a1a;padding:24px 40px 16px}.ash-footer-inner{max-width:1600px;margin:0 auto}.ash-footer-top{gap:var(--spacing-12);margin-bottom:var(--spacing-8);flex-direction:column;display:flex}.footer-links-grid{gap:var(--spacing-16);display:flex}.footer-col{gap:var(--spacing-6);flex-direction:column;display:flex}.text-muted{color:var(--tertiary);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.footer-nav{gap:var(--spacing-4);flex-direction:column;display:flex}.footer-nav a{color:var(--primary);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:400;text-decoration:none;transition:opacity .3s}.footer-nav a:hover{opacity:.5}.footer-brand .display-md{font-size:24px}.footer-brand .body-md{font-size:13px;line-height:1.6}.ash-footer-bottom{justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid #0a0a0a1a;flex-direction:column;display:flex}.footer-legal{text-align:left}.footer-legal .label-md{color:#888;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.footer-legal span{color:var(--primary-container);font-weight:400}@media (width>=1024px){.ash-footer-top{flex-direction:row;justify-content:space-between}}.marquee-container{width:100%;color:var(--primary);padding:var(--spacing-6) 0;background-color:#0000;display:flex;overflow:hidden}.marquee-track{white-space:nowrap;width:fit-content;animation:linear infinite marquee-scroll;display:flex}.marquee-content{font-family:var(--font-body);font-size:var(--text-label-md);letter-spacing:.25em;text-transform:uppercase;flex-shrink:0;align-items:center;font-weight:400;display:flex}.marquee-separator{opacity:.5;margin:0 40px;font-weight:300}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width>=768px){.marquee-container{padding:var(--spacing-8) 0}.marquee-content{font-size:1rem}.marquee-separator{margin:0 80px}}.home-page-ash{background-color:var(--surface);overflow:hidden}.italic-serif{font-style:italic;font-family:var(--font-display)}.text-muted{color:#888}.ash-hero{justify-content:center;align-items:center;width:100%;height:100vh;min-height:500px;display:flex;position:relative;overflow:hidden}.ash-hero-bg{z-index:0;background-position:50%;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.ash-hero-overlay{z-index:1;background:0 0;width:100%;height:100%;position:absolute;top:0;left:0}.ash-hero-content{z-index:2;text-align:center;color:#fff;position:relative}.ash-hero-title{margin-bottom:var(--spacing-6);color:#fff}.ash-hero-subtitle{font-family:var(--font-body);font-size:var(--text-title-md);letter-spacing:.05em;margin-bottom:var(--spacing-10);opacity:.9;font-weight:300}.btn-primary-white{color:#fff;border-radius:var(--radius-none);font-family:var(--font-body);font-size:var(--text-label-md);text-transform:uppercase;letter-spacing:.15em;background:0 0;border:1px solid #fff;padding:1.25rem 3rem;text-decoration:none;transition:background-color .4s,color .4s;display:inline-flex}.btn-primary-white:hover{color:var(--primary);background:#fff}.ash-about-container{gap:var(--spacing-10);grid-template-columns:1fr;align-items:stretch;max-width:1400px;margin:0 auto;display:grid}@media (width>=1024px){.ash-about-container{gap:var(--spacing-24);grid-template-columns:1fr 1fr}.ash-about-image{aspect-ratio:auto;height:100%}}.ash-about-text{flex-direction:column;justify-content:center;display:flex}.ash-about-text h2{margin-bottom:var(--spacing-6);line-height:1.2}.ash-about-text p{margin-bottom:var(--spacing-4)}.ash-about-image{aspect-ratio:4/5;width:100%;min-height:0;position:relative;overflow:hidden}.ash-about-image img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.ash-transition-image{background-position:50%;background-size:cover;width:100%;height:50vh;min-height:400px}@media (width>=1024px){.ash-transition-image{background-attachment:fixed;height:70vh;min-height:500px}}.ash-reviews-section{background-color:#fcfcfc;border-top:1px solid #eaeaea}.ash-reviews-container{width:90%;max-width:1400px;margin:0 auto}.ash-reviews-grid{gap:var(--spacing-16);grid-template-columns:1fr;display:grid}@media (width>=1024px){.ash-reviews-grid{gap:var(--spacing-10);grid-template-columns:repeat(3,1fr)}}.ash-review-block{text-align:center}.ash-review-block .display-sm{font-family:var(--font-display);color:var(--primary);font-size:1.25rem;font-weight:300;line-height:1.6}@media (width>=1024px){.ash-review-block .display-sm{font-size:1.25rem}}@media (width>=768px){.ash-hero{min-height:800px}}.portfolio-page{padding-top:var(--spacing-16);color:#000;background-color:#fff;min-height:100vh}@media (width>=768px){.portfolio-page{padding-top:var(--spacing-24)}}.project__title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;text-align:center;color:#000;margin-bottom:60px;font-size:2rem;font-weight:300}@media (width>=768px){.project__title{margin-bottom:100px;font-size:3.5rem}}.project__grid{grid-template-columns:1fr;gap:40px 20px;display:grid}@media (width>=768px){.project__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.project__grid{grid-template-columns:repeat(3,1fr);gap:60px 30px}}.project__grid__card{width:100%}.project__grid__card__link{color:#000;text-decoration:none;display:block;position:relative}.img-holder{aspect-ratio:4/3;background:#f4f4f4;width:100%;overflow:hidden}.project__grid__card__img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .4s;display:block}.project__grid__card__link:hover .project__grid__card__img{opacity:.8;transform:scale(1.03)}.project__grid__card__info{margin-top:16px;position:relative}.project__grid__card__info__title{font-family:var(--font-display);color:#000;margin-bottom:12px;font-size:1.125rem;font-weight:400}.info-line{background-color:#e0e0e0;width:100%;height:1px;transition:width .4s,background-color .4s}.project__grid__card__link:hover .info-line{background-color:#000}.services-ash-page{background-color:var(--surface);min-height:100vh;padding-top:100px;padding-bottom:40px}@media (width>=768px){.services-ash-page{padding-top:180px}}.services-ash-container{width:90%;max-width:1400px;margin:0 auto}.services-ash-header{margin-bottom:50px}.services-ash-grid{grid-template-columns:1fr;gap:40px 90px;display:grid}@media (width>=768px){.services-ash-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.services-ash-grid{grid-template-columns:repeat(3,1fr)}}.services-ash-card{width:100%;overflow:hidden}.services-ash-card-inner{color:inherit;cursor:pointer;text-decoration:none;display:block}.services-ash-card-img{object-fit:cover;border-radius:2px;width:100%;height:250px;margin-bottom:20px}.services-ash-card-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--primary);justify-content:space-between;margin:0;padding-bottom:8px;font-size:16px;font-weight:500;line-height:1.2;display:flex}.services-ash-line-wrapper{width:100%;overflow:hidden}.services-ash-card-line{background-color:#eaeaea;width:100%;height:1px;margin-bottom:15px;transition:all .8s ease-in-out;position:relative;left:calc(50px - 100%)}.services-ash-card:hover .services-ash-card-line{background-color:#000;left:0}.services-ash-card-text{font-family:var(--font-body);color:#333;font-size:15px;font-weight:300;line-height:24px}.services-cta-section{text-align:center;border-top:1px solid #0a0a0a1a;margin-top:40px;padding-top:40px}.services-cta-btn{background:var(--primary);color:var(--surface);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.15em;border-radius:2px;padding:1.25rem 3.5rem;font-size:14px;text-decoration:none;transition:background-color .3s;display:inline-flex}.services-cta-btn:hover{background:#333}.about-ash-page{background-color:var(--surface);min-height:100vh;padding-top:180px;padding-bottom:90px}.about-ash-container{width:90%;max-width:1000px;margin:0 auto}.about-ash-content{flex-direction:column;gap:60px;display:flex}@media (width>=1024px){.about-ash-content{grid-template-columns:480px 400px;justify-content:space-between;align-items:stretch;gap:80px;display:grid}}.about-ash-text-side{max-width:480px}.about-body{color:#333;font-family:var(--font-display);margin:0;font-size:16px;font-weight:300;line-height:28px}.about-ash-image-side{width:100%;min-height:500px;position:relative}@media (width>=1024px){.about-ash-image-side{height:100%;min-height:0}}.about-img-ash{object-fit:cover;object-position:center;border-radius:2px;width:100%;height:100%;position:absolute;top:0;left:0}.contact-ash-page{background-color:var(--surface);min-height:100vh;padding-top:180px;padding-bottom:40px}.contact-ash-container{width:90%;max-width:1200px;margin:0 auto}.contact-ash-content{flex-direction:column;gap:60px;display:flex}@media (width>=1024px){.contact-ash-content{flex-direction:row;align-items:flex-start;gap:120px}}.contact-ash-text-side{flex:1;max-width:400px}.contact-form-side{flex:1;width:100%;max-width:500px;margin-left:auto}.contact-details-ash{margin-bottom:24px}.contact-details-ash p{color:#888;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-size:13px;font-weight:500}.contact-details-ash a{color:var(--primary);font-size:18px;font-weight:300;font-family:var(--font-body);text-decoration:none;transition:opacity .3s}.contact-details-ash a:hover{opacity:.5}.ash-form{flex-direction:column;gap:32px;width:100%;display:flex}.form-group-ash{flex-direction:column;gap:32px;display:flex}.form-group-ash input,.form-group-ash select,.form-group-ash textarea{width:100%;font-family:var(--font-body);color:var(--primary);background:0 0;border:none;border-bottom:1px solid #0a0a0a33;border-radius:0;outline:none;padding:16px 0;font-size:16px;transition:all .5s cubic-bezier(.16,1,.3,1)}.form-group-ash input:hover,.form-group-ash select:hover,.form-group-ash textarea:hover{border-bottom-color:#0a0a0a80}.form-group-ash input:focus,.form-group-ash select:focus,.form-group-ash textarea:focus{border-bottom-color:var(--primary);border-bottom-width:2px;padding-bottom:15px}.form-group-ash input::placeholder,.form-group-ash textarea::placeholder{color:#0a0a0a66;font-weight:300;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.form-group-ash input:focus::placeholder,.form-group-ash textarea:focus::placeholder{opacity:.15;transform:translate(8px)}.form-group-ash textarea{resize:vertical;min-height:120px}.form-group-ash select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 0 center;background-repeat:no-repeat;background-size:16px}.form-group-ash select:invalid{color:#0a0a0a66;font-weight:300}@media (width>=768px){.form-group-ash{flex-direction:row}}.btn-form-submit{background:var(--primary);color:var(--surface);font-family:var(--font-body);text-align:center;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;border:none;border-radius:2px;width:100%;margin-top:8px;padding:18px 0;font-size:14px;font-weight:500;transition:opacity .3s;display:block}.btn-form-submit:hover{opacity:.8}.project-detail-page{padding-top:var(--spacing-16);color:#000;background-color:#fff;min-height:100vh}@media (width>=768px){.project-detail-page{padding-top:var(--spacing-24)}}.ash-container{width:90%;max-width:1400px;margin:0 auto}.project-detail-header{text-align:center;margin-bottom:60px;position:relative}.project-back-link{font-family:var(--font-body);font-size:var(--text-label-md);text-transform:uppercase;letter-spacing:.15em;color:var(--primary);opacity:.5;align-items:center;gap:8px;text-decoration:none;transition:opacity .3s;display:inline-flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.project-back-link:hover{opacity:1}@media (width<=1024px){.project-detail-header{flex-direction:column;align-items:center;gap:20px;display:flex}.project-back-link{position:static;transform:none}}.gallery__title{font-family:var(--font-display);color:#000;margin:0;font-size:2rem;font-weight:400}@media (width>=768px){.gallery__title{font-size:3rem}}.gallery__grid_container{margin-bottom:80px}.gallery__grid_thumbnails{grid-template-columns:repeat(2,1fr);gap:20px;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.gallery__grid_thumbnails{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.gallery__grid_thumbnails{grid-template-columns:repeat(4,1fr)}}.gallery__grid__card{width:100%}.gallery__grid__card__img{aspect-ratio:4/3;object-fit:cover;cursor:zoom-in;background-color:#f4f4f4;width:100%;transition:opacity .4s;display:block}.gallery__grid__card__img:hover{opacity:.8}.gallery__control{border-top:1px solid #e0e0e0;margin-top:40px;padding:40px 0 80px}.gallery__control__inner{justify-content:center;align-items:center;gap:40px;display:flex}@media (width>=768px){.gallery__control__inner{gap:80px}}.gallery__control__link{font-family:var(--font-body);color:#000;text-transform:uppercase;letter-spacing:.1em;align-items:center;font-size:.75rem;font-weight:500;text-decoration:none;transition:opacity .3s;display:flex}.gallery__control__link:hover{opacity:.5}.gallery__control__link.placeholder{visibility:hidden}.grid-icon-link{color:#000;justify-content:center;align-items:center;transition:opacity .3s;display:flex}.grid-icon-link:hover{opacity:.5}.fullscreen-slider{z-index:2000;background-color:#fff;flex-direction:column;width:100%;height:100vh;display:flex;position:fixed;top:0;left:0}.slider-close{color:#000;cursor:pointer;z-index:2002;background:0 0;border:none;transition:opacity .3s;position:absolute;top:30px;right:40px}.slider-close:hover{opacity:.5}.slider-content{flex:1;justify-content:space-between;align-items:center;padding:0 5vw;display:flex;position:relative}.slider-image{object-fit:contain;cursor:pointer;-webkit-user-select:none;user-select:none;max-width:80%;max-height:85vh}.slider-nav{color:#000;cursor:pointer;opacity:.5;background:0 0;border:none;justify-content:center;align-items:center;padding:20px;transition:opacity .3s;display:flex}.slider-nav:hover{opacity:1}.slider-info{font-family:var(--font-body);letter-spacing:.1em;color:#000;flex-direction:column;gap:8px;font-size:.75rem;font-weight:500;display:flex;position:absolute;bottom:40px;left:40px}.slider-info-title{text-transform:uppercase}.slider-info-count{color:#888}@media (width<=640px){.slider-nav{display:none}.slider-image{max-width:100%}.slider-content{justify-content:center;padding:0 20px}}.preloader-container{background-color:var(--surface);width:100vw;height:100vh;color:var(--primary);z-index:9999;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;overflow:hidden}.preloader-counter{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:var(--spacing-4);font-size:5rem;font-weight:300;line-height:1}.preloader-brand{font-family:var(--font-body);letter-spacing:.25em;text-transform:uppercase;opacity:.4;font-size:.75rem;font-weight:600}
