@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap";:root{color-scheme:dark;--bg: #081b16;--bg-soft: #0f2721;--surface: rgba(17, 39, 33, .72);--surface-strong: rgba(18, 43, 37, .92);--surface-border: rgba(216, 178, 98, .22);--text: #eef2ee;--muted: #b7c3bd;--heading: #f7edcf;--accent: #d7b46c;--accent-2: #a1c0a1;--shadow: 0 22px 60px rgba(0, 0, 0, .28);--hero-glow: radial-gradient(circle at 30% 20%, rgba(215, 180, 108, .2), transparent 55%);--pattern-line: rgba(255, 255, 255, .03);--color-bg: var(--bg);--color-surface: var(--surface);--color-primary: var(--accent);--color-primary-strong: var(--heading);--color-text: var(--text);--color-text-muted: var(--muted);--color-border: var(--surface-border);--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Manrope", "Segoe UI", sans-serif;--max-width: 1120px;--radius-md: 18px;--shadow-soft: var(--shadow)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{min-height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}body{font-family:var(--font-body);background:var(--hero-glow),linear-gradient(90deg,var(--pattern-line) 1px,transparent 1px),linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 44%,#06120f 100%);background-size:auto,64px 64px,auto;color:var(--color-text)}.body-gallery-open{overflow:hidden}.container{width:min(100% - 2rem,var(--max-width));margin-inline:auto}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:.02em;line-height:1.2;color:var(--heading)}p{color:var(--color-text-muted)}.tracking-in-expand{-webkit-animation:tracking-in-expand 1s cubic-bezier(.215,.61,.355,1) both;animation:tracking-in-expand 1s cubic-bezier(.215,.61,.355,1) both}.text-pop-up-top{-webkit-animation:text-pop-up-top 1s cubic-bezier(.25,.46,.45,.94) both;animation:text-pop-up-top 1s cubic-bezier(.25,.46,.45,.94) both}.text-focus-in{-webkit-animation:text-focus-in 1s cubic-bezier(.55,.085,.68,.53) both;animation:text-focus-in 1s cubic-bezier(.55,.085,.68,.53) both}.slide-in-elliptic-top-fwd{-webkit-animation:slide-in-elliptic-top-fwd 2s cubic-bezier(.215,.61,.355,1) both;animation:slide-in-elliptic-top-fwd 2s cubic-bezier(.215,.61,.355,1) both}.flicker-in-2{-webkit-animation:flicker-in-2 2s linear both;animation:flicker-in-2 2s linear both}.puff-in-center{-webkit-animation:puff-in-center 1.5s cubic-bezier(.47,0,.745,.715) both;animation:puff-in-center 1.5s cubic-bezier(.47,0,.745,.715) both}@-webkit-keyframes tracking-in-expand{0%{letter-spacing:-.5em;opacity:0}40%{opacity:.6}to{opacity:1}}@keyframes tracking-in-expand{0%{letter-spacing:-.5em;opacity:0}40%{opacity:.6}to{opacity:1}}@-webkit-keyframes text-pop-up-top{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;text-shadow:none}to{-webkit-transform:translateY(-50px);transform:translateY(-50px);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;text-shadow:0 1px 0 #cccccc,0 2px 0 #cccccc,0 3px 0 #cccccc,0 4px 0 #cccccc,0 5px 0 #cccccc,0 6px 0 #cccccc,0 7px 0 #cccccc,0 8px 0 #cccccc,0 9px 0 #cccccc,0 50px 30px rgba(0,0,0,.3)}}@keyframes text-pop-up-top{0%{-webkit-transform:translateY(0);transform:translateY(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;text-shadow:none}to{-webkit-transform:translateY(-50px);transform:translateY(-50px);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;text-shadow:0 1px 0 #cccccc,0 2px 0 #cccccc,0 3px 0 #cccccc,0 4px 0 #cccccc,0 5px 0 #cccccc,0 6px 0 #cccccc,0 7px 0 #cccccc,0 8px 0 #cccccc,0 9px 0 #cccccc,0 50px 30px rgba(0,0,0,.3)}}@-webkit-keyframes text-pop-up-top-clean{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:0}to{-webkit-transform:translateY(-18px);transform:translateY(-18px);opacity:1}}@keyframes text-pop-up-top-clean{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:0}to{-webkit-transform:translateY(-18px);transform:translateY(-18px);opacity:1}}@-webkit-keyframes text-focus-in{0%{-webkit-filter:blur(12px);filter:blur(12px);opacity:0}to{-webkit-filter:blur(0px);filter:blur(0px);opacity:1}}@keyframes text-focus-in{0%{-webkit-filter:blur(12px);filter:blur(12px);opacity:0}to{-webkit-filter:blur(0px);filter:blur(0px);opacity:1}}@-webkit-keyframes slide-in-elliptic-top-fwd{0%{-webkit-transform:translateY(-600px) rotateX(-30deg) scale(0);transform:translateY(-600px) rotateX(-30deg) scale(0);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}to{-webkit-transform:translateY(0) rotateX(0) scale(1);transform:translateY(0) rotateX(0) scale(1);-webkit-transform-origin:50% 1400px;transform-origin:50% 1400px;opacity:1}}@keyframes slide-in-elliptic-top-fwd{0%{-webkit-transform:translateY(-600px) rotateX(-30deg) scale(0);transform:translateY(-600px) rotateX(-30deg) scale(0);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;opacity:0}to{-webkit-transform:translateY(0) rotateX(0) scale(1);transform:translateY(0) rotateX(0) scale(1);-webkit-transform-origin:50% 1400px;transform-origin:50% 1400px;opacity:1}}@-webkit-keyframes flicker-in-2{0%{opacity:0}10%{opacity:0;-webkit-box-shadow:none;box-shadow:none}10.1%{opacity:1;-webkit-box-shadow:none;box-shadow:none}10.2%{opacity:0;-webkit-box-shadow:none;box-shadow:none}20%{opacity:0;-webkit-box-shadow:none;box-shadow:none}20.1%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.25);box-shadow:0 0 30px #ffffff40}20.6%{opacity:0;-webkit-box-shadow:none;box-shadow:none}30%{opacity:0;-webkit-box-shadow:none;box-shadow:none}30.1%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.45),0 0 60px rgba(255,255,255,.25);box-shadow:0 0 30px #ffffff73,0 0 60px #ffffff40}30.5%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.45),0 0 60px rgba(255,255,255,.25);box-shadow:0 0 30px #ffffff73,0 0 60px #ffffff40}30.6%{opacity:0;-webkit-box-shadow:none;box-shadow:none}45%{opacity:0;-webkit-box-shadow:none;box-shadow:none}45.1%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.45),0 0 60px rgba(255,255,255,.25);box-shadow:0 0 30px #ffffff73,0 0 60px #ffffff40}50%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.45),0 0 60px rgba(255,255,255,.25);box-shadow:0 0 30px #ffffff73,0 0 60px #ffffff40}55%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.45),0 0 60px rgba(255,255,255,.25);box-shadow:0 0 30px #ffffff73,0 0 60px #ffffff40}55.1%{opacity:0;-webkit-box-shadow:none;box-shadow:none}57%{opacity:0;-webkit-box-shadow:none;box-shadow:none}57.1%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.55),0 0 60px rgba(255,255,255,.3);box-shadow:0 0 30px #ffffff8c,0 0 60px #ffffff4d}60%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.55),0 0 60px rgba(255,255,255,.3);box-shadow:0 0 30px #ffffff8c,0 0 60px #ffffff4d}60.1%{opacity:0;-webkit-box-shadow:none;box-shadow:none}65%{opacity:0;-webkit-box-shadow:none;box-shadow:none}65.1%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.55),0 0 60px rgba(255,255,255,.3),0 0 100px rgba(255,255,255,.1);box-shadow:0 0 30px #ffffff8c,0 0 60px #ffffff4d,0 0 100px #ffffff1a}75%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.55),0 0 60px rgba(255,255,255,.3),0 0 100px rgba(255,255,255,.1);box-shadow:0 0 30px #ffffff8c,0 0 60px #ffffff4d,0 0 100px #ffffff1a}75.1%{opacity:0;-webkit-box-shadow:none;box-shadow:none}77%{opacity:0;-webkit-box-shadow:none;box-shadow:none}77.1%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.6),0 0 60px rgba(255,255,255,.4),0 0 110px rgba(255,255,255,.2),0 0 100px rgba(255,255,255,.1);box-shadow:0 0 30px #fff9,0 0 60px #fff6,0 0 110px #fff3,0 0 100px #ffffff1a}85%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.6),0 0 60px rgba(255,255,255,.4),0 0 110px rgba(255,255,255,.2),0 0 100px rgba(255,255,255,.1);box-shadow:0 0 30px #fff9,0 0 60px #fff6,0 0 110px #fff3,0 0 100px #ffffff1a}85.1%{opacity:0;-webkit-box-shadow:none;box-shadow:none}86%{opacity:0;-webkit-box-shadow:none;box-shadow:none}86.1%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.6),0 0 60px rgba(255,255,255,.45),0 0 110px rgba(255,255,255,.25),0 0 100px rgba(255,255,255,.1);box-shadow:0 0 30px #fff9,0 0 60px #ffffff73,0 0 110px #ffffff40,0 0 100px #ffffff1a}to{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.6),0 0 60px rgba(255,255,255,.45),0 0 110px rgba(255,255,255,.25),0 0 100px rgba(255,255,255,.1);box-shadow:0 0 30px #fff9,0 0 60px #ffffff73,0 0 110px #ffffff40,0 0 100px #ffffff1a}}@keyframes flicker-in-2{0%{opacity:0}10%{opacity:0;-webkit-box-shadow:none;box-shadow:none}10.1%{opacity:1;-webkit-box-shadow:none;box-shadow:none}10.2%{opacity:0;-webkit-box-shadow:none;box-shadow:none}20%{opacity:0;-webkit-box-shadow:none;box-shadow:none}20.1%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.25);box-shadow:0 0 30px #ffffff40}20.6%{opacity:0;-webkit-box-shadow:none;box-shadow:none}30%{opacity:0;-webkit-box-shadow:none;box-shadow:none}30.1%{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.45),0 0 60px rgba(255,255,255,.25);box-shadow:0 0 30px #ffffff73,0 0 60px #ffffff40}30.6%{opacity:0;-webkit-box-shadow:none;box-shadow:none}45.1%,55%,57.1%,60%,65.1%,75%,77.1%,85%,86.1%,to{opacity:1;-webkit-box-shadow:0 0 30px rgba(255,255,255,.6),0 0 60px rgba(255,255,255,.45),0 0 110px rgba(255,255,255,.25),0 0 100px rgba(255,255,255,.1);box-shadow:0 0 30px #fff9,0 0 60px #ffffff73,0 0 110px #ffffff40,0 0 100px #ffffff1a}55.1%,57%,60.1%,65%,75.1%,77%,85.1%,86%{opacity:0;-webkit-box-shadow:none;box-shadow:none}}@-webkit-keyframes puff-in-center{0%{-webkit-transform:scale(2);transform:scale(2);-webkit-filter:blur(4px);filter:blur(4px);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-filter:blur(0px);filter:blur(0px);opacity:1}}@keyframes puff-in-center{0%{-webkit-transform:scale(2);transform:scale(2);-webkit-filter:blur(4px);filter:blur(4px);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);-webkit-filter:blur(0px);filter:blur(0px);opacity:1}}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1}.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border);background:#081b16db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-content{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.brand{font-family:var(--font-heading);font-size:1.45rem;font-weight:600;letter-spacing:.04em;color:var(--accent)}.main-nav ul{display:flex;align-items:center;gap:1rem}.nav-link{padding:.45rem .75rem;border-radius:999px;color:var(--accent);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:all .2s ease}.nav-link:hover{color:var(--heading);background:#d7b46c1a}.nav-link-active{color:var(--bg);background:var(--accent)}.site-footer{border-top:1px solid var(--color-border);background:var(--surface)}.footer-content{padding-block:1.25rem;display:grid;gap:.35rem}.footer-content p{font-size:.92rem}@media (max-width: 760px){.header-content{flex-direction:column;align-items:flex-start;padding-block:.75rem}.main-nav{width:100%;overflow-x:auto}.main-nav ul{width:max-content;padding-bottom:.25rem}}.page{padding-block:3.5rem}.page-content{background:var(--surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:clamp(1.5rem,3vw,2.5rem);display:grid;gap:1rem}.page-eyebrow{width:fit-content;padding:.35rem .65rem;border-radius:999px;border:1px solid var(--surface-border);background:#d7b46c14;color:var(--accent);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.page h1{font-size:clamp(1.7rem,4vw,2.6rem)}.page p{max-width:65ch;font-size:1.05rem}.home-page{padding-block:clamp(2.5rem,6vw,5rem)}.home-hero,.home-about,.home-form-section,.home-review-section{border:1px solid var(--surface-border);border-radius:calc(var(--radius-md) + 12px);background:var(--surface);box-shadow:var(--shadow)}.home-hero{display:grid;gap:1rem;padding:clamp(1.5rem,4vw,3rem)}.home-hero__title{max-width:920px;color:var(--accent);font-size:clamp(2.25rem,6.6vw,5rem);font-weight:500;line-height:.95}.home-about{display:grid;justify-items:center;gap:clamp(2.25rem,6vw,4rem);margin-top:clamp(2rem,5vw,4rem);padding:clamp(1.25rem,4vw,3rem)}.home-about__image{width:min(82vw,560px);aspect-ratio:1;border:1px solid var(--surface-border);border-radius:50%;box-shadow:0 30px 90px #00000061;filter:none;image-rendering:auto;object-fit:cover}.home-about__content{width:min(100%,860px);display:grid;gap:1rem;margin-top:2.5rem;border:1px solid var(--surface-border);border-radius:var(--radius-md);background:#081b1694;padding:clamp(1.25rem,4vw,2rem);text-shadow:none}.home-about__content.text-pop-up-top{-webkit-animation-name:text-pop-up-top-clean;animation-name:text-pop-up-top-clean}.home-about__content h2,.home-form-section h2,.career-modal h2{color:var(--accent);font-size:clamp(2rem,5vw,3.6rem);font-weight:500}.home-about__content p{max-width:none;color:var(--text);font-size:clamp(1rem,2vw,1.1rem)}.home-form-section,.home-review-section{display:grid;gap:1.5rem;margin-top:clamp(2rem,5vw,4rem);padding:clamp(1.25rem,4vw,2.5rem)}.home-form-section__intro{display:grid;gap:.75rem}.lead-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.lead-form label{display:grid;gap:.45rem;color:var(--heading);font-weight:700}.lead-form__error{color:#ffb8a8;font-size:.88rem;font-weight:600;line-height:1.35}.lead-form input,.lead-form select,.lead-form textarea{width:100%;min-width:0;border:1px solid var(--surface-border);border-radius:14px;background:#081b16ad;color:var(--text);outline:0;padding:.85rem 1rem}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d7b46c1f}.lead-form textarea{resize:vertical}.lead-form__full,.lead-form__submit{grid-column:1 / -1}.lead-form__submit{width:fit-content;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--bg);cursor:pointer;font-weight:900;letter-spacing:.08em;padding:.9rem 1.25rem;text-transform:uppercase;transition:background .2s ease,color .2s ease,transform .2s ease}.lead-form__submit:hover{background:transparent;color:var(--accent);transform:translateY(-2px)}.home-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.home-links a,.home-links button{border:1px solid var(--surface-border);border-radius:999px;background:#081b166b;color:var(--accent);cursor:pointer;font-weight:700;padding:.75rem 1rem;transition:border-color .2s ease,color .2s ease,transform .2s ease}.home-links a:hover,.home-links button:hover{border-color:var(--accent);color:var(--heading);transform:translateY(-2px)}.career-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:420;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem);background:var(--hero-glow),linear-gradient(180deg,#081b16e6,#06120ff5)}.career-modal__panel{position:relative;width:min(100%,760px);max-height:88vh;overflow:auto;border:1px solid var(--surface-border);border-radius:calc(var(--radius-md) + 10px);background:var(--hero-glow),linear-gradient(180deg,var(--bg-soft),var(--bg));box-shadow:var(--shadow);padding:clamp(1.25rem,4vw,2rem);scrollbar-width:none}.career-modal__panel::-webkit-scrollbar{display:none}.career-modal__close{position:absolute;top:1rem;right:1rem;width:2.75rem;height:2.75rem;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--bg);cursor:pointer;font-weight:900}.career-modal__message{display:grid;min-height:220px;place-items:center;padding:2rem 3rem 2rem 1rem;text-align:center}.lead-form--career{margin-top:1.25rem}.review-form__stars{display:grid;gap:.45rem;min-width:0;border:0;padding:0}.review-form__stars legend{color:var(--heading);font-weight:700}.review-form__star-row{display:flex;align-items:center;gap:.35rem;min-height:3.15rem}.review-form__star{width:2.7rem;height:2.7rem;border:1px solid var(--surface-border);border-radius:999px;background:#081b16ad;color:#e5dfd061;cursor:pointer;font-size:1.4rem;line-height:1;transition:border-color .2s ease,color .2s ease,transform .2s ease}.review-form__star--active{border-color:var(--accent);color:var(--accent)}.review-form__star:hover{transform:translateY(-2px)}.review-form__message{width:fit-content;max-width:100%;border:1px solid var(--accent);border-radius:var(--radius-md);background:#081b16e6;color:var(--heading);opacity:0;padding:.85rem 1rem;transform:translateY(.5rem);transition:opacity .8s ease,transform .8s ease}.review-form__message--visible{opacity:1;transform:translateY(0)}.review-list{display:grid;gap:.75rem}.review-list h3{color:var(--accent);font-size:clamp(1.25rem,3vw,1.8rem);font-weight:500}.review-list ul{display:grid;gap:5px;list-style:none;padding:0}.review-list__item{width:100%;border:1px solid var(--surface-border);border-radius:14px;background:#081b16ad;color:var(--text);padding:.85rem 1rem}.review-list__item strong{color:var(--heading)}.review-list__toggle{width:fit-content;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);cursor:pointer;font-weight:800;padding:.7rem 1rem;transition:background .2s ease,color .2s ease,transform .2s ease}.review-list__toggle:hover{background:var(--accent);color:var(--bg);transform:translateY(-2px)}.services-page{display:grid;gap:clamp(2rem,5vw,4rem)}.services-catalog-list ul{display:grid;gap:.75rem;color:var(--text);font-size:clamp(1rem,2vw,1.1rem);list-style:none;padding:0}.services-catalog-list li,.services-cities li{position:relative;padding-left:1rem}.services-catalog-list li:before,.services-cities li:before{content:"";position:absolute;left:0;top:.72em;width:.35rem;height:.35rem;border-radius:999px;background:var(--accent)}.services-catalog-list h3{color:var(--accent);font-size:clamp(1.2rem,3vw,1.65rem);font-weight:600}.services-cities h2{color:var(--accent);font-size:clamp(1.8rem,4vw,3rem);font-weight:500}.cities-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);margin-top:clamp(1.75rem,4vw,2.75rem)}.cities-columns ul{display:grid;gap:.9rem;list-style:none;padding:0}.projects-page{width:min(100% - 2rem,var(--max-width));margin-inline:auto;padding-block:4rem}.projects-page__header{display:grid;gap:.85rem;margin-bottom:1.5rem}.projects-page__eyebrow,.project-card__category{width:fit-content;border:1px solid var(--surface-border);border-radius:999px;background:#d7b46c14;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.08em;padding:.35rem .7rem;text-transform:uppercase}.projects-page__title{max-width:780px;color:var(--accent);font-size:clamp(2.4rem,8vw,5.8rem);font-weight:500;line-height:.95}.filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}.filter-bar__button{border:1px solid var(--surface-border);border-radius:999px;background:var(--surface);color:var(--muted);cursor:pointer;padding:.65rem 1rem;transition:border-color .2s ease,color .2s ease,transform .2s ease,background .2s ease}.filter-bar__button:hover{border-color:#d7b46c8c;color:var(--heading);transform:translateY(-2px)}.filter-bar__button--active{background:var(--accent);border-color:var(--accent);color:var(--bg)}.projects-page__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.project-card{overflow:hidden;border:1px solid var(--surface-border);border-radius:calc(var(--radius-md) + 8px);background:var(--surface-strong);box-shadow:var(--shadow)}.project-card__media{position:relative;min-height:260px;overflow:hidden}.project-card__image{width:100%;height:300px;object-fit:cover;transition:transform .45s ease}.project-card:hover .project-card__image{transform:scale(1.05)}.project-card__badge{position:absolute;right:1rem;bottom:1rem;border:1px solid var(--surface-border);border-radius:999px;background:#081b16b8;color:var(--heading);font-size:.78rem;font-weight:700;padding:.35rem .7rem}.project-card__body{display:grid;gap:.85rem;padding:1.25rem}.project-card__title{color:var(--heading);font-size:2rem;font-weight:500}.project-card__description{font-size:.95rem}.project-card__features{display:grid;gap:.45rem;color:var(--text);font-size:.9rem}.project-card__button{width:fit-content;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--bg);cursor:pointer;font-weight:800;letter-spacing:.08em;padding:.75rem 1.1rem;text-transform:uppercase;transition:background .2s ease,color .2s ease,transform .2s ease}.project-card__button:hover{background:transparent;color:var(--accent);transform:translateY(-2px)}.project-card__features li:before{content:"";display:inline-block;width:.42rem;height:.42rem;margin-right:.5rem;border-radius:999px;background:var(--accent);vertical-align:middle}.album-gallery-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem);background:var(--hero-glow),linear-gradient(90deg,var(--pattern-line) 1px,transparent 1px),linear-gradient(180deg,#081b16f0,#06120ffa);background-size:auto,64px 64px,auto}.album-gallery-panel{width:min(100%,1120px);max-height:min(86vh,900px);overflow:auto;border:1px solid var(--surface-border);border-radius:calc(var(--radius-md) + 12px);background:var(--hero-glow),linear-gradient(90deg,var(--pattern-line) 1px,transparent 1px),linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 48%,#06120f 100%);background-size:auto,64px 64px,auto;box-shadow:var(--shadow);padding:clamp(1rem,3vw,1.5rem);scrollbar-width:none;-ms-overflow-style:none}.album-gallery-panel::-webkit-scrollbar{display:none}.album-gallery-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--surface-border)}.album-gallery-panel__eyebrow{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.album-gallery-panel__title{color:var(--accent);font-size:clamp(2rem,5vw,4rem);font-weight:500}.album-gallery-panel__close{flex:0 0 auto;width:2.75rem;height:2.75rem;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--bg);cursor:pointer;font-weight:900;transition:background .2s ease,color .2s ease,transform .2s ease}.album-gallery-panel__close:hover{background:transparent;color:var(--accent);transform:rotate(8deg) scale(1.04)}.album-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.95rem;perspective:1200px}.album-gallery__item{overflow:hidden;border:1px solid var(--surface-border);border-radius:18px;background:#081b169e}.album-gallery__photo-button{width:100%;border:0;background:transparent;cursor:zoom-in;padding:0}.album-gallery__image{width:100%;height:clamp(190px,25vw,300px);object-fit:cover;transition:filter .2s ease,transform .2s ease}.album-gallery__photo-button:hover .album-gallery__image{filter:brightness(1.1);transform:scale(1.03)}.album-gallery__caption{color:var(--text);font-size:.9rem;line-height:1.45;padding:.8rem}.album-photo-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:360;display:grid;place-items:center;padding:clamp(1rem,3vw,2rem);background:#06120feb}.album-photo-viewer__content{position:relative;width:min(100%,1100px);display:grid;place-items:center}.album-photo-viewer__image{max-width:100%;max-height:84vh;border:1px solid var(--surface-border);border-radius:calc(var(--radius-md) + 10px);box-shadow:var(--shadow);object-fit:contain}.album-photo-viewer__image--vertical{width:min(100%,720px);height:min(84vh,980px);object-fit:contain}.album-photo-viewer__caption{width:min(100%,860px);margin-top:.85rem;border:1px solid var(--surface-border);border-radius:var(--radius-md);background:#081b16d1;color:var(--heading);padding:.85rem 1rem;text-align:center}.album-photo-viewer__close,.album-photo-viewer__arrow{position:absolute;z-index:2;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--bg);cursor:pointer;font-weight:900;transition:background .2s ease,color .2s ease,transform .2s ease}.album-photo-viewer__close{top:-.8rem;right:-.8rem;width:2.8rem;height:2.8rem}.album-photo-viewer__arrow{top:50%;width:3.25rem;height:3.25rem;font-size:2.2rem;line-height:1;transform:translateY(-50%)}.album-photo-viewer__arrow--prev{left:1rem}.album-photo-viewer__arrow--next{right:1rem}.album-photo-viewer__close:hover,.album-photo-viewer__arrow:hover{background:transparent;color:var(--accent)}.album-photo-viewer__arrow:hover{transform:translateY(-50%) scale(1.05)}@media (max-width: 640px){.home-page{padding-block:2rem}.home-hero,.home-about,.home-form-section,.home-review-section{border-radius:var(--radius-md)}.home-about__image{width:min(88vw,360px)}.home-about__content{margin-top:1.5rem}.lead-form{grid-template-columns:1fr}.lead-form__submit{width:100%}.home-links{align-items:stretch;flex-direction:column}.home-links a,.home-links button{width:100%;text-align:center}.career-modal__panel{padding-top:4.5rem}.projects-page{padding-block:2.5rem}.project-card__image{height:240px}.album-gallery-panel{max-height:88vh}.album-gallery-panel__header{align-items:center}.album-gallery{grid-template-columns:1fr}.album-photo-viewer__close{right:0}.album-photo-viewer__arrow{width:2.75rem;height:2.75rem}.album-photo-viewer__arrow--prev{left:.35rem}.album-photo-viewer__arrow--next{right:.35rem}.cities-columns{grid-template-columns:1fr}}
