/*
Theme Name: Patent Consulting Group
Theme URI: https://patentconsulting.com/
Author: Patent Consulting Group
Description: A modern, responsive business website theme for Patent Consulting Group.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: patent-consulting-group
*/

:root {
  --navy: #07172d;
  --navy-2: #0b2342;
  --blue: #1677e8;
  --blue-2: #45a4ff;
  --ink: #14243a;
  --muted: #617187;
  --paper: #ffffff;
  --soft: #f3f7fc;
  --line: #dce5ef;
  --radius: 18px;
  --shadow: 0 18px 55px rgba(8, 30, 58, .12);
  --max: 1160px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; color: var(--ink); background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65; font-size: 16px;
}
a { color: var(--blue); text-decoration: none; }
a:hover { color: #075fc4; }
img { max-width: 100%; height: auto; }
.container { width: min(var(--max), calc(100% - 44px)); margin-inline: auto; }
.skip-link { position:absolute; left:-9999px; top:0; background:#fff; padding:12px; z-index:9999; }
.skip-link:focus { left:12px; }
.site-header {
  position: sticky; top: 0; z-index: 100; background: rgba(7,23,45,.96);
  backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255,255,255,.1);
}
.header-inner { min-height: 82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:13px; color:#fff; min-width:0; }
.brand:hover { color:#fff; }
.brand-mark {
  width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
  background: linear-gradient(145deg, var(--blue-2), var(--blue)); color:#fff;
  font-weight:850; letter-spacing:-2px; font-size:18px; box-shadow:0 8px 24px rgba(22,119,232,.35);
}
.brand-copy { display:flex; flex-direction:column; line-height:1.15; }
.brand-copy strong { font-size:15px; letter-spacing:.02em; }
.brand-copy small { color:#a9c2df; font-size:10px; letter-spacing:.18em; text-transform:uppercase; margin-top:5px; }
.custom-logo { max-height:52px; width:auto; }
.primary-nav { display:flex; align-items:center; gap:25px; }
.primary-nav ul { display:flex; align-items:center; gap:23px; list-style:none; padding:0; margin:0; }
.primary-nav a { color:#dce8f6; font-size:13px; font-weight:650; }
.primary-nav a:hover { color:#fff; }
.header-cta, .button {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:12px 19px; border-radius:999px; background:var(--blue); color:#fff;
  font-weight:750; font-size:14px; border:1px solid var(--blue); transition:.2s ease;
}
.header-cta:hover, .button:hover { color:#fff; background:#0865ce; transform:translateY(-1px); }
.button-outline { background:transparent; border-color:rgba(255,255,255,.42); color:#fff; }
.button-outline:hover { background:rgba(255,255,255,.1); border-color:#fff; }
.menu-toggle { display:none; background:transparent; color:#fff; border:1px solid rgba(255,255,255,.28); border-radius:10px; padding:9px 12px; font-size:20px; }
.hero {
  color:#fff; background:
  radial-gradient(circle at 80% 25%, rgba(31,132,239,.28), transparent 30%),
  radial-gradient(circle at 10% 90%, rgba(34,109,190,.18), transparent 28%),
  linear-gradient(125deg, #06152a 0%, #0a2343 58%, #0b315d 100%);
  overflow:hidden; position:relative;
}
.hero:after {
  content:""; position:absolute; inset:0; opacity:.18; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:56px 56px; mask-image:linear-gradient(90deg, transparent, #000 55%, #000);
}
.hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:1.12fr .88fr; gap:54px; align-items:center; padding:104px 0 110px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; color:#8fc8ff; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.17em; }
.eyebrow:before { content:""; width:25px; height:2px; background:var(--blue-2); }
.hero h1 { font-size:clamp(42px,5.4vw,68px); line-height:1.04; letter-spacing:-.055em; margin:20px 0 23px; max-width:720px; }
.hero h1 span { color:#70baff; }
.hero-lead { color:#c7d8eb; font-size:18px; max-width:630px; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:32px; }
.hero-note { margin-top:26px; color:#9eb5ce; font-size:13px; }
.hero-visual { min-height:390px; position:relative; display:grid; place-items:center; }
.orbit { width:min(390px, 100%); aspect-ratio:1; border:1px solid rgba(130,190,245,.28); border-radius:50%; position:relative; display:grid; place-items:center; box-shadow:0 0 0 35px rgba(67,147,224,.035), 0 0 0 75px rgba(67,147,224,.025); }
.orbit:before,.orbit:after { content:""; position:absolute; border:1px solid rgba(130,190,245,.18); border-radius:50%; inset:13%; }
.orbit:after { inset:28%; }
.core { width:142px; height:142px; border-radius:36px; display:grid; place-items:center; background:linear-gradient(145deg,#238df4,#0755ae); box-shadow:0 22px 70px rgba(0,105,220,.45); font-size:38px; font-weight:900; letter-spacing:-5px; transform:rotate(-8deg); }
.float-card { position:absolute; display:flex; align-items:center; gap:11px; padding:13px 16px; background:rgba(12,39,70,.88); border:1px solid rgba(160,205,245,.24); border-radius:14px; box-shadow:0 15px 40px rgba(0,0,0,.2); color:#e9f4ff; font-size:12px; font-weight:700; }
.float-card b { display:block; font-size:11px; color:#8fc8ff; }
.float-card.one { top:12%; right:-2%; }
.float-card.two { bottom:14%; left:-4%; }
.float-icon { width:34px; height:34px; border-radius:10px; background:rgba(54,151,255,.18); display:grid; place-items:center; font-size:17px; }
.trust-strip { background:#fff; border-bottom:1px solid var(--line); }
.trust-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:23px 0; }
.trust-item { color:#50627a; font-size:13px; font-weight:750; display:flex; align-items:center; gap:10px; }
.trust-item strong { color:var(--navy); font-size:20px; letter-spacing:-.04em; }
.section { padding:94px 0; }
.section-soft { background:var(--soft); }
.section-dark { background:var(--navy); color:#fff; }
.section-heading { max-width:720px; margin-bottom:42px; }
.section-heading.center { text-align:center; margin-inline:auto; }
.section-heading.center .eyebrow { justify-content:center; }
.section h2 { margin:14px 0 15px; font-size:clamp(31px,4vw,45px); line-height:1.12; letter-spacing:-.045em; color:var(--navy); }
.section-dark h2 { color:#fff; }
.section-heading p { margin:0; color:var(--muted); font-size:17px; }
.section-dark .section-heading p { color:#b9cce1; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { padding:27px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); transition:.22s ease; min-height:225px; }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); border-color:#b7d8fb; }
.service-icon { width:48px; height:48px; border-radius:14px; display:grid; place-items:center; background:#eaf4ff; color:#096bd4; font-size:22px; margin-bottom:20px; }
.service-card h3 { margin:0 0 9px; color:var(--navy); font-size:18px; letter-spacing:-.02em; }
.service-card p { margin:0; color:var(--muted); font-size:14px; line-height:1.7; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.feature-panel { padding:35px; border-radius:24px; color:#fff; background:linear-gradient(145deg,#0c2b50,#07172d); box-shadow:var(--shadow); position:relative; overflow:hidden; }
.feature-panel:after { content:""; position:absolute; width:240px; height:240px; right:-90px; top:-90px; border:1px solid rgba(126,190,255,.25); border-radius:50%; box-shadow:0 0 0 28px rgba(126,190,255,.04),0 0 0 58px rgba(126,190,255,.03); }
.feature-panel h3 { position:relative; z-index:1; font-size:28px; line-height:1.2; margin:0 0 16px; letter-spacing:-.035em; }
.feature-panel p { position:relative; z-index:1; color:#c3d5e8; }
.feature-list { list-style:none; margin:25px 0 0; padding:0; display:grid; gap:13px; }
.feature-list li { display:flex; gap:11px; align-items:flex-start; color:#e4f0fc; font-size:14px; }
.check { flex:0 0 22px; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:rgba(61,158,255,.2); color:#7ec1ff; font-size:12px; font-weight:900; }
.copy-block p { color:var(--muted); font-size:16px; }
.stat-row { display:flex; gap:28px; margin-top:30px; flex-wrap:wrap; }
.stat strong { display:block; color:var(--blue); font-size:31px; line-height:1.1; letter-spacing:-.05em; }
.stat span { display:block; color:var(--muted); font-size:12px; font-weight:700; margin-top:6px; text-transform:uppercase; letter-spacing:.08em; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.process-step { padding:26px; border-top:2px solid #3c9af2; background:rgba(255,255,255,.045); border-radius:0 0 15px 15px; }
.step-number { color:#70baff; font-weight:850; font-size:12px; letter-spacing:.15em; }
.process-step h3 { color:#fff; margin:12px 0 8px; font-size:19px; }
.process-step p { color:#b8cbe0; margin:0; font-size:14px; }
.cta-band { padding:65px 0; background:linear-gradient(105deg,#0b2a4e,#0e4e8c); color:#fff; }
.cta-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.cta-inner h2 { color:#fff; font-size:clamp(28px,3.5vw,39px); margin:0 0 9px; letter-spacing:-.04em; }
.cta-inner p { margin:0; color:#c7ddf4; }
.site-footer { background:#051225; color:#b8c9dc; padding:58px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:45px; padding-bottom:40px; }
.site-footer .brand { margin-bottom:18px; }
.site-footer p { color:#9fb3ca; font-size:14px; max-width:380px; }
.site-footer h3 { color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:.12em; margin:4px 0 17px; }
.footer-links { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.footer-links a { color:#b8c9dc; font-size:14px; }
.footer-links a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:20px; display:flex; justify-content:space-between; gap:20px; color:#8097b2; font-size:12px; }
.page-hero { padding:75px 0; color:#fff; background:linear-gradient(120deg,#07172d,#0c3765); }
.page-hero h1 { font-size:clamp(38px,5vw,56px); line-height:1.05; letter-spacing:-.05em; margin:13px 0; }
.page-hero p { max-width:680px; color:#c5d7eb; font-size:17px; }
.content-area { padding:65px 0 90px; }
.entry-content { max-width:820px; }
.entry-content h2,.entry-content h3 { color:var(--navy); letter-spacing:-.03em; }
.entry-content p { color:#4e6076; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:45px; }
.contact-card { background:var(--soft); padding:30px; border-radius:var(--radius); }
.contact-form { display:grid; gap:15px; }
.contact-form label { display:grid; gap:7px; font-size:13px; font-weight:750; color:var(--navy); }
.contact-form input,.contact-form textarea { width:100%; border:1px solid #cbd8e6; border-radius:10px; padding:13px 14px; font:inherit; background:#fff; color:var(--ink); }
.contact-form input:focus,.contact-form textarea:focus { outline:2px solid #8fc8ff; border-color:var(--blue); }
.contact-form textarea { min-height:145px; resize:vertical; }
.form-notice { padding:12px 15px; border-radius:10px; background:#e9f7ef; color:#17633a; font-size:14px; }
.form-error { background:#fff0ef; color:#9b2d27; }
.pagination { margin-top:35px; }
.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; }

@media (max-width: 900px) {
  .primary-nav { gap:14px; }
  .primary-nav ul { gap:14px; }
  .hero-inner { gap:25px; }
  .hero-visual { min-height:330px; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .split { gap:35px; }
}
@media (max-width: 720px) {
  .container { width:min(var(--max),calc(100% - 34px)); }
  .header-inner { min-height:72px; }
  .menu-toggle { display:block; }
  .primary-nav { display:none; position:absolute; left:0; right:0; top:72px; padding:18px 22px 22px; background:#07172d; border-top:1px solid rgba(255,255,255,.1); align-items:stretch; }
  .primary-nav.is-open { display:flex; flex-direction:column; }
  .primary-nav ul { flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav li { border-bottom:1px solid rgba(255,255,255,.09); padding:11px 0; }
  .primary-nav a { display:block; }
  .header-cta { align-self:flex-start; }
  .hero-inner { grid-template-columns:1fr; padding:76px 0 82px; }
  .hero-visual { min-height:270px; margin-top:10px; }
  .orbit { width:270px; }
  .core { width:105px; height:105px; border-radius:28px; font-size:30px; }
  .float-card.one { right:-1%; top:7%; }
  .float-card.two { left:-1%; bottom:8%; }
  .trust-inner { justify-content:center; flex-wrap:wrap; }
  .section { padding:70px 0; }
  .service-grid,.process-grid { grid-template-columns:1fr; }
  .split,.contact-layout { grid-template-columns:1fr; gap:30px; }
  .cta-inner { align-items:flex-start; flex-direction:column; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { flex-direction:column; }
}

/* Official Patent Consulting Group logo treatment */
.brand { gap: 11px; }
.brand-globe { width: 49px; height: 49px; object-fit: cover; border-radius: 50%; background:#fff; border:2px solid rgba(255,255,255,.16); }
.brand-copy strong { display:block; white-space:nowrap; font-size:14px; letter-spacing:.035em; }
.brand-patent { color:#b00020; }
.brand-consulting { color:#f0f4f8; font-size:11px; letter-spacing:.10em; }
.brand-copy small { color:#a9c2df; }
.site-footer .brand-globe { border-color:rgba(255,255,255,.18); }
@media (max-width: 720px) {
  .brand-globe { width:43px; height:43px; }
  .brand-copy strong { font-size:12px; }
  .brand-consulting { font-size:9px; }
}
