/*
Theme Name: Amit Nabar Portfolio
Theme URI: https://example.com
Author: Custom
Description: One-page personal portfolio theme with blog (listing, category filters, sidebar, detail page) for for Dr. Amit Nabar (Hero, About, Stats, Credentials, Services, Experience, Education, Skills, Testimonials, Contact). Every text, image, link, colour and list is editable from Appearance → Theme Options, with drag-and-drop repeater fields. No plugins required.
Version: 1.9.0
Requires at least: 5.8
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: amit-nabar-portfolio
*/

/* Colour + font variables are injected from Theme Options (functions.php).
   The values below are fallbacks only. */
:root{
  --wire:#176bb0; --paper:#f3f7fb; --paper-2:#e3ebf4; --card:#fff;
  --text:#003c74; --text-soft:#5b6b7d; --border:rgba(0,60,116,.14);
  --btn-bg:#003c74; --btn-text:#fff; --teal:#0e8c8c; --steel:#5b6b7d;
  --font-head:"Fraunces",Georgia,serif; --font-body:"IBM Plex Sans",system-ui,sans-serif;
  --maxw:1320px;
  color-scheme:light;
}
:root[data-theme="dark"]{ color-scheme:dark; }

html{scroll-behavior:smooth; scroll-padding-top:calc(72px + env(safe-area-inset-top,0px));}
*{box-sizing:border-box;}
body{margin:0; background:var(--paper); color:var(--text); font-family:var(--font-body); line-height:1.6;}
h1,h2,h3{font-family:var(--font-head); margin:0; color:var(--text);}
a{color:inherit;}
img{max-width:100%; height:auto; display:block;}
.wrap{max-width:var(--maxw); margin:0 auto; padding-left:28px; padding-right:28px;}
.screen-reader-text{position:absolute; left:-9999px;}

