:root{--paper:#f2f0e6;--ink:#171715;--red:#c41c35;--line:#272621;--muted:#6f6c63;--cond:'Oswald','Arial Narrow',Impact,sans-serif;--sans:'PT Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ed8d31;outline-offset:4px}.page-frame{position:fixed;z-index:30;pointer-events:none;inset:12px 17px;border-left:1px solid #504e48;border-right:1px solid #504e48}.header{height:88px;position:absolute;z-index:40;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 5.8%;gap:20px}.logo{font-family:var(--cond);font-size:25px;line-height:.8;font-weight:700;letter-spacing:-1px;white-space:nowrap}.logo span{color:var(--red)}.logo small{display:block;font-family:var(--sans);font-size:6px;letter-spacing:1.05px;line-height:1;margin-top:7px}.header-center,.header-link,.label,.hero-topline,.section-index,.device-captions,footer{font-size:10px;letter-spacing:1.3px;font-weight:700}.header-center span{color:var(--red);font-size:17px;padding-left:10px}.header-link{background:var(--red);color:white;padding:13px 17px}.header-link span{margin-left:22px;font-size:15px}.journey{position:relative}.panel{position:relative;min-height:100vh;padding:110px 7% 80px}.hero{height:100vh;min-height:710px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;text-align:center}.hero-topline{position:absolute;top:120px;left:7%;right:7%;display:flex;justify-content:space-between}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700}.hero-heading{position:relative;z-index:1;margin-top:-15px}.hero h1,.section-title h2,.features-heading h2,.showcase h2,.outro h2{font-family:var(--cond);font-size:clamp(78px,10.6vw,168px);font-weight:700;line-height:.88;letter-spacing:-.045em;margin:22px 0;color:var(--red)}h1 em{font-style:normal}.hero-bottom{position:absolute;bottom:65px;left:7%;right:7%;display:flex;align-items:end;justify-content:space-between;text-align:left}.hero-bottom p{font-size:14px;line-height:1.4;margin:0;position:absolute;left:120px;bottom:5px}.stamp{height:82px;width:82px;border:1.5px solid var(--ink);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-16deg);font-size:8px;letter-spacing:1px;font-weight:700}.stamp b{font-size:27px;line-height:1}.scroll-cue{display:flex;align-items:center;gap:18px;font-size:9px;font-weight:bold;letter-spacing:1.3px}.scroll-cue b{border:1px solid;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:20px}.hero-ghost{position:absolute;bottom:-.34em;left:0;right:0;font:700 14vw var(--cond);letter-spacing:-.04em;opacity:.035;white-space:nowrap}.phone-float{position:fixed;z-index:12;top:0;left:0;pointer-events:none;will-change:transform}.phone{position:relative;width:242px;height:493px;background:#191a1a;border:4px solid #1a1b1b;border-radius:38px;box-shadow:22px 26px 36px #29251e49,3px 5px 0 #8e8a80,inset 0 0 0 2px #7c7a71;pointer-events:auto;overflow:hidden;transform:rotate(var(--phone-rotation,0deg));transform-origin:center;transition:transform .15s ease-out}.phone:before{content:"";position:absolute;z-index:5;inset:3px;border:1px solid #8b8a83;border-radius:31px;pointer-events:none}.phone-screen{height:100%;margin:5px;border-radius:29px;background:#e5d9bd;overflow:hidden;position:relative}.phone-status{height:22px;padding:8px 16px 0;display:flex;justify-content:space-between;font:700 8px Arial;position:relative;z-index:3}.dynamic-island{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:65px;height:18px;background:#131414;border-radius:20px;z-index:4}.phone-content{height:calc(100% - 22px);overflow:auto;scrollbar-width:none;background:#eee6d8;color:#26251e}.phone-content::-webkit-scrollbar{display:none}.menu-nav{display:flex;align-items:center;justify-content:space-between;padding:9px 12px 10px;font-size:8px;font-weight:700}.menu-logo{font-family:var(--cond);font-size:19px;line-height:1;letter-spacing:-1px}.menu-cover{height:156px;background-size:cover;background-position:center;position:relative;color:white;display:flex;flex-direction:column;justify-content:end;padding:13px}.menu-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 80%)}.menu-cover>*{position:relative}.menu-cover small{font-size:7px;letter-spacing:1px}.menu-cover strong{font:700 27px/.95 var(--cond);margin-top:6px}.menu-tabs{display:flex;gap:5px;padding:12px 9px 7px;overflow:auto;scrollbar-width:none}.menu-tabs button{border:1px solid #c7bdad;background:none;border-radius:16px;white-space:nowrap;font-size:7px;padding:5px 8px;cursor:pointer}.menu-tabs button.active{background:#272821;color:white;border-color:#272821}.menu-heading{display:flex;justify-content:space-between;align-items:end;padding:5px 12px;font:700 18px var(--cond)}.menu-heading small{font:8px var(--sans)}.menu-items{padding:0 12px 20px}.menu-item{display:grid;grid-template-columns:1fr 48px;gap:8px;padding:9px 0;border-bottom:1px solid #cfc7bb}.menu-item b{font-size:9px}.menu-item p{font-size:7px;line-height:1.3;margin:3px 0;color:#777065}.menu-item strong{font-size:8px}.menu-item img{width:48px;height:43px;object-fit:cover;border-radius:2px}.intro{min-height:950px;display:flex;align-items:center;justify-content:space-between;gap:35%;}.intro-left{width:30%;max-width:390px}.script{font-family:Georgia,serif;font-size:15px;font-style:normal;margin:0 0 18px}.intro h2{font:700 clamp(44px,5vw,75px)/.98 var(--cond);letter-spacing:-.035em;margin:0 0 25px}.intro h2 span,.section-title h2 span,.features-heading h2 span,.showcase h2 span{color:var(--red)}.body-copy,.format-description>p:not(.label),.feature p{font-size:15px;line-height:1.55;max-width:300px}.black-button{display:inline-flex;align-items:center;gap:34px;background:var(--ink);color:white;padding:15px 18px;margin-top:18px;font-size:10px;font-weight:700;letter-spacing:1px}.black-button span{font-size:16px}.intro-right{border:1px solid var(--ink);padding:25px;width:27%;max-width:350px}.spec-head{font:700 23px/1.05 var(--cond);padding-bottom:22px;position:relative}.spec-head span{position:absolute;right:0;top:0}.spec-row{display:grid;grid-template-columns:33px 1fr;gap:10px;padding:18px 0;border-top:1px solid var(--line)}.spec-row>b{font:700 25px var(--cond);color:var(--red)}.spec-row strong{font:700 16px var(--cond)}.spec-row p{font-size:12px;line-height:1.45;margin:5px 0 0}.section-index{position:absolute;bottom:35px;left:7%;color:#79766d}.formats{min-height:1000px}.section-title{text-align:center}.section-title h2,.features-heading h2,.showcase h2{font-size:clamp(55px,6.5vw,100px);color:var(--ink);line-height:.95}.formats-layout{display:flex;justify-content:space-between;margin-top:125px}.format-list{width:28%;max-width:340px}.label{margin:0 0 22px}.label span{float:right}.format-button{display:flex;width:100%;align-items:center;gap:18px;border:0;border-top:1px solid var(--ink);background:none;padding:15px 0;cursor:pointer;text-align:left;color:var(--ink)}.format-button:last-of-type{border-bottom:1px solid var(--ink)}.format-button span{font:12px var(--sans)}.format-button strong{font:700 clamp(23px,2.5vw,38px) var(--cond);flex:1}.format-button i{font-style:normal;font-size:20px;transition:transform .2s}.format-button:hover i,.format-button.active i{transform:rotate(45deg)}.format-button.active{color:var(--red)}.format-hint{font:14px/1.4 Georgia,serif;margin-top:22px;color:#777268}.format-description{width:25%;max-width:285px;padding-top:15px}.scribble{font-size:80px;color:var(--red);line-height:1;margin-bottom:24px}.format-description h3{font:700 38px/.95 var(--cond);margin:0}.circle-arrow{display:grid;place-items:center;border:1px solid;border-radius:50%;width:45px;height:45px;font-size:22px;margin-top:25px}.features{min-height:1050px;background:#e8e5d9;overflow:hidden}.features-heading{text-align:center}.features-heading h2{margin-top:20px}.feature{position:absolute;width:230px}.feature-one{left:9%;top:37%}.feature-two{right:8%;top:34%}.feature-three{right:13%;bottom:12%}.feature-number{font-size:10px;letter-spacing:1px;font-weight:bold}.feature-icon{font-size:45px;color:var(--red);line-height:1;margin:8px 0}.feature h3{font:700 24px/1 var(--cond);margin:0}.feature p{font-size:13px}.showcase{min-height:950px;text-align:center;padding-bottom:100px}.showcase-title>p:last-child{font-size:15px;line-height:1.5}.device-stage{height:475px;display:flex;align-items:flex-end;justify-content:center;gap:0;margin:40px auto 0;max-width:1100px}.laptop{width:35%;position:relative;z-index:2;transform:rotate(-3deg) translate(30px,-24px)}.laptop-screen{background:#171717;border:8px solid #191919;border-bottom-width:12px;border-radius:9px 9px 2px 2px;text-align:left;box-shadow:15px 18px 28px #0003}.laptop-nav{height:25px;background:#efeadc;display:flex;justify-content:space-between;align-items:center;padding:0 10px;font-size:5px}.laptop-nav b{font:700 13px var(--cond)}.laptop-image{height:140px;background:linear-gradient(90deg,#0008,transparent),url('assets/photo-0.jpg') center/cover;display:flex;align-items:center;padding:15px;color:white;font:700 23px/.9 var(--cond)}.laptop-copy{height:62px;background:#eee7d8;padding:10px;display:flex;justify-content:space-between;font:700 13px/.95 var(--cond)}.laptop-copy span{font:7px var(--sans);align-self:end}.laptop-base{height:13px;background:linear-gradient(#b5b4af,#6d6c68);border-radius:0 0 35% 35%;width:112%;margin-left:-6%;box-shadow:0 8px 10px #0002}.phone-target{width:242px;height:493px;flex:0 0 242px}.tent{width:190px;height:290px;background:#e1dacb;transform:rotate(6deg) translate(-12px,-8px);box-shadow:20px 22px 30px #0003;position:relative;z-index:2;padding:8px}.tent:after{content:"";position:absolute;left:-20px;bottom:-8px;width:115%;height:13px;background:#c0b7a6;transform:skewX(-30deg);z-index:-1}.tent-inner{height:100%;border:1px solid #514b41;padding:12px}.tent-top{font:700 11px var(--cond);display:flex;justify-content:space-between}.tent-top span{color:var(--red)}.tent p{font:700 39px/.9 var(--cond);margin:23px 0 14px;color:var(--red)}.qr{width:88px;height:88px;margin:auto;position:relative;background-color:white;background-image:repeating-conic-gradient(#161616 0 25%,#fff 0 50%);background-size:10px 10px;border:5px solid white}.qr-corner{position:absolute;width:25px;height:25px;background:#111;border:4px solid white;outline:3px solid #111}.qr-corner:after{content:"";position:absolute;inset:4px;background:#fff}.qr-corner.a{top:0;left:0}.qr-corner.b{right:0;top:0}.qr-corner.c{left:0;bottom:0}.tent small{display:block;font-size:6px;font-weight:bold;margin-top:14px}.device-captions{display:flex;justify-content:center;gap:9%;margin-top:35px;font-size:9px}.outro{background:var(--red);color:var(--paper);text-align:center;padding:130px 20px;position:relative;overflow:hidden}.outro h2{color:var(--paper);font-size:clamp(70px,10vw,150px);margin:30px 0}.outro h2 span{color:transparent;-webkit-text-stroke:2px var(--paper)}.outro>p:not(.script){font-size:16px;line-height:1.4}.outro-star{position:absolute;left:7%;top:10%;font-size:120px;opacity:.17}.outline-button{display:inline-block;border:1px solid;padding:15px 20px;font-size:10px;letter-spacing:1px;font-weight:bold;margin-top:25px}footer{display:flex;align-items:center;justify-content:space-between;padding:45px 6%;gap:20px}footer .logo{font-size:23px}.phone-float.hidden{visibility:hidden}
@media(max-width:800px){.header{height:70px;padding:0 7%}.header-center{display:none}.header-link{font-size:8px;padding:10px}.header-link span{margin-left:6px}.page-frame{inset:8px}.panel{padding-left:7%;padding-right:7%}.hero{min-height:740px;height:100svh;justify-content:flex-start;padding-top:150px}.hero-topline{top:100px;font-size:8px}.hero h1{font-size:clamp(52px,12vw,90px);line-height:.92;margin-top:18px}.eyebrow{font-size:8px}.hero-bottom{bottom:35px}.hero-bottom p{left:0;bottom:0;font-size:11px}.stamp{display:none}.scroll-cue span{display:none}.intro{min-height:1200px;display:block;padding-top:100px}.intro-left{width:100%;max-width:270px}.intro h2{font-size:47px}.intro-right{position:absolute;bottom:85px;right:7%;width:50%;max-width:280px;padding:15px}.spec-head{font-size:18px}.spec-row{padding:10px 0}.spec-row>b{font-size:19px}.spec-row strong{font-size:13px}.spec-row p{font-size:10px}.formats{min-height:1200px;padding-top:100px}.section-title h2,.features-heading h2,.showcase h2{font-size:clamp(43px,9vw,70px)}.formats-layout{margin-top:55px}.format-list{width:45%}.format-button{gap:8px}.format-button strong{font-size:22px}.format-description{position:absolute;right:7%;bottom:110px;width:42%}.format-description h3{font-size:30px}.format-description>p:not(.label){font-size:12px}.scribble{font-size:55px}.features{min-height:1150px}.feature{width:40%}.feature-one{left:7%;top:31%}.feature-two{right:7%;top:48%}.feature-three{left:7%;right:auto;bottom:10%}.feature h3{font-size:20px}.feature p{font-size:12px}.showcase{min-height:790px;padding-top:100px}.device-stage{height:330px;margin-top:40px}.phone-target{width:150px;height:306px;flex-basis:150px}.laptop{width:34%;transform:rotate(-3deg) translate(20px,-12px)}.laptop-screen{border-width:4px}.laptop-nav{height:15px;padding:0 4px}.laptop-nav b{font-size:8px}.laptop-nav span{font-size:3px}.laptop-image{height:70px;font-size:12px;padding:7px}.laptop-copy{height:36px;font-size:7px;padding:5px}.laptop-copy span{font-size:4px}.laptop-base{height:7px}.tent{width:100px;height:170px;padding:4px;transform:rotate(6deg) translate(-10px,-4px)}.tent-inner{padding:6px}.tent-top{font-size:7px}.tent p{font-size:22px;margin:15px 0 8px}.qr{width:48px;height:48px;background-size:6px 6px;border-width:3px}.qr-corner{width:14px;height:14px;border-width:2px;outline-width:2px}.qr-corner:after{inset:3px}.tent small{font-size:4px;margin-top:8px}.device-captions{font-size:7px;gap:4%}.outro{padding:100px 15px}.outro h2{font-size:clamp(55px,12vw,90px)}footer{font-size:8px;flex-wrap:wrap}footer>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.phone{transition:none}}
from pathlib import Path
p=Path('index.html'); s=p.read_text(encoding='utf-8-sig')
s=s.replace('<div class="laptop-copy"><b>ХОРОШИЙ ДЕНЬ<br>НАЧИНАЕТСЯ ЗДЕСЬ.</b><span>кофе / еда / настроение</span></div></div><div class="laptop-base">','<div class="laptop-copy"><b>ХОРОШИЙ ДЕНЬ<br>НАЧИНАЕТСЯ ЗДЕСЬ.</b><span>кофе / еда / настроение</span></div><button class="device-open laptop-open" type="button" aria-label="Открыть пример меню на ноутбуке">ОТКРЫТЬ МЕНЮ ↗</button></div><div class="laptop-base">')
s=s.replace('<small>СКАНИРУЙТЕ И ОТКРЫВАЙТЕ МЕНЮ</small></div></div>','<small>СКАНИРУЙТЕ И ОТКРЫВАЙТЕ МЕНЮ</small><button class="device-open tent-open" type="button" aria-label="Открыть пример меню с тейбл-тента">ОТКРЫТЬ МЕНЮ ↗</button></div></div>')
s=s.replace('  <footer>', '  <dialog class="menu-dialog" id="menuDialog" aria-labelledby="dialogTitle"><div class="dialog-head"><span class="logo">MENU<span>—</span>WEB</span><button class="dialog-close" type="button" aria-label="Закрыть">×</button></div><div class="dialog-content"><p class="script">Попробуйте сами</p><h2 id="dialogTitle">МЕНЮ С ХАРАКТЕРОМ.</h2><p>Демонстрация меню выбранного формата.</p><div class="dialog-tabs" role="group" aria-label="Категории меню"></div><div class="dialog-items"></div></div></dialog>\n  <footer>')
p.write_text(s,encoding='utf-8')
'@ | python -
@'
/* Interactive device previews */
.laptop-screen{position:relative}.device-open{cursor:pointer;border:0;background:var(--red);color:#fff;font:700 8px var(--sans);letter-spacing:.5px;padding:7px 9px}.laptop-open{position:absolute;right:9px;bottom:10px}.tent-open{font-size:6px;margin-top:6px;padding:5px}.menu-dialog{width:min(760px,calc(100% - 32px));max-height:85vh;border:1px solid var(--ink);padding:0;background:var(--paper);color:var(--ink);box-shadow:16px 18px 0 #0003}.menu-dialog::backdrop{background:#171715b8}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;border-bottom:1px solid}.dialog-close{background:none;border:0;font-size:32px;line-height:1;cursor:pointer}.dialog-content{padding:35px 28px 45px}.dialog-content h2{font:700 clamp(38px,6vw,70px)/.9 var(--cond);margin:12px 0;color:var(--red)}.dialog-content>p:not(.script){font-size:14px}.dialog-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.dialog-tabs button{border:1px solid var(--ink);background:none;padding:9px 14px;cursor:pointer}.dialog-tabs button.active{background:var(--ink);color:white}.dialog-items{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dialog-item{border-top:1px solid;padding-top:10px}.dialog-item img{width:100%;height:110px;object-fit:cover}.dialog-item h3{font:700 19px var(--cond);margin:8px 0 2px}.dialog-item p{font-size:12px;color:var(--muted)}.dialog-item strong{font-size:12px}.menu-heading small{font-size:6px;max-width:67px;text-align:right;line-height:1.2}
@media(max-width:800px){.scroll-cue{margin-left:auto}.laptop-open{font-size:4px;padding:3px;right:4px;bottom:4px}.tent-open{font-size:4px;padding:3px;margin-top:3px}.dialog-items{grid-template-columns:repeat(2,1fr)}.dialog-item img{height:90px}}
