@font-face{font-family:Manrope;src:url('./assets/Manrope-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('./assets/Manrope-Bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
@font-face{font-family:Display;src:url('./assets/tiktok-expanded.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--navy:#0c2851;--cream:#fff8eb;--yellow:#ffcf31;--red:#dc3d35}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--navy);font-family:Manrope,Arial,sans-serif}button{font:inherit;cursor:pointer}[hidden]{display:none!important}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 clamp(22px,4vw,58px);background:var(--navy);color:#fff}.brand{display:flex;align-items:center;height:100%}.brand img{height:64px;width:auto;object-fit:contain}.topbar>span{font-size:12px;font-weight:900;letter-spacing:.13em}.back{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.55);border-radius:100px;padding:11px 16px;font-size:12px;font-weight:900;white-space:nowrap}.back span{font-size:18px;vertical-align:-1px;margin-left:16px}.back:hover{background:var(--yellow);border-color:var(--yellow);color:var(--navy)}
.place{display:grid;grid-template-columns:minmax(310px,35%) minmax(0,65%);min-height:calc(100svh - 76px)}.intro{display:flex;flex-direction:column;justify-content:space-between;gap:42px;padding:clamp(44px,5vw,80px) clamp(25px,4vw,65px) 36px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;margin:0 0 42px}.eyebrow i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:7px}.intro h1{font-family:Display,Manrope,sans-serif;font-weight:800;font-size:clamp(59px,5.3vw,91px);line-height:.94;letter-spacing:-.03em;margin:0 0 29px}.intro h1 em{font-style:normal;color:var(--red)}.lead{font-weight:800;font-size:clamp(17px,1.4vw,21px);line-height:1.48;max-width:460px;margin:0 0 20px}.instruction{font-size:14px;line-height:1.5;color:#506783;margin:0}.photo{position:relative;margin:0;height:clamp(210px,23vw,330px);overflow:hidden}.photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:65% center}.photo figcaption{position:absolute;bottom:0;left:0;background:var(--yellow);padding:11px 15px;font-size:10px;font-weight:900;letter-spacing:.08em}
.viewer{position:relative;display:flex;flex-direction:column;min-height:740px;background:#e9e7df;overflow:hidden}.viewer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 54% 47%,#fffdf7 0%,#ece8dc 55%,#d9d4c9 100%);pointer-events:none}.viewer-top,.viewer-bottom{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px clamp(25px,3vw,46px);font-size:12px;font-weight:900;letter-spacing:.09em}.viewer-top span:first-child{color:var(--red)}.stage{position:relative;flex:1;min-height:0}.stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}.stage canvas.dragging{cursor:grabbing}.viewer-bottom{justify-content:flex-start;padding-top:6px}.viewer-bottom>span{height:37px;width:37px;flex:none;border:1px solid var(--navy);border-radius:50%;display:grid;place-items:center;font-size:22px}.viewer-bottom p{margin:0;font-size:13px;line-height:1.3;letter-spacing:0}.viewer-bottom small{font-size:11px;font-weight:400;color:#54687b}
.cafe-marker{position:absolute;z-index:5;transform:translate(-50%,-100%);border:0;border-radius:8px;padding:10px 13px 9px 28px;text-align:left;white-space:nowrap;background:var(--yellow);color:var(--navy);font-size:12px;font-weight:900;line-height:1.2;box-shadow:0 12px 28px rgba(79,46,4,.2),0 0 30px rgba(255,181,63,.5);opacity:0;transition:opacity .2s,scale .2s}.cafe-marker:hover{scale:1.07}.cafe-marker:after{content:"";position:absolute;top:100%;left:50%;width:14px;height:9px;background:var(--yellow);clip-path:polygon(0 0,100% 0,50% 100%);transform:translateX(-50%)}.cafe-marker small{font-size:9px;letter-spacing:.06em}.cafe-marker .dot{position:absolute;left:10px;top:15px;width:10px;height:10px;background:var(--red);border-radius:50%;box-shadow:0 0 0 0 rgba(220,61,53,.4);animation:pulse 2s infinite}@keyframes pulse{65%{box-shadow:0 0 0 10px rgba(220,61,53,0)}}
.cafe-card{position:absolute;z-index:6;left:24px;bottom:18px;width:min(292px,42%);border-radius:12px;overflow:hidden;background:var(--cream);box-shadow:0 22px 60px rgba(12,40,81,.22);opacity:0;transform:translateY(16px);transition:opacity .35s,transform .35s}.cafe-card.visible{opacity:1;transform:translateY(0)}.cafe-card img{display:block;width:100%;height:180px;object-fit:cover;object-position:74% center}.cafe-card div{padding:17px 18px 20px}.cafe-card strong{font-family:Display,Manrope,sans-serif;font-size:28px;line-height:1.02}.cafe-card p{font-size:12px;line-height:1.5;margin:11px 0 0}.cafe-card button{position:absolute;top:9px;right:9px;width:31px;height:31px;border:0;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:23px;line-height:1}.fallback{position:absolute;inset:15%;display:grid;place-items:center;text-align:center}.fallback img{max-width:100%;max-height:55vh;object-fit:contain}.fallback p{font-size:14px;font-weight:800}.reference{display:grid;grid-template-columns:minmax(230px,.7fr) 1.5fr 1fr;gap:0;align-items:stretch;background:var(--navy);color:#fff;min-height:280px}.reference>div{padding:38px clamp(25px,4vw,65px);display:flex;flex-direction:column;justify-content:space-between}.reference span{font-size:12px;color:var(--yellow);font-weight:900;letter-spacing:.1em}.reference strong{font-family:Display,Manrope,sans-serif;font-size:clamp(32px,3vw,52px);line-height:1.02}.reference img{width:100%;height:100%;max-height:350px;object-fit:cover;display:block}.reference img:last-child{object-position:55% center}
@media(max-width:800px){.place{grid-template-columns:minmax(280px,38%) minmax(0,62%)}.viewer-top{font-size:10px}.intro{padding:35px 25px 25px}.intro h1{font-size:clamp(51px,7vw,72px)}.lead{font-size:16px}.photo{height:220px}}
@media(max-width:650px){.topbar{height:64px;padding:0 15px}.brand img{height:55px}.topbar>span{font-size:9px;letter-spacing:.04em}.back{font-size:0;padding:7px 10px}.back span{font-size:18px;margin:0}.place{display:flex;flex-direction:column}.viewer{order:1;min-height:70svh}.viewer-top{padding:14px 16px;font-size:9px}.viewer-top span:last-child{letter-spacing:0}.viewer-bottom{padding:4px 16px 14px}.viewer-bottom p{font-size:11px}.viewer-bottom small{font-size:9px}.viewer-bottom>span{width:31px;height:31px;font-size:18px}.intro{order:2;padding:45px 22px 28px;gap:28px}.eyebrow{font-size:10px;margin-bottom:25px}.intro h1{font-size:clamp(53px,13vw,75px)}.lead{font-size:17px}.instruction{font-size:13px}.photo{height:230px}.cafe-marker{font-size:10px;padding:7px 9px 7px 23px}.cafe-marker small{font-size:8px}.cafe-marker .dot{left:8px;top:11px;width:8px;height:8px}.cafe-card{left:10px;right:10px;bottom:8px;width:auto}.cafe-card img{height:120px}.cafe-card div{padding:10px 13px 14px}.cafe-card strong{font-size:20px}.cafe-card p{font-size:10px;margin:6px 0 0}.reference{display:block}.reference>div{min-height:170px;padding:28px 22px}.reference strong{font-size:38px}.reference img{height:250px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Полная страница Баумана использует те же навигацию, меню и типографику, что Козина. */
.site-head .brand{width:70px}.site-head .brand img{height:73px}
.baumana-hero{min-height:600px;height:min(78svh,790px)}
.baumana-hero .cafe-hero-video{object-position:55% 44%;filter:saturate(.94)}
.baumana-hero .cafe-hero-overlay{background:linear-gradient(90deg,rgba(5,22,47,.9) 0%,rgba(5,22,47,.6) 36%,rgba(5,22,47,.08) 86%),linear-gradient(0deg,rgba(5,22,47,.48),transparent 54%)}
.baumana-hero .cafe-hero-content{max-width:1100px}.baumana-hero h1{font-size:clamp(62px,8vw,130px)}.baumana-hero .cafe-hero-content p{max-width:540px;line-height:1.4}
.place{scroll-margin-top:105px;min-height:820px}.intro h2{font-size:clamp(56px,5.8vw,94px);margin:34px 0 27px}.intro h2 em{font-style:normal;color:var(--red)}
.intro-bottom-baumana{display:grid;gap:25px}.intro-bottom-baumana .primary-action{width:100%;max-width:420px;min-width:0}.intro-bottom-baumana .photo{width:100%;height:clamp(190px,18vw,280px)}
.viewer{min-height:820px}.viewer-top span:nth-child(2){color:var(--navy)}.viewer-top span:last-child{font-size:10px;letter-spacing:.04em}
.cafe-card a{display:inline-block;color:var(--navy);font-size:12px;font-weight:900;margin-top:12px;text-decoration:none;border-bottom:1px solid currentColor}.cafe-card a:hover{color:var(--red)}
.baumana-life{padding:105px clamp(28px,6.4vw,110px) 90px;background:#f0e8db;scroll-margin-top:110px}
.baumana-life-heading{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.65fr);gap:40px;align-items:end;margin-bottom:45px}
.baumana-life-heading span{display:block;font-size:12px;font-weight:900;letter-spacing:.13em;color:var(--red);margin-bottom:24px}
.baumana-life-heading h2{font-family:Display,Manrope,sans-serif;font-size:clamp(57px,6.5vw,108px);line-height:.94;letter-spacing:-.03em;margin:0}.baumana-life-heading h2 em{font-style:normal;color:var(--red)}
.baumana-life-heading p{font-size:clamp(17px,1.5vw,21px);line-height:1.5;font-weight:700;margin:0 0 4px}
.baumana-photo-grid{display:grid;grid-template-columns:1.25fr 1fr .9fr;gap:10px;min-height:520px}.baumana-photo{position:relative;display:block;border:0;padding:0;min-width:0;min-height:440px;overflow:hidden;background:#142743;text-align:left;color:#fff}.baumana-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1),filter .4s}.baumana-photo:hover img,.baumana-photo:focus-visible img{transform:scale(1.06);filter:saturate(1.12)}.baumana-photo span{position:absolute;bottom:18px;left:18px;z-index:1;background:var(--yellow);color:var(--navy);padding:9px 11px;font-weight:900;font-size:11px;letter-spacing:.06em}.baumana-photo-wide img{object-position:50% 36%}
.baumana-life-foot{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:26px}.baumana-life-foot p{margin:0;font-size:12px;line-height:1.5;color:#4d607a}.baumana-life-foot p a{color:inherit;text-underline-offset:3px}.book-link{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--yellow);padding:17px 20px;color:var(--navy);border-radius:7px;text-decoration:none;font-size:15px;font-weight:900}.book-link:hover{background:var(--navy);color:#fff}.book-link span{font-size:24px;line-height:18px}
.baumana-night>img{object-position:72% 51%}.baumana-night .night-shade{background:linear-gradient(90deg,rgba(5,20,39,.9) 0%,rgba(7,25,46,.76) 34%,rgba(7,25,46,.1) 77%),linear-gradient(0deg,rgba(5,17,36,.52),transparent 36%)}
.baumana-lightbox{border:0;padding:0;width:min(1000px,calc(100vw - 32px));max-width:none;max-height:calc(100svh - 32px);overflow:hidden;background:#10294e;color:#fff;box-shadow:0 28px 100px rgba(0,0,0,.42)}.baumana-lightbox::backdrop{background:rgba(5,17,34,.84)}.baumana-lightbox>img{display:block;width:100%;max-height:calc(100svh - 110px);object-fit:contain;background:#10294e}.baumana-lightbox>#photo-close{position:absolute;z-index:1;top:14px;right:14px;width:40px;height:40px;border:0;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:27px;line-height:1}.photo-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 18px;font-size:13px;font-weight:800}.photo-dialog-footer>div{display:flex;gap:8px}.photo-dialog-footer button{width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:transparent;color:#fff;font-size:21px}.photo-dialog-footer button:hover{background:var(--yellow);color:var(--navy)}
@media(max-width:900px){.baumana-life-heading{grid-template-columns:1fr;gap:14px}.baumana-life-heading p{max-width:580px}.baumana-photo-grid{min-height:420px}.baumana-photo{min-height:380px}}
@media(max-width:650px){.site-head{height:64px;padding:0 15px}.site-head .brand{width:48px}.site-head .brand img{height:55px}.site-head .head-location{font-size:10px;gap:7px}.baumana-hero{min-height:490px;height:70svh}.baumana-hero .cafe-hero-video{object-position:51% center}.baumana-hero .cafe-hero-overlay{background:linear-gradient(0deg,rgba(5,22,47,.85) 0%,rgba(5,22,47,.2) 82%)}.baumana-hero h1{font-size:clamp(43px,11vw,68px)}.baumana-hero .cafe-hero-content p{max-width:310px}.place{min-height:0}.intro{order:1}.viewer{order:2;min-height:64svh}.intro h2{font-size:clamp(51px,12vw,72px);margin:16px 0}.intro-bottom-baumana .photo{height:230px}.viewer-top span:nth-child(2){display:none}.baumana-life{padding:66px 18px 62px}.baumana-life-heading{margin-bottom:25px}.baumana-life-heading span{font-size:10px;margin-bottom:14px}.baumana-life-heading h2{font-size:clamp(48px,12vw,70px)}.baumana-life-heading p{font-size:15px}.baumana-photo-grid{grid-template-columns:1fr 1fr;gap:6px}.baumana-photo{min-height:230px}.baumana-photo-wide{grid-column:1 / -1;min-height:320px}.baumana-photo span{font-size:9px;bottom:9px;left:9px;padding:6px 7px}.baumana-life-foot{display:block;margin-top:20px}.baumana-life-foot p{font-size:11px}.book-link{margin-top:18px;font-size:13px;padding:14px}.baumana-night>img{object-position:59% center}.baumana-night .night-shade{background:linear-gradient(0deg,rgba(5,20,39,.88),rgba(5,20,39,.18) 78%)}.baumana-lightbox>img{max-height:calc(100svh - 95px)}}
