/*
Theme Name: Build by Suyog
Theme URI: https://buildbysuyog.com
Author: Suyog
Author URI: https://buildbysuyog.com
Description: Custom WordPress theme for buildbysuyog.com - fast, hand-coded, light/dark appearance switcher, built-in SEO output and contact form. All colours live in the :root block below.
Version: 1.0.19
Requires at least: 6.0
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: buildbysuyog
*/

/* Build by Suyog - shared stylesheet for all pages. Colours live in :root (light) and :root[data-theme="dark"] at the top. */
:root{
  --ink:#14171f;
  --ink-soft:#111;
  --paper:#fbf9f5;
  --paper-alt:#f2ede3;
  --line:#e6dfd0;
  --accent:#ff6a3d;
  --accent2:#ffb703;
  --accent-dark:#e2521f;
  --accent-light:#ffcec0; /* light orange used for the hero box glow */
  --text-accent:#9a3412; /* AA-accessible text variant of accent-dark, 6.95:1 on paper */
  --text-gold:#8a5a00; /* AA-accessible text variant of accent2, 5.64:1 on paper */
  --teal:#0f766e;
  --violet:#6d5bd0;
  --white:#ffffff;
  --surface:#ffffff; /* card/panel background — themeable, distinct from --white which stays literal white for text-on-dark */
  --navy:#14171f; /* fixed structural dark color for always-dark elements (nav CTA, floating badge, trust band) — does not change with theme */
  --radius:18px;

  /* derived / secondary colours (edit here, applies to every page) */
  --ink-2:#2b2f3a;
  --ink-3:#1c202b;
  --ink-deep:#0d0f15;
  --text-on-dark:#aeb2bd;
  --text-on-dark-strong:#c8ccd6;
  --text-on-cta:#dcd7cd;
  --teal-tint:#e6f4f2;
  --teal-light:#5eead4;
  --teal-dark:#0b5852;
  --violet-dark:#4c3d9e;
  --accent2-dark:#e08e00;

  /* RGB triplets for translucent shadows/overlays - keep in sync with the hex colours above */
  --ink-rgb:20,23,31;
  --paper-rgb:251,249,245;
  --accent-rgb:255,106,61;
  --accent2-rgb:255,183,3;
  --teal-rgb:15,118,110;
  --violet-rgb:109,91,208;
  --white-rgb:255,255,255;

  /* logo sizes */
  --logo-height:50px;
  --logo-height-footer:56px;
}
:root[data-theme="dark"]{
  --ink:#f2f0ea;
  --ink-soft:#a8adb8;
  --paper:#14171f;
  --paper-alt:#1a1e28;
  --line:rgba(var(--white-rgb),0.14);
  --surface:#1c2029;
  --text-accent:var(--accent);
  --text-gold:var(--accent2);
}
[data-theme="dark"] header.site-header{background:rgba(var(--ink-rgb),0.85);}
[data-theme="dark"] .tag{background:rgba(var(--teal-rgb),0.22);color:var(--teal-light);}
[data-theme="dark"] .hero-card::before{background:linear-gradient(140deg,color-mix(in srgb,var(--accent-light) 35%,transparent),rgba(var(--white-rgb),0));}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.container{max-width:1160px;margin:0 auto;padding:0 24px;position:relative;}
::selection{background:var(--accent);color:#fff;}

@keyframes floaty{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-16px) rotate(3deg);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.fade-up{animation:fadeUp .7s cubic-bezier(.2,.7,.3,1) both;}
.d1{animation-delay:.05s;} .d2{animation-delay:.15s;} .d3{animation-delay:.25s;} .d4{animation-delay:.35s;}

header.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(var(--paper-rgb),0.85);
  backdrop-filter:blur(10px) saturate(140%);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;position:relative;}
