*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#dddcd7;background:#070909 url('assets/texture.webp') repeat;font-family:Georgia,'Times New Roman',serif}.site-header{background:linear-gradient(180deg,#151918,#0c1010);border-top:1px solid #343c37;border-bottom:1px solid #4d5952;box-shadow:0 3px 10px #000a}.nav{max-width:1000px;height:77px;margin:auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.logo{position:relative;isolation:isolate;text-decoration:none;color:#f1eee8;letter-spacing:5.8px;font-size:21px;white-space:nowrap}.orb{position:absolute;z-index:-1;width:52px;height:52px;left:50px;top:50%;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle at 35% 35%,#233b2d,#07100b 70%);box-shadow:inset 0 2px 2px #9dc6a8,0 0 11px #619a6b50}.links{display:flex;gap:38px}.links a{font-size:12px;letter-spacing:1.2px;text-decoration:none;color:#e4e1dc;position:relative;padding:12px 0}.links a.active:after,.links a:hover:after{content:'';position:absolute;left:15%;width:70%;bottom:5px;height:1px;background:#b8d6bc;box-shadow:0 0 6px #6cbb79}.menu-toggle{display:none}.shell{max-width:1000px;margin:14px auto 0;padding:20px 20px 36px;background:linear-gradient(#1a1f1eec,#171c1bec),url('assets/texture.webp');border:1px solid #343d39;box-shadow:inset 0 0 0 4px #0f1312,0 8px 25px #000b}.slideshow{height:295px;position:relative;overflow:hidden;border:1px solid #5d6b61;border-radius:4px;background:#101615;box-shadow:inset 0 0 0 3px #151b19,0 2px 7px #000a}.slide{position:absolute;inset:0;opacity:0;transition:opacity .65s}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover;display:block}.slideshow:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 22px #0009}.prev,.next{position:absolute;z-index:1;top:45%;border:0;background:#0b11118a;color:#d3ded5;font-size:38px;line-height:1;width:33px;height:44px;cursor:pointer;text-shadow:0 0 5px #000}.prev{left:12px}.next{right:12px}.dots{position:absolute;z-index:1;bottom:13px;left:0;right:0;display:flex;justify-content:center;gap:13px}.dots button{width:9px;height:9px;border-radius:50%;padding:0;border:0;background:#a1a5a4;box-shadow:0 0 3px #000;cursor:pointer}.dots button.selected{background:#a2efb4;box-shadow:0 0 9px #7edc96}.posts{padding-top:28px}.section-heading{display:flex;align-items:center;gap:18px;margin-bottom:14px}.section-heading .accent{width:40px;height:1px;background:#b0d5b7;box-shadow:0 0 7px #81be91}.section-heading h1{font-size:16px;font-weight:400;letter-spacing:3.3px;white-space:nowrap;margin:0}.section-heading .rule{flex:1;height:1px;background:#515b56}.post{display:grid;grid-template-columns:32% minmax(0,1fr);gap:24px;min-height:155px;padding:15px 17px;margin-bottom:14px;border:1px solid #5a6860;border-radius:5px;background:linear-gradient(135deg,#242a29,#1b201f);box-shadow:inset 0 0 0 3px #151b19,0 3px 7px #0008}.post>img{width:100%;height:125px;object-fit:cover;border:1px solid #536058;border-radius:3px;box-shadow:0 2px 5px #0008}.post-copy{position:relative;padding-right:7px;padding-bottom:14px}.post h2{font-weight:400;font-size:21px;letter-spacing:.2px;margin:0 0 8px;color:#eeeae3}.post time{font-size:11px;letter-spacing:2px;color:#c0c3bd}.post p{font-size:15px;line-height:1.45;margin:10px 0 0;color:#d3d3ce;max-width:500px}.post a{position:absolute;bottom:0;right:2px;color:#a9d8b3;font-size:11px;letter-spacing:2px;text-decoration:none}.post a:hover{text-shadow:0 0 8px #a1e9b2}footer{text-align:center;color:#727f76;font-size:11px;letter-spacing:2px;padding:20px}.menu-toggle{border:0;background:none;color:#d5e5d9;font-size:26px;cursor:pointer}@media(max-width:700px){.nav{height:68px;padding:0 16px}.logo{font-size:15px;letter-spacing:3px}.orb{left:32px;width:41px;height:41px}.menu-toggle{display:block}.links{display:none;position:absolute;z-index:10;top:68px;left:0;right:0;flex-direction:column;gap:0;padding:12px 22px 22px;background:#0e1412;border-bottom:1px solid #60756a}.links.open{display:flex}.links a{padding:14px 0}.shell{margin:12px 10px 0;padding:12px}.slideshow{height:230px}.posts{padding-top:23px}.section-heading{gap:10px}.section-heading h1{font-size:14px;letter-spacing:2px}.section-heading .accent{width:22px}.post{grid-template-columns:112px minmax(0,1fr);gap:12px;padding:10px;min-height:138px}.post>img{height:114px}.post h2{font-size:15px;margin-bottom:6px}.post time{font-size:9px;letter-spacing:1px}.post p{font-size:11px;line-height:1.4;margin-top:7px}.post a{font-size:9px;letter-spacing:1px}}@media(max-width:380px){.post{grid-template-columns:90px minmax(0,1fr)}.post>img{height:100px}.post h2{font-size:13px}.post p{font-size:10px}}
/* V3 targeted refinements: keep V2 layout and artwork unchanged. */
/* One circle per pagination control, with no overlaid highlight or offset. */
.dots{align-items:center;gap:13px}
.dots button{display:block;appearance:none;-webkit-appearance:none;flex:0 0 10px;width:10px;height:10px;min-width:10px;min-height:10px;margin:0;padding:0;border:1px solid #636b67;border-radius:50%;background:#a2a7a4;box-shadow:0 1px 3px #0009;transform:none;position:relative;vertical-align:middle;transition:background-color .25s,box-shadow .25s,border-color .25s}
.dots button.selected{background:#4cb96a;border-color:#7ee69a;box-shadow:0 0 0 1px #1e5230,0 0 8px 2px #55d57b88}
.dots button:focus-visible{outline:2px solid #d5f4dd;outline-offset:4px}
/* Soften the logo orb into a subdued crescent; preserve original size and placement. */
.logo .orb{background:radial-gradient(circle at 45% 45%,#17251c 0%,#08110d 64%,#060b09 100%);box-shadow:inset 0 2px 1px #8ab99a9c,inset 1px 0 3px #56856745,0 0 8px #4d8e5b25}
.logo .orb::after{content:'';position:absolute;inset:3px 2px 1px 5px;border-radius:50%;background:radial-gradient(circle at 48% 46%,#0e1913,#07100b 80%);box-shadow:-2px -1px 2px #0002}
/* Gentle, short, centered green underline and text glow for active + hover. */
.links a{transition:color .2s ease,text-shadow .2s ease}
.links a.active{color:#e5eee6;text-shadow:0 0 5px #74b78950}
.links a:hover,.links a:focus-visible{color:#e8f6eb;text-shadow:0 0 7px #72d48c88}
.links a.active::after,.links a:hover::after,.links a:focus-visible::after{content:'';position:absolute;left:20%;width:60%;bottom:5px;height:1px;background:#a8d9b3;box-shadow:0 0 4px 1px #6bc9868c,0 0 11px 2px #4baf6a48;transition:box-shadow .2s ease}


/* Portfolio landing page: builds directly on the approved V3.1 shared theme. */
.portfolio-shell{padding-top:24px;padding-bottom:38px}
.portfolio-intro{text-align:center;margin:0 0 25px}
.portfolio-intro h1{font-size:36px;letter-spacing:8px;font-weight:400;margin:2px 0 7px;color:#f0ede8}
.diamond-divider{max-width:360px;margin:0 auto 14px;display:flex;align-items:center;gap:10px;color:#a6d4b2;font-size:21px;line-height:1}
.diamond-divider:before,.diamond-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#829f89)}
.diamond-divider:after{transform:rotate(180deg)}
.portfolio-intro p{font-size:16px;line-height:1.65;margin:0;color:#d4d4cf}
.portfolio-categories{display:flex;flex-direction:column;gap:16px}
.portfolio-card{display:grid;grid-template-columns:minmax(0,55%) minmax(0,1fr);gap:32px;align-items:center;padding:25px 26px;border:1px solid #5a6860;border-radius:5px;background:linear-gradient(130deg,#222827,#181d1c 70%);box-shadow:inset 0 0 0 3px #111715,0 4px 9px #0008;min-height:300px}
.portfolio-image{display:block;line-height:0;border:1px solid #56655b;padding:3px;background:#0d1110;border-radius:3px;box-shadow:0 2px 7px #000b}
.portfolio-image img{width:100%;height:245px;object-fit:cover;display:block}
.portfolio-copy{min-width:0}
.portfolio-copy .eyebrow{font-size:10px;letter-spacing:2.4px;color:#c5c9c1;display:flex;align-items:center;gap:11px}
.portfolio-copy .eyebrow:before{content:"";width:29px;height:1px;background:#a0c3a7;box-shadow:0 0 6px #7fbc8e}
.portfolio-copy h2{font-size:23px;font-weight:400;letter-spacing:2.4px;line-height:1.3;margin:15px 0;color:#ece9e2}
.portfolio-copy p{font-size:15px;line-height:1.65;margin:0 0 24px;color:#d0d0ca}
.portfolio-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:205px;padding:12px 19px;border:1px solid #70a47c;border-radius:4px;color:#e8ece6;text-decoration:none;letter-spacing:2px;font-size:11px;box-shadow:0 0 12px #42845125,inset 0 0 6px #37764a15;transition:box-shadow .2s,color .2s,border-color .2s}
.portfolio-button:hover,.portfolio-button:focus-visible{color:#f3fff6;border-color:#8ad49b;box-shadow:0 0 14px #5dc87b65,inset 0 0 12px #3f945a25}
@media(max-width:700px){.portfolio-shell{padding-top:20px}.portfolio-intro{margin-bottom:19px}.portfolio-intro h1{font-size:26px;letter-spacing:5px}.portfolio-intro p{font-size:13px}.desktop-break{display:none}.portfolio-categories{gap:13px}.portfolio-card{grid-template-columns:1fr;gap:16px;padding:13px;min-height:0}.portfolio-image img{height:auto;aspect-ratio:1.7;object-fit:cover}.portfolio-copy{padding:2px 5px 7px}.portfolio-copy h2{font-size:19px;letter-spacing:1.7px;margin:10px 0}.portfolio-copy p{font-size:13px;margin-bottom:16px}.portfolio-button{min-width:0;width:100%;padding:12px}}

/* Portfolio V1.1: heading is on the dark outer page, separate from the charcoal content box. */
.portfolio-page-heading{max-width:1000px;margin:26px auto 0;padding:0 20px;background:transparent;border:0;box-shadow:none}
.portfolio-heading-inner{max-width:900px;margin:auto;text-align:center}
.portfolio-page-heading h1{margin-top:0}
.portfolio-shell{margin-top:22px;padding-top:25px}
@media(max-width:700px){.portfolio-page-heading{margin-top:23px;padding:0 16px}.portfolio-shell{margin-top:17px;padding-top:14px}}


/* Navigation: quiet persistent active state, clearly brighter hover state. */
.links a.active:not(:hover):not(:focus-visible) {
 color:#e2eee4;
 text-shadow:0 0 4px #73bb8745;
}
.links a.active:not(:hover):not(:focus-visible)::after {
 background:#a6d2af;
 box-shadow:0 0 4px 1px #62a87866,0 0 9px 1px #55aa6850;
}
.links a:hover,.links a:focus-visible {
 color:#f4fff5;
 text-shadow:0 0 5px #a5f4baaa,0 0 13px #69d789bb;
}
.links a:hover::after,.links a:focus-visible::after {
 background:#b8f9c7;
 box-shadow:0 0 6px 2px #83e7a0c9,0 0 17px 5px #46b96e8a,0 0 25px 7px #3a9e584a;
}

/* Forum signatures gallery */
.gallery-page-heading{max-width:1000px;margin:0 auto}
.gallery-breadcrumb{max-width:1000px;margin:0 auto;padding:22px 20px 0;color:#a9b5ad;font-size:12px;letter-spacing:.3px}
.gallery-breadcrumb a{color:#a8cdb1;text-decoration:none}
.gallery-breadcrumb a:hover{text-shadow:0 0 7px #82d99c}
.gallery-breadcrumb span{padding:0 8px;color:#829487}
.gallery-page-heading .portfolio-heading-inner{padding-top:11px}
.gallery-shell{margin-top:18px}
.signature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.signature-item{border:1px solid #56635b;background:linear-gradient(145deg,#252b29,#171d1b);box-shadow:inset 0 0 0 3px #111716,0 3px 8px #000a;padding:9px;border-radius:4px;display:flex;align-items:center;justify-content:center;min-width:0;cursor:zoom-in;transition:border-color .18s,box-shadow .18s}
.signature-item:hover,.signature-item:focus-visible{border-color:#83aa8d;box-shadow:inset 0 0 0 3px #111716,0 0 12px #4a9d6145}
.signature-item img{display:block;width:100%;height:auto;border:1px solid #343e38}
.signature-page-nav{display:flex;align-items:center;justify-content:center;gap:8px;margin:32px 0 4px;flex-wrap:wrap}
.signature-page-nav button{font-family:inherit;cursor:pointer;min-width:33px;height:33px;background:#131917;color:#c4cbc3;border:1px solid #58665c;border-radius:2px}
.signature-page-nav button[aria-current="page"]{border-color:#8cce9b;color:#dffbe6;box-shadow:0 0 9px #6fc98965}
.signature-page-nav button:hover:not(:disabled){border-color:#9bd4a6;color:#fff}
.signature-page-nav button:disabled{opacity:.35;cursor:default}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox{position:fixed;inset:0;z-index:100;background:#030605ed;display:flex;align-items:center;justify-content:center;padding:55px 70px}
.gallery-lightbox img{max-width:min(1100px,100%);max-height:calc(100vh - 100px);width:auto;height:auto;object-fit:contain;box-shadow:0 0 35px #000;display:block}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:1px solid #5d7665;background:#0c1412cc;color:#e9f6ec;font-size:32px;cursor:pointer;line-height:1;display:grid;place-items:center;width:43px;height:48px}
.lightbox-close{top:15px;right:17px}
.lightbox-prev{left:15px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:15px;top:50%;transform:translateY(-50%)}
body.lightbox-open{overflow:hidden}
@media(max-width:700px){.gallery-breadcrumb{padding:17px 16px 0;font-size:11px}.gallery-page-heading .portfolio-heading-inner{padding-top:11px}.gallery-page-heading h1{font-size:23px;letter-spacing:3px}.gallery-shell{margin-top:12px}.signature-grid{grid-template-columns:1fr;gap:13px}.signature-item{padding:7px}.gallery-lightbox{padding:55px 10px}.lightbox-prev,.lightbox-next{width:32px;height:40px;font-size:24px;top:auto;bottom:8px;transform:none}.lightbox-prev{left:calc(50% - 55px)}.lightbox-next{right:calc(50% - 55px)}}


/* V1.1: restrained navbar hover; active link stays softly lit. */
.links a:hover,.links a:focus-visible {
  color:#f2fcf4;
  text-shadow:0 0 5px #a5f4ba8c,0 0 11px #69d7898e;
}
.links a:hover::after,.links a:focus-visible::after {
  background:#b8f1c5;
  box-shadow:0 0 6px 2px #83e7a0a8,0 0 14px 4px #46b96e70,0 0 19px 5px #3a9e5833;
}

/* V1.1: make hover pagination clearly visible without changing active state. */
.signature-page-nav button {
  transition:border-color .18s ease,box-shadow .18s ease,color .18s ease;
}
.signature-page-nav button:hover:not(:disabled):not([aria-current="page"]),
.signature-page-nav button:focus-visible:not(:disabled):not([aria-current="page"]) {
  border-color:#a8e7b7;
  color:#f3fff6;
  box-shadow:0 0 5px 1px #80d89a8a,0 0 12px 2px #4ebd7166;
}

/* V1.1: natural image dimensions; scale down only when viewport requires. */
.gallery-lightbox img {
  width:auto;
  height:auto;
  max-width:100%;
  max-height:calc(100vh - 100px);
  object-fit:contain;
}

/* Miscellaneous Artwork: masonry-style two-column layout; no thumbnail cropping. */
.artwork-masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.artwork-column{display:flex;flex-direction:column;gap:18px;min-width:0}
.artwork-item{border:1px solid #56635b;background:linear-gradient(145deg,#252b29,#171d1b);box-shadow:inset 0 0 0 3px #111716,0 3px 8px #000a;padding:9px;border-radius:4px;display:block;width:100%;min-width:0;cursor:zoom-in;transition:border-color .18s,box-shadow .18s}
.artwork-item:hover,.artwork-item:focus-visible{border-color:#83aa8d;box-shadow:inset 0 0 0 3px #111716,0 0 12px #4a9d6145}
.artwork-item img{width:100%;height:auto;max-height:420px;object-fit:contain;display:block;border:1px solid #343e38;background:#0d1110}
@media(max-width:700px){.artwork-masonry{grid-template-columns:1fr;gap:13px}.artwork-column{gap:13px}.artwork-column:empty{display:none}.artwork-item{padding:7px}}

/* Misc artwork: allow full natural image height in masonry frames. */
.artwork-item img{max-height:none}
/* Jedi Academy models: single-column, blog-style entries. */
.models-list{display:flex;flex-direction:column;gap:15px}
.model-entry{display:grid;grid-template-columns:32% minmax(0,1fr);gap:24px;align-items:start;padding:15px 17px;min-height:174px;border:1px solid #5a6860;border-radius:5px;background:linear-gradient(135deg,#242a29,#1b201f);box-shadow:inset 0 0 0 3px #151b19,0 3px 7px #0008}
.model-entry img{width:100%;height:145px;object-fit:cover;border:1px solid #536058;border-radius:3px;box-shadow:0 2px 5px #0008;display:block}
.model-entry h2{font-weight:400;font-size:22px;margin:0 0 10px;color:#eeeae3}
.model-entry p{font-size:15px;line-height:1.55;color:#d3d3ce;margin:0 0 14px}
.model-entry a,.model-back{color:#a9d8b3;font-size:12px;letter-spacing:1.4px;text-decoration:none}
.model-entry a:hover,.model-back:hover{text-shadow:0 0 8px #a1e9b2}
.model-detail{border:1px solid #5a6860;border-radius:5px;background:linear-gradient(135deg,#242a29,#1b201f);box-shadow:inset 0 0 0 3px #151b19,0 3px 7px #0008;padding:25px}
.model-detail h2{font-size:21px;font-weight:400;letter-spacing:1px;margin:22px 0 12px}
.model-detail p{font-size:15px;line-height:1.65;color:#d3d3ce}
.model-hero{width:100%;max-height:370px;object-fit:contain;background:#0d1110;border:1px solid #526157;display:block}
.model-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:15px 0 25px}
.model-shots img{width:100%;height:145px;object-fit:cover;border:1px solid #526157}
.model-details-table{border-collapse:collapse;width:100%;max-width:600px;font-size:14px}
.model-details-table td{padding:10px;border-bottom:1px solid #4b5850}.model-details-table td:first-child{color:#a7c4ad;width:35%}
.model-download-disabled{display:inline-block;color:#aeb5ad;border:1px solid #4a5b50;padding:12px 20px;font-size:12px;letter-spacing:1px;opacity:.75}
@media(max-width:700px){.model-entry{grid-template-columns:110px minmax(0,1fr);gap:12px;padding:10px;min-height:0}.model-entry img{height:115px}.model-entry h2{font-size:16px}.model-entry p{font-size:12px;line-height:1.4}.model-entry a{font-size:10px}.model-detail{padding:13px}.model-shots{gap:7px}.model-shots img{height:80px}}

/* Clickable model screenshots — retains the gallery lightbox appearance. */
.model-shots img{cursor:zoom-in;transition:border-color .18s ease,box-shadow .18s ease}
.model-shots img:hover,.model-shots img:focus-visible{border-color:#a2cdb0;box-shadow:0 0 10px #4caa7055;outline:none}

/* Contact page: centered, minimal charcoal form, approved site palette. */
.contact-heading{margin-bottom:0}
.contact-shell{max-width:740px;margin-top:23px;padding:22px}
.contact-panel{padding:31px 36px 34px;border:1px solid #5a6860;border-radius:5px;background:linear-gradient(145deg,#242a29,#1b201f);box-shadow:inset 0 0 0 3px #151b19,0 3px 8px #0009}
.contact-form{display:flex;flex-direction:column;gap:23px}
.contact-field{display:flex;flex-direction:column;gap:9px}
.contact-field label{color:#d6dfd7;font-size:12px;letter-spacing:2px}
.contact-field label span{color:#a9d8b3}
.contact-field input,.contact-field textarea{width:100%;font:15px/1.5 Georgia,'Times New Roman',serif;color:#eeeae4;background:#121715;border:1px solid #536159;border-radius:2px;padding:13px 14px;box-shadow:inset 0 2px 6px #0005;transition:border-color .18s,box-shadow .18s}
.contact-field textarea{min-height:185px;resize:vertical}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#8b9990}
.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:#a0cdae;box-shadow:0 0 0 2px #54866345,inset 0 2px 6px #0005}
.contact-actions{text-align:center;margin-top:3px}
.contact-submit{cursor:pointer;min-width:215px;padding:14px 22px;border:1px solid #82ad8c;background:linear-gradient(#222d27,#151d19);color:#c6e5cd;font:12px Georgia,'Times New Roman',serif;letter-spacing:2px;transition:box-shadow .18s,border-color .18s,color .18s}
.contact-submit:hover,.contact-submit:focus-visible{border-color:#b4e6be;color:#f0fff2;box-shadow:0 0 12px #5db57870;outline:none}
.contact-submit span{margin-left:7px}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:700px){.contact-shell{margin:17px 12px 0;padding:12px}.contact-panel{padding:22px 16px}.contact-form{gap:19px}.contact-field textarea{min-height:175px}.contact-submit{width:100%}}

/* Blog listing and articles; existing site palette preserved. */
.blog-list{display:flex;flex-direction:column;gap:14px}
.blog-post{margin-bottom:0;min-height:160px}
.blog-article{border:1px solid #5a6860;border-radius:5px;background:linear-gradient(135deg,#242a29,#1b201f);box-shadow:inset 0 0 0 3px #151b19,0 3px 7px #0008;padding:27px 29px}
.blog-article p{font-size:16px;line-height:1.8;color:#d3d3ce;margin:20px 0}
.blog-hero{width:100%;height:auto;max-height:430px;object-fit:contain;background:#0d1110;border:1px solid #526157;display:block;margin-top:22px}
.blog-inline-image{margin:28px auto;max-width:780px;text-align:center}
.blog-inline-image img{display:block;max-width:100%;height:auto;margin:auto;border:1px solid #526157}
.blog-inline-image figcaption{font-size:12px;color:#96a69b;margin-top:8px}
.blog-post-nav{border-top:1px solid #4b5850;padding-top:22px;margin-top:32px;display:flex;justify-content:space-between;gap:12px}
.blog-post-nav a{font-size:12px;letter-spacing:1.4px;text-decoration:none;color:#a9d8b3}
.blog-post-nav a:hover{text-shadow:0 0 8px #a1e9b2}
@media(max-width:700px){.blog-article{padding:17px 15px}.blog-article p{font-size:14px}.blog-post-nav a{font-size:10px}.blog-post{min-height:138px}}

