@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Cormorant+Garamond:wght@300;400;500;600&family=Inter:wght@300;400;500;600&display=swap');

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --font-display:"Cinzel","Cormorant Garamond",Georgia,serif;
  --font-body:"Inter","Segoe UI",Arial,sans-serif;
  --font-serif:"Cormorant Garamond",Georgia,serif;
  --nav-height-desktop:76px;
  --nav-height-mobile:72px;
  --thumb-radius:16px;
  --thumb-idle-opacity:.74;
}
html,body{min-height:100%}
body{color:#fff;font-family:var(--font-body);text-transform:uppercase;background:#030504;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img,video{max-width:100%}
body.lightbox-open{overflow:hidden}

.navbar,.navbar-fixed,.navbar-landing{position:fixed;top:0;left:0;right:0;width:100%;z-index:5000;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem .85rem;background:rgba(0,0,0,.38);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.logo{font-family:var(--font-display);font-size:.86rem;letter-spacing:.18em;font-weight:500;white-space:nowrap}
.nav-links{display:flex;gap:clamp(.75rem,2vw,1.55rem);align-items:center}
.nav-links a,.mobile-menu a{font-family:var(--font-display);font-size:.72rem;letter-spacing:.18em;font-weight:400;opacity:.82;transition:opacity .25s ease}
.nav-links a:hover,.nav-links a.is-current,.mobile-menu a:hover,.mobile-menu a.is-current{opacity:1}
.footer,.footer-static{position:fixed;left:0;right:0;bottom:0;width:100%;z-index:4500;padding:.78rem 1rem;text-align:center;background:rgba(7,50,60,.38);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.footer p{margin:.15rem 0;font-family:var(--font-body);font-size:.62rem;letter-spacing:.12em;line-height:1.35}.footer .contact{opacity:.5}.footer .copyright{opacity:.65}

.nav-toggle{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none;left:-9999px}
.nav-close-overlay{display:none}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:6px;width:32px;height:32px;cursor:pointer;touch-action:manipulation}
.hamburger span{display:block;width:26px;height:2px;background:#fff;border-radius:2px;transform-origin:center;transition:transform .25s ease,opacity .2s ease}
.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(250px,85vw);height:100svh;z-index:4999;transform:translateX(100%);transition:transform .3s ease;background:rgba(0,0,0,.48);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:6rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}
.nav-toggle:checked~.mobile-menu{transform:translateX(0)}
.nav-toggle:checked~.nav-close-overlay{display:block;position:fixed;inset:0;z-index:4998;background:transparent}
.nav-toggle:checked+.navbar .hamburger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle:checked+.navbar .hamburger span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-toggle:checked+.navbar .hamburger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(max-width:768px){.nav-links{display:none}.hamburger{display:flex;z-index:5100}.navbar,.navbar-fixed,.navbar-landing{padding:.95rem 1rem .85rem}.footer,.footer-static{padding:.7rem .8rem}}
@media(min-width:769px){.nav-toggle,.nav-close-overlay,.mobile-menu{display:none}}

body.landing-page,body.about-page,body.gallery-page,body.gallery-lightwork,body.gallery-flux,body.gallery-synth,body.gallery-miniatures,body.gallery-systems{background-image:linear-gradient(rgba(7, 50, 60, 0.65),rgba(7, 50, 60, 0.65)),url("../random-bg.php");background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}

.intro-screen,.intro-svg-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#000;pointer-events:none;animation:introFadeOut 4s ease forwards}
.intro-svg-screen .stage{width:min(96vw,1800px);aspect-ratio:16/9;display:grid;place-items:center}.intro-logo{width:100%;height:auto;display:block;border:0;pointer-events:none}
@keyframes introFadeOut{0%,80%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}

body.landing-page{overflow-x:hidden}.page-shell{min-height:100svh;display:flex;flex-direction:column}.main-stage{height:100svh;min-height:100svh;padding-top:76px;padding-bottom:92px;display:flex;align-items:center;justify-content:center}
.hero-marquee{width:100vw;height:100%;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;overflow:hidden}.marquee-stage{width:100vw;height:min(66.666vw,calc(100svh - 168px));min-height:320px;overflow:hidden;position:relative;background:#040604}
.marquee-track{height:100%;display:flex;align-items:stretch;width:max-content;animation:mpaContinuousMarquee 50s linear infinite;will-change:transform}.marquee-card{flex:0 0 auto;width:33.333vw;height:100%;margin:0;padding:0;overflow:hidden;position:relative;opacity:1}.marquee-card img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;pointer-events:none;user-select:none;-webkit-user-drag:none;opacity:1;filter:none}
@keyframes mpaContinuousMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}body.landing-page .desktop-strip,body.landing-page .mobile-slideshow{display:none}
@media(max-width:768px){.main-stage{padding-top:72px;padding-bottom:96px}.marquee-stage{height:calc(100svh - 168px);min-height:280px}.marquee-card{width:78vw}.marquee-track{animation-duration:50s}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;transform:translateX(0)}}

.about-main,.about-main-wide{width:min(1480px,100%);margin:0 auto;padding:6rem clamp(1rem,3vw,3rem) 7rem}.about-section,.about-pair{max-width:1480px;margin:0 auto 3rem}.about-grid,.about-pair{display:grid;grid-template-columns:minmax(280px,42%) 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}.about-pair:nth-of-type(even){grid-template-columns:1fr minmax(280px,42%)}.about-pair:nth-of-type(even) .about-image-wrap{order:2}.about-image,.about-image-wrap img{width:100%;height:auto;display:block;object-fit:cover}.about-copy,.about-text{line-height:1.75;text-transform:none;letter-spacing:.02em}.about-copy h1,.about-copy h2,.about-text h1,.about-text h2{text-transform:uppercase;letter-spacing:.16em;margin-bottom:1rem}.about-copy p,.about-text p{margin-bottom:1rem;opacity:.88}
@media(max-width:768px){.about-main,.about-main-wide{padding:5.6rem 1rem 7rem}.about-grid,.about-pair,.about-pair:nth-of-type(even){display:block}.about-pair:nth-of-type(even) .about-image-wrap{order:initial}.about-image-wrap,.about-image{margin-bottom:1.25rem}}

.gallery-main{width:100%;max-width:none;padding:6rem clamp(1rem,3vw,3rem) 7rem}.gallery-header{width:min(1560px,100%);margin:0 auto 2rem;text-align:center}.gallery-title,.gallery-header h1{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,3.35rem);font-weight:400;letter-spacing:.22em;margin-bottom:.7rem}.gallery-subtitle,.gallery-header p{max-width:780px;margin:0 auto;text-transform:none;opacity:.75;line-height:1.6;font-family:var(--font-body);font-weight:300}
.gallery-grid-dramatic{--masonry-gap:14px;display:block;position:relative;width:100%;max-width:1560px;margin-left:auto;margin-right:auto;overflow:visible}.gallery-grid-dramatic .grid-sizer,.gallery-grid-dramatic .thumb-card{width:calc((100% - (4 * var(--masonry-gap))) / 5)}.gallery-grid-dramatic .gutter-sizer{width:var(--masonry-gap)}.gallery-grid-dramatic .grid-sizer,.gallery-grid-dramatic .gutter-sizer{position:absolute;height:0;visibility:hidden;pointer-events:none}
.thumb-card{display:block;position:absolute;height:auto;margin:0;padding:0;border:0;background:transparent;overflow:hidden;cursor:pointer;border-radius:var(--thumb-radius);opacity:var(--thumb-idle-opacity);transition:opacity .35s ease,transform .35s ease,box-shadow .35s ease}.thumb-card img,.thumb-card picture,.thumb-card video,.thumb-card .video-thumb{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;display:block;border-radius:inherit}.thumb-card img,.thumb-card video{transition:transform .35s ease}.thumb-card:hover,.thumb-card:focus-visible{opacity:1;box-shadow:0 18px 45px rgba(0,0,0,.35)}.thumb-card:hover img,.thumb-card:focus-visible img,.thumb-card:hover video,.thumb-card:focus-visible video{transform:scale(1.025)}.thumb-card:focus-visible{outline:1px solid rgba(255,255,255,.42);outline-offset:4px}
.gallery-empty{width:min(780px,100%);margin:4rem auto;padding:2rem;text-align:center;background:rgba(0,0,0,.28)}
@media(max-width:1400px){.gallery-grid-dramatic .grid-sizer,.gallery-grid-dramatic .thumb-card{width:calc((100% - (3 * var(--masonry-gap))) / 4)}}@media(max-width:1100px){.gallery-grid-dramatic .grid-sizer,.gallery-grid-dramatic .thumb-card{width:calc((100% - (2 * var(--masonry-gap))) / 3)}}@media(max-width:800px){.gallery-grid-dramatic{--masonry-gap:12px}.gallery-grid-dramatic .grid-sizer,.gallery-grid-dramatic .thumb-card{width:calc((100% - var(--masonry-gap)) / 2)}}@media(max-width:640px){.gallery-main{padding:5.6rem 1rem 7rem}.gallery-grid-dramatic .grid-sizer,.gallery-grid-dramatic .thumb-card{width:100%}}

