/* =========================================================
   LadySword Productions — shared stylesheet
   Used by every page. Edit here to change the whole site.
   ========================================================= */

:root{
  --green:#3EAB6F;
  --green-dark:#2f8f5b;
  --nav-active:#bff0d3;
  --blue:#3a8fd6;
  --purple:#8a5fb0;
  --ink:#333;
  --muted:#888;
  --line:#e7e7e7;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Comfortaa', Candara, Arial, sans-serif;
  font-size:16px;color:var(--ink);line-height:1.6;background:#fff;
}
h1,h2,h3,h4,h5{font-family:'ABeeZee', Candara, Arial, sans-serif;font-weight:normal;}
a{color:var(--green);text-decoration:none;}
a:hover{color:var(--green-dark);}
img{max-width:100%;height:auto;}
.container{max-width:1180px;margin:0 auto;padding:0 20px;}

/* ---------- HEADER ---------- */
#header-row{background:var(--green);width:100%;}
#header-row .container{display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;padding:22px 20px;}
.logo img{display:block;max-height:90px;}
.logo-fallback{font-family:'ABeeZee',Candara,serif;font-size:34px;color:#fff;
  text-shadow:1px 1px 0 var(--purple);}
nav.main ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;flex-wrap:wrap;}
nav.main a{color:#fff;font-size:17px;letter-spacing:.5px;}
nav.main a:hover,nav.main a.active{color:var(--nav-active);}

/* ---------- BREADCRUMB ---------- */
.breadcrumb-row{padding:26px 0 6px;}
.breadcrumb-row .crumb{color:var(--green);}
.breadcrumb-row .crumb .sep{color:#aaa;margin:0 8px;}

/* ---------- HOME: FEATURE CIRCLES ---------- */
.feature-circles{padding:55px 0 30px;}
.feature-circles .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;
  max-width:960px;margin:0 auto;}
.circle{text-align:center;}
.circle .thumb{width:230px;height:230px;border-radius:50%;overflow:hidden;margin:0 auto 14px;
  background:#eef0f2;display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 10px rgba(0,0,0,.08);}
.circle .thumb img{width:100%;height:100%;object-fit:cover;}
.circle h3{font-size:20px;margin:6px 0 0;color:#555;}
.divider-line{border:0;border-top:1px solid #bfe6d0;max-width:960px;margin:10px auto 0;}

/* ---------- HOME: VIBRANT ---------- */
.vibrant{text-align:center;padding:26px 0 10px;}
.vibrant h1{color:var(--blue);font-size:30px;margin:0 0 14px;}
.vibrant p{max-width:820px;margin:0 auto 10px;color:#555;}
.vibrant .callus{margin-top:18px;}
.vibrant .callus .num{color:var(--ink);font-size:22px;}

/* ---------- HOME: PROMO STRIP ---------- */
.promo{background:#efefef;padding:45px 0;margin-top:30px;}
.promo .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:900px;margin:0 auto;}
.promo .card{text-align:center;}
.promo .card a.imglink{display:block;border-radius:3px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.promo .card h4{margin:12px 0 0;font-size:16px;}
.promo .card h4 a{color:var(--green);}

/* ---------- HOME: WHY / COOLEST ---------- */
.why-cool{padding:55px 0;}
.why-cool .grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.col-divider{position:relative;}
.why h1{font-size:28px;color:#555;margin:0 0 30px;}
.advantage{display:flex;gap:18px;margin-bottom:26px;align-items:flex-start;}
.advantage .ic{flex:0 0 90px;height:90px;border-radius:50%;overflow:hidden;background:#eef0f2;}
.advantage .ic img{width:100%;height:100%;object-fit:cover;}
.advantage h2{font-size:19px;margin:0 0 6px;color:#666;}
.advantage p{margin:0;color:#666;font-size:15px;}
.adv-sep{border:0;border-top:1px solid var(--line);margin:0 0 26px;}
.trust{text-align:center;color:#777;font-style:italic;margin:30px 0;}
.biglink{display:inline-block;font-size:17px;color:var(--green);}
.coolest{text-align:center;}
.coolest h2{color:#666;font-size:22px;margin:0 0 20px;}
.coolest .hero-img{border-radius:4px;overflow:hidden;margin-bottom:16px;box-shadow:0 3px 12px rgba(0,0,0,.15);}
.coolest p{text-align:left;color:#555;}
.coolest table{margin:14px 0;width:100%;border-collapse:collapse;}
.coolest table td{padding:3px 8px;font-size:14px;}
.check-portfolio{text-align:center;padding:26px 0 40px;border-top:1px dotted #ccc;}
.check-portfolio a{color:var(--green);font-size:20px;}

/* ---------- PORTFOLIO ---------- */
.filters-well{background:#f2f2f2;border:1px solid #e6e6e6;border-radius:4px;padding:16px 20px;margin:18px 0 30px;}
.filters-well b{color:#555;}
.filters-well ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 4px;align-items:center;}
.filters-well a{color:var(--green);font-size:15px;padding:2px 6px;border-radius:3px;}
.filters-well a.selected,.filters-well a:hover{background:var(--green);color:#fff;}

.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:60px 40px;padding:20px 0 40px;}
.pf-item{display:flex;flex-direction:column;}
.pf-thumb{border-radius:3px;overflow:hidden;background:#eef0f2;margin-bottom:14px;border:2px solid #555;
  box-shadow:0 2px 8px rgba(0,0,0,.12);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.pf-thumb img{width:100%;height:100%;object-fit:cover;}
.pf-item h3{font-size:17px;margin:0 0 8px;color:#555;}
.pf-item .intro{font-size:14px;color:#666;flex:1;}
.pf-item .readmore{margin-top:12px;}
.pf-item .readmore a{display:inline-block;background:var(--green);color:#fff;font-size:13px;padding:6px 14px;border-radius:3px;}
.pf-item .readmore a:hover{background:var(--green-dark);}

/* ---------- PAGER ---------- */
.pager{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;
  padding:20px 0 40px;border-top:1px dotted #ccc;margin-top:20px;}
.pager ul{list-style:none;display:flex;gap:14px;margin:0;padding:0;}
.pager a{color:var(--green);}
.pager .muted{color:#bbb;}
.pager .count{color:#777;}

/* ---------- LIGHTBOX ---------- */
#lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;
  align-items:center;justify-content:center;z-index:9999;padding:30px;}
#lightbox.open{display:flex;}
#lightbox img{max-width:95%;max-height:90%;border:3px solid #fff;border-radius:4px;
  box-shadow:0 6px 30px rgba(0,0,0,.6);}
#lightbox .lb-close{position:absolute;top:20px;right:30px;color:#fff;font-size:44px;
  line-height:1;cursor:pointer;font-family:Arial,sans-serif;}
#lightbox .lb-close:hover{color:#bff0d3;}

/* ---------- CONTACT ---------- */
.contact-wrap{padding:20px 0 55px;}
.contact-wrap h1{font-size:30px;color:#555;margin:10px 0 6px;}
.contact-wrap .lead{color:#777;margin:0 0 30px;}
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;}
form.contact-form .field{margin-bottom:18px;}
form.contact-form label{display:block;font-size:14px;color:#666;margin-bottom:6px;}
form.contact-form input,
form.contact-form textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);
  padding:11px 13px;border:1px solid #d5d5d5;border-radius:5px;background:#fafafa;}
form.contact-form input:focus,
form.contact-form textarea:focus{outline:none;border-color:var(--green);background:#fff;
  box-shadow:0 0 0 3px rgba(62,171,111,.12);}
form.contact-form textarea{min-height:150px;resize:vertical;}
form.contact-form .btn{background:var(--green);color:#fff;border:0;border-radius:5px;
  font-family:inherit;font-size:16px;padding:12px 30px;cursor:pointer;letter-spacing:.5px;}
form.contact-form .btn:hover{background:var(--green-dark);}
.required{color:#c0392b;}
.form-note{font-size:13px;color:#999;margin-top:14px;}
.captcha-field{background:#f6f8f7;border:1px solid #e0e8e3;border-radius:6px;padding:14px 16px;}
.captcha-field label{margin-bottom:8px;font-weight:500;color:#555;}
.captcha-q{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.captcha-q .q{font-size:18px;color:#444;font-family:'ABeeZee',Candara,serif;
  background:#fff;border:1px dashed #bcd8c8;border-radius:5px;padding:6px 14px;letter-spacing:1px;}
.captcha-q input{max-width:120px;}
.contact-info{background:#f6f8f7;border:1px solid #e6ebe8;border-radius:6px;padding:26px 28px;}
.contact-info h3{color:#555;font-size:20px;margin:0 0 16px;}
.contact-info ul{list-style:none;margin:0;padding:0;}
.contact-info li{margin-bottom:12px;font-size:15px;color:#555;}
.contact-info .lbl{display:block;font-size:12px;color:#999;text-transform:uppercase;letter-spacing:.5px;}
.status{padding:14px 18px;border-radius:6px;margin-bottom:24px;font-size:15px;}
.status.ok{background:#e7f7ee;border:1px solid #b6e6cd;color:#1d7a4d;}
.status.err{background:#fdeceb;border:1px solid #f5c6c2;color:#b23c30;}

/* ---------- FOOTER ---------- */
#footer{background:#e9e9e9;padding:45px 0 0;color:#555;margin-top:10px;}
#footer .cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:900px;margin:0 auto;}
#footer h3{color:#666;font-size:18px;margin:0 0 16px;}
#footer ul{list-style:none;padding:0;margin:0;}
#footer li{margin-bottom:10px;font-size:14px;}
#footer .address li{padding-left:0;}
#footer a{color:var(--green);}
#copyright-row{background:var(--green);color:#eafff2;margin-top:40px;}
#copyright-row .container{display:flex;justify-content:space-between;flex-wrap:wrap;padding:14px 20px;font-size:13px;}
#copyright-row a{color:#fff;}

.notice{color:var(--muted);font-size:13px;font-style:italic;}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
  .feature-circles .grid,.promo .grid,.why-cool .grid,#footer .cols{grid-template-columns:1fr;}
  .feature-circles .grid{gap:30px;}
  .portfolio-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;gap:30px;}
  nav.main ul{gap:16px;}
  .circle .thumb{width:200px;height:200px;}
}
@media(max-width:600px){
  .portfolio-grid{grid-template-columns:1fr;}
  #header-row .container{justify-content:center;text-align:center;}
  nav.main{width:100%;margin-top:14px;}
  nav.main ul{justify-content:center;}
}

/* ---------- HOME: SLIDESHOW ---------- */
.slideshow{position:relative;width:100vw;margin-left:calc(50% - 50vw);
  aspect-ratio:25/9;overflow:hidden;background:#111;}
.slideshow .slides{position:absolute;inset:0;}
.slideshow .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;
  background-size:cover;background-position:center;display:flex;align-items:flex-end;}
.slideshow .slide.is-active{opacity:1;}
.slideshow .caption{background:rgba(47,143,91,.82);color:#fff;
  padding:16px 26px;margin:0 0 40px 40px;max-width:70%;border-radius:4px;}
.slideshow .caption h2{margin:0 0 4px;font-size:30px;color:#fff;}
.slideshow .caption p{margin:0;font-size:17px;}
.slideshow .nav{position:absolute;top:50%;transform:translateY(-50%);
  border:0;background:rgba(0,0,0,.35);color:#fff;font-size:34px;line-height:1;
  width:48px;height:60px;cursor:pointer;}
.slideshow .nav:hover{background:rgba(0,0,0,.6);}
.slideshow .prev{left:0;}
.slideshow .next{right:0;}
.slideshow .dots{position:absolute;bottom:14px;left:0;right:0;text-align:center;}
.slideshow .dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;
  background:transparent;margin:0 5px;padding:0;cursor:pointer;}
.slideshow .dot.is-active{background:#fff;}
@media(max-width:700px){
  .slideshow .caption{margin:0 0 30px 16px;max-width:88%;padding:12px 16px;}
  .slideshow .caption h2{font-size:22px;}
  .slideshow .caption p{font-size:15px;}
}

/* ---------- 404 / REBUILD PAGE ---------- */
.rebuild-wrap{padding:70px 0 90px;}
.rebuild-card{max-width:720px;margin:0 auto;text-align:center;
  background:#f4faf6;border:2px solid var(--green);border-radius:10px;
  padding:46px 34px;}
.rebuild-card h1{color:var(--green-dark);font-size:30px;line-height:1.35;margin:0 0 14px;}
.rebuild-card p{color:#555;font-size:18px;margin:8px 0;}
.rebuild-card .biglink{display:inline-block;margin-top:14px;font-size:18px;}
