/* Семейный просмотр: изображение занимает основную площадь; управление остаётся
   доступным на телефоне, включая safe area. Галереи работают без WebGL. */
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#272b28;background:#e9e7e1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #8c6235;outline-offset:4px}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid #d4d3cd;position:relative;z-index:3;background:#eeece6}.brand{display:flex;gap:14px;align-items:center;color:inherit;text-decoration:none;font-family:Georgia,serif;font-size:24px}.brand-icon{font-size:42px;line-height:1}.brand small{display:block;font:9px Arial;letter-spacing:2.6px;margin-top:5px}.edition{font-size:10px;letter-spacing:2px}.edition b{margin-left:12px;padding:8px;background:#dfdfd7;border-radius:4px}nav{display:flex;gap:8px}nav button{border:0;background:transparent;padding:12px 22px;color:#737870;border-radius:30px;font-size:13px}nav button.active{background:#303c33;color:#fff}#model-panel{height:calc(100svh - 88px);min-height:620px;position:relative;overflow:hidden}#viewport{position:absolute;inset:0}canvas{width:100%;height:100%;display:block;touch-action:none}.intro{position:absolute;left:4vw;top:6%;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#737970}.intro h1,.section-title h1{font:normal clamp(34px,4.1vw,64px)/1.07 Georgia,serif;letter-spacing:-2px;margin:20px 0 18px}.intro p{font-size:12px;color:#667065}.options{position:absolute;right:3vw;top:5%;display:flex;flex-direction:column;gap:13px;background:#f4f2ebee;padding:19px;border:1px solid #fff;border-radius:12px;width:185px;box-shadow:0 8px 40px #2633220b}.options>label:first-child{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#7b8077}.options select{width:100%;border:1px solid #cdcec5;background:#fffdf7;padding:10px 6px;border-radius:5px;font-size:12px;color:#303c33}.check{display:flex;align-items:center;gap:8px;font-size:12px}.check input{accent-color:#354b3a;width:15px;height:15px}.quiet{background:transparent;border:0;border-top:1px solid #dcddd4;padding:12px 0 0;text-align:left;font-size:11px;color:#5d685c}.view-controls{position:absolute;bottom:66px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:6px;background:#f8f6f0ed;border:1px solid #fff;border-radius:40px;box-shadow:0 12px 35px #29372b12;white-space:nowrap}.view-controls button{padding:12px 19px;background:transparent;border:0;border-radius:30px;font-size:12px;color:#586252}.view-controls .selected{background:#303e32;color:#fff}.view-controls #rotate{border-left:1px solid #d4d8cc;border-radius:0 30px 30px 0}.view-controls #rotate[aria-pressed=true]{color:#101b0e;background:#e1e6d9}.model-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:18px 4vw;font-size:10px;letter-spacing:.4px;color:#778171;pointer-events:none}.document-panel{max-width:1440px;margin:auto;padding:60px 5vw 80px}.section-title p{color:#6b7468;font-size:14px;line-height:1.7}.section-title h1{margin-top:16px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:34px}.gallery figure{margin:0}.gallery button{background:#dedfd6;border:0;padding:0;display:block;overflow:hidden;width:100%;border-radius:4px}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s}.gallery button:hover img{transform:scale(1.025)}.gallery figcaption{padding:15px 0;display:flex;justify-content:space-between;font-size:13px;color:#4b5648}.gallery figcaption span{color:#8a9284;font-size:11px}.source-notes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;border-top:1px solid #d1d3c9;border-bottom:1px solid #d1d3c9;margin:25px 0;padding:18px 0;font-size:13px;line-height:1.9;color:#67715f}.source-notes b{color:#33442f;font-weight:500}#source-gallery img{object-fit:contain;background:#fff}.download a{font-size:13px;color:#3f5639;text-underline-offset:5px}dialog{border:0;background:#f1efe9;padding:20px;max-width:96vw;max-height:96svh;border-radius:8px}dialog::backdrop{background:#111c17dd}dialog img{display:block;max-height:80svh;max-width:calc(96vw - 40px);object-fit:contain}dialog p{font-size:13px}dialog>a{font-size:12px;color:#35502c}#close-lightbox{position:absolute;top:8px;right:8px;width:42px;height:42px;border:1px solid #bbb;background:#fff;border-radius:50%;font-size:25px}#loading{position:absolute;inset:0;background:#e9e7e1e8;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;z-index:2;font-size:12px;color:#5c6955}#loading[hidden]{display:none}.spinner{width:32px;height:32px;border:2px solid #c8cebf;border-top-color:#3f5335;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}
@media(max-width:760px){header{height:74px;padding:0 18px}.brand{font-size:20px;gap:9px}.brand-icon{font-size:32px}.brand small{font-size:7px;letter-spacing:1.7px}.edition{display:none}nav{gap:0}nav button{padding:10px 12px;font-size:11px}#model-panel{height:calc(100svh - 74px);min-height:600px}.intro{left:20px;top:24px}.intro h1{font-size:34px;letter-spacing:-1px;margin:12px 0}.intro p{max-width:180px;line-height:1.5;font-size:10px}.eyebrow{font-size:8px;letter-spacing:1.7px}.options{width:140px;right:14px;top:24px;padding:12px;gap:10px;background:#f6f4ecdb}.options select{font-size:10px;padding:8px 3px}.options>label:first-child{font-size:8px}.check{font-size:10px;gap:4px}.check input{width:13px;height:13px}.quiet{font-size:9px}.view-controls{bottom:63px;gap:1px;width:max-content;max-width:calc(100% - 20px);padding:4px}.view-controls button{font-size:10px;padding:12px 11px}.view-controls #rotate span{display:none}.model-footer{padding:16px 18px calc(16px + env(safe-area-inset-bottom));font-size:8px}.model-footer #model-status{display:none}.document-panel{padding:35px 20px}.section-title h1{font-size:40px}.gallery{grid-template-columns:1fr;gap:18px}.source-notes{grid-template-columns:1fr;gap:0;padding:10px 0}.section-title p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.spinner{animation:none}.gallery img{transition:none}}

/* Привязки по фото объясняют границу точности окружения. */
.context-note{font-size:13px;line-height:1.8;max-width:70ch;color:#6b7468}

/* Кроны заходят за заголовок; мягкая подложка сохраняет читаемость без смены кадра. */
.intro{isolation:isolate}
.intro::before{content:"";position:absolute;inset:-28px -45px -24px -28px;background:radial-gradient(ellipse at 35% 42%,#e9e7e1 20%,#e9e7e1ed 48%,#e9e7e100 75%);z-index:-1}
