/*
Theme Name: RevByt
Theme URI: https://revbyt.com
Author: RevByt
Author URI: https://revbyt.com
Description: Custom theme for RevByt — Computer Repair, Design & Print in Terrell, TX ————––––––––––––——————————————–––––––––––––––————— Edit via HostGator File Manager: public_html/website_26d45723/wp-content/themes/revbyt-theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: revbyt
*/


/* ============================================================
   GLOBAL VARIABLES — edit brand colors, shadows here
   --blue: primary brand blue
   --navy: dark navy used for headings
   --body-bg: page background color
   ============================================================ */

:root {
    --blue:#0066CC; --teal:#0099CC;
    --blue-light:#E8F2FF; --blue-pale:#F0F7FF;
    --navy:#0A0F1E; --body-bg:#F5F7FA; --white:#FFFFFF;
    --text:#0D1117; --muted:#6B7280; --border:#E2E8F0;
    --shadow:0 4px 24px rgba(0,102,204,0.08);
    --shadow-md:0 8px 40px rgba(0,102,204,0.13);
  }

/* ============================================================
   BASE & TYPOGRAPHY
   ============================================================ */

  h1, h2, h3, h4 { text-wrap: balance !important; }
  .section-sub, .hero-sub, .team-bio, .review-text, .s-card p, .p-card-sub, .footer-tagline, .cinfo-row small, .trust-label { text-wrap: pretty !important; }
  html { scroll-behavior:smooth; overflow-x:hidden; }
  body { background:var(--body-bg); color:var(--text); font-family:'Poppins',sans-serif; overflow-x:hidden; margin:0; }


/* ============================================================
   NAVIGATION — header bar, logo, nav links, CTA button
   ============================================================ */

  nav { position:fixed; top:0; left:0; right:0; z-index:200; display:flex; align-items:center; justify-content:space-between; padding:0 5rem; height:68px; background:rgba(255,255,255,0.93); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); box-shadow:0 1px 12px rgba(0,0,0,0.06); }
  .nav-inner { max-width:1200px; margin:0 auto; width:100%; display:flex; align-items:center; justify-content:space-between; height:100%; }
  .logo { font-family:'Exo 2',sans-serif; font-weight:900; font-size:1.5rem; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); text-decoration:none; }
  nav ul { list-style:none; display:flex; gap:2.5rem; }
  nav ul a { color:var(--muted); text-decoration:none; font-size:.82rem; font-weight:500; transition:color .2s; }
  nav ul a:hover { color:var(--blue); }
  .nav-cta { background:var(--blue); color:#fff; padding:.5rem 1.3rem; border-radius:100px; font-weight:600; font-size:.82rem; text-decoration:none; transition:transform .2s,opacity .2s; }
  .nav-cta:hover { transform:translateY(-2px); opacity:.9; }
  nav.menu-open .nav-cta { visibility:hidden; pointer-events:none; }
  .hamburger span { display:block; width:22px; height:2px; background:var(--navy); border-radius:2px; transition:all .3s; }
  .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:.4rem; background:none; border:none; z-index:300; }
  .hamburger span { display:block; width:22px; height:2px; background:var(--navy); border-radius:2px; transition:all .3s; }
  .hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity:0; }
  .hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }


