@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Raleway:wght@300;400;500;600;700&display=swap";.nav{display:flex;align-items:center;justify-content:space-between;background:var(--brand-secondary, #4a5a2c);padding:1rem 2rem;position:relative;z-index:1000}.nav .hamburger,.nav .mobile-logo-link,.nav .mobile-nav-footer,.nav .nav-overlay{display:none}.nav .nav-logo-title{display:flex;align-items:center;z-index:1001}.nav .nav-logo-title .logo-link{display:flex;align-items:center;text-decoration:none}.nav .nav-logo-title img{height:48px;margin-right:.75rem}.nav .nav-logo-title .nav-title{color:#fff;font-family:Cormorant Garamond,serif;font-size:1.7rem;font-weight:700;letter-spacing:1px;transition:color .2s}.nav .nav-logo-title .logo-link:hover .nav-title{color:var(--brand-accent, #b7a16a)}.nav .hamburger{display:none;flex-direction:column;justify-content:space-between;width:30px;height:20px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.nav .hamburger span{width:100%;height:2px;background:#fff;transition:all .3s ease}.nav .hamburger.open span:first-child{transform:translateY(9px) rotate(45deg)}.nav .hamburger.open span:nth-child(2){opacity:0}.nav .hamburger.open span:last-child{transform:translateY(-9px) rotate(-45deg)}.nav .nav-links-container .nav-links{list-style:none;display:flex;margin:0;padding:0}.nav .nav-links-container .nav-links .nav-link{display:inline-block;padding:.5rem 0;margin:0 1.2rem;color:#fff;font-weight:400;font-family:Raleway,sans-serif;font-size:.875rem;text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:color .2s}.nav .nav-links-container .nav-links .nav-link:hover{color:var(--brand-accent, #b7a16a)}.nav .nav-links-container .nav-links .nav-link.active{color:var(--brand-accent, #b7a16a);border-bottom:2px solid var(--brand-accent, #b7a16a)}.nav .nav-links-container .nav-links li.dropdown{position:relative}.nav .nav-links-container .nav-links li.dropdown .dropdown-content{list-style:none;display:none;position:absolute;top:100%;min-width:160px;background:var(--brand-secondary, #4a5a2c);padding:1.25rem 0 .5rem;z-index:10}.nav .nav-links-container .nav-links li.dropdown .dropdown-content a{color:#fff;padding:.65rem 1.5rem;display:block;font-size:.875rem;font-weight:400;text-transform:uppercase;letter-spacing:.8px;text-decoration:none;transition:color .2s}.nav .nav-links-container .nav-links li.dropdown .dropdown-content a:hover{color:var(--brand-accent, #b7a16a)}.nav .nav-links-container .nav-links li.dropdown:hover .dropdown-content,.nav .nav-links-container .nav-links li.dropdown:focus-within .dropdown-content{display:block}.dropdown-content .active{color:var(--brand-accent, #b7a16a)}@media (max-width: 600px){.nav{padding:.5rem 1rem}.nav .hamburger{display:flex}.nav .nav-links-container{position:fixed;top:0;left:-80%;width:80%;height:100vh;background:var(--brand-secondary, #4a5a2c);padding:5rem 1.5rem 2rem;transition:transform .3s ease;box-shadow:2px 0 8px #0003;z-index:1002;display:flex;flex-direction:column}.nav .nav-links-container.open{transform:translate(100%)}.nav .nav-links-container .mobile-logo-link{display:flex;position:absolute;top:.5rem;left:1rem;text-decoration:none;padding:.5rem}.nav .nav-links-container .mobile-logo-link img{height:48px;margin-right:.75rem}.nav .nav-links-container .mobile-logo-link .nav-title{color:#fff;font-family:Cormorant Garamond,serif;font-size:1.7rem;font-weight:700;letter-spacing:1px}.nav .nav-links-container .mobile-nav-footer{display:flex;margin-top:auto;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.1);flex-direction:column;align-items:flex-start;gap:1rem}.nav .nav-links-container .mobile-nav-footer .linkedin-link{color:#fff;opacity:.9;transition:opacity .2s}.nav .nav-links-container .mobile-nav-footer .linkedin-link:hover{opacity:1}.nav .nav-links-container .mobile-nav-footer .contact-info{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;font-weight:300;color:#fff;opacity:.9}.nav .nav-links-container .mobile-nav-footer .contact-info a{color:inherit;text-decoration:none}.nav .nav-links-container .mobile-nav-footer .contact-info span{font-size:.75rem;letter-spacing:.5px}.nav .nav-links-container .nav-links{flex-direction:column;gap:1.5rem}.nav .nav-links-container .nav-links .nav-link{font-size:1.2rem;margin:.5rem 0;width:100%}.nav .nav-overlay{display:block;position:fixed;top:0;left:0;width:100%;height:100vh;background:#0009;z-index:1001}}.footer{background:var(--brand-secondary, #4a5a2c);color:#f5f5f5;text-align:center;padding:1.25rem 0;font-size:.875rem;width:100vw;max-width:100vw}.footer a{color:#f5f5f5;text-decoration:none;transition:color .2s}.footer a:hover{color:var(--brand-accent, #b7a16a)}.footer p{margin:.25rem 0}.footer .license{font-size:.75rem;color:#ffffff80;margin-top:.4rem;letter-spacing:.5px}.site-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#f5f5f5}.site-gate-card{width:100%;max-width:400px;background:#fff;border:1px solid #d3d3d3;padding:2.5rem 2rem;text-align:center}.site-gate-card h1{font-family:Cormorant Garamond,serif;font-size:2rem;margin:.5rem 0 0;color:#111}.site-gate-logo{width:64px;height:auto;margin:0 auto}.site-gate-message{color:#4d4d4d;font-size:1rem;margin:.75rem 0 1.75rem}.site-gate-form{display:flex;flex-direction:column;gap:.5rem;text-align:left}.site-gate-label{font-size:.875rem;font-weight:600;color:#111}.site-gate-form input{font-family:Raleway,sans-serif;font-size:1rem;padding:.7rem .8rem;border:1px solid #d3d3d3;background:#fff;color:#111}.site-gate-form input:focus{outline:none;border-color:var(--brand-primary, #7a8c5c)}.site-gate-error{color:#c0392b;font-size:.875rem;margin:0}.site-gate-button{margin-top:.5rem;padding:.7rem 1rem;border:none;background:var(--brand-secondary, #4a5a2c);color:#fff;font-family:Raleway,sans-serif;font-size:1rem;font-weight:600;cursor:pointer}.site-gate-button:hover{background:var(--brand-primary, #7a8c5c)}.site-gate-admin-link{display:inline-block;margin-top:1.5rem;font-size:.875rem;color:#888;text-decoration:none}.site-gate-admin-link:hover{color:var(--brand-secondary, #4a5a2c)}.carousel{position:relative;width:100vw;height:100vh;overflow:hidden;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}.carousel-container{position:relative;width:100%;height:100%}.carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;transition:opacity .8s ease-in-out;will-change:opacity}.carousel-slide.active{opacity:1}.carousel-control{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease;z-index:2}.carousel-control:hover{background:#000c}.carousel-control.prev{left:20px}.carousel-control.next{right:20px}.carousel-dots{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:2}.carousel-dot{width:10px;height:10px;border-radius:50%;background:#ffffff80;border:none;cursor:pointer;transition:background-color .3s ease}.carousel-dot:hover{background:#fffc}.carousel-dot.active{background:#fff}@media (max-width: 768px){.carousel-control{width:30px;height:30px;font-size:20px}.carousel-control.prev{left:10px}.carousel-control.next{right:10px}.carousel-dots{bottom:10px}.carousel-dot{width:8px;height:8px}}body,main{margin:0;padding:0}.hero-section{position:relative;width:100vw;height:75vh;min-height:500px;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}.hero-carousel{width:100%;height:100%}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059;z-index:1}.hero-text{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.hero-text h1{margin:0;line-height:1.05;font-size:clamp(3rem,8vw,6rem)}.hero-text .hero-name-light{color:#fff;font-weight:300;font-style:italic;text-shadow:0 2px 16px rgba(0,0,0,.3)}.hero-text .hero-name-bold{color:#fff;font-weight:700;text-shadow:0 2px 16px rgba(0,0,0,.3)}.hero-text .hero-discipline{color:#ffffffe0;font-family:Raleway,sans-serif;font-size:clamp(.8rem,1.6vw,1rem);font-weight:300;letter-spacing:2px;text-transform:uppercase;margin:0}.hero-text .hero-more{display:inline-block;margin-top:.75rem;color:#ffffffd9;font-family:Raleway,sans-serif;font-size:.85rem;font-weight:400;letter-spacing:1px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px;transition:color .2s,border-color .2s}.hero-text .hero-more:hover{color:#fff;border-color:#fffc}.home-intro{max-width:680px;margin:0 auto;padding:5rem 2rem 4rem;text-align:center}.home-intro p{font-size:1.05rem;line-height:1.8;color:#111;margin:0 0 1.75rem}.home-intro-credentials{container-type:inline-size;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0;font-family:Raleway,sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.8px;font-variant:small-caps;color:#999;margin:0 0 1.5rem!important}.home-intro-credentials .credentials-years{white-space:nowrap}.home-intro-credentials .credentials-sep{display:none;white-space:nowrap;padding:0 .45em}@container (min-width: 520px){.home-intro-credentials .credentials-sep{display:inline}}.home-intro-link{color:#111;font-family:Raleway,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border-bottom:1.5px solid #111111;padding-bottom:2px;transition:color .2s,border-color .2s}.home-intro-link:hover{color:var(--brand-primary, #7a8c5c);border-color:var(--brand-primary, #7a8c5c)}.home-services{padding:5rem 0 4rem;background:#fff}.home-services-heading{text-align:center;margin-bottom:3rem;font-size:2rem;letter-spacing:.05em;text-transform:uppercase}.home-services-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem;max-width:1100px;margin:0 auto;padding:0 4rem}.home-service-card{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:inherit;gap:1rem}.home-service-card:hover .home-service-circle img{transform:scale(1.04)}.home-service-circle{width:160px;height:160px;border-radius:50%;overflow:hidden;flex-shrink:0}.home-service-circle img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.home-service-title{font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:400;color:#111;margin:0;line-height:1.3}.home-service-desc{font-family:Raleway,sans-serif;font-size:.88rem;color:#777;line-height:1.65;margin:0}.home-services-footer{display:flex;justify-content:flex-end;max-width:1100px;margin:2.5rem auto 0;padding:0 4rem}.home-services-footer a{display:inline-block;background:var(--brand-secondary, #4a5a2c);color:#fff;font-family:Raleway,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.7rem 1.5rem;text-decoration:none;transition:background .2s}.home-services-footer a:hover{background:var(--brand-primary, #7a8c5c)}.home-projects{padding:0 4rem 5rem;max-width:1100px;margin:0 auto}.home-projects-heading{text-align:center;margin-bottom:3rem;font-size:2rem;letter-spacing:.05em;text-transform:uppercase}.home-projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.home-project-item{display:block;text-decoration:none;color:inherit}.home-project-item:hover .home-project-img-wrap img{transform:scale(1.03)}.home-project-img-wrap{overflow:hidden;width:100%;aspect-ratio:3/2}.home-project-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.home-project-caption{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1.25rem .6rem;background:#fff}.home-project-title{font-family:Cormorant Garamond,serif;font-size:1rem;color:#111;font-weight:400;font-style:italic}.home-project-location{font-family:Raleway,sans-serif;font-size:.78rem;color:#999;font-weight:400;letter-spacing:.3px}.home-projects-footer{text-align:center;padding:2.5rem 0 0}.home-projects-footer a{color:#111;font-family:Raleway,sans-serif;font-size:.83rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border-bottom:1.5px solid #111111;padding-bottom:2px;transition:color .2s,border-color .2s}.home-projects-footer a:hover{color:var(--brand-primary, #7a8c5c);border-color:var(--brand-primary, #7a8c5c)}.home-quote{width:100vw;margin-left:calc(50% - 50vw);background:#1a1a1a;padding:5rem 2rem;text-align:center}.home-quote blockquote{font-family:Cormorant Garamond,serif;font-size:clamp(1.15rem,2.5vw,1.6rem);font-style:italic;font-weight:300;color:#ffffffe6;max-width:760px;margin:0 auto 1.5rem;line-height:1.65}.home-quote cite{display:block;font-family:Raleway,sans-serif;font-size:.82rem;font-weight:400;color:#ffffff73;letter-spacing:1px;font-style:normal;text-transform:uppercase}.home-contact-strip{padding:4rem 2rem;text-align:center;background:#fff}.home-contact-strip p{font-size:1rem;color:#111;line-height:1.7;margin:0}.home-contact-strip p a{color:#111;font-weight:600;border-bottom:1px solid #111111;text-decoration:none;transition:color .2s,border-color .2s}.home-contact-strip p a:hover{color:var(--brand-primary, #7a8c5c);border-color:var(--brand-primary, #7a8c5c)}@media (max-width: 900px){.home-projects{padding:0 2.5rem 4rem}.home-services-grid{grid-template-columns:repeat(2,1fr);padding:0 2.5rem;gap:2.5rem 1.5rem}.home-services-footer{padding:0 2.5rem}}@media (max-width: 700px){.hero-section{height:60vh;min-height:380px}.home-intro{padding:3.5rem 1.5rem 3rem}.home-projects{padding:0 1.25rem 3.5rem}.home-projects-grid{grid-template-columns:1fr;gap:1rem}.home-project-img-wrap{aspect-ratio:unset;height:220px}.home-services-grid{grid-template-columns:repeat(2,1fr);padding:0 1.25rem;gap:2rem 1rem}.home-services-footer{padding:0 1.25rem}.home-service-circle{width:120px;height:120px}.home-quote{padding:3.5rem 1.5rem}.home-contact-strip{padding:3rem 1.5rem}}.portfolio-grid-container{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:2rem}.portfolio-item{display:block;text-decoration:none;color:inherit;background:#fff}.portfolio-item:hover .portfolio-img-wrap img{transform:scale(1.03)}.portfolio-img-wrap{overflow:hidden;width:100%;aspect-ratio:4/3}.portfolio-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.portfolio-caption{display:flex;flex-direction:column;gap:.2rem;padding:.8rem .25rem .6rem}.portfolio-caption-title{font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:400;font-style:italic;color:#111}.portfolio-caption-location{font-family:Raleway,sans-serif;font-size:.75rem;color:#888;letter-spacing:.3px}.portfolio-empty{color:#888;font-style:italic;margin-top:2rem}.portfolio-link{display:inline-block;margin-top:2.5rem;color:#111;font-family:Raleway,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #111111;padding-bottom:2px;transition:color .2s,border-color .2s}.portfolio-link:hover{color:#4d4d4d;border-color:#4d4d4d}@media (max-width: 600px){.portfolio-grid-container{grid-template-columns:1fr;gap:1px}.portfolio-img-wrap{aspect-ratio:unset;height:220px}.portfolio-link{padding-top:12px;padding-bottom:12px;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center}}.portfolio-page{padding:4rem 5rem 5rem}@media (max-width: 900px){.portfolio-page{padding:3rem 2.5rem 4rem}}@media (max-width: 600px){.portfolio-page{padding:2.5rem 1.25rem 3rem}}.portfolio-page-header{max-width:680px;margin-bottom:.5rem}.portfolio-page-header h1{font-size:clamp(2rem,5vw,3rem);margin:0 0 .5rem;font-weight:300;font-style:italic;color:#111}.portfolio-page-header p{font-size:.875rem;color:#888;margin:0;line-height:1.6}.portfolio-category-section{margin-top:4rem}.portfolio-category-header{margin-bottom:0}.portfolio-category-header h2{font-size:1.5rem;font-weight:300;font-style:italic;color:#111;margin:0 0 .3rem}.portfolio-category-header p{font-size:.75rem;color:#888;margin:0;letter-spacing:.3px}.contact-page{display:flex;flex-direction:column;align-items:center;width:100%;padding:3rem 1rem;box-sizing:border-box}.contact-page h1{margin-bottom:.5rem}@media (max-width: 600px){.contact-page{padding:2rem 1rem}}.contact-intro-note{font-family:Raleway,sans-serif;font-size:.875rem;color:#4d4d4d;text-align:center;max-width:max(40vw,600px);margin:0 0 .5rem;line-height:1.6;font-style:italic}.contact-form{background:#fff;box-shadow:0 2px 20px #0000000f;padding:2.5rem;max-width:max(40vw,600px);width:100%;display:flex;flex-direction:column;gap:1.2rem;margin-top:1.5rem;box-sizing:border-box}.contact-form input[type=file]{padding:.7rem;border:1px solid #d3d3d3;font-size:1rem}.contact-form input[type=file]::-webkit-file-upload-button{margin-right:1rem;padding:.5rem 1rem;border:none;background:#111;color:#fff;font-family:Raleway,sans-serif;font-size:.875rem;cursor:pointer}.contact-form .form-row{display:flex;gap:1rem;flex-wrap:wrap}.contact-form .form-row>label,.contact-form .form-row>input{flex:1 1 1em;min-width:0}.contact-form label{display:flex;flex-direction:column;font-size:.875rem;font-weight:600;color:#111;gap:.3rem;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.6px}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #d3d3d3;border-radius:0;padding:.7rem 1rem;font-size:1rem;font-family:Raleway,sans-serif;background:#fff;color:#111;transition:border-color .2s;box-sizing:border-box}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:#4d4d4d}.contact-form select{padding-right:2.5rem;background-image:url('data:image/svg+xml;utf8,<svg fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5" stroke="%23333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:right 1rem center;background-size:1.2em;-webkit-appearance:none;-moz-appearance:none;appearance:none}.contact-form textarea{min-height:100px;resize:vertical}.contact-form button[type=submit]{background:#111;color:#fff;border:none;border-radius:0;padding:.85rem 0;font-size:.875rem;font-family:Raleway,sans-serif;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;margin-top:.5rem;transition:background .2s}.contact-form button[type=submit]:hover{background:#4d4d4d}.inquiry-block{border:1px solid #d3d3d3;border-radius:0;padding:1.5rem;background:#f5f5f5;margin:.5rem 0;text-align:center}.inquiry-question{display:flex;flex-direction:column;align-items:center;gap:.4rem;color:#111;margin-bottom:.5rem}.inquiry-question .inquiry-label{font-size:1rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase;font-family:Raleway,sans-serif}.inquiry-question .inquiry-hint{font-size:.75rem;color:#888;font-weight:400;text-transform:none;letter-spacing:0;font-family:Raleway,sans-serif}.inquiry-question .no-button{margin-top:.5rem;background:none;border:1px solid #d3d3d3;padding:.35rem 1rem;font-family:Raleway,sans-serif;font-size:.875rem;color:#4d4d4d;font-weight:400;cursor:pointer;letter-spacing:.5px;text-transform:uppercase;transition:border-color .2s,color .2s}.inquiry-question .no-button:hover{border-color:#4d4d4d;color:#111}.inquiry-question .no-button.selected{border-color:#111;color:#111;font-weight:600}.inquiry-type-selector{display:flex;justify-content:center;align-items:center;gap:1rem;margin:2rem 0}.inquiry-type-selector button{background:none;border:none;padding:.5rem;font-family:Cormorant Garamond,serif;font-size:1rem;color:#111;text-transform:uppercase;font-weight:400;cursor:pointer;transition:all .2s ease;position:relative;letter-spacing:.5px}.inquiry-type-selector button:before{content:attr(data-text);display:block;font-weight:700;height:0;overflow:hidden;visibility:hidden}.inquiry-type-selector button:not(:last-child):after{content:"|";position:absolute;right:-.5rem;color:#d3d3d3;font-weight:300}.inquiry-type-selector button.selected{font-weight:700;text-decoration:underline;text-underline-offset:4px;transform:scale(1.06)}.additional-services{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1.5rem}.additional-services label{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:400;text-transform:none;letter-spacing:0;color:#4d4d4d;cursor:pointer}.additional-services input[type=checkbox]{width:1em;height:1em;accent-color:#111111;margin:0;flex-shrink:0}.file-upload-row{flex-direction:column!important;align-items:flex-start!important}.file-list{list-style:none;padding:0;margin:.5rem 0 0}.file-list li{display:flex;align-items:center;font-size:.75rem;margin-bottom:.15rem}.file-list li button{background:none;border:none;color:#b00;font-size:1.1em;cursor:pointer;margin-left:.4em;padding:0}.custom-file-input{color:transparent}.contact-success{max-width:max(40vw,600px);width:100%;margin-top:1.5rem;padding:3rem 2.5rem;text-align:center;background:#f5f5f5;border:1px solid #d3d3d3}.contact-success h2{margin-bottom:.5rem}.contact-success p{color:#4d4d4d;margin:0}.contact-error{color:#a33;font-size:.875rem;margin:0}.contact-error a{color:inherit;text-decoration:underline}.contact-form button[type=submit]:disabled{background:#888;cursor:default}.contact-info-section{display:flex;gap:2.5rem;align-items:stretch;width:100%;max-width:max(40vw,600px);margin-top:3rem}.contact-info-section h2{font-size:1.5rem;margin-bottom:1rem}.contact-info-section p{font-size:.875rem;color:#4d4d4d;line-height:1.7}.contact-info-section a{color:#111}.contact-info-section a:hover{color:var(--brand-primary, #7a8c5c)}.contact-info-section .contact-license{font-size:.75rem;color:#888}.contact-info-section .contact-map{flex:1;min-height:260px;border:1px solid #d3d3d3}@media (max-width: 600px){.contact-info-section{flex-direction:column;gap:1.5rem}}@media (max-width: 900px){.contact-page{padding-left:2rem;padding-right:2rem}}@media (max-width: 480px){.inquiry-type-selector{flex-direction:column;align-items:center;gap:.4rem}.inquiry-type-selector button:not(:last-child):after{display:none}}@media (max-width: 600px){.contact-page{padding-left:.5rem;padding-right:.5rem}.contact-intro-note{text-align:left}.contact-form{padding:1.75rem;max-width:100%;margin:0}.contact-form .form-row{flex-direction:column;gap:.75rem}.additional-services{grid-template-columns:1fr 1fr;gap:8px}}.privacy-page{max-width:720px;margin:0 auto;padding:3rem 1.5rem 5rem}.privacy-page h1{margin-bottom:1.5rem}.privacy-page h2{font-size:1.5rem;margin-top:2rem;margin-bottom:.75rem}.privacy-page p{color:#4d4d4d}.privacy-page a{color:var(--brand-primary, #7a8c5c);text-decoration:underline}.project-page{padding:3rem 5rem 5rem}@media (max-width: 900px){.project-page{padding:2.5rem 2.5rem 4rem}}@media (max-width: 600px){.project-page{padding:1.5rem 1.25rem 3rem}}.project-hero{width:100vw;margin-left:calc(50% - 50vw);height:55vh;position:relative;overflow:hidden;margin-bottom:3rem}.project-hero img{width:100%;height:100%;object-fit:cover;display:block}.project-hero .project-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.42) 0%,transparent 55%);display:flex;align-items:flex-end;padding:2.5rem 5rem}@media (max-width: 600px){.project-hero .project-hero-overlay{padding:1.5rem 1.25rem}}.project-hero h1{color:#fff;font-size:clamp(1.75rem,4vw,2.75rem);font-weight:300;font-style:italic;margin:0;text-shadow:0 1px 6px rgba(0,0,0,.3)}.project-meta{display:flex;gap:3rem;margin-bottom:2rem;flex-wrap:wrap;border-bottom:1px solid #d3d3d3;padding-bottom:1.5rem}.project-meta .project-meta-item{display:flex;flex-direction:column;gap:.2rem}.project-meta .project-meta-item .meta-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#888;font-weight:600}.project-meta .project-meta-item .meta-value{font-size:1rem;color:#111}.project-description{font-size:1rem;line-height:1.8;color:#4d4d4d;max-width:720px;margin-bottom:2.5rem}.project-services-used{margin-bottom:3rem}.project-services-used h3{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;font-family:Raleway,sans-serif;font-weight:600}.project-services-used .tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.project-services-used .tag{background:#f5f5f5;color:#4d4d4d;padding:.3rem .85rem;font-size:.75rem;font-weight:500;letter-spacing:.3px}.project-image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem;margin-bottom:4rem}.project-image-gallery img{width:100%;height:280px;object-fit:cover;display:block}@media (max-width: 600px){.project-image-gallery{grid-template-columns:1fr}.project-image-gallery img{height:220px}}.project-nav{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d3d3d3;padding-top:1.5rem;flex-wrap:wrap;gap:1rem}.project-nav a{color:#111;font-family:Raleway,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #d3d3d3;padding-bottom:2px;transition:color .2s,border-color .2s}.project-nav a:hover{color:#4d4d4d;border-color:#4d4d4d}.testimonials-section{width:100vw;margin:2rem calc(50% - 50vw);padding:4rem 0;background:#f5f5f5;overflow:hidden}.testimonials-section h2{text-align:center;margin-bottom:2rem;font-weight:300;font-style:italic}.testimonials-container{position:relative;max-width:100%;padding:0 2rem}.testimonials-container:before,.testimonials-container:after{content:"";position:absolute;top:0;bottom:0;width:4rem;z-index:1;pointer-events:none}.testimonials-container:before{left:0;background:linear-gradient(to right,#f5f5f5,transparent)}.testimonials-container:after{right:0;background:linear-gradient(to left,#f5f5f5,transparent)}.testimonials-slider{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:1rem 0}.testimonials-slider::-webkit-scrollbar{display:none}.testimonial-card{flex:0 0 auto;width:min(100%,380px);scroll-snap-align:center;background:#fff;border:1px solid #d3d3d3;display:flex;flex-direction:column;overflow:hidden}.testimonial-card .project-image{position:relative;width:100%;height:190px;display:block;overflow:hidden}.testimonial-card .project-image:hover img{transform:scale(1.04)}.testimonial-card .project-image:hover .project-type{background:#111}.testimonial-card .project-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.testimonial-card .project-image .project-type{position:absolute;bottom:1rem;right:1rem;background:#111111d9;color:#fff;padding:.35rem .75rem;font-size:.75rem;text-transform:capitalize;letter-spacing:.5px;transition:background .2s}.testimonial-card .quote{font-style:italic;color:#4d4d4d;font-size:.875rem;line-height:1.65;margin:0;position:relative;padding:1.5rem 1.75rem}.testimonial-card .quote:before{content:"“";position:absolute;left:.75rem;top:1rem;font-size:2.5rem;line-height:1;color:#d3d3d3}.testimonial-card .client-info{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.75rem;margin-top:auto;border-top:1px solid #d3d3d3}.testimonial-card .client-info .name{font-size:.875rem;font-weight:600;color:#111}.testimonial-card .client-info .view-project{color:#888;font-size:.75rem;font-weight:500;text-decoration:none;letter-spacing:.3px;transition:color .2s}.testimonial-card .client-info .view-project:hover{color:#111}.testimonial-nav{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.testimonial-nav button{background:#fff;border:1px solid #d3d3d3;color:#111;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.testimonial-nav button:hover{background:#111;color:#fff;border-color:#111}.about-container{display:flex;flex-direction:row;align-items:flex-start;gap:3rem;margin-bottom:3rem}@media (max-width: 700px){.about-container{flex-direction:column;gap:1.5rem}}.about-photo{width:200px;flex-shrink:0;object-fit:cover;object-position:center top}@media (max-width: 700px){.about-photo{width:100%;height:320px;object-position:center 15%}}.about-text{display:flex;flex-direction:column;gap:1rem}.about-text p{line-height:1.75;color:#4d4d4d;font-size:1rem;margin:0}.about-license{font-family:Raleway,sans-serif;font-size:.75rem;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;color:#999;margin:.5rem 0 0!important}.main-content-not-contact h1{font-weight:300;font-style:italic;margin-bottom:2rem}.main-content-not-contact h2{font-size:1.5rem;font-weight:300;font-style:italic;color:#111;margin-top:3rem;margin-bottom:.75rem}.main-content-not-contact p{color:#4d4d4d;line-height:1.75}.main-content-not-contact ul{color:#4d4d4d;line-height:1.8;padding-left:1.25rem}.service-card{background:#fff;border:1px solid #d3d3d3;display:flex;flex-direction:column;overflow:hidden}.service-card:hover .service-card-img img{transform:scale(1.04)}.service-card--signature{border-color:var(--brand-primary, #7a8c5c)}.service-card-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.service-card-badge{display:inline-block;font-family:Raleway,sans-serif;font-size:.65rem;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--brand-primary, #7a8c5c);border:1px solid var(--brand-primary, #7a8c5c);padding:.15rem .5rem;white-space:nowrap;line-height:1.4;flex-shrink:0}.service-card-img{width:100%;aspect-ratio:3/2;overflow:hidden}.service-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.service-card-body{padding:1.5rem 1.75rem 1.75rem;display:flex;flex-direction:column;gap:.85rem;flex:1}.service-card-header h3{margin:0;font-size:1.25rem;font-weight:400;color:#111}.service-card-desc{color:#4d4d4d;font-size:.875rem;line-height:1.65;margin:0}.service-card-details{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.service-card-details li{font-size:.75rem;color:#888;padding-left:1rem;position:relative}.service-card-details li:before{content:"–";position:absolute;left:0;color:#d3d3d3}.service-card-cta{display:inline-block;margin-top:auto;color:#111;font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #d3d3d3;padding-bottom:2px;transition:border-color .2s,color .2s}.service-card-cta:hover{color:#4d4d4d;border-color:#4d4d4d}@media (max-width: 600px){.service-card-img{aspect-ratio:unset;height:220px}.service-card-cta{display:inline-flex;align-items:center;min-height:44px;padding-top:10px;padding-bottom:10px}}.services-page h1{font-weight:300;font-style:italic;margin-bottom:.5rem}.services-page .services-intro{color:#4d4d4d;font-size:1rem;max-width:680px;margin-bottom:3rem;line-height:1.75}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:4rem}.services-cta-banner{background:#111;color:#fff;padding:3rem 2.5rem;text-align:center}.services-cta-banner h2{color:#fff;margin:0 0 .75rem;font-size:2rem;font-weight:300;font-style:italic}.services-cta-banner p{margin:0 0 1.75rem;color:#ffffffb3;font-size:.875rem;line-height:1.7}.services-cta-banner a{display:inline-block;background:#fff;color:#111;padding:.75rem 2rem;font-family:Raleway,sans-serif;font-weight:600;font-size:.875rem;letter-spacing:1px;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}.services-cta-banner a:hover{background:#f5f5f5}@media (max-width: 600px){.services-grid{grid-template-columns:1fr}}.not-found-page{max-width:600px;margin:0 auto;padding:6rem 1.5rem;text-align:center}.not-found-page p{color:#4d4d4d;margin-bottom:2rem}.not-found-page .not-found-home-link{color:var(--brand-primary, #7a8c5c);font-weight:500}.not-found-page .not-found-home-link:hover{color:var(--brand-secondary, #4a5a2c)}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%}body{font-family:Raleway,sans-serif;font-size:1rem;font-weight:300;line-height:1.6;background:#fff;color:#111;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:Cormorant Garamond,serif;font-weight:400;font-style:normal;color:#111;line-height:1.2;margin-top:0}h1{font-size:3rem}h2{font-size:2.4rem}h3{font-size:2rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{margin-top:0;margin-bottom:1rem}a{color:#111;text-decoration:none}img{border-radius:0!important;max-width:100%}button{cursor:pointer;font-family:Raleway,sans-serif;font-size:1rem}.img-rounded{border-radius:8px!important}.img-circle{border-radius:50%!important}@media (max-width: 600px){.hidden-mobile{display:none!important}}.app-container{min-height:100vh;display:flex;flex-direction:column;width:100%;max-width:100%;overflow-x:hidden;background:#fff}.main-content-not-contact{padding:3rem 5rem}main{flex:1;padding:2rem 1rem;margin:0 auto;width:100%;max-width:1200px}@media (max-width: 900px){.main-content-not-contact{padding:3rem 2.5rem}}@media (max-width: 600px){.app-container{max-width:100vw;width:100vw}main{max-width:100vw;width:100vw;padding:1rem .75rem}.main-content-not-contact{padding:2rem 1.25rem}}