.lightbox{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center}.lightbox.show{display:flex}.lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.84);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.lightbox-content{position:relative;z-index:1;max-width:92vw;max-height:88vh}#lightboxImage,.lightbox-content img{max-width:92vw;max-height:88vh;width:auto;height:auto;display:block}#lightboxVideo,.lightbox-content video{max-width:92vw;max-height:88vh;width:auto;height:auto;display:none;background:#000}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:64px;border:0;background:rgba(0,0,0,.38);color:#fff;font-size:3rem;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:10020;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:.78}.lightbox-prev{left:clamp(.4rem,2vw,1.5rem)}.lightbox-next{right:clamp(.4rem,2vw,1.5rem)}


/* ==========================================================
   HOME ABOUT SCROLL UPGRADE
   Landing remains first screen. About is revealed on scroll.
========================================================== */
html{
  scroll-behavior:smooth;
  scroll-padding-top:76px;
}

body.landing-page{
  overflow-x:hidden !important;
  overflow-y:auto !important;
}

body.landing-page .page-shell{
  min-height:100svh;
}

body.landing-page .main-stage{
  min-height:100svh;
}

.home-about-section{
  position:relative;
  z-index:2;
  min-height:100svh;
  padding-top:0;
  padding-bottom:6rem;
  background:linear-gradient(rgba(3,5,4,.72), rgba(3,5,4,.84));
}

.home-about-section .about-main{
  padding-top:6rem;
  padding-bottom:7rem;
}

#about{
  scroll-margin-top:76px;
}

/* On the homepage, About link can show as active after scroll target without affecting page load */
.home-about-section .about-pair:first-child{
  margin-top:0;
}

@media(max-width:768px){
  html{
    scroll-padding-top:72px;
  }

  #about{
    scroll-margin-top:72px;
  }

  .home-about-section .about-main{
    padding-top:5.6rem;
    padding-bottom:7rem;
  }
}


/* ==========================================================
   FINAL CLEAN UX FIX
   Restores refined typography, correct About alignment, and homepage logo scroll behavior.
========================================================== */

:root{
  --font-display: "Cinzel", "Georgia", serif;
  --font-body: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --nav-height-desktop: 76px;
  --nav-height-mobile: 72px;
}

/* Typography restore */
body{
  font-family:var(--font-body);
  font-weight:300;
  letter-spacing:.03em;
}

.logo,
.nav-links a,
.mobile-menu a,
.footer{
  font-family:var(--font-body);
}

.gallery-title,
.about-copy h1,
.about-copy h2,
.about-text h1,
.about-text h2{
  font-family:var(--font-display);
  font-weight:400;
  letter-spacing:.18em;
}

.about-copy,
.about-text,
.gallery-subtitle{
  font-family:var(--font-body);
  font-weight:300;
  text-transform:none;
}

/* Correct scroll alignment below fixed nav */
html{
  scroll-behavior:smooth;
  scroll-padding-top:var(--nav-height-desktop);
}

#about{
  scroll-margin-top:var(--nav-height-desktop);
}

.home-about-section{
  padding-top:0 !important;
}

.home-about-section .about-main{
  padding-top:6rem !important;
}

/* Homepage must scroll naturally */
body.landing-page{
  overflow-x:hidden !important;
  overflow-y:auto !important;
}

/* Logo is clickable but does not force reload on homepage */
body.landing-page .logo{
  cursor:pointer;
}

/* Keep landing images fully visible */
body.landing-page .marquee-card,
body.landing-page .marquee-card img{
  opacity:1 !important;
  filter:none !important;
}

@media(max-width:768px){
  html{
    scroll-padding-top:var(--nav-height-mobile);
  }

  #about{
    scroll-margin-top:var(--nav-height-mobile);
  }

  .home-about-section .about-main{
    padding-top:5.6rem !important;
  }
}


/* ==========================================================
   FINAL CLEAN NAV SCROLL FIX
   Fixes About deep-link intro replay and scroll alignment.
========================================================== */

/* If page opens directly to #about, suppress the signature intro immediately */
html.direct-about .intro-screen,
html.direct-about .intro-svg-screen{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}

/* Stable scroll offset for the fixed navbar */
html{
  scroll-behavior:smooth;
  scroll-padding-top:76px;
}

#about{
  scroll-margin-top:76px;
}

/* The About content itself starts like a real page below the fixed nav */
.home-about-section{
  min-height:100svh;
  padding-top:0 !important;
}

.home-about-section .about-main,
.home-about-section .home-about-main{
  padding-top:5.4rem !important;
  padding-bottom:7rem !important;
}

body.landing-page{
  overflow-x:hidden !important;
  overflow-y:auto !important;
}

@media(max-width:768px){
  html{
    scroll-padding-top:72px;
  }

  #about{
    scroll-margin-top:72px;
  }

  .home-about-section .about-main,
  .home-about-section .home-about-main{
    padding-top:5rem !important;
  }
}


/* ==========================================================
   V9 VISUAL REFINEMENT: ELEGANT TYPE + GALLERY THUMBNAILS
========================================================== */
body{font-family:var(--font-body);letter-spacing:.01em}
.logo,.nav-links a,.mobile-menu a,.gallery-header h1,.gallery-title,.about-copy h1,.about-copy h2,.about-text h1,.about-text h2{font-family:var(--font-display);font-weight:400}
.logo{font-weight:500;letter-spacing:.19em}
.about-copy,.about-text,.gallery-header p,.gallery-subtitle{font-family:var(--font-body);font-weight:300;line-height:1.78}
.about-copy p,.about-text p,.work-item p{font-size:clamp(.96rem,1.05vw,1.08rem)}
.work-item h3{font-family:var(--font-display);font-weight:400;letter-spacing:.14em;margin:.9rem 0 .35rem}
.gallery-grid-dramatic{--masonry-gap:16px}
.thumb-card{border-radius:var(--thumb-radius);opacity:var(--thumb-idle-opacity);background:rgba(255,255,255,.025)}
.thumb-card:hover,.thumb-card:focus-visible{opacity:1}
@media(max-width:640px){:root{--thumb-radius:14px}.gallery-grid-dramatic{--masonry-gap:14px}}

/* Final variable override after legacy scroll-fix block */
:root{
  --font-display:"Cinzel","Cormorant Garamond",Georgia,serif;
  --font-body:"Inter","Segoe UI",Arial,sans-serif;
  --font-serif:"Cormorant Garamond",Georgia,serif;
  --nav-height-desktop:76px;
  --nav-height-mobile:72px;
  --thumb-radius:16px;
  --thumb-idle-opacity:.74;
}


/* ==========================================================
   V10 TARGETED TYPE + ABOUT IMAGE ALIGNMENT
   Requested updates only: bigger/bolder nav and footer,
   bold gallery/about headings, and about2 top alignment.
========================================================== */
.logo{font-size:.95rem;font-weight:700;letter-spacing:.19em}
.nav-links a,.mobile-menu a{font-size:.82rem;font-weight:700;letter-spacing:.18em}
.footer p{font-size:.72rem;font-weight:500;letter-spacing:.13em;line-height:1.45}
.footer .contact strong{font-weight:700}
.gallery-title,.gallery-header h1{font-weight:700}
.about-copy h1,.about-copy h2,.about-text h1,.about-text h2,.work-item h3{font-weight:700}
.about-pair-two{align-items:start}
.about-pair-two .about-image-fill{align-self:start}
.about-pair-two .about-image-fill img{margin-top:.15rem}
@media(max-width:768px){
  .logo{font-size:.86rem}
  .nav-links a,.mobile-menu a{font-size:.84rem;font-weight:700}
  .footer p{font-size:.68rem}
  .about-pair-two .about-image-fill img{margin-top:0}
}

