:root{--copper:#7f9460;--gold:#b6c27e;--paper:#e7e9df;--line:#3d4338}

/* Bulletin / workshop notes */
.split-section{
  --bulletin-paper:#e7ebdf;
  --bulletin-ink:#172019;
  --bulletin-muted:#596154;
  --bulletin-rule:#aaa99f;
  background:var(--bulletin-paper);
  color:var(--bulletin-ink);
}
.split-inner{
  min-height:735px;
  padding-top:132px;
  padding-bottom:114px;
  grid-template-columns:minmax(0, .92fr) minmax(520px, 1.08fr);
  gap:clamp(70px, 8vw, 150px);
  align-items:start;
}
.split-copy{padding-top:2px}
.split-copy .eyebrow{
  color:#c6cf82;
  margin-bottom:35px;
}
.split-copy h2{
  color:var(--bulletin-ink);
  font-size:clamp(70px, 7.1vw, 108px);
  line-height:.9;
  letter-spacing:-.075em;
}
.split-copy h2 em{
  color:#78925c;
  font-family:'Playfair Display', Georgia, serif;
  font-style:italic;
  font-weight:600;
}
.split-copy p:not(.eyebrow){
  max-width:405px;
  margin:42px 0 40px;
  color:var(--bulletin-muted);
  font-size:17px;
  line-height:1.9;
}
.split-copy .button-outline{
  min-width:303px;
  min-height:62px;
  padding:16px 22px;
  border-color:#2a3b2a;
  background:#2a3b2a;
  color:#eef2e7;
  text-align:left;
  box-shadow:0 12px 24px #20301d24;
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.split-copy .button-outline span{float:right;display:grid;place-items:center;width:28px;height:28px;margin:-1px 0 0 20px;border:1px solid #dce6d355;border-radius:50%;font-size:16px;line-height:1;transition:transform .25s ease,background .25s ease}
.split-copy .button-outline:hover,.split-copy .button-outline:focus-visible{border-color:#3f5a3b;background:#3f5a3b;box-shadow:0 16px 30px #20301d38;transform:translateY(-4px)}
.split-copy .button-outline:hover span,.split-copy .button-outline:focus-visible span{background:#dbe6b0;color:#2a3b2a;transform:translateY(2px)}
.split-copy .button-outline:focus-visible{outline:3px solid #a6bd70;outline-offset:4px}
.bulletin-list{border-top:1px solid var(--bulletin-rule)}
.bulletin-item{
  min-height:163px;
  padding:31px 0 29px;
  grid-template-columns:130px minmax(0, 1fr);
  gap:18px;
  border-bottom:1px solid var(--bulletin-rule);
}
.bulletin-item time{
  padding-top:3px;
  color:#718452;
  font:11px Georgia, serif;
  white-space:nowrap;
}
.bulletin-item h3{
  margin:0 0 10px;
  color:var(--bulletin-ink);
  font-size:24px;
  line-height:1.2;
  letter-spacing:-.035em;
}
.bulletin-item p{
  max-width:520px;
  color:#596154;
  font-size:17px;
  line-height:1.65;
}
@media(max-width:1050px){
  .split-inner{grid-template-columns:1fr 1.15fr;gap:60px}
  .bulletin-item{grid-template-columns:105px 1fr}
}
@media(max-width:760px){
  .split-inner{min-height:0;padding-top:85px;padding-bottom:85px;grid-template-columns:1fr;gap:68px}
  .split-copy h2{font-size:clamp(62px, 17vw, 92px)}
  .split-copy p:not(.eyebrow){margin-top:30px;font-size:15px;line-height:1.75}
  .split-copy .button-outline{width:100%;min-width:0}
  .bulletin-item{min-height:0;padding:25px 0;grid-template-columns:92px 1fr;gap:14px}
  .bulletin-item h3{font-size:20px}
  .bulletin-item p{font-size:15px;line-height:1.55}
}

.brand{display:flex;align-items:center}
.brand img{width:170px;height:70px;object-fit:cover;object-position:center 52%;background:#181b17;border:1px solid #66734e;border-radius:16px;padding:0;box-shadow:0 8px 26px #0008,0 0 0 4px #242a20;mix-blend-mode:screen}
.hero-card{background:linear-gradient(135deg,#839363,#34442b 52%,#5c6b43);box-shadow:25px 30px 70px #000b,inset 0 0 0 1px #d7e09b66;color:#e0e8bd}
.monogram{color:#e1e8be;text-shadow:3px 4px #20291b}
.card-line{border-color:#c7d58d}
.orbit-one{border-right-color:var(--copper)}
.annotation-two,.stamp{color:var(--copper)}
.ticker{background:#687b4d;color:#edf1dc}
.ticker i{color:#cddc98}
.art-sign{background:linear-gradient(135deg,#718552,#263523);box-shadow:inset 0 0 100px #182217}
.art-sign strong{color:#d7e09c;text-shadow:2px 3px #1c2818}
.art-sign span,.art-sign small,.art-monogram span,.art-monogram i{color:#c6d88f}
.art-topo b{color:#647b4c}
.art-mountain{background:linear-gradient(#82935f 0 45%,#28372b 45%)}
.sun{background:#c7d77f;box-shadow:0 0 50px #c7d77f99}
.art-monogram{background:linear-gradient(120deg,#687c4e,#202c22)}
.art-monogram strong{color:#d5e097}
.bulletin-item time{color:#81965a}
.product-art:after{background:linear-gradient(130deg,#899a62,#35462e)}
.product-art.art-02:after{background:linear-gradient(140deg,#cbd69a,#718652)}
.product-art.art-03:after{background:radial-gradient(circle,#c6d586 0 4px,#718653 5px 8px,#aebf78 9px 100%)}
.contact-section{background:linear-gradient(120deg,#202c22,#101411)}
.contact-mark{color:#405339}

/* Customer support message desk */
.support-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(440px,1fr);gap:clamp(50px,8vw,130px);align-items:start;background:linear-gradient(135deg,#1d291e 0%,#283827 48%,#172019 100%);border-top:1px solid #81975c55;color:#f2f2e9}
.support-copy{position:sticky;top:125px}
.support-copy h2{font-size:clamp(54px,6vw,92px)}
.support-copy>p:not(.eyebrow){max-width:520px;color:#cbd2c3;font-size:17px;line-height:1.75;margin:30px 0 38px}
.support-promise{display:grid;grid-template-columns:34px 1fr;gap:14px 16px;max-width:510px;border-top:1px solid #9aad7460;padding-top:22px}
.support-promise span{font:11px 'DM Mono',monospace;color:#bfd477;padding-top:3px}
.support-promise p{margin:0;color:#d8ddcf;line-height:1.5}
.support-form{background:#edf0e5;color:#172019;padding:clamp(25px,4vw,48px);border-radius:26px;box-shadow:0 28px 80px #07100888;border:1px solid #bac79c;display:grid;gap:18px}
.support-form-heading{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #b9c4a7;font:10px 'DM Mono',monospace;letter-spacing:.13em;color:#60724e}
.support-form label{display:grid;gap:8px;font:11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:#46563b}
.support-form input,.support-form textarea,.support-form select{width:100%;border:1px solid #aab79a;background:#f8f9f3;color:#172019;border-radius:10px;padding:14px 15px;font:15px Manrope,Arial,sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
.support-form input:focus,.support-form textarea:focus,.support-form select:focus{border-color:#6e874e;box-shadow:0 0 0 3px #7f9a5a22}
.support-form textarea{min-height:140px;resize:vertical;line-height:1.55}
.message-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.captcha-box{display:grid;grid-template-columns:1fr auto;gap:16px;padding:18px;border:1px solid #aab79a;border-radius:16px;background:linear-gradient(135deg,#e4e9da,#edf0e5)}
.captcha-copy{display:grid;gap:5px}.captcha-copy span{font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.12em;color:#667655}.captcha-copy strong{font-size:17px;color:#26351f}.captcha-copy small{color:#73806b;font-size:12px}.captcha-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.captcha-options button{min-height:48px;border:1px solid #a7b697;border-radius:12px;background:#f8f9f3;color:#34442c;font:700 17px 'DM Mono',monospace;transition:.2s}.captcha-options button:hover{border-color:#718851;background:#edf2e3;transform:translateY(-2px)}.captcha-options button.selected{background:#2b3d29;border-color:#2b3d29;color:#d7e596;box-shadow:0 8px 18px #24341f25}.captcha-options button.selected:after{content:'  ✓';font-size:13px}
.captcha-refresh{align-self:start;background:transparent;color:#5e714e;padding:2px 0;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.captcha-refresh span{display:inline-block;font-size:16px;margin-left:5px;transition:transform .2s}.captcha-refresh:hover span{transform:rotate(90deg)}
.support-submit{justify-self:start;border-radius:10px;background:#263725;color:#f1f3e9;padding:17px 22px}.support-submit:hover{background:#718a50}.support-submit:disabled{opacity:.55;cursor:wait;transform:none}
.support-status{margin:0;color:#64725d;font-size:13px;line-height:1.5}.support-status.error{color:#9c493d}.support-status.success{color:#4f702f;font-weight:700}
@media(max-width:900px){.support-section{grid-template-columns:1fr}.support-copy{position:static}}
@media(max-width:520px){.support-form{padding:22px 18px;border-radius:18px}.support-form-heading{display:grid}.captcha-box{grid-template-columns:1fr;padding:14px}.captcha-refresh{grid-row:2}.captcha-options{grid-row:3}.captcha-copy strong{font-size:15px}}
.admin-link{color:#9bb272}
.api-gallery-card{position:relative;overflow:hidden;cursor:zoom-in;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}.api-gallery-card:hover{transform:translateY(-7px);box-shadow:0 22px 50px #07100899}.api-photo{background:#172419;box-shadow:inset 0 0 70px #10201466}.api-photo:before,.api-photo:after{display:none}.api-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .45s ease}.api-gallery-card:hover .api-photo img{transform:scale(1.045);filter:saturate(1.08) contrast(1.03)}.api-gallery-card:focus-within{outline:2px solid #bfd47b;outline-offset:5px}.api-gallery-card .card-caption{display:none}
#galleryGrid.api-cinema{display:block;position:relative}.craft-stage{--craft-x:0px;--craft-y:0px;position:relative;width:100%;height:clamp(480px,66vh,760px);overflow:hidden;background:#0b120c;border:1px solid #8fa56d38;box-shadow:0 34px 90px #050a0666;cursor:zoom-in;isolation:isolate;transition:height .55s cubic-bezier(.2,.8,.2,1),transform .45s ease}.craft-ambient{position:absolute;inset:-35px;z-index:-2;background-position:center;background-size:cover;filter:blur(34px) brightness(.38) saturate(1.18);transform:scale(1.13) translate(calc(var(--craft-x) * -.45),calc(var(--craft-y) * -.45));transition:background-image .45s ease,transform .18s ease-out}.craft-stage-shade{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at center,transparent 30%,#09110aa8 100%),linear-gradient(90deg,#09110a8a,transparent 25% 75%,#09110a8a)}.craft-stage-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transform:translate(var(--craft-x),var(--craft-y)) scale(.985);filter:drop-shadow(0 18px 34px #0008);transition:opacity .45s ease,transform .2s ease-out}.craft-stage-image.is-ready{opacity:1;transform:translate(var(--craft-x),var(--craft-y)) scale(1)}.craft-nav{position:absolute;top:50%;z-index:3;width:46px;height:96px;transform:translateY(-50%);border:0;border-radius:0;background:linear-gradient(90deg,#071008aa,transparent);color:#eef3e6;font:300 42px/1 Arial,sans-serif;opacity:.42;transition:opacity .25s ease,background .25s ease}.craft-nav:hover{opacity:1;background:linear-gradient(90deg,#071008e8,transparent)}.craft-prev{left:0}.craft-next{right:0;background:linear-gradient(270deg,#071008aa,transparent)}.craft-next:hover{background:linear-gradient(270deg,#071008e8,transparent)}.craft-stage-status{position:absolute;left:25px;right:25px;bottom:20px;z-index:3;display:flex;align-items:center;gap:14px;color:#eef3e6;font:10px 'DM Mono',monospace;letter-spacing:.15em}.craft-progress-track{display:block;width:110px;height:1px;background:#eef3e644;overflow:hidden}.craft-progress-track i{display:block;width:100%;height:100%;background:#bfd47b;transform-origin:left}@keyframes craftProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}.craft-filmstrip{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding:2px 2px 12px;scrollbar-width:thin;scrollbar-color:#71875a #172419}.craft-thumb{flex:0 0 110px;height:74px;padding:0;border:1px solid transparent;background:#172419;opacity:.42;overflow:hidden;transition:opacity .25s ease,border-color .25s ease,transform .25s ease}.craft-thumb img{width:100%;height:100%;object-fit:cover;display:block}.craft-thumb:hover{opacity:.82;transform:translateY(-2px)}.craft-thumb.active{opacity:1;border-color:#bfd47b}.craft-stage.immersive{position:fixed;inset:18px;z-index:60;width:auto;height:auto;cursor:zoom-out;border-color:#bfd47b66;box-shadow:0 0 0 30px #071008eb,0 40px 120px #000}.craft-stage.immersive .craft-stage-image{padding:8px}@media(max-width:700px){.craft-stage{height:58vh;min-height:390px}.craft-nav{height:74px;width:38px;font-size:34px}.craft-filmstrip{gap:7px}.craft-thumb{flex-basis:82px;height:58px}.craft-stage.immersive{inset:8px}}
#galleryGrid.api-deck{display:block}.craft-deck{--deck-x:0px;--deck-y:0px;--drag-x:0px;--glow-x:50%;--glow-y:45%;position:relative;height:clamp(600px,76vh,820px);overflow:hidden;isolation:isolate;touch-action:pan-y;user-select:none}.deck-glow{position:absolute;inset:5% 8%;z-index:-1;background:radial-gradient(circle at var(--glow-x) var(--glow-y),#9db76b29 0,transparent 38%),radial-gradient(circle at 50% 50%,#293d2d 0,transparent 68%);filter:blur(8px);transition:background-position .2s ease}.deck-stack{position:absolute;inset:15px 70px 72px;display:grid;place-items:center;perspective:1200px}.deck-card{position:absolute;width:min(760px,72vw);height:100%;margin:0;padding:14px;background:#111a12;border:1px solid #a6bb7c42;box-shadow:0 30px 80px #020602aa,inset 0 0 0 1px #fff08;overflow:hidden;transform-origin:50% 90%;transition:transform .68s cubic-bezier(.2,.85,.2,1),opacity .48s ease,filter .48s ease;will-change:transform}.deck-card img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#0a100b;pointer-events:none}.deck-card[data-depth="0"]{z-index:5;opacity:1;filter:saturate(1.03);transform:translate3d(calc(var(--deck-x) + var(--drag-x)),var(--deck-y),90px) rotateZ(calc(var(--deck-x) * .06)) scale(1)}.deck-card[data-depth="1"]{z-index:4;opacity:.82;filter:brightness(.76);transform:translate3d(calc(42px - var(--deck-x) * .45),calc(-20px - var(--deck-y) * .35),35px) rotateZ(3.6deg) scale(.955)}.deck-card[data-depth="2"]{z-index:3;opacity:.58;filter:brightness(.58);transform:translate3d(calc(-44px + var(--deck-x) * .28),calc(24px + var(--deck-y) * .24),0) rotateZ(-4.8deg) scale(.91)}.deck-card[data-depth="3"]{z-index:2;opacity:.34;filter:brightness(.45);transform:translate3d(68px,38px,-25px) rotateZ(6.2deg) scale(.86)}.deck-card[data-depth="hidden"]{z-index:0;opacity:0;pointer-events:none;transform:translate3d(0,80px,-80px) scale(.78)}.craft-deck.dragging .deck-card[data-depth="0"]{transition:opacity .2s ease;cursor:grabbing}.deck-nav{position:absolute;top:50%;z-index:10;width:44px;height:88px;transform:translateY(-50%);background:transparent;color:#dfe8d5;font:300 40px/1 Arial,sans-serif;opacity:.28;transition:opacity .2s ease,color .2s ease}.deck-nav:hover{opacity:1;color:#bfd47b}.deck-prev{left:7px}.deck-next{right:7px}.deck-status{position:absolute;left:50%;bottom:22px;z-index:9;transform:translateX(-50%);display:flex;align-items:center;gap:14px;white-space:nowrap;color:#aebda6;font:10px 'DM Mono',monospace;letter-spacing:.15em}.deck-progress-track{display:block;width:92px;height:1px;background:#dfe8d533;overflow:hidden}.deck-progress-track i{display:block;width:100%;height:100%;background:#bfd47b;transform-origin:left}@keyframes deckProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}.deck-hint{opacity:.55}.craft-deck:hover .deck-hint{opacity:.9}@media(max-width:700px){.craft-deck{height:620px}.deck-stack{inset:12px 38px 82px}.deck-card{width:82vw;padding:8px}.deck-nav{width:34px}.deck-hint{display:none}.deck-status{bottom:28px}}
#galleryGrid.api-theater{display:block}.craft-theater{--theater-x:0px;--theater-y:0px;--light-x:50%;--light-y:45%;position:relative;height:clamp(570px,76vh,820px);overflow:hidden;background:#09100a;isolation:isolate;border:1px solid #9eb27628;box-shadow:0 38px 100px #03070385}.theater-ambient{position:absolute;inset:-50px;z-index:-3;background-size:cover;background-position:center;filter:blur(42px) brightness(.38) saturate(1.25);transform:scale(1.14) translate(calc(var(--theater-x) * -.55),calc(var(--theater-y) * -.55));transition:background-image .55s ease,transform .2s ease-out}.theater-wash{position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at var(--light-x) var(--light-y),#dce8c817 0,transparent 30%),linear-gradient(90deg,#071008c7 0,transparent 23% 77%,#071008c7 100%),linear-gradient(0deg,#071008b0 0,transparent 22%);pointer-events:none}.theater-focus{position:absolute;inset:28px 13% 82px;display:grid;place-items:center;cursor:zoom-in;transform:translate(var(--theater-x),var(--theater-y));transition:transform .2s ease-out}.theater-focus img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;opacity:0;filter:drop-shadow(0 28px 42px #000b);border:1px solid #f1f4ea24;transform:scale(.975);transition:opacity .5s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.theater-focus img.ready{opacity:1;transform:scale(1)}.craft-theater[data-orientation="portrait"] .theater-focus{inset-left:20%;inset-right:20%}.craft-theater[data-orientation="landscape"] .theater-focus{inset-left:9%;inset-right:9%}.theater-peek{position:absolute;top:50%;z-index:3;width:clamp(68px,8vw,124px);height:42%;padding:0;overflow:hidden;transform:translateY(-50%);background:#101a12;border:1px solid #dce8c81f;opacity:.34;filter:saturate(.7);transition:opacity .3s ease,transform .4s cubic-bezier(.2,.8,.2,1),filter .3s ease}.theater-peek img{width:100%;height:100%;display:block;object-fit:cover}.theater-peek:hover{opacity:.88;filter:saturate(1);transform:translateY(-50%) scale(1.035)}.theater-peek-prev{left:18px}.theater-peek-next{right:18px}.theater-controls{position:absolute;left:50%;bottom:24px;z-index:5;transform:translateX(-50%);display:flex;align-items:center;gap:13px;color:#dce8d4;font:10px 'DM Mono',monospace;letter-spacing:.15em}.theater-controls>button{width:32px;height:32px;background:transparent;color:#dce8d4;font:300 29px/1 Arial,sans-serif;opacity:.5;transition:opacity .2s ease,color .2s ease}.theater-controls>button:hover{opacity:1;color:#bfd47b}.theater-progress-track{display:block;width:82px;height:1px;background:#dce8d43d;overflow:hidden}.theater-progress-track i{display:block;width:100%;height:100%;background:#bfd47b;transform-origin:left}@keyframes theaterProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}.theater-dots{display:flex;gap:7px}.theater-dot{width:5px!important;height:5px!important;border-radius:50%;padding:0;background:#dce8d4!important;opacity:.28!important}.theater-dot.active{opacity:1!important;background:#bfd47b!important;box-shadow:0 0 0 4px #bfd47b1f}.theater-expand-hint{position:absolute;right:24px;bottom:27px;z-index:4;color:#dce8d477;font:9px 'DM Mono',monospace;letter-spacing:.13em}.craft-theater.immersive{position:fixed;inset:14px;z-index:65;width:auto;height:auto;box-shadow:0 0 0 30px #030703ed,0 40px 120px #000}.craft-theater.immersive .theater-focus{inset:12px 8% 65px;cursor:zoom-out}.craft-theater.immersive .theater-peek{opacity:.16}@media(max-width:760px){.craft-theater{height:68vh;min-height:500px}.theater-focus{inset:18px 12% 76px}.theater-peek{top:auto;bottom:18px;width:60px;height:74px;transform:none}.theater-peek:hover{transform:scale(1.03)}.theater-peek-prev{left:12px}.theater-peek-next{right:12px}.theater-expand-hint{display:none}.theater-controls{bottom:28px}.theater-progress-track{display:none}.craft-theater.immersive{inset:7px}}
.craft-theater[data-orientation="portrait"] .theater-focus{left:20%;right:20%}.craft-theater[data-orientation="landscape"] .theater-focus{left:9%;right:9%}

/* Keep EXIF-rotated phone photos fully visible in the main theater. */
#galleryGrid.api-theater .theater-focus{overflow:visible}
#galleryGrid.api-theater .theater-focus>img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none;
  max-height:none;
  min-width:0;
  min-height:0;
  object-fit:contain!important;
  object-position:center center!important;
  border:0;
}
#galleryGrid.api-theater .theater-peek{
  width:clamp(78px,7.5vw,118px);
  height:clamp(100px,18vh,150px);
  padding:6px;
  background:#09100ad9;
  border-color:#dce8c82b;
}
#galleryGrid.api-theater .theater-peek>img{
  object-fit:contain!important;
  object-position:center center!important;
}

/* Orientation-aware workshop reel. Every frame follows the photograph's
   natural ratio, so portrait and landscape work can share one moving gallery
   without cropping or padded fake frames. */
#galleryGrid.api-reel{
  display:block;
  width:100vw;
  margin-left:calc(50% - 50vw);
  overflow:hidden;
}
html,body{max-width:100%;overflow-x:clip}
.gallery-reel{
  --reel-height:clamp(430px,64vh,690px);
  position:relative;
  height:calc(var(--reel-height) + 66px);
  padding:22px 0 44px;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(180deg,#101a12 0,#071008 100%);
  border-top:1px solid #aabd8229;
  border-bottom:1px solid #aabd8229;
  box-shadow:0 38px 90px #03070370;
}
.gallery-reel:before,.gallery-reel:after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  z-index:4;
  width:min(10vw,150px);
  pointer-events:none;
}
.gallery-reel:before{left:0;background:linear-gradient(90deg,#071008 0,transparent 100%)}
.gallery-reel:after{right:0;background:linear-gradient(270deg,#071008 0,transparent 100%)}
.reel-glow{
  position:absolute;
  inset:-25%;
  z-index:-1;
  background:radial-gradient(circle at 30% 42%,#98b36b20 0,transparent 32%),radial-gradient(circle at 72% 58%,#d3a67516 0,transparent 30%);
  filter:blur(26px);
}
.gallery-reel-track{
  position:relative;
  z-index:2;
  display:flex;
  width:max-content;
  height:var(--reel-height);
  will-change:transform;
  animation:none;
  justify-content:center;
  width:100%;
}
.gallery-reel.single-frame .gallery-reel-set{padding-right:0}
.gallery-reel-set{
  display:flex;
  flex:none;
  align-items:stretch;
  gap:18px;
  height:100%;
  padding-right:18px;
}
@keyframes cmwReelDrift{to{transform:translateX(-50%)}}
.gallery-reel:hover .gallery-reel-track,.gallery-reel.paused .gallery-reel-track{animation-play-state:paused}
.reel-frame{
  position:relative;
  flex:0 0 auto;
  height:100%;
  width:auto;
  padding:0;
  overflow:hidden;
  background:#0a100b;
  border:1px solid #eef3e61c;
  box-shadow:0 24px 55px #0008;
  transform:translateY(0);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s ease,filter .35s ease,box-shadow .45s ease;
}
.reel-frame img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
}
.reel-frame:hover{
  z-index:3;
  transform:translateY(-8px);
  border-color:#c9dc8b8c;
  filter:saturate(1.08) contrast(1.025);
  box-shadow:0 34px 75px #000b,0 0 0 1px #c9dc8b24;
}
.reel-frame:focus-visible{outline:2px solid #c9dc8b;outline-offset:-3px}
.reel-chrome{
  position:absolute;
  z-index:6;
  left:5vw;
  right:5vw;
  bottom:13px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  color:#aebda6;
  font:9px 'DM Mono',monospace;
  letter-spacing:.16em;
}
.reel-chrome span:nth-child(2){text-align:center;color:#dce8d4a8}
.reel-toggle{
  justify-self:end;
  padding:7px 0;
  background:transparent;
  color:#bfd47b;
  font:9px 'DM Mono',monospace;
  letter-spacing:.16em;
  display:none;
}
.gallery-viewer-open{overflow:hidden}
.reel-lightbox{
  position:fixed;
  inset:0;
  z-index:90;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  overflow:hidden;
  background:#050a06f2;
  transition:opacity .35s ease,visibility .35s ease;
}
.reel-lightbox.open{visibility:visible;opacity:1;pointer-events:auto}
.reel-lightbox-ambient{
  position:absolute;
  inset:-70px;
  background-size:cover;
  background-position:center;
  filter:blur(55px) brightness(.28) saturate(1.15);
  transform:scale(1.12);
}
.reel-lightbox:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center,transparent 20%,#0205039c 100%);
  pointer-events:none;
}
.reel-lightbox-image{position:absolute;z-index:2;inset:34px 8vw 62px}
.reel-lightbox-image img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  opacity:0;
  transform:scale(.985);
  filter:drop-shadow(0 30px 60px #000c);
  transition:opacity .35s ease,transform .55s cubic-bezier(.2,.8,.2,1);
}
.reel-lightbox-image img.ready{opacity:1;transform:scale(1)}
.reel-lightbox-close,.reel-lightbox-nav{
  position:absolute;
  z-index:5;
  background:transparent;
  color:#edf3e7;
  opacity:.55;
  transition:opacity .2s ease,color .2s ease;
}
.reel-lightbox-close:hover,.reel-lightbox-nav:hover{opacity:1;color:#bfd47b}
.reel-lightbox-close{top:20px;right:28px;font:300 34px/1 Arial,sans-serif}
.reel-lightbox-nav{top:50%;width:54px;height:90px;transform:translateY(-50%);font:300 42px/1 Arial,sans-serif}
.reel-lightbox-prev{left:20px}.reel-lightbox-next{right:20px}
.reel-lightbox-counter{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  color:#dce8d4;
  font:10px 'DM Mono',monospace;
  letter-spacing:.18em;
}
@media(max-width:760px){
  .gallery-reel{--reel-height:clamp(370px,57vh,540px);height:calc(var(--reel-height) + 58px);padding-top:16px}
  .gallery-reel-set{gap:10px;padding-right:10px}
  .gallery-reel-track{animation-duration:30s}
  .reel-chrome{left:18px;right:18px;grid-template-columns:1fr auto}
  .reel-chrome span:nth-child(2){display:none}
  .reel-lightbox-image{inset:50px 12px 70px}
  .reel-lightbox-nav{top:auto;bottom:12px;height:48px}
  .reel-lightbox-prev{left:18px}.reel-lightbox-next{right:18px}
}
@media(prefers-reduced-motion:reduce){.gallery-reel-track{animation:none}.reel-frame,.reel-lightbox-image img{transition:none}}
