/* Shared Contact, Blog and article layout. */
.editorial-hero{padding:158px 0 76px;background:linear-gradient(115deg,#071c45 5%,#093a96 78%,#0649eb);color:#fff}
.contact-page .editorial-hero{background:linear-gradient(90deg,#071c45d9 0%,#071c4590 48%,#071c4526 100%),url('/assets/contact-hero-background.webp') center/cover no-repeat}
.blog-page .blog-hero{background:linear-gradient(90deg,#071c45df 0%,#071c458c 50%,#071c4524 100%),url('/assets/blog-hero-background.webp') center/cover no-repeat}
.editorial-hero h1{font-size:clamp(2.6rem,4.7vw,4.6rem);font-weight:600;line-height:1.1;letter-spacing:-.045em;max-width:950px;text-wrap:balance}
.editorial-hero h1 span{color:var(--cyan)}
.editorial-hero p:not(.eyebrow){color:#cadcf4;font-size:1.0625rem;line-height:1.8}
.editorial-page .eyebrow{font-size:.8125rem;margin-bottom:20px}
.editorial-page h2{font-size:clamp(1.9rem,2.8vw,2.65rem);font-weight:600;line-height:1.18;letter-spacing:-.035em}
.editorial-page .site-header #main-nav a[aria-current]{color:var(--cyan)}
.editorial-page .site-header.scrolled #main-nav a[aria-current]{color:var(--cobalt)}
.contact-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end}
.contact-hero-grid>p{max-width:520px;padding-bottom:4px}
.contact-main{padding:76px 0 90px;background:#f3f8ff}
.contact-main-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,90px);align-items:start}
.contact-conversation{padding-top:20px}
.contact-conversation>p:not(.eyebrow){font-size:1rem;line-height:1.85;max-width:430px;margin-top:26px}
.contact-direct{display:grid;gap:30px;margin-top:40px}
.contact-direct>div{display:flex;gap:16px;align-items:center}
.contact-detail-icon{display:block;width:46px;height:46px;padding:12px;border-radius:12px;background:#e4efff;color:var(--cobalt);flex-shrink:0}
.contact-detail-icon svg{width:100%;height:100%}
.contact-direct h3{font-size:.9375rem;font-weight:600;letter-spacing:0;margin-bottom:6px}
.contact-direct a{color:var(--cobalt);font-size:1rem;overflow-wrap:anywhere}
.contact-direct a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-note{display:flex;gap:16px;align-items:center;margin-top:46px;border-top:1px solid #d5e3f5;padding-top:28px}
.contact-note>span{width:32px;height:32px;color:var(--cobalt);flex-shrink:0}.contact-note svg{width:100%;height:100%}
.contact-note p{font-size:.9375rem;line-height:1.6;color:#456080}
.enquiry-card{background:#fff;border:1px solid #dce7f7;border-radius:16px;padding:clamp(26px,3.3vw,46px);box-shadow:0 22px 60px #0928570b;min-width:0}
.enquiry-card h2{font-size:clamp(1.65rem,2.3vw,2.1rem)}
.form-intro{margin-top:14px;font-size:1rem}.form-preview-note{font-size:.875rem;line-height:1.6;color:#345b8b;background:#edf5ff;padding:14px 16px;margin-top:24px;border-radius:6px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin-top:26px}
.form-grid label{display:block;font-size:.9375rem;font-weight:600;color:#18345e}
.form-grid label>span{display:inline}
.form-grid label .optional{font-size:.8125rem;font-weight:400;color:#73839b}
.form-grid input,.form-grid textarea,.form-grid select{display:block;margin-top:8px;font:inherit;font-weight:400;font-size:1rem;line-height:1.5;width:100%;min-width:0;padding:12px 14px;color:var(--ink);border:1px solid #cfdaea;border-radius:5px;background:#fbfdff;transition:border-color .2s,box-shadow .2s}
.form-grid input{min-height:49px}.form-grid select{min-height:49px}.form-grid textarea{resize:vertical;min-height:140px}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:2px solid #0649eb;outline-offset:2px;background:#fff}
.form-grid input::placeholder,.form-grid textarea::placeholder{color:#73839b;font-size:.9375rem}
.form-grid .form-control-with-icon{position:relative;display:block;margin-top:8px}
.form-grid .form-control-with-icon input,.form-grid .form-control-with-icon select,.form-grid .form-control-with-icon textarea{margin-top:0;padding-left:46px}
.form-input-icon{position:absolute;left:15px;top:50%;z-index:1;width:19px;height:19px;color:#607a9e;transform:translateY(-50%);pointer-events:none}
.form-input-icon svg{display:block;width:100%;height:100%;stroke-width:1.6}
.form-control-with-icon-textarea .form-input-icon{top:16px;transform:none}
.phone-field .techfinity-phone-input{display:block;width:100%;margin-top:8px;font-weight:400}
.phone-field .techfinity-phone-input input{margin-top:0}
.phone-field .iti__selected-country-primary{padding-inline:12px}
.phone-field .iti__selected-dial-code{color:#314968}
.iti__dropdown-content{font-weight:400;color:var(--ink);z-index:20}
.form-grid .form-field-error{display:block;margin-top:7px;color:#a72130;font-size:.8125rem;font-weight:400;line-height:1.4}
.form-wide{grid-column:1/-1}.form-privacy{font-size:.8125rem;line-height:1.7;margin-top:20px}.form-privacy a{text-decoration:underline;color:var(--cobalt);text-underline-offset:3px}
#enquiry-submit{margin-top:24px;border:0;width:100%}#enquiry-submit:disabled{opacity:.65;cursor:wait;transform:none}.form-error{margin-top:16px;color:#a72130;background:#fff3f4;padding:12px;border-radius:4px;font-size:.9375rem}
.enquiry-success{padding-block:50px;text-align:center}.enquiry-success:focus{outline:none}.success-icon{display:block;width:72px;height:72px;padding:19px;border-radius:50%;background:#e8f6f4;color:#087a69;margin:0 auto 28px}.success-icon svg{width:100%;height:100%}.enquiry-success p:not(.eyebrow){margin:20px auto 26px;max-width:400px;font-size:1rem;line-height:1.8}.enquiry-success .button{margin:6px}
.secondary-button{border:1px solid #a7c5ec;color:var(--cobalt);background:transparent}.secondary-button:hover{background:#eaf3ff}
.editorial-page [hidden]{display:none!important}
.office-section{padding:72px 0;background:#071c45;color:#fff}
.office-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end}.office-heading>p{color:#b9cde9;font-size:1rem;line-height:1.8;max-width:400px}
.office-map{position:relative;width:min(100%,1050px);margin:36px auto 0;aspect-ratio:3/2;background:#071c45;border-radius:16px;overflow:hidden;isolation:isolate}.office-map img{width:100%;height:100%;object-fit:cover}.office-map:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 75px 20px #071c45;pointer-events:none;z-index:0}
.map-pin{position:absolute;z-index:1;display:flex;align-items:center;gap:10px;transform:translateY(-50%)}.map-pin>span{flex:0 0 12px;width:12px;height:12px;background:#bff6ff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 6px #61ddff24,0 0 24px #74e2ff}.map-pin strong{font-size:.875rem;font-weight:600;background:#061631db;padding:7px 11px;border:1px solid #7ab5e13b;border-radius:4px;white-space:nowrap}.map-pin-uk{left:20.8%;top:23%}.map-pin-italy{left:34%;top:33%}.map-pin-uae{left:85.5%;top:71.2%;flex-direction:row-reverse;transform:translate(calc(-100% + 12px),-50%)}
.map-caption{position:absolute;left:24px;bottom:18px;color:#93aecf;font-size:.75rem;z-index:1}.office-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;padding:32px 0 0;margin:0;border-top:1px solid #7aa9dc30}.office-list li{display:flex;align-items:start;gap:18px}.office-list li>span{font-size:.8125rem;color:var(--cyan);padding-top:2px}.office-list h3{font-size:1.125rem;letter-spacing:-.015em;font-weight:600;line-height:1.4}.office-list p{font-size:.9375rem;color:#a7bddb;margin-top:5px}
.blog-hero p:not(.eyebrow){max-width:620px;margin-top:28px}.blog-feature-section{padding:64px 0;background:#f3f8ff}.blog-feature{display:grid;grid-template-columns:1.15fr 1fr;overflow:hidden;border:1px solid #dce7f7;border-radius:14px;background:#fff;box-shadow:0 16px 50px #0b2b6008}.blog-feature-image{display:block;min-height:460px;overflow:hidden}.blog-feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.blog-feature:hover .blog-feature-image img{transform:scale(1.025)}.blog-feature-copy{padding:clamp(30px,4vw,54px);align-self:center}.blog-feature h2{font-size:clamp(1.8rem,2.6vw,2.55rem);margin-bottom:22px}.blog-feature-copy>p:not(.eyebrow){line-height:1.8;font-size:1rem}.article-meta{display:block;font-size:.875rem;color:#70829c;margin-top:22px}.blog-feature-copy>.button{margin-top:30px}
.blog-latest{padding:64px 0 80px}.editorial-section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}.editorial-section-heading p{font-size:1rem}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.blog-card{border:1px solid #dce7f7;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:box-shadow .3s}.blog-card:hover{box-shadow:0 16px 48px #12386a12}.blog-card-image{aspect-ratio:16/9;overflow:hidden;display:block}.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.blog-card:hover img{transform:scale(1.03)}.blog-card-copy{padding:30px;display:flex;flex-direction:column;align-items:start;flex:1}.blog-card h3{font-size:1.65rem;font-weight:600;line-height:1.25;margin-bottom:18px}.blog-card-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8}.blog-card .article-meta{margin-top:auto;padding-top:22px}.article-link{font-size:.9375rem;font-weight:600;color:var(--cobalt);margin-top:24px;text-decoration:underline;text-underline-offset:5px}.blog-card h3 a:hover,.blog-feature h2 a:hover{color:var(--cobalt)}
.editorial-cta{padding:60px 0;background:var(--cobalt);color:#fff}.editorial-cta .container{display:flex;justify-content:space-between;gap:40px;align-items:center}.editorial-cta h2{color:#fff}.editorial-cta .button{flex-shrink:0}
.article-hero{padding-bottom:56px}.article-back{display:inline-block;color:#bdd8fb;font-size:.9375rem;margin-bottom:32px;text-decoration:underline;text-underline-offset:5px}.article-hero h1{font-size:clamp(2.4rem,4.3vw,4rem);max-width:950px}.article-hero .article-standfirst{max-width:780px;margin-top:26px}.article-byline{display:flex;align-items:center;gap:14px;margin-top:28px;color:#bcd2f0;font-size:.9375rem}.author-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#ffffff18}.article-cover{padding-top:40px}.article-cover>img{width:100%;height:clamp(240px,38vw,490px);object-fit:cover;object-position:center 40%;border-radius:12px}.article-layout{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.6fr);gap:clamp(40px,8vw,110px);padding:64px 0 80px;align-items:start}.article-contents{position:sticky;top:112px;padding-right:26px;border-right:1px solid #dce7f7}.article-contents nav{display:grid;gap:18px;margin-bottom:30px}.article-contents nav a{font-size:.9375rem;line-height:1.6;color:#4e6688}.article-contents nav a:hover{color:var(--cobalt)}.article-contents .button{font-size:.875rem;padding:12px 20px;min-height:48px}.article-body{max-width:760px}.article-body section{scroll-margin-top:115px;margin-bottom:42px}.article-body h2{font-size:clamp(1.6rem,2.3vw,2rem);margin-bottom:22px}.article-body p{font-size:1.0625rem;line-height:1.9;color:#50637f;margin-top:20px}.article-body p:first-of-type{margin-top:0}.article-endnote{padding:28px 32px;background:#edf5ff;border-left:3px solid var(--cobalt);border-radius:0 8px 8px 0}.article-endnote p{font-weight:600;color:var(--navy)}.article-endnote a{display:inline-block;margin-top:14px;color:var(--cobalt);text-decoration:underline;text-underline-offset:4px;font-size:1rem}.article-next{padding:56px 0;background:#f3f8ff}.article-next h2{max-width:800px;font-size:clamp(1.8rem,2.8vw,2.5rem)}.article-next h2 a:hover{color:var(--cobalt)}.article-next .article-link{display:inline-block}
@media(max-width:1000px){.contact-main-grid{gap:32px}.office-heading{gap:32px}.map-pin strong{font-size:.8125rem;padding:6px 9px}.blog-feature-image{min-height:420px}.article-layout{gap:40px;grid-template-columns:1fr 2fr}}
@media(max-width:800px){.editorial-hero{padding:122px 0 54px}.contact-page .editorial-hero{background-image:linear-gradient(90deg,#071c45f2,#071c45b8),url('/assets/contact-hero-background.webp');background-position:right center}.blog-page .blog-hero{background-image:linear-gradient(90deg,#071c45f2,#071c45b8),url('/assets/blog-hero-background.webp');background-position:right center}.contact-hero-grid,.contact-main-grid,.office-heading{grid-template-columns:1fr;gap:28px}.contact-main{padding:42px 0 52px}.contact-conversation{padding:0}.contact-conversation>p:not(.eyebrow){max-width:600px}.contact-direct{grid-template-columns:1fr 1fr;gap:22px}.contact-note{margin-top:28px}.office-section{padding:48px 0}.office-map{margin-top:20px}.office-list{gap:22px}.blog-feature{grid-template-columns:1fr}.blog-feature-image{min-height:0;aspect-ratio:16/9}.blog-feature-copy{padding:32px}.blog-feature-section,.blog-latest{padding-block:42px}.editorial-section-heading{align-items:start;flex-direction:column;gap:16px}.blog-card-copy{padding:24px}.blog-card h3{font-size:1.45rem}.editorial-cta{padding:44px 0}.article-layout{grid-template-columns:1fr;padding:40px 0 54px;gap:32px}.article-contents{position:static;border:0;border-bottom:1px solid #dce7f7;padding:0 0 28px}.article-contents nav{grid-template-columns:1fr 1fr;gap:12px 24px}.article-contents>.button{display:none}.article-cover{padding-top:28px}.article-next{padding:40px 0}}
@media(max-width:550px){.contact-direct{grid-template-columns:1fr}.enquiry-card{padding:26px 22px}.form-grid{grid-template-columns:1fr;gap:20px}.form-wide{grid-column:auto}.office-list{grid-template-columns:1fr;gap:26px;padding-top:24px}.office-map{aspect-ratio:3/2;margin-inline:calc(var(--gutter)*-1);width:calc(100% + var(--gutter)*2);border-radius:0}.map-pin{gap:6px}.map-pin strong{font-size:.6875rem;padding:4px 6px}.map-pin>span{width:8px;height:8px;flex-basis:8px;border-width:1px;box-shadow:0 0 0 4px #61ddff24}.map-pin-uk{top:21%}.map-pin-italy{top:38%}.map-pin-uae{transform:translate(calc(-100% + 8px),-50%)}.map-caption{font-size:.6875rem;left:24px;bottom:10px}.blog-grid{grid-template-columns:1fr}.editorial-cta .container{align-items:start;flex-direction:column;gap:28px}.article-contents nav{grid-template-columns:1fr;gap:10px}.article-endnote{padding:24px}.article-body p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.blog-feature-image img,.blog-card-image img,.blog-card,.form-grid input,.form-grid textarea,.form-grid select{transition:none}.blog-feature:hover img,.blog-card:hover img{transform:none}}

/* Honeypot stays outside the visible and keyboard form flow. */
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}
