/*
Theme Name: IDM Corporate
Theme URI: https://idigitalmarkets.com
Author: International Digital Markets
Description: Corporate technology consultancy theme for International Digital Markets.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: idm-corporate
*/

:root{--navy:#061b3d;--navy-2:#0a2d59;--blue:#087bc1;--cyan:#13c8ec;--ice:#edf7fb;--paper:#fff;--ink:#0a1f3a;--muted:#5c6b7c;--line:#d8e2ea;--sans:"Manrope",Arial,sans-serif;--serif:"Source Serif 4",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{height:auto;max-width:100%}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;width:1px}.screen-reader-text:focus{clip:auto!important;clip-path:none;background:#fff;color:#000;height:auto;left:1rem;padding:1rem;top:1rem;width:auto;z-index:9999}
.topbar{align-items:center;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;min-height:82px;padding:0 5vw;position:relative;z-index:10}.logo{align-items:center;display:flex;height:74px;overflow:hidden;width:250px}.logo img{display:block;width:250px}.primary-menu{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.primary-menu a{font-size:.82rem;font-weight:700}.primary-menu a:hover{color:var(--blue)}.nav-cta{background:var(--navy);color:#fff;font-size:.78rem;font-weight:800;justify-self:end;padding:.9rem 1.1rem}.nav-cta span{color:var(--cyan);margin-left:1.2rem}
.hero{background:var(--ice);display:grid;grid-template-columns:58% 42%;min-height:720px}.hero-copy{align-self:center;padding:7rem 5vw 8rem 7vw}.kicker{align-items:center;color:var(--blue);display:flex;font-size:.73rem;font-weight:800;gap:.7rem;letter-spacing:.13em;margin:0 0 2rem;text-transform:uppercase}.kicker:before{background:currentColor;content:"";height:2px;width:25px}.kicker.light{color:var(--cyan)}h1,h2{font-family:var(--serif);font-weight:480;letter-spacing:-.055em;line-height:.96;margin:0}h1{font-size:clamp(4.3rem,6.8vw,8.2rem);max-width:900px}h2{font-size:clamp(3.2rem,5.1vw,6rem)}em{color:var(--blue);font-weight:450}.hero-lead{color:#394c62;font-size:1.2rem;line-height:1.7;margin:2.7rem 0 2.3rem;max-width:720px}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.button{align-items:center;display:inline-flex;font-size:.78rem;font-weight:800;gap:2rem;justify-content:space-between;min-width:225px;padding:1.05rem 1.2rem;transition:transform .2s ease,box-shadow .2s ease}.button:hover{box-shadow:5px 5px 0 rgba(8,123,193,.2);transform:translate(-2px,-2px)}.primary{background:var(--navy);color:#fff}.primary span{color:var(--cyan)}.ghost{border:1px solid #aebdca}.ghost span{color:var(--blue)}
.hero-system{background:linear-gradient(145deg,#041631,#0a2d59 68%,#087bc1);color:#fff;min-height:720px;overflow:hidden;padding:3rem;position:relative}.hero-system:before{background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:40px 40px;content:"";inset:0;position:absolute}.system-label,.system-footer,.system-map{position:relative;z-index:1}.system-label small{color:var(--cyan);display:block;font-size:.68rem;font-weight:800;letter-spacing:.14em;margin-bottom:.75rem}.system-label strong{font-family:var(--serif);font-size:2rem;font-weight:450;line-height:1.1}.system-map{height:470px;margin-top:1rem}.map-ring{border:1px solid rgba(255,255,255,.25);border-radius:50%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ring-a{height:285px;width:285px}.ring-b{height:435px;width:435px}.map-core{align-items:center;background:radial-gradient(circle at 35% 30%,#5ce9ff,#13c8ec 45%,#087bc1);border:3px solid rgba(255,255,255,.7);border-radius:50%;box-shadow:0 0 60px rgba(19,200,236,.3);display:flex;font-size:1.1rem;font-weight:900;height:145px;justify-content:center;left:50%;letter-spacing:.14em;position:absolute;top:50%;transform:translate(-50%,-50%);width:145px}.map-node{align-items:center;background:#fff;border:4px solid #0a2d59;border-radius:50%;color:var(--navy);display:flex;font-size:.58rem;font-weight:900;height:78px;justify-content:center;letter-spacing:.06em;position:absolute;text-align:center;width:78px}.software{left:7%;top:20%}.hardware{right:5%;top:26%}.gis{bottom:4%;left:17%}.advisory{bottom:0;right:15%}.system-footer{border-top:1px solid rgba(255,255,255,.2);display:flex;font-size:.65rem;font-weight:700;justify-content:space-between;letter-spacing:.08em;padding-top:1rem;text-transform:uppercase}
.trustbar{align-items:center;background:var(--paper);border-bottom:1px solid var(--line);display:grid;gap:2rem;grid-template-columns:auto 1fr;padding:1.4rem 5vw}.trustbar p{font-size:.7rem;font-weight:900;letter-spacing:.12em;margin:0;text-transform:uppercase}.trustbar div{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.trustbar span{background:var(--ice);border:1px solid #deebf1;border-radius:999px;color:#4b5e71;font-size:.68rem;font-weight:700;padding:.4rem .68rem}.section{padding:8rem 7vw}.services{display:grid;gap:7vw;grid-template-columns:34% 1fr}.section-intro>p:last-child{color:var(--muted);line-height:1.75;margin-top:2rem;max-width:520px}.service-grid{background:var(--line);border:1px solid var(--line);display:grid;gap:1px;grid-template-columns:repeat(2,1fr)}.service-card{background:#fff;min-height:330px;padding:2rem}.card-head{align-items:center;color:var(--blue);display:flex;font-size:.7rem;font-weight:900;justify-content:space-between}.card-head i{background:var(--cyan);border-radius:50%;height:10px;width:10px}.service-card h3{font-family:var(--serif);font-size:2rem;font-weight:500;line-height:1.05;margin:4.5rem 0 1rem}.service-card p{color:#40536a;line-height:1.65;margin:0 0 1.4rem}.service-card small{border-top:1px solid var(--line);color:#6a7887;display:block;font-size:.75rem;line-height:1.6;padding-top:1rem}
.solutions{background:var(--navy);color:#fff}.solutions-heading{align-items:end;display:grid;gap:5vw;grid-template-columns:1.2fr .8fr;margin-bottom:5rem}.solutions h2 em{color:var(--cyan)}.solutions-heading>p{color:#b4c4d4;line-height:1.75;margin:0}.sector{border-top:1px solid rgba(255,255,255,.18);display:grid;gap:5vw;grid-template-columns:31% 1fr;padding:3rem 0}.sector:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.sector-title>span{color:var(--cyan);font-size:.68rem;font-weight:900;letter-spacing:.1em}.sector-title h3{font-family:var(--serif);font-size:2.25rem;font-weight:500;line-height:1.05;margin:1rem 0}.sector-title p{color:#aebfd0;font-size:.88rem;line-height:1.65;max-width:330px}.product-list{display:grid;gap:1px;grid-template-columns:repeat(2,1fr)}.product{align-items:start;background:rgba(255,255,255,.05);display:grid;gap:1rem;grid-template-columns:1fr auto;min-height:175px;padding:1.5rem;transition:background .2s ease}.product:hover{background:rgba(19,200,236,.11)}.product h4{font-size:.95rem;margin:0 0 .65rem}.product p{color:#aebfd0;font-size:.78rem;line-height:1.65;margin:0}.product small{color:var(--cyan);display:block;font-size:.68rem;margin-top:.8rem}.product>a{align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:var(--cyan);display:flex;height:34px;justify-content:center;width:34px}.product>a:hover{background:var(--cyan);color:var(--navy)}.product-dot{background:var(--cyan);border-radius:50%;height:8px;margin-top:.5rem;width:8px}
.focus{display:grid;grid-template-columns:repeat(2,1fr);padding:0}.focus-panel{min-height:650px;padding:6rem 7vw;position:relative}.focus-panel.bim{background:linear-gradient(145deg,#087bc1,#075292);color:#fff}.focus-panel.infrastructure{background:var(--ice)}.panel-number{font-family:var(--serif);font-size:8rem;opacity:.12;position:absolute;right:3rem;top:2rem}.focus-panel h2{font-size:clamp(3rem,4.2vw,5rem);margin-bottom:2rem;position:relative}.focus-panel p:not(.kicker){line-height:1.75;max-width:590px;opacity:.8}.focus-panel ul{display:grid;list-style:none;margin:2.5rem 0 0;padding:0}.focus-panel li{border-top:1px solid currentColor;font-size:.78rem;font-weight:800;opacity:.72;padding:.85rem 0}.focus-panel li:last-child{border-bottom:1px solid currentColor}.approach{display:grid;gap:7vw;grid-template-columns:37% 1fr}.approach ol{list-style:none;margin:0;padding:0}.approach li{border-top:1px solid var(--line);display:grid;gap:1.5rem;grid-template-columns:55px 1fr;padding:1.6rem 0}.approach li:last-child{border-bottom:1px solid var(--line)}.approach li>span{color:var(--blue);font-size:.7rem;font-weight:900}.approach h3{font-family:var(--serif);font-size:1.6rem;font-weight:500;margin:0}.approach li p{color:var(--muted);font-size:.88rem;margin:.3rem 0 0}.contact{align-items:end;background:linear-gradient(135deg,#041631,#0a2d59 65%,#087bc1);color:#fff;display:grid;gap:7vw;grid-template-columns:1.2fr .8fr;padding:8rem 7vw}.contact h2 em{color:var(--cyan)}.contact-copy>p{color:#bfd0df;line-height:1.75;margin:0 0 2rem;max-width:520px}.contact-button{background:#fff;color:var(--navy);min-width:300px}.contact-button span{color:var(--blue)}.phone{display:block;font-size:.82rem;font-weight:800;margin-top:1.3rem}.site-footer{align-items:center;background:#031126;color:#fff;display:grid;font-size:.68rem;grid-template-columns:1fr auto 1fr;padding:2rem 5vw}.footer-brand{align-items:center;display:flex;gap:.7rem}.footer-brand strong{align-items:center;background:var(--cyan);border-radius:50%;color:var(--navy);display:flex;font-size:.62rem;height:38px;justify-content:center;width:38px}.footer-brand span{font-weight:800}.site-footer p{color:#8fa5b9;margin:0;text-align:center}.site-footer p:last-child{text-align:right}.content-page{margin:auto;max-width:900px;min-height:65vh;padding:7rem 6vw}.content-page h1{font-size:clamp(3rem,6vw,5.5rem);margin-bottom:2rem}.content-page a{color:var(--blue);text-decoration:underline}
@media(max-width:1000px){.topbar{grid-template-columns:1fr auto}.primary-menu{display:none}.hero{grid-template-columns:1fr}.hero-system{min-height:640px}.services,.solutions-heading,.contact{grid-template-columns:1fr}.sector{grid-template-columns:1fr}.focus{grid-template-columns:1fr}.approach{grid-template-columns:1fr}}
@media(max-width:650px){.topbar{min-height:70px;padding:0 5vw}.logo{height:66px;width:185px}.logo img{width:185px}.nav-cta{font-size:0;padding:.8rem}.nav-cta span{font-size:1rem;margin:0}.hero-copy{padding:5rem 6vw 6rem}h1{font-size:3.9rem}.hero-lead{font-size:1.03rem}.hero-actions{align-items:stretch;flex-direction:column}.button{min-width:0}.hero-system{min-height:540px;padding:2rem 6vw}.system-map{height:370px}.ring-a{height:230px;width:230px}.ring-b{height:340px;width:340px}.map-core{height:115px;width:115px}.map-node{height:62px;width:62px}.trustbar{grid-template-columns:1fr}.trustbar div{justify-content:flex-start}.section{padding:6rem 6vw}.service-grid,.product-list{grid-template-columns:1fr}.service-card{min-height:290px}.focus-panel{min-height:580px;padding:5rem 6vw}.contact{padding:6rem 6vw}.contact-button{min-width:0}.site-footer{gap:1.5rem;grid-template-columns:1fr;text-align:center}.site-footer p,.site-footer p:last-child{text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.product{transition:none}}
.contact-button span{color:var(--blue)}

/* Refined site chrome */
html,body{max-width:100%;overflow-x:clip}
.topbar{background:rgba(255,255,255,.94);border-bottom:1px solid rgba(6,27,61,.1);display:block;min-height:76px;padding:0 4vw;position:sticky;top:0;backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(6,27,61,.04)}
.topbar-inner{align-items:center;display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(200px,1fr);height:76px;margin:0 auto;max-width:1480px}
.logo{display:block;height:64px;overflow:hidden;width:230px}
.logo-frame{display:block;height:64px;overflow:hidden;position:relative;width:230px}
.logo-frame img{height:auto!important;left:0;margin:0!important;max-width:none;position:absolute;top:-34px;width:230px!important}
.primary-menu{align-items:center;background:#f4f8fb;border:1px solid #e4edf3;border-radius:999px;gap:.2rem;padding:.28rem}
.primary-menu li{margin:0}.primary-menu a{border-radius:999px;color:#32475d;display:block;font-size:.76rem;font-weight:750;padding:.62rem .85rem;transition:background .2s,color .2s}.primary-menu a:hover{background:#fff;color:var(--blue);box-shadow:0 2px 10px rgba(6,27,61,.06)}
.nav-cta{align-items:center;background:var(--navy);border-radius:999px;display:inline-flex;gap:.85rem;justify-self:end;padding:.42rem .45rem .42rem 1rem;transition:background .2s,transform .2s}.nav-cta:hover{background:var(--blue);transform:translateY(-1px)}.nav-cta .cta-label{color:#fff;margin:0}.nav-cta .cta-icon{align-items:center;background:var(--cyan);border-radius:50%;color:var(--navy);display:flex;height:30px;justify-content:center;margin:0;width:30px}
.site-footer{background:#031126;color:#fff;display:block;font-size:1rem;padding:0}
.footer-main{display:grid;gap:5vw;grid-template-columns:1.45fr .65fr 1fr 1.1fr;margin:0 auto;max-width:1480px;padding:5.5rem 5vw 4rem}
.footer-identity{max-width:350px}.footer-brand{align-items:center;display:flex;gap:1rem}.footer-brand strong{align-items:center;background:linear-gradient(145deg,var(--cyan),var(--blue));border-radius:14px;color:#fff;display:flex;font-size:.8rem;height:52px;justify-content:center;letter-spacing:.04em;width:52px}.footer-brand span{color:#fff;font-size:.95rem;font-weight:800;letter-spacing:.01em;line-height:1.2}.footer-identity>p{color:#8fa5b9;font-size:.82rem;line-height:1.75;margin:1.6rem 0 0}
.footer-column{display:flex;flex-direction:column;gap:.7rem}.footer-column h2{color:var(--cyan);font-family:var(--sans);font-size:.67rem;font-weight:800;letter-spacing:.14em;line-height:1;margin:0 0 .75rem;text-transform:uppercase}.footer-column a,.footer-column span{color:#a9bbcb;font-size:.78rem}.footer-column a:hover{color:#fff}
.footer-contact{border-left:1px solid rgba(255,255,255,.13);padding-left:2rem}.footer-contact p{color:#fff;font-family:var(--serif);font-size:1.55rem;line-height:1.25;margin:0 0 1.6rem;text-align:left}.footer-contact a{align-items:center;border-bottom:1px solid rgba(255,255,255,.3);color:var(--cyan);display:flex;font-size:.74rem;font-weight:800;justify-content:space-between;padding-bottom:.8rem}.footer-contact a:hover{border-color:var(--cyan)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;margin:0 5vw;padding:1.3rem 0}.site-footer .footer-bottom p{color:#71889c;font-size:.65rem;letter-spacing:.05em;margin:0;text-align:left;text-transform:uppercase}
@media(max-width:1000px){.topbar-inner{grid-template-columns:1fr auto}.topbar nav{display:none}.footer-main{grid-template-columns:1.2fr 1fr 1fr}.footer-contact{border-left:0;border-top:1px solid rgba(255,255,255,.13);grid-column:1/-1;padding:2rem 0 0}}
@media(max-width:650px){.topbar{min-height:68px;padding:0 5vw}.topbar-inner{height:68px}.logo,.logo-frame{height:58px;width:190px}.logo-frame img{top:-28px;width:190px!important}.nav-cta{padding:.38rem}.nav-cta .cta-label{display:none}.nav-cta .cta-icon{height:32px;width:32px}.footer-main{gap:2.5rem;grid-template-columns:1fr 1fr;padding:4rem 6vw 3rem}.footer-identity,.footer-contact{grid-column:1/-1}.footer-contact{padding-top:2rem}.footer-bottom{align-items:flex-start;flex-direction:column;gap:.7rem;margin:0 6vw}.site-footer .footer-bottom p{text-align:left}}

/* Business capabilities */
.capabilities{background:#f5f9fb}.capabilities-heading{align-items:end;display:grid;gap:7vw;grid-template-columns:1.1fr .9fr;margin-bottom:4rem}.capabilities-heading>p{color:var(--muted);line-height:1.75;margin:0;max-width:600px}.capability-grid{border-left:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.capability-card{background:#fff;border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:290px;padding:2rem;position:relative}.capability-card>span{color:var(--blue);font-size:.68rem;font-weight:900;letter-spacing:.1em}.capability-card h3{font-family:var(--serif);font-size:1.75rem;font-weight:500;line-height:1.08;margin:3rem 0 1rem}.capability-card p{color:#40536a;font-size:.9rem;line-height:1.65;margin:0 0 1.2rem}.capability-card small{color:#708093;font-size:.68rem;font-weight:700;letter-spacing:.03em}.business-strip{align-items:center;background:var(--navy);color:#fff;display:grid;gap:2rem;grid-template-columns:auto 1fr;margin-top:2rem;padding:1.25rem 1.5rem}.business-strip p{color:var(--cyan);font-size:.68rem;font-weight:900;letter-spacing:.12em;margin:0;text-transform:uppercase}.business-strip div{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.business-strip span{border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.7rem;font-weight:700;padding:.45rem .75rem}
@media(max-width:1000px){.capabilities-heading{grid-template-columns:1fr}.capability-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.capability-grid{grid-template-columns:1fr}.capability-card{min-height:0}.business-strip{align-items:flex-start;grid-template-columns:1fr}.business-strip div{justify-content:flex-start}}
