/* PLANORA photographic secure-access shell. Loaded after the public layer. */
html:has(.auth-v2), body.auth-v2 { height:auto; min-height:100%; overflow:visible; }
body.auth-v2 { --av-ink:#0b2923; --av-muted:#52635e; --av-accent:#066e4e; --av-canvas:#f5faf7; --av-card:#fcfefd; --av-field:#fcfefd; --av-line:#dce5df; --av-chip:#e5f4ee; background:var(--av-canvas); color:var(--av-ink); }
html[data-planora-theme=dark] body.auth-v2 { --av-ink:#f0f8f3; --av-muted:#b5c8be; --av-accent:#8ce0b8; --av-canvas:#0c1c16; --av-card:#152b22; --av-field:#10231b; --av-line:#3a5447; --av-chip:#203d30; }
.auth-v2 .auth-page { width:100%; min-height:100dvh; height:auto; margin:0; padding:0; display:grid; grid-template-columns:minmax(0,55.7fr) minmax(0,44.3fr); align-items:start; gap:0; background:var(--av-canvas); }
.auth-v2 .auth-left { position:sticky; top:0; display:block; width:100%; height:100dvh; min-height:820px; padding:0; border:0; border-radius:0; overflow:hidden; background:var(--av-canvas); color:var(--av-ink); box-shadow:none; perspective:none; }
.auth-v2 .auth-left::before,.auth-v2 .auth-left::after,.auth-v2 .floating-dot,.auth-v2 .auth-top-motion,.auth-v2 .auth-3d-scene { display:none; }
.auth-v2 .auth-scene { position:absolute; inset:0 0 20%; display:block; pointer-events:none; }
.auth-v2 .auth-scene img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.auth-v2 .auth-scene::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(250,252,244,.45),transparent 66%),linear-gradient(0deg,var(--av-canvas),transparent 13%); }
html[data-planora-theme=dark] .auth-v2 .auth-scene img { filter:brightness(.3) saturate(.7); }
html[data-planora-theme=dark] .auth-v2 .auth-scene::after { background:linear-gradient(90deg,rgba(9,25,17,.65),transparent 78%),linear-gradient(0deg,var(--av-canvas),transparent 22%); }
.auth-v2 .auth-left .brand { position:absolute; top:6.5%; left:10.3%; width:auto; max-width:80%; margin:0; transform:none; }
.auth-v2 .auth-left .brand-logo { display:flex; align-items:center; gap:16px; }
.auth-v2 .auth-left .logo-box { width:72px; height:72px; flex:0 0 72px; padding:0; border:0; background:none; box-shadow:none; border-radius:50%; }
.auth-v2 .logo-box img { width:100%; height:100%; object-fit:contain; }
.auth-v2 .auth-left .brand h1 { font-family:Montserrat,sans-serif; font-size:32px; font-weight:800; line-height:1.1; letter-spacing:-.045em; color:var(--av-ink); -webkit-text-fill-color:var(--av-ink); }
.auth-v2 .auth-left .brand p { color:var(--av-ink); font-size:21px; line-height:1.5; }
.auth-v2 .auth-left .left-content { position:absolute; top:21%; left:10.3%; width:44%; max-width:430px; margin:0; transform:none; }
.auth-v2 .auth-left .eyebrow { position:relative; margin:0 0 24px; width:360px; max-width:135%; color:#567669; font-family:Inter,sans-serif; font-size:10px; font-weight:600; letter-spacing:.24em; line-height:1.5; }
html[data-planora-theme=dark] .auth-v2 .auth-left .eyebrow { color:#b4d0bc; }
.auth-v2 .auth-left .left-content h2 { margin:0 0 20px; font-family:Montserrat,sans-serif; font-size:clamp(36px,2.85vw,54px); font-weight:700; line-height:1.07; letter-spacing:-.055em; color:var(--av-ink); -webkit-text-fill-color:var(--av-ink); }
.auth-v2 .auth-left .left-content h2 span { display:block; color:#1b755b; -webkit-text-fill-color:#1b755b; }
html[data-planora-theme=dark] .auth-v2 .auth-left .left-content h2 span { color:#8ce0b8; -webkit-text-fill-color:#8ce0b8; }
.auth-v2 .auth-left .statement { margin:0; padding:0 0 0 20px; color:#425d54; font-family:Lato,sans-serif; font-size:clamp(15px,1.15vw,19px); line-height:1.4; max-width:100%; }
html[data-planora-theme=dark] .auth-v2 .auth-left .statement { color:#c8dacf; }
.auth-v2 .auth-left .feature-row { position:absolute; left:7.7%; right:7.7%; bottom:12%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; width:auto; max-width:none; margin:0; padding:0; border:0; transform:none; }
.auth-v2 .auth-left .feature { display:flex; align-items:flex-start; gap:14px; padding:0; border:0; background:none; box-shadow:none; }
.auth-v2 .auth-left .feature-icon { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; border:0; border-radius:50%; color:#096149; background:var(--av-chip); box-shadow:none; }
.auth-v2 .feature-icon svg { width:25px; height:25px; }
.auth-v2 .auth-left .feature strong { display:block; margin:6px 0 4px; font-family:Inter,sans-serif; font-size:12px; line-height:1.3; color:var(--av-ink); }
.auth-v2 .auth-left .feature span { display:block; font-size:12px; line-height:1.4; color:var(--av-muted); }
.auth-v2 .auth-hero-footer { position:absolute; bottom:5.8%; left:13%; right:15%; display:flex; align-items:center; justify-content:center; gap:24px; color:#648575; font-family:Inter,sans-serif; font-size:8px; letter-spacing:.42em; white-space:nowrap; }
.auth-v2 .auth-hero-footer::before,.auth-v2 .auth-hero-footer::after { content:""; height:1px; flex:1; background:var(--av-line); }
.auth-v2 .auth-hero-footer span::before { content:""; position:absolute; top:-17px; left:calc(50% - 8px); width:16px; height:2px; background:#e5bb27; }
html[data-planora-theme=dark] .auth-v2 .auth-hero-footer { color:#a8c2b2; }
/* The real button owns the entire lamp, including its brass pull cord. */
.auth-v2 .auth-left .auth-lamp-switch { position:absolute; left:58%; bottom:32%; width:30%; height:49%; min-height:0; display:block; padding:0; margin:0; background:none; border:0; transform:none; cursor:grab; touch-action:none; z-index:3; }
.auth-v2 .auth-left .auth-lamp-switch::after { display:none; }
.auth-v2 .auth-left .auth-lamp-object { position:absolute; inset:0; display:block; width:100%; height:100%; min-height:0; transform:none; }
.auth-v2 .auth-left .auth-lamp-aura { display:block; position:absolute; top:22%; left:-40%; width:170%; height:87%; border-radius:50%; background:radial-gradient(ellipse,rgba(255,220,97,.34),rgba(255,226,130,.12) 45%,transparent 72%); opacity:1; filter:blur(10px); transform:none; }
.auth-v2 .auth-lamp-switch .auth-lamp-shade { position:absolute; top:0; left:0; width:100%; height:29%; border:1px solid #879d73; border-bottom:2px solid #c8b957; border-radius:52% 52% 7% 7% / 100% 100% 6% 6%; background:radial-gradient(ellipse at 30% 12%,#a9bbaa 0%,#607e65 27%,#2c4b38 68%,#183426 100%); box-shadow:inset 4px 3px 9px #edf3d252,inset -7px 0 8px #12251870,0 5px 8px #27422b18; transform:none; animation:none; }
.auth-v2 .auth-lamp-switch .auth-lamp-shade::before { left:2%; right:2%; bottom:-7px; height:16px; border-radius:50%; background:#fff6b3; box-shadow:0 9px 20px #ffed9680; }
.auth-v2 .auth-lamp-switch .auth-lamp-shade::after { display:none; }
.auth-v2 .auth-lamp-switch .auth-lamp-stem { position:absolute; top:28%; left:83%; width:9px; height:67%; border-radius:3px; background:linear-gradient(90deg,#715c28,#f2db8f 36%,#b69a50 67%,#6b5d33); box-shadow:2px 0 2px #21372030; }
.auth-v2 .auth-lamp-switch .auth-lamp-base { position:absolute; left:43%; bottom:0; width:79%; height:10%; border-radius:50% 50% 15% 15% / 22% 22% 15% 15%; background:linear-gradient(180deg,#9bab7c 0%,#789265 23%,#425e3f 90%,#273f2b); box-shadow:0 10px 13px #26331c3b,inset 2px 1px 2px #d1ddb889; }
.auth-v2 .auth-lamp-switch .auth-lamp-cord { position:absolute; top:28%; left:68%; width:44px; min-height:0; height:37%; display:block; }
.auth-v2 .auth-lamp-cord-line { position:absolute; top:0; left:21px; width:2px; height:calc(100% - 34px); border-radius:0; background:linear-gradient(90deg,#8f7329,#edcf64); box-shadow:none; transform:scaleY(var(--planora-pull-scale)); transform-origin:top; }
.auth-v2 .auth-lamp-cord-grip { position:absolute; left:15px; bottom:0; width:14px; height:35px; margin:0; border:1px solid #967827; border-radius:5px; background:linear-gradient(90deg,#a57d21,#f8d775 45%,#c8992d); box-shadow:1px 3px 3px #70532125; transform:translateY(var(--planora-pull-y)); }
.auth-v2 .auth-left .auth-lamp-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); padding:0; }
.auth-v2 .auth-lamp-note { position:absolute; left:-4%; top:45%; color:#465949; font:italic 16px/1.3 Georgia,serif; text-align:center; transform:rotate(-8deg); pointer-events:none; }
.auth-v2 .auth-lamp-note svg { display:block; width:85px; height:30px; margin:3px 0 0 30px; fill:none; stroke:currentColor; stroke-width:1.2; }
html[data-planora-theme=dark] .auth-v2 .auth-lamp-note { color:#c4d5b9; }
html[data-planora-theme=dark] .auth-v2 .auth-lamp-shade { filter:brightness(.7); }
html[data-planora-theme=dark] .auth-v2 .auth-lamp-aura { opacity:.7; }
.auth-v2 .auth-left .auth-lamp-switch:focus-visible { outline:3px solid var(--av-accent)!important; outline-offset:6px; border-radius:18px; }
.auth-v2 .auth-right { position:relative; display:flex; align-items:flex-start; justify-content:center; width:100%; min-height:100dvh; height:auto; margin:0; padding:108px 8.5% 64px; border:0; border-radius:0; box-shadow:none; background:var(--av-canvas); color:var(--av-ink); }
.auth-v2 .form-wrap,.auth-v2 .form-wrap.login-wrap,.auth-v2 .form-wrap.register-wrap { width:100%; max-width:650px; padding:44px 44px 30px; margin:0; border:1px solid color-mix(in srgb,var(--av-line) 28%,transparent); border-radius:30px; background:var(--av-card); box-shadow:0 16px 60px #125c3c08; animation:authV2Reveal 220ms cubic-bezier(.16,1,.3,1) both; }
.auth-v2 .form-top { display:flex; align-items:center; margin:0 0 26px; padding:0; }
.auth-v2 .form-top .label { display:inline-flex; align-items:center; gap:12px; padding:7px 14px; border-radius:30px; background:var(--av-chip); color:var(--av-accent); font-family:Inter,sans-serif; font-size:10px; font-weight:700; line-height:1.5; letter-spacing:.15em; }
.auth-v2 .form-top .label svg { width:17px; height:17px; }
.auth-v2 .auth-switch-link { position:absolute; top:31px; right:10%; display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--av-accent); font-family:Inter,sans-serif; font-size:14px; font-weight:600; }
.auth-v2 .auth-switch-link .signup-prompt { color:var(--av-ink); font-weight:400; }
.auth-v2 .auth-switch-link svg { width:20px; height:20px; }
.auth-v2 .form-wrap h2 { color:var(--av-ink); font-size:clamp(30px,2.85vw,48px); font-weight:750; line-height:1.12; letter-spacing:-.06em; margin:0 0 14px; }
.auth-v2 .form-subtitle,.auth-v2 .form-wrap>.muted { color:var(--av-muted); font-size:16px; line-height:1.5; margin:0 0 26px; }
.auth-v2 .form-grid { display:grid; gap:14px; margin:0; }
.auth-v2 .input-group { min-width:0; }
.auth-v2 .auth-page .input-group input,.auth-v2 .auth-page .input-group select { width:100%; min-height:66px; height:66px; border:1px solid var(--av-line); border-radius:11px; padding:0 16px 0 54px; background:var(--av-field); color:var(--av-ink); font-family:Inter,sans-serif; font-size:15px; box-shadow:inset 0 1px 1px #10331f03; }
.auth-v2 .input-group:has(.auth-field-label) input,.auth-v2 .input-group:has(.auth-field-label) select { padding-top:17px; }
.auth-v2 .auth-field-label { top:15px; left:54px; color:var(--av-muted); font-family:Inter,sans-serif; font-size:11px; font-weight:400; letter-spacing:0; pointer-events:auto; }
.auth-v2 .input-icon,.auth-v2 .input-group:has(.auth-field-label) .input-icon { top:50%; left:18px; color:var(--av-muted); opacity:1; }
.auth-v2 .input-icon svg { width:21px; height:21px; }
.auth-v2 .input-group.has-password input { padding-right:56px; }
.auth-v2 .password-toggle,.auth-v2 .input-group:has(.auth-field-label) .password-toggle { top:50%; right:10px; width:44px; height:44px; min-width:44px; color:var(--av-muted); background:none; }
.auth-v2 .form-options { display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:12px; margin:0; color:var(--av-muted); font-size:14px; }
.auth-v2 .form-options label { display:inline-flex; min-height:44px; align-items:center; gap:10px; cursor:pointer; }
.auth-v2 input[type=checkbox] { width:20px; height:20px; min-height:20px; flex:0 0 20px; accent-color:#087f5b; }
.auth-v2 .form-options a { display:inline-flex; align-items:center; min-height:44px; color:var(--av-accent); }
.auth-v2 .trusted-device-note { margin:0; padding:0; color:var(--av-muted); font-size:11px; line-height:1.5; }
.auth-v2 .btn-create,.auth-v2 .login-wrap .btn-create { display:flex; justify-content:center; align-items:center; gap:16px; min-height:54px; height:auto; margin:6px 0 0; padding:13px 20px; border:1px solid transparent; border-radius:10px; background:#087f5b; color:#fff; font-family:Inter,sans-serif; font-size:17px; font-weight:650; box-shadow:0 9px 18px #087f5b12; }
.auth-v2 .btn-create svg { width:23px; height:23px; }
.auth-v2 .btn-create:hover,.auth-v2 .google-btn:hover { transform:translateY(-1px); }
.auth-v2 .btn-create.outline-btn { color:var(--av-accent); border-color:var(--av-line); background:var(--av-field); box-shadow:none; margin-top:12px; font-size:14px; }
.auth-v2 .btn-create:disabled { opacity:.6; cursor:not-allowed; }
.auth-v2 .divider { display:flex; gap:12px; align-items:center; margin:23px 0 16px; color:var(--av-muted); font-size:12px; }
.auth-v2 .divider span { height:1px; flex:1; background:var(--av-line); }
.auth-v2 .divider p { margin:0; }
.auth-v2 .google-btn,.auth-v2 .login-wrap .google-btn { min-height:50px; padding:12px; border-radius:10px; }
.auth-v2 .auth-legal-links { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:0 10px; margin:24px 0 0; color:var(--av-muted); font-size:11px; line-height:1.4; }
.auth-v2 .auth-legal-links a,.auth-v2 .back-login a { display:inline-flex; align-items:center; min-height:44px; color:var(--av-muted); text-decoration:underline; text-underline-offset:3px; }
.auth-v2 .alert,.auth-v2 .otp-box,.auth-v2 .auth-message { padding:14px 16px; margin:0 0 18px; border-radius:12px; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.auth-v2 .otp-box { background:var(--av-chip); color:var(--av-ink); border:1px solid var(--av-line); }
.auth-v2 .trust-device-option { min-height:60px; margin:0; padding:10px 12px; background:var(--av-chip); border-color:var(--av-line); color:var(--av-ink); }
.auth-v2 .trust-device-option small { color:var(--av-muted); }
.auth-v2 .registration-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.auth-v2 .register-wrap { max-width:700px; }
.auth-v2 .auth-privacy-notice,.auth-v2 .google-consent,.auth-v2 .auth-muted-note,.auth-v2 .legal-acceptance { color:var(--av-muted); font-size:12px; line-height:1.5; }
.auth-v2 .legal-acceptance,.auth-v2 .google-consent { min-height:44px; align-items:center; }
.auth-v2 .recovery-card { margin-top:16px; }
.auth-v2 .auth-page-single { display:flex; justify-content:center; padding:40px 20px; }
.auth-v2 .auth-page-single .auth-right { min-height:0; max-width:650px; padding:55px 0 0; }
.auth-v2 .auth-page-single .auth-switch-link { top:0; right:0; }
@keyframes authV2Reveal { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:1700px) { .auth-v2 .auth-right { padding-top:12vh; } .auth-v2 .form-wrap { padding:54px 50px 38px; } .auth-v2 .auth-switch-link { top:4.5vh; } .auth-v2 .auth-left .feature strong { font-size:14px; } .auth-v2 .auth-left .feature span { font-size:14px; } .auth-v2 .auth-left .feature-icon { width:56px; height:56px; flex-basis:56px; } .auth-v2 .auth-page .input-group input { height:72px; } }
@media(min-width:769px) and (max-width:1100px) { .auth-v2 .auth-page { grid-template-columns:minmax(0,48fr) minmax(0,52fr); } .auth-v2 .auth-left { min-height:850px; } .auth-v2 .auth-right { padding:100px 6% 40px; } .auth-v2 .form-wrap,.auth-v2 .form-wrap.login-wrap,.auth-v2 .form-wrap.register-wrap { padding:32px 25px 24px; } .auth-v2 .auth-left .brand { left:8%; } .auth-v2 .auth-left .brand h1 { font-size:27px; } .auth-v2 .auth-left .brand p { font-size:17px; } .auth-v2 .auth-left .logo-box { width:60px; height:60px; flex-basis:60px; } .auth-v2 .auth-left .left-content { left:8%; width:54%; top:22%; } .auth-v2 .auth-left .left-content h2 { font-size:36px; } .auth-v2 .auth-left .eyebrow { font-size:8px; letter-spacing:.16em; } .auth-v2 .auth-left .statement { padding:0; font-size:14px; } .auth-v2 .auth-left .auth-lamp-switch { left:66%; width:27%; height:37%; bottom:30%; } .auth-v2 .auth-lamp-note { top:49%; left:-26%; font-size:13px; } .auth-v2 .auth-left .feature-row { gap:14px; left:8%; right:8%; bottom:10%; } .auth-v2 .auth-left .feature { flex-direction:column; gap:5px; } .auth-v2 .auth-hero-footer { bottom:4%; font-size:6px; gap:10px; letter-spacing:.25em; } .auth-v2 .registration-grid { grid-template-columns:1fr; } }
@media(max-width:768px) { .auth-v2 .auth-page { display:flex; flex-direction:column; gap:0; } .auth-v2 .auth-left { position:relative; top:auto; width:100%; height:270px; min-height:270px; display:block; padding:0; } .auth-v2 .auth-scene { inset:0; } .auth-v2 .auth-scene img { object-position:50% 40%; } .auth-v2 .auth-scene::after { background:linear-gradient(90deg,#f5faf7d9,transparent 85%),linear-gradient(0deg,var(--av-canvas),transparent 30%); } .auth-v2 .auth-left .brand { top:25px; left:6%; max-width:70%; } .auth-v2 .auth-left .logo-box { width:48px; height:48px; flex-basis:48px; } .auth-v2 .auth-left .brand-logo { gap:10px; } .auth-v2 .auth-left .brand h1 { font-size:24px; } .auth-v2 .auth-left .brand p { font-size:15px; } .auth-v2 .auth-left .left-content { display:block; top:110px; left:6%; width:55%; max-width:370px; } .auth-v2 .auth-left .left-content h2 { font-size:32px; line-height:1.1; margin:0; } .auth-v2 .auth-left .eyebrow,.auth-v2 .auth-left .statement,.auth-v2 .auth-left .feature-row,.auth-v2 .auth-hero-footer,.auth-v2 .auth-lamp-note { display:none; } .auth-v2 .auth-left .auth-lamp-switch { left:auto; right:12%; bottom:25px; width:130px; height:215px; min-height:0; padding:0; margin:0; transform:none; } .auth-v2 .auth-right { min-height:0; width:100%; padding:60px 6% 30px; } .auth-v2 .auth-switch-link { top:0; right:6%; font-size:13px; } .auth-v2 .form-wrap,.auth-v2 .form-wrap.login-wrap,.auth-v2 .form-wrap.register-wrap { max-width:650px; padding:32px; border-radius:24px; } .auth-v2 .form-top { flex-direction:row; margin-bottom:20px; } .auth-v2 .form-wrap h2 { font-size:34px; } .auth-v2 .form-subtitle { font-size:15px; margin-bottom:22px; } .auth-v2 .auth-page-single { padding:25px 20px; } }
@media(max-width:480px) { .auth-v2 .auth-left { height:235px; min-height:235px; } .auth-v2 .auth-left .brand { top:23px; } .auth-v2 .auth-left .brand h1 { font-size:22px; } .auth-v2 .auth-left .brand p { font-size:14px; } .auth-v2 .auth-left .left-content { top:103px; width:62%; } .auth-v2 .auth-left .left-content h2 { font-size:26px; max-width:230px; } .auth-v2 .auth-left .auth-lamp-switch { right:8%; bottom:22px; width:82px; height:150px; } .auth-v2 .auth-lamp-switch .auth-lamp-stem { width:5px; } .auth-v2 .auth-right { padding:54px 16px 24px; } .auth-v2 .auth-switch-link { right:22px; font-size:12px; } .auth-v2 .form-wrap,.auth-v2 .form-wrap.login-wrap,.auth-v2 .form-wrap.register-wrap { padding:26px 22px 18px; border-radius:23px; } .auth-v2 .form-wrap h2 { font-size:30px; } .auth-v2 .form-subtitle { font-size:14px; } .auth-v2 .auth-page .input-group input,.auth-v2 .auth-page .input-group select { height:62px; min-height:62px; font-size:14px; padding-left:48px; } .auth-v2 .auth-field-label { left:48px; top:13px; } .auth-v2 .form-options { font-size:12px; gap:8px; } .auth-v2 .form-options label { gap:7px; } .auth-v2 .auth-legal-links { gap:0 7px; font-size:10px; margin-top:18px; } .auth-v2 .registration-grid { grid-template-columns:1fr; } .auth-v2 .auth-page-single { padding:20px 12px; } }
@media(prefers-reduced-motion:reduce) { .auth-v2 *, .auth-v2 *::before,.auth-v2 *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.auth-v2 .auth-switch-link { text-decoration:none; }

html[data-planora-theme=dark] .auth-v2 .auth-left .feature-icon { color:var(--av-accent); }
/* Centre the icon on the field itself (66px; 62px on phones), not on the group: helper text below the field or a
   taller neighbour in the same grid row makes the group taller than the field. */
.auth-v2 .input-group:has(.auth-field-label) .input-icon,.auth-v2 .input-group:has(>small) .input-icon { top:33px; }
@media(max-width:480px) { .auth-v2 .input-group:has(.auth-field-label) .input-icon,.auth-v2 .input-group:has(>small) .input-icon { top:31px; } }
.auth-v2 .input-group>small { display:block; margin-top:7px; color:var(--av-muted); font-size:11px; line-height:1.5; }
.auth-v2 .input-group[hidden] { display:none; }
/* Claude review (15 Oct 2026): keep the lamp shade off the poster text in the scene ("Brighter People" was covered).
   The scene image is anchored a little to the left so the poster sits further right, and the lamp is smaller and lower. */
@media (min-width:769px) {
  .auth-v2 .auth-scene img { object-position: 42% center; }
  .auth-v2 .auth-left .auth-lamp-switch { left: 54%; bottom: 25%; width: 23%; height: 34%; }
  /* The note sits on the lamp's right, away from the intro text; the arrow points back at the cord. */
  .auth-v2 .auth-lamp-note { left: 94%; top: 50%; transform: rotate(6deg); }
  .auth-v2 .auth-lamp-note svg { transform: scaleX(-1); margin: 3px 0 0 -6px; }
}
/* Between tablet and laptop widths the hand-written note collided with the intro text: hide it there (the lamp stays). */
@media (min-width:769px) and (max-width:1279px) { .auth-v2 .auth-lamp-note { display: none !important; } }
/* Laptop widths: anchor the scene so the whole poster stays in view. */
@media (min-width:1101px) and (max-width:1439px) { .auth-v2 .auth-scene img { object-position: 56% center; } }
/* Wide screens: the intro sat on the book spines in the photo; give it a soft reading panel so it stays legible. */
@media (min-width:1600px) {
  .auth-v2 .auth-left .statement { background: rgba(248, 251, 242, .86); border-radius: 14px; padding: 10px 16px; box-shadow: 0 8px 24px rgba(31, 61, 42, .08); max-width: 30em; }
  html[data-planora-theme=dark] .auth-v2 .auth-left .statement { background: rgba(12, 28, 19, .82); }
}