/* ============================================================
   MOBILE NAVIGATION — hamburger menu, mobile links
   ============================================================ */

  .mobile-nav { display:none; position:fixed; top:68px; left:0; right:0; background:#fff; border-bottom:none; box-shadow:none; z-index:199; padding:.5rem 0 0; flex-direction:column; gap:0; align-items:center; }
  .mobile-nav.open { display:flex; padding-bottom:2rem; }
  .mobile-nav a { color:var(--muted); text-decoration:none; font-size:.95rem; font-weight:500; padding:1rem 1.5rem; width:100%; text-align:center; border-bottom:1px solid var(--border); transition:color .2s; }
  .mobile-nav a:hover { color:var(--blue); }
  .mobile-nav .mob-contact-btn:hover { color:#fff; }
  .mobile-nav .mob-contact-btn { display:block; margin-top:1.8rem; background:var(--blue); color:#fff; text-align:center; padding:.85rem 1.9rem; border-radius:100px; font-weight:600; font-size:.88rem; border-bottom:none; border:1.5px solid var(--blue); max-width:276px; box-sizing:border-box; }
  .mobile-nav .mob-contact-btn:hover { opacity:.9; }
  .mobile-nav-btns { display:none; }
  .mobile-nav-btns.open { display:none; }

/* ============================================================
   HERO SECTION — headline, subtext, buttons, services card
   To add a background image: uncomment the lines below
   ============================================================ */

  /* === HERO BACKGROUND IMAGE — paste your image URL below to enable === */
  /* .hero { background-image: url('YOUR-IMAGE-URL-HERE'); background-size:cover; background-position:center; } */
  /* .hero-bg-overlay { display:block; } */ /* uncomment this too when using a background image */
  .hero { overflow:hidden; }
  .hero-bg-overlay { display:none; position:absolute; inset:0; }
  .hero-dots { position:absolute; inset:0; opacity:0.025; background-image:radial-gradient(var(--blue) 1.5px,transparent 1.5px); background-size:30px 30px; }
  .hero-inner { display:grid; grid-template-columns:1fr 420px; gap:4rem; align-items:center; width:100%; max-width:1200px; margin:0 auto; position:relative; }
  .hero-badge { display:inline-flex; align-items:center; gap:.5rem; background:var(--blue-light); border:1px solid rgba(0,102,204,0.2); color:var(--blue); padding:0rem 1rem; border-radius:100px; font-size:.7rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; margin-bottom:1.4rem; animation:fadeUp .6s ease both; }
  .hero-badge svg { width:13px; height:13px; flex-shrink:0; }
  @keyframes blink { 0%,100%{opacity:1} 50%{opacity:.2} }
  @keyframes fadeUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
  h1 { font-family:'Exo 2',sans-serif; font-weight:900; font-size:clamp(2.6rem,5vw,4.4rem); line-height:1.05; letter-spacing:-.01em; color:var(--navy); margin-bottom:1.2rem; animation:fadeUp .6s .1s ease both; }
  h1 em { color:var(--blue); font-style:normal; }
  .hero-sub { font-size:.95rem; color:var(--muted); line-height:1.8; max-width:500px; margin-bottom:2.2rem; font-weight:300; animation:fadeUp .6s .2s ease both; word-break:normal; overflow-wrap:break-word; }
  .hero-btns { display:flex; gap:1rem; flex-wrap:wrap; animation:fadeUp .6s .3s ease both; }
  .btn-primary { background:var(--blue); color:#fff; padding:.85rem 1.9rem; border-radius:100px; font-family:'Poppins',sans-serif; font-weight:600; font-size:.88rem; text-decoration:none; transition:transform .2s,opacity .2s; border:1.5px solid var(--blue); max-width:276px; box-sizing:border-box; text-align:center; }
  .hero-btns .btn-primary, .hero-btns .btn-outline { width:225px; display:inline-block; }
  .btn-primary:hover { transform:translateY(-2px); opacity:.9; }
  .btn-outline { border:1.5px solid var(--blue); color:var(--blue); background:var(--white); padding:.85rem 1.9rem; border-radius:100px; font-family:'Poppins',sans-serif; font-weight:600; font-size:.88rem; text-decoration:none; transition:all .2s; max-width:276px; box-sizing:border-box; text-align:center; }
  .btn-outline:hover { background:var(--blue); color:#fff; border-color:var(--blue); }


/* ============================================================
   IMAGE BANNERS — full-width photo sections between content
   Replace YOUR-IMAGE-URL-HERE in front-page.php with real URLs
   ============================================================ */

  .img-banner { padding:0 5rem; background:#fff; overflow:hidden; display:flex; align-items:stretch; }
  .img-banner .section-inner { width:100%; display:flex; align-items:stretch; }
  .img-banner-photo { width:100%; height:auto; display:block; opacity:1; border-radius:14px; border: 1.5px solid var(--border); margin-bottom: 2.75rem; }
  .photo-hover-wrap { position:relative; display:block; border-radius:14px; overflow:hidden; margin-bottom:2.75rem; }
  .photo-hover-wrap .img-banner-photo { margin-bottom:0; border-radius:0; border:none; }
  .photo-hover-wrap::after { content:''; position:absolute; inset:0; background:rgba(0,102,204,0.5); opacity:0; transition:opacity .3s; pointer-events:none; }
  .photo-hover-wrap:hover::after { opacity:.35; }
  .photo-hover-wrap img, .photo-hover-wrap video { pointer-events:none; user-select:none; -webkit-user-drag:none; }
  .photo-hover-wrap--circle { border-radius:50%; overflow:hidden; width:125px; height:125px; margin-bottom:0; outline:2px solid var(--blue); outline-offset:4px; }
  .photo-hover-wrap--circle img { width:100%; height:100%; object-fit:cover; }
  img.img-banner-photo:not([src]), .img-banner-photo[src="YOUR-IMAGE-URL-HERE"] { display: none; margin-bottom:0; }
  video.img-banner-photo:has(source[src="YOUR-VIDEO-URL-HERE"]) { display:none; margin-bottom:0; }

  .hero-card { background:var(--white); border-radius:20px; padding:2rem; box-shadow:var(--shadow-md); border:1px solid var(--border); animation:fadeUp .6s .35s ease both; box-sizing:border-box; }
  .hero-card-title { font-size:.7rem; font-weight:700; color:var(--muted); letter-spacing:.09em; text-transform:uppercase; margin-bottom:.75rem; }
  .hero-service-row { display:flex; align-items:center; gap:.9rem; padding:1rem 0; border-bottom:1px solid var(--border); }
  .hero-service-row:last-child { border-bottom:none; }
  .hs-icon { width:36px; height:36px; border-radius:50%; background:var(--blue-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--blue); }
  .hs-icon svg { width:20px; height:20px; stroke-width:1.75; }
  .hs-name { font-weight:600; font-size:.85rem; color:var(--navy); }
  .hs-price { font-size:.75rem; color:var(--muted); margin-top:.1rem; }
  .hs-badge { margin-left:auto; background:var(--blue-light); color:var(--blue); font-size:.65rem; font-weight:600; padding:.2rem .6rem; border-radius:100px; white-space:nowrap; }
  .hero-stats-mini { display:flex; margin-top:0; padding-top:1.6rem; border-top:none; }
  .hsm { flex:1; text-align:center; }
  .hsm+.hsm { border-left:1px solid var(--border); }
  .hsm-num { font-family:'Exo 2',sans-serif; font-size:1.2rem; font-weight:900; color:var(--blue); letter-spacing:.02em; }
  .hsm-label { font-size:.65rem; color:var(--muted); margin-top:.15rem; }


/* ============================================================
   SECTIONS & LAYOUT — shared section padding, headings, eyebrows
   ============================================================ */

  section { padding:5.5rem 5rem; scroll-margin-top:110px; }
  .section-inner { max-width:1200px; margin:0 auto; width:100%; }
  .eyebrow { font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); margin-bottom:.7rem; }
  h2 { font-family:'Exo 2',sans-serif; font-weight:900; font-size:clamp(1.8rem,3.5vw,2.7rem); line-height:1.1; color:var(--navy); margin-bottom:.85rem; letter-spacing:.01em; }
  .section-sub { color:var(--muted); font-size:.92rem; line-height:1.8; max-width:520px; margin-bottom:3rem; font-weight:300; }
  #services { background:var(--white); }


/* ============================================================
   SERVICES SECTION
   ============================================================ */

  .services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; grid-auto-rows:1fr; }
  .s-card { background:var(--body-bg); border:1px solid var(--border); border-radius:14px; padding:1.8rem; transition:transform .3s,box-shadow .3s,border-color .3s; position:relative; overflow:hidden; text-align:center; display:flex; flex-direction:column; }
  .s-card:nth-child(even) { background:var(--white); }
  .s-card p { flex:1; }
  .s-card::after { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--blue),var(--teal)); opacity:0; transition:opacity .3s; }
  .s-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); border-color:rgba(0,102,204,0.2); }
  .s-card:hover::after { opacity:1; }
  .s-icon { width:54px; height:54px; border-radius:50%; background:var(--blue-light); display:flex; align-items:center; justify-content:center; margin:0 auto 1.2rem; color:var(--blue); }
  .s-icon svg { width:30px; height:30px; stroke-width:1.5; }
  .s-card h3 { font-family:'Exo 2',sans-serif; font-size:1rem; font-weight:800; color:var(--navy); margin-bottom:.55rem; letter-spacing:.02em; }
  .s-card p { font-size:.82rem; color:var(--muted); line-height:1.7; }
  .s-card-left { display:flex; flex-direction:column; align-items:center; }
  .s-card-divider { display:none; }