/* =========================================================
   V11 MOBILE ABOUT-ONLY FIX
   Places about2.webp above "What I Work With" on mobile only.
   Desktop layout remains unchanged.
   ========================================================= */
@media (max-width:768px){
  .about-pair-two{
    display:flex !important;
    flex-direction:column;
  }
  .about-pair-two .about-image-fill{
    order:-1;
    margin-bottom:1.25rem;
  }
  .about-pair-two .about-copy-left{
    order:1;
  }
}

/* =========================================================
   V12 PREMIUM POLISH
   Targeted visual refinement without changing page structure.
   ========================================================= */
:root{
  --thumb-radius:18px;
  --thumb-idle-opacity:.72;
  --soft-shadow:0 18px 50px rgba(0,0,0,.32);
  --premium-ease:cubic-bezier(.22,.61,.36,1);
}

body{
  font-family:var(--font-body);
  font-weight:300;
  letter-spacing:.012em;
}

.navbar,.navbar-fixed,.navbar-landing{
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 2px 22px rgba(0,0,0,.18);
}
.logo{
  font-family:var(--font-display);
  font-size:clamp(.9rem,1vw,1.02rem);
  font-weight:700;
  letter-spacing:.20em;
}
.nav-links a,.mobile-menu a{
  font-family:var(--font-display);
  font-size:clamp(.82rem,.9vw,.9rem);
  font-weight:700;
  letter-spacing:.19em;
  opacity:.86;
}
.footer,.footer-static{
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.footer p{
  font-size:clamp(.70rem,.82vw,.78rem);
  letter-spacing:.135em;
  line-height:1.48;
}

.gallery-title,.gallery-header h1,
.about-copy h1,.about-copy h2,.about-text h1,.about-text h2,.work-item h3{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:.19em;
}
.gallery-title,.gallery-header h1{
  font-size:clamp(1.7rem,4.2vw,3.65rem);
}
.gallery-subtitle,.gallery-header p,
.about-copy,.about-text{
  line-height:1.82;
}
.about-copy p,.about-text p,.work-item p{
  opacity:.9;
}
.work-item{
  margin:.95rem 0 1.15rem;
}
.work-item h3{
  margin-bottom:.42rem;
}

.about-section,.about-pair{
  margin-bottom:clamp(3.2rem,5vw,5.2rem);
}
.about-image img,.about-image-wrap img{
  border-radius:18px;
  box-shadow:var(--soft-shadow);
}
.about-pair-two .about-image-fill img{
  margin-top:.15rem;
}

.thumb-card{
  border-radius:var(--thumb-radius);
  opacity:var(--thumb-idle-opacity);
  background:rgba(255,255,255,.028);
  box-shadow:0 8px 26px rgba(0,0,0,.18);
  transition:opacity .42s var(--premium-ease),transform .42s var(--premium-ease),box-shadow .42s var(--premium-ease),filter .42s var(--premium-ease);
}
.thumb-card img,.thumb-card video{
  transition:transform .5s var(--premium-ease),filter .42s var(--premium-ease);
}
.thumb-card:hover,.thumb-card:focus-visible{
  opacity:1;
  transform:translateY(-2px);
  box-shadow:0 22px 58px rgba(0,0,0,.42);
}
.thumb-card:hover img,.thumb-card:focus-visible img,
.thumb-card:hover video,.thumb-card:focus-visible video{
  transform:scale(1.035);
}

.about-pending{
  opacity:0;
  transform:translateY(18px);
}
.about-reveal{
  transition:opacity .9s ease,transform .9s var(--premium-ease);
}
.about-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:768px){
  .logo{font-size:.88rem;letter-spacing:.17em}
  .nav-links a,.mobile-menu a{font-size:.86rem;letter-spacing:.18em}
  .footer p{font-size:.69rem;line-height:1.45}
  .about-image img,.about-image-wrap img{border-radius:16px}
  .about-section,.about-pair{margin-bottom:3rem}
  .about-pair-two{display:flex !important;flex-direction:column}
  .about-pair-two .about-image-fill{order:-1;margin-bottom:1.25rem}
  .about-pair-two .about-copy-left{order:1}
  .about-pair-two .about-image-fill img{margin-top:0}
}

@media(prefers-reduced-motion:reduce){
  .thumb-card,.thumb-card img,.thumb-card video,.about-reveal{transition:none}
  .thumb-card:hover,.thumb-card:focus-visible{transform:none}
}


/* =========================================================
   SYSTEMS POST MASONRY + MAINTENANCE V1
   ========================================================= */
.systems-post-page .systems-main { padding-bottom: 7rem; }
.system-post-grid {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto 5rem;
  column-count: 3;
  column-gap: 1.15rem;
}
.system-post-card {
  display: inline-block;
  width: 100%;
  margin: 0 0 1.15rem;
  break-inside: avoid;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 22px;
  overflow: hidden;
  background: rgba(9, 10, 14, 0.54);
  box-shadow: 0 24px 70px rgba(0,0,0,0.28);
  backdrop-filter: blur(14px);
}
.system-post-link { color: inherit; text-decoration: none; display: block; }
.system-post-image img { width: 100%; display: block; aspect-ratio: 16/10; object-fit: cover; opacity: .86; }
.system-post-content { padding: 1.25rem; }
.system-post-meta { margin: 0 0 .7rem; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; opacity: .64; }
.system-post-content h2 { margin: 0 0 .75rem; font-family: Cinzel, Georgia, serif; font-size: clamp(1.15rem, 1.9vw, 1.75rem); font-weight: 400; letter-spacing: .06em; }
.system-post-content p { margin: 0 0 1rem; line-height: 1.75; opacity: .78; }
.system-post-read { display: inline-block; margin-top: .25rem; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; opacity: .74; }
.system-post-card:hover { transform: translateY(-3px); border-color: rgba(255,255,255,0.26); transition: transform .25s ease, border-color .25s ease; }
.system-single-main { width: min(920px, calc(100% - 2rem)); margin: 8rem auto 7rem; }
.system-single-card { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgba(255,255,255,0.12); border-radius: 28px; background: rgba(9,10,14,.62); backdrop-filter: blur(14px); box-shadow: 0 28px 80px rgba(0,0,0,.34); }
.system-single-card h1 { margin: .25rem 0 1.5rem; font-family: Cinzel, Georgia, serif; font-weight: 400; letter-spacing: .08em; }
.system-single-image { width: 100%; border-radius: 20px; margin: 0 0 1.5rem; }
.system-single-content { line-height: 1.9; opacity: .84; white-space: normal; }
@media (max-width: 980px) { .system-post-grid { column-count: 2; } }
@media (max-width: 640px) { .system-post-grid { column-count: 1; width: min(94vw, 520px); } .system-single-main { margin-top: 6.5rem; } }