.logo{display:inline-flex;align-items:center;text-decoration:none;}
.logo img{height:var(--logo-height);width:auto;display:block;}
.site-footer .logo img{height:var(--logo-height-footer);}
/* header logo swaps with theme: dark-text logo on light, light-text logo on dark */
.logo .logo-on-dark{display:none;}
[data-theme="dark"] header.site-header .logo .logo-on-light{display:none;}
[data-theme="dark"] header.site-header .logo .logo-on-dark{display:block;}
nav.main-nav ul{list-style:none;display:flex;gap:34px;margin:0;padding:0;}
nav.main-nav a{text-decoration:none;font-weight:500;font-size:0.95rem;color:var(--ink-soft);transition:color .15s;position:relative;}
nav.main-nav a:hover{color:var(--text-accent);}
nav.main-nav a.active,nav.main-nav .current-menu-item > a,nav.main-nav .current_page_parent > a,nav.main-nav .current-menu-ancestor > a{color:var(--ink);font-weight:700;}
nav.main-nav a.active::after,nav.main-nav .current-menu-item > a::after,nav.main-nav .current_page_parent > a::after,nav.main-nav .current-menu-ancestor > a::after{
  content:"";position:absolute;left:0;right:0;bottom:-8px;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
}
.nav-cta{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,var(--navy),var(--ink-2));color:var(--white)!important;
  padding:11px 22px;border-radius:999px;font-weight:600;font-size:0.9rem;text-decoration:none;
  transition:transform .18s, box-shadow .18s;box-shadow:0 10px 24px -10px rgba(var(--ink-rgb),0.5);
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(var(--ink-rgb),0.6);}

section{padding:100px 0;position:relative;}
.section-tight{padding:64px 0;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  text-transform:uppercase;letter-spacing:0.14em;font-size:0.76rem;font-weight:700;
  color:var(--text-accent);margin:0 0 16px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,transparent),color-mix(in srgb,var(--accent2) 10%,transparent));
  padding:7px 14px;border-radius:999px;
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);}
h1,h2,h3{font-family:'Sora',system-ui,sans-serif;font-weight:700;letter-spacing:-0.02em;color:var(--ink);margin:0 0 18px;}
h1{font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.08;}
h1 .hl{background:linear-gradient(100deg,var(--accent) 10%,var(--accent2) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;}
h2{font-size:clamp(1.75rem,3.4vw,2.4rem);line-height:1.2;}
h3{font-size:1.2rem;line-height:1.35;}
p{margin:0 0 16px;color:var(--ink-soft);}
.lede{font-size:1.18rem;color:var(--ink-soft);max-width:640px;}

.hero{padding-top:64px;padding-bottom:56px;overflow:visible;}
.hero::before{
  content:"";position:absolute;top:-140px;right:-120px;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent2) 8%,transparent) 60%,transparent 72%);
  filter:blur(4px);z-index:0;pointer-events:none;
}
.hero::after{
  content:"";position:absolute;bottom:-160px;left:-160px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(var(--violet-rgb),0.14),transparent 70%);
  z-index:0;pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:1.08fr 0.92fr;gap:56px;align-items:center;position:relative;z-index:1;}
.hero-stats{display:flex;gap:0;margin-top:38px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:26px;}
.stat{padding-right:32px;margin-right:32px;border-right:1px solid var(--line);}
.stat:last-child{border-right:none;}
.stat b{display:block;font-family:'Sora',sans-serif;font-size:1.9rem;background:linear-gradient(100deg,var(--ink),var(--ink-soft));-webkit-background-clip:text;background-clip:text;color:var(--ink);}
.stat span{font-size:0.84rem;color:var(--ink-soft);}

