
/* R53 — deliberate rebuild of the mobile composition. */
.r53-categories,.r53-work{position:relative}
.r53-section-head{max-width:760px;margin:0 0 24px}
.r53-section-head>span{display:block;color:#d99a70;font-weight:900;font-size:11px;letter-spacing:.12em;margin-bottom:7px}
.r53-section-head h2{margin:0;font-size:clamp(34px,5vw,58px);line-height:.96;letter-spacing:-.045em}
.r53-section-head p{margin:12px 0 0;color:#aeb3b6;line-height:1.65;max-width:58ch}
.r53-section-head.light h2{color:#151311}.r53-section-head.light p{color:#5f5a55}

.r53-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.r53-category-card{display:block;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.11);background:#171b1f;border-radius:22px;overflow:hidden}
.r53-category-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.r53-category-card>div{padding:15px}
.r53-category-card small{display:block;color:#e9a779;font-weight:900;font-style:normal}
.r53-category-card strong{display:block;font-size:22px;line-height:1.05;margin:5px 0 7px}
.r53-category-card em{display:block;font-style:normal;color:#afb4b8;font-size:12px;line-height:1.45}

.r53-work{background:#f4f1eb;color:#151311}
.r53-work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.r53-work-card{position:relative;display:block;aspect-ratio:1/1;border-radius:20px;overflow:hidden;background:#101214;text-decoration:none;color:#fff}
.r53-work-card.feature{grid-column:span 2;grid-row:span 2}
.r53-work-card img{display:block;width:100%;height:100%;object-fit:cover}
.r53-work-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.9))}
.r53-work-card>div{position:absolute;z-index:2;right:0;left:0;bottom:0;padding:18px}
.r53-work-card small{display:block;color:#e9a779;font-size:10px;font-weight:900}
.r53-work-card strong{display:block;font-size:20px;margin-top:4px;line-height:1.03}
.r53-work-card.feature strong{font-size:30px}
.r53-all-work{display:flex;justify-content:center;margin-top:18px}
.r53-all-work a{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 18px;border-radius:15px;background:#151311;color:#fff;text-decoration:none;font-weight:900}

@media(max-width:820px){
  /* Hero — substantially shorter and centered. */
  .hero{min-height:0!important;padding:16px 0 10px!important}
  .hero .container{width:calc(100% - 22px)!important}
  .hero-grid.elite-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  .hero-copy{order:1!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important}
  .hero-copy .eyebrow{margin:0 0 6px!important;font-size:9px!important;justify-content:center!important}
  .hero-copy h1{font-size:38px!important;line-height:.92!important;max-width:10.2ch!important;margin:0 auto 7px!important;text-align:center!important}
  .hero-copy>p{font-size:13.5px!important;line-height:1.45!important;max-width:33ch!important;margin:0 auto 8px!important;text-align:center!important}
  .hero-service-signal{display:none!important}
  .hero-actions{width:100%!important;display:grid!important;grid-template-columns:1.08fr .92fr!important;gap:7px!important;margin:0!important}
  .hero-actions .btn{min-height:44px!important;border-radius:14px!important;font-size:13px!important}
  .di44-hero-stock{margin:7px auto 0!important;min-height:38px!important;padding:5px 9px!important;border-radius:13px!important}
  .di44-hero-stock small{display:none!important}
  .di44-hero-stock b{font-size:11.5px!important}
  .di44-hero-stock span{font-size:17px!important}
  .r53-hero-mosaic{order:2!important;width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr!important;aspect-ratio:1.42/1!important;max-height:300px!important;min-height:0!important;padding:4px!important;gap:4px!important;border-radius:18px!important}
  .r53-hero-tile{position:relative;display:block;overflow:hidden;border-radius:11px!important;background:#111}
  .r53-hero-tile img{display:block;width:100%;height:100%;object-fit:cover!important}
  .r53-hero-tile:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.76))}
  .r53-hero-tile span{position:absolute;z-index:2;right:9px;bottom:8px;color:#fff;font-size:10.5px;font-weight:900}
  .work-pulse{display:none!important}

  /* Categories — 2x2, no giant one-card-per-screen layout. */
  .r53-categories{padding:38px 0!important;background:#14171a!important;color:#fff}
  .r53-categories .container{width:calc(100% - 22px)!important}
  .r53-section-head{text-align:center;margin:0 auto 16px!important}
  .r53-section-head h2{font-size:34px!important;line-height:.96!important}
  .r53-section-head p{font-size:13px!important;line-height:1.5!important;margin:8px auto 0!important;max-width:34ch!important}
  .r53-category-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .r53-category-card{border-radius:16px!important}
  .r53-category-card img{width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important}
  .r53-category-card>div{padding:11px!important}
  .r53-category-card small{font-size:9px!important}
  .r53-category-card strong{font-size:17px!important;line-height:1.02!important;margin:4px 0 5px!important}
  .r53-category-card em{font-size:9.5px!important;line-height:1.35!important}

  /* Selected work — one feature + four clean squares. */
  .r53-work{padding:38px 0!important}
  .r53-work .container{width:calc(100% - 22px)!important}
  .r53-section-head.light h2{font-size:34px!important}
  .r53-work-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .r53-work-card,.r53-work-card.feature{grid-column:auto!important;grid-row:auto!important;aspect-ratio:1/1!important;border-radius:16px!important}
  .r53-work-card.feature{grid-column:1/-1!important;aspect-ratio:16/10!important}
  .r53-work-card>div{padding:13px!important}
  .r53-work-card small{font-size:8.5px!important}
  .r53-work-card strong,.r53-work-card.feature strong{font-size:18px!important}
  .r53-work-card.feature strong{font-size:23px!important}
  .r53-all-work{margin-top:14px!important}
  .r53-all-work a{min-height:46px!important;font-size:13px!important}

  /* Remove the duplicate image-heavy section on mobile. */
  #real-work{display:none!important}

  /* Limited collection — all photos same exact display ratio. */
  #limited.limited-r34{padding:16px 0 22px!important}
  #limited.limited-r34 .limited-r34-panel{padding:13px 10px 12px!important}
  #limited.limited-r34 .limited-r34-copy h2{font-size:35px!important;max-width:10ch!important}
  #limited.limited-r34 .limited-r34-copy p{font-size:12.5px!important}
  #limited.limited-r34 .limited-r34-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #limited.limited-r34 .limited-r34-card{flex:0 0 80vw!important;max-width:80vw!important}
  #limited.limited-r34 .limited-r34-media{aspect-ratio:4/3!important;padding:8px!important}
  #limited.limited-r34 .limited-r34-media img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:12px!important}
  #limited.limited-r34 .limited-r34-info{padding:13px!important}
  #limited.limited-r34 .limited-r34-info h3{font-size:26px!important}
}

@media(max-width:430px){
  .hero-copy h1{font-size:36px!important}
  .r53-hero-mosaic{max-height:280px!important}
  .r53-category-card strong{font-size:16px!important}
  .r53-category-card em{font-size:9px!important}
}


/* ==========================================================================
   R54 SELF-AUDIT RELEASE — final authority layer
   ========================================================================== */

:root{--r54-bg:#101316;--r54-panel:#171b1f;--r54-paper:#f5eee4;--r54-ink:#17130f;--r54-orange:#e99b68}
html,body{max-width:100%;overflow-x:clip}
img,video{max-width:100%}
:focus-visible{outline:3px solid #efa173!important;outline-offset:3px!important}

/* Contrast repair: legacy .section styles were overriding the intended work background. */
.r53-work{background:#15191d!important;color:#fff!important}
.r53-work .r53-section-head.light h2{color:#fff!important}
.r53-work .r53-section-head.light p{color:#b9bec2!important}
.r53-work .r53-section-head.light>span{color:#efa173!important}
.r53-work-card{box-shadow:0 14px 36px rgba(0,0,0,.20)}

/* Desktop hero: premium but no unnecessary first-screen height. */
@media(min-width:821px){
  .hero{min-height:0!important;padding:64px 0 52px!important}
  .hero-grid.elite-hero-grid{align-items:center!important;gap:clamp(34px,5vw,72px)!important}
  .hero-copy h1{font-size:clamp(58px,5.7vw,84px)!important;line-height:.92!important}
  .hero-copy>p{font-size:16px!important;line-height:1.62!important;max-width:58ch!important}
  .r53-hero-mosaic{max-height:560px!important;aspect-ratio:1/1!important}
  .r53-categories,.r53-work{padding:72px 0!important}
  .r53-section-head{margin-bottom:26px!important}
}

/* Limited collection: 2+3 is the ONLY stock count. */
#limited.limited-r34 .limited-r34-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.limited-r54-order-note{margin:0 0 14px;padding:10px 12px;border:1px dashed rgba(79,55,40,.25);border-radius:12px;color:#725947;background:rgba(255,255,255,.32);font-size:11px;font-weight:850;text-align:center}

/* Production video: no 620px empty selector / black-hole failure state. */
#motion .production-studio-v2{grid-template-columns:1fr!important;gap:12px!important}
#motion .production-stage-v2{display:grid!important;grid-template-rows:auto auto!important;min-height:0!important;max-height:none!important;background:#090a0c url('assets/v30/weld_close.jpg') center/cover no-repeat!important;overflow:hidden!important}
#motion .production-stage-v2 video,#motion .production-stage-v2 video.show-full-action{position:relative!important;inset:auto!important;grid-row:1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:560px!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center!important;border-radius:18px!important;background:transparent!important}
#motion .production-stage-v2.r54-video-fallback video{opacity:0!important;height:min(52vw,560px)!important}
#motion .production-stage-v2.r54-video-fallback{min-height:min(52vw,560px)!important}
#motion .production-stage-copy{position:static!important;inset:auto!important;grid-row:2!important;padding:13px 3px 1px!important;background:transparent!important}
#motion .production-selector-v2{min-height:0!important;height:auto!important;padding:14px!important}
#motion .production-selector-note{margin-top:10px!important}
#motion .production-actions-v2{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:visible!important;gap:9px!important;padding:0!important}
#motion .production-actions-v2 .prod-action{min-width:0!important;max-width:none!important;width:100%!important;min-height:76px!important;grid-template-columns:54px minmax(0,1fr)!important;padding:8px!important}
#motion .production-actions-v2 .prod-action .arrow{display:none!important}

/* Forms and controls: stable desktop/mobile sizing. */
input,textarea,select,button{max-width:100%}
.order-shell,.builder,.form-section,.callback-form{min-width:0}

@media(max-width:820px){
  /* Tighter first screen. */
  .hero{min-height:0!important;padding:12px 0 9px!important}
  .hero .container{width:calc(100% - 20px)!important}
  .hero-grid.elite-hero-grid{gap:7px!important}
  .hero-copy .eyebrow{font-size:8.5px!important;margin-bottom:5px!important}
  .hero-copy h1{font-size:34px!important;line-height:.91!important;max-width:10ch!important;margin-bottom:6px!important}
  .hero-copy>p{font-size:12.8px!important;line-height:1.42!important;max-width:32ch!important;margin-bottom:7px!important}
  .hero-actions{gap:6px!important}
  .hero-actions .btn{min-height:42px!important;font-size:12.5px!important}
  .di44-hero-stock{min-height:36px!important;margin-top:5px!important;padding:4px 8px!important}
  .r53-hero-mosaic{aspect-ratio:1.7/1!important;max-height:235px!important;padding:3px!important;gap:3px!important}
  .r53-hero-tile{border-radius:9px!important}
  .r53-hero-tile span{font-size:9.5px!important;right:7px!important;bottom:6px!important}

  /* Selected work contrast/spacing. */
  .r53-work{padding:36px 0!important}
  .r53-work .r53-section-head.light h2{font-size:32px!important;color:#fff!important}
  .r53-work .r53-section-head.light p{font-size:12.5px!important;color:#b9bec2!important}
  .r53-work-card,.r53-work-card.feature{border-radius:15px!important}
  .r53-all-work a{min-height:44px!important}

  /* Canonical stock and extra model note. */
  #limited.limited-r34 .limited-r34-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .limited-r54-order-note{margin:0 8px 10px;font-size:10px;padding:8px}

  /* Production: bounded video and horizontal cards, never giant empty box. */
  #motion .production-stage-v2 video,#motion .production-stage-v2 video.show-full-action{max-height:none!important;aspect-ratio:16/10!important;border-radius:14px!important}
  #motion .production-stage-v2.r54-video-fallback{min-height:240px!important}
  #motion .production-stage-v2.r54-video-fallback video{height:240px!important}
  #motion .production-actions-v2{display:flex!important;overflow-x:auto!important;gap:8px!important;padding:1px 1px 8px!important;scroll-snap-type:x mandatory!important;overscroll-behavior-x:contain!important}
  #motion .production-actions-v2 .prod-action{flex:0 0 152px!important;min-width:152px!important;max-width:152px!important;grid-template-columns:46px minmax(0,1fr)!important;min-height:68px!important;scroll-snap-align:start!important}
  #motion .production-actions-v2 .prod-action img{width:46px!important;height:46px!important}
  #motion .production-selector-v2{min-height:0!important;padding:12px!important}

  /* Mobile controls and iOS zoom safety. */
  input,textarea,select{font-size:16px!important}
  .mobile-bar.r54-hidden{transform:translateY(calc(130% + env(safe-area-inset-bottom)))!important;opacity:0!important;pointer-events:none!important}
}

@media(max-width:430px){
  .hero-copy h1{font-size:33px!important}
  .r53-hero-mosaic{max-height:220px!important}
  .r53-category-card strong{font-size:15.5px!important}
}

/* R54 specificity locks — retire legacy ID-level overrides without editing functionality. */
#work.r53-work{background:linear-gradient(180deg,#171c20 0%,#121619 100%)!important;color:#fff!important}
#work.r53-work .r53-section-head.light h2{color:#fff!important}
#work.r53-work .r53-section-head.light p{color:#b9bec2!important}
@media(min-width:821px){
  #what.r53-categories,#work.r53-work{padding:72px 0!important}
  #motion.v29-motion{padding-top:64px!important;padding-bottom:64px!important}
  #motion .production-stage-v2 video,#motion .production-stage-v2 video.show-full-action{max-height:480px!important}
}
@media(max-width:820px){
  #what.r53-categories{padding:38px 0!important}
  #work.r53-work{padding:36px 0!important}
  #motion.v29-motion{padding-top:42px!important;padding-bottom:42px!important}
}