/* ---- Masthead ---- */
header.mast{position:sticky; top:0; z-index:40; background:var(--paper); border-bottom:1px solid var(--border); padding-top:env(safe-area-inset-top,0px);}
body.admin-bar header.mast{top:32px;}
@media (max-width:782px){ body.admin-bar header.mast{top:46px;} }
.mast-row{display:flex; align-items:center; justify-content:space-between; padding:14px 28px; max-width:var(--maxw); margin:0 auto;}
.brand{font-family:var(--font-head); font-weight:600; font-size:19px; letter-spacing:.2px; text-decoration:none;}
.brand img{max-height:46px; width:auto;}
nav.links{display:flex; gap:28px; font-size:14.5px;}
nav.links a{text-decoration:none; color:var(--text-soft); border-bottom:1px solid transparent; padding-bottom:2px;}
nav.links a:hover{color:var(--wire); border-color:var(--wire);}
.menu-btn{display:none; background:none; border:1px solid var(--border); border-radius:6px; padding:8px 10px; color:var(--text); font-size:16px; cursor:pointer;}
.nav-right{display:flex; align-items:center; gap:14px;}
.head-social{display:flex; align-items:center; gap:8px;}
.head-social a{width:34px; height:34px; border:1px solid var(--border); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:600; text-decoration:none; color:var(--text); transition:background .2s,color .2s,border-color .2s;}
.head-social a:hover{background:var(--wire); border-color:var(--wire); color:#fff;}
@media (max-width:720px){
  nav.links{display:none; position:absolute; top:100%; left:0; right:0; background:var(--paper); flex-direction:column; padding:16px 28px; border-bottom:1px solid var(--border); gap:16px;}
  nav.links.open{display:flex;}
  .menu-btn{display:block;}
  .mast-row{padding:12px 16px;}
  .nav-right{gap:8px;}
  .head-social{gap:6px;}
  .head-social a{width:30px; height:30px;}
}

/* ---- Sections ---- */
/* Full-width bands: the section spans the screen, content stays inside --maxw */
section.wrap{max-width:none; margin:0; padding-top:72px; padding-bottom:72px; padding-left:max(28px,calc((100% - var(--maxw))/2 + 28px)); padding-right:max(28px,calc((100% - var(--maxw))/2 + 28px));}
.band-a{background:var(--paper);}
.band-b{background:var(--paper-2); background:color-mix(in srgb,var(--paper-2) 62%,var(--paper));}
.band-b .skill-row .track{background:var(--border);}
.band-b .serv,.band-b .testi{background:var(--card);}
section.wrap.hero{padding-top:64px; padding-bottom:72px;}
.hero-photo::after{content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px var(--border);}
section.wrap.stats-sec{padding-top:36px; padding-bottom:72px;}

.eyebrow{font-family:var(--font-head); font-style:italic; color:var(--wire); font-size:16px; margin-bottom:8px;}
.sec-title{font-size:30px; font-weight:600; margin-bottom:36px;}
.sec-title.sm{font-size:24px; margin-bottom:20px;}

/* ---- Hero ---- */
.hero-grid{display:grid; grid-template-columns:1.3fr .9fr; gap:48px; align-items:center;}
.kicker{color:var(--wire); font-size:14px; font-weight:500; margin-bottom:14px;}
.hero h1{font-size:clamp(36px,5vw,58px); line-height:1.04; font-weight:700;}
.hero .role{font-size:19px; color:var(--text-soft); margin-top:14px; max-width:46ch;}
.meta-line{margin-top:22px; font-size:13.5px; color:var(--text); display:flex; flex-wrap:wrap; gap:8px;}
.meta-line span{display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border:1px solid var(--border); border-radius:999px; background:var(--paper);}
.meta-line span::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--wire); flex:none;}
.hero-actions{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
.btn{padding:12px 22px; border-radius:2px; text-decoration:none; font-size:14.5px; font-weight:500; display:inline-flex; align-items:center; gap:8px;}
.btn-primary{background:var(--btn-bg); color:var(--btn-text);}
.btn-primary:hover{background:var(--wire);}
.btn-ghost{border:1px solid var(--border); color:var(--text);}
.btn-ghost:hover{border-color:var(--wire); color:var(--wire);}
.social{display:flex; gap:16px; margin-top:26px; flex-wrap:wrap;}
.social a{color:var(--text); min-width:34px; height:34px; padding:0 6px; border:1px solid var(--border); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px; text-decoration:none;}
.social a:hover{background:var(--wire); border-color:var(--wire); color:#fff;}
.hero-photo{aspect-ratio:4/5; background:linear-gradient(160deg,var(--wire),var(--text)); border-radius:10px; overflow:hidden; position:relative; box-shadow:14px 14px 0 -2px var(--teal),0 26px 48px -20px rgba(0,60,116,.5);}
.hero-photo img{width:100%; height:100%; object-fit:cover;}
@media (max-width:820px){ .hero-grid{grid-template-columns:1fr;} .hero-photo{max-width:280px; margin:0 auto;} }

/* Hero: ONE white box holding the left content + right photo (no badge). */
.hero-box{background:var(--card); border:1px solid var(--border); border-top:4px solid var(--wire); border-radius:10px; padding:48px 56px 64px 48px; gap:56px; box-shadow:0 1px 0 var(--border),0 22px 40px -22px rgba(0,60,116,.45);}
.hero-card{min-width:0;}
.hero-card .kicker{font-family:var(--font-head); font-style:italic; font-size:16px; margin-bottom:6px; font-weight:400;}
.hero-card .role{margin-top:14px;}
.hero-card .meta-line span{background:var(--card);}
.hero-card .hero-actions{padding-top:26px; margin-top:26px; border-top:1px solid var(--border);}
.hero-card .social{margin-top:22px;}
@media (max-width:900px){ .hero-box{padding:32px 24px 48px; gap:40px;} }

/* ---- About ---- */
.about-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:start; margin-top:8px;}
.about-grid.single{grid-template-columns:1fr;}
.about-grid p{color:var(--text-soft); font-size:16.5px; max-width:52ch; margin:0 0 1em;}
@media (max-width:720px){ section.wrap{padding-top:52px; padding-bottom:52px; padding-left:20px; padding-right:20px;} section.wrap.stats-sec{padding-top:32px; padding-bottom:52px;} .about-grid{grid-template-columns:1fr;} }

/* ---- Services ---- */
.serv-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--border); border:1px solid var(--border);}
.serv{background:var(--paper); padding:30px 28px;}
.serv:last-child:nth-child(odd){grid-column:1/-1;}
.serv .n{font-family:var(--font-head); font-style:italic; color:var(--text-soft); font-size:14px;}
.serv h3{font-size:19px; margin-top:8px; font-weight:600;}
.serv h3 a{text-decoration:none;}
.serv h3 a:hover{color:var(--wire);}
.serv p{color:var(--text-soft); font-size:15px; margin:10px 0 0;}
@media (max-width:640px){ .serv-grid{grid-template-columns:1fr;} }

/* ---- Experience ---- */
.xp-row{display:grid; grid-template-columns:120px 1fr; gap:20px; padding:20px 0; border-top:1px solid var(--border);}
.xp-row .date{color:var(--text-soft); font-size:13.5px; padding-top:3px;}
.xp-row h4{font-size:18px; font-weight:600; margin:0;}
.xp-row .co{color:var(--wire); font-size:14.5px; margin-top:2px;}
.xp-row .co a{text-decoration:none;}
.xp-row .co a:hover{text-decoration:underline;}
.xp-row .skills{color:var(--text-soft); font-size:13.5px; margin-top:8px; line-height:1.7;}
@media (max-width:560px){ .xp-row{grid-template-columns:1fr; gap:4px;} }