/* ============================================================
   ABOUT / TEAM SECTION
   ============================================================ */

  .team-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:2.5rem; }
  .team-card { background:var(--white); border:1.5px solid var(--border); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; }
  .team-photo-wrap { width:100%; display:flex; justify-content:center; padding:2rem 0 1rem; }
  .team-photo-placeholder:not([src]), .team-photo-placeholder[src="FRANKS-PHOTO-URL-HERE"], .team-photo-placeholder[src="MAGGIES-PHOTO-URL-HERE"] { display:none; }
  .team-photo-wrap:has(.team-photo-placeholder:not([src])), .team-photo-wrap:has(.team-photo-placeholder[src="FRANKS-PHOTO-URL-HERE"]), .team-photo-wrap:has(.team-photo-placeholder[src="MAGGIES-PHOTO-URL-HERE"]) { display:none; }
  .team-photo-placeholder { width:auto; height:auto; max-width:125px; max-height:125px; min-height:0; border-radius:50%; background:var(--blue-light); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; color:var(--blue); font-size:.5rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
  .team-info { padding:1.8rem; }
  .team-name { font-family:'Exo 2',sans-serif; font-size:1.4rem; font-weight:800; color:var(--navy); margin-bottom:.2rem; text-align:center; letter-spacing:.01em; }
  .team-role { font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); margin-bottom:1rem; text-align:center; }
  .team-bio { font-size:.82rem; color:var(--muted); line-height:1.8; }
  /* Reviews */
  #reviews { background:var(--body-bg); }