.hero-card{
  background:var(--surface);border:1px solid var(--line);border-radius:24px;
  padding:34px;box-shadow:0 30px 60px -28px rgba(var(--ink-rgb),0.24);position:relative;
}
.hero-card::before{
  content:"";position:absolute;inset:-1px;border-radius:24px;padding:1px;z-index:-1;
  background:linear-gradient(140deg,color-mix(in srgb,var(--accent-light) 70%,transparent),rgba(var(--white-rgb),0));
}
.hero-card .badge-float{
  position:absolute;top:-18px;right:26px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:var(--white);font-family:'Sora',sans-serif;font-weight:700;font-size:0.8rem;padding:9px 16px;border-radius:999px;
  box-shadow:0 10px 22px -8px rgba(var(--accent-rgb),0.5);animation:floaty 5s ease-in-out infinite;
}
.hero-card ul{margin:6px 0 0;padding:0;list-style:none;}
.hero-card li{
  display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line);font-size:0.96rem;color:var(--ink-soft);
}
.hero-card li:last-child{border-bottom:none;}
.hero-card li .tick{
  flex-shrink:0;width:22px;height:22px;border-radius:7px;background:rgba(var(--teal-rgb),0.12);color:var(--teal);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.78rem;margin-top:1px;
}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--white)!important;text-decoration:none;
  padding:15px 28px;border-radius:999px;font-weight:600;font-size:0.98rem;
  transition:transform .18s, box-shadow .18s;border:none;cursor:pointer;
  box-shadow:0 16px 30px -12px rgba(var(--accent-rgb),0.55);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -10px rgba(var(--accent-rgb),0.65);}
.btn-ghost{
  background:var(--surface);color:var(--ink)!important;border:1.5px solid var(--line);box-shadow:none;
}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(var(--ink-rgb),0.3);}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}

.band{background:linear-gradient(180deg,var(--navy),var(--ink-3));color:#fbf9f5;}
.band h2, .band h3{color:var(--white);}
.band p{color:var(--text-on-dark-strong);}
.trust-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:22px;}
.trust-pill{
  background:rgba(var(--white-rgb),0.06);border:1px solid rgba(var(--white-rgb),0.12);color:#fff;
  font-family:'Sora',sans-serif;font-weight:600;font-size:0.86rem;padding:9px 18px;border-radius:999px;
}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px;
  transition:transform .2s, box-shadow .2s, border-color .2s;position:relative;overflow:hidden;
}
.card::after{
  content:"";position:absolute;inset:0;border-radius:var(--radius);padding:1px;opacity:0;transition:opacity .2s;
  background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;
}
.card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(var(--ink-rgb),0.28);}
.card:hover::after{opacity:1;}
.card .icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:14px;margin-bottom:18px;color:#fff;
  box-shadow:0 12px 20px -10px rgba(var(--ink-rgb),0.35);
}
.card .icon svg{width:24px;height:24px;}
.icon-1{background:linear-gradient(135deg,var(--accent),var(--accent-dark));}
.plan-card{display:flex;flex-direction:column;}
.plan-card h3,.plan-card h2.t3{margin-bottom:4px;}
.plan-tagline{color:var(--ink-soft);font-size:0.9rem;margin-bottom:18px;}
.plan-card ul{margin:0 0 24px;padding:0;list-style:none;flex-grow:1;}
.plan-card li{position:relative;padding-left:22px;margin-bottom:10px;font-size:0.92rem;color:var(--ink-soft);}
.plan-card li::before{content:"\2713";position:absolute;left:0;color:var(--teal);font-weight:700;}
.plan-btn{text-align:center;justify-content:center;width:100%;}
.plan-featured{border-color:var(--accent);box-shadow:0 20px 40px -24px rgba(var(--accent-rgb),0.35);}
.plan-ribbon{position:absolute;top:18px;right:18px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--ink);font-weight:700;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;padding:5px 12px;border-radius:999px;}
.icon-2{background:linear-gradient(135deg,var(--teal),var(--teal-dark));}
.icon-3{background:linear-gradient(135deg,var(--violet),var(--violet-dark));}
.icon-4{background:linear-gradient(135deg,var(--accent2),var(--accent2-dark));}
.card ul{margin:14px 0 0;padding-left:0;list-style:none;color:var(--ink-soft);font-size:0.93rem;}
.card ul li{margin-bottom:8px;padding-left:22px;position:relative;}
.card ul li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:2px;background:var(--accent);transform:rotate(45deg);}

