/* Heading serif. Instrument Serif is self-hosted; license: fonts/OFL-InstrumentSerif.txt. */
@font-face{font-family:"Pose Serif";src:url("/fonts/InstrumentSerif-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{--white:#fff;--chalk:#eee5d7;--mist:#e7ded1;--line:#d7c9b7;--ink:#292622;--soft:#6b6258;--sage:#7a5c41;--danger:#9b4541;--serif:"Pose Serif",Didot,"Bodoni MT",Georgia,"Times New Roman",serif;--sans:Avenir,"Avenir Next","Segoe UI",Arial,sans-serif;--shadow:0 26px 80px rgba(41,38,34,.12)}
*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:#f7f2e9;font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;font-synthesis:none;letter-spacing:-.006em}h1{font-size:clamp(3rem,7vw,7.2rem);line-height:.9}h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1}h3{font-size:1.35rem;line-height:1.1}:focus-visible{outline:3px solid var(--sage);outline-offset:3px}.skip-link{position:fixed;z-index:999;top:10px;left:10px;padding:10px 14px;color:#fff;background:#000;transform:translateY(-150%)}.skip-link:focus{transform:none}.wordmark{display:inline-flex;align-items:center;gap:10px;width:fit-content;font-family:var(--serif);font-size:1.22rem}.wordmark.inverse{color:#fff}.brand-seal{display:grid;width:30px;height:30px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:1rem}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:11px 18px;border:1px solid transparent;border-radius:2px;background:transparent;cursor:pointer;font-weight:650;text-decoration:none}.button.dark{color:#fff;background:var(--ink)}.button.dark:hover{background:#3a342e}.button.secondary{border-color:var(--line);background:#fffaf3}.button.secondary:hover{border-color:var(--sage)}.button.outline{color:#fff;border-color:rgba(255,255,255,.55)}.button.small{min-height:40px;padding:8px 13px;font-size:.86rem}.button.wide{width:100%}.button:disabled{cursor:wait;opacity:.55}.quiet-link,.rail-link,.mirror-fullscreen{padding:4px 0;border:0;color:inherit;background:none;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:5px}.quiet-link:hover{color:var(--sage)}.loading-page,.error-page{display:grid;min-height:100vh;padding:30px;place-content:center;justify-items:center;gap:18px;text-align:center}.loading-page p,.error-page p{color:var(--soft)}.error-page h1{max-width:780px;margin:22px 0 0;font-size:clamp(3.2rem,8vw,6rem)}.error-page p{max-width:520px}.toast{position:fixed;z-index:1000;right:24px;bottom:24px;max-width:min(420px,calc(100vw - 48px));padding:14px 18px;color:#fff;background:var(--ink);box-shadow:var(--shadow)}
/* Landing */
.landing{min-height:100vh}
/* forms */
.field{display:grid;gap:7px}.field label,.field-label,.saved-link label{font-size:.82rem;font-weight:650}.field input,.link-row input{width:100%;min-height:48px;padding:11px 12px;border:1px solid #c8ccc8;border-radius:1px;color:var(--ink);background:#fff}.field input:focus,.link-row input:focus{border-color:var(--sage);outline:3px solid rgba(115,132,119,.16)}.field input[type=color]{min-width:58px;padding:5px}.form-error,.upload-state{margin:0;padding:11px 13px;color:#762f2b;border-left:3px solid var(--danger);background:#fbefee;font-size:.88rem}.upload-state:empty{display:none}.link-row{display:flex;gap:8px}.link-row input{min-width:0}.check-field{display:flex;align-items:flex-start;gap:11px;cursor:pointer}.check-field input{width:18px;height:18px;margin-top:3px;accent-color:var(--sage)}.check-field strong,.check-field small{display:block}.check-field small{margin-top:2px;color:var(--soft)}
/* Console */
.console-shell{display:grid;min-height:100vh;grid-template-columns:245px minmax(0,1fr)}.console-rail{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:32px 28px;border-right:1px solid var(--line);background:var(--chalk)}.venue-stamp{margin:64px 0 32px}.venue-stamp span,.venue-stamp strong,.rail-user span,.rail-user strong{display:block}.venue-stamp span{color:var(--soft);font-size:.73rem}.venue-stamp strong{margin-top:6px;font-family:var(--serif);font-size:1.2rem;font-weight:400}.console-rail nav{display:grid}.rail-link{width:100%;padding:11px 12px;text-align:left;text-decoration:none}.rail-link.active{background:#fff;box-shadow:0 2px 9px rgba(18,20,19,.05)}.rail-user{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.rail-user span{color:var(--soft);font-size:.75rem}.rail-user .quiet-link{margin-top:10px}.console-main{padding:clamp(34px,6vw,82px)}.console-content{width:min(100%,1120px);margin:0 auto}.page-head,.detail-head{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:52px}.page-head h1,.detail-head h1{margin-bottom:13px;font-size:clamp(3.6rem,7vw,6.6rem)}.page-head p,.detail-head p{margin:0;color:var(--soft)}.invite-card{display:grid;grid-template-columns:1fr auto;gap:28px;margin-bottom:60px;padding:26px;border:1px solid var(--line);background:var(--chalk)}.invite-card h2{margin-bottom:9px;font-size:1.55rem}.invite-card p{max-width:620px;color:var(--soft)}.qr-tile{display:flex;align-items:center;gap:14px}.qr-tile img{width:104px;height:104px;padding:5px;background:#fff}.qr-tile span{max-width:100px;font-size:.78rem}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}.section-title h2{margin:0;font-size:1.75rem}.section-title span{color:var(--soft);font-size:.82rem}.loading-line{padding:30px 0;color:var(--soft)}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:22px}.event-card{border:1px solid var(--line)}.event-card-copy{padding:20px}.event-card-copy h3{margin-bottom:7px}.event-card-copy>p{color:var(--soft);font-size:.86rem}.event-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:17px;border-top:1px solid var(--line);color:var(--soft);font-size:.8rem}.frame-preview{position:relative;aspect-ratio:4/3;overflow:hidden;color:#fff;background:linear-gradient(145deg,#c9cfcc,#65706b)}.preview-person{position:absolute;inset:0}.preview-person i:first-child{position:absolute;top:16%;left:50%;width:25%;aspect-ratio:1;border-radius:50%;background:#343a37;transform:translateX(-50%)}.preview-person i:nth-child(2){position:absolute;bottom:-23%;left:50%;width:58%;aspect-ratio:.9;border-radius:50% 50% 0 0;background:#4d5752;transform:translateX(-50%)}.preview-person i:last-child{position:absolute;inset:0;background:linear-gradient(118deg,transparent 39%,rgba(255,255,255,.15) 40% 49%,transparent 50%)}.preview-copy{position:absolute;right:0;bottom:0;left:0;display:grid;min-height:29%;place-content:center;padding:10px;text-align:center;background:rgba(11,13,12,.65)}.preview-copy strong{font:400 clamp(1rem,2vw,1.6rem)/1 var(--serif)}.preview-copy span{margin-top:6px;font-size:.54rem;font-weight:700;letter-spacing:.14em}.frame-preview.classic{box-shadow:inset 0 0 0 8px var(--frame-color)}.frame-preview.editorial .preview-copy{background:var(--frame-color);text-align:left;place-content:center start;padding-left:22px}.frame-preview.editorial:before{content:"";position:absolute;z-index:2;top:8%;left:7%;width:4px;height:18%;background:var(--frame-color)}.frame-preview.celebration:before,.frame-preview.celebration:after{content:"";position:absolute;z-index:2;border-radius:50%;background:var(--frame-color)}.frame-preview.celebration:before{top:8%;left:7%;width:33px;height:33px}.frame-preview.celebration:after{top:16%;right:8%;width:17px;height:17px}.empty-panel{padding:52px 26px;border:1px solid var(--line);text-align:center}.empty-panel.compact{padding:30px}.empty-panel p{max-width:500px;margin:0 auto 20px;color:var(--soft)}.empty-panel.compact p{margin-bottom:0}.back-link{margin-bottom:36px}.access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:58px}.access-card{min-height:190px;padding:21px;border:1px solid var(--line)}.access-card>span{color:var(--soft);font-size:.75rem}.access-card h3{margin:25px 0;font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:0}.access-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.owner-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:13px}.owner-gallery figure{margin:0}.owner-gallery img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--mist)}.owner-gallery figcaption{padding-top:7px;color:var(--soft);font-size:.72rem}
/* Studio */
.studio-page{min-height:100vh;background:var(--chalk)}.studio-nav{display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,5vw,70px);border-bottom:1px solid var(--line);background:#fff}.studio-nav>span:last-child{color:var(--soft);font-size:.84rem}.studio-grid{display:grid;width:min(100% - 44px,1220px);margin:0 auto;padding:clamp(48px,7vw,92px) 0;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:clamp(50px,8vw,120px)}.studio-copy>h1{max-width:650px;margin-bottom:24px;font-size:clamp(3.8rem,7vw,6.8rem)}.studio-copy>p:not(.studio-kicker){max-width:540px;color:var(--soft)}.studio-kicker{margin-bottom:16px;color:var(--sage);font-size:.8rem;font-weight:700}.studio-form{display:grid;gap:24px;margin-top:48px}.studio-panel{display:grid;gap:18px;padding:26px;border:1px solid var(--line);background:#fff}.studio-panel h2{margin-bottom:4px;font-size:1.5rem}.split-fields{display:grid;grid-template-columns:110px 1fr;gap:14px}.template-select{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.template-choice{position:relative;display:grid;gap:7px;padding:9px;border:1px solid var(--line);cursor:pointer}.template-choice:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.template-choice input{position:absolute;opacity:0}.template-choice strong{font-size:.72rem}.template-chip{height:54px;background:#c8cdca}.template-chip.classic{box-shadow:inset 0 0 0 5px var(--sage)}.template-chip.editorial{border-bottom:15px solid var(--sage)}.template-chip.celebration{background:radial-gradient(circle at 15% 18%,var(--sage) 0 8px,transparent 9px),radial-gradient(circle at 82% 25%,var(--sage) 0 4px,transparent 5px),#c8cdca}.sticky-preview{position:sticky;top:42px;align-self:start}.preview-label{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px;font-size:.78rem}.preview-label span{color:var(--soft)}.studio-preview .frame-preview{aspect-ratio:4/5;box-shadow:0 30px 70px rgba(22,25,23,.16)}.studio-preview .frame-preview.classic{box-shadow:inset 0 0 0 12px var(--frame-color),0 30px 70px rgba(22,25,23,.16)}.studio-preview .preview-copy{min-height:22%}
/* Saved */
.saved-page{min-height:100vh;padding:32px clamp(22px,6vw,88px) 70px;background:var(--chalk)}.saved-card{width:min(100%,780px);margin:70px auto 0;padding:clamp(30px,6vw,64px);background:#fff;box-shadow:var(--shadow)}.saved-check{display:grid;width:42px;height:42px;margin-bottom:30px;place-items:center;color:#fff;border-radius:50%;background:var(--sage)}.saved-card h1{margin-bottom:20px;font-size:clamp(3.4rem,7vw,5.8rem)}.saved-card>p{max-width:590px;color:var(--soft)}.saved-actions{display:flex;gap:10px;margin:30px 0}.saved-links{display:grid;gap:17px;padding-top:28px;border-top:1px solid var(--line)}.saved-card>.quiet-link{display:block;margin-top:28px}
/* Mirror */
.mirror-page{min-height:100vh;color:#fff;background:#cfd2d0}.mirror-room{display:grid;min-height:100vh;grid-template-columns:minmax(390px,620px) minmax(260px,470px);align-items:center;justify-content:center;gap:clamp(35px,6vw,90px);padding:34px;background:radial-gradient(circle at 50% 20%,#f4f5f4,#c2c6c3 63%,#a8aeaa)}.mirror-chassis{position:relative;width:min(100%,520px);margin:auto;padding:13px;border:6px solid #080908;border-radius:38px 38px 12px 12px;background:#0f1110;box-shadow:0 42px 90px rgba(9,11,10,.34)}.mirror-topbar{position:absolute;z-index:8;top:32px;right:34px;left:34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.mirror-topbar .wordmark{justify-self:start;font-size:.9rem}.mirror-topbar .brand-seal{width:25px;height:25px;font-size:.8rem}.mirror-event-name{text-align:center}.mirror-event-name strong,.mirror-event-name span{display:block}.mirror-event-name strong{font:1rem var(--serif)}.mirror-event-name span{color:rgba(255,255,255,.62);font-size:.62rem}.mirror-fullscreen{justify-self:end;color:rgba(255,255,255,.75);font-size:.68rem}.mirror-glass{position:relative;aspect-ratio:.54;min-height:680px;overflow:hidden;border-radius:25px 25px 5px 5px;background:#4f5753}.mirror-glass.classic{box-shadow:inset 0 0 0 14px var(--frame-color)}.mirror-media{position:absolute;inset:0;overflow:hidden}.mirror-media video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.reflection{position:absolute;inset:0;overflow:hidden;background:linear-gradient(140deg,#707875 0 36%,#959c98 37% 39%,#59615d 40% 100%)}.reflection:after{content:"";position:absolute;inset:0;background:linear-gradient(113deg,transparent 0 42%,rgba(255,255,255,.18) 43% 50%,transparent 51%)}.reflection i:first-child{position:absolute;top:28%;left:50%;width:30%;aspect-ratio:1;border-radius:50%;background:rgba(27,31,29,.52);transform:translateX(-50%)}.reflection i:last-child{position:absolute;bottom:-15%;left:50%;width:70%;aspect-ratio:.9;border-radius:50% 50% 0 0;background:rgba(34,39,37,.52);transform:translateX(-50%)}.mirror-frame-copy{position:absolute;z-index:4;right:0;bottom:10%;left:0;display:grid;min-height:15%;place-content:center;padding:18px;text-align:center;background:rgba(8,9,9,.62);pointer-events:none}.mirror-frame-copy strong{font:400 clamp(1.5rem,4vw,2.7rem)/1 var(--serif)}.mirror-frame-copy span{margin-top:8px;font-size:.65rem;font-weight:700;letter-spacing:.17em}.mirror-glass.editorial .mirror-frame-copy{background:var(--frame-color);text-align:left;place-content:center start;padding-left:38px}.mirror-glass.editorial:before{content:"";position:absolute;z-index:5;top:11%;left:8%;width:5px;height:13%;background:var(--frame-color)}.mirror-glass.celebration:before,.mirror-glass.celebration:after{content:"";position:absolute;z-index:5;border-radius:50%;background:var(--frame-color)}.mirror-glass.celebration:before{top:11%;left:8%;width:54px;height:54px}.mirror-glass.celebration:after{top:17%;right:9%;width:28px;height:28px}.mirror-ui{position:absolute;z-index:7;right:24px;bottom:22px;left:24px}.mirror-status{margin:0 0 12px;color:rgba(255,255,255,.82);font-size:.72rem;text-align:center;text-shadow:0 1px 5px #000}.mirror-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.mirror-primary,.mirror-secondary{min-height:52px;padding:9px 12px;border:1px solid rgba(255,255,255,.55);border-radius:28px;cursor:pointer;font-weight:700}.mirror-primary{color:var(--ink);background:#fff}.mirror-secondary{display:grid;place-items:center;color:#fff;background:rgba(15,17,16,.56);backdrop-filter:blur(8px)}.mirror-primary:disabled,.mirror-secondary:disabled{opacity:.55;cursor:wait}.upload-button input{position:absolute;width:1px;height:1px;opacity:0}.countdown{position:absolute;z-index:20;inset:0;display:grid;place-items:center;color:#fff;background:rgba(0,0,0,.18);font:10rem var(--serif);text-shadow:0 3px 20px rgba(0,0,0,.4)}.mirror-share{display:flex;gap:16px;padding:12px 6px 2px}.mirror-qr{display:flex;align-items:center;gap:8px;flex:1}.mirror-qr img{width:56px;height:56px;padding:3px;background:#fff}.mirror-qr span{font-size:.62rem}.mirror-session{align-self:center;color:var(--ink)}.mirror-session-head{margin-bottom:20px}.mirror-session-head h2{margin-bottom:6px}.mirror-session-head span{color:var(--soft);font-size:.8rem}.session-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-height:72vh;overflow:auto}.session-empty{grid-column:1/-1;padding:28px;border:1px solid rgba(23,25,24,.2);color:var(--soft)}.session-photo{margin:0;background:#fff}.session-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.session-photo figcaption{display:flex;justify-content:space-between;gap:10px;padding:8px;font-size:.65rem}.session-photo a{color:var(--ink)}.session-photo span{color:var(--soft);text-align:right}
/* Gallery */
.gallery-page{min-height:100vh;padding-bottom:80px}.gallery-header{display:flex;align-items:center;justify-content:space-between;padding:25px clamp(22px,5vw,72px);border-bottom:1px solid var(--line)}.gallery-status{margin:0;color:var(--sage);font-size:.75rem}.gallery-status.error{color:var(--danger)}.gallery-intro{padding:clamp(55px,9vw,120px) clamp(22px,6vw,88px) clamp(40px,6vw,80px)}.gallery-intro p{margin-bottom:13px;color:var(--soft)}.gallery-intro h1{max-width:1000px;margin-bottom:20px}.gallery-intro span{color:var(--soft)}.public-gallery{display:grid;width:min(100% - 44px,1300px);margin:0 auto;grid-template-columns:repeat(12,1fr);gap:18px}.public-photo{grid-column:span 4;margin:0}.public-photo:nth-child(5n+1),.public-photo:nth-child(5n+4){grid-column:span 8}.public-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--mist)}.public-photo:nth-child(5n+1) img,.public-photo:nth-child(5n+4) img{aspect-ratio:8/5}.public-photo figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:9px;color:var(--soft);font-size:.75rem}.public-photo a{color:var(--ink)}.gallery-empty{grid-column:1/-1;padding:90px 24px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);text-align:center}.gallery-empty p{color:var(--soft)}
@media(max-width:960px){.studio-grid{grid-template-columns:1fr}.sticky-preview{position:static;width:min(100%,520px);order:-1}.mirror-room{grid-template-columns:minmax(340px,520px)}.mirror-session{width:min(100%,520px)}.session-grid{max-height:none;grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.console-shell{grid-template-columns:1fr}.console-rail{position:static;height:auto;padding:18px 20px;flex-direction:row;align-items:center;gap:16px}.venue-stamp,.rail-user strong,.rail-user span{display:none}.console-rail nav{margin-left:auto}.rail-user{margin:0;padding:0;border:0}.rail-user .quiet-link{margin:0}.console-main{padding:38px 20px 60px}.page-head,.detail-head{align-items:start;flex-direction:column;margin-bottom:38px}.invite-card{grid-template-columns:1fr}.qr-tile{order:-1}.access-grid{grid-template-columns:1fr}.template-select{grid-template-columns:1fr}.template-choice{grid-template-columns:68px 1fr;align-items:center}.template-chip{height:38px}.mirror-page{background:#0f1110}.mirror-room{display:block;padding:0;background:#0f1110}.mirror-chassis{width:100%;padding:0;border:0;border-radius:0;box-shadow:none}.mirror-glass{min-height:100svh;border-radius:0}.mirror-share{padding:12px 16px}.mirror-session{padding:42px 20px;color:#fff}.mirror-session-head span,.session-empty{color:rgba(255,255,255,.64)}.session-grid{grid-template-columns:repeat(2,1fr)}.public-photo,.public-photo:nth-child(5n+1),.public-photo:nth-child(5n+4){grid-column:span 12}.public-photo img,.public-photo:nth-child(5n+1) img,.public-photo:nth-child(5n+4) img{aspect-ratio:4/5}}
@media(max-width:480px){.link-row{flex-direction:column}.invite-card{padding:20px}.event-grid{grid-template-columns:1fr}.split-fields{grid-template-columns:90px 1fr}.studio-grid{width:min(100% - 30px,1220px);padding-top:40px}.studio-panel{padding:20px}.saved-actions{flex-direction:column}.mirror-topbar{top:22px;right:18px;left:18px;grid-template-columns:1fr 1fr}.mirror-event-name{display:none}.mirror-glass{min-height:100svh}.mirror-ui{bottom:22px}.mirror-frame-copy,.mirror-glass.editorial .mirror-frame-copy{bottom:29%}.mirror-share{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.frame-preview{aspect-ratio:4/5;color:inherit;background:var(--mist);box-shadow:none}
.frame-preview img{display:block;width:100%;height:100%;object-fit:cover}
.frame-preview::before,.frame-preview::after{display:none}
.studio-preview .frame-preview.classic{box-shadow:0 30px 70px rgba(22,25,23,.16)}

/* A complete frame must remain visible in every gallery tile. */
.public-photo,.public-photo:nth-child(5n+1),.public-photo:nth-child(5n+4){grid-column:span 4}
.public-photo img,.public-photo:nth-child(5n+1) img,.public-photo:nth-child(5n+4) img{aspect-ratio:4/5;object-fit:contain}
.upload-button:focus-within{outline:3px solid #fff;outline-offset:3px}
.mirror-qr{color:inherit;text-decoration:none}
.mirror-qr:focus-visible{outline-color:#fff}
@media(min-width:721px){
  .mirror-room{grid-template-columns:minmax(280px,520px) minmax(260px,470px);padding:22px}
  .mirror-chassis{width:min(100%,520px,calc((100svh - 140px) * .54))}
  .mirror-glass{min-height:0}
  .mirror-topbar{top:26px;right:25px;left:25px;grid-template-columns:1fr auto}
  .mirror-event-name{display:none}
  .mirror-frame-copy,.mirror-glass.editorial .mirror-frame-copy{bottom:30%;padding:12px}
  .mirror-frame-copy strong{font-size:clamp(1.2rem,2.1vw,1.8rem);overflow-wrap:anywhere}
  .mirror-frame-copy span{font-size:.5rem;letter-spacing:.06em}
  .mirror-ui{right:13px;left:13px;bottom:14px}
  .mirror-primary,.mirror-secondary{min-height:44px;padding:7px;font-size:.78rem}
  .mirror-share{gap:8px;padding:10px 0 0}
  .mirror-qr{gap:5px}
  .mirror-qr span{font-size:.55rem}
}
:fullscreen .mirror-room{display:block;padding:0;background:#101211}
:fullscreen .mirror-chassis{display:flex;flex-direction:column;width:100%;max-width:720px;height:100svh;padding:0;border:0;border-radius:0}
:fullscreen .mirror-glass{flex:1;min-height:0;aspect-ratio:auto;border-radius:0}
:fullscreen .mirror-share{flex:0 0 100px;justify-content:space-around;padding:10px 20px}
:fullscreen .mirror-qr{flex:0 1 auto}
:fullscreen .mirror-qr img{width:80px;height:80px}
:fullscreen .mirror-qr span{font-size:.8rem;max-width:90px}
:fullscreen .mirror-session{display:none}
@media(max-width:720px){.public-photo,.public-photo:nth-child(5n+1),.public-photo:nth-child(5n+4){grid-column:span 12}.mirror-frame-copy strong{overflow-wrap:anywhere}}

/* Stillroom public booking and partner experience */
:root{--paper:#f7f2e9;--wash:#eee5d7;--mineral:#7a5c41;--graphite:#292622;--hairline:#d7c9b7;--quiet:#6b6258}
button,input,select,textarea{font:inherit}textarea,select{width:100%;padding:11px 12px;border:1px solid #cbbca8;border-radius:1px;color:var(--ink);background:#fffaf3}textarea:focus,select:focus{border-color:var(--mineral);outline:3px solid var(--mineral)}
.site-nav{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:0 clamp(22px,5vw,76px);border-bottom:1px solid var(--hairline);background:#fff}.site-nav nav{display:flex;align-items:center;gap:clamp(12px,3vw,34px)}.nav-brand,.nav-link{border:0;background:none;cursor:pointer}.nav-brand{font:400 1.3rem var(--serif)}.nav-link{padding:9px 0;color:var(--quiet);font-size:.88rem}.nav-link.active{color:var(--graphite);box-shadow:inset 0 -1px var(--graphite)}
.booking-hero{display:grid;min-height:720px;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);align-items:center;padding:clamp(65px,8vw,120px) clamp(24px,7vw,110px);gap:clamp(50px,8vw,130px)}.booking-copy{max-width:770px}.plain-label{margin-bottom:28px;color:var(--mineral);font-size:.86rem}.booking-copy h1{margin-bottom:34px;font-size:clamp(4rem,8.5vw,8.4rem);line-height:.92}.booking-copy>p:not(.plain-label){max-width:610px;color:var(--quiet);font-size:1.12rem}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:38px}.hero-object{display:grid;justify-items:center;align-content:end;min-height:600px;padding:56px clamp(20px,4vw,48px) 34px;background:linear-gradient(180deg,#f1e9dc,#ebe0cf)}.hero-object>p{max-width:310px;margin:26px 0 0;color:var(--quiet);font-size:.8rem;line-height:1.55;text-align:center}
.process-band{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2.2fr);gap:clamp(36px,6vw,96px);padding:clamp(56px,7vw,100px) clamp(24px,7vw,110px);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:#fbf7f0}.process-intro .plain-label{margin-bottom:18px}.process-intro h2{max-width:360px;margin:0;font-size:clamp(2.3rem,3.6vw,3.5rem);line-height:1}.process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px);margin:0;padding:0;list-style:none}.process-steps li{padding-top:22px;border-top:1px solid var(--graphite)}.step-number{display:block;margin-bottom:30px;color:var(--mineral);font:400 clamp(2.6rem,4vw,3.6rem)/1 var(--serif)}.process-steps h3{margin:0 0 10px;font-size:1.85rem}.process-steps p{max-width:290px;margin:0;color:var(--quiet);font-size:.92rem}.existing-demo{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);padding:clamp(70px,9vw,135px) clamp(24px,7vw,110px);gap:clamp(50px,8vw,130px)}.section-intro h2{margin-bottom:24px;font-size:clamp(2.7rem,5vw,5rem)}.section-intro p{max-width:430px;color:var(--quiet)}.evergreen-list{display:grid;align-content:start;gap:12px}.evergreen-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,2.4vw,28px);padding:24px clamp(18px,2.4vw,30px);border:1px solid var(--hairline);background:#fffaf3;transition:border-color .2s}.evergreen-row:hover{border-color:var(--mineral)}.evergreen-index{min-width:1.3em;color:var(--mineral);font:400 2.3rem/1 var(--serif)}.evergreen-row h3{margin-bottom:6px;font-size:1.95rem}.evergreen-row p{margin:0;color:var(--quiet);font-size:.82rem}.closing-band{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(45px,6vw,80px) clamp(24px,7vw,110px);color:#fff;background:var(--graphite)}.closing-band h2{max-width:700px;margin:0;font-size:clamp(2.2rem,4vw,4.2rem)}.button.light{color:var(--graphite);background:#fff}
.venue-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:end;padding:clamp(80px,11vw,165px) clamp(24px,7vw,110px) clamp(65px,8vw,110px);gap:60px;border-bottom:1px solid var(--hairline)}.venue-hero h1{max-width:1000px;margin-bottom:28px}.venue-hero>div>p{max-width:650px;color:var(--quiet);font-size:1.12rem}.ownership-note{max-width:390px;margin:0;padding:28px 0 0;border-top:1px solid var(--graphite)}.venue-story{display:grid;grid-template-columns:1fr 1fr;padding:clamp(65px,8vw,110px) clamp(24px,7vw,110px);gap:clamp(50px,9vw,150px);background:var(--wash)}.venue-story>div h2,.lead-section>div h2{margin-bottom:24px;font-size:clamp(2.6rem,5vw,4.8rem)}.venue-story>div p,.lead-section>div p{max-width:470px;color:var(--quiet)}.venue-story dl{margin:0;border-top:1px solid var(--graphite)}.venue-story dl div{padding:24px 0;border-bottom:1px solid var(--hairline)}.venue-story dt{font-family:var(--serif);font-size:1.4rem}.venue-story dd{margin:7px 0 0;color:var(--quiet)}.lead-section{display:grid;grid-template-columns:.7fr 1.3fr;padding:clamp(65px,9vw,130px) clamp(24px,7vw,110px);gap:clamp(50px,9vw,150px)}.lead-form{display:grid;gap:18px;max-width:720px}.lead-form>h2{margin-bottom:0}.lead-form>p{color:var(--quiet)}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.partner-entry{min-height:100vh;background:var(--wash)}.partner-entry-grid{display:grid;width:min(100% - 44px,1180px);margin:0 auto;padding:clamp(65px,9vw,125px) 0;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,120px)}.partner-entry-grid>div:first-child h2{max-width:520px;margin-bottom:24px;font-size:clamp(3.2rem,6vw,6rem)}.partner-entry-grid>div:first-child>p:last-child{max-width:480px;color:var(--quiet)}.partner-login{display:grid;align-self:start;gap:18px;padding:clamp(28px,4vw,48px);background:#fff}.partner-login h1{margin-bottom:0;font-size:clamp(2.5rem,4vw,4rem)}.partner-login>p{color:var(--quiet)}.demo-access{grid-column:2;padding:24px;border-top:1px solid var(--graphite)}.demo-access p{color:var(--quiet)}
.ownership-banner,.demo-banner{margin:-24px 0 35px;padding:14px 18px;border-left:3px solid var(--mineral);background:var(--wash);color:var(--quiet);font-size:.86rem}.portal-list{border-top:1px solid var(--graphite)}.portal-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--hairline)}.portal-row h2{margin-bottom:7px;font-size:1.45rem}.portal-row p{margin:0;color:var(--quiet);font-size:.82rem}.inline-control,.row-actions,.add-demo-method{display:flex;align-items:center;gap:12px}.inline-control select{min-width:220px}.add-demo-method{flex-wrap:wrap;margin-top:38px}.add-demo-method h2{width:100%;font-size:1.5rem}.agreement-list{display:grid;gap:28px}.agreement-card{padding:clamp(24px,4vw,42px);border:1px solid var(--hairline)}.agreement-heading{display:flex;align-items:start;justify-content:space-between;gap:24px}.agreement-heading h2{margin-bottom:7px}.agreement-heading p{color:var(--quiet)}.status-pill{padding:6px 10px;border:1px solid var(--hairline);font-size:.72rem}.status-pill.accepted{color:var(--mineral);border-color:var(--mineral)}.agreement-form{display:grid;gap:18px}.agreement-body{max-height:260px;overflow:auto;padding:24px;border:1px solid var(--hairline);background:var(--wash);white-space:pre-wrap}.accepted-state{margin:20px 0 0;color:var(--mineral)}
.studio-progress{display:flex;justify-content:space-between;gap:24px;padding:14px clamp(22px,5vw,70px);border-bottom:1px solid var(--line);background:#fff;color:var(--quiet);font-size:.78rem}.studio-progress .step-current{color:var(--ink);font-weight:650}.studio-copy>h1{font-size:clamp(3.2rem,6vw,6rem)}.studio-panel[hidden]{display:none}.step-actions{display:flex;justify-content:flex-end;gap:10px}.mode-select{display:grid;gap:8px;margin:5px 0 0;padding:0;border:0}.mode-select legend{margin-bottom:8px;font-size:.82rem;font-weight:650}.mode-choice{display:flex;align-items:start;gap:12px;padding:13px;border:1px solid var(--hairline);cursor:pointer}.mode-choice:has(input:checked){border-color:var(--graphite)}.mode-choice input{width:18px;height:18px;margin-top:3px;accent-color:var(--mineral)}.mode-choice strong,.mode-choice small{display:block}.mode-choice small{color:var(--quiet)}.review-list{margin:0}.review-list div{display:grid;grid-template-columns:120px 1fr;padding:14px 0;border-bottom:1px solid var(--hairline)}.review-list dt{color:var(--quiet);font-size:.8rem}.review-list dd{margin:0;text-transform:none}
@media(max-width:900px){.booking-hero,.existing-demo,.venue-hero,.venue-story,.lead-section,.partner-entry-grid{grid-template-columns:1fr}.booking-hero{padding-top:70px}.hero-object{min-height:480px}.demo-access{grid-column:1}.process-band{grid-template-columns:1fr}.venue-hero{align-items:start}.partner-entry-grid{gap:36px}.console-rail nav{overflow-x:auto}}
@media(max-width:720px){.site-nav{min-height:68px}.site-nav nav{gap:14px}.nav-link{font-size:.75rem}.nav-link:first-child{display:none}.booking-hero{min-height:0}.booking-copy h1{font-size:clamp(3.5rem,18vw,5.5rem)}.hero-actions,.closing-band,.portal-row,.inline-control{align-items:stretch;flex-direction:column}.hero-object{min-height:420px}.existing-demo{padding-top:70px}.closing-band{align-items:start}.two-fields{grid-template-columns:1fr}.studio-progress span:last-child{display:none}.console-rail nav{display:flex}.portal-row{align-items:start}.inline-control select{min-width:0}.agreement-heading{flex-direction:column}.lead-section{padding-bottom:80px}}
@media(max-width:480px){.site-nav{padding:0 16px}.site-nav nav{gap:11px}.nav-brand{font-size:1.12rem}.booking-hero{padding-right:20px;padding-left:20px}.hero-actions{align-items:start}.evergreen-row{grid-template-columns:auto minmax(0,1fr)}.evergreen-row .button{grid-column:2;justify-self:start}.studio-progress{padding-right:16px;padding-left:16px}.review-list div{grid-template-columns:1fr;gap:4px}}
.field input:focus,.link-row input:focus{border-color:var(--mineral);outline-color:var(--mineral)}
.agreement-card>.agreement-body{margin:18px 0}
.cash-workspace{max-width:1120px;margin:auto;padding:40px 24px}.cash-workspace h1{font-size:clamp(2.5rem,6vw,4.5rem);margin:25px 0 14px}.cash-form{max-width:720px}.cash-payment-notice{margin:18px auto;padding:16px 22px;background:#edf2ed;border:1px solid #b9c9ba;max-width:1220px;font-size:.95rem}.cash-payment-notice strong,.cash-payment-notice span{display:block}.cash-history-title{margin-top:50px}.cash-record{align-items:flex-start;flex-wrap:wrap}.cash-record .link-row{min-width:0;max-width:100%}.cash-help{font-size:.85rem;color:var(--soft)}.cash-form select{width:100%;min-height:44px}.cash-form input[type=checkbox]{flex-shrink:0}
.cash-workspace>.quiet-link{display:block;margin:20px 0}.cash-workspace a.button{color:var(--ink)}.cash-workspace>.button{margin:20px 0}.cash-record .cash-payment-notice{margin-left:0}

/* Brand treatment shared by booking, partner, and mirror surfaces. */
.wordmark,.nav-brand{font-family:"Pose Script",cursive;font-size:2.5rem;font-weight:400;font-style:normal;letter-spacing:-.055em;line-height:1.25;white-space:nowrap}
.mirror-topbar .wordmark{font-size:1.8rem}
@media(max-width:480px){.nav-brand{font-size:2.1rem}}

/* Legacy event mirror readability. The public booking site typography is unchanged. */
.mirror-chassis{font-family:"Helvetica Neue",Arial,system-ui,sans-serif}
.mirror-glass{container-type:size}
.mirror-fullscreen{font-size:1.125rem}
.mirror-status{margin-bottom:14px;color:#fff;font-size:clamp(1.125rem,4.2cqw,1.6rem);font-weight:600;line-height:1.25;text-shadow:0 2px 10px #000}
.mirror-actions{grid-template-columns:1fr;gap:10px}
.mirror-primary,.mirror-secondary{min-height:clamp(60px,8cqh,84px);padding:13px 16px;border:2px solid #fff;border-radius:3px;font-size:clamp(1.125rem,4.3cqw,1.55rem);line-height:1.15}
.mirror-secondary{background:rgba(5,6,5,.82);backdrop-filter:none}
.mirror-frame-copy strong{font:600 clamp(1.75rem,7.5cqw,4rem)/1.05 "Helvetica Neue",Arial,system-ui,sans-serif}
.mirror-frame-copy span{font-size:clamp(1.125rem,4cqw,1.6rem);letter-spacing:.08em}
.mirror-qr span{font-size:1.125rem;line-height:1.2}
:fullscreen .mirror-qr span{font-size:1.125rem;max-width:140px}
.countdown{place-items:start center;padding-top:clamp(90px,13cqh,250px);background:linear-gradient(180deg,rgba(0,0,0,.64),rgba(0,0,0,.02) 72%);font:700 clamp(12.5rem,40cqw,25rem)/.8 "Helvetica Neue",Arial,system-ui,sans-serif;letter-spacing:-.08em;text-shadow:0 3px 22px #000}
.mirror-glass:has(.countdown) .mirror-frame-copy,.mirror-glass:has(.countdown) .mirror-ui{display:none}
@container (min-width:700px){.mirror-actions{grid-template-columns:repeat(2,1fr)}}
:fullscreen .mirror-chassis{max-width:1080px}

/* Curated frame studio */
.frame-designer{gap:26px;padding:clamp(22px,3.5vw,38px)}
.designer-heading{display:grid;gap:8px}
.designer-heading h2,.designer-heading p{margin:0}
.designer-heading p{max-width:620px;color:var(--quiet);font-size:.9rem}
.frame-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.template-card{position:relative;display:grid;align-content:start;min-width:0;border:1px solid var(--hairline);background:#fff}
.template-card.selected{border-color:var(--graphite);box-shadow:inset 0 0 0 1px var(--graphite)}
.template-card>input[type=radio]{position:absolute;width:1px;height:1px;opacity:0}
.template-card:has(>input[type=radio]:focus-visible){outline:3px solid var(--mineral);outline-offset:3px}
.template-main{display:grid;cursor:pointer}
.template-thumb{display:block;width:100%;height:auto;aspect-ratio:9/11;background:#c9cfcc}
.template-copy{display:grid;gap:4px;min-height:91px;padding:11px 11px 9px}
.template-copy strong{font-family:var(--serif);font-size:1.12rem;font-weight:400;line-height:1.1}
.template-copy small{color:var(--quiet);font-size:.7rem;line-height:1.35}
.guest-template-choice{display:flex;align-items:center;gap:8px;margin-top:auto;padding:9px 11px;border-top:1px solid var(--hairline);color:var(--quiet);font-size:.7rem;cursor:pointer}
.guest-template-choice input{width:16px;height:16px;margin:0;accent-color:var(--mineral)}
.guest-template-choice input:disabled{opacity:1}
.template-card.selected .guest-template-choice{color:var(--graphite);font-weight:650}
.designer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.designer-fields .field{align-content:start}
.designer-fields input[type=color]{min-height:46px;padding:5px}
.type-section{display:grid;gap:14px;margin:0;padding:18px;border:1px solid var(--hairline)}
.type-section legend{padding:0 8px;font-family:var(--serif);font-size:1.15rem}
.type-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.type-controls .field{align-content:start}
.type-controls input[type=color]{min-height:46px;padding:5px}
.field-help{display:block;margin:6px 0 0;color:var(--quiet);font-size:.72rem;line-height:1.45}
.mode-select>.field-help{margin-top:6px;padding:0 2px}
.frame-copy-fields{align-items:start}
.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.asset-control{display:grid;align-content:start;padding:14px;border:1px solid var(--hairline);background:var(--wash)}
.asset-upload{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;cursor:pointer}
.asset-upload span{padding:7px 10px;border:1px solid var(--graphite);background:#fff;font-size:.72rem;font-weight:650}
.asset-upload input{position:absolute;width:1px;height:1px;opacity:0}
.asset-upload:focus-within span{outline:3px solid var(--mineral);outline-offset:2px}
.asset-state{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid var(--hairline)}
.asset-status{color:var(--quiet);font-size:.7rem;line-height:1.4}
.asset-status.error{color:var(--danger)}
.asset-remove{flex:0 0 auto;font-size:.7rem}
.asset-remove:disabled{display:none}
.studio-preview{display:grid;justify-items:center;min-height:180px}
.studio-preview .frame-preview{width:100%;max-width:520px;overflow:hidden;background:linear-gradient(135deg,#d6dbd8,#8d9792);box-shadow:0 28px 65px rgba(22,25,23,.16)}
.studio-preview .frame-preview.layout-strip{max-width:250px}
.studio-preview .frame-preview.layout-card{max-width:620px}
.frame-preview[aria-busy=true]{background:linear-gradient(110deg,#e8ebe9 25%,#f7f8f7 45%,#e8ebe9 65%);background-size:220% 100%;animation:frame-loading 1.4s linear infinite}
.preview-note{max-width:420px;margin:13px auto 0;color:var(--quiet);font-size:.72rem;line-height:1.45;text-align:center}
.detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.setup-choice-page{display:grid;grid-template-rows:auto 1fr}
.setup-choice{width:min(100% - 44px,900px);margin:auto;padding:clamp(56px,9vw,110px) 0}
.setup-choice>h1{max-width:760px;margin-bottom:20px;font-size:clamp(3rem,7vw,6rem)}
.setup-choice>p:not(.studio-kicker){max-width:680px;color:var(--quiet)}
.setup-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px}
.setup-choice-card{display:grid;align-content:start;gap:14px;padding:26px;border:1px solid var(--hairline);background:#fff}
.setup-choice-card.preferred{border-color:var(--graphite);box-shadow:inset 0 0 0 1px var(--graphite)}
.setup-choice-card h2,.setup-choice-card p{margin:0}
.setup-choice-card p{min-height:82px;color:var(--quiet)}
.setup-choice-card .button{justify-self:start;margin-top:8px}
.panel-intro{margin:-8px 0 4px;color:var(--quiet);font-size:.86rem}
.simple-frame-designer{gap:24px}
.tag-editor-list{display:grid;gap:14px}
.tag-editor{display:grid;gap:14px;padding:20px;border:1px solid var(--hairline);background:var(--wash)}
.tag-editor-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}
.tag-editor-heading h3{margin:3px 0 0;font-size:1.25rem}
.tag-number{color:var(--quiet);font-size:.69rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.tag-editor .asset-control.compact{background:#fff}
.add-tag{justify-self:start}
.shared-caption-style .type-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
.preview-tag-choices{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:14px}
.tag-preview-button{padding:7px 10px;border:1px solid var(--hairline);background:#fff;color:var(--quiet);font-size:.72rem;cursor:pointer}
.tag-preview-button.active{border-color:var(--graphite);color:var(--graphite);box-shadow:inset 0 0 0 1px var(--graphite)}
@keyframes frame-loading{to{background-position:-220% 0}}
@media(max-width:1080px){.frame-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.template-copy{min-height:82px}}
@media(max-width:720px){.frame-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.template-main{grid-template-columns:1fr}.template-thumb{height:auto}.designer-fields,.asset-grid,.frame-copy-fields,.type-controls,.shared-caption-style .type-controls,.setup-choice-grid{grid-template-columns:1fr}.template-copy{min-height:76px}.setup-choice-card p{min-height:0}.detail-actions{justify-content:flex-start}}
@media(max-width:420px){.frame-catalog{grid-template-columns:1fr}.template-main{grid-template-columns:96px 1fr}.template-thumb{height:118px}.template-copy{min-height:118px;align-content:center}}
@media(prefers-reduced-motion:reduce){.frame-preview[aria-busy=true]{animation:none}}
/* Warm booking and partner surfaces; generated frame artwork remains pure white. */
.site-nav,.partner-login,.studio-nav,.studio-progress,.studio-panel,.template-card,.asset-upload span,.field input,.link-row input,.button.light{background:#fffaf3}
.event-card,.access-card,.agreement-card{background:rgba(255,250,243,.62)}
.cash-payment-notice{border-color:var(--line);background:var(--wash)}
/* Keep the legacy mirror interface on its original white and black palette. */
.mirror-primary,.mirror-session,.session-photo a{color:#171918}
.mirror-primary{background:#fff}
.mirror-chassis :focus-visible{outline-color:#fff}
/* Show finished keepsakes whole, including narrow strips and landscape cards. */
.public-photo img,.public-photo:nth-child(5n+1) img,.public-photo:nth-child(5n+4) img,.owner-gallery img,.session-photo img{height:auto;aspect-ratio:auto;object-fit:contain}
/* Installed fixture drawing (home hero and venue fixture section). Decorative only. */
.pose-fixture{width:100%;max-width:350px}
.fixture-art{display:block;width:100%;height:auto;max-height:min(600px,76vh);overflow:visible}
.fixture-floor{stroke:#c9b69d;stroke-width:1}
/* Venue fixture section */
.fixture-section{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(44px,8vw,130px);padding:clamp(65px,8vw,110px) clamp(24px,7vw,110px);border-bottom:1px solid var(--hairline)}
.fixture-figure{display:grid;justify-items:center;margin:0;padding:48px clamp(20px,4vw,44px) 30px;background:linear-gradient(180deg,#f1e9dc,#ebe0cf)}
.fixture-figure .pose-fixture{max-width:320px}
.fixture-figure figcaption{max-width:280px;margin-top:22px;color:var(--quiet);font-size:.78rem;line-height:1.5;text-align:center}
.fixture-copy .plain-label{margin-bottom:18px}
.fixture-copy h2{margin-bottom:22px;font-size:clamp(2.6rem,5vw,4.8rem)}
.fixture-copy>p{max-width:520px;color:var(--quiet)}
.fixture-specs{margin:34px 0 0;border-top:1px solid var(--graphite)}
.fixture-specs div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--hairline)}
.fixture-specs dt{font:400 1.5rem/1.2 var(--serif)}
.fixture-specs dd{margin:0;color:var(--quiet)}
/* Focus stays visible on the dark closing band. */
.closing-band :focus-visible{outline-color:#fff}
/* The date picker button sits inside the input, so :focus-visible never matches it. */
.field input[type=date]:focus-within{outline:3px solid var(--mineral);outline-offset:3px}
@media(max-width:900px){.fixture-section{grid-template-columns:1fr}.fixture-copy{order:-1}}
@media(max-width:720px){
  .hero-object{min-height:0;padding-top:40px}
  .pose-fixture{max-width:290px}
  .process-steps{grid-template-columns:1fr;gap:0}
  .process-steps li{display:grid;grid-template-columns:58px minmax(0,1fr);padding:22px 0 26px}
  .step-number{grid-row:span 2;margin:0;font-size:2.4rem}
  /* Partner rail: brand and sign out on one row, tabs scroll on the next. */
  .console-shell{grid-template-columns:minmax(0,1fr)}
  .console-rail{min-width:0;flex-wrap:wrap;row-gap:12px}
  .console-rail nav{order:3;display:flex;width:100%;margin-left:0;padding:3px;overflow-x:auto;scrollbar-width:none}
  .console-rail .rail-link{flex:0 0 auto;width:auto;white-space:nowrap}
  .rail-user{margin-left:auto}
  /* Legacy mirror fills the phone width instead of growing past it. */
  .mirror-glass{aspect-ratio:auto}
  .mirror-session,.mirror-session-head h2{color:#fff}
}
@media(max-width:480px){.fixture-specs div{grid-template-columns:1fr;gap:4px}.fixture-figure{padding-top:36px}}
/* Legacy mirror: two-column controls keep the frame caption clear of the buttons. */
@container (min-width:340px){.mirror-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
