*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#222;background:#fbf8ed;margin:0;font-family:Manrope,sans-serif;font-size:1rem;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1}section{width:100%;padding:4rem 1.5rem;scroll-margin-top:65px}.container{width:100%;max-width:1200px;margin-inline:auto}#root{min-height:100vh}.site-header{z-index:1000;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);background:#ffffffb3;border-bottom:1px solid #00000014;position:sticky;top:0;box-shadow:0 4px 18px #0000000f}.site-header__nav{justify-content:space-between;align-items:center;min-height:72px;display:flex;position:relative}.site-header__logo{color:#222;white-space:nowrap;align-items:center;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.site-header__toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:8px;display:flex}.site-header__toggle span{background:#222;width:100%;height:2px;display:block}.site-header__menu{-webkit-backdrop-filter:blur(50px);background:#fffffffc;border-bottom:1px solid #00000014;margin:0;padding:1rem;list-style:none;display:none;position:absolute;top:72px;left:0;right:0}.site-header__menu--open{flex-direction:column;gap:1rem;display:flex}.site-header__menu a{padding:.75rem;display:block;position:relative}@media (width>=768px){.site-header__toggle{display:none}.site-header__menu{-webkit-backdrop-filter:none;background:0 0;border:0;align-items:center;gap:1.5rem;margin:0;padding:0;display:flex;position:static}.site-header__menu a{padding:.5rem .35rem;transition:color .25s;display:block;position:relative}.site-header__menu a:after{content:"";transform-origin:0;opacity:0;background:#e4d6a5;border-radius:2px;width:114%;height:11px;transition:transform .38s cubic-bezier(.22,.61,.36,1),opacity .12s;position:absolute;bottom:-5px;left:-7%;transform:scaleX(0)}.site-header__menu a:before{content:"";transform-origin:0;opacity:0;background:#c89b5b40;border-radius:1px;width:100%;height:3px;transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .15s;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.site-header__menu a:hover{color:#222}.site-header__menu a:hover:after,.site-header__menu a:hover:before{opacity:1;transform:scaleX(1)}}.hero{background:#e4d6a5;padding-top:1.5rem;padding-bottom:2.5rem;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='520' viewBox='0 0 220 520'%3E%3Cfilter id='paintTexture' x='-20%25' y='-10%25' width='140%25' height='120%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.075' numOctaves='5' seed='31' stitchTiles='stitch' result='noise'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='noise' scale='28' xChannelSelector='R' yChannelSelector='G' result='distorted'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.025 0.14' numOctaves='3' seed='83' stitchTiles='stitch' result='fineNoise'/%3E%3CfeBlend in='distorted' in2='fineNoise' mode='multiply'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' fill='%238c805f' opacity='0.48' filter='url(%23paintTexture)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:220px 220px;background-attachment:fixed;position:absolute;inset:0}.hero__content{z-index:1;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.hero__text{width:100%}.hero h1{text-align:center;margin:0 0 .15rem;font-size:clamp(2rem,5vw,3.5rem)}.hero__image{justify-content:center;align-items:center;width:100%;margin-top:-1.8rem;margin-bottom:-3rem;display:flex}.hero__image img{width:55%;max-width:280px;height:auto;display:block}.hero__cta{color:#fbf8ed;background:#10a2a2;border-radius:.25rem;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.5rem;font-weight:700;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-flex}.hero__cta:hover{background:#0c7a7a;transform:translateY(-2px)}@media (width>=768px){.hero{padding-top:4.5rem;padding-bottom:7rem}.hero__content{justify-content:center;min-height:auto}.hero h1{text-align:center;margin-bottom:.15rem;font-size:clamp(2.5rem,4vw,3.5rem)}.hero__image{margin-top:-1.8rem;margin-bottom:-4.3rem}.hero__image img{width:auto;max-width:280px}.hero__cta{align-self:center}}.services{background:#fbf8ed}.services__intro{text-align:center;max-width:650px;margin:0 auto 2.5rem}.services__intro>p:last-child{color:#666;margin-bottom:0}.services__eyebrow{color:#10a2a2;text-transform:uppercase;margin-bottom:1rem;font-size:1.25rem;font-weight:700}.services__grid{grid-template-columns:1fr;gap:1.5rem;display:grid}.service-card{text-align:center;background:#fff;border:1px solid #10a2a2;border-radius:.5rem;padding:1.5rem;box-shadow:0 8px 6px #0000000d,0 8px 20px #00000017}.service-card h3{margin-bottom:1rem;font-size:1.25rem}.service-card p{color:#666;margin-bottom:0}@media (width>=768px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.services{min-height:494px}.services__grid{grid-template-columns:repeat(4,1fr)}}.about{background:#e4d6a5;position:relative;overflow:hidden}.about:before{content:"";pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='520' viewBox='0 0 220 520'%3E%3Cfilter id='paintTexture' x='-20%25' y='-10%25' width='140%25' height='120%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.075' numOctaves='5' seed='31' stitchTiles='stitch' result='noise'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='noise' scale='28' xChannelSelector='R' yChannelSelector='G' result='distorted'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.025 0.14' numOctaves='3' seed='83' stitchTiles='stitch' result='fineNoise'/%3E%3CfeBlend in='distorted' in2='fineNoise' mode='multiply'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' fill='%238c805f' opacity='0.48' filter='url(%23paintTexture)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:220px 220px;background-attachment:fixed;position:absolute;inset:0}.about__container{z-index:1;flex-direction:column;gap:2.5rem;display:flex;position:relative}.about__content{text-align:center;max-width:650px;margin-inline:auto}.about__eyebrow{color:#10a2a2;text-transform:uppercase;text-align:center;margin-bottom:1rem;font-size:1.25rem;font-weight:700}.about__image{justify-content:center;display:flex}.about__image img{border:1px solid #10a2a2;border-radius:.5rem;width:60%;height:auto;display:block}@media (width>=768px){.about__container{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.about__content{text-align:center;max-width:650px;margin-inline:auto}}.projects{background:#fbf8ed}.projects__intro{text-align:center;max-width:650px;margin:0 auto 2.5rem}.projects__eyebrow{color:#10a2a2;text-transform:uppercase;margin-bottom:1rem;font-size:1.25rem;font-weight:700}.projects__intro>p:last-child{color:#666;margin-bottom:0}.projects__grid{grid-template-columns:1fr;gap:1.5rem;display:grid}.project-card{background:#fff;border:1px solid #10a2a2;border-radius:.5rem;transition:transform .3s,box-shadow .3s,border-color .3s;overflow:hidden;box-shadow:0 2px 6px #0000000d,0 8px 20px #0000000f}.project-card:hover{border-color:#0000001f;transform:translateY(-4px);box-shadow:0 4px 10px #0000000f,0 14px 30px #0000001a}.project-card__images{background:#fbf8ed;grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.project-card__image-button{cursor:pointer;background:0 0;border:0;width:100%;height:180px;padding:0;display:block;position:relative;overflow:hidden}.project-card__image-button img{object-fit:cover;width:100%;height:100%;display:block}.project-card__image-button:after{content:"+";color:#fff0;opacity:0;pointer-events:none;background:0 0;justify-content:center;align-items:center;font-size:2rem;font-weight:300;transition:background-color .3s,color .3s,opacity .3s;display:flex;position:absolute;inset:0}.project-card__image-button:hover:after{color:#fffffff2;opacity:1;background:#0000002e}.project-card__image-button:focus-visible{outline-offset:-3px;outline:3px solid #10a2a2}.project-card__content{text-align:center;padding:1.5rem}.project-card__content h3{margin-bottom:1rem;font-size:1.25rem}.project-card__content p{color:#666;margin-bottom:0}.image-lightbox{z-index:9999;isolation:isolate;cursor:pointer;touch-action:pan-y;background:#121212;justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;animation:.2s ease-out lightbox-fade-in;display:flex;position:fixed;inset:0;overflow:hidden}.image-lightbox__content{z-index:2;isolation:isolate;touch-action:pan-y;flex-direction:column;justify-content:center;align-items:center;width:auto;max-width:90vw;max-height:90vh;display:flex;position:relative}.image-lightbox__image{z-index:2;object-fit:contain;cursor:default;border-radius:.25rem;width:auto;max-width:85vw;height:auto;max-height:82vh;animation:.22s ease-out gallery-image-in;display:block;position:relative}.image-lightbox__counter{z-index:3;color:#ffffffbf;-webkit-user-select:none;user-select:none;pointer-events:none;margin-top:.75rem;font-size:.9rem;line-height:1;position:relative}.image-lightbox__close{z-index:10;color:#fff;cursor:pointer;background:#ffffff1a;border:0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.8rem;font-weight:300;line-height:1;transition:background-color .2s,opacity .2s;display:flex;position:absolute;top:1.25rem;right:1.5rem}.image-lightbox__close:hover{background:#ffffff2e}.image-lightbox__close:focus-visible{outline-offset:3px;outline:2px solid #fff}.image-lightbox__arrow{z-index:10;color:#fff;cursor:pointer;background:#ffffff14;border:0;border-radius:10px;justify-content:center;align-items:center;width:52px;height:72px;padding:0;font-size:3rem;font-weight:200;line-height:1;transition:background-color .2s,opacity .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-lightbox__arrow:hover{background:#ffffff2e}.image-lightbox__arrow:focus-visible{outline-offset:3px;outline:2px solid #fff}.image-lightbox__arrow--prev{left:1.5rem}.image-lightbox__arrow--next{right:1.5rem}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gallery-image-in{0%{opacity:0}to{opacity:1}}@media (width>=768px){.projects__grid{grid-template-columns:repeat(2,1fr)}.project-card__image-button{height:160px}}@media (width>=1024px){.projects__grid{grid-template-columns:repeat(4,1fr)}.project-card__image-button{height:150px}}@media (width<=767px){.image-lightbox{padding:1rem}.image-lightbox__content{max-width:88vw;max-height:82vh}.image-lightbox__image{max-width:82vw;max-height:75vh}.image-lightbox__arrow{width:42px;height:58px;font-size:2.5rem}.image-lightbox__arrow--prev{left:.5rem}.image-lightbox__arrow--next{right:.5rem}.image-lightbox__close{top:.5rem;right:.5rem}.project-card:hover{border-color:#e2e0da;transform:none;box-shadow:0 2px 6px #0000000d,0 8px 20px #0000000f}}.cta{color:#222;text-align:center;background:#e4d6a5;position:relative;overflow:hidden}.cta:before{content:"";pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='520' viewBox='0 0 220 520'%3E%3Cfilter id='paintTexture' x='-20%25' y='-10%25' width='140%25' height='120%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.075' numOctaves='5' seed='31' stitchTiles='stitch' result='noise'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='noise' scale='28' xChannelSelector='R' yChannelSelector='G' result='distorted'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.025 0.14' numOctaves='3' seed='83' stitchTiles='stitch' result='fineNoise'/%3E%3CfeBlend in='distorted' in2='fineNoise' mode='multiply'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' fill='%238c805f' opacity='0.48' filter='url(%23paintTexture)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:220px 220px;background-attachment:fixed;position:absolute;inset:0}.cta__container{z-index:1;text-align:center;position:relative}.cta__eyebrow{color:#10a2a2;text-transform:uppercase;margin-bottom:1rem;font-size:1.25rem;font-weight:700}.cta h2{color:#222;max-width:700px;margin:0 auto 1.5rem;font-size:2rem}.cta__text{color:#666;max-width:600px;margin:0 auto 2.5rem}.cta__button{color:#fbf8ed;background:#10a2a2;border-radius:.25rem;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.5rem;font-weight:700;text-decoration:none;transition:background-color .2s;display:inline-flex}.cta__button:hover{background:#0c7a7a}.contact__container{flex-direction:column;gap:2.5rem;display:flex}.contact__intro{text-align:center;max-width:650px;margin:0 auto 2.5rem}.contact__eyebrow{color:#10a2a2;text-transform:uppercase;margin-bottom:1rem;font-size:1.25rem;font-weight:700}.contact__business{color:#222;flex-direction:column;gap:.15rem;display:flex}.contact__business strong{margin-bottom:.25rem;font-size:1.05rem}.contact__business span{color:#666}.contact__details{grid-template-columns:1fr;gap:1.5rem;display:grid}.contact__item{text-align:center;background:#fff;border:1px solid #10a2a2;border-radius:.5rem;padding:1.5rem;box-shadow:0 2px 6px #0000000d,0 8px 20px #0000000f}.contact__item h3{margin-bottom:.5rem;font-size:1rem}.contact__item a,.contact__item span{color:#10a2a2;font-weight:600;text-decoration:none}@media (width>=768px){.contact__details{grid-template-columns:repeat(3,1fr)}}.footer{color:#fbf8ed;background:#10a2a2;padding:1.25rem 0}.footer__bottom{text-align:center;font-size:.875rem}.footer__bottom p{margin-bottom:0}
