:root{--ink:#0f172a;--muted:#64748b;--green:#194431;--accent:#10b981;--line:#e2e8f0;--paper:#f8fafc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #34d399;outline-offset:5px}.wrap{max-width:1320px;margin:auto;padding-left:40px;padding-right:40px}header{position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(15px);display:flex;align-items:center;gap:24px;padding:20px max(28px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:700;letter-spacing:-.6px;white-space:nowrap}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:1.4px;color:#64748b;margin-top:3px}.mark{display:flex;align-items:center;justify-content:center;background:var(--green);border-radius:13px;width:48px;height:48px;color:white;box-shadow:0 4px 6px #173e2720}.mark svg{width:27px;height:27px}nav{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:14px;color:#475569;white-space:nowrap}nav a:hover{color:#059669}.langs{display:flex;gap:2px}.langs button{border:0;background:none;color:#475569;font-size:11px;padding:6px}.langs button.active{color:#047857;background:#d1fae5;border-radius:5px;font-weight:bold}.button{display:inline-flex;gap:18px;justify-content:center;align-items:center;background:var(--green);color:white;padding:14px 23px;border-radius:12px;border:0;font-weight:600;font-size:14px;box-shadow:0 8px 14px #153c2420;transition:background .15s}.button:hover{background:#25634a}.header-cta{font-size:12px;padding:12px 17px;white-space:nowrap}.hero{color:white;background:radial-gradient(circle at 1px 1px,#1e647542 1px,transparent 1.4px) 0 0/25px 25px,linear-gradient(155deg,#0b1721,#194431);padding:90px 0 72px}.hero-copy{max-width:1030px}.eyebrow{display:inline-block;padding:3px 13px;border-radius:30px;background:#d1fae5;color:#047857;text-transform:uppercase;font-size:12px;letter-spacing:.6px;font-weight:600;margin:0 0 20px}.hero .eyebrow{background:#10b98114;color:#6ee7b7;border:1px solid #10b98155}.hero .eyebrow:before{content:'✓';margin-right:9px}h1{font-size:clamp(43px,5.1vw,68px);font-weight:750;letter-spacing:-1.8px;line-height:1.1;margin:7px 0 28px;max-width:1030px}h2{font-size:38px;line-height:1.2;letter-spacing:-.8px;margin:0 0 25px}h3{font-size:22px;line-height:1.35;margin:0 0 16px}p{color:var(--muted)}.lead{font-size:20px;line-height:1.65;max-width:820px}.hero .lead{color:#cbd5e1;max-width:870px}.actions{display:flex;gap:16px;align-items:center;margin-top:33px}.hero .button{padding:20px 30px;font-size:17px;color:#042621;background:var(--accent)}.hero .button:hover{background:#34d399}.text-link{padding:18px 30px;background:#ffffff1a;border:1px solid #ffffff20;border-radius:12px;font-weight:600;font-size:17px}.hero-bottom{display:flex;gap:90px;border-top:1px solid #ffffff14;margin-top:65px;padding-top:40px}.hero-bottom>div{display:flex;flex-direction:column;gap:3px;min-width:170px}.hero-bottom strong{font-size:29px;color:#34d399;line-height:1.3}.hero-bottom span{font-size:14px;color:#94a3b8}.gallery{background:#0f172a;padding:52px 0 62px;color:white}.gallery-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.gallery-head h2{font-size:23px;letter-spacing:0;margin:0}.gallery-head h2:before{content:'▣';color:#34d399;margin-right:10px}.gallery-head p{font-size:12px;color:#94a3b8}.gallery-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.gallery figure{position:relative;flex:1 0 30%;min-width:260px;margin:0;height:220px;border-radius:18px;overflow:hidden;border:1px solid #334155;scroll-snap-align:start}.gallery img{width:100%;height:100%;object-fit:cover}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 18px;background:linear-gradient(transparent,#0f172aee);font-size:14px}.section{padding-top:90px;padding-bottom:90px}.section-head{text-align:center;max-width:900px;margin:0 auto 55px}.section-head h2{margin-bottom:22px}.section-head p:not(.eyebrow){font-size:18px;max-width:780px;margin:0 auto}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-card{display:flex;flex-direction:column;padding:32px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 2px 3px #0f172a08}.service-card .icon{background:#ecfdf5;color:var(--green);width:58px;height:58px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:26px}.service-card p{font-size:15px;line-height:1.65;margin:0 0 26px}.service-card button{padding:0;border:0;background:none;text-align:left;color:var(--green);font-size:15px;font-weight:600;margin-top:auto}.service-card:last-child{background:linear-gradient(140deg,#194431,#102d22);border-color:#194431;color:white}.service-card:last-child p{color:#cbd5e1}.service-card:last-child .icon{background:#ffffff15;color:#34d399}.service-card:last-child button{color:#6ee7b7}.service-card button:hover{text-decoration:underline}#prices{background:#fff;max-width:none;border-top:1px solid var(--line)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1240px;margin:auto}.price-card{display:flex;flex-direction:column;background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:32px}.price-card:nth-child(2){background:var(--green);color:white;border-color:var(--green);box-shadow:0 12px 22px #0f172a20}.price{font-size:32px;font-weight:700;line-height:1.3;margin:17px 0 20px}.price small{font-size:13px;font-weight:400}.price-card:nth-child(2) .price{color:#6ee7b7}.price-card ul{list-style:none;padding:0;margin:4px 0 32px;color:#64748b;line-height:1.75;font-size:15px;min-height:120px}.price-card li{margin-bottom:10px;padding-left:22px;position:relative}.price-card li:before{content:'✓';color:#10b981;position:absolute;left:0}.price-card:nth-child(2) ul{color:#d1e9dc}.price-card .button{margin-top:auto;background:#e2e8f0;box-shadow:none;color:#334155}.price-card:nth-child(2) .button{background:#10b981;color:#042621}.fine{font-size:12px;max-width:1240px;margin:25px auto 0}.about{padding:90px 0;background:#f8fafc}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}.about h2{font-size:36px}.about .large{font-size:17px}.about p{font-size:16px;line-height:1.7}.about-image{position:relative}.about-image img{width:100%;height:380px;object-fit:cover;border-radius:18px}.image-caption{position:absolute;left:-22px;bottom:-20px;background:#0f172a;color:#34d399;padding:25px;border-radius:16px;font-size:26px;font-weight:700;box-shadow:0 12px 22px #0002}.image-caption small{font-size:12px;color:#cbd5e1;font-weight:400}.steps{margin-top:25px}.steps>div{display:flex;gap:15px;margin:12px 0;font-size:13px}.steps b{background:#d1fae5;border-radius:6px;color:#047857;padding:2px 7px}.contact{padding:90px 0;background:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact .lead{font-size:17px}.contact-detail{display:flex;flex-direction:column;gap:5px;margin-top:32px}.contact-detail>span{font-weight:700;font-size:16px;color:#0f172a}.contact-detail strong{font-size:17px;font-weight:400;color:#64748b}.contact-detail small{font-size:12px;color:#64748b}.contact-detail a:hover{color:#047857}form{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:38px;box-shadow:0 12px 20px #0f172a12}form h3{margin-bottom:28px}.form-row{display:grid;grid-template-columns:1fr;gap:0}label{display:block;margin-bottom:22px}label span{display:block;font-size:12px;font-weight:600;text-transform:uppercase;color:#475569;letter-spacing:.4px;margin-bottom:9px}input,select,textarea{width:100%;background:white;border:1px solid #cbd5e1;border-radius:11px;padding:13px 15px;color:#334155;font-size:14px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #10b981;outline-offset:2px}.form-note{font-size:12px}.submit{width:100%;padding:16px}#formStatus,#downloadRequest{font-size:12px}#downloadRequest{text-decoration:underline}footer.wrap{max-width:none;background:#0f172a;padding:45px max(40px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px;color:white}footer .brand{font-size:20px}footer>span,footer>a:last-child{font-size:12px;color:#94a3b8}@media(min-width:1500px){#prices{padding-left:calc((100vw - 1240px)/2);padding-right:calc((100vw - 1240px)/2)}}@media(max-width:1150px){header{gap:14px}.brand{font-size:20px}.brand small{font-size:8px}nav{gap:14px;font-size:12px}.header-cta{display:none}.service-card,.price-card{padding:26px}.hero-bottom{gap:50px}.about-grid,.contact-grid{gap:35px}.about h2{font-size:32px}}@media(max-width:760px){html{scroll-padding-top:145px}.wrap{padding-left:22px;padding-right:22px}header{flex-wrap:wrap;padding:15px 22px;gap:12px}.brand{font-size:21px}.mark{width:42px;height:42px}.langs{margin-left:auto}nav{order:3;width:100%;justify-content:space-between;gap:10px;font-size:11px}.hero{padding:48px 0}.hero .eyebrow{font-size:10px}h1{font-size:40px;letter-spacing:-1px}.lead{font-size:17px}.hero .button,.text-link{padding:15px 19px;font-size:14px}.actions{gap:12px}.hero-bottom{gap:20px;margin-top:38px;padding-top:27px;flex-wrap:wrap}.hero-bottom>div{min-width:120px;flex:1}.hero-bottom strong{font-size:22px}.hero-bottom span{font-size:12px}.gallery{padding:32px 0}.gallery-head{display:block}.gallery-head h2{font-size:20px}.gallery figure{flex-basis:80%;height:210px}.section,.about,.contact{padding-top:55px;padding-bottom:55px}h2{font-size:30px}.section-head{margin-bottom:32px}.section-head p:not(.eyebrow){font-size:16px}.service-grid,.price-grid{grid-template-columns:1fr;gap:20px}.service-card{padding:28px}.price-card ul{min-height:0}.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about-image{margin:0 0 20px 15px}.about-image img{height:300px}.image-caption{left:-15px;font-size:23px}.about h2{font-size:30px}form{padding:25px}.contact-grid{gap:35px}footer.wrap{padding:32px 22px;flex-wrap:wrap}footer>span{order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.terms{padding-top:30px;padding-bottom:75px}.terms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.terms-grid article{padding:24px;background:white;border:1px solid #e2e8f0;border-radius:14px}.terms-grid h3{font-size:18px}.terms-grid p{font-size:14px;margin-bottom:0}.faq-list{max-width:900px;margin:auto}.faq-list details{background:white;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:12px;padding:0 24px}.faq-list summary{font-size:17px;font-weight:600;padding:21px 0;cursor:pointer;list-style:none}.faq-list summary:after{content:'+';float:right;color:#059669;font-size:23px}.faq-list details[open] summary:after{content:'−'}.faq-list p{margin-top:0;font-size:15px}.upload-label small{display:block;color:#64748b;font-size:12px;margin-top:7px}.upload-label input{padding:10px;font-size:12px}.photo-preview{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.photo-preview>div{position:relative}.photo-preview img{width:95px;height:80px;object-fit:cover;border-radius:8px}.photo-preview button{position:absolute;right:0;top:0;border:0;border-radius:50%;background:#0f172a;color:white;font-size:20px;width:25px;height:25px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent{display:flex;align-items:flex-start;gap:10px}.consent input{width:18px;height:18px;flex-shrink:0;margin:3px 0}.consent span{font-size:12px;text-transform:none;letter-spacing:0;font-weight:400}.submit:disabled{opacity:.6;cursor:default}#formStatus:not(:empty){background:#ecfdf5;color:#14532d;padding:13px;border-radius:8px;overflow-wrap:anywhere}#newRequest{border:1px solid #a7f3d0;border-radius:8px;padding:10px 15px;background:white;color:#047857;font-size:13px}.form-row{grid-template-columns:1fr 1fr;gap:16px}@media(max-width:1250px){header nav{gap:12px;font-size:12px}.header-cta{display:none}}@media(max-width:1000px){.terms-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){header nav{font-size:10px;gap:7px}.terms-grid,.form-row{grid-template-columns:1fr;gap:0}.terms-grid article{margin-bottom:15px}.terms{padding-bottom:35px}.faq-list details{padding:0 17px}.faq-list summary{font-size:15px;padding-right:15px}}
.upload-label{margin-top:8px}.upload-zone{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:9px;min-height:205px;padding:25px 18px;border:1.5px dashed #a8cdbd;border-radius:14px;background:linear-gradient(145deg,#f0faf5,#f8fcfa);text-align:center;transition:border-color .2s,background .2s,box-shadow .2s}.upload-zone:hover{border-color:#059669;background:#eaf8f0}.upload-zone:focus-within{outline:3px solid #a7f3d0;outline-offset:3px;border-color:#059669}.upload-zone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2;margin:0;padding:0}.upload-art{display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:white;border:1px solid #d4e9dd;border-radius:13px;color:#157347;box-shadow:0 3px 8px #14532d08}.upload-art svg{width:25px;height:25px}.upload-zone strong{font-size:15px;color:#194431;font-weight:600}.upload-zone small{font-size:11px;line-height:1.5;color:#64748b;margin:0;font-weight:400}.upload-zone .upload-pick{margin:5px 0 0;text-transform:none;letter-spacing:0;background:white;border:1px solid #c3dfcf;border-radius:8px;color:#194431;padding:7px 14px;font-size:12px;font-weight:600}.photo-preview{gap:12px}.photo-preview>div{background:white;padding:5px;border:1px solid #dbe7e0;border-radius:11px;box-shadow:0 2px 4px #0f172a05}.photo-preview img{width:105px;height:85px;display:block}.photo-preview button{right:-6px;top:-6px;background:white;color:#475569;border:1px solid #d6e2dc;box-shadow:0 2px 4px #0001}.photo-preview button:hover{background:#fff1f2;color:#be123c}

.form-row label{display:flex;flex-direction:column}.form-row label>span{min-height:38px}.form-row input{margin-top:auto}
.gallery figcaption{font-size:21px;font-weight:600;line-height:1.35;padding:55px 22px 22px;text-shadow:0 2px 8px #0005;background:linear-gradient(transparent,#0f172af2)}@media(max-width:760px){.gallery figcaption{font-size:19px;padding:48px 18px 18px}}
.terms-grid article{display:flex;align-items:center;min-height:112px;padding:25px 26px}.terms-grid h3{margin:0;font-size:19px;line-height:1.4}.terms .section-head{margin-bottom:35px}@media(max-width:760px){.terms-grid article{min-height:82px;padding:20px 24px}.terms-grid h3{font-size:18px}}
.terms-grid article{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:140px;gap:10px}.terms-grid article p{margin:0;font-size:14px;line-height:1.5;color:#64748b}@media(max-width:760px){.terms-grid article{min-height:108px;gap:7px}.terms-grid article p{font-size:13px}}

/* Keep the three hero benefits aligned at every screen size. */
.hero-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:900px;align-items:start}
.hero-bottom>div{min-width:0;gap:10px}
.hero-bottom strong{font-size:clamp(20px,2.2vw,27px);line-height:1.25;letter-spacing:-.4px}
.hero-bottom span{font-size:14px;line-height:1.5;max-width:230px;color:#b6c5ce}
@media(max-width:760px){.hero-bottom{gap:22px}.hero-bottom strong{font-size:20px}.hero-bottom span{font-size:13px}}
@media(max-width:540px){.hero-bottom{grid-template-columns:1fr;gap:20px}.hero-bottom>div{gap:4px;padding-bottom:18px;border-bottom:1px solid #ffffff14}.hero-bottom>div:last-child{padding-bottom:0;border-bottom:0}.hero-bottom span{max-width:none}}

/* Fill the first viewport below the responsive header. */
.hero{min-height:calc(100svh - var(--header-height, 90px));display:flex;align-items:center}
.hero>.wrap{width:100%}

/* Work showcase and progressive scroll reveals */
.work-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:28px 0}.work-tabs{display:flex;gap:8px;flex-wrap:wrap}.work-tabs button,.work-arrows button{border:1px solid #ffffff30;background:transparent;color:#cbd5e1;border-radius:30px;padding:10px 18px;font-size:13px}.work-tabs button[aria-pressed=true]{background:#d1fae5;color:#194431;border-color:#d1fae5}.work-arrows{display:flex;align-items:center;gap:16px;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums;color:#94a3b8}.work-arrows button{padding:7px 15px;font-size:20px}.work-slide{overflow:hidden;border:1px solid #ffffff20;border-radius:20px}.comparison-placeholders{display:grid;grid-template-columns:1fr 1fr;position:relative}.comparison-half{min-height:300px;padding:24px;background:repeating-linear-gradient(135deg,#1e293b,#1e293b 1px,#172334 1px,#172334 24px);display:flex;align-items:center;justify-content:center;flex-direction:column}.comparison-half>span{align-self:flex-start;border:1px solid #ffffff30;padding:4px 14px;border-radius:20px;font-size:12px}.comparison-half p{color:#94a3b8;font-size:13px}.placeholder-symbol{font-size:70px;line-height:1;margin-top:38px;color:#607481}.after-half{background:radial-gradient(ellipse at center,#1d4a3b,#112e29)}.after-half .placeholder-symbol{color:#6ee7b7}.comparison-divider{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid #ffffff50;border-radius:100%;padding:8px 13px;background:#183c31;color:#d1fae5}.work-caption{padding:24px 28px;background:#13202c;display:flex;align-items:center;gap:25px;justify-content:space-between}.work-caption h3{margin:0;font-size:21px}.work-caption p{margin:0;font-size:14px;color:#94a3b8}.work-footnote{font-size:12px;color:#94a3b8;margin-bottom:0}.area-note{font-size:14px;line-height:1.8;max-width:620px}.company-details{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#94a3b8}.company-details small{font-size:11px}.about-grid>.area-note{grid-column:1/-1;margin:0}.about-grid{align-items:start}.gallery-head h2:before{display:none}
@media(prefers-reduced-motion:no-preference){[data-reveal]{opacity:0;transform:translateY(32px);filter:blur(5px);transition:opacity .8s ease var(--reveal-delay,0ms),transform .8s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),filter .8s ease var(--reveal-delay,0ms)}[data-reveal].is-visible{opacity:1;transform:none;filter:none}}
@media(max-width:760px){.work-toolbar{align-items:flex-start;flex-direction:column}.work-tabs button{padding:8px 12px;font-size:11px}.work-arrows{align-self:flex-end}.comparison-half{min-height:240px;padding:16px}.work-caption{display:block;padding:22px}.work-caption p{margin-top:8px}.company-details{order:3;width:100%}.about-grid>.area-note{grid-column:auto}.actions{flex-wrap:wrap}}

.contact-copy{display:flex;flex-direction:column;justify-content:space-between;gap:55px;min-width:0;padding:8px 0}.contact-copy .contact-detail{margin-top:0}.contact-copy .area-note{margin:12px 0 0}.contact-bottom{border-top:1px solid var(--line);padding-top:32px}.contact-company{margin-top:30px;font-size:14px}.contact-company p{font-size:13px;line-height:1.9;margin:8px 0 0}@media(max-width:760px){.contact-copy{gap:32px}.contact-bottom{padding-top:25px}}

/* Original project photographs, separated from the supplied collages. */
.work-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;background:#101e29;align-items:center}
.work-photo{position:relative;display:block;min-width:0;border-radius:10px;overflow:hidden;background:#0c1721}
.work-photo img{display:block;width:100%;height:360px;object-fit:contain}
.work-photo>span{position:absolute;top:12px;left:12px;background:#10271feb;color:#fff;padding:5px 14px;border-radius:20px;font-size:13px;z-index:1}
.work-photos-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.work-photos-three .work-photo img{height:310px}
.work-toolbar{align-items:flex-end}.work-arrows{flex-shrink:0}
@media(max-width:760px){.work-photos,.work-photos-three{grid-template-columns:1fr;padding:12px;gap:12px}.work-photo img,.work-photos-three .work-photo img{height:auto;max-height:460px;object-fit:contain}.work-toolbar{align-items:stretch}.work-photo>span{font-size:12px}}

.history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.history-grid article{padding:28px;background:white;border:1px solid var(--line);border-radius:18px}.history-grid h3{font-size:21px}.history-grid p{font-size:15px;line-height:1.8;margin-bottom:0}.partner-card{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:36px;padding:32px;border:1px solid #cde4d7;border-radius:20px;background:#edf7f1}.partner-card p:last-child{margin-bottom:0}.partner-card .eyebrow{margin-bottom:12px}.partner-logo{flex:0 0 280px;background:white;border-radius:12px;padding:14px}.partner-logo img{display:block;width:100%;height:auto}@media(max-width:760px){.history-grid{grid-template-columns:1fr}.partner-card{flex-direction:column;align-items:flex-start;padding:24px;gap:24px}.partner-logo{flex:auto;max-width:280px;width:100%}}

.logo-brand{flex-shrink:0}.logo-brand img{display:block;width:160px;height:96px;object-fit:contain}.footer-logo{background:white;border-radius:12px;padding:12px 18px}.footer-logo img{width:145px;height:90px}@media(max-width:760px){.logo-brand img{width:128px;height:76px}.footer-logo img{width:145px;height:90px}}

.footer-logo{background:transparent;padding:0;border-radius:0}
