/* g.pen final V5 — mobile alignment + gallery */
:root{--gpen-bg:#0d0710;--gpen-plum:#321036;--gpen-cream:#f6f0e9;--gpen-muted:#c7b8c8;--gpen-accent:#e86559;--gpen-line:rgba(255,255,255,.14)}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0}

/* ABOUT: stop Elementor mobile rules from overlapping title and paragraph */
@media (max-width:767px){
  .gpen-about-page main.elementor-1685 .elementor-element-3b0f723{padding:0!important;margin:0!important;min-height:0!important;height:auto!important;overflow:visible!important}
  .gpen-about-page main.elementor-1685 .elementor-element-63d78f3,
  .gpen-about-page main.elementor-1685 .elementor-element-4ac1a53{padding:0!important;margin:0!important;min-height:0!important;height:auto!important;overflow:visible!important;position:static!important;transform:none!important}
  .gpen-about-page main.elementor-1685 .elementor-element-63d78f3>.e-con-inner,
  .gpen-about-page main.elementor-1685 .elementor-element-4ac1a53>.e-con-inner{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
  .gpen-about-page main.elementor-1685 .elementor-element-4ac1a53>.e-con-inner{padding:112px 30px 86px!important}
  .gpen-about-page .elementor-element-6ec7f9f,
  .gpen-about-page .elementor-element-a6cb813,
  .gpen-about-page .elementor-element-742f60e,
  .gpen-about-page .elementor-element-87fb66b{position:static!important;inset:auto!important;transform:none!important;margin:0!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;z-index:auto!important}
  .gpen-about-page .elementor-element-6ec7f9f{margin-bottom:28px!important}
  .gpen-about-page .elementor-element-6ec7f9f .ext-style-01{display:block!important;font-size:15px!important;line-height:1.65!important;letter-spacing:.25em!important;white-space:normal!important}
  .gpen-about-page .elementor-element-a6cb813{margin-bottom:28px!important}
  .gpen-about-page .elementor-element-a6cb813 h1{font-size:52px!important;line-height:.98!important;letter-spacing:-.045em!important;margin:0!important;position:static!important;transform:none!important}
  .gpen-about-page .elementor-element-742f60e{margin-bottom:42px!important}
  .gpen-about-page .elementor-element-742f60e p{font-size:19px!important;line-height:1.55!important;margin:0!important;max-width:100%!important}
  .gpen-about-page .elementor-element-87fb66b>.e-con-inner{display:flex!important;flex-direction:column!important;gap:14px!important;padding:0!important;margin:0!important;width:100%!important}
  .gpen-about-page .elementor-element-87fb66b .elementor-widget-button{width:100%!important;margin:0!important}
  .gpen-about-page .elementor-element-87fb66b .elementor-button{display:flex!important;width:100%!important;justify-content:center!important;min-height:58px!important;align-items:center!important}
  .gpen-about-page .elementor-element-6cdd17c{padding:84px 30px!important;margin:0!important}
  .gpen-about-page .elementor-element-6cdd17c>.e-con-inner{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
  .gpen-about-page .elementor-element-4fe963a h2{font-size:42px!important;line-height:1.05!important;text-align:left!important;margin:0 0 34px!important}
  .gpen-about-page .elementor-element-44d1922{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;width:100%!important}
  .gpen-about-page .elementor-element-44d1922>.e-con{width:100%!important;min-width:0!important;margin:0!important;padding:28px!important}
}
@media (max-width:380px){
  .gpen-about-page main.elementor-1685 .elementor-element-4ac1a53>.e-con-inner{padding:92px 22px 72px!important}
  .gpen-about-page .elementor-element-a6cb813 h1{font-size:44px!important}
  .gpen-about-page .elementor-element-742f60e p{font-size:17px!important}
  .gpen-about-page .elementor-element-6cdd17c{padding:72px 22px!important}
}

/* WORK GALLERY */
.gpen-work-page{background:var(--gpen-bg);color:var(--gpen-cream)}
.work-gallery-page{background:var(--gpen-bg);min-height:100vh}
.work-gallery-shell{width:min(1240px,calc(100% - 64px));margin:0 auto}
.work-gallery-hero{padding:118px 0 68px;background:linear-gradient(135deg,#351239 0%,#160a19 70%)}
.work-kicker{margin:0 0 28px;font:600 13px/1.2 'JetBrains Mono',monospace;letter-spacing:.26em;color:var(--gpen-accent)}
.work-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:36px}
.work-hero-row h1{margin:0 0 18px;font:700 clamp(64px,7vw,108px)/.92 'Poppins',sans-serif;letter-spacing:-.055em;color:var(--gpen-cream)}
.work-hero-row p{margin:0;max-width:650px;font:400 18px/1.6 'Figtree',sans-serif;color:var(--gpen-muted)}
.work-count{flex:0 0 auto;margin-bottom:8px;font:600 12px/1.2 'JetBrains Mono',monospace;letter-spacing:.18em;color:#9c829e}
.work-gallery-section{padding:58px 0 112px}
.work-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.work-gallery-card{position:relative;display:block;overflow:hidden;border-radius:10px;background:#1c101f;aspect-ratio:4/5;text-decoration:none;transform:translateZ(0)}
.work-gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.work-gallery-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:18px;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.68));opacity:0;transition:opacity .3s ease}
.work-gallery-overlay span{font:600 13px/1.2 'Figtree',sans-serif;color:#fff}
.work-gallery-card:hover img{transform:scale(1.035)}
.work-gallery-card:hover .work-gallery-overlay{opacity:1}
.gpen-lightbox{position:fixed;z-index:99999;inset:0;display:none;align-items:center;justify-content:center;background:rgba(7,3,8,.94);padding:54px}
.gpen-lightbox.is-open{display:flex}
.gpen-lightbox img{max-width:min(92vw,980px);max-height:88vh;object-fit:contain;border-radius:8px;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.gpen-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.08);color:#fff;width:48px;height:48px;border-radius:999px;font-size:34px;line-height:1;cursor:pointer}
.gpen-lightbox-close{top:20px;right:20px}.gpen-lightbox-prev{left:22px;top:50%;transform:translateY(-50%)}.gpen-lightbox-next{right:22px;top:50%;transform:translateY(-50%)}
body.gpen-lightbox-open{overflow:hidden!important}

@media (max-width:980px){.work-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-gallery-shell{width:min(100% - 44px,1100px)}}
@media (max-width:767px){
 .work-gallery-shell{width:calc(100% - 32px)}
 .work-gallery-hero{padding:82px 0 46px}
 .work-hero-row{display:block}
 .work-hero-row h1{font-size:58px;margin-bottom:16px}
 .work-hero-row p{font-size:17px;line-height:1.55}
 .work-count{display:block;margin:26px 0 0}
 .work-gallery-section{padding:28px 0 72px}
 .work-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .work-gallery-card{border-radius:7px;aspect-ratio:4/5}
 .work-gallery-overlay{display:none}
 .gpen-lightbox{padding:18px}.gpen-lightbox img{max-width:96vw;max-height:82vh}.gpen-lightbox button{width:42px;height:42px}.gpen-lightbox-prev{left:8px}.gpen-lightbox-next{right:8px}
}
@media (max-width:380px){.work-gallery-shell{width:calc(100% - 24px)}.work-hero-row h1{font-size:50px}.work-gallery-grid{gap:6px}}

/* footer final alignment */
@media (max-width:767px){
 footer.gpen-footer{padding-left:0!important;padding-right:0!important}
 .gpen-footer-inner,.gpen-footer-bottom{width:calc(100% - 48px)!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
 .gpen-footer-inner{display:grid!important;grid-template-columns:1fr!important;gap:34px!important}
 .gpen-footer-brand,.gpen-footer-col{width:100%!important;max-width:none!important;margin:0!important;text-align:left!important}
 .gpen-footer-bottom{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important}
}

/* gallery sections */
.work-group+.work-group{margin-top:74px}
.work-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin:0 0 26px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}
.work-group-head h2{margin:0;font:700 clamp(26px,3vw,40px)/1.05 'Poppins',sans-serif;letter-spacing:-.03em;color:var(--gpen-cream)}
.work-group-head span{flex:0 0 auto;font:600 12px/1.2 'JetBrains Mono',monospace;letter-spacing:.18em;color:#9c829e}
.work-gallery-grid-brand{grid-template-columns:repeat(3,minmax(0,1fr))}
.work-gallery-grid-brand .work-gallery-card{aspect-ratio:3/4}
.work-gallery-grid-brand .work-gallery-card img{object-position:top center}
@media (max-width:980px){.work-gallery-grid-brand{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.work-group+.work-group{margin-top:44px}.work-group-head{margin-bottom:16px;padding-bottom:12px}.work-gallery-grid-brand{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* tall branding boards: open at full width and scroll */
.gpen-lightbox.is-tall{align-items:flex-start;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:64px 18px 40px}
.gpen-lightbox.is-tall img{max-width:min(96vw,760px);width:100%;max-height:none;height:auto;object-fit:contain}
.gpen-lightbox.is-tall .gpen-lightbox-close{position:fixed;top:14px;right:14px}
.gpen-lightbox.is-tall .gpen-lightbox-prev,.gpen-lightbox.is-tall .gpen-lightbox-next{position:fixed;top:50%}
@media(max-width:767px){.gpen-lightbox.is-tall{padding:58px 10px 30px}.gpen-lightbox.is-tall img{max-width:100%}}
/* project counts hidden on request */
.work-count,.work-group-head span{display:none}

/* branding cards: always-visible solid full-view button */
.work-gallery-grid-brand .work-gallery-card{overflow:hidden}
.work-fullview{position:absolute!important;left:10px;bottom:10px;z-index:5;display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 14px;border:0;border-radius:0;background:#c8438f;font:700 11px/1 'JetBrains Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:#fff;pointer-events:none}
.work-fullview::before{content:"";width:12px;height:12px;flex:0 0 auto;border:2px solid currentColor}
.work-gallery-card:hover .work-fullview{background:#a92f75}
@media (max-width:767px){.work-fullview{left:7px;bottom:7px;min-height:32px;padding:0 11px;font-size:10px;letter-spacing:.08em}}


/* G.Pen branding View Work button - always visible */
.work-gallery-grid-brand .work-fullview{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:absolute!important;
  left:10px!important;
  bottom:10px!important;
  z-index:10!important;
  min-height:36px!important;
  padding:0 14px!important;
  align-items:center!important;
  justify-content:center!important;
  background:#c8438f!important;
  color:#fff!important;
  font:700 11px/1 'JetBrains Mono',monospace!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  pointer-events:none!important;
}
@media(max-width:767px){
  .work-gallery-grid-brand .work-fullview{left:7px!important;bottom:7px!important;min-height:32px!important;padding:0 10px!important;font-size:9px!important;letter-spacing:.06em!important}
}