.section-head{max-width:640px;margin:0 auto 52px;text-align:center;}
.section-head.left{margin:0 0 52px;text-align:left;}

.quote-card{
  background:var(--surface);border-radius:var(--radius);padding:30px;border:1px solid var(--line);
  box-shadow:0 20px 40px -30px rgba(var(--ink-rgb),0.2);
}
.stars{color:var(--text-gold);letter-spacing:2px;font-size:0.95rem;margin-bottom:12px;}
.quote-card p{font-size:1.04rem;color:var(--ink);}
.quote-foot{display:flex;align-items:center;gap:12px;margin-top:16px;}
.avatar{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--violet),var(--accent));color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:700;font-size:0.95rem;
}
.quote-by{font-weight:700;color:var(--ink)!important;font-size:0.92rem;margin:0;}
.quote-role{font-size:0.82rem;color:var(--ink-soft);margin:0;}

.cta-band{
  background:linear-gradient(135deg,#14171f 0%,#26170f 65%,#3a2410 100%);color:var(--white);
  border-radius:28px;padding:60px;text-align:center;position:relative;overflow:hidden;
}
.cta-band::before{
  content:"";position:absolute;top:-100px;right:-60px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent) 35%,transparent),transparent 70%);
}
.cta-band h2{color:var(--white);position:relative;}
.cta-band p{color:var(--text-on-cta);max-width:520px;margin:0 auto 28px;position:relative;}
.cta-band .btn-row{justify-content:center;position:relative;}

.timeline{border-left:2px dashed var(--line);padding-left:32px;}
.timeline .item{margin-bottom:32px;position:relative;}
.timeline .item .step-badge{
  position:absolute;left:-46px;top:-2px;width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--ink);font-family:'Sora',sans-serif;font-weight:700;font-size:0.8rem;
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px -6px rgba(var(--accent-rgb),0.6);
}

.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.portfolio-item{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:transform .2s, box-shadow .2s;
}
.portfolio-item:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(var(--ink-rgb),0.3);}
.portfolio-thumb{
  height:190px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
  font-family:'Sora',sans-serif;font-weight:700;font-size:1.15rem;color:var(--white);text-align:center;padding:16px;
}
.portfolio-thumb::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 20% 20%, rgba(var(--white-rgb),0.18) 0, transparent 40%),
                    radial-gradient(circle at 85% 75%, rgba(var(--white-rgb),0.14) 0, transparent 45%);
}
.portfolio-thumb span{position:relative;}
.portfolio-body{padding:24px;}
.tag{
  display:inline-block;font-size:0.74rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;
  color:var(--teal);background:var(--teal-tint);padding:5px 12px;border-radius:999px;margin-bottom:12px;
}

form.contact-form{display:grid;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:0 26px 50px -30px rgba(var(--ink-rgb),0.25);}
form.contact-form label{font-weight:600;font-size:0.88rem;display:block;margin-bottom:7px;color:var(--ink);}
form.contact-form input, form.contact-form textarea, form.contact-form select{
  width:100%;padding:13px 15px;border-radius:11px;border:1.5px solid var(--line);
  font-family:inherit;font-size:0.95rem;background:var(--paper);color:var(--ink);transition:border-color .15s, background .15s;
}
form.contact-form input:focus, form.contact-form textarea:focus, form.contact-form select:focus{
  outline:none;border-color:var(--accent-dark);background:var(--surface);box-shadow:0 0 0 3px rgba(226,82,31,0.18);
}
form.contact-form textarea{min-height:130px;resize:vertical;}
.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:52px;align-items:start;}
.contact-info .item{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start;}
.contact-info .ico{
  width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink);
  box-shadow:0 12px 20px -10px rgba(var(--accent-rgb),0.5);
}
.contact-info .ico svg{width:20px;height:20px;}

