.hp .ai-section{background:var(--page-bg);color:var(--ink);padding:90px 0}.ai-heading h1,.ai-heading h2{font-size:clamp(38px,5.8vw,88px);line-height:1.04;letter-spacing:-.045em;white-space:pre-line;margin:0;text-wrap:balance}.ai-lead{font-size:clamp(20px,2.2vw,30px);line-height:1.4;max-width:1000px;margin:24px 0 0}.ai-media{position:relative;min-width:0}.ai-media img{display:block;width:100%;height:auto;object-fit:contain}.ai-catalog-nav{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin:35px 0 50px}.ai-catalog-nav a{padding:12px 20px;border-radius:30px;font-size:20px;color:var(--ink);text-decoration:none}.ai-catalog-nav a[aria-current]{background:var(--action-bg);color:var(--action-text)}.ai-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 30px}.ai-catalog-grid>a{text-align:center;color:var(--ink);text-decoration:none;min-width:0}.ai-catalog-grid .ai-media{height:260px;display:flex;align-items:center}.ai-catalog-grid .ai-media img{height:100%;object-fit:contain}.ai-catalog-grid h3{font-size:26px;line-height:1.2;margin:22px 0 10px}.ai-catalog-grid p{font-size:16px;color:var(--muted);line-height:1.5;margin:0 auto 14px;max-width:32ch}.ai-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:44px 0;gap:30px}.ai-specs>div+div{border-left:1px solid var(--border);padding-left:30px}.ai-specs h3{font-size:28px;line-height:1.2;margin:0 0 15px;font-weight:500}.ai-specs p{font-size:22px;line-height:1.4;margin:0}.ai-service-detail>.hp-wrap>.ai-media{max-width:1100px;margin:0 auto 45px}.ai-about>.hp-wrap>.ai-media{margin-top:35px}.ai-about .hp-actions{justify-content:center}.ai-software>.hp-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.ai-software .ai-media img{max-height:650px}.ai-software h1,.ai-software h2{font-weight:400}.ai-project-list{list-style:none;padding:0;margin:45px 0 0;counter-reset:project}.ai-project-list li{display:grid;grid-template-columns:140px 1fr 340px;gap:30px;align-items:center;padding:35px 0;border-bottom:1px solid var(--border)}.ai-number{font-size:130px;line-height:1;color:var(--border);font-variant-numeric:tabular-nums}.ai-project-list h3{font-size:34px;margin:0 0 15px}.ai-project-list p{font-size:20px;color:var(--muted);line-height:1.4}.ai-project-list .ai-media img{height:190px}.ai-faq .hp-wrap{max-width:1100px}.ai-faq h2{font-size:clamp(30px,4vw,54px)}.ai-faq-list{margin-top:55px}.ai-faq-list details{padding:30px 0;border-bottom:1px solid var(--border)}.ai-faq-list summary{display:flex;justify-content:space-between;gap:30px;font-size:clamp(23px,2.7vw,34px);font-weight:600;cursor:pointer;list-style:none}.ai-faq-list summary::-webkit-details-marker{display:none}.ai-faq-list summary span{width:24px;height:24px;position:relative;flex:none;margin-top:6px}.ai-faq-list summary span:before,.ai-faq-list summary span:after{content:'';position:absolute;background:var(--green);width:24px;height:2px;top:11px;left:0}.ai-faq-list summary span:after{transform:rotate(90deg)}.ai-faq-list details[open] summary span:after{display:none}.ai-faq-list p{font-size:clamp(19px,2vw,26px);line-height:1.6;max-width:850px;margin:25px 0 10px}.ai-document>.hp-wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:60px}.ai-document-nav{border-right:1px solid var(--border);display:flex;flex-direction:column;gap:25px;padding-right:30px}.ai-document-nav a{color:var(--muted);font-size:17px;text-decoration:none}.ai-document article h1,.ai-document article h2{font-size:clamp(32px,4vw,54px)}.ai-document article>section{padding:36px 0;border-bottom:1px solid var(--border);scroll-margin-top:110px}.ai-document article h3{font-size:30px;margin:0 0 20px}.ai-document article p{font-size:20px;line-height:1.65;white-space:pre-line}.ai-tender>.hp-wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px}.ai-tender h1,.ai-tender h2{font-size:clamp(40px,5vw,70px)}.ai-tender-steps{padding:0;list-style:none;display:grid;gap:36px;margin:65px 0 0}.ai-tender-steps li{display:flex;gap:24px;align-items:start}.ai-tender-steps li>span{font-size:36px;color:var(--muted);padding-right:24px;border-right:1px solid var(--border)}.ai-tender-steps h3{font-size:23px;font-weight:400;line-height:1.4;margin:0}.ai-tender-steps p{color:var(--muted);font-size:16px;line-height:1.5;margin:10px 0 0}.ai-tender-form input,.ai-tender-form textarea{background:var(--page-bg);border:1px solid var(--border)}.ai-attachment-note{font-size:16px;line-height:1.5;color:var(--muted)}.ai-attachment-note a{color:var(--green);overflow-wrap:anywhere}.ai-section a:focus-visible,.ai-section summary:focus-visible{outline:3px solid var(--green);outline-offset:5px}.ai-section a:hover{color:var(--green)}
@media(max-width:900px){.ai-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-project-list li{grid-template-columns:90px 1fr 220px;gap:20px}.ai-number{font-size:85px}.ai-tender>.hp-wrap{gap:35px}.ai-document>.hp-wrap{grid-template-columns:180px minmax(0,1fr);gap:30px}}
@media(max-width:650px){.hp .ai-section{padding:55px 0}.ai-catalog-nav{gap:6px;margin:24px 0 32px}.ai-catalog-nav a{font-size:15px;padding:10px 13px}.ai-catalog-grid{gap:35px 18px}.ai-catalog-grid .ai-media{height:140px}.ai-catalog-grid h3{font-size:20px}.ai-catalog-grid p{font-size:14px}.ai-specs{grid-template-columns:1fr;gap:24px}.ai-specs>div+div{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.ai-specs h3{font-size:24px}.ai-specs p{font-size:19px}.ai-software>.hp-wrap,.ai-tender>.hp-wrap,.ai-document>.hp-wrap{grid-template-columns:1fr;gap:35px}.ai-software .ai-media img{max-height:420px}.ai-project-list li{grid-template-columns:60px 1fr;gap:15px}.ai-project-list .ai-media{grid-column:2}.ai-project-list h3{font-size:26px}.ai-number{font-size:62px}.ai-document-nav{border:0;border-bottom:1px solid var(--border);padding:0 0 24px;gap:15px}.ai-tender-steps{margin:35px 0 0;gap:25px}.ai-tender-steps h3{font-size:20px}.ai-tender-steps li>span{font-size:30px}.ai-faq-list{margin-top:30px}}
.ai-location{position:relative;min-height:760px;isolation:isolate}.ai-location iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:-1}.ai-contact-card{background:var(--page-bg);border:1px solid var(--border);padding:45px;border-radius:22px;max-width:550px;box-shadow:0 12px 50px #0000000d}.ai-contact-card h1,.ai-contact-card h2{font-size:clamp(32px,3.4vw,46px)}.ai-contact-card address{font-style:normal}.ai-contact-card address>div{padding:28px 0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-start;gap:15px}.ai-contact-card address>div:last-child{border:0;padding-bottom:0}.ai-contact-card address>div>a:first-child,.ai-contact-card address p{font-size:25px;color:var(--ink);text-decoration:none;margin:0}.ai-contact-card .hp-button{font-size:17px;min-height:44px}.ai-not-found>.hp-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;min-height:65vh}.ai-404{font-size:clamp(150px,30vw,440px);line-height:1;color:transparent;-webkit-text-stroke:1px var(--green);letter-spacing:-.05em}.ai-not-found h1,.ai-not-found h2{font-size:clamp(32px,4vw,64px)}.ai-not-found .hp-actions{flex-wrap:wrap}.ai-articles{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.ai-articles article{display:grid;grid-template-columns:40% 1fr;overflow:hidden;border:1px solid var(--border);border-radius:20px;min-width:0}.ai-articles article>div{padding:28px}.ai-articles article>a{min-height:210px}.ai-articles .ai-media,.ai-articles .ai-media img{height:100%;object-fit:cover}.ai-articles h3{font-size:clamp(23px,2.1vw,32px);line-height:1.2;margin:0 0 28px}.ai-articles h3 a{color:var(--ink);text-decoration:none}.ai-articles .ai-article-feature{grid-column:1;grid-row:span 3;display:flex;flex-direction:column}.ai-articles .ai-article-feature>a{height:380px}.ai-articles .ai-article-feature h3{font-size:clamp(28px,3vw,44px)}.ai-journal .ai-heading{margin-bottom:40px}.ai-article-contents{padding:20px 0!important;border-bottom:1px solid var(--border)}.ai-article-contents nav{display:flex;flex-wrap:wrap;gap:18px 30px}.ai-article-contents a{font-size:16px;color:var(--green);text-decoration:none}.ai-case>.hp-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:50px}.ai-case h1,.ai-case h2{font-size:clamp(36px,4vw,60px)}.ai-case-sections section{border-bottom:1px solid var(--border);padding:28px 0}.ai-case-sections h3{font-size:28px;margin:0 0 12px}.ai-case-sections p{font-size:20px;line-height:1.5;color:var(--muted)}.ai-case .ai-media img{height:100%;object-fit:cover;border-radius:14px}
@media(max-width:750px){.ai-not-found>.hp-wrap,.ai-case>.hp-wrap{grid-template-columns:1fr;gap:30px}.ai-404{font-size:55vw}.ai-location{padding-bottom:270px!important}.ai-contact-card{padding:28px}.ai-articles{grid-template-columns:1fr}.ai-articles .ai-article-feature{grid-row:auto}.ai-articles .ai-article-feature>a{height:260px}.ai-articles article>div{padding:20px}.ai-articles article>a{min-height:160px}.ai-contact-card address>div>a:first-child,.ai-contact-card address p{font-size:22px}}
.ai-article-body>.hp-wrap{max-width:1040px}.ai-article-body .ai-heading h2{font-size:clamp(30px,4vw,54px);text-transform:none}.ai-article-paragraph{font-size:clamp(19px,2vw,25px);line-height:1.65;white-space:pre-line;margin:22px 0}.ai-article-illustrated>.hp-wrap{display:grid;grid-template-columns:1fr 1fr;gap:45px;max-width:1320px}.ai-article-body .ai-media img{border-radius:16px}.ai-journal .ai-heading:has(h2:empty){display:none}.ai-tender-form input[type=file]{padding:25px;border-style:dashed;min-height:100px;max-width:100%;font-size:15px}.ai-tender-form input[type=file]::file-selector-button{border:0;border-radius:6px;padding:10px 14px;background:var(--pale);color:var(--ink);font:inherit;margin-right:15px;cursor:pointer}
@media(max-width:650px){.ai-article-illustrated>.hp-wrap{grid-template-columns:1fr;gap:20px}}
.hp-journal #page-intro{padding-bottom:0}.hp-journal .ai-journal{padding-top:35px}.ai-heading h1>span,.ai-heading h2>span{display:block}.ai-about .ai-heading h1>span:first-child,.ai-about .ai-heading h2>span:first-child{color:var(--green)}

.ai-catalog-nav button{font:inherit;font-size:20px;padding:12px 20px;background:transparent;color:var(--ink);border:0;border-radius:30px;cursor:pointer}.ai-catalog-nav button[aria-pressed=true]{background:var(--action-bg);color:var(--action-text)}.ai-catalog-nav button:focus-visible{outline:3px solid var(--green);outline-offset:3px}.ai-catalog-grid>[hidden]{display:none!important}@media(max-width:650px){.ai-catalog-nav button{font-size:15px;padding:10px 13px}}
.ai-article-categories{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 35px}.ai-article-categories a{padding:12px 22px;border:1px solid var(--border);border-radius:30px;color:var(--ink);text-decoration:none;font-size:16px}.ai-article-categories a:first-child{background:var(--action-bg);color:var(--action-text);border-color:var(--action-bg)}
.ai-success{text-align:center;min-height:70vh;display:grid;align-items:center}.ai-success .ai-lead{margin-left:auto;margin-right:auto}.ai-success .hp-actions{justify-content:center}.ai-success-check{display:inline-grid;place-items:center;font-size:42px;width:84px;height:84px;border:2px solid var(--green);border-radius:50%;color:var(--green);margin-bottom:32px}.ai-success h1,.ai-success h2{font-size:clamp(34px,5vw,64px)}
.ai-tender-steps li>span{color:color-mix(in srgb,var(--muted) 58%,var(--page-bg))}.ai-article-categories a:first-child{background:transparent;color:var(--ink);border-color:var(--border)}
.ai-search-form{display:flex;gap:15px;margin:40px 0 25px}.ai-search-form input{min-width:0;flex:1;font:inherit;font-size:22px;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--page-bg);color:var(--ink)}.ai-search-status{font-size:19px;line-height:1.5;color:var(--muted);max-width:800px}.ai-search-results article{padding:30px 0;border-bottom:1px solid var(--border);max-width:950px}.ai-search-results h3{font-size:28px;margin:0 0 15px}.ai-search-results h3 a{color:var(--ink);text-decoration:none}.ai-search-results p{font-size:20px;line-height:1.5;color:var(--muted)}@media(max-width:650px){.ai-search-form{flex-direction:column}.ai-search-form input{font-size:18px}}

