/* Landing concept based on the supplied commercial proposal. The hero is a
   labelled visualization; project cards below use the supplied real photos. */
body.page-home{--land-bg:#071b17;--land-deep:#061410;--land-surface:#0b241e;--land-line:rgba(231,245,235,.17);--land-accent:#ffb45f;--land-cream:#f6f6ed;background:var(--land-bg);color:var(--land-cream)}
.page-home .container{width:min(1460px,calc(100% - 8vw))}
.page-home section[id]{scroll-margin-top:104px}
.page-home .site-header{inset:20px 3vw auto;max-width:1500px;margin-inline:auto;border:1px solid rgba(255,255,255,.22);border-radius:22px;background:#071713f2;box-shadow:none;z-index:100}
.page-home .site-header__inner{width:100%;min-height:72px;padding-inline:26px;gap:24px}
.page-home .brand{gap:10px}
.page-home .brand img{width:46px;height:36px}
.page-home .brand__word{font-size:1.65rem;letter-spacing:-.07em}
.page-home .desktop-nav{gap:clamp(12px,1.5vw,25px)}
.page-home .desktop-nav a{font-size:.78rem;color:#e5eee8}
.page-home .desktop-nav a:hover{color:var(--land-accent)}
.page-home .header-actions{gap:15px}
.page-home .header-region{font-size:.7rem;color:#ced9d2}
.page-home .header-phone{display:none}
.page-home .button{background:var(--land-accent);color:#14201b;border-radius:12px}
.page-home .header-cta{min-height:44px;font-size:.75rem}
.page-home .button:hover,.page-home .landing-button:hover{background:#ffc27e}
.page-home .mobile-menu{inset:92px 3vw auto;border:1px solid var(--land-line);border-radius:18px;background:#071713;max-height:calc(100svh - 110px)}
.page-home .mobile-menu nav a{font-size:clamp(1.5rem,4vw,2rem)}
.landing-kicker{display:flex;align-items:center;gap:11px;margin:0 0 23px;color:#e7e9de;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.5}
.kicker-mark{display:inline-block;width:10px;height:10px;flex:none;background:var(--land-accent);clip-path:polygon(0 100%,100% 0,100% 60%,55% 100%)}
.landing-button,.landing-outline{display:inline-flex;align-items:center;justify-content:center;gap:clamp(22px,3vw,56px);min-height:54px;padding:12px 23px;border-radius:12px;font-size:.88rem;font-weight:800;line-height:1.2;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.landing-button{background:var(--land-accent);color:#132019;border:1px solid var(--land-accent)}
.landing-outline{color:var(--land-cream);border:1px solid rgba(255,255,255,.5);background:#0819146e}
.landing-outline:hover{border-color:var(--land-accent);background:#0d281f}
.landing-button:active,.landing-outline:active{transform:scale(.96)}
.landing-button span,.landing-outline span{font-size:1.2rem;font-weight:400}
.landing-hero{position:relative;isolation:isolate;min-height:max(790px,100svh);display:flex;align-items:stretch;overflow:hidden;background:#081913}
.landing-hero__image{position:absolute;z-index:-2;inset:0 0 0 auto;width:69%;height:100%;object-fit:cover;object-position:center 50%;outline:none}
.landing-hero__shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#071914 0%,#071914 28%,rgba(7,25,20,.95) 39%,rgba(7,25,20,.32) 67%,rgba(5,16,13,.1) 100%),linear-gradient(0deg,rgba(4,17,13,.82),transparent 32%)}
.landing-hero__inner{position:relative;display:flex;flex-direction:column;min-height:max(790px,100svh);padding-top:clamp(180px,20vh,250px);padding-bottom:42px}
.landing-hero__copy{max-width:760px}
.landing-hero h1{margin:0;color:#fff;font-size:clamp(4rem,6.2vw,7.2rem);font-weight:800;line-height:.99;letter-spacing:-.07em;text-wrap:balance}
.landing-hero h1 span,.landing-section h2 span,.landing-about h2 span,.landing-contact h2 span{color:var(--land-accent)}
.landing-hero__lead{max-width:570px;margin:30px 0 28px;color:#ecf1e9;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.55;text-wrap:pretty}
.landing-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.landing-handnote{position:absolute;right:6%;top:24%;margin:0;color:#f7f4ec;font:italic clamp(1.5rem,2.15vw,2.45rem)/1.13 Georgia,serif;text-align:center;transform:rotate(-9deg);text-shadow:0 2px 14px #092019}
.landing-handnote span{display:block;width:100px;height:2px;margin:17px auto 0;background:var(--land-accent);transform:rotate(-8deg)}
.landing-hero__foot{display:flex;align-items:center;gap:clamp(25px,4vw,75px);margin-top:auto;padding-top:55px;color:#f2f5ed;font-size:.75rem;line-height:1.4}
.landing-hero__foot>div{display:flex;align-items:center;gap:12px}
.foot-icon{display:grid;place-items:center;flex:none;width:31px;height:31px;color:var(--land-accent);border:1px solid rgba(255,255,255,.56);border-radius:50%;font-size:1.25rem;line-height:1}
.hero-down{display:flex;align-items:center;gap:14px;margin-left:auto;font-size:.7rem;color:#e1e8db}
.hero-down span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.55);font-size:1.15rem}
.landing-hero__image-note{position:absolute;right:4vw;bottom:15px;color:#dde2d7;font-size:.75rem;letter-spacing:.03em}
.landing-section{padding-block:clamp(80px,8vw,130px);background:var(--land-bg)}
.landing-section__heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:38px}
.landing-section__heading h2,.landing-about h2,.landing-contact h2{margin:0;font-size:clamp(3rem,4.8vw,5.65rem);font-weight:800;line-height:1.01;letter-spacing:-.065em;text-wrap:balance}
.landing-section__heading>p{max-width:395px;margin:0 0 6px;color:#bbcdc2;font-size:1rem;line-height:1.6;text-wrap:pretty}
.landing-section__heading--compact{margin-bottom:32px}
.landing-services{position:relative;background-color:#09211b;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px}
.service-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.catalog-card{position:relative;display:block;min-height:290px;overflow:hidden;border:1px solid var(--land-line);border-radius:16px;background:#132e24}
.catalog-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,14,10,.94),rgba(2,14,10,.07) 64%);pointer-events:none}
.catalog-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .35s ease;outline:none}
.catalog-card:hover img{transform:scale(1.025)}
.catalog-card__number,.catalog-card__body,.catalog-card__arrow{position:absolute;z-index:1}
.catalog-card__number{top:19px;left:20px;color:#fff;font-size:.68rem;letter-spacing:.14em;font-weight:700}
.catalog-card__body{left:22px;right:64px;bottom:22px}
.catalog-card__body strong{display:block;color:#fff;font-size:clamp(1.3rem,1.8vw,1.8rem);line-height:1.1;letter-spacing:-.045em}
.catalog-card__body small{display:block;margin-top:7px;color:#e3e9dc;font-size:.76rem;line-height:1.38}
.catalog-card__arrow{right:20px;bottom:21px;display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--land-accent);border-radius:50%;color:var(--land-accent);font-size:1.1rem;transition:transform .2s ease,background-color .2s ease}
.catalog-card:hover .catalog-card__arrow{transform:translate(2px,-2px);background:rgba(255,180,95,.15)}
.service-tail{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid var(--land-line);color:#c4d0c5;font-size:.86rem}
.service-tail a{color:var(--land-accent);font-weight:700}
.service-tail a span{margin-left:16px}
.landing-projects{background:#071813}
.page-home .project-filters{gap:8px;margin-bottom:13px}
.page-home .filter{min-height:42px;padding:8px 16px;border-color:rgba(255,255,255,.32);color:#dbe5db;background:transparent;font-size:.77rem}
.page-home .filter.is-active{background:var(--land-accent);border-color:var(--land-accent);color:#14201a}
.page-home .project-count{margin-bottom:18px;color:#aebeb1;font-size:.76rem}
.landing-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;align-items:stretch}
.landing-project-card{min-width:0;padding-bottom:14px;border:1px solid var(--land-line);border-radius:14px;background:#0b241d;overflow:hidden}
.landing-project-card:first-child{grid-column:span 2;grid-row:span 2}
.landing-project-card[hidden]{display:none}
.landing-project-card__image{position:relative;height:170px;overflow:hidden;background:#1d3129}
.landing-project-card:first-child .landing-project-card__image{height:410px}
.landing-project-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;outline:none}
.landing-project-card:hover img{transform:scale(1.025)}
.landing-project-card__index{position:absolute;right:12px;top:12px;padding:5px 8px;border-radius:5px;background:#081b16d9;color:#fff;font-size:.63rem;letter-spacing:.1em}
.landing-project-card__meta{display:flex;justify-content:space-between;gap:10px;margin:15px 16px 8px;color:var(--land-accent);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.landing-project-card h3{margin:0 16px 5px;color:#fff;font-size:clamp(1.08rem,1.35vw,1.4rem);letter-spacing:-.04em;line-height:1.18}
.landing-project-card p{min-height:0;margin:0 16px;color:#bfcec0;font-size:.76rem;line-height:1.4}
.landing-project-card__link{display:inline-flex;align-items:center;gap:10px;margin:12px 16px 0;color:var(--land-accent);font-size:.73rem;font-weight:700}
.landing-project-card__link:hover span{transform:translate(2px,-2px)}
.landing-price-note{margin:23px 0 0;color:#aebfb2;font-size:.77rem}
.landing-about{display:grid;grid-template-columns:45% 55%;min-height:550px;background:#123327}
.landing-about__photo{min-height:550px;overflow:hidden}
.landing-about__photo img{width:100%;height:100%;object-fit:cover;outline:none}
.landing-about__content{display:flex;flex-direction:column;align-items:start;justify-content:center;padding:clamp(50px,7vw,120px)}
.landing-about h2{font-size:clamp(2.9rem,4.1vw,5.1rem)}
.landing-about__content>p:not(.landing-kicker){max-width:545px;margin:25px 0;color:#d3e0d3;line-height:1.65;font-size:1rem}
.landing-process{background:#071c17}
.landing-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
.landing-step{display:flex;flex-direction:column;min-height:430px;border:1px solid var(--land-line);border-radius:14px;background:#09251e;overflow:hidden}
.landing-step__number{margin:20px 20px 17px;color:var(--land-accent);font-size:2.8rem;line-height:1;font-weight:800;letter-spacing:-.06em}
.landing-step>div:not(.landing-step__image){padding-inline:20px}
.landing-step h3{margin:0 0 10px;font-size:1.32rem;line-height:1.15;letter-spacing:-.04em}
.landing-step p{margin:0 0 20px;color:#c5d2c6;font-size:.82rem;line-height:1.52}
.landing-step__image{height:165px;overflow:hidden;margin-top:auto}
.landing-step__image img{width:100%;height:100%;object-fit:cover;outline:none}
.landing-process__bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:25px;padding-top:24px;border-top:1px solid var(--land-line);color:#c7d3c7;font-size:.88rem}
.landing-contact{position:relative;isolation:isolate;min-height:760px;padding-block:clamp(95px,9vw,145px);background:#10281f}
.landing-contact__image,.landing-contact__shade{position:absolute;inset:0;z-index:-2}
.landing-contact__image img{width:100%;height:100%;object-fit:cover;object-position:center;outline:none}
.landing-contact__shade{z-index:-1;background:linear-gradient(90deg,rgba(3,17,13,.94),rgba(3,17,13,.8) 49%,rgba(3,17,13,.76)),linear-gradient(0deg,#061510,transparent 70%)}
.landing-contact__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.83fr);align-items:center;gap:clamp(35px,7vw,120px)}
.landing-contact__copy{max-width:640px}
.landing-contact h2{font-size:clamp(3.8rem,5.6vw,7rem)}
.landing-contact__copy>p:not(.landing-kicker){max-width:490px;margin:26px 0 44px;color:#e0e9dd;font-size:1.05rem;line-height:1.6}
.landing-contact__direct{display:grid;gap:6px;padding-top:23px;border-top:1px solid rgba(255,255,255,.3)}
.landing-contact__direct span{color:#b8c8b9;font-size:.75rem;letter-spacing:.04em}
.landing-contact__direct a:first-of-type{width:max-content;font-size:clamp(1.4rem,2.5vw,2rem);font-weight:750;letter-spacing:-.04em}
.landing-contact__direct a:last-child{width:max-content;margin-top:12px;color:var(--land-accent);font-size:.83rem;font-weight:700}
.landing-form-panel{padding:clamp(24px,3vw,44px);border:1px solid rgba(255,255,255,.27);border-radius:18px;background:#061914f5}
.landing-form-panel .landing-kicker{margin-bottom:12px;color:var(--land-accent)}
.landing-form-panel h3{margin:0 0 8px;font-size:clamp(1.7rem,2vw,2.4rem);letter-spacing:-.05em}
.landing-form-panel>p:not(.landing-kicker){margin:0 0 24px;color:#bdcdbf;font-size:.84rem}
.page-home .lead-form{gap:15px}
.page-home .lead-form label,.service-choice>label{font-size:.77rem;font-weight:700}
.page-home .lead-form label span[aria-hidden],.service-choice>label span{color:var(--land-accent)}
.landing-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.page-home .field input,.page-home .field textarea,.page-home .service-choice select{min-height:48px;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#0b241d;color:#fff;font-size:1rem}
.page-home .field input::placeholder,.page-home .field textarea::placeholder{color:#98ab9d}
.page-home .field input:focus,.page-home .field textarea:focus,.page-home .service-choice select:focus{border-color:var(--land-accent)}
.service-choice{display:grid;gap:9px}
.service-chips{display:none;flex-wrap:wrap;gap:7px}
.page-home.has-js .service-chips{display:flex}
.page-home.has-js #lead-service{position:absolute;inline-size:1px;block-size:1px;padding:0;border:0;clip-path:inset(50%);white-space:nowrap;overflow:hidden}
.service-chip{min-height:42px;padding:7px 12px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:transparent;color:#e9eee5;font-size:.73rem;font-weight:650}
.service-chip:hover,.service-chip[aria-pressed="true"]{border-color:var(--land-accent);background:var(--land-accent);color:#102018}
.page-home .consent-field{font-size:.72rem;color:#bdcdbf}
.page-home .consent-field a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.page-home .lead-submit{width:100%;justify-content:space-between;cursor:pointer}
.page-home .lead-submit:disabled{opacity:.65;cursor:wait}
.page-home .field-error{color:#ffb2a4}
.page-home .form-status{min-height:1.3rem;margin:0;color:#d0ebd7;font-size:.78rem}
.page-home .form-status.is-error{color:#ffb2a4}
.page-home .site-footer{background:#061510}
.page-home .footer-top{border-color:var(--land-line)}
.page-home .footer-top h2 em{color:var(--land-accent)}
.page-home .accent-dot{color:var(--land-accent)}
@media(max-width:1150px){.page-home .header-region{display:none}.page-home .desktop-nav{gap:14px}.page-home .desktop-nav a{font-size:.7rem}.page-home .brand__word{font-size:1.4rem}.landing-hero h1{font-size:clamp(3.8rem,6.6vw,5.7rem)}.landing-handnote{right:3%;top:25%}.landing-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-project-card:first-child{grid-column:span 2;grid-row:span 2}}
@media(max-width:1060px){.page-home .site-header__inner{min-height:67px}.page-home .desktop-nav,.page-home .header-cta{display:none}.page-home .menu-toggle{display:flex;margin-left:auto}.page-home .header-actions{margin-left:auto}.page-home .mobile-menu{inset-block-start:85px}.landing-hero__image{width:75%}.landing-hero__shade{background:linear-gradient(90deg,#071914 0%,rgba(7,25,20,.97) 28%,rgba(7,25,20,.58) 71%,rgba(7,25,20,.2)),linear-gradient(0deg,rgba(4,17,13,.84),transparent 34%)}.landing-handnote{display:none}.landing-hero__foot{gap:24px}.landing-about__content{padding:55px}}
@media(max-width:760px){.page-home .container{width:calc(100% - 40px)}.page-home .site-header{inset:12px 12px auto;border-radius:15px}.page-home .site-header__inner{min-height:60px;padding-inline:15px}.page-home .brand img{width:37px;height:31px}.page-home .brand__word{font-size:1.4rem}.page-home .mobile-menu{inset:82px 12px auto;padding:18px;max-height:calc(100svh - 94px)}.landing-hero,.landing-hero__inner{min-height:820px}.landing-hero__inner{padding-top:145px;padding-bottom:35px}.landing-hero__image{width:100%;object-position:58% center}.landing-hero__shade{background:linear-gradient(90deg,rgba(4,18,14,.9),rgba(4,18,14,.53)),linear-gradient(0deg,rgba(4,17,13,.93),transparent 68%)}.landing-hero h1{font-size:clamp(3.15rem,10.8vw,5rem)}.landing-hero__lead{max-width:440px;margin:22px 0 24px}.landing-hero__actions{align-items:stretch}.landing-hero__actions>a{flex:1 1 100%;justify-content:space-between}.landing-hero__foot{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:auto;padding-top:60px}.landing-hero__foot>div{font-size:.7rem}.landing-hero__foot>div:nth-child(3){display:none}.hero-down{grid-column:1/-1;justify-content:space-between;margin:0;padding-top:10px;border-top:1px solid rgba(255,255,255,.25)}.landing-hero__image-note{right:20px;bottom:8px;font-size:.54rem}.landing-section{padding-block:75px}.landing-section__heading{display:block}.landing-section__heading h2,.landing-about h2{font-size:clamp(2.65rem,8vw,4.5rem)}.landing-section__heading>p{margin:20px 0 0}.service-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.catalog-card{min-height:260px}.catalog-card__body{left:14px;right:12px;bottom:54px}.catalog-card__body strong{font-size:1.1rem}.catalog-card__body small{font-size:.7rem}.catalog-card__number{top:13px;left:14px}.catalog-card__arrow{right:13px;bottom:13px;width:30px;height:30px}.service-tail{align-items:start}.landing-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.landing-project-card:first-child{grid-column:span 2;grid-row:auto}.landing-project-card:first-child .landing-project-card__image{height:300px}.landing-project-card__image{height:160px}.landing-about{grid-template-columns:1fr}.landing-about__photo{min-height:280px;max-height:340px}.landing-about__content{padding:55px 20px 65px}.landing-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.landing-step{min-height:390px}.landing-step__image{height:145px}.landing-contact__inner{grid-template-columns:1fr}.landing-contact__copy{max-width:600px}.landing-contact h2{font-size:clamp(3.7rem,11vw,5.5rem)}.landing-contact__copy>p:not(.landing-kicker){margin-bottom:25px}.landing-form-panel{max-width:650px}}
@media(max-width:500px){.landing-hero,.landing-hero__inner{min-height:850px}.landing-hero h1{font-size:clamp(3.05rem,11.3vw,4.2rem)}.landing-hero__foot{padding-top:38px}.landing-kicker{font-size:.61rem;letter-spacing:.15em}.service-catalog{grid-template-columns:1fr}.catalog-card{min-height:225px}.catalog-card__body{bottom:18px;right:60px}.catalog-card__body strong{font-size:1.4rem}.catalog-card__body small{font-size:.74rem}.catalog-card__arrow{bottom:18px}.service-tail{display:block}.service-tail a{display:block;margin-top:8px}.page-home .project-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.page-home .filter{flex:none}.landing-project-grid{grid-template-columns:1fr}.landing-project-card:first-child{grid-column:auto}.landing-project-card__image,.landing-project-card:first-child .landing-project-card__image{height:245px}.landing-project-card h3{font-size:1.25rem}.landing-steps{grid-template-columns:1fr}.landing-step{display:grid;grid-template-columns:1fr 110px;min-height:0;padding:0}.landing-step__number{grid-column:1;grid-row:1;margin:15px 18px 6px;font-size:2rem}.landing-step>div:not(.landing-step__image){grid-column:1;grid-row:2;padding:0 18px}.landing-step p{margin-bottom:17px;font-size:.77rem}.landing-step__image{grid-column:2;grid-row:1/3;height:100%;min-height:180px}.landing-process__bottom{display:block}.landing-process__bottom .landing-button{display:flex;justify-content:space-between;margin-top:18px}.landing-contact{padding-block:80px}.landing-form-panel{padding:22px 17px}.landing-form-grid{grid-template-columns:1fr}.page-home .footer-top h2{font-size:clamp(2.4rem,8vw,3.2rem)}}
@media(prefers-reduced-motion:reduce){.page-home .catalog-card img,.page-home .landing-project-card img,.page-home .landing-button,.page-home .landing-outline{transition:none}}
@media(max-width:760px){.landing-hero__image-note{font-size:.72rem}}