footer.site-footer{background:linear-gradient(180deg,var(--navy),var(--ink-deep));color:var(--text-on-dark);padding:56px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;}
.footer-grid a{color:var(--text-on-dark);text-decoration:none;font-size:0.9rem;}
.footer-grid a:hover{color:var(--white);}
.footer-col .footer-title{font-weight:700;color:var(--white);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.08em;margin:0 0 14px;}
.footer-col ul{list-style:none;margin:0;padding:0;}
.footer-col li{margin-bottom:10px;}
.social-row{display:flex;gap:10px;margin-top:16px;}
.social-icon{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(var(--white-rgb),0.06);border:1px solid rgba(var(--white-rgb),0.14);color:var(--text-on-dark-strong);
  transition:background .15s,color .15s,transform .15s;
}
.social-icon:hover{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--white);border-color:transparent;transform:translateY(-2px);}
.social-icon svg{width:17px;height:17px;}
.footer-bottom{
  border-top:1px solid rgba(var(--white-rgb),0.1);margin-top:36px;padding-top:22px;
  display:flex;justify-content:space-between;font-size:0.82rem;flex-wrap:wrap;gap:10px;
}

.nav-toggle-checkbox{position:absolute;opacity:0;pointer-events:none;}
.menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--ink);}
.menu-toggle svg{width:20px;height:20px;display:block;}
.menu-toggle .icon-close{display:none;}
.nav-toggle-checkbox:checked ~ .menu-toggle .icon-open{display:none;}
.nav-toggle-checkbox:checked ~ .menu-toggle .icon-close{display:block;}

@media (max-width:860px){
  .menu-toggle{display:inline-flex;}
  nav.main-nav{
    display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;
    background:var(--paper);border:1px solid var(--line);border-top:none;
    border-radius:0 0 16px 16px;padding:10px 24px 20px;
    box-shadow:0 22px 40px -24px rgba(var(--ink-rgb),0.3);z-index:60;
  }
  nav.main-nav ul{flex-direction:column;gap:4px;}
  nav.main-nav a{display:block;padding:12px 4px;border-bottom:1px solid var(--line);}
  nav.main-nav li:last-child a{border-bottom:none;}
  nav.main-nav a.active::after,nav.main-nav .current-menu-item > a::after,nav.main-nav .current_page_parent > a::after,nav.main-nav .current-menu-ancestor > a::after{display:none;}
  .nav-toggle-checkbox:checked ~ nav.main-nav{display:block;}

  nav.main-nav{display:none;}
  .hero-grid, .grid-3, .grid-2, .contact-grid, .portfolio-grid{grid-template-columns:1fr;}
  section{padding:60px 0;}
  .cta-band{padding:40px 24px;}
  .stat{padding-right:20px;margin-right:20px;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
}

.theme-switcher{position:fixed;right:20px;bottom:20px;z-index:90;}
.ts-toggle{
  width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:var(--surface);
  color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;
  box-shadow:0 14px 30px -12px rgba(var(--ink-rgb),0.4);transition:transform .15s;
}
.ts-toggle:hover{transform:translateY(-2px);}
.ts-toggle svg{width:21px;height:21px;}
.ts-panel{
  position:absolute;right:0;bottom:62px;width:216px;background:var(--surface);border:1px solid var(--line);
  border-radius:16px;padding:16px;box-shadow:0 24px 48px -18px rgba(var(--ink-rgb),0.4);
}
.ts-panel[hidden]{display:none;}
.ts-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.07em;color:var(--ink-soft);margin:0 0 9px;font-weight:700;}
.ts-mode-row{display:flex;gap:8px;margin-bottom:16px;}
.ts-mode-btn{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 6px;border-radius:10px;
  border:1.5px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;font-size:0.8rem;font-family:inherit;font-weight:600;
}
.ts-mode-btn svg{width:15px;height:15px;flex-shrink:0;}
.ts-mode-btn.active{border-color:var(--accent);color:var(--text-accent);background:color-mix(in srgb,var(--accent) 8%,transparent);}

