
/* ---- homepage banner slider: locked height ---- */
#home.ct-header.ct-header--slider,
#home.ct-header.ct-header--slider .slick-list,
#home.ct-header.ct-header--slider .slick-track{
	height:600px !important;
}
#home.ct-header.ct-header--slider .item{
	background-size:cover;
	background-repeat:no-repeat;
}

/* ---- homepage banner slider: dot navigation (replaces arrows) ---- */
#home .slick-dots{position:absolute;bottom:24px;left:0;right:0;z-index:3;display:flex;justify-content:center;gap:10px;margin:0;padding:0;list-style:none;}
#home .slick-dots li{margin:0;}
#home .slick-dots li button{width:11px;height:11px;padding:0;border:2px solid rgba(255,255,255,.85);border-radius:50%;background:transparent;font-size:0;line-height:0;cursor:pointer;transition:background 200ms ease-in-out,border-color 200ms ease-in-out;}
#home .slick-dots li.slick-active button{background:#faad3b;border-color:#faad3b;}
#home .slick-dots li button:hover{border-color:#faad3b;}

/* ---- project detail pages (match Nickie) ---- */
.pg-hero{position:relative;color:#fff;padding:170px 0 70px;text-align:left;background-color:#1a1a1a;background-size:cover;background-position:center;overflow:hidden;}
.pg-hero::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(10,12,16,.6);z-index:0;}
.pg-hero>.container{position:relative;z-index:1;}
.pg-hero .cat{color:#17a2b8;text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:600;}
.pg-hero h1{color:#fff;font-size:40px;font-weight:700;margin:14px 0 10px;}
.pg-hero .role{color:#bbb;font-size:16px;font-style:italic;}
.pg-body{padding:70px 0;}
.pg-body h2{font-size:24px;color:#17a2b8;margin:34px 0 12px;font-weight:600;}
.pg-body h2:first-child{margin-top:0;}
.pg-body p{font-size:17px;line-height:1.75;color:#444;margin-bottom:16px;}
.pg-body ul{margin:0 0 16px 0;padding-left:22px;}
.pg-body ul li{font-size:17px;line-height:1.65;color:#444;margin-bottom:8px;display:list-item;list-style:disc outside;}
.pg-body .pg-role-line{color:#777;font-size:15px;font-style:italic;margin:-8px 0 20px;}
.pg-status{border-left:4px solid #17a2b8;background:#f5f8fa;padding:14px 20px;color:#555;margin-top:30px;font-size:16px;}
.pg-gallery{column-count:2;column-gap:16px;margin:36px 0 0;}
.pg-gallery img{width:100%;border-radius:4px;display:block;border:1px solid #d8d8d8;margin:0 0 16px;break-inside:avoid;}
.pg-gallery img.pg-gallery-wide{column-span:all;-webkit-column-span:all;}
@media(max-width:600px){.pg-gallery{column-count:1;}}
.pg-back{display:inline-block;margin-top:34px;color:#17a2b8;font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:14px;}
.pg-filebtn{display:inline-block;margin-top:6px;background:#17a2b8;color:#fff;padding:10px 22px;border-radius:3px;font-weight:600;}
.pg-filebtn:hover{color:#fff;opacity:.9;}

/* ---- inline document/video previews ---- */
.pg-embed{margin:14px 0 20px;border:1px solid #e2e2e2;border-radius:4px;overflow:hidden;background:#f5f5f5;}
.pg-embed iframe{width:100%;height:700px;border:0;display:block;}
.pg-embed-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:14px 0 20px;border-radius:4px;background:#000;}
.pg-embed-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
@media(max-width:600px){.pg-embed iframe{height:480px;}}

/* ---- document page-image previews: scrollable column, reads like the real document ---- */
.pg-doc-preview{margin:14px 0 20px;border:1px solid #e2e2e2;border-radius:4px;overflow-y:auto;max-height:700px;background:#e9e9e9;padding:16px;}
.pg-doc-preview a{display:block;margin:0 auto 16px;max-width:560px;line-height:0;}
.pg-doc-preview a:last-child{margin-bottom:0;}
.pg-doc-preview img{width:100%;display:block;border:1px solid #ccc;box-shadow:0 1px 4px rgba(0,0,0,.15);}
@media(max-width:600px){.pg-doc-preview{max-height:480px;padding:10px;}}

/* ---- banner bullet lists ---- */
.ct-header ul.banner-bullets{list-style:none;padding:0;margin:28px 0 36px;}
.ct-header ul.banner-bullets li{font-size:20px;font-weight:200;line-height:1.4;color:#fff;margin-bottom:10px;padding-left:24px;position:relative;}
.ct-header ul.banner-bullets li:before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;background:#faad3b;border-radius:50%;}
.slider-inner.text-right ul.banner-bullets li{padding-left:0;padding-right:24px;}
.slider-inner.text-right ul.banner-bullets li:before{left:auto;right:0;}

/* ---- CTA button pairs: give the second button breathing room + a distinct style ---- */
.slider-inner .btn-new,
.message-box .btn-new{margin:6px 8px 6px 0;}
.slider-inner.text-right .btn-new{margin:6px 0 6px 8px;}
.btn-outline-new{background:transparent;padding:10px 24px;font-size:18px;text-transform:uppercase;display:inline-block;border-radius:2px;transition:all .3s;margin:6px 8px 6px 0;}
.ct-header .btn-outline-new{border:2px solid #fff;color:#fff;}
.ct-header .btn-outline-new:hover{background:#fff;color:#212121;}
.message-box .btn-outline-new{border:2px solid #faad3b;color:#faad3b;}
.message-box .btn-outline-new:hover{background:#faad3b;color:#fff;}
.slider-inner.text-right .btn-outline-new{margin:6px 0 6px 8px;}

/* ---- contact section: drop template texture, keep it plain dark ---- */
#contact{background:#111111;}

/* ---- homepage portfolio thumbnails: thin border ---- */
.gallery-single img.img-fluid{border:1px solid #d8d8d8;}

/* ---- portfolio card captions: don't let long titles block the hover link button ---- */
.gallery-single .text-hover{pointer-events:none;}
.gallery-single .img-overlay .hoverbutton{z-index:100;}

/* ---- portfolio filter buttons: wrap as a centered flex row instead of default inline-block wrapping ---- */
.filter-button-group{display:flex !important;flex-wrap:wrap;justify-content:center;gap:8px;}
@media(max-width:575px){.filter-button-group{flex-direction:column;align-items:center;}}

/* ---- contact section: find-me icon row + spacing under the buttons ---- */
.contact-find-me{margin:20px 0 0;}
.contact-find-me li{display:inline-block;}
.contact-find-me li b{color:#fff;font-size:20px;margin-right:15px;}
.contact-find-me li a{background:#009bb7;font-size:22px;width:56px;height:38px;display:inline-block;text-align:center;line-height:38px;border-radius:50px;margin-right:6px;}
.contact-find-me li a:hover{color:#faad3b;}
#contact .btn-outline-new{border:2px solid #faad3b;color:#faad3b;margin:6px 8px 6px 0;}
#contact .btn-outline-new:hover{background:#faad3b;color:#fff;}

/* ---- recognition: direct-quote award card ---- */
.award-quote{max-width:760px;margin:0 auto 40px;text-align:center;padding-bottom:32px;border-bottom:1px solid #e2e2e2;}
.award-quote:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0;}
.award-quote-text{font-size:18px;line-height:1.7;color:#444;font-style:italic;margin-bottom:18px;}
.award-quote-attribution{font-size:15px;color:#888;font-weight:600;margin-bottom:24px;}

/* ---- about me: match recognition's body text size ---- */
.message-box p{font-size:18px;line-height:1.7;color:#444;}

/* ---- skills: grouped pill tags, compact grid ---- */
#services{padding:44px 0;}
#services .section-title{margin-bottom:26px;}
.skills-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 28px;max-width:900px;margin:0 auto;}
.skills-group{text-align:left;min-width:0;}
.skills-group h4{font-size:18px;text-transform:uppercase;letter-spacing:1.2px;color:#888;font-weight:700;margin-bottom:8px;}
.skills-pills{display:flex;flex-wrap:wrap;gap:6px;min-width:0;}
.skill-pill{display:inline-block;padding:4px 12px;border-radius:20px;background:#f2f9fa;border:1px solid #bfe6ec;color:#128096;font-size:12.5px;font-weight:500;white-space:normal;line-height:1.4;max-width:100%;}
@media(max-width:767px){.skills-groups{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.skills-groups{grid-template-columns:1fr;}}