/* ---- Education + Skills ---- */
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
.two-col.single{grid-template-columns:1fr;}
@media (max-width:820px){ .two-col{grid-template-columns:1fr;} }
.edu-row{padding:14px 0; border-top:1px solid var(--border); font-size:15px;}
.edu-row .yr{color:var(--wire); font-size:13px;}
.edu-row .deg{font-weight:600; margin-top:2px;}
.edu-row .inst{color:var(--text-soft); font-size:14px; margin-top:2px;}
.skill-row{margin-bottom:16px;}
.skill-row .lbl{display:flex; justify-content:space-between; font-size:14.5px; margin-bottom:6px;}
.skill-row .track{height:4px; background:var(--paper-2); border-radius:2px; overflow:hidden;}
.skill-row .fill{height:100%; background:var(--wire);}
.chips-title{font-size:14px; color:var(--text-soft); margin-top:24px;}
.lang-chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:6px;}
.chip{border:1px solid var(--border); border-radius:2px; padding:7px 14px; font-size:13.5px; color:var(--text-soft);}

/* ---- Testimonials ---- */
.testi-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border);}
.testi{background:var(--paper); padding:28px;}
.testi blockquote{margin:0; font-family:var(--font-head); font-style:italic; font-size:17px; line-height:1.55;}
.testi .who{display:flex; align-items:center; gap:12px; margin-top:20px;}
.testi .who img{width:44px; height:44px; border-radius:50%; object-fit:cover;}
.testi .nm{font-weight:600; font-size:14.5px;}
.testi .rl{color:var(--text-soft); font-size:13px;}