.maint-body { min-height: 100vh; margin: 0; color: rgba(255,255,255,.88); background: radial-gradient(circle at 50% 0%, rgba(95,103,128,.24), transparent 40%), #07080b; font-family: var(--font-body), Georgia, serif; }
.maint-shell { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; padding: 2rem 0 4rem; }
.maint-top { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:2rem; }
.maint-brand { letter-spacing:.18em; text-transform:uppercase; font-size:.8rem; opacity:.72; }
.maint-card, .maint-tool { border:1px solid rgba(255,255,255,.12); border-radius:24px; background:rgba(12,14,19,.72); box-shadow:0 24px 70px rgba(0,0,0,.28); backdrop-filter:blur(14px); }
.maint-card { padding:1.35rem; }
.maint-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.maint-card h2 { margin:.2rem 0 .65rem; font-family:Georgia,serif; font-weight:400; }
.maint-card p { opacity:.72; line-height:1.6; }
.maint-button, .maint-card a, .maint-link { display:inline-block; border:1px solid rgba(255,255,255,.18); border-radius:999px; padding:.72rem 1rem; color:#fff; text-decoration:none; background:rgba(255,255,255,.06); cursor:pointer; }
.maint-tool { padding:1.5rem; margin-top:1rem; }
.maint-input, .maint-textarea, .maint-select { width:100%; box-sizing:border-box; margin:.35rem 0 1rem; padding:.8rem; border-radius:12px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); color:#fff; }
.maint-textarea { min-height:160px; }
.maint-table { width:100%; border-collapse:collapse; margin-top:1rem; }
.maint-table th, .maint-table td { border-bottom:1px solid rgba(255,255,255,.1); padding:.75rem; text-align:left; vertical-align:top; }
.maint-ok { color:#9dffbd; } .maint-warn { color:#ffd98a; } .maint-error { color:#ff9b9b; }
@media (max-width: 850px) { .maint-grid { grid-template-columns:1fr; } .maint-top { align-items:flex-start; flex-direction:column; } }

/* ===============================
   MAINTENANCE V2 REFINEMENT
   =============================== */
.maint-body {
  min-height: 100vh;
  margin: 0;
  color: rgba(255,255,255,.9);
  background: #07080b;
  font-family: Arial, Helvetica, sans-serif;
  overflow-x: hidden;
}
.maint-page-bg {
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 34%, rgba(118,128,155,.22), transparent 32%),
    radial-gradient(circle at 80% 10%, rgba(255,255,255,.08), transparent 25%),
    linear-gradient(135deg, #050609 0%, #0b0d13 50%, #050609 100%);
}
.maint-login-body { display: grid; place-items: center; }
.maint-login-wrap {
  width: min(92vw, 520px);
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding-top: 7vh;
  box-sizing: border-box;
}
.maint-login-panel,
.maint-panel,
.maint-card {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(18,20,27,.82), rgba(10,12,17,.72));
  box-shadow: 0 28px 90px rgba(0,0,0,.34);
  backdrop-filter: blur(18px);
}
.maint-login-panel { padding: 2rem; width: 100%; }
.maint-shell { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: 2rem 0 1.2rem; }
.maint-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.maint-header h1, .maint-login-panel h1 { margin: .35rem 0 0; font-family: Cinzel, Georgia, serif; font-weight: 400; letter-spacing: .08em; }
.maint-brand { margin: 0; letter-spacing: .2em; text-transform: uppercase; font-size: .75rem; opacity: .72; }
.maint-muted { opacity: .68; line-height: 1.65; }
.maint-footer { display:flex; justify-content:space-between; gap:1rem; margin-top:2rem; padding:1rem 0 0; opacity:.58; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.maint-actions, .maint-actions-inline { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; }
.maint-pill, .maint-button, .maint-card a, .maint-link, .maint-thumb button {
  display:inline-block;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  padding:.72rem 1rem;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.07);
  cursor:pointer;
  font-size:.82rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.maint-pill:hover, .maint-button:hover, .maint-card a:hover, .maint-link:hover, .maint-thumb button:hover { background: rgba(255,255,255,.12); }
.maint-danger { border-color: rgba(255,130,130,.45); }
.maint-wide { width:100%; }
.maint-panel { padding: 1.5rem; margin: 1rem 0; }
.maint-dashboard-intro { margin-bottom: 1rem; }
.maint-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.maint-card { padding:1.3rem; min-height: 180px; display:flex; flex-direction:column; justify-content:space-between; }
.maint-card h2, .maint-panel h2 { margin:.2rem 0 .6rem; font-family:Cinzel, Georgia, serif; font-weight:400; letter-spacing:.06em; }
.maint-card p { opacity:.72; line-height:1.6; }
.maint-form label { display:block; margin:.2rem 0 .35rem; opacity:.78; letter-spacing:.08em; text-transform:uppercase; font-size:.75rem; }
.maint-input, .maint-textarea, .maint-select {
  width:100%; box-sizing:border-box; margin:0 0 1rem; padding:.9rem .95rem;
  border-radius:14px; border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.09); color:#fff; outline:none;
}
.maint-select { appearance:auto; color:#fff; background:#151821; }
.maint-select option { color:#111; background:#fff; }
.maint-textarea { min-height: 160px; resize: vertical; line-height: 1.55; }
.maint-textarea-small { min-height: 95px; }
.maint-textarea-large { min-height: 360px; font-family: Consolas, Monaco, monospace; }
.maint-two-col, .maint-check-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem 1rem; }
.maint-span { grid-column: 1 / -1; }
.maint-check-grid label { text-transform:none; font-size:.9rem; letter-spacing:0; }
.maint-line { border:0; border-top:1px solid rgba(255,255,255,.12); margin:1.4rem 0; }
.maint-table { width:100%; border-collapse:collapse; margin-top:1rem; overflow:hidden; }
.maint-table th, .maint-table td { border-bottom:1px solid rgba(255,255,255,.1); padding:.85rem; text-align:left; vertical-align:top; }
.maint-ok { color:#9dffbd; } .maint-warn { color:#ffd98a; } .maint-error { color:#ff9b9b; }
.maint-thumb-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap:1rem; }
.maint-thumb { border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:.75rem; background:rgba(255,255,255,.05); }
.maint-thumb img { width:100%; aspect-ratio: 4/3; object-fit:cover; border-radius:12px; display:block; margin-bottom:.65rem; }
.maint-thumb a, .maint-thumb button { margin:.25rem .15rem .1rem 0; padding:.45rem .7rem; font-size:.7rem; }
.maint-log-box { max-height: 55vh; overflow:auto; border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:1rem; background:rgba(0,0,0,.18); }
.maint-log-box p { margin:.35rem 0; }
@media (max-width: 1000px) { .maint-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 760px) { .maint-header, .maint-footer { flex-direction:column; align-items:flex-start; } .maint-grid, .maint-two-col, .maint-check-grid { grid-template-columns:1fr; } .maint-shell { padding-top:1.2rem; } }

/* System post content images */
.system-post-image { position:relative; overflow:hidden; }
.system-post-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent, rgba(0,0,0,.18)); pointer-events:none; }
.system-single-content figure { margin: 1.6rem 0; }
.system-single-content img { width: 100%; height: auto; border-radius: 20px; display: block; opacity: .92; }
.system-single-content figcaption { margin-top:.5rem; opacity:.6; font-size:.85rem; text-align:center; }
.system-single-content h2, .system-single-content h3 { font-family:Cinzel, Georgia, serif; font-weight:400; letter-spacing:.06em; margin-top:1.8rem; }
.system-single-content a { color:#fff; text-decoration:underline; text-underline-offset:4px; }

/* ================================
   MAINTENANCE V3 REFINEMENTS
================================ */
.maint-login-body { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding-top: 4vh; box-sizing: border-box; }
.maint-login-wrap { width: min(440px, calc(100% - 2rem)); margin: 0 auto; }
.maint-login-panel { transform: translateY(4vh); }
.maint-footer span:last-child { text-align: right; }
.maint-select-short { max-width: 260px; min-width: 220px; }
.maint-inline-label { margin: 0; }
.maint-thumb-check { cursor: pointer; position: relative; }
.maint-thumb-check input { position: absolute; top: .7rem; left: .7rem; transform: scale(1.15); }
.maint-thumb-check span { display:block; font-size:.74rem; line-height:1.35; opacity:.78; overflow-wrap:anywhere; }
.maint-video-box { aspect-ratio:4/3; display:grid; place-items:center; border-radius:12px; background:rgba(255,255,255,.08); letter-spacing:.16em; font-size:.72rem; margin-bottom:.65rem; }
.maint-editor-toolbar { display:flex; flex-wrap:wrap; gap:.45rem; padding:.65rem; border:1px solid rgba(255,255,255,.12); border-radius:16px 16px 0 0; background:rgba(255,255,255,.045); }
.maint-editor-toolbar button, .maint-editor-toolbar select { border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(255,255,255,.07); color:#fff; padding:.45rem .68rem; cursor:pointer; }
.maint-editor-toolbar select { background:#151821; }
.maint-editor-toolbar option { color:#111; background:#fff; }
.maint-rich-editor { min-height:420px; padding:1rem; border:1px solid rgba(255,255,255,.14); border-top:0; border-radius:0 0 16px 16px; background:rgba(255,255,255,.06); color:#fff; line-height:1.75; outline:none; }
.maint-rich-editor:focus { border-color:rgba(255,255,255,.3); }
.maint-rich-editor img { max-width:100%; height:auto; border-radius:16px; display:block; margin:1rem auto; }
.maint-rich-editor figure { margin:1.25rem 0; }
.maint-rich-editor figcaption { text-align:center; opacity:.62; font-size:.85rem; }
.system-post-grid { column-gap: 1.15rem; }
.system-post-card { margin-bottom: 1.15rem; }
.system-post-image img { height: 150px; aspect-ratio: auto; object-fit: cover; }
.system-post-content { padding: 1rem; }
.system-post-content h2 { font-size: clamp(1rem, 1.5vw, 1.3rem); }
.system-post-content p { font-size: .92rem; }
.system-single-main { width: min(1080px, calc(100% - 2.5rem)); margin: 8rem auto 7rem; }
.system-single-card { max-width: 100%; }
.system-single-content { max-width: 920px; margin: 0 auto; }
.system-single-content img { max-width: 100%; height: auto; border-radius: 18px; display: block; margin: 1.4rem auto; }
.system-single-content figure { margin: 1.6rem 0; }
.system-single-content figcaption { text-align:center; opacity:.62; font-size:.9rem; }
.system-single-content h2, .system-single-content h3 { font-family: Cinzel, Georgia, serif; font-weight:400; letter-spacing:.06em; margin-top:2rem; }
.system-preview-note { display:inline-block; margin:0 0 1rem; padding:.45rem .75rem; border:1px solid rgba(255,220,140,.35); border-radius:999px; color:#ffd98a; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; }
@media (max-width: 640px) {
  .maint-login-panel { transform: translateY(1vh); }
  .system-post-image img { height: 130px; }
  .system-single-main { width: min(94vw, 720px); }
}


/* ================================
   MAINTENANCE V4 REFINEMENTS
   ================================ */
.maint-login-body{
  min-height:100vh !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}
.maint-login-wrap{
  min-height:100vh !important;
  width:min(460px, calc(100% - 2rem)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto !important;
  padding:0 !important;
}
.maint-login-panel{
  transform:none !important;
}
.maint-rich-editor,
.maint-rich-editor *,
.systems-main,
.systems-main *,
.system-single-main,
.system-single-main *,
.system-post-content,
.system-post-content *,
.system-single-content,
.system-single-content *{
  text-transform:none !important;
}
.system-post-meta,
.system-post-read,
.system-preview-note{
  text-transform:uppercase !important;
}
.maint-rich-editor strong,
.maint-rich-editor b,
.system-single-content strong,
.system-single-content b{
  font-weight:700 !important;
  color:rgba(255,255,255,.98);
}
.maint-rich-editor em,
.maint-rich-editor i,
.system-single-content em,
.system-single-content i{ font-style:italic !important; }
.maint-rich-editor u,
.system-single-content u{ text-decoration:underline !important; text-underline-offset:3px; }
.maint-rich-editor figure,
.system-single-content figure{ clear:both; }
.maint-rich-editor img,
.system-single-content img{ cursor:pointer; }
.maint-rich-editor img.is-selected{ outline:2px solid rgba(255,255,255,.65); outline-offset:4px; }
.maint-rich-editor figure.img-left,
.system-single-content figure.img-left{ float:left; width:min(42%, 360px); margin:0 1.4rem 1rem 0; }
.maint-rich-editor figure.img-right,
.system-single-content figure.img-right{ float:right; width:min(42%, 360px); margin:0 0 1rem 1.4rem; }
.maint-rich-editor figure.img-center,
.system-single-content figure.img-center{ float:none; width:min(78%, 760px); margin:1.5rem auto; }
.maint-rich-editor figure.img-full,
.system-single-content figure.img-full{ float:none; width:100%; margin:1.5rem auto; }
.maint-rich-editor figure.img-small,
.system-single-content figure.img-small{ max-width:360px; }
.maint-rich-editor figure.img-medium,
.system-single-content figure.img-medium{ max-width:640px; }
.maint-rich-editor figure.img-full,
.system-single-content figure.img-full{ max-width:100%; }
.maint-rich-editor figure img,
.system-single-content figure img{ width:100%; max-width:100%; height:auto; }
.systems-main{ width:min(1560px, calc(100% - 2rem)); max-width:1560px; margin:0 auto; padding-left:0; padding-right:0; }
.system-single-main{ width:min(1560px, calc(100% - 2rem)) !important; max-width:1560px; }
.system-single-card{ width:100%; box-sizing:border-box; }
.system-single-content{ width:min(1180px, 100%); max-width:1180px !important; }
.system-post-grid{ width:min(1560px,100%); margin-left:auto; margin-right:auto; }
.system-post-image img{ height:130px !important; }
@media(max-width:760px){
  .maint-rich-editor figure.img-left,
  .maint-rich-editor figure.img-right,
  .system-single-content figure.img-left,
  .system-single-content figure.img-right{ float:none; width:100%; margin:1.25rem auto; }
}

/* ================================
   MAINTENANCE V5 SYSTEM POST FIXES
   Retains V3 image upload/bank; improves rich text persistence.
   ================================ */
.maint-login-body{
  min-height:100vh !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
}
.maint-login-wrap{
  min-height:100vh !important;
  width:min(460px, calc(100% - 2rem)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto !important;
  padding:0 !important;
}
.maint-login-panel{ transform:none !important; }
.maint-upload-panel{
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  padding:1rem;
  background:rgba(255,255,255,.045);
}
.maint-rich-editor,
.maint-rich-editor *,
.systems-main,
.systems-main *,
.system-single-main,
.system-single-main *,
.system-post-content,
.system-post-content *,
.system-single-content,
.system-single-content *{
  text-transform:none !important;
}
.system-post-meta,
.system-post-read,
.system-preview-note{ text-transform:uppercase !important; }
.maint-rich-editor{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:1rem;
  letter-spacing:.01em;
  text-transform:none !important;
}
.maint-rich-editor p,
.system-single-content p{ margin:0 0 1rem; }
.maint-rich-editor strong,
.maint-rich-editor b,
.system-single-content strong,
.system-single-content b{
  font-weight:700 !important;
  color:rgba(255,255,255,.98);
}
.maint-rich-editor em,
.maint-rich-editor i,
.system-single-content em,
.system-single-content i{ font-style:italic !important; }
.maint-rich-editor u,
.system-single-content u{ text-decoration:underline !important; text-underline-offset:3px; }
.maint-rich-editor span[style],
.system-single-content span[style]{ text-transform:none !important; }
.maint-rich-editor a,
.system-single-content a{ color:#fff; text-decoration:underline; text-underline-offset:4px; }
.maint-rich-editor img.is-selected{ outline:2px solid rgba(255,255,255,.75); outline-offset:4px; }
.maint-rich-editor figure,
.system-single-content figure{ clear:both; }
.maint-rich-editor figure img,
.system-single-content figure img{ width:100%; max-width:100%; height:auto; border-radius:18px; display:block; }
.maint-rich-editor figure.img-left,
.system-single-content figure.img-left{ float:left; width:min(42%, 360px); margin:.3rem 1.4rem 1rem 0; }
.maint-rich-editor figure.img-right,
.system-single-content figure.img-right{ float:right; width:min(42%, 360px); margin:.3rem 0 1rem 1.4rem; }
.maint-rich-editor figure.img-center,
.system-single-content figure.img-center{ float:none; width:min(78%, 760px); margin:1.5rem auto; }
.maint-rich-editor figure.img-full,
.system-single-content figure.img-full{ float:none; width:100%; margin:1.5rem auto; }
.maint-rich-editor figure.img-small,
.system-single-content figure.img-small{ max-width:360px; }
.maint-rich-editor figure.img-medium,
.system-single-content figure.img-medium{ max-width:640px; }
.maint-rich-editor figure.img-full,
.system-single-content figure.img-full{ max-width:100%; }
.maint-rich-editor figcaption,
.system-single-content figcaption{ margin-top:.5rem; opacity:.62; font-size:.9rem; text-align:center; min-height:1em; }
.systems-main{ width:min(1560px, calc(100% - 2rem)); max-width:1560px; margin:0 auto; padding-left:0; padding-right:0; }
.system-post-grid{ width:min(1560px, 100%); margin-left:auto; margin-right:auto; }
.system-post-image img{ height:130px !important; aspect-ratio:auto !important; object-fit:cover; }
.system-post-content h2{ text-transform:none !important; }
.system-single-main{ width:min(1560px, calc(100% - 2rem)) !important; max-width:1560px; margin:8rem auto 7rem; }
.system-single-card{ width:100%; box-sizing:border-box; }
.system-single-content{ width:min(1180px, 100%); max-width:1180px !important; margin:0 auto; line-height:1.9; }
@media(max-width:760px){
  .maint-rich-editor figure.img-left,
  .maint-rich-editor figure.img-right,
  .system-single-content figure.img-left,
  .system-single-content figure.img-right{ float:none; width:100%; margin:1.25rem auto; }
  .maint-rich-editor figure.img-center,
  .system-single-content figure.img-center{ width:100%; }
  .system-single-main{ width:min(94vw, 720px) !important; margin-top:6.5rem; }
}

/* ================================
   MAINTENANCE V6 REFINEMENTS
   ================================ */
.maint-login-body,
.maint-login-wrap{
  min-height:100vh !important;
}
.maint-login-wrap{
  display:grid !important;
  place-items:center !important;
}
.maint-login-panel{
  margin:auto !important;
}
.maint-rich-editor{
  height:560px;
  min-height:360px;
  max-height:70vh;
  overflow:auto;
  resize:vertical;
  text-transform:none !important;
}
.maint-rich-editor *,
.system-single-content *,
.system-post-content *{
  text-transform:none !important;
}
.maint-toolbar-range{
  display:inline-flex !important;
  align-items:center;
  gap:.5rem;
  margin:0 !important;
  padding:.35rem .65rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:.75rem !important;
  letter-spacing:.04em !important;
  text-transform:none !important;
}
.maint-toolbar-range input{ width:120px; }
.maint-rich-editor p{ margin:0 0 1rem; }
.maint-rich-editor h2,
.maint-rich-editor h3,
.system-single-content h2,
.system-single-content h3{
  text-transform:none !important;
}
.maint-rich-editor blockquote,
.system-single-content blockquote{
  margin:1.3rem 0;
  padding:1rem 1.25rem;
  border-left:3px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.055);
  border-radius:0 14px 14px 0;
}
.maint-rich-editor strong,
.maint-rich-editor b,
.system-single-content strong,
.system-single-content b,
.system-post-content strong,
.system-post-content b{
  font-weight:700 !important;
}
.maint-rich-editor em,
.maint-rich-editor i,
.system-single-content em,
.system-single-content i{ font-style:italic !important; }
.maint-rich-editor u,
.system-single-content u{ text-decoration:underline !important; text-underline-offset:3px; }
.maint-rich-editor figure,
.system-single-content figure{
  box-sizing:border-box;
  max-width:100%;
  clear:both;
}
.maint-rich-editor figure img,
.system-single-content figure img{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
  border-radius:18px;
}
.maint-rich-editor figure.img-left,
.system-single-content figure.img-left{ float:left; margin:.4rem 1.4rem 1rem 0; }
.maint-rich-editor figure.img-right,
.system-single-content figure.img-right{ float:right; margin:.4rem 0 1rem 1.4rem; }
.maint-rich-editor figure.img-center,
.system-single-content figure.img-center{ float:none; margin:1.4rem auto; }
.maint-rich-editor figure.img-full,
.system-single-content figure.img-full{ float:none; width:100% !important; margin:1.4rem auto; }
.maint-rich-editor img.is-selected{ outline:2px solid rgba(255,255,255,.75); outline-offset:5px; }
.systems-main{ width:100%; max-width:none; padding:6rem clamp(1rem,3vw,3rem) 7rem; box-sizing:border-box; }
.system-post-grid{ width:100%; max-width:1560px; margin-left:auto; margin-right:auto; }
.system-single-main{ width:100% !important; max-width:none !important; padding:6rem clamp(1rem,3vw,3rem) 7rem; margin:0 auto !important; box-sizing:border-box; }
.system-single-card{ width:100%; max-width:1560px; margin:0 auto; box-sizing:border-box; }
.system-single-content{ width:min(1180px,100%); max-width:1180px !important; margin:0 auto; }
.system-single-content::after{ content:""; display:block; clear:both; }
.system-post-image img{ height:130px !important; object-fit:cover; }
@media(max-width:760px){
  .maint-rich-editor{ height:480px; max-height:68vh; }
  .maint-rich-editor figure.img-left,
  .maint-rich-editor figure.img-right,
  .system-single-content figure.img-left,
  .system-single-content figure.img-right{ float:none; width:100% !important; margin:1.25rem auto; }
}

/* ================================
   MAINTENANCE V7 SYSTEM POST PATCH
   - Restores stable font family/size controls
   - Adds scalable feature image preview/final output
   ================================ */
.maint-editor-toolbar select{
  min-width:120px;
  cursor:pointer;
  position:relative;
  z-index:3;
}
.maint-editor-toolbar button,
.maint-editor-toolbar select,
.maint-editor-toolbar input{ pointer-events:auto; }
.maint-rich-editor{
  max-height:620px;
  overflow:auto;
}
.maint-rich-editor span[style*="font-size"],
.system-single-content span[style*="font-size"]{ line-height:1.55; }
.maint-rich-editor span[style*="font-family"],
.system-single-content span[style*="font-family"]{ text-transform:none !important; }
.maint-range-row{
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:.75rem 1rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.045);
}
.maint-range-row input[type="range"]{ flex:1; }
.maint-range-row span{
  min-width:58px;
  text-align:right;
  font-size:.82rem;
  opacity:.78;
}
.maint-feature-preview{
  min-height:150px;
  padding:1rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.maint-feature-preview[data-align="left"]{ text-align:left; }
.maint-feature-preview[data-align="center"]{ text-align:center; }
.maint-feature-preview[data-align="right"]{ text-align:right; }
.maint-feature-preview img{
  max-width:100%;
  height:auto;
  border-radius:16px;
  display:inline-block;
  opacity:.94;
}
.system-single-feature{ margin:0 0 1.5rem; }
.system-single-feature.feature-align-left{ text-align:left; }
.system-single-feature.feature-align-center{ text-align:center; }
.system-single-feature.feature-align-right{ text-align:right; }
.system-single-feature .system-single-image{
  max-width:100%;
  height:auto;
  display:inline-block;
  margin:0;
}
.system-post-image img[style]{ height:var(--card-height, auto); }
@media(max-width:760px){
  .system-single-feature .system-single-image{ width:100% !important; }
}

/* =========================================================
   V10 LIVE TWEAK
   - Move About content higher so its top edge aligns with nav top edge
   - Mobile footer becomes three clean lines only
   ========================================================= */
body.about-page .about-main,
body.about-page .about-main-wide{
  padding-top:0 !important;
}
body.landing-page .home-about-section .about-main,
body.landing-page .home-about-section .home-about-main{
  padding-top:0 !important;
}
body.about-page .about-section:first-child,
body.landing-page .home-about-section .about-section:first-child{
  margin-top:0 !important;
}

.footer-mobile-lines{display:none;}

@media(max-width:768px){
  body.about-page .about-main,
  body.about-page .about-main-wide,
  body.landing-page .home-about-section .about-main,
  body.landing-page .home-about-section .home-about-main{
    padding-top:0 !important;
  }

  .footer .footer-desktop-lines{display:none !important;}
  .footer .footer-mobile-lines{
    display:block !important;
    margin:0;
    padding:0;
  }
  .footer .footer-mobile-lines p{
    margin:.08rem 0;
    font-size:.66rem;
    line-height:1.38;
    letter-spacing:.09em;
    opacity:.82;
  }
  .footer .footer-mobile-lines p:last-child{
    opacity:.68;
  }
}

/* =========================================================
   V11 ABOUT CLICK POSITION FIX
   Keep About anchor/page edge aligned with the top edge of
   the fixed navigation bar on desktop and mobile.
   ========================================================= */
html{
  scroll-padding-top:0 !important;
}
#about{
  scroll-margin-top:0 !important;
}
body.landing-page .home-about-section,
body.landing-page #about{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.landing-page .home-about-section .about-main,
body.landing-page .home-about-section .home-about-main,
body.about-page .about-main,
body.about-page .about-main-wide{
  padding-top:0 !important;
  margin-top:0 !important;
}
body.landing-page .home-about-section .about-section:first-child,
body.about-page .about-section:first-child{
  margin-top:0 !important;
}
@media(max-width:768px){
  html{scroll-padding-top:0 !important;}
  #about{scroll-margin-top:0 !important;}
  body.landing-page .home-about-section,
  body.landing-page #about{
    margin-top:0 !important;
    padding-top:0 !important;
  }
  body.landing-page .home-about-section .about-main,
  body.landing-page .home-about-section .home-about-main,
  body.about-page .about-main,
  body.about-page .about-main-wide{
    padding-top:0 !important;
    margin-top:0 !important;
  }
}


/* =========================================================
   V12 TRUE ABOUT TOP ALIGNMENT
   The previous CSS was correct, but JS still subtracted the
   navbar height. js/site.js now returns 0 offset for About.
   Keep these final overrides for desktop and mobile.
   ========================================================= */
html{scroll-padding-top:0 !important;}
#about{scroll-margin-top:0 !important;}
body.landing-page .home-about-section{padding-top:0 !important;margin-top:0 !important;}
body.landing-page .home-about-section .about-main,
body.landing-page .home-about-section .home-about-main,
body.about-page .about-main,
body.about-page .about-main-wide{padding-top:0 !important;margin-top:0 !important;}
@media(max-width:768px){
  html{scroll-padding-top:0 !important;}
  #about{scroll-margin-top:0 !important;}
  body.landing-page .home-about-section .about-main,
  body.landing-page .home-about-section .home-about-main,
  body.about-page .about-main,
  body.about-page .about-main-wide{padding-top:0 !important;margin-top:0 !important;}
}

/* =========================================================
   V13B ABOUT FIRST ROW MICRO OFFSET
   Move only the first About title and about1.webp image down 10px.
   Uses margin instead of transform so the change is visible and stable
   with the About reveal/parallax effects.
   ========================================================= */
body.about-page .about-pair-one .about-copy > h1:first-child,
body.landing-page .home-about-section .about-pair-one .about-copy > h1:first-child{
  margin-top:70px !important;
}
body.about-page .about-pair-one .about-image-fill img,
body.landing-page .home-about-section .about-pair-one .about-image-fill img{
  margin-top:70px !important;
}


/* =========================================================
   V13C FOOTER DEDUPE / LIVE CACHE FIX
   One footer is rendered in HTML. Desktop shows email/contact on
   one line; mobile stacks the same footer into three lines.
   ========================================================= */
.footer .footer-mobile-lines,
.footer .footer-desktop-lines{display:contents;}
.footer-contact-lines{margin:.15rem 0;}
.footer-contact-lines span{display:inline;}
.footer-separator{opacity:.55;}
@media(max-width:768px){
  .footer .footer-mobile-lines,
  .footer .footer-desktop-lines{display:contents !important;}
  .footer-contact-lines span{display:block;}
  .footer-contact-lines .footer-separator{display:none !important;}
  .footer .contact,
  .footer .copyright{margin:.08rem 0;}
  .footer .contact span,
  .footer .copyright a{
    font-size:.66rem;
    line-height:1.38;
    letter-spacing:.09em;
  }
}


/* =========================================================
   V14 ABOUT MAINTENANCE EDITOR
   Adds draft/edit/preview support for About page without
   changing other front-end layout behavior.
   ========================================================= */
.maint-actions-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;}
.maint-button-secondary{display:inline-block;text-decoration:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);}
.about-copy figure{box-sizing:border-box;max-width:100%;clear:both;}
.about-copy figure img{width:100%;max-width:100%;height:auto;display:block;border-radius:18px;opacity:.92;}
.about-copy figure figcaption{text-align:center;opacity:.62;font-size:.85rem;margin-top:.45rem;}
.about-copy figure.img-left{float:left;margin:.35rem 1.35rem 1rem 0;}
.about-copy figure.img-right{float:right;margin:.35rem 0 1rem 1.35rem;}
.about-copy figure.img-center{float:none;margin:1.35rem auto;}
.about-copy figure.img-full{float:none;width:100% !important;margin:1.35rem auto;}
.about-copy::after{content:"";display:block;clear:both;}
@media(max-width:760px){
  .about-copy figure.img-left,
  .about-copy figure.img-right{float:none;width:100% !important;margin:1.25rem auto;}
}


/* ================================
   MAINTENANCE V15 ABOUT DRAFTS
   - isolated multi-draft About preview
   - paragraph spacing support
   - scrollable About editor
================================ */
.maint-rich-editor{
  max-height:68vh;
  overflow:auto;
}
.about-copy p[style*="margin-bottom"],
.system-single-content p[style*="margin-bottom"],
.maint-rich-editor p[style*="margin-bottom"]{
  margin-top:0;
}
.maint-editor-toolbar .spacingSelect{
  min-width:150px;
}

/* V21 production maintenance polish */
.maint-body, .maint-input, .maint-textarea, .maint-select, .maint-button, .maint-card a, .maint-link, .maint-pill { font-family: var(--font-body), Georgia, serif; }
.maint-header h1, .maint-login-panel h1, .maint-card h2, .maint-panel h2 { font-family: var(--font-display), Cinzel, Georgia, serif; }
.maint-card { min-height: 170px; }
.maint-dashboard-intro strong, .maint-ok { letter-spacing:.02em; }

/* =========================================================
   V22 INTRO + SIGNATURE NAV POLISH
   - Word-by-word intro line before signature reveal
   - New SVG signature used for intro and top-left home link
   - Signature shrink-to-nav effect on intro
   - Bold desktop/mobile navigation links retained
   ========================================================= */
.logo.signature-logo{
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  width:clamp(150px, 18vw, 255px);
  height:44px;
  line-height:1;
  letter-spacing:0;
  font-size:0;
  overflow:visible;
}
.logo.signature-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 1px 8px rgba(255,255,255,.08));
}
.nav-links a,.mobile-menu a{
  font-weight:800 !important;
}

.intro-signature-screen{
  display:grid;
  place-items:center;
  overflow:hidden;
  animation:introSignatureScreenOut 12.8s ease forwards;
}
.intro-word-stage{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:clamp(.38rem,1vw,.85rem);
  padding:0 1.5rem;
  text-align:center;
  font-family:var(--font-display);
  font-weight:var(--intro-font-weight,800);
  font-style:var(--intro-font-style,normal);
  letter-spacing:var(--intro-letter-spacing,clamp(.08em,.7vw,.18em));
  font-size:var(--intro-font-size,clamp(.9rem,2.2vw,2.05rem));
  line-height:var(--intro-line-height,1.55);
  text-transform:var(--intro-text-transform,uppercase);
  color:#fff;
  text-shadow:0 0 32px rgba(255,255,255,.16);
  animation:introWordsGroupOut 6.7s ease forwards;
  z-index:2;
}
.intro-word-stage .intro-word-line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:clamp(.38rem,1vw,.85rem);
}
.intro-word-stage .intro-word-line span{
  opacity:0;
  transform:translateY(10px);
  animation:introWordFade 1.35s ease forwards;
}
.intro-word-stage span span:nth-child(1){animation-delay:.45s;}
.intro-word-stage span span:nth-child(2){animation-delay:1.10s;}
.intro-word-stage span span:nth-child(3){animation-delay:1.75s;}
.intro-word-stage span span:nth-child(4){animation-delay:2.40s;}
.intro-word-stage span span:nth-child(5){animation-delay:3.05s;}
.intro-word-stage span span:nth-child(6){animation-delay:3.70s;}
.intro-word-stage span span:nth-child(7){animation-delay:4.35s;}
.intro-word-stage span span:nth-child(8){animation-delay:5.00s;}

.intro-signature-stage{
  position:absolute;
  inset:0;
  width:100vw !important;
  height:100svh !important;
  aspect-ratio:auto !important;
  display:grid;
  place-items:center;
  opacity:0;
  transform:translate3d(0,0,0) scale(1);
  transform-origin:center center;
  animation:introSignatureRevealShrink 4.85s cubic-bezier(.22,.61,.36,1) 7.35s forwards;
  z-index:3;
}
.intro-signature-logo{
  width:min(82vw, 980px) !important;
  height:auto !important;
  display:block;
  border:0;
  pointer-events:none;
  filter:drop-shadow(0 0 24px rgba(255,255,255,.10));
}

@keyframes introWordFade{
  0%{opacity:0;transform:translateY(10px);filter:blur(4px);}
  100%{opacity:1;transform:translateY(0);filter:blur(0);}
}
@keyframes introWordsGroupOut{
  0%,86%{opacity:1;visibility:visible;}
  100%{opacity:0;visibility:hidden;transform:translateY(-8px);}
}
@keyframes introSignatureRevealShrink{
  0%{opacity:0;transform:translate3d(0,0,0) scale(.985);}
  28%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  70%{opacity:1;transform:translate3d(0,0,0) scale(1);}
  100%{opacity:.92;transform:translate3d(calc(-50vw + 160px), calc(-50svh + 38px), 0) scale(.18);}
}
@keyframes introSignatureScreenOut{
  0%,92%{opacity:1;visibility:visible;}
  100%{opacity:0;visibility:hidden;}
}

@media(max-width:768px){
  .logo.signature-logo{
    width:clamp(122px, 43vw, 185px);
    height:38px;
  }
  .intro-word-stage{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.42rem;
    line-height:var(--intro-line-height,1.55);
    font-size:var(--intro-mobile-font-size,clamp(.74rem,3.45vw,1.02rem));
    letter-spacing:var(--intro-mobile-letter-spacing,.095em);
    padding:0 1.15rem;
    width:100%;
  }
  .intro-word-stage .intro-word-line{
    width:100%;
    max-width:92vw;
    gap:.42rem;
    white-space:nowrap;
    text-align:center;
  }
  .intro-signature-logo{
    width:min(92vw, 620px) !important;
  }
  @keyframes introSignatureRevealShrink{
    0%{opacity:0;transform:translate3d(0,0,0) scale(.985);}
    28%{opacity:1;transform:translate3d(0,0,0) scale(1);}
    70%{opacity:1;transform:translate3d(0,0,0) scale(1);}
    100%{opacity:.92;transform:translate3d(calc(-50vw + 94px), calc(-50svh + 34px), 0) scale(.17);}
  }
}

/* V23: Skip intro only after an internal Home/logo click. Refresh still replays the intro. */
html.skip-intro-once .intro-screen,
html.skip-intro-once .intro-svg-screen,
html.skip-intro-once .intro-signature-screen{
  display:none !important;
  animation:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}


/* V24: small personal-use note below gallery descriptions */
.gallery-use-note{
  margin-top:.65rem !important;
  font-size:clamp(.72rem, .9vw, .86rem) !important;
  font-style:italic;
  font-weight:500;
  letter-spacing:.04em;
  opacity:.72;
}

/* =========================================================
   V25B MINIMAL HOME SLIDESHOW VERTICAL ALIGNMENT
   Base: V24. Only nudges the homepage slideshow down slightly
   so it sits visually centered between the fixed navbar and footer.
   ========================================================= */
body.landing-page .hero-marquee{
  transform:translateY(12px);
}
@media(max-width:768px){
  body.landing-page .hero-marquee{
    transform:translateY(12px);
  }
}

/* V27 System Posts upgrade: multi-feature images + document attachments */
.maint-feature-slots{display:grid;gap:1rem;}
.maint-feature-slot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1rem;align-items:end;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.045);}
.maint-feature-slot .maint-feature-preview{grid-column:1 / -1;min-height:70px;padding:.75rem;border-radius:16px;background:rgba(0,0,0,.16);}
.maint-feature-preview[data-align="left"]{text-align:left;}
.maint-feature-preview[data-align="center"]{text-align:center;}
.maint-feature-preview[data-align="right"]{text-align:right;}
.maint-feature-preview img{max-width:100%;height:auto;border-radius:14px;display:inline-block;}
.maint-doc-list{display:grid;gap:.65rem;}
.maint-doc-item{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.045);}
.maint-doc-item span{font-size:.9rem;opacity:.86;overflow-wrap:anywhere;}
.maint-doc-item button,.maint-doc-item a{font:inherit;color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.07);padding:.4rem .75rem;text-decoration:none;cursor:pointer;}
.system-single-feature-stack{display:grid;gap:1.4rem;margin:0 0 1.8rem;}
.system-single-feature{text-align:center;}
.system-single-feature.feature-align-left{text-align:left;}
.system-single-feature.feature-align-center{text-align:center;}
.system-single-feature.feature-align-right{text-align:right;}
.system-single-feature .system-single-image{display:inline-block;max-width:100%;height:auto;}
.post-document-link a,.system-single-content .post-document-link a{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.065);text-decoration:none;color:#fff;}
.post-document-link a:hover,.system-single-content .post-document-link a:hover{background:rgba(255,255,255,.12);}
@media(max-width:760px){.maint-feature-slot{grid-template-columns:1fr}.maint-doc-item{align-items:flex-start;justify-content:flex-start}.system-single-feature .system-single-image{width:100%!important}}


