/* Shared with the homepage: same navigation, typography, colours and spacing. */
.site-header nav{gap:20px}.header-inner{gap:24px}.site-header nav>a:not(.button){font-size:13px}
.ip-hero{background:var(--navy);color:white;padding:48px 0 64px}.ip-breadcrumb{display:flex;gap:12px;font-size:12px;color:#aac3dd;margin-bottom:42px}.ip-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.15;letter-spacing:-1px;margin-bottom:24px}.ip-hero .ip-lead{max-width:700px;color:#c7d8e9;font-size:18px;line-height:1.9}.ip-hero .eyebrow{color:#92bfe9}.ip-section{padding:72px 0}.ip-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.ip-heading h2{font-size:32px;line-height:1.4}.ip-heading p{max-width:470px;color:var(--muted);font-size:14px}.ip-muted{color:var(--muted)}.ip-search{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:22px;background:var(--paper);border-radius:14px;margin-bottom:28px}.ip-search input{flex:1;min-width:160px;padding:13px;border:1px solid var(--line);background:white;font:inherit;border-radius:8px}.ip-count{font-size:13px;color:var(--muted);margin-bottom:24px}.ip-empty{background:var(--paper);padding:36px;border-radius:16px}.ip-paging{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:36px}.ip-paging a{padding:10px 18px;border:1px solid var(--line)}.ip-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.ip-news{border-bottom:1px solid var(--line);padding-bottom:26px}.ip-news img{width:100%;height:210px;object-fit:cover;margin-bottom:20px}.ip-news h3{font-size:21px;line-height:1.6;margin:12px 0}.ip-news p{font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ip-news small{color:var(--blue)}.ip-news .text-link{margin-top:20px}.ip-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ip-panel{background:var(--paper);padding:30px;border-radius:16px}.ip-panel>span{color:var(--blue);font-size:13px}.ip-panel h3{font-size:23px;margin:20px 0 14px}.ip-panel p{color:var(--muted);font-size:15px}.ip-faq{max-width:900px;margin:auto}.ip-faq details{border-bottom:1px solid var(--line);padding:24px 0}.ip-faq summary{font-size:19px;font-weight:600;cursor:pointer}.ip-faq details p{color:var(--muted);margin-top:18px;white-space:pre-line}.ip-about{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.ip-about h2{font-size:32px;margin-bottom:24px}.ip-about p{color:var(--muted);margin:18px 0;white-space:pre-line}.ip-about img{width:100%;max-height:430px;object-fit:cover}.ip-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.ip-gallery img,.ip-gallery video{width:100%;height:230px;object-fit:cover;border-radius:16px}.ip-certificates{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.ip-certificates img{width:100%;height:280px;object-fit:contain;background:var(--paper);padding:20px}.ip-certificates span{display:block;margin-top:12px}.ip-contact{display:grid;grid-template-columns:1fr 1fr;gap:56px}.ip-contact .form-panel{background:var(--paper);border-radius:16px}.ip-contact h2{font-size:30px}.ip-contact p{margin-top:18px;color:var(--muted)}.ip-contact .contact-phone{margin:25px 0}.ip-contact dl{margin:30px 0}.ip-contact dt{font-size:13px;color:var(--muted);margin-top:22px}.ip-contact dd{margin:6px 0 0}.ip-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.ip-tags span{padding:6px 12px;background:var(--paper);border-radius:8px;font-size:13px}.ip-cta{background:var(--paper);padding:44px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:30px}.ip-cta h2{font-size:30px}.ip-cta p{color:var(--muted);margin-top:12px}.ip-form-feedback{padding:16px;margin:20px 0;background:#e2f1e8;border-radius:8px}.ip-form-feedback.error{background:#fff0e8}.ip-section .service-card p{min-height:0}.ip-section .project-grid{row-gap:40px}.ip-section .project-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ip-section .service-card-top{border-radius:16px;overflow:hidden}
@media(min-width:961px) and (max-width:1150px){.header-inner{gap:12px}.site-header nav{gap:12px}.site-header .brand img{width:175px!important}.header-inner.shell{width:calc(100% - 48px)}}
@media(max-width:960px){.site-header nav{gap:0}.ip-news-grid{grid-template-columns:repeat(2,1fr)}.ip-about,.ip-contact{grid-template-columns:1fr;gap:32px}.ip-panels{grid-template-columns:1fr}.ip-gallery,.ip-certificates{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ip-hero{padding:24px 0 40px}.ip-breadcrumb{margin-bottom:28px}.ip-hero .ip-lead{font-size:15px}.ip-section{padding:40px 0}.ip-heading{display:block;margin-bottom:24px}.ip-heading h2,.ip-about h2,.ip-contact h2{font-size:27px}.ip-heading p{margin-top:14px}.ip-news-grid{grid-template-columns:1fr}.ip-search{padding:16px}.ip-search input{width:100%;flex-basis:100%}.ip-news img{height:210px}.ip-panel{padding:24px}.ip-gallery{grid-template-columns:1fr}.ip-certificates{gap:16px}.ip-certificates img{height:190px;padding:10px}.ip-cta{display:block;padding:26px}.ip-cta .button{margin-top:24px}.ip-cta h2{font-size:25px}.ip-contact .contact-phone strong{font-size:30px}.ip-faq summary{font-size:17px}.ip-contact .form-panel{padding:24px}.ip-section .process-grid{grid-template-columns:1fr 1fr}.ip-hero,.ip-section{overflow-wrap:anywhere}}
