/*
Theme Name: HornLink Global Procurements
Theme URI: https://example.com/
Author: HornLink Global Procurements
Description: Corporate procurement website for HornLink Global Procurements.
Version: 3.1.0
Requires at least: 6.0
Tested up to: 6.8
License: GPL-2.0-or-later
Text Domain: hornlink-global-procurements
*/

@import url('https://fonts.googleapis.com/css2?family=Amethysta&family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --navy:#053881;
  --navy-deep:#032b63;
  --cyan:#07A0B4;
  --gold:#dca83e;
  --ink:#10213f;
  --muted:#64748b;
  --line:#e4eaf1;
  --soft:#f5f8fb;
  --white:#fff;
  --radius:18px;
  --shadow:0 20px 60px rgba(16,33,63,.10);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Inter,Arial,sans-serif; color:var(--ink); background:#fff; line-height:1.65; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
.container { width:min(1180px,calc(100% - 48px)); margin:auto; }
.eyebrow { color:var(--cyan); font-size:11px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { letter-spacing:-.045em; }
h1 { font-size:clamp(48px,6.8vw,82px); line-height:.98; margin:18px 0 25px; }
h2 { font-size:clamp(36px,5vw,58px); line-height:1.04; margin:10px 0 18px; }
h3 { line-height:1.2; }
.btn { display:inline-flex; align-items:center; gap:10px; padding:14px 20px; border-radius:8px; font-weight:700; font-size:14px; transition:.2s; }
.btn-primary { background:var(--gold); color:var(--navy-deep); }
.btn-primary:hover { transform:translateY(-2px); }
.btn-outline { border:1px solid rgba(255,255,255,.28); color:#fff; }
.btn-outline:hover { background:rgba(255,255,255,.08); }
.topbar { background:var(--navy-deep); color:#d9e7f8; font-size:12px; }
.topbar .container { display:flex; justify-content:space-between; gap:20px; padding:9px 0; }
.header { position:sticky; top:0; z-index:30; background:rgba(255,255,255,.94); backdrop-filter:blur(16px); border-bottom:1px solid rgba(228,234,241,.8); }
.nav { height:78px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:12px; min-width:0; }
.brand img { width:58px; height:58px; max-width:none; max-height:58px; flex:0 0 58px; object-fit:contain; object-position:center; padding:3px; }
.brand-text { line-height:1.1; }
.brand-name { font-family:Amethysta,Georgia,serif; font-size:13px; letter-spacing:.04em; color:var(--navy); }
.brand-tag { font-size:9px; letter-spacing:.24em; color:var(--cyan); margin-top:4px; }
.navlinks { display:flex; align-items:center; gap:27px; font-size:13px; font-weight:600; color:#33425d; }
.navlinks a:hover { color:var(--navy); }
.nav-cta { padding:10px 16px; border-radius:7px; background:var(--navy); color:#fff; }
.hero { background:var(--navy); color:#fff; overflow:hidden; position:relative; }
.hero:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 75% 20%,rgba(7,160,180,.18),transparent 34%), linear-gradient(115deg,rgba(3,43,99,.96),rgba(5,56,129,.86)); }
.hero .container { position:relative; min-height:690px; display:grid; grid-template-columns:1.03fr .97fr; gap:70px; align-items:center; padding:78px 0; }
.hero-copy { max-width:650px; }
.hero .eyebrow { color:#78d4df; }
.hero h1 span { color:#8ddde5; }
.hero-lead { color:#dce8f7; font-size:18px; max-width:590px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero-meta { display:flex; gap:30px; margin-top:42px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); }
.meta strong { display:block; font-size:17px; color:#fff; }
.meta span { font-size:11px; color:#aebfd4; }
.hero-media { position:relative; }
.hero-image { border-radius:18px; overflow:hidden; box-shadow:0 35px 80px rgba(0,0,0,.32); }
.hero-image img { width:100%; height:540px; object-fit:cover; }
.hero-badge { position:absolute; left:-30px; bottom:35px; width:210px; background:#fff; color:var(--ink); border-radius:12px; padding:20px; box-shadow:var(--shadow); }
.hero-badge small { color:var(--cyan); font-weight:800; letter-spacing:.12em; text-transform:uppercase; font-size:9px; }
.hero-badge strong { display:block; margin-top:7px; font-size:18px; }
.section { padding:105px 0; }
.section-soft { background:var(--soft); }
.section-dark { background:var(--navy); color:#fff; }
.section-head { display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:end; margin-bottom:55px; }
.section-head p { color:var(--muted); max-width:600px; margin-bottom:0; }
.dark-copy p { color:#d5e1ef; }
.about-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:center; }
.image-card { position:relative; }
.image-card img { width:100%; height:480px; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); }
.image-card .accent { position:absolute; width:110px; height:110px; border:12px solid var(--cyan); border-radius:50%; right:-28px; bottom:-28px; opacity:.9; }
.about-copy h3 { font-size:28px; margin-bottom:16px; }
.about-copy p { color:var(--muted); }
.check-list { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:12px; }
.check-list li { display:flex; gap:12px; align-items:flex-start; font-size:14px; }
.check { flex:0 0 24px; width:24px; height:24px; border-radius:50%; background:#e4f5f7; color:var(--cyan); display:grid; place-items:center; font-weight:800; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.service { background:#fff; border:1px solid var(--line); border-radius:14px; padding:27px; min-height:245px; transition:.2s; }
.service:hover { transform:translateY(-5px); box-shadow:var(--shadow); border-color:#cbd7e5; }
.service-num { font-size:11px; font-weight:800; color:var(--cyan); letter-spacing:.15em; }
.service h3 { font-size:18px; margin:28px 0 11px; }
.service p { color:var(--muted); font-size:13px; }
.process { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); }
.step { padding:28px 25px 30px; border-right:1px solid rgba(255,255,255,.12); }
.step:last-child { border-right:0; }
.step-num { color:#75d1dc; font-size:12px; font-weight:800; }
.step h3 { margin:12px 0 8px; font-size:16px; }
.step p { color:#b9cbe0; font-size:12px; margin:0; }
.mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:55px; }
.mission-card { padding:35px; border:1px solid rgba(255,255,255,.14); border-radius:15px; background:rgba(255,255,255,.045); }
.mission-card h3 { color:#86dbe3; font-size:13px; text-transform:uppercase; letter-spacing:.18em; }
.mission-card p { color:#d9e5f2; margin:0; }
.philosophy-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.philo { padding:25px 20px; border:1px solid var(--line); border-radius:13px; }
.philo strong { display:block; color:var(--navy); font-size:14px; margin-bottom:8px; }
.philo span { color:var(--muted); font-size:12px; }
.trust-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:center; }
.trust-photo { position:relative; }
.trust-photo img { height:510px; width:100%; object-fit:cover; border-radius:var(--radius); }
.trust-photo .mini { position:absolute; left:-24px; bottom:28px; width:180px; height:145px; object-fit:cover; border:8px solid #fff; border-radius:12px; box-shadow:var(--shadow); }
.trust-columns { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.trust-columns h3 { font-size:16px; color:var(--navy); }
.trust-columns ul { list-style:none; padding:0; margin:0; }
.trust-columns li { padding:11px 0; border-bottom:1px solid var(--line); font-size:13px; color:var(--muted); }
.cta { background:linear-gradient(110deg,var(--navy-deep),var(--navy)); color:#fff; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.cta h2 { margin-bottom:10px; }
.cta p { color:#cbd9e9; margin:0; max-width:620px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.contact-photo img { width:100%; height:390px; object-fit:cover; border-radius:var(--radius); }
.contact-details { display:grid; gap:16px; margin-top:28px; }
.contact-item { padding:18px 20px; border:1px solid var(--line); border-radius:10px; }
.contact-item small { display:block; color:var(--cyan); text-transform:uppercase; letter-spacing:.13em; font-size:9px; font-weight:800; }
.contact-item strong { display:block; margin-top:4px; font-size:14px; }
.footer { background:#021f49; color:#9fb2ca; padding:35px 0; font-size:11px; }
.footer .container { display:flex; justify-content:space-between; gap:20px; }

/* Visual icon system */
.brand { min-width:0; }
.brand img { width:58px; height:58px; max-width:none; max-height:58px; flex:0 0 58px; object-fit:contain; object-position:center; padding:3px; }
.icon-box { width:50px; height:50px; border-radius:14px; display:grid; place-items:center; background:#e9f7f9; color:var(--cyan); margin-bottom:20px; }
.icon-box svg { width:25px; height:25px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.service .icon-box { margin-bottom:17px; }
.service h3 { margin:0 0 11px; }
.step { position:relative; }
.step-icon { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:rgba(7,160,180,.14); color:#8de0e8; margin:0 0 17px; }
.step-icon svg { width:23px; height:23px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.step-num { display:none; }
.philo { position:relative; overflow:hidden; }
.philo-icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:#edf8fa; color:var(--cyan); margin-bottom:17px; }
.philo-icon svg { width:21px; height:21px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.contact-item { display:flex; align-items:center; gap:15px; }
.contact-icon { flex:0 0 42px; width:42px; height:42px; border-radius:11px; display:grid; place-items:center; background:#edf8fa; color:var(--cyan); }
.contact-icon svg { width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.contact-item small, .contact-item strong { margin-left:0; }
.contact-item > div:last-child { min-width:0; }
@media(max-width:600px){ .brand img{width:50px;height:50px;max-height:50px;flex-basis:50px;padding:2px;} }

@media(max-width:980px) {
  .navlinks { display:none; }
  .hero .container,.about-grid,.trust-layout,.contact-grid,.section-head { grid-template-columns:1fr; }
  .hero .container { padding:65px 0; }
  .hero-media { max-width:680px; }
  .hero-badge { left:18px; }
  .service-grid { grid-template-columns:1fr 1fr; }
  .process { grid-template-columns:1fr 1fr; }
  .step:nth-child(2) { border-right:0; }
  .step:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
  .philosophy-grid { grid-template-columns:1fr 1fr; }
  .cta-inner { align-items:flex-start; flex-direction:column; }
}
@media(max-width:600px) {
  .container { width:min(100% - 32px,1180px); }
  .topbar .container { display:none; }
  .hero .container { min-height:auto; }
  .hero-image img { height:420px; }
  .hero-meta { gap:16px; flex-wrap:wrap; }
  .service-grid,.process,.mission-grid,.philosophy-grid,.trust-columns { grid-template-columns:1fr; }
  .step { border-right:0 !important; border-bottom:1px solid rgba(255,255,255,.12); }
  .step:last-child { border-bottom:0; }
  .section { padding:75px 0; }
  .footer .container { flex-direction:column; }
}

/* Final corporate polish */
.hero, .section-dark, .cta { position:relative; }
.service, .philo, .mission-card, .contact-item { transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.service:hover, .philo:hover, .contact-item:hover { transform:translateY(-3px); box-shadow:0 16px 42px rgba(16,33,63,.08); }
.page-hero:after { content:""; position:absolute; width:280px; height:280px; border:1px solid rgba(141,221,229,.16); border-radius:50%; right:7%; top:20%; box-shadow:0 0 0 34px rgba(141,221,229,.035), 0 0 0 68px rgba(141,221,229,.02); pointer-events:none; }
.page-hero .container { position:relative; z-index:1; }
.footer a { color:#d7e5f5; }

/* Editable WordPress pages + mobile navigation */
.screen-reader-text { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.navlinks .menu-item { list-style:none; }
.navlinks ul { display:flex; align-items:center; gap:27px; margin:0; padding:0; list-style:none; }
.navlinks li { margin:0; padding:0; }
.navlinks li a { display:block; }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); background:#fff; border-radius:10px; padding:9px; cursor:pointer; }
.menu-toggle span { display:block; height:2px; margin:5px 0; background:var(--navy); border-radius:2px; }
.page-shell { background:#fff; }
.page-hero { background:linear-gradient(120deg,var(--navy-deep),var(--navy)); color:#fff; padding:95px 0 80px; }
.page-hero h1 { max-width:850px; margin-bottom:0; }
.narrow-content { max-width:900px; }
.editable-page { min-height:55vh; }
.editable-page .wp-block-image { margin:35px 0; }
.editable-page .wp-block-image img { width:100%; max-height:520px; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); }
.editable-page h2 { margin-top:55px; }
.editable-page h3 { margin-top:35px; color:var(--navy); }
.editable-page p, .editable-page li { color:var(--muted); }
.editable-page ul, .editable-page ol { padding-left:22px; }
.editable-page .wp-block-buttons { margin-top:28px; }
.editable-page .wp-block-button__link { border-radius:8px; background:var(--gold); color:var(--navy-deep); font-weight:700; }
.editable-page .is-style-outline .wp-block-button__link { background:transparent; border:1px solid var(--navy); color:var(--navy); }
.wp-block-editor { font-family:Inter,Arial,sans-serif; }
.home-links .service { display:block; color:inherit; }
.unique-icon { font-size:24px; font-weight:800; color:var(--cyan); }
.hero .hero-copy > .wp-block-image { display:none; }
.hero .hero-copy h1 { font-size:clamp(48px,6.8vw,82px); color:#fff; }
.hero .hero-copy h1 span { color:#8ddde5; }
.hero .hero-copy .wp-block-buttons { margin-top:30px; }
.hero .hero-copy .wp-block-paragraph, .hero .hero-copy p { color:#dce8f7; }

@media (max-width:980px) {
  .menu-toggle { display:block; }
  .navlinks { position:absolute; left:16px; right:16px; top:calc(100% + 8px); display:none; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); padding:10px; }
  .navlinks.is-open { display:block; }
  .navlinks ul { display:block; }
  .navlinks li a { padding:12px 14px; border-radius:8px; }
  .navlinks li a:hover { background:var(--soft); }
  .navlinks .nav-cta { margin-top:5px; text-align:center; }
  .header .container { position:relative; }
  .page-hero { padding:70px 0 60px; }
}
@media (max-width:600px) {
  .brand img { width:50px; height:50px; max-height:50px; flex-basis:50px; padding:2px; }
  .brand-name { font-size:11px; }
  .brand-tag { font-size:8px; letter-spacing:.18em; }
  .hero .container { gap:38px; }
  .hero .hero-copy h1 { font-size:clamp(40px,12vw,58px); }
  .hero-lead { font-size:16px; }
  .hero-image img { height:320px; }
  .hero-badge { width:185px; padding:16px; left:10px; bottom:20px; }
  .page-hero h1 { font-size:clamp(40px,12vw,58px); }
  .editable-page { padding-top:55px; padding-bottom:55px; }
  .editable-page .wp-block-image img { max-height:330px; }
  .topbar { display:none; }
}


/* Final mobile navigation stability */
@media (max-width:980px) {
  body.mobile-menu-open { overflow:hidden; }
  .header { z-index:1000; }
  .header .container { position:relative; }
  .menu-toggle { position:relative; z-index:1003; flex:0 0 44px; }
  .mobile-nav-backdrop { display:none; position:fixed; inset:0; z-index:1000; background:rgba(2,31,73,.30); backdrop-filter:blur(2px); }
  .mobile-nav-backdrop.is-visible { display:block; }
  .navlinks { position:fixed; z-index:1002; left:12px; right:12px; top:calc(78px + var(--wp-admin--admin-bar--height, 0px)); width:auto; max-height:calc(100dvh - 92px); overflow-y:auto; overscroll-behavior:contain; display:none; margin:0; padding:8px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 22px 60px rgba(3,43,99,.20); }
  .navlinks.is-open { display:block; }
  .navlinks ul { display:block !important; width:100%; margin:0; padding:0; }
  .navlinks li { display:block; width:100%; margin:0 !important; padding:0 !important; }
  .navlinks li a, .navlinks > a { display:flex; align-items:center; min-height:48px; width:100%; padding:12px 14px; border-radius:10px; font-size:14px; line-height:1.2; }
  .navlinks li a:hover, .navlinks > a:hover { background:var(--soft); }
  .navlinks .nav-cta { margin:5px 0 2px; justify-content:center; background:var(--navy); color:#fff; }
  .navlinks .sub-menu { display:block; position:static; width:auto; padding:0 0 0 10px; margin:0; box-shadow:none; border:0; }
  .navlinks .sub-menu a { font-size:13px; }
}
@media (max-width:600px) {
  .nav { min-height:76px; height:76px; }
  .brand { max-width:calc(100% - 58px); }
  .brand img { width:48px; height:54px; flex-basis:48px; padding:0; }
  .brand-name { font-size:10px; letter-spacing:.025em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .brand-tag { font-size:7px; letter-spacing:.16em; white-space:nowrap; }
  .navlinks { top:calc(76px + var(--wp-admin--admin-bar--height, 0px)); max-height:calc(100dvh - 90px); }
  .navlinks li a, .navlinks > a { min-height:50px; }
}


/* ============================================================
   HORNLINK FUTURISTIC CORPORATE LAYER 3.1
   Visual enhancement only: preserves WordPress-editable content.
   ============================================================ */
:root{
  --hl-cyan-bright:#35e5f2;
  --hl-cyan-soft:rgba(7,160,180,.16);
  --hl-glow:0 0 28px rgba(53,229,242,.18);
  --hl-glass:rgba(255,255,255,.065);
  --hl-grid:rgba(125,216,226,.075);
}

/* Global technical atmosphere */
body{
  background:
    radial-gradient(circle at 8% 12%,rgba(7,160,180,.035),transparent 28%),
    radial-gradient(circle at 92% 78%,rgba(3,56,129,.045),transparent 30%),
    #fff;
}
.header{
  background:rgba(3,20,48,.92);
  border-bottom:1px solid rgba(53,229,242,.16);
  box-shadow:0 10px 35px rgba(2,31,73,.12);
}
.header .brand-name{color:#fff;}
.header .brand-tag{color:#67dbe5;}
.navlinks{color:#d7e7f5;}
.navlinks a{color:#d7e7f5;}
.navlinks a:hover{color:var(--hl-cyan-bright);}
.nav-cta{
  background:linear-gradient(135deg,var(--cyan),#087d9a);
  box-shadow:0 0 0 1px rgba(53,229,242,.18),0 8px 24px rgba(7,160,180,.24);
}
.menu-toggle{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.18);}
.menu-toggle span{background:#fff;}

/* Topbar becomes a slim technical status strip */
.topbar{
  background:#02162f;
  border-bottom:1px solid rgba(53,229,242,.10);
}

/* Hero: grid + scanline + glow */
.hero{
  background:
    radial-gradient(circle at 78% 24%,rgba(53,229,242,.20),transparent 25%),
    radial-gradient(circle at 20% 80%,rgba(220,168,62,.08),transparent 26%),
    linear-gradient(135deg,#021b3e 0%,#053881 52%,#062a61 100%);
}
.hero:before{
  opacity:.95;
  background:
    linear-gradient(var(--hl-grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--hl-grid) 1px,transparent 1px),
    radial-gradient(circle at 75% 20%,rgba(7,160,180,.24),transparent 30%),
    linear-gradient(115deg,rgba(3,43,99,.92),rgba(5,56,129,.78));
  background-size:44px 44px,44px 44px,auto,auto;
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(53,229,242,.025) 50%,transparent 100%);
  box-shadow:inset 0 -1px 0 rgba(53,229,242,.16);
}
.hero .container{z-index:2;}
.hero h1{
  text-shadow:0 0 34px rgba(53,229,242,.10);
}
.hero .eyebrow:before{
  content:"";
  display:inline-block;
  width:28px;height:1px;
  margin:0 10px 3px 0;
  background:var(--hl-cyan-bright);
  box-shadow:0 0 10px var(--hl-cyan-bright);
}
.hero-image{
  border:1px solid rgba(53,229,242,.24);
  box-shadow:0 35px 90px rgba(0,0,0,.38),0 0 40px rgba(7,160,180,.12);
}
.hero-image:after{
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;
  pointer-events:none;
}
.hero-badge{
  border:1px solid rgba(7,160,180,.22);
  box-shadow:0 24px 70px rgba(0,0,0,.28),var(--hl-glow);
}

/* Futuristic section separators */
.section{
  position:relative;
}
.section:not(.section-dark):not(.cta):after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(1180px,calc(100% - 48px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(7,160,180,.22),transparent);
}

/* Technical headings */
.section-head .eyebrow,
.page-hero .eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
}
.section-head .eyebrow:before,
.page-hero .eyebrow:before{
  content:"";
  width:24px;height:1px;
  background:var(--cyan);
  box-shadow:0 0 10px rgba(7,160,180,.55);
}

/* Cards become glass/tech panels */
.service,
.philo,
.mission-card,
.contact-item{
  position:relative;
  overflow:hidden;
}
.service{
  background:linear-gradient(145deg,#fff,rgba(245,248,251,.82));
  border-color:rgba(7,160,180,.13);
  box-shadow:0 10px 35px rgba(16,33,63,.045);
}
.service:before,
.philo:before,
.mission-card:before,
.contact-item:before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:42px;height:2px;
  background:var(--cyan);
  box-shadow:0 0 14px rgba(7,160,180,.45);
}
.service:after,
.philo:after{
  content:"";
  position:absolute;
  width:90px;height:90px;
  right:-55px;top:-55px;
  border:1px solid rgba(7,160,180,.10);
  border-radius:50%;
}
.service:hover{
  transform:translateY(-7px);
  border-color:rgba(7,160,180,.35);
  box-shadow:0 20px 55px rgba(3,43,99,.12),0 0 25px rgba(7,160,180,.08);
}
.icon-box,
.philo-icon,
.contact-icon{
  background:linear-gradient(145deg,rgba(7,160,180,.14),rgba(7,160,180,.035));
  border:1px solid rgba(7,160,180,.16);
  box-shadow:inset 0 0 18px rgba(7,160,180,.05);
}

/* Dark sections get the same grid language */
.section-dark,
.cta{
  background:
    linear-gradient(rgba(125,216,226,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,216,226,.045) 1px,transparent 1px),
    linear-gradient(135deg,#021b3e,#053881);
  background-size:42px 42px,42px 42px,auto;
}
.section-dark:before,
.cta:before{
  content:"";
  position:absolute;
  width:340px;height:340px;
  right:-130px;top:-150px;
  border:1px solid rgba(53,229,242,.12);
  border-radius:50%;
  box-shadow:0 0 0 34px rgba(53,229,242,.025),0 0 0 68px rgba(53,229,242,.018);
  pointer-events:none;
}
.step{
  background:linear-gradient(180deg,rgba(255,255,255,.035),transparent);
}
.step:hover .step-icon{
  box-shadow:0 0 24px rgba(53,229,242,.15);
}
.step-icon{
  border:1px solid rgba(53,229,242,.18);
}

/* Page templates: no content replacement, just a stronger visual frame */
.page-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(rgba(125,216,226,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,216,226,.055) 1px,transparent 1px),
    radial-gradient(circle at 80% 20%,rgba(7,160,180,.20),transparent 28%),
    linear-gradient(135deg,#021b3e,#053881);
  background-size:44px 44px,44px 44px,auto,auto;
  border-bottom:1px solid rgba(53,229,242,.16);
}
.page-hero:before{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:8%;top:-100px;
  border:1px solid rgba(53,229,242,.18);
  border-radius:50%;
  box-shadow:0 0 0 32px rgba(53,229,242,.03),0 0 0 64px rgba(53,229,242,.018);
}
.page-hero:after{
  width:520px;height:520px;
  right:-130px;top:-180px;
  border-color:rgba(53,229,242,.09);
}
.editable-page{
  background:
    radial-gradient(circle at 0 0,rgba(7,160,180,.035),transparent 24%),
    #fff;
}
.editable-page .wp-block-heading,
.editable-page h2,
.editable-page h3{
  position:relative;
}
.editable-page h2:after{
  content:"";
  display:block;
  width:42px;height:2px;
  margin-top:13px;
  background:var(--cyan);
  box-shadow:0 0 12px rgba(7,160,180,.35);
}
.editable-page .wp-block-image img{
  border:1px solid rgba(7,160,180,.14);
}

/* CTA and footer */
.cta{
  border-top:1px solid rgba(53,229,242,.12);
  border-bottom:1px solid rgba(53,229,242,.12);
}
.cta .btn-primary{
  box-shadow:0 0 24px rgba(220,168,62,.18);
}
.footer{
  background:
    linear-gradient(rgba(125,216,226,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,216,226,.035) 1px,transparent 1px),
    #02152f;
  background-size:38px 38px;
  border-top:1px solid rgba(53,229,242,.10);
}

/* Subtle motion, respecting reduced-motion */
@keyframes hl-pulse{
  0%,100%{opacity:.55;transform:scale(1);}
  50%{opacity:1;transform:scale(1.03);}
}
.hero-badge small{animation:hl-pulse 4s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* Mobile: retain the futuristic feel without clutter */
@media(max-width:600px){
  .hero:before,
  .page-hero,
  .section-dark,
  .cta,
  .footer{background-size:30px 30px,30px 30px,auto,auto;}
  .hero .container{padding-top:58px;}
  .service{min-height:210px;}
  .page-hero:before{right:-110px;}
}