/* V28 System post feature image collage
   - Renders up to 3 feature images in one flexible row/collage on final post
   - Each image keeps its own width/scale control from maintenance
   - Alignment still controls placement within its tile
*/
.system-single-feature-stack{display:none;}
.system-single-feature-collage{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:clamp(.75rem, 1.6vw, 1.35rem);
  margin:0 auto 1.8rem;
  width:100%;
}
.system-single-feature-tile{
  flex:1 1 var(--feature-w, 33.333%);
  max-width:var(--feature-w, 33.333%);
  min-width:0;
  margin:0;
  display:flex;
  align-items:center;
}
.system-single-feature-tile.feature-align-left{justify-content:flex-start;}
.system-single-feature-tile.feature-align-center{justify-content:center;}
.system-single-feature-tile.feature-align-right{justify-content:flex-end;}
.system-single-feature-tile .system-single-image{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
  border-radius:20px;
  opacity:.95;
}
@media(max-width:760px){
  .system-single-feature-collage{
    flex-direction:column;
    flex-wrap:nowrap;
  }
  .system-single-feature-tile{
    flex-basis:auto !important;
    max-width:100% !important;
    width:100% !important;
  }
}

/* V29 System card thumbnail crop/focus controls */
.system-post-image{
  overflow:hidden;
  border-radius:18px 18px 0 0;
  background:rgba(255,255,255,.04);
}
.system-post-image img{
  width:100% !important;
  height:100% !important;
  display:block;
  object-fit:cover;
  object-position:var(--card-x, 50%) var(--card-y, 50%);
  transform:scale(var(--card-zoom, 1));
  transform-origin:var(--card-x, 50%) var(--card-y, 50%);
}
.maint-crop-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.maint-card-crop-preview{
  margin-top:1rem;
  width:min(520px,100%);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.05);
  display:grid;
  place-items:center;
}
.maint-card-crop-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.maint-card-crop-empty{
  padding:1rem;
  opacity:.65;
  font-size:.85rem;
  text-align:center;
}
@media(max-width:768px){
  .maint-crop-grid{grid-template-columns:1fr;}
}


