/* Shared layouts extend the approved home design. */
@media(max-width:575px){.row.g-5{--bs-gutter-x:2rem}h1{font-size:clamp(1.9rem,8.8vw,2.2rem)}}
h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
.contact-details>a{overflow-wrap:anywhere}
::selection{background:#d4e9ed;color:#102653}body{caret-color:var(--petrol)}[hidden]{display:none!important}
.inline-icon{width:19px;height:19px;flex-shrink:0}.down-icon{transform:rotate(135deg)}
.nav-link.active{color:var(--petrol)!important;text-decoration:underline;text-underline-offset:8px}
.page-intro{padding:55px 0 68px;background:var(--pale)}.page-intro h1{max-width:900px;font-size:clamp(2.15rem,3.3vw,3.4rem);font-weight:550;margin:23px 0}.page-intro p{max-width:710px;font-size:19px;line-height:1.75;color:#526177;margin:0}.back-link{display:inline-flex;align-items:center;min-height:44px;color:#526177;font-size:14px}.surface-tint{background:var(--pale)}.section-heading h2{max-width:800px}
.detail-card .card-body{padding:34px;display:flex;flex-direction:column;align-items:flex-start}.detail-card h2{font-size:1.5rem;line-height:1.3;margin-bottom:18px}.detail-card p{color:#5d6c80;font-size:16px}.detail-card .card-intro{color:var(--navy);font-weight:500}.detail-card .service-icon{margin-bottom:24px}.check-list{padding:0;list-style:none;margin:2px 0 24px}.check-list li{display:flex;align-items:flex-start;gap:11px;margin:12px 0;font-size:15px}.check-list svg{color:var(--petrol);margin-top:3px}
.inline-note{margin-top:55px;padding:34px;border-radius:10px;background:var(--pale)}.inline-note h2{font-size:1.65rem;margin-bottom:18px}.inline-note p{max-width:78ch;color:#526177}.technology-group{padding:28px;border:1px solid #d4dfe9;border-radius:10px;height:100%}.technology-group h3{margin-bottom:18px}.technology-group p{color:#526177;margin:0;font-size:16px}.reading-copy{max-width:65ch;color:#5d6c80;margin-top:25px}
.editorial-image{margin:0}.editorial-image img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:10px}.editorial-image figcaption{font-size:14px;color:#5d6c80;margin-top:12px}
.portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:45px}.portfolio-filters{display:flex;flex-wrap:wrap;gap:10px}.filter-button{padding:12px 22px;min-height:46px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;font-size:15px}.filter-button:hover{border-color:var(--petrol);color:var(--petrol)}.filter-button.active{background:var(--petrol);border-color:var(--petrol);color:white}.portfolio-count{margin:0;font-size:14px;color:#5d6c80;white-space:nowrap}.portfolio-empty{padding:30px;background:var(--pale);border-radius:10px}.project-card h3{line-height:1.4}.project-preview:focus-visible{outline-offset:4px}

.footer-main{display:grid;grid-template-columns:1.25fr .8fr .8fr 1.15fr;gap:42px;padding:15px 0 10px}.footer-main p{margin:22px 0 0;font-size:14px;color:#5d6c80}.footer-main nav,.footer-address{display:flex;flex-direction:column;align-items:flex-start}.footer-main strong{font-size:15px;color:var(--navy);font-weight:600;margin:2px 0 13px}.footer-main nav a,.footer-address a{display:inline-flex;align-items:center;min-height:44px;color:#526177;font-size:14px;text-decoration:none;overflow-wrap:anywhere}.footer-main nav a:hover,.footer-address a:hover{color:var(--petrol);text-decoration:underline}.footer-address span{font-size:14px;color:#5d6c80;margin-top:10px}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:25px}.footer-bottom a{color:#526177;display:inline-flex;min-height:44px;align-items:center}.footer-bottom>span{padding-top:7px}
.legal-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(260px,1fr);gap:90px;align-items:start}.legal-copy{font-size:17px;line-height:1.85;overflow-wrap:anywhere}.legal-copy h2{font-size:1.5rem;margin:42px 0 20px}.legal-copy h2:first-child{margin-top:0}.legal-copy address{font-style:normal}.legal-aside{padding:30px;background:var(--pale);border-radius:10px}.legal-aside h2{font-size:1.3rem;margin-bottom:20px}.legal-aside p{color:#526177;font-size:16px}.legal-aside nav{display:flex;flex-direction:column;gap:6px}.legal-aside nav a{display:flex;align-items:center;min-height:44px}
.contact-form{margin-top:32px}.form-intro{font-size:14px;color:#5d6c80;margin-top:18px}.form-label{color:var(--navy);font-weight:500;font-size:16px;margin-bottom:10px}.form-control{padding:14px 16px;border-color:#cdd7e3;border-radius:7px;background:#fff;font-size:16px;min-height:52px}.form-control:focus{border-color:var(--petrol);box-shadow:0 0 0 3px #08758020}.form-control.is-invalid{border-color:#ac3030}.field-help{color:#5d6c80;font-size:14px;margin:13px 0 0}.field-error{font-size:14px;color:#a02727;margin:12px 0 0}.privacy-check{display:flex;align-items:flex-start;gap:15px;padding:18px;background:var(--pale);border-radius:7px}.privacy-check input{width:22px;height:22px;flex-shrink:0;margin:3px 0 0;border-color:#8094aa}.privacy-check label{font-size:15px;line-height:1.75}.form-check-input:checked{background-color:var(--petrol);border-color:var(--petrol)}.form-feedback{padding:26px;margin:25px 0;border-radius:9px}.form-feedback h2{font-size:1.7rem;margin-bottom:18px}.form-feedback h3{margin-bottom:18px}.form-feedback ul{margin-bottom:0;padding-left:22px}.error-feedback{background:#fff1f0;color:#842525;border:1px solid #ebc3c0}.error-feedback a{color:#842525}.success-feedback{background:#eaf4ef;border:1px solid #c7dfd1}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-aside{background:var(--pale);padding:32px;border-radius:10px}.contact-aside>img{border-radius:50%;object-fit:cover;margin-bottom:24px}.contact-aside h2{font-size:1.4rem;margin-bottom:12px}.contact-aside>p,.contact-aside address{font-size:15px;color:#526177}.contact-aside address{margin:25px 0}.contact-aside>a{display:flex;align-items:center;gap:12px;min-height:44px;font-size:15px;overflow-wrap:anywhere}.contact-aside .map-link{margin-top:24px}.error-page{text-align:center;padding:110px 22px}.error-page h1{margin:15px 0 24px}.error-code{color:var(--petrol);font-size:18px}.error-page p{max-width:560px;margin:0 auto 28px}.error-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}
@media(min-width:1200px){.navbar-collapse{padding:0}}
@media(max-width:1199px){.navbar-collapse{padding:18px 0 24px}.nav-item .btn{margin-top:12px}}
@media(max-width:991px){.page-intro{padding:38px 0 48px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.legal-layout{grid-template-columns:1fr;gap:40px}.legal-aside{order:-1}.legal-aside nav{flex-direction:row;flex-wrap:wrap;gap:8px 22px}.expertise-columns{--bs-gutter-y:56px;row-gap:0!important}}
@media(max-width:575px){.page-intro p{font-size:17px}.detail-card .card-body{padding:26px}.portfolio-toolbar{flex-direction:column;align-items:flex-start;gap:20px}.filter-button{padding:12px 16px}.footer-main{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-main>div:first-child,.footer-address{grid-column:1/-1}.footer-bottom{gap:12px}.footer-bottom nav{gap:20px}.contact-aside{padding:25px}.contact-panel{gap:25px}.inline-note{padding:26px}.legal-copy{font-size:16px}.privacy-check{padding:16px}}