/* ============================================================
   REVIEWS / WHAT CUSTOMERS SAY
   ============================================================ */

  .reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2.5rem; }
  .review-card { background:var(--white); border:1.5px solid var(--border); border-radius:16px; padding:1.8rem; display:flex; flex-direction:column; gap:1rem; }
  .review-stars { display:flex; gap:3px; color:#f59e0b; }
  .review-stars svg { width:16px; height:16px; }
  .review-text { font-size:.82rem; color:var(--muted); line-height:1.8; flex:1; font-style:italic; }
  .review-author { font-size:.78rem; font-weight:700; color:var(--navy); }
  .review-source { font-size:.72rem; color:var(--muted); margin-top:.1rem; }
  .reviews-cta { margin-top:1.5rem; display:flex; gap:1rem; justify-content:center; align-items:center; flex-wrap:wrap; }
  .reviews-cta-wrap { margin-top:3.3rem; border-top:1px solid var(--border); padding-top:1.8rem; }
  .reviews-cta-label { font-family:'Exo 2',sans-serif; font-size:1rem; font-weight:800; color:var(--navy); white-space:nowrap; letter-spacing:.02em; }
  .review-btn-divider { width:1px; height:14px; background:currentColor; opacity:.3; }
  .review-btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem 1.9rem; border-radius:100px; font-family:'Poppins',sans-serif; font-size:.88rem; font-weight:600; text-decoration:none; transition:all .2s; border:1.5px solid var(--blue); width:276px; max-width:276px; box-sizing:border-box; }
  .review-btn.google { background:var(--blue); color:#fff; }
  .review-btn.facebook { background:transparent; color:var(--blue); }
  .review-btn svg { width:18px; height:18px; }

  #pricing { background:var(--blue-pale); }

/* ============================================================
   PRICING CARDS
   ============================================================ */

  .pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
  .p-card { background:var(--white); border:1.5px solid var(--border); border-radius:16px; padding:2rem; transition:transform .3s; text-align:center; display:flex; flex-direction:column; align-items:center; }
  .p-card.featured { border-color:var(--blue); box-shadow:0 0 0 4px rgba(0,102,204,0.08),var(--shadow-md); transform:scale(1.03); }
  .p-featured-tag { background:var(--blue); color:#fff; font-size:.65rem; font-weight:700; padding:.35rem .75rem; border-radius:100px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:.8rem; letter-spacing:.04em; text-transform:uppercase; line-height:normal; }
  .p-card h3 { font-family:'Exo 2',sans-serif; font-size:.98rem; font-weight:800; color:var(--navy); margin-bottom:.55rem; letter-spacing:.02em; }
  .p-card-sub { font-size:.78rem; color:var(--muted); margin-bottom:1.2rem; }
  .p-amount { font-family:'Exo 2',sans-serif; font-size:2.5rem; font-weight:900; color:var(--blue); margin-bottom:1.3rem; line-height:1; display:flex; align-items:center; justify-content:center; gap:.5rem; }
  .p-amount small { font-size:1rem; color:var(--muted); font-family:'Poppins',sans-serif; font-weight:400; }
  .p-list { list-style:none; display:flex; flex-direction:column; gap:.55rem; margin-bottom:1.6rem; text-align:left; width:100%; padding:1.2rem 0 0; border-top:1px solid var(--border); }
  .p-list li { font-size:.82rem; color:var(--muted); display:flex; gap:.6rem; align-items:flex-start; }
  .p-check { width:15px; height:15px; flex-shrink:0; color:var(--blue); margin-top:2px; stroke-width:2.5; }
  .p-btn { width:100%; max-width:276px; padding:.85rem 0; border-radius:100px; border:1.5px solid var(--blue); background:transparent; color:var(--blue); font-family:'Poppins',sans-serif; font-weight:600; font-size:.88rem; cursor:pointer; transition:all .2s; display:block; margin:0 auto; text-decoration:none; box-sizing:border-box; }
  .p-btn.filled { background:var(--blue); color:#fff; }
  .p-btn:hover { background:var(--blue); color:#fff; border-color:var(--blue); }
  .p-btn.filled:hover { transform:translateY(-2px); opacity:.9; background:var(--blue); color:#fff; border-color:var(--blue); border-width:1.5px; }

  /* Custom PC card as full-width price card */
  .p-card-pc { background:linear-gradient(135deg,var(--navy) 0%,#0d3d7a 100%); border-radius:16px; padding:2rem; display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:center; margin-top:1.5rem; }
  .p-card-pc-left { display:flex; flex-direction:column; align-items:center; text-align:center; padding-right:2rem; border-right:1px solid rgba(255,255,255,.15); }
  .p-card-pc-left h3 { font-family:'Exo 2',sans-serif; font-size:.98rem; font-weight:800; color:#fff; margin-bottom:.55rem; letter-spacing:.02em; }
  .p-card-pc-left .p-card-sub { color:rgba(255,255,255,.65); margin-bottom:1.2rem; }
  .p-card-pc-left .p-amount { color:#5bc8ff; justify-content:center; margin-bottom:1.6rem; }
  .p-card-pc-left .p-amount small { color:rgba(255,255,255,.5); }
  .p-card-pc-left .p-btn { max-width:276px; border-color:#5bc8ff; color:#5bc8ff; background:transparent; }
  .p-card-pc-left .p-btn:hover { background:#5bc8ff; color:var(--navy); border-color:#5bc8ff; }
  .p-btn-desktop { display:block; }
  .p-btn-mobile { display:none; }
  .p-card-pc-right .p-asterisk-note { display:none; }
  .p-asterisk-desktop { text-align:center; font-weight:500; }
  .p-card-pc-right { display:flex; flex-direction:column; justify-content:center; align-items:center; padding-left:2rem; }
  .p-card-pc-right .p-list li { color:rgba(255,255,255,.65); }
  .p-card-pc-right .p-list { border-top:none; gap:1.5rem; max-width:400px; width:100%; }
  .p-card-pc-right .p-check { color:#5bc8ff; }
  .p-card-pc-right .p-btn { border-color:#5bc8ff; color:#5bc8ff; background:transparent; display:none; }
  .p-card-pc-right .p-btn:hover { background:#5bc8ff; color:var(--navy); border-color:#5bc8ff; }

/* ============================================================
   PRICE TABLES (full list with View All Pricing)
   ============================================================ */

  .pt-truncated { position:relative; }
  .pt-overflow { }
  .pt-overflow > :first-child { border-top:1px solid var(--border); }
  .price-tables { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:3rem; align-items:start; }
  .pt-wrapper { position:relative; padding-bottom:0; }
  .pt-tables-fade { display:none; }
  .pt-fade-overlay { display:none; }
  .pt-view-all { background:var(--blue); color:#fff; padding:.85rem 1.9rem; border-radius:100px; font-family:'Poppins',sans-serif; font-weight:600; font-size:.88rem; border:1.5px solid var(--blue); cursor:pointer; transition:transform .2s,opacity .2s; max-width:276px; width:100%; }
  .pt-view-all:hover { transform:translateY(-2px); opacity:.9; }
  @media(min-width:901px) {
    .pt-overflow { display:none; }
    .pt-overflow.open { display:block; }
    .pt-tables-fade { display:block; pointer-events:none; position:absolute; bottom:60px; left:0; right:0; height:200px; background:linear-gradient(to bottom, transparent, #F0F7FF 80%); z-index:2; }
    .pt-tables-fade.open { display:none; }
    .pt-fade-overlay { display:flex; justify-content:center; align-items:center; padding:0; padding-top:1rem; position:relative; z-index:3; background:transparent; width:100%; }
    .pt-fade-overlay.open { padding-top:2rem; }
  }
  .pt-mobile-close { display:none; }
  @media(max-width:900px) { .pt-mobile-close { display:flex; justify-content:center; padding:1.2rem 1.4rem; margin-bottom:1.2rem; }
  .pt-mobile-close .pt-view-all { max-width:276px; width:100%; background:transparent; color:var(--blue); border-color:var(--blue); } }
  .pt-toggle { display:none; width:100%; background:var(--white); border:none; cursor:pointer; font-family:'Exo 2',sans-serif; font-weight:800; font-size:1rem; color:var(--navy); padding:0 0 0 1.4rem; text-align:left; justify-content:space-between; align-items:stretch; min-height:3.8rem; }
  .pt-toggle span.pt-toggle-label { display:flex; align-items:center; }
  .pt-toggle .pt-toggle-arrow { display:flex; align-items:center; justify-content:center; background:transparent; padding:0 1.2rem; margin-left:1rem; align-self:stretch; flex-shrink:0; }
  .pt-toggle .pt-toggle-arrow svg { width:18px; height:18px; transition:transform .3s, background .2s; color:var(--blue); stroke:var(--blue); stroke-width:3; background:var(--blue-light); border-radius:50%; padding:6px; box-sizing:content-box; }
  .pt-toggle:hover .pt-toggle-arrow svg { background:var(--blue); stroke:#fff; color:#fff; }
  .pt-toggle.open .pt-toggle-arrow svg { transform:rotate(180deg); }
  .pt-divider { display:none; }
  .pt { background:var(--white); border-radius:14px; border:1px solid var(--border); overflow:hidden; height:100%; box-sizing:border-box; }
  .pt-header { padding:1.4rem 1.4rem; background:var(--white); color:var(--navy); font-family:'Exo 2',sans-serif; font-weight:800; font-size:1rem; display:flex; align-items:center; justify-content:center; text-align:center; border-bottom:1px solid var(--border); letter-spacing:.02em; }
  @media(max-width:900px) {
    .pt-toggle { display:flex; }
    .pt-header { display:none; }
    .pt-body { display:none; overflow:hidden; }
    .pt-body.open { display:block; }
    .price-tables { gap:1rem; }
    .pt-divider { display:none; }
  }
  .pt-row { display:flex; justify-content:space-between; align-items:center; padding:.72rem 1.4rem; border-bottom:1px solid var(--border); font-size:.82rem; min-height:3.2rem; box-sizing:border-box; }
  .pt-row:last-child { border-bottom:none; }
  .pt-row span:first-child { color:var(--text); font-weight:500; font-size:.85rem; }
  .pt-price { background:var(--blue-light); color:var(--blue); font-size:.72rem; font-weight:600; padding:.2rem .7rem; border-radius:100px; white-space:nowrap; flex-shrink:0; margin-left:.8rem; }
  .pt-row-sub { display:flex; justify-content:space-between; align-items:center; padding:.2rem 1.4rem; border-bottom:none; background:none; }
  .pt-row-group .pt-row { padding-bottom:.15rem; padding-top:.72rem; min-height:unset; }
  .pt-row-group .pt-row-sub:first-of-type { padding-top:0; }
  .pt-row-group .pt-row-sub:last-of-type { padding-bottom:.75rem; }
  .pt-row-sub:last-of-type { border-bottom:1px solid var(--border); }
  .pt-row-sub-label { font-size:.78rem; color:var(--muted); font-weight:400; padding-left:.5rem; }
  .pt-row-group { border-bottom:1px solid var(--border); }
  .pt-row-group .pt-row { border-bottom:none; }
  .pt-row-group .pt-row-sub:last-child { border-bottom:none; }
  .pt-row.quote .pt-price { background:var(--blue); color:#fff; cursor:pointer; text-decoration:none; transition:transform .2s,opacity .2s; }
  .pt-row.quote .pt-price:hover { transform:translateY(-2px); opacity:.9; }
  .pt-row.free .pt-price { background:#dcfce7; color:#16A34A; }
  .pt-note { font-size:.75rem !important; font-weight:400 !important; font-style:italic; color:var(--muted) !important; padding:.3rem 0; display:block; line-height:1.5; }
  .pt-row.has-sub { align-items:center; }
  .pt-row-label { display:flex; flex-direction:column; gap:.15rem; }
  .pt-row-label > span:first-child:not(.pt-note) { color:var(--text); font-weight:500; font-size:.85rem; }
  .pt-row-label .hs-price { font-weight:400; }

  #why { background:var(--white); }

/* ============================================================
   WHY US SECTION
   ============================================================ */

  .why-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
  .why-grid > * { min-width:0; }
  .why-visual { background:linear-gradient(135deg,var(--blue-pale),var(--blue-light)); border:1px solid rgba(0,102,204,0.15); border-radius:20px; padding:2.5rem; margin-top:3.2rem; }
  .why-visual-title { font-family:'Exo 2',sans-serif; font-weight:700; font-size:.68rem; color:var(--blue); letter-spacing:.14em; text-transform:uppercase; margin-bottom:1.2rem; }
  .tag-cloud { display:grid; grid-template-columns:repeat(2,1fr); gap:0.7rem 1.2rem; margin-top:1.4rem; align-items:start; }
  .tag { background:var(--white); border:1px solid var(--border); color:var(--navy); padding:.38rem .9rem; border-radius:100px; font-size:.78rem; font-weight:500; box-shadow:0 2px 8px rgba(0,0,0,0.04); transition:border-color .2s,color .2s; text-align:center; min-width:0; height:25px; display:flex; align-items:center; justify-content:center; line-height:1.2; }
  .tag:hover { border-color:var(--blue); color:var(--blue); }
  .why-points { display:flex; flex-direction:column; gap:1.6rem; margin-top:2rem; }
  .why-point { display:flex; gap:1.1rem; align-items:flex-start; }
  .why-num { width:46px; height:46px; border-radius:50%; background:var(--blue-light); color:var(--blue); font-family:'Exo 2',sans-serif; font-weight:900; font-size:1rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .why-point h4 { font-family:'Exo 2',sans-serif; font-size:1rem; font-weight:800; color:var(--navy); margin-bottom:.22rem; letter-spacing:.02em; margin-top:.65rem; }
  .why-point p { font-size:.82rem; color:var(--muted); line-height:1.7; max-width:450px; }


/* ============================================================
   TRUST STRIP — FREE / 24HR / ZERO / LOCAL stats bar
   ============================================================ */

  .trust-strip { background:var(--blue); padding:5.5rem 5rem; display:flex; flex-direction:column; align-items:center; gap:2rem; }
  .trust-3in1 { text-align:center; }
  .trust-3in1-label { font-size:.68rem; color:#fff; letter-spacing:.14em; text-transform:uppercase; margin-bottom:.9rem; font-weight:700; }
  .trust-3in1-list { display:flex; gap:1.4rem; align-items:center; justify-content:center; margin-top:.7rem; flex-wrap:wrap; }
  .trust-3in1-item { display:flex; align-items:center; gap:.45rem; color:#fff; font-family:'Exo 2',sans-serif; font-size:clamp(1.8rem,3.5vw,2.7rem); font-weight:800; letter-spacing:.01em; }
  .trust-row { display:grid; grid-template-columns:repeat(4,1fr); gap:0; width:100%; max-width:900px; max-height:150px; border:2px solid rgba(255,255,255,.2); border-radius:12px; overflow:hidden; }
  .trust-item { text-align:center; padding:1.2rem 1.5rem; border-left:2px solid rgba(255,255,255,.2); min-width:0; }
  @media(min-width:901px) { .trust-item { padding:1.8rem 1.5rem; } }
  .trust-item:first-child { border-left:none; }
  .trust-num { font-family:'Exo 2',sans-serif; font-size:1.4rem; font-weight:800; color:#fff; overflow-wrap:break-word; word-break:break-word; letter-spacing:.02em; }
  .trust-label { font-size:.78rem; font-weight:500; color:rgba(255,255,255,.65); margin-top:.2rem; overflow-wrap:break-word; }

  #about { background:var(--white); }
  #contact { background:var(--blue-pale); }

/* ============================================================
   CONTACT / GET IN TOUCH SECTION & FORM
   ============================================================ */

  .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
  .contact-info { max-width:358px; }
  .contact-info p { color:var(--muted); line-height:1.8; margin-bottom:2rem; font-size:.9rem; font-weight:300; text-wrap:pretty !important; padding-right:2rem; }
  .cinfo-wrap { display:flex; flex-direction:column; }
  .cinfo-row { display:flex; gap:.9rem; align-items:flex-start; margin-bottom:1.7rem; }
  .cinfo-icon { width:38px; height:38px; border-radius:50%; background:rgba(0,102,204,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--blue); }
  .cinfo-icon svg { width:20px; height:20px; }
  .cinfo-row strong { font-size:.85rem; color:var(--navy); font-weight:600; display:block; }
  .cinfo-row small { font-size:.78rem; color:var(--muted); margin-top:.1rem; display:block; }
  .contact-form-wrap { background:var(--white); border-radius:18px; border:1.5px solid var(--border); padding:2.2rem; box-shadow:var(--shadow); }
  .form-title { font-family:'Exo 2',sans-serif; font-weight:800; font-size:1rem; color:var(--navy); margin-bottom:1.4rem; letter-spacing:.03em; }
  .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  .fg { display:flex; flex-direction:column; gap:.35rem; margin-bottom:.9rem; }
  .fg label { font-size:.72rem; font-weight:600; color:var(--navy); letter-spacing:.02em; }
  .fg input,.fg select,.fg textarea { border:1.5px solid var(--border); border-radius:8px; padding:.72rem .9rem; font-family:'Poppins',sans-serif; font-size:.82rem; color:var(--text); background:var(--body-bg); outline:none; transition:border-color .2s,box-shadow .2s; }
  .fg input::placeholder,.fg select::placeholder,.fg textarea::placeholder { color:#c0c8d4; }
  .fg select:invalid, .fg select option[value=""] { color:#c0c8d4; }
  .fg select option:not([value=""]) { color:var(--text); }
  .fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,102,204,0.1); background:var(--white); }
  .fg textarea { height:110px; resize:vertical; }
  .form-submit { width:100%; max-width:276px; background:var(--blue); color:#fff; border:1.5px solid var(--blue); border-radius:100px; padding:.85rem 1.9rem; font-family:'Poppins',sans-serif; font-weight:600; font-size:.88rem; cursor:pointer; transition:transform .2s,opacity .2s; margin-top:1.4rem; display:block; margin-left:auto; margin-right:auto; }
  .form-submit:hover { transform:translateY(-2px); opacity:.9; }


/* ============================================================
   FOOTER
   ============================================================ */

  footer { background:var(--body-bg); padding:0 5rem; }
  .footer-inner { max-width:1200px; margin:0 auto; width:100%; padding:4rem 0 2rem; box-sizing:border-box; }
  .footer-grid { display:grid; grid-template-columns:0.8fr 1.1fr 1.1fr; gap:0; margin-bottom:3rem; align-items:stretch; width:100%; }
  .footer-grid > div { padding:0 3rem; border-left:1px solid var(--border); min-width:0; }
  .footer-grid > div:first-child { padding-left:0; border-left:none; }
  .footer-grid > div:last-child { padding-right:0; }
  .footer-logo { font-family:'Exo 2',sans-serif; font-weight:900; font-size:1.3rem; color:var(--navy); letter-spacing:.06em; text-transform:uppercase; line-height:1; margin:0 0 .73rem; }
  .footer-logo span { color:var(--blue); }
  .footer-tagline { font-size:.82rem; color:var(--muted); margin-bottom:.7rem; line-height:1.5; }
  .footer-col-title { font-family:'Exo 2',sans-serif; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--navy); margin:0 0 1rem; line-height:1; padding-top:.35rem; }
  .footer-links { display:flex; flex-direction:column; gap:.7rem; }
  .footer-links a { font-size:.82rem; color:var(--muted); text-decoration:none; transition:color .2s; line-height:1.5; }
  .footer-links a:hover { color:var(--blue); text-decoration:underline; }
  .footer-info { display:flex; flex-direction:column; gap:1rem; }
  .footer-info-row { display:flex; align-items:flex-start; gap:.6rem; }
  .footer-info-row svg { width:15px; height:15px; flex-shrink:0; color:var(--muted); margin-top:2px; }
  .footer-info-row span { font-size:.82rem; color:var(--muted); line-height:1.5; }
  .footer-bottom { display:flex; flex-direction:column; align-items:flex-start; gap:0; width:100%; }
  .footer-bottom p { color:var(--muted); font-size:.75rem; }
  .footer-privacy-link { color:var(--muted); text-decoration:none; transition:color .2s; }
  .footer-privacy-link:hover { color:var(--blue); text-decoration:underline; }
  .fb-link { transition:color .2s; text-decoration:underline; }
  .fb-link:hover { color:var(--blue) !important; text-decoration:underline; }
  footer .fb-link:hover { color:var(--blue) !important; }

/* ============================================================
   SOCIAL BAR — Connect With Us section
   Edit social icon colors or background here
   ============================================================ */

  .social-bar { background:#0066CC; padding:5.5rem 5rem; display:flex; flex-direction:column; align-items:center; gap:.8rem; text-align:center; }
  .social-bar-row { display:flex; align-items:center; gap:0; }
  .social-bar-label { font-family:'Exo 2',sans-serif; font-size:1.4rem; font-weight:800; color:#fff; letter-spacing:.01em; line-height:1; padding-right:1.8rem; }
  .social-bar-divider { width:1px; height:1.4rem; background:rgba(255,255,255,.3); flex-shrink:0; }
  .social-bar-icons { display:flex; gap:1.2rem; align-items:center; padding-left:1.8rem; }
  .social-bar-icons a { color:#fff; transition:transform .2s,opacity .2s; display:flex; align-items:center; }
  .social-bar-icons a:hover { transform:translateY(-2px); opacity:.9; }
  .social-bar-icons a:hover svg { fill:#5bc8ff; }

  .nav-overlay { display:none; position:fixed; inset:0; top:96px; background:rgba(0,0,0,0.45); z-index:198; backdrop-filter:blur(2px); }
  .nav-overlay.open { display:block; }

  .contact-break { display:none; }
  @media(max-width:1040px) {
    .price-tables { align-items:start; }
    .pt { height:auto; }
  }
  @media(max-width:965px) {
    .contact-grid { grid-template-columns:1fr; gap:2rem; }
    .contact-info { max-width:100%; }
    .contact-break { display:block; }
    .why-grid { grid-template-columns:1fr; gap:2rem; }
    .why-visual { margin-top:0; }
    .hero-inner { gap:2rem; }
    .hero-blob1, .hero-blob2 { display:none; }
    .why-point p { max-width:100%; padding-right:3rem; }
    .cinfo-wrap { display:grid; grid-template-columns:1fr 1fr; gap:0 1.5rem; }
    .why-points { display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; margin-top:2rem; }
  }
  @media(max-width:900px) {
    nav { padding:0 1.5rem; }
    footer { padding:0 1.5rem; }
    nav ul { display:none; }
    .nav-cta { font-size:.75rem; padding:.45rem 1rem; }
    .hamburger { display:flex; }
    .hero, section { padding:5.5rem 1.5rem 5.5rem; }
    .img-banner { padding:0 1.5rem; }
    #services { padding-top:5rem; }
    .services-grid,.pricing-grid,.team-grid,.reviews-grid { grid-template-columns:1fr; }
    .s-card { padding:1.8rem 2rem; }
    .pricing-grid { grid-template-columns:repeat(2,1fr); }
    .services-grid { grid-auto-rows:auto; }
    .price-tables { grid-template-columns:1fr; }
    .pricing-grid .p-card:nth-child(1) { order:3; }
    .pricing-grid .p-card:nth-child(2) { order:1; }
    .pricing-grid .p-card:nth-child(3) { order:4; }
    .pricing-grid .p-card-pc { order:2; }
    .p-card-pc { grid-column:auto !important; grid-template-columns:1fr; margin-top:0; display:block; }
    .p-card-pc-left { padding-right:0; border-right:none; justify-content:center; height:auto; display:block; }
    .p-card-pc-right { padding-left:0; justify-content:center; height:auto; display:block; }
    .p-card-pc-right .p-list { border-top:1px solid rgba(255,255,255,.15); gap:.55rem; }
    .p-card-pc-left .p-amount { justify-content:center; margin-bottom:1.3rem; }
    .p-card-pc-right .p-btn { display:block; }
    .p-btn-desktop { display:none; }
    .p-card-pc-left .p-asterisk-note { display:none; }
    .p-card-pc-right .p-asterisk-note { display:block; text-align:center; }
    .tag-cloud { grid-template-columns:repeat(2,1fr); }
    .p-card.featured { transform:none; }
    .p-card { align-items:center; }
    .p-list { display:inline-flex; flex-direction:column; }
    .trust-strip { padding:5.5rem 1.5rem; }
    .social-bar { padding:5.5rem 1.5rem; }
    .reviews-cta { flex-wrap:wrap; }
    .reviews-cta-label { width:100%; text-align:center; padding-bottom:.75rem; }
    .review-btn { width:100%; max-width:276px; }
    .form-row { grid-template-columns:1fr; }
    .contact-info { max-width:100%; }
    .pt-toggle { display:flex; }
    .pt-header { display:none; }
    .pt-body { display:none; overflow:hidden; }
    .pt-body.open { display:block; }
    .price-tables { gap:1rem; }
    .pt-divider { display:none; }
  }
  @media(max-width:768px) {
    .footer-inner { padding:3rem 0 2rem; }
    .footer-grid { grid-template-columns:1fr; gap:0; margin-bottom:1.5rem; }
    .footer-grid > div { padding:1.5rem 0; border-left:none; border-top:1px solid var(--border); }
    .footer-grid > div:first-child { padding-top:0; border-top:none; }
    .footer-grid > div:last-child { border-bottom:1px solid var(--border); }
    .footer-bottom { align-items:center; text-align:center; }
    .footer-col-title { text-align:center; }
    .footer-links { text-align:center; align-items:center; }
    .footer-info { display:inline-flex; align-items:flex-start; width:auto; margin:0 auto; }
    .footer-info-row { align-items:flex-start; flex-wrap:wrap; }
    .footer-info-row span { text-align:left; }
    .footer-info-row span br { display:inline; }
    .footer-hours-second { display:block; font-size:.82rem; color:var(--muted); line-height:1.5; }
    .footer-logo { text-align:center; }
    .footer-tagline { display:inline-flex !important; flex-direction:column; align-items:flex-start; }
    .footer-grid > div:first-child { text-align:center; }
    .footer-grid > div:nth-child(2) { text-align:center; }
  }
  @media(max-width:667px) {
    .hero, section { padding-left:.75rem; padding-right:.75rem; }
  }
  @media(min-width:651px) and (max-width:900px) {
    .team-card { flex-direction:row; align-items:flex-start; }
    .team-photo-wrap { width:auto; flex-shrink:0; padding:1.5rem 0 1.5rem 1.5rem; }
    .team-info { padding:1.5rem; }
    .team-name, .team-role { text-align:left; }
  }
  @media(min-width:600px) and (max-width:965px) {
    .tag-cloud { grid-template-columns:repeat(3,1fr); }
  }
  @media(max-width:458px) {
    .social-bar-label { max-width:146px; }
  }
  @media(max-width:484px) {
    .contact-info { max-width:358px; min-width:unset; }
  }
  @media(min-width:476px) and (max-width:900px) {
    .s-card { display:flex; flex-direction:row; text-align:left; align-items:center; padding:1.4rem 1.8rem; gap:0; }
    .s-card-left { display:flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0; width:33.333%; padding-right:0; }
    .s-icon { margin:0 auto .4rem; }
    .s-card h3 { margin-bottom:0; text-align:center; font-size:.88rem; }
    .s-card-divider { display:block; width:1px; background:var(--border); align-self:stretch; flex-shrink:0; margin:0 1.8rem; }
    .s-card p { font-size:.82rem; flex:1; max-width:100%; }
  }
  @media(max-width:550px) {
    .section-sub { padding-right:1.5rem; max-width:100%; width:100%; box-sizing:border-box; }
  }
  @media(max-width:800px) {
    .wp1-unwrap { white-space:normal; }
  }
  @media(max-width:748px) {
    .why-points { grid-template-columns:1fr; }
    .pricing-grid { grid-template-columns:1fr !important; }
    .p-card-pc { grid-column:auto !important; }
    .hero-inner { grid-template-columns:1fr; }
    .hero-card { display:block; margin-top:2rem; width:100%; box-sizing:border-box; }
    .p-card .p-list { width:100%; max-width:350px; margin-left:auto; margin-right:auto; }
    .p-card-pc-right .p-list { width:100%; max-width:350px; align-self:center; }
    .p-card-pc-right { display:flex; flex-direction:column; align-items:center; }
  }
  @media(max-width:520px) {
    .why-points { max-width:400px; }
    .cinfo-wrap { grid-template-columns:1fr; }
  }
  @media(max-width:661px) {
    .trust-row { grid-template-columns:repeat(2,1fr) !important; max-width:100% !important; max-height:none !important; }
    .trust-item:nth-child(3) { border-left:none; border-top:2px solid rgba(255,255,255,.2); }
    .trust-item:nth-child(4) { border-top:2px solid rgba(255,255,255,.2); }
  }
  @media(max-width:489px) {
    .trust-3in1-list { gap:.8rem; }
    .trust-3in1-item svg { width:22px; height:22px; }
  }
  @media(max-width:421px) {
    .trust-3in1-list { max-width:160px; margin:0 auto; }
  }
  @media(max-width:354px) {
    .trust-row { grid-template-columns:1fr !important; max-width:100% !important; }
    .trust-item { border-left:none !important; border-top:2px solid rgba(255,255,255,.2) !important; }
    .trust-item:first-child { border-top:none !important; }
  }
  @media(max-width:684px) {
    .contact-info p { text-wrap:unset !important; padding-right:0.5rem; }
    .contact-info p nobr.nobr-no-commit { white-space:normal; }
  }

/* ============================================================
   SCROLL TO TOP BUTTON
   ============================================================ */

  .scroll-top { position:fixed; bottom:2rem; right:2rem; width:44px; height:44px; border-radius:50%; background:var(--blue); color:#fff; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 16px rgba(0,102,204,0.35); opacity:0; transform:translateY(12px); transition:opacity .3s, transform .3s; z-index:190; pointer-events:none; }
  .scroll-top.visible { opacity:1; transform:translateY(0); pointer-events:auto; }
  .scroll-top:hover { transform:translateY(-3px); opacity:.9; }
  .scroll-top svg { width:22px; height:22px; }