/* ---- Contact ---- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
.contact-grid h2{font-size:30px; font-weight:600; max-width:14ch;}
.contact-row{display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--border); padding:16px 0; font-size:15px;}
.contact-row:first-child{border-top:none;}
.contact-row span:first-child{color:var(--text-soft);}
.contact-row a{color:var(--text); text-decoration:none;}
.contact-row a:hover{color:var(--wire);}
.contact-form{margin-top:28px;}
.contact-form input:not([type=submit]),.contact-form textarea{width:100%; padding:10px 12px; border:1px solid var(--border); background:var(--card); color:var(--text); font:inherit; border-radius:2px;}
.contact-form input[type=submit]{background:var(--btn-bg); color:var(--btn-text); border:0; padding:12px 22px; cursor:pointer; font:inherit; border-radius:2px;}
@media (max-width:720px){ .contact-grid{grid-template-columns:1fr;} }

footer.site-foot{padding:28px 0 calc(28px + env(safe-area-inset-bottom,0px)); text-align:center; color:var(--text-soft); font-size:13px;}

/* ---- Credentials: three disciplines, 3D cards ---- */
.cred-intro{max-width:72ch; color:var(--text-soft); font-size:16.5px; margin:-16px 0 40px;}
.cred-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; perspective:1200px;}
.cred{--tone:var(--wire); position:relative; background:var(--card); border:1px solid var(--border); border-top:4px solid var(--tone); border-radius:10px; padding:88px 28px 28px; transform-style:preserve-3d; transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transition:transform .35s ease,box-shadow .35s ease; box-shadow:0 1px 0 var(--border),0 22px 40px -22px rgba(0,60,116,.45); will-change:transform;}
.cred:hover{box-shadow:0 1px 0 var(--border),0 34px 56px -24px rgba(0,60,116,.6);}
.cred.is-tilting{transition:transform .08s linear,box-shadow .35s ease;}
.tone-teal{--tone:var(--teal);} .tone-steel{--tone:var(--steel);} .tone-blue{--tone:var(--wire);} .tone-navy{--tone:var(--text);}
.cred .mark{position:absolute; top:-28px; left:24px; min-width:76px; height:76px; padding:0 14px; border-radius:16px; display:flex; align-items:center; justify-content:center; background-color:var(--tone); background-image:linear-gradient(145deg,rgba(255,255,255,.3),rgba(0,0,0,.2)); color:#fff; font-family:var(--font-head); font-weight:700; font-size:22px; letter-spacing:.3px; transform:translateZ(56px); box-shadow:2px 2px 0 rgba(0,0,0,.22),5px 5px 0 rgba(0,0,0,.14),0 18px 26px -8px rgba(0,0,0,.45);}
:root[data-theme="dark"] .cred .mark{color:var(--paper);}
.cred-tag{font-family:var(--font-head); font-style:italic; color:var(--tone); font-size:15px; transform:translateZ(20px);}
.cred h3{font-size:22px; font-weight:600; margin-top:4px; transform:translateZ(28px);}
.cred-line{font-size:13.5px; font-weight:500; color:var(--tone); margin-top:8px; padding-bottom:12px; border-bottom:1px solid var(--border); transform:translateZ(14px);}
.cred p{color:var(--text-soft); font-size:15px; margin:14px 0 0;}
@media (max-width:900px){ .cred-grid{grid-template-columns:1fr; gap:48px;} .cred{padding-top:64px;} }

/* ---- About quick facts: label + value rows with hairline dividers ---- */
.focus-list{margin:28px 0 0; border-top:1px solid var(--border);}
.focus-row{display:grid; grid-template-columns:120px 1fr; gap:8px 20px; align-items:baseline; padding:13px 0; border-bottom:1px solid var(--border);}
.focus-label{font-size:15px; font-weight:600; color:var(--wire);}
.focus-value{font-size:15px; color:var(--text);}
@media (max-width:560px){ .focus-row{grid-template-columns:1fr; gap:2px;} }

/* ---- Stats reuse the 3D credential card ---- */
.cred-grid--stats{grid-template-columns:repeat(var(--cols,3),1fr);}
.cred--stat{padding-top:64px;}
.cred--stat .mark{font-size:24px;}
.cred--stat .stat-lab{margin:0; color:var(--text); font-size:15.5px; line-height:1.55; transform:translateZ(14px);}
@media (max-width:900px){ .cred-grid--stats{grid-template-columns:1fr; gap:48px;} }

/* ---- Signature achievements (under Expertise) ---- */
.ach{margin:0;}
.ach-title{font-size:24px; font-weight:600; margin:0 0 16px;}
.ach-item{display:grid; grid-template-columns:40px 1fr; gap:14px; padding:16px 18px; margin-bottom:12px; background:var(--card); border:1px solid var(--border); border-left:4px solid var(--wire); border-radius:6px;}
.ach-n{font-family:var(--font-head); font-style:italic; font-size:20px; color:var(--wire); line-height:1.2;}
.ach-item h4{margin:0; font-size:16px; font-weight:600; line-height:1.35; color:var(--text);}
.ach-item p{margin:6px 0 0; font-size:14.5px; color:var(--text-soft);}
.chip{border-radius:999px; background:var(--card);}

@media (prefers-reduced-motion:reduce){ .cred{transition:none; transform:none;} .cred .mark{transform:none;} }

/* ================================================================= BLOG (v1.7.0) */
.blog-sec{padding-top:48px;}
.blog-h1{font-size:clamp(30px,4vw,44px); font-weight:700; margin:0 0 20px;}
.blog-filters{display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px;}
.chip-f{display:inline-flex; align-items:center; padding:8px 18px; border:1px solid var(--border); border-radius:999px; background:var(--card); color:var(--text); font-size:14px; text-decoration:none; transition:background .2s,color .2s,border-color .2s;}
.chip-f:hover{border-color:var(--wire); color:var(--wire);}
.chip-f.is-active{background:var(--btn-bg); border-color:var(--btn-bg); color:var(--btn-text);}

.blog-layout{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:32px; align-items:start;}
.blog-main,.single-main{min-width:0;}
.post-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;}
.post-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}

