/*
Theme Name: Naeem Ur Rehman Portfolio
Theme URI: https://iamnaeem.decentimmigration.com/
Author: Naeem Ur Rehman
Author URI: https://iamnaeem.decentimmigration.com/
Description: A dark, minimal, 3D-effect portfolio theme for Naeem Ur Rehman — Web & Graphic Designer based in Abbottabad, Pakistan. Features animated particle background, 3D card tilt, interactive globe CTA, showcase slider, and smooth page transitions.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: naeem-portfolio
Tags: portfolio, dark, one-page, animation, custom-menu, featured-images, full-width-template, translation-ready
*/
:root {
    --bg: #080808;
    --surface: #111111;
    --border: rgba(255,255,255,0.06);
    --accent: #4f8aff;
    --accent2: #ff6b35;
    --text: #f0f0f0;
    --muted: #666;
    --font-d: 'Syne', sans-serif;
    --font-m: 'DM Mono', monospace;
  }
  *, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
  html { scroll-behavior:smooth; }
  body { background:var(--bg); color:var(--text); font-family:var(--font-d); overflow-x:hidden; cursor:none; }

  /* Cursor */
  #cursor { position:fixed; width:14px; height:14px; background:var(--accent); border-radius:50%; pointer-events:none; z-index:2147483647; transform:translate(-50%,-50%); transition:width .25s,height .25s,background .25s; mix-blend-mode:normal; }
  #cursor-ring { position:fixed; width:38px; height:38px; border:1.5px solid rgba(79,138,255,.55); border-radius:50%; pointer-events:none; z-index:2147483646; transform:translate(-50%,-50%); }
  body:has(a:hover) #cursor, body:has(button:hover) #cursor { width:22px; height:22px; background:var(--accent2); }
  body:has(a:hover) #cursor-ring, body:has(button:hover) #cursor-ring { border-color:rgba(255,107,53,.5); }

  #bg-canvas { position:fixed; top:0; left:0; width:100%; height:100%; z-index:0; pointer-events:none; }

  /* Nav */
  nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:24px 48px; background:rgba(8,8,8,.7); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); }
  .nav-logo { font-size:1.4rem; font-weight:800; letter-spacing:-.04em; color:var(--text); text-decoration:none; }
  .nav-logo span { color:var(--accent); }
  .nav-links { display:flex; gap:40px; list-style:none; }
  .nav-links a { font-family:var(--font-m); font-size:.8rem; letter-spacing:.08em; color:var(--muted); text-decoration:none; text-transform:uppercase; transition:color .3s; }
  .nav-links a:hover, .nav-links a.active { color:var(--accent); }
  .nav-cta { font-family:var(--font-m); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:#fff; background:var(--accent); border:none; padding:10px 24px; cursor:none; clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%); transition:background .3s,transform .2s; font-weight:600; }
  .nav-cta:hover { background:var(--accent2); transform:scale(1.04); }

  .page { display:none; min-height:100vh; position:relative; z-index:1; }
  .page.active { display:block; }

  /* Shared */
  .section-label { font-family:var(--font-m); font-size:.72rem; letter-spacing:.2em; color:var(--accent); text-transform:uppercase; margin-bottom:16px; display:flex; align-items:center; gap:12px; }
  .section-label::before { content:''; display:block; width:32px; height:1px; background:var(--accent); }
  .section-title { font-size:clamp(2.5rem,4vw,4rem); font-weight:800; letter-spacing:-.04em; line-height:1; }
  .btn-primary { font-family:var(--font-m); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:#fff; background:var(--accent); border:none; padding:16px 36px; cursor:none; font-weight:600; clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%); transition:background .3s,transform .2s; text-decoration:none; display:inline-block; }
  .btn-primary:hover { background:var(--accent2); transform:translateY(-2px); }
  .btn-ghost { font-family:var(--font-m); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); background:transparent; border:1px solid var(--border); padding:16px 36px; cursor:none; transition:color .3s,border-color .3s; text-decoration:none; display:inline-block; }
  .btn-ghost:hover { color:var(--accent); border-color:var(--accent); }

  /* ══ HOME ══ */
  #home { padding-top:80px; }
  .home-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; padding:80px 48px; }
  .home-label { font-family:var(--font-m); font-size:.75rem; letter-spacing:.2em; color:var(--accent); text-transform:uppercase; margin-bottom:24px; display:flex; align-items:center; gap:12px; }
  .home-label::before { content:''; display:block; width:40px; height:1px; background:var(--accent); }
  .home-title { font-size:clamp(3.5rem,6vw,6rem); font-weight:800; line-height:.92; letter-spacing:-.04em; margin-bottom:32px; }
  .home-title .line { display:block; overflow:hidden; }
  .home-title .line span { display:block; animation:slideUp .8s cubic-bezier(.16,1,.3,1) forwards; opacity:0; }
  .home-title .line:nth-child(2) span { animation-delay:.1s; }
  .home-title .line:nth-child(3) span { animation-delay:.2s; }
  .accent-word { color:var(--accent); }
  @keyframes slideUp { from{transform:translateY(100%);opacity:0} to{transform:translateY(0);opacity:1} }
  .home-desc { font-family:var(--font-m); font-size:.9rem; line-height:1.8; color:var(--muted); max-width:420px; margin-bottom:48px; }
  .home-actions { display:flex; gap:16px; align-items:center; }
  .home-visual { position:relative; display:flex; justify-content:center; align-items:center; }
  .card-3d-wrapper { perspective:1000px; width:360px; height:440px; }
  .card-3d { width:100%; height:100%; transform-style:preserve-3d; transition:transform .1s ease-out; position:relative; }
  .card-face { position:absolute; inset:0; background:linear-gradient(135deg,#141414,#0e0e0e); border:1px solid var(--border); border-radius:2px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; padding:32px; }
  .card-face::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 20%,rgba(79,138,255,.07),transparent 60%); }
  .card-img-placeholder { position:absolute; top:0; left:0; right:0; bottom:80px; background:linear-gradient(180deg,#1a1a1a,#0d0d0d); display:flex; align-items:center; justify-content:center; font-size:5rem; font-weight:800; color:rgba(79,138,255,.15); letter-spacing:-.05em; }
  .card-info { position:relative; z-index:2; }
  .card-name { font-size:1.3rem; font-weight:700; margin-bottom:4px; }
  .card-role { font-family:var(--font-m); font-size:.75rem; color:var(--accent); letter-spacing:.1em; }
  .card-stats { display:flex; gap:24px; margin-top:20px; padding-top:20px; border-top:1px solid var(--border); }
  .c-stat { display:flex; flex-direction:column; gap:2px; }
  .c-stat-n { font-size:1.1rem; font-weight:700; color:var(--accent); }
  .c-stat-l { font-family:var(--font-m); font-size:.65rem; color:var(--muted); }
  .orb { position:absolute; border-radius:50%; filter:blur(60px); pointer-events:none; z-index:-1; }
  .orb-1 { width:300px; height:300px; background:rgba(79,138,255,.05); top:-50px; right:-50px; }
  .orb-2 { width:200px; height:200px; background:rgba(255,107,53,.03); bottom:0; left:0; }
  .stats-row { display:flex; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
  .stat-item { flex:1; padding:32px 48px; border-right:1px solid var(--border); display:flex; flex-direction:column; gap:6px; }
  .stat-item:last-child { border-right:none; }
  .stat-num { font-size:2.5rem; font-weight:800; letter-spacing:-.04em; color:var(--accent); }
  .stat-lbl { font-family:var(--font-m); font-size:.72rem; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; }

  /* ══ ABOUT ══ */
  #about { padding:140px 0 80px; }
  .about-header { padding:0 48px; margin-bottom:80px; }
  .about-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); margin:0 48px 80px; }
  .about-panel { background:var(--bg); padding:48px; transition:transform .3s; }
  .about-panel h3 { font-size:.7rem; font-family:var(--font-m); letter-spacing:.15em; text-transform:uppercase; color:var(--accent); margin-bottom:24px; }
  .about-panel p { font-family:var(--font-m); font-size:.88rem; line-height:1.9; color:var(--muted); }
  .skills-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
  .skill-tag { font-family:var(--font-m); font-size:.72rem; color:var(--text); border:1px solid var(--border); padding:6px 14px; letter-spacing:.05em; transition:border-color .3s,color .3s; }
  .skill-tag:hover { border-color:var(--accent); color:var(--accent); }

  /* Timeline */
  .timeline { margin:0 48px; }
  .tl-title { font-size:1.5rem; font-weight:700; margin-bottom:40px; letter-spacing:-.03em; }
  .tl-item { display:grid; grid-template-columns:140px 2px 1fr; gap:0 32px; padding-bottom:56px; }
  .tl-year { font-family:var(--font-m); font-size:.72rem; color:var(--accent); padding-top:4px; text-align:right; }
  .tl-line { position:relative; background:rgba(255,255,255,.04); }
  .tl-fill { position:absolute; top:0; left:0; right:0; height:0%; background:linear-gradient(180deg,var(--accent),rgba(79,138,255,.15)); transition:height .9s cubic-bezier(.16,1,.3,1); }
  .tl-item.revealed .tl-fill { height:100%; }
  .tl-line::before { content:''; position:absolute; top:6px; left:50%; transform:translateX(-50%); width:10px; height:10px; border-radius:50%; background:var(--bg); border:2px solid rgba(79,138,255,.4); z-index:2; transition:border-color .4s .2s, box-shadow .4s .2s; }
  .tl-item.revealed .tl-line::before { border-color:var(--accent); box-shadow:0 0 16px var(--accent); }
  .tl-body { opacity:0; transform:translateX(16px); transition:opacity .6s .3s, transform .6s .3s; }
  .tl-item.revealed .tl-body { opacity:1; transform:translateX(0); }
  .tl-body h4 { font-size:1rem; font-weight:700; margin-bottom:8px; }
  .tl-body p { font-family:var(--font-m); font-size:.82rem; color:var(--muted); line-height:1.7; }

  /* ══ SERVICES ══ */
  #services { padding:140px 0 80px; }
  .services-header { padding:0 48px; margin-bottom:80px; }
  .services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border); border:1px solid var(--border); margin:0 48px 80px; }
  .service-card { background:var(--bg); padding:56px 48px; position:relative; overflow:hidden; transition:background .4s; }
  .service-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(79,138,255,.04),transparent); opacity:0; transition:opacity .4s; }
  .service-card:hover { background:#111; }
  .service-card:hover::before { opacity:1; }
  .svc-num { font-size:4.5rem; font-weight:800; letter-spacing:-.06em; color:rgba(79,138,255,.06); line-height:1; margin-bottom:-16px; transition:color .4s; }
  .service-card:hover .svc-num { color:rgba(79,138,255,.14); }
  .svc-icon { width:48px; height:48px; margin-bottom:24px; position:relative; z-index:1; }
  .svc-icon svg { width:100%; height:100%; stroke:var(--accent); fill:none; stroke-width:1.5; }
  .service-card h3 { font-size:1.4rem; font-weight:700; margin-bottom:16px; letter-spacing:-.03em; position:relative; z-index:1; transition:color .3s; }
  .service-card:hover h3 { color:var(--accent); }
  .service-card p { font-family:var(--font-m); font-size:.84rem; line-height:1.8; color:var(--muted); position:relative; z-index:1; }
  .svc-arrow { position:absolute; bottom:32px; right:32px; width:36px; height:36px; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; transition:border-color .3s,transform .3s; }
  .service-card:hover .svc-arrow { border-color:var(--accent2); transform:translate(4px,-4px); }
  .svc-arrow svg { width:16px; height:16px; stroke:var(--accent); fill:none; }
  .process-section { padding:0 48px; }
  .process-title { font-size:1.5rem; font-weight:700; margin-bottom:48px; letter-spacing:-.03em; }
  .process-steps { display:flex; }
  .process-step { flex:1; padding:40px 32px; border:1px solid var(--border); margin-right:-1px; position:relative; transition:background .3s; }
  .process-step:hover { background:#0f0f0f; z-index:1; border-color:rgba(79,138,255,.25); }
  .step-num { font-family:var(--font-m); font-size:.68rem; color:var(--accent); letter-spacing:.15em; margin-bottom:16px; }
  .step-title { font-size:1rem; font-weight:700; margin-bottom:10px; }
  .step-desc { font-family:var(--font-m); font-size:.78rem; color:var(--muted); line-height:1.7; }

  /* ══ PORTFOLIO ══ */
  #portfolio { padding:140px 0 80px; }
  .port-header { padding:0 48px; margin-bottom:60px; display:flex; align-items:flex-end; justify-content:space-between; }
  .port-filter { display:flex; gap:4px; }
  .filter-btn { font-family:var(--font-m); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); background:transparent; border:1px solid var(--border); padding:8px 18px; cursor:none; transition:color .3s,border-color .3s,background .3s; }
  .filter-btn:hover, .filter-btn.active { color:#fff; background:var(--accent); border-color:var(--accent); }
  .port-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); margin:0 48px 80px; }
  .proj-card { background:var(--bg); aspect-ratio:4/3; position:relative; overflow:hidden; cursor:none; }
  .proj-card:hover { z-index:2; }
  .proj-bg { position:absolute; inset:0; transition:transform .5s; display:flex; align-items:center; justify-content:center; font-size:3rem; font-weight:800; color:rgba(255,255,255,.03); letter-spacing:-.04em; }
  .proj-card:hover .proj-bg { transform:scale(1.04); }
  .proj-overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(8,8,8,.95) 100%); display:flex; flex-direction:column; justify-content:flex-end; padding:28px; transform:translateY(20px); opacity:0; transition:transform .4s,opacity .4s; }
  .proj-card:hover .proj-overlay { transform:translateY(0); opacity:1; }
  .proj-tag { font-family:var(--font-m); font-size:.65rem; color:var(--accent); letter-spacing:.1em; text-transform:uppercase; margin-bottom:6px; }
  .proj-name { font-size:1.1rem; font-weight:700; margin-bottom:12px; }
  .proj-link { font-family:var(--font-m); font-size:.72rem; color:var(--muted); text-decoration:none; transition:color .3s; }
  .proj-link:hover { color:var(--accent); }
  .proj-link::after { content:'↗'; margin-left:4px; }
  .proj-label { position:absolute; bottom:20px; left:24px; font-family:var(--font-m); font-size:.72rem; color:rgba(255,255,255,.3); transition:opacity .3s; }
  .proj-card:hover .proj-label { opacity:0; }

  /* ── Showcase Slider ── */
  .showcase-wrap { margin:0 48px 80px; }
  .showcase-top { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:36px; }
  .showcase-top h3 { font-size:1.5rem; font-weight:700; letter-spacing:-.03em; }
  .sc-nav { display:flex; gap:8px; }
  .sc-btn { width:44px; height:44px; background:transparent; border:1px solid var(--border); color:var(--muted); cursor:none; display:flex; align-items:center; justify-content:center; font-size:1.1rem; transition:all .3s; border-radius:50%; }
  .sc-btn:hover { border-color:var(--accent); color:var(--accent); background:rgba(79,138,255,.06); }

  .showcase-stage { background:linear-gradient(135deg,#0a0d1c,#080810); border:1px solid var(--border); border-radius:6px; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:48px 80px; min-height:480px; position:relative; }
  .showcase-stage::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(79,138,255,.05),transparent); pointer-events:none; }
  .showcase-stage::after { content:''; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(79,138,255,.07) 1px,transparent 1px); background-size:40px 40px; pointer-events:none; }

  .sc-frame { position:relative; width:100%; max-width:660px; background:#0a0a12; border-radius:10px; overflow:hidden; box-shadow:0 40px 100px rgba(0,0,0,.8),0 0 0 1px rgba(79,138,255,.12); }
  .sc-frame:hover { transform:perspective(1200px) rotateX(2deg) rotateY(-1deg); transition:transform .4s; }
  .sc-bar { background:#111118; padding:10px 16px; display:flex; align-items:center; gap:10px; border-bottom:1px solid rgba(255,255,255,.05); }
  .sc-dots { display:flex; gap:6px; }
  .sc-dot { width:10px; height:10px; border-radius:50%; }
  .sc-url { flex:1; background:rgba(255,255,255,.04); border-radius:4px; padding:5px 12px; font-family:var(--font-m); font-size:.7rem; color:var(--muted); text-align:center; }

  .sc-window { height:300px; overflow:hidden; position:relative; }
  .sc-window::before { content:''; position:absolute; top:0; left:0; right:0; height:28px; background:linear-gradient(to bottom,#0a0a12,transparent); z-index:2; pointer-events:none; }
  .sc-window::after { content:''; position:absolute; bottom:0; left:0; right:0; height:28px; background:linear-gradient(to top,#0a0a12,transparent); z-index:2; pointer-events:none; }
  .sc-slides { display:flex; flex-direction:column; transition:transform .65s cubic-bezier(.4,0,.2,1); }
  .sc-slide { height:300px; flex-shrink:0; position:relative; display:flex; align-items:center; justify-content:center; font-size:2.5rem; font-weight:800; letter-spacing:-.04em; overflow:hidden; }
  .ss0 { background:linear-gradient(135deg,#0d1117,#111827); color:rgba(79,138,255,.18); }
  .ss1 { background:linear-gradient(135deg,#0f0a1e,#1a0e2e); color:rgba(140,80,255,.18); }
  .ss2 { background:linear-gradient(135deg,#0d1a10,#0a1f12); color:rgba(40,200,80,.18); }
  .ss3 { background:linear-gradient(135deg,#1a0d0d,#2a1010); color:rgba(255,80,80,.18); }
  .ss4 { background:linear-gradient(135deg,#0d0f1a,#12152a); color:rgba(79,138,255,.18); }
  .ss5 { background:linear-gradient(135deg,#0d1616,#0a1f1f); color:rgba(0,200,180,.18); }

  /* Fake UI skeleton per slide */
  .sli { position:absolute; inset:0; padding:20px; display:flex; flex-direction:column; gap:0; }
  .sli-nav { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }
  .sli-logo { width:56px; height:7px; border-radius:4px; background:rgba(255,255,255,.14); }
  .sli-links { display:flex; gap:8px; }
  .sli-link { width:28px; height:5px; border-radius:3px; background:rgba(255,255,255,.07); }
  .sli-body { display:flex; flex-direction:column; gap:8px; }
  .sli-h { height:11px; border-radius:5px; background:rgba(255,255,255,.18); }
  .w80{width:80%}.w60{width:60%}.w40{width:40%}.w70{width:70%}.w50{width:50%}
  .sli-cta { width:72px; height:22px; border-radius:11px; margin-top:6px; }
  .ss0 .sli-cta{background:rgba(79,138,255,.4)}.ss1 .sli-cta{background:rgba(140,80,255,.4)}.ss2 .sli-cta{background:rgba(40,200,80,.4)}.ss3 .sli-cta{background:rgba(255,80,80,.4)}.ss4 .sli-cta{background:rgba(79,138,255,.4)}.ss5 .sli-cta{background:rgba(0,200,180,.4)}
  .sli-cards { display:flex; gap:8px; margin-top:10px; }
  .sli-card { flex:1; height:48px; border-radius:5px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.05); }

  .sc-info { display:flex; align-items:center; justify-content:space-between; margin-top:20px; padding:0 4px; }
  .sc-name { font-size:1.05rem; font-weight:700; letter-spacing:-.02em; }
  .sc-link { font-family:var(--font-m); font-size:.75rem; color:var(--muted); text-decoration:none; transition:color .3s; }
  .sc-link::after { content:' ↗'; }
  .sc-link:hover { color:var(--accent); }
  .sc-count { font-family:var(--font-m); font-size:.72rem; color:var(--muted); letter-spacing:.1em; }
  .sc-count span { color:var(--accent); }

  /* ══ GLOBE CTA ══ */
  .globe-cta { margin:0 48px; border:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:48px; padding:56px 64px; background:linear-gradient(135deg,#090d1a,#080808); position:relative; overflow:hidden; }
  .globe-cta::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 80% at 70% 50%,rgba(79,138,255,.04),transparent); pointer-events:none; }
  .globe-cta + .globe-cta { border-top:none; }
  .gcta-text { flex:1; }
  .gcta-text h3 { font-size:clamp(1.8rem,2.5vw,2.4rem); font-weight:800; letter-spacing:-.04em; margin-bottom:12px; }
  .gcta-text h3 span { color:var(--accent); }
  .gcta-text p { font-family:var(--font-m); font-size:.84rem; color:var(--muted); line-height:1.7; margin-bottom:28px; }
  .gcta-btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-m); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:#fff; background:var(--accent); text-decoration:none; padding:14px 28px; clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%); transition:background .3s,transform .2s; font-weight:600; }
  .gcta-btn:hover { background:var(--accent2); transform:translateY(-2px); }
  .globe-wrap { position:relative; flex-shrink:0; width:220px; display:flex; flex-direction:column; align-items:center; gap:12px; }
  .globe-wrap canvas { display:block; border-radius:50%; filter:drop-shadow(0 0 20px rgba(70,140,255,0.5)) drop-shadow(0 0 40px rgba(70,140,255,0.2)); }
  .globe-wrap .globe-tip { font-family:var(--font-m); font-size:.65rem; color:var(--muted); letter-spacing:.12em; text-align:center; transition:color .4s; }
  .globe-wrap:hover .globe-tip { color:var(--accent); }

  /* ══ CONTACT ══ */
  #contact { padding:140px 0 80px; }
  .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); margin:60px 48px 0; }
  .c-info { background:var(--bg); padding:64px 48px; }
  .c-info h2 { font-size:clamp(2rem,3vw,3rem); font-weight:800; letter-spacing:-.04em; line-height:1.05; margin-bottom:24px; }
  .c-info h2 span { color:var(--accent); }
  .c-info > p { font-family:var(--font-m); font-size:.86rem; line-height:1.8; color:var(--muted); margin-bottom:48px; }
  .c-links { display:flex; flex-direction:column; gap:16px; }
  .c-link { display:flex; align-items:center; gap:16px; font-family:var(--font-m); font-size:.84rem; color:var(--text); text-decoration:none; padding:16px; border:1px solid var(--border); transition:border-color .3s,color .3s; }
  .c-link:hover { border-color:var(--accent); color:var(--accent); }
  .c-link-icon { width:32px; height:32px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border); flex-shrink:0; }
  .c-form { background:var(--bg); padding:64px 48px; }
  .f-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
  .f-group { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
  .f-group label { font-family:var(--font-m); font-size:.68rem; color:var(--muted); letter-spacing:.12em; text-transform:uppercase; }
  .f-group input, .f-group textarea { background:var(--surface); border:1px solid var(--border); color:var(--text); font-family:var(--font-m); font-size:.86rem; padding:14px 18px; outline:none; transition:border-color .3s; resize:none; }
  .f-group input:focus, .f-group textarea:focus { border-color:rgba(79,138,255,.4); }
  .f-group textarea { height:120px; }
  .f-submit { font-family:var(--font-m); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:#fff; background:var(--accent); border:none; padding:18px 48px; cursor:none; font-weight:600; clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%); transition:background .3s,transform .2s; width:100%; }
  .f-submit:hover { background:var(--accent2); transform:translateY(-2px); }
  .social-strip { display:flex; margin:0 48px; border:1px solid var(--border); border-top:none; }
  .soc-btn { flex:1; display:flex; align-items:center; justify-content:center; gap:10px; padding:20px; font-family:var(--font-m); font-size:.72rem; color:var(--muted); text-decoration:none; letter-spacing:.08em; text-transform:uppercase; border-right:1px solid var(--border); transition:color .3s,background .3s; }
  .soc-btn:last-child { border-right:none; }
  .soc-btn:hover { color:var(--accent2); background:rgba(255,107,53,.04); }

  footer { border-top:1px solid var(--border); padding:32px 48px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:1; }
  footer p { font-family:var(--font-m); font-size:.72rem; color:var(--muted); }
  footer span { color:var(--accent); }
  ::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#333}::-webkit-scrollbar-thumb:hover{background:var(--accent)}
  body::before { content:''; position:fixed; inset:0; z-index:999; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); opacity:.02; pointer-events:none; }

  @media(max-width:900px){
    nav{padding:20px 24px}.nav-links{display:none}
    .home-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
    .services-grid,.port-grid{grid-template-columns:1fr}
    .home-grid,.about-header,.services-header,.port-header,.about-grid,.services-grid,.port-grid,.contact-grid,.social-strip,.timeline,.process-section,.showcase-wrap,.globe-cta{margin-left:24px;margin-right:24px;padding-left:24px;padding-right:24px}
    .stats-row,.process-steps{flex-direction:column}
    .globe-cta{flex-direction:column;gap:32px}
    footer{padding:24px;flex-direction:column;gap:12px;text-align:center}
    .showcase-stage{padding:20px}
  }
/* ── WordPress Admin Bar Offset ── */
.admin-bar nav { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar nav { top: 46px; }
}

/* ── WordPress alignment classes ── */
.alignleft { float: left; margin-right: 1.5em; }
.alignright { float: right; margin-left: 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-family: var(--font-m); font-size: 0.75rem; color: var(--muted); text-align: center; padding: 4px 0; }