.ai-file-picker{position:relative;display:flex;gap:16px;align-items:center;min-height:110px;padding:24px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);background:var(--page-bg)}.ai-file-picker>span:first-child{font-size:30px;color:var(--green)}.ai-file-picker [data-file-label]{overflow-wrap:anywhere;min-width:0}.ai-tender-form .ai-file-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0}.ai-file-picker:focus-within{outline:3px solid var(--green);outline-offset:3px}.ai-file-picker:has([aria-invalid=true]){border-color:#b42318}

/* Service explanations form a compact editorial sequence, not repeated hero panels. */
.hp .ai-service-copy{padding:52px 0}.ai-service-copy>.hp-wrap{display:grid;grid-template-columns:.9fr 1.4fr;gap:70px;align-items:start}.ai-service-copy .ai-heading h2{font-size:clamp(28px,3vw,42px);line-height:1.12;text-wrap:initial}.ai-service-narrative{font-size:clamp(19px,1.65vw,24px);line-height:1.6;color:var(--muted);max-width:65ch}.ai-service-copy .hp-actions{margin-top:24px}
@media(max-width:750px){.hp .ai-service-copy{padding:32px 0}.ai-service-copy>.hp-wrap{grid-template-columns:1fr;gap:20px}.ai-service-copy .ai-heading h2{font-size:30px}.ai-service-narrative{font-size:19px}}

.ai-articles .ai-media{background:var(--pale);padding:20px}.ai-articles .ai-media img{object-fit:contain}.ai-articles .ai-article-feature .ai-media{padding:28px}