/* V31 intro text maintenance preview */
.maint-intro-preview{
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  text-align:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:radial-gradient(circle at center, rgba(255,255,255,.08), rgba(0,0,0,.35));
  padding:1.5rem;
}
.maint-intro-preview .preview-line{display:block;}
.maint-inline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;}


/* V32 intro editor fix: desktop + mobile use separately editable external text sources */
.intro-word-stage{
  flex-direction:column;
}
.intro-word-set{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:clamp(.38rem,1vw,.85rem);
  width:100%;
}
.intro-word-set-mobile{display:none;}
.intro-word-set .intro-word-line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:clamp(.38rem,1vw,.85rem);
}
@media(max-width:768px){
  .intro-word-set-desktop{display:none;}
  .intro-word-set-mobile{
    display:flex;
    flex-direction:column;
    gap:.42rem;
  }
  .intro-word-set-mobile .intro-word-line{
    width:100%;
    max-width:92vw;
    gap:.42rem;
    white-space:nowrap;
    text-align:center;
  }
}

/* V32 intro maintenance live preview layout */
.maint-intro-editor-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:1rem;
  align-items:start;
}
.maint-intro-control-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.maint-intro-preview-wrap{
  display:grid;
  gap:1rem;
}
.maint-intro-preview-card h3{
  margin:.1rem 0 .75rem;
  font-family:var(--font-display);
  letter-spacing:.08em;
  font-size:.95rem;
}
.maint-intro-preview{
  transition:all .18s ease;
}
.maint-intro-preview.mobile-preview{
  min-height:150px;
  width:min(390px,100%);
  margin:0 auto;
  padding:1rem;
}
.maint-intro-preview .preview-line{
  display:block;
}
@media(max-width:980px){
  .maint-intro-editor-grid{grid-template-columns:1fr;}
}
@media(max-width:620px){
  .maint-intro-control-grid{grid-template-columns:1fr;}
}

/* ===== MOBILE SYSTEM IMAGE FIX ===== */

@media (max-width: 768px) {

  .system-post-image,
  .system-feature-collage,
  .system-feature-image,
  .system-feature-collage img,
  .system-post-image img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .system-post-image {
    width: 100% !important;
    min-height: 180px !important;
    overflow: hidden !important;
  }

  .system-post-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }

  .system-feature-collage {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .system-feature-collage img,
  .system-feature-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}