@media (max-width:480px){
  .nav-row{padding:14px 0;gap:10px;}
  .nav-cta{display:none;}
  .hero-stats{gap:0;}
  .stat{padding-right:16px;margin-right:16px;margin-bottom:12px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:6px;}
  form.contact-form{padding:22px;}
  .theme-switcher{right:14px;bottom:14px;}
  .ts-toggle{width:44px;height:44px;}
}

/* blog images */
.portfolio-item .card-cover{display:block;}
.portfolio-item .card-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;}
.post-cover{margin:0 0 32px;}
.post-cover img{display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line);}

h2.t3{font-size:1.2rem;line-height:1.35;}
.footer-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px;}.footer-legal a:hover{color:var(--accent);}
.recaptcha-note{font-size:0.78rem;color:var(--muted,inherit);opacity:.75;margin:0 0 12px;}.recaptcha-note a{color:inherit;text-decoration:underline;}
#contact-status{scroll-margin-top:110px;}
.grecaptcha-badge{visibility:hidden;}


/* ===== WordPress additions ===== */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important;}
.screen-reader-text:focus{background:#fff;clip:auto;clip-path:none;color:#000;display:block;height:auto;left:8px;padding:12px 18px;top:8px;width:auto;z-index:100000;}
.admin-bar .site-header{top:32px;}
@media(max-width:782px){.admin-bar .site-header{top:46px;}}
.nav-row .menu-item a{display:block;}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-notice{padding:14px 18px;border-radius:12px;margin-bottom:20px;font-weight:500;font-size:0.95rem;}
.form-notice.ok{background:color-mix(in srgb,#1e9e5a 12%,transparent);border:1px solid color-mix(in srgb,#1e9e5a 45%,transparent);color:var(--ink);}
.form-notice.err{background:color-mix(in srgb,#d93025 10%,transparent);border:1px solid color-mix(in srgb,#d93025 45%,transparent);color:var(--ink);}
.entry-content a{color:var(--text-accent);font-weight:600;}
.entry-content > *:first-child{margin-top:0;}
.entry-content img{max-width:100%;height:auto;border-radius:14px;}
.post-cover img{width:100%;height:auto;display:block;}
.pagination{margin-top:40px;text-align:center;}
.pagination .nav-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.pagination .page-numbers{padding:8px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600;}
.pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff;}

/* Contact: what happens next */
.next-steps{margin-top:34px;padding:26px 26px 8px;background:var(--surface);border:1px solid var(--line);border-radius:18px;}
.next-steps h2{font-size:1.05rem;margin:0 0 18px;}
.next-steps ol{list-style:none;margin:0;padding:0;}
.next-steps li{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.next-steps .n{flex:0 0 30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85rem;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-dark));}
.next-steps strong{display:block;font-size:0.96rem;color:var(--ink);margin-bottom:2px;}
.next-steps p{margin:0;font-size:0.9rem;color:var(--ink-soft);}

/* Hero stats: always one tidy row of three */
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;}
.hero-stats .stat{padding:0 18px;margin:0;border-right:1px solid var(--line);}
.hero-stats .stat:first-child{padding-left:0;}
.hero-stats .stat:last-child{border-right:none;padding-right:0;}
.hero-stats .stat b{font-size:clamp(1.25rem,2.4vw,1.9rem);white-space:nowrap;}
.hero-stats .stat span{display:block;margin-top:4px;line-height:1.35;}
@media (max-width:480px){.hero-stats .stat{padding:0 10px;}.hero-stats .stat span{font-size:0.76rem;}}

/* Portfolio: real site screenshots */
.portfolio-thumb.has-img{padding:0;background:var(--ink);}
.portfolio-thumb.has-img::before{display:none;}
.portfolio-thumb.has-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .5s ease;}
.portfolio-item:hover .portfolio-thumb.has-img img{transform:scale(1.04);}
.portfolio-thumb{height:230px;}

/* Mobile: decorative hero blobs must never widen the page */
.hero{position:relative;overflow-x:clip;}
html,body{max-width:100%;overflow-x:clip;}
/* Keep the header's side gutters (the .nav-row padding shorthand removed them below 1160px) */
.nav-row{padding-left:24px;padding-right:24px;}

/* Phones: stack the hero stats as tidy rows so wide headings never collide */
@media (max-width:560px){
  .hero-stats{grid-template-columns:1fr;gap:0;padding-top:8px;}
  .hero-stats .stat{display:flex;align-items:center;gap:16px;padding:14px 0;border-right:none;border-bottom:1px solid var(--line);}
  .hero-stats .stat:last-child{border-bottom:none;}
  .hero-stats .stat b{flex:0 0 138px;font-size:1.35rem;white-space:nowrap;}
  .hero-stats .stat span{margin:0;font-size:0.88rem;}
}

/* Profile photo blocks (v1.0.15) */
.profile-strip{display:flex;align-items:center;gap:16px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line);}
.profile-strip img{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex:none;border:3px solid var(--paper,#fff);box-shadow:0 0 0 2px var(--accent);}
.profile-strip p{margin:0;}
.profile-name{font-weight:700;font-size:1.2rem;line-height:1.2;}
.profile-meta{font-size:.9rem;opacity:.75;margin:4px 0 8px !important;}
.profile-badges{display:flex;flex-wrap:wrap;gap:6px;}
.profile-badges a{font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:99px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);text-decoration:none;}
.profile-badges a:hover{background:color-mix(in srgb,var(--accent) 22%,transparent);}
.about-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 25%;border-radius:14px;margin:0 0 18px;}
@media (max-width:560px){.profile-strip img{width:72px;height:72px}}