.post-card{display:flex; flex-direction:column; background:var(--card); border:1px solid var(--border); border-radius:16px; overflow:hidden; box-shadow:0 1px 0 var(--border),0 14px 30px -22px rgba(0,60,116,.45); transition:transform .2s ease,box-shadow .2s ease;}
.post-card:hover{transform:translateY(-3px); box-shadow:0 1px 0 var(--border),0 22px 38px -22px rgba(0,60,116,.55);}
.pc-img{display:block; aspect-ratio:5/3; background:var(--paper-2); overflow:hidden;}
.pc-img img{width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .35s ease;}
.post-card:hover .pc-img img{transform:scale(1.03);}
.thumb-ph{width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,var(--wire),var(--text)); color:#fff; font-family:var(--font-head); font-weight:700; font-size:44px;}
.pc-body{display:flex; flex-direction:column; flex:1; padding:20px 22px 24px;}
.pc-cat{align-self:flex-start; color:var(--wire); font-size:12.5px; font-weight:600; letter-spacing:.2px; text-decoration:none;}
.pc-cat:hover{text-decoration:underline;}
.pc-title{font-size:21px; line-height:1.3; font-weight:700; margin:10px 0 0;}
.pc-title a{text-decoration:none; color:var(--text);}
.pc-title a:hover{color:var(--wire);}
.pc-ex{color:var(--text-soft); font-size:14.5px; margin:12px 0 18px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.pc-more{margin-top:auto; font-size:14.5px; font-weight:600; text-decoration:underline; text-underline-offset:3px; color:var(--text);}
.pc-more:hover{color:var(--wire);}

/* sidebar */
.blog-side{display:flex; flex-direction:column; gap:20px; position:sticky; top:calc(88px + env(safe-area-inset-top,0px));}
body.admin-bar .blog-side{top:calc(120px + env(safe-area-inset-top,0px));}
.side-card{background:var(--card); border:1px solid var(--border); border-radius:16px; padding:22px 24px;}
.side-title{font-size:19px; font-weight:600; margin:0 0 16px;}
.search-form{display:flex; gap:0;}
.search-form label{flex:1; min-width:0;}
.search-field{width:100%; height:42px; padding:0 14px; border:1px solid var(--border); border-right:0; border-radius:8px 0 0 8px; background:var(--card); color:var(--text); font:inherit; font-size:14.5px;}
.search-field:focus{outline:2px solid var(--wire); outline-offset:-2px;}
.search-submit{height:42px; padding:0 18px; border:0; border-radius:0 8px 8px 0; background:var(--btn-bg); color:var(--btn-text); font:inherit; font-size:14.5px; cursor:pointer;}
.search-submit:hover{background:var(--wire);}
.side-cats{list-style:none; margin:0; padding:0;}
.side-cats li{border-top:1px solid var(--border);}
.side-cats li:first-child{border-top:0; padding-top:0;}
.side-cats a{display:block; padding:12px 0; font-size:15px; text-decoration:none; color:var(--text);}
.side-cats li:first-child a{padding-top:0;}
.side-cats a:hover{color:var(--wire);}
.side-cats span{color:var(--text-soft);}
.side-recent{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px;}
.side-recent li{display:grid; grid-template-columns:72px 1fr; gap:14px; align-items:start;}
.sr-img{display:block; width:72px; height:72px; border-radius:10px; overflow:hidden; background:var(--paper-2);}
.sr-img img{width:100%; height:100%; object-fit:cover;}
.sr-img .thumb-ph{font-size:24px;}
.sr-title{display:block; font-size:14.5px; font-weight:600; line-height:1.4; color:var(--text);}
.sr-title:hover{color:var(--wire);}
.sr-date{display:block; margin-top:4px; font-size:12.5px; color:var(--text-soft);}

/* pagination */
.blog-pager{margin-top:32px;}
.blog-pager ul{list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0;}
.blog-pager a,.blog-pager span{display:inline-flex; min-width:40px; height:40px; padding:0 14px; align-items:center; justify-content:center; border:1px solid var(--border); border-radius:999px; background:var(--card); color:var(--text); font-size:14px; text-decoration:none;}
.blog-pager a:hover{border-color:var(--wire); color:var(--wire);}
.blog-pager .current{background:var(--btn-bg); border-color:var(--btn-bg); color:var(--btn-text);}
.blog-pager .dots{border:0; background:none;}
.blog-empty p{color:var(--text-soft);}

/* single post */
.crumbs{display:flex; flex-wrap:wrap; gap:8px; font-size:13.5px; color:var(--text-soft); margin-bottom:18px;}
.crumbs a{color:var(--text-soft); text-decoration:none;}
.crumbs a:hover{color:var(--wire);}
.entry-title{font-size:clamp(28px,3.6vw,42px); line-height:1.18; font-weight:700; margin:10px 0 0;}
.entry-meta{display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px; margin-top:16px; font-size:14px; color:var(--text-soft);}
.entry-meta span:first-child{display:inline-flex; align-items:center; gap:8px; color:var(--text); font-weight:500;}
.meta-av{border-radius:50%; width:28px; height:28px;}
.entry-hero{margin:28px 0 8px; border-radius:16px; overflow:hidden; border:1px solid var(--border); background:var(--paper-2);}
.entry-hero img{width:100%; height:auto;}
.entry-content{font-size:17.5px; line-height:1.8; color:var(--text); overflow-wrap:anywhere;}
.entry-content>*:first-child{margin-top:28px;}
.entry-content p{margin:0 0 1.25em; color:var(--text);}
.entry-content h2{font-size:28px; margin:1.8em 0 .6em; line-height:1.25;}
.entry-content h3{font-size:22px; margin:1.6em 0 .5em; line-height:1.3;}
.entry-content h4{font-size:18px; margin:1.4em 0 .4em; font-family:var(--font-head);}
.entry-content a{color:var(--wire); text-underline-offset:3px;}
.entry-content a:hover{text-decoration:none;}
.entry-content ul,.entry-content ol{margin:0 0 1.25em; padding-left:1.4em;}
.entry-content li{margin-bottom:.45em;}
.entry-content blockquote{margin:1.6em 0; padding:18px 24px; border-left:4px solid var(--wire); background:var(--card); border-radius:0 12px 12px 0; font-family:var(--font-head); font-style:italic; font-size:19px;}
.entry-content blockquote p:last-child{margin-bottom:0;}
.entry-content img{border-radius:12px;}
.entry-content figure{margin:1.6em 0;}
.entry-content figcaption,.wp-caption-text{font-size:13.5px; color:var(--text-soft); margin-top:8px; text-align:center;}
.entry-content table{width:100%; border-collapse:collapse; margin:1.6em 0; font-size:15.5px; display:block; overflow-x:auto;}
.entry-content th,.entry-content td{border:1px solid var(--border); padding:10px 14px; text-align:left;}
.entry-content th{background:var(--card);}
.entry-content hr{border:0; border-top:1px solid var(--border); margin:2em 0;}
.entry-content pre{overflow-x:auto; padding:16px; background:var(--card); border:1px solid var(--border); border-radius:10px; font-size:14px;}
.entry-content .alignleft{float:left; margin:0 24px 12px 0;}
.entry-content .alignright{float:right; margin:0 0 12px 24px;}
.entry-content .aligncenter{margin-left:auto; margin-right:auto;}
.entry-content::after{content:""; display:block; clear:both;}
.entry-tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:28px;}
.entry-tags a{padding:6px 14px; border:1px solid var(--border); border-radius:999px; font-size:13.5px; text-decoration:none; color:var(--text-soft); background:var(--card);}
.entry-tags a:hover{color:var(--wire); border-color:var(--wire);}
.entry-share{display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:28px; padding:18px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); font-size:14px;}
.entry-share a,.share-copy{padding:7px 14px; border:1px solid var(--border); border-radius:999px; background:var(--card); color:var(--text); font:inherit; font-size:13.5px; text-decoration:none; cursor:pointer;}
.entry-share a:hover,.share-copy:hover{background:var(--wire); border-color:var(--wire); color:#fff;}
.author-box{display:grid; grid-template-columns:72px 1fr; gap:18px; align-items:start; margin-top:28px; padding:22px 24px; background:var(--card); border:1px solid var(--border); border-radius:16px;}
.author-box img{border-radius:50%; width:72px; height:72px;}
.ab-name{font-family:var(--font-head); font-size:19px; font-weight:600;}
.author-box p{margin:6px 0 0; color:var(--text-soft); font-size:15px;}
.post-nav{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px;}
.pn{display:flex; flex-direction:column; gap:4px; padding:16px 20px; border:1px solid var(--border); border-radius:12px; background:var(--card); text-decoration:none; color:var(--text);}
.pn small{color:var(--wire); font-weight:600;}
.pn span{font-family:var(--font-head); font-weight:600; line-height:1.35;}
.pn.next{text-align:right; grid-column:2;}
.pn:hover{border-color:var(--wire);}
.related{margin-top:56px; padding-top:40px; border-top:1px solid var(--border);}
.page-main{max-width:820px;}
.not-found p{color:var(--text-soft);}
.not-found .search-form{max-width:420px; margin-top:20px;}
.page-links{margin-top:24px; font-size:14px;}

@media (max-width:1100px){ .post-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:980px){
  .blog-layout{grid-template-columns:1fr;}
  .blog-side{position:static;}
}
@media (max-width:640px){
  .post-grid,.post-grid--3{grid-template-columns:1fr;}
  .blog-filters{flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; margin-right:-20px; scrollbar-width:thin;}
  .chip-f{white-space:nowrap; flex:none;}
  .entry-content{font-size:16.5px;}
  .post-nav{grid-template-columns:1fr;}
  .pn.next{grid-column:auto; text-align:left;}
  .author-box{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){ .post-card,.pc-img img{transition:none;} .post-card:hover{transform:none;} .post-card:hover .pc-img img{transform:none;} }

/* ================================================================= GALLERY (v1.8.0) */
.gal-intro{max-width:70ch; color:var(--text-soft); font-size:16.5px; margin:-6px 0 24px;}
.gal-content{margin-bottom:24px;}
.gal-content>*:first-child{margin-top:0;}
.gal-filters .chip-f{cursor:pointer; font:inherit; font-size:14px;}
.gal-grid{display:grid; grid-template-columns:repeat(var(--gcols,3),minmax(0,1fr)); gap:24px;}
.gal-item{display:block; width:100%; padding:0; margin:0; border:1px solid var(--border); border-radius:16px; background:var(--card); overflow:hidden; cursor:pointer; text-align:left; font:inherit; color:inherit; box-shadow:0 1px 0 var(--border),0 14px 30px -22px rgba(0,60,116,.45); transition:transform .2s ease,box-shadow .2s ease;}
.gal-item[hidden]{display:none;}
.gal-item:hover{transform:translateY(-3px); box-shadow:0 1px 0 var(--border),0 22px 38px -22px rgba(0,60,116,.55);}
.gal-item:focus-visible{outline:3px solid var(--wire); outline-offset:2px;}
.gal-thumb{position:relative; display:block; aspect-ratio:4/3; background:var(--paper-2); overflow:hidden;}
.gal-thumb img,.gal-thumb video{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease;}
.gal-thumb img.yt-thumb{transform:scale(1.34);} /* crops the black bars baked into YouTube's 4:3 thumbnail */
.gal-item:hover .gal-thumb img{transform:scale(1.04);}
.gal-item:hover .gal-thumb img.yt-thumb{transform:scale(1.4);}
.gal-tag{position:absolute; top:12px; left:12px; padding:4px 10px; border-radius:999px; background:rgba(0,30,60,.72); color:#fff; font-size:12px; font-weight:500; letter-spacing:.2px;}
.gal-play{position:absolute; left:50%; top:50%; width:64px; height:64px; margin:-32px 0 0 -32px; border-radius:50%; background:rgba(0,30,60,.7); box-shadow:0 0 0 2px rgba(255,255,255,.85) inset; transition:transform .2s ease,background .2s ease;}
.gal-play::after{content:""; position:absolute; left:50%; top:50%; margin:-11px 0 0 -7px; border-style:solid; border-width:11px 0 11px 19px; border-color:transparent transparent transparent #fff;}
.gal-item:hover .gal-play{transform:scale(1.08); background:var(--wire);}
.gal-cap{display:block; padding:14px 18px 18px;}
.gal-title{display:block; font-family:var(--font-head); font-weight:600; font-size:18px; line-height:1.3; color:var(--text);}
.gal-sub{display:block; margin-top:4px; font-size:14px; color:var(--text-soft);}

/* lightbox */
body.lb-open{overflow:hidden;}
.lb{position:fixed; inset:0; z-index:100000; display:none; align-items:center; justify-content:center; background:rgba(5,15,30,.93); padding:56px 72px;}
.lb.is-open{display:flex;}
.lb-inner{width:100%; max-width:1100px; display:flex; flex-direction:column; align-items:center; gap:14px;}
.lb-stage{width:100%; display:flex; justify-content:center;}
.lb-stage img,.lb-stage video{max-width:100%; max-height:calc(100vh - 190px); width:auto; height:auto; border-radius:10px; background:#000; display:block;}
.lb-frame{position:relative; width:min(100%,calc((100vh - 190px)*16/9)); aspect-ratio:16/9; border-radius:10px; overflow:hidden; background:#000;}
.lb-frame.short{width:auto; height:min(calc(100vh - 190px),760px); aspect-ratio:9/16; max-width:100%;}
.lb-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.lb-cap{color:#fff; text-align:center; max-width:70ch; font-size:15px; display:flex; flex-direction:column; gap:2px;}
.lb-cap strong{font-family:var(--font-head); font-size:18px; font-weight:600;}
.lb-cap span{color:rgba(255,255,255,.75);}
.lb-btn{position:absolute; width:46px; height:46px; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(255,255,255,.1); color:#fff; font-size:28px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0 0 3px;}
.lb-btn:hover{background:var(--wire); border-color:var(--wire);}
.lb-btn:focus-visible{outline:3px solid #fff; outline-offset:2px;}
.lb-close{top:max(16px,env(safe-area-inset-top,0px)); right:16px; font-size:30px;}
.lb-prev{left:14px; top:50%; margin-top:-23px;}
.lb-next{right:14px; top:50%; margin-top:-23px;}

@media (max-width:980px){ .gal-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){
  .gal-grid{grid-template-columns:1fr;}
  .lb{padding:64px 12px 84px;}
  .lb-prev,.lb-next{top:auto; bottom:max(18px,env(safe-area-inset-bottom,0px)); margin-top:0;}
  .lb-prev{left:calc(50% - 60px);} .lb-next{right:calc(50% - 60px);}
  .lb-stage img,.lb-stage video{max-height:calc(100vh - 230px);}
  .lb-frame{width:min(100%,calc((100vh - 230px)*16/9));}
  .lb-frame.short{height:calc(100vh - 230px);}
}
@media (prefers-reduced-motion:reduce){ .gal-item,.gal-thumb img,.gal-play{transition:none;} .gal-item:hover{transform:none;} }

/* ================================================================= GOLD ACCENTS (v1.9.0)
   Colours come from Theme Options → Colours & Fonts → "Gold accent". These are fallbacks only. */
:root{--gold:#c79a3f; --gold-deep:#8f6b1a; --gold-soft:rgba(199,154,63,.4);}

/* thin gold bar across the very top */
header.mast{border-top:3px solid var(--gold);}

/* short gold dash before section titles (and the hero kicker) */
.sec-title::before,.contact-grid h2::before,.hero-card .kicker::before,.ach-title::before{content:""; display:inline-block; width:26px; height:2px; background:var(--gold); margin-right:12px; vertical-align:middle; position:relative; top:-.08em;}
.hero-card .kicker::before{width:22px; margin-right:10px; top:-.1em;}
.eyebrow,.hero-card .kicker{color:var(--gold-deep);}

/* hero card: gold left edge, gold-tinted details */
.hero-box{border-top:1px solid var(--border); border-left:5px solid var(--gold);}
.hero-photo{box-shadow:14px 14px 0 -2px var(--gold),0 26px 48px -20px rgba(0,60,116,.5);}
.meta-line span{border-color:var(--gold-soft);}
.meta-line span::before{background:var(--gold);}
.hero-card .hero-actions{border-top-color:var(--gold-soft);}
.btn-primary:hover{background:var(--gold-deep);}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold-deep);}

/* About quick facts: gold hairlines */
.focus-list{border-top-color:var(--gold-soft);}
.focus-row{border-bottom-color:var(--gold-soft);}

/* Signature achievements: gold left bar + gold number badge */
.ach-item{grid-template-columns:44px 1fr; border-left:4px solid var(--gold); box-shadow:0 12px 26px -22px rgba(0,60,116,.55);}
.ach-n{width:34px; height:34px; border-radius:50%; background:var(--gold); color:#fff; font-family:var(--font-head); font-style:normal; font-weight:600; font-size:14px; line-height:1; display:flex; align-items:center; justify-content:center;}

/* Gold tone for credential / stat cards (stats alternate gold + steel by default) */
.tone-gold{--tone:var(--gold);}
.tone-gold .cred-tag,.tone-gold .cred-line{color:var(--gold-deep);}
.cred--stat{border-left-color:var(--gold-soft); border-right-color:var(--gold-soft); border-bottom-color:var(--gold-soft);}

/* Services */
.serv{box-shadow:inset 3px 0 0 var(--gold-soft); transition:box-shadow .2s ease;}
.serv:hover{box-shadow:inset 3px 0 0 var(--gold);}
.serv .n{color:var(--gold-deep);}

/* Experience: gold ring markers + gold hairlines */
.xp-row{border-top-color:var(--gold-soft);}
.xp-row .date{color:var(--gold-deep); font-weight:500;}
.xp-row .date::before{content:""; display:inline-block; width:9px; height:9px; border-radius:50%; border:2px solid var(--gold); background:var(--card); margin-right:8px; position:relative; top:-1px;}

/* Education, skills, chips, testimonials, contact */
.edu-row{border-top-color:var(--gold-soft);}
.edu-row .yr{color:var(--gold-deep); font-weight:500;}
.skill-row .fill{background:linear-gradient(90deg,var(--gold),var(--gold-deep));}
.chip{border-color:var(--gold-soft);}
.testi{border-top:3px solid var(--gold);}
.contact-row{border-top-color:var(--gold-soft);}
footer.site-foot{border-top:1px solid var(--gold-soft);}

/* Blog + gallery */
.pc-cat,.entry-meta time{color:var(--gold-deep);}
.post-card:hover,.gal-item:hover{border-color:var(--gold-soft);}
.chip-f:hover{border-color:var(--gold); color:var(--gold-deep);}
.side-title::before{content:""; display:inline-block; width:18px; height:2px; background:var(--gold); margin-right:10px; vertical-align:middle; position:relative; top:-.08em;}
.entry-content blockquote{border-left-color:var(--gold);}
.pn small,.crumbs a:hover{color:var(--gold-deep);}
.pn:hover,.entry-share a:hover{border-color:var(--gold);}
.entry-share a:hover,.share-copy:hover{background:var(--gold-deep);}
.gal-play,.lb-btn:hover{border-color:var(--gold);}
.gal-item:hover .gal-play{background:var(--gold-deep);}
.lb-btn:hover{background:var(--gold-deep);}