/* v1.0.16: pills match primary button; about photo crop; skills bars */
.profile-badges a{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--white)!important;box-shadow:0 8px 16px -8px rgba(var(--accent-rgb),0.55);transition:transform .18s,box-shadow .18s;}
.profile-badges a:hover{background:linear-gradient(135deg,var(--accent),var(--accent-dark));transform:translateY(-1px);box-shadow:0 10px 18px -8px rgba(var(--accent-rgb),0.65);}
.about-photo{object-position:50% 0%;aspect-ratio:1/1;}
.skills{margin-top:36px;max-width:560px;}
.skills .t3{margin:0 0 8px;}
.skills-note,.skills-foot{color:var(--muted,inherit);font-size:.95rem;line-height:1.6;margin:0 0 20px;}
.skills-foot{margin:22px 0 0;}
.skill{margin-bottom:14px;}
.skill-top{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;font-weight:600;margin-bottom:6px;}
.skill-top b{color:var(--accent-dark);}
.skill-bar{height:9px;border-radius:99px;background:var(--line);overflow:hidden;}
.skill-fill{display:block;height:100%;width:var(--w);border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-dark));}
.skills.armed .skill-fill{width:0;transition:width 1.1s cubic-bezier(.22,.8,.3,1);}
.skills.armed.in-view .skill-fill{width:var(--w);}
.skills.armed.in-view .skill:nth-of-type(2) .skill-fill{transition-delay:.08s}.skills.armed.in-view .skill:nth-of-type(3) .skill-fill{transition-delay:.16s}.skills.armed.in-view .skill:nth-of-type(4) .skill-fill{transition-delay:.24s}.skills.armed.in-view .skill:nth-of-type(5) .skill-fill{transition-delay:.32s}.skills.armed.in-view .skill:nth-of-type(6) .skill-fill{transition-delay:.4s}.skills.armed.in-view .skill:nth-of-type(7) .skill-fill{transition-delay:.48s}.skills.armed.in-view .skill:nth-of-type(8) .skill-fill{transition-delay:.56s}
@media (prefers-reduced-motion:reduce){.skills.armed .skill-fill{transition:none}}

.card-cta{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);text-align:center;}
.card-cta .btn{width:100%;justify-content:center;}
.card-cta p{margin:12px 0 0;font-size:.88rem;opacity:.75;}
form.contact-form .btn{justify-content:center;text-align:center;width:100%;}
