:root{--red:#e31924;--deep:#a80d15;--ink:#171315;--cream:#f7f3ef;--soft:#fff5f4;--line:#eadfda}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.nav{height:78px;position:sticky;top:0;z-index:20;background:#fffdfcf2;backdrop-filter:blur(14px);display:grid;grid-template-columns:220px 1fr 190px;align-items:center;padding:0 6vw;border-bottom:1px solid #eee5e1}.brand{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:.8px}.brand span{width:40px;height:40px;background:var(--red);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900}.brand b{font-weight:900}.nav nav{justify-self:center;display:flex;gap:29px;font-size:12px;font-weight:800}.nav nav a:hover{color:var(--red)}.navcta{justify-self:end;background:var(--ink);color:#fff;padding:13px 18px;border-radius:4px;font-size:11px;font-weight:900;letter-spacing:.7px}.hero{min-height:690px;display:grid;grid-template-columns:47% 53%;background:var(--cream);overflow:hidden}.heroText{padding:95px 4vw 70px 7vw;z-index:2}.eyebrow,.sectionTitle small,.featureIntro small,.who small,.demo small{font-size:10px;font-weight:900;letter-spacing:2.3px;color:var(--red)}.hero h1{font-size:clamp(55px,5.5vw,86px);line-height:.9;letter-spacing:-5px;margin:18px 0 27px;font-weight:900}.hero h1 em,.features h2 em,.demo h2 em{font-style:normal;color:var(--red)}.heroText>p{max-width:570px;font-size:17px;line-height:1.65;color:#655c59}.actions{display:flex;gap:11px;margin-top:28px}.actions a{padding:16px 21px;font-size:12px;font-weight:900}.primary{background:var(--red);color:#fff}.primary b{margin-left:18px}.secondary{border:1px solid #cfc3bd;background:#fff}.mini{display:flex;gap:18px;margin-top:34px;font-size:10px;font-weight:700;color:#736965}.mini span:first-letter{color:var(--red)}.heroVisual{position:relative;background:var(--red);clip-path:polygon(13% 0,100% 0,100% 100%,0 100%);display:grid;place-items:center}.photoPanel{width:68%;height:69%;background:#281d1b;transform:rotate(2deg);box-shadow:0 35px 65px #5e060d55;overflow:hidden}.restaurant{height:100%;position:relative;background:linear-gradient(180deg,#382723,#171111);overflow:hidden}.restaurant:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 40%,#e3a86922 41% 43%,transparent 44%),linear-gradient(70deg,transparent 0 62%,#e3a86918 63% 65%,transparent 66%)}.lamp{position:absolute;top:-20px;width:2px;height:120px;background:#8d6a5d}.lamp:after{content:"";position:absolute;bottom:-16px;left:-17px;width:36px;height:20px;background:#d9a668;border-radius:50% 50% 8px 8px;box-shadow:0 20px 40px #ffb75288}.l1{left:24%}.l2{right:21%;height:160px}.counter{position:absolute;left:8%;right:8%;bottom:8%;height:31%;background:#5a3930;border-top:9px solid #bc8468;display:flex;justify-content:space-around;align-items:flex-end;padding-bottom:18px}.counter i{width:20%;height:55%;border-radius:50% 50% 5px 5px;background:#221715}.screen{position:absolute;left:27%;top:28%;width:47%;height:34%;background:#fff;border:9px solid #211718;padding:20px;display:flex;flex-direction:column;gap:9px}.screen span{font-size:9px;color:var(--red);font-weight:900}.screen b{font-size:17px}.screen small{font-size:8px;background:#ffe9e8;color:var(--deep);padding:7px}.stamp{position:absolute;top:7%;right:6%;color:#fff;font-size:12px;line-height:.9;z-index:3;border:1px solid #ffffff77;padding:13px;border-radius:50%;width:67px;height:67px;display:grid;place-items:center;text-align:center;transform:rotate(9deg)}.note{position:absolute;background:#fff;padding:14px 18px;box-shadow:0 18px 40px #67060d3d;display:flex;flex-direction:column;z-index:4}.note b{color:var(--red);font-size:20px}.note span{font-size:9px;font-weight:700}.n1{left:5%;bottom:15%;transform:rotate(-4deg)}.n2{right:4%;top:23%;transform:rotate(4deg)}.flow{padding:95px 7vw;background:#fff}.sectionTitle{display:flex;justify-content:space-between;align-items:flex-start}.sectionTitle h2{font-size:45px;line-height:1.03;letter-spacing:-2px;margin:0 0 55px}.steps{display:grid;grid-template-columns:1fr 50px 1fr 50px 1fr;border-top:1px solid var(--line);padding-top:35px}.steps article{padding-right:30px}.steps strong{font-size:12px;color:var(--red)}.steps h3{font-size:23px;margin:13px 0 9px}.steps p{font-size:13px;line-height:1.6;color:#776d69}.arrow{display:grid;place-items:center;color:var(--red);font-size:28px}.features{padding:100px 7vw;background:var(--ink);color:#fff;display:grid;grid-template-columns:39% 61%;gap:6vw}.featureIntro h2{font-size:47px;line-height:1.02;letter-spacing:-2.5px;margin:16px 0 22px}.featureIntro p{color:#b9ada9;line-height:1.6}.featureIntro>a{display:inline-block;margin-top:24px;color:#fff;border-bottom:1px solid var(--red);padding-bottom:7px;font-size:11px;font-weight:900}.featureGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.featureGrid article{min-height:180px;border:1px solid #3a3031;padding:25px;background:#201a1c}.featureGrid article.big{grid-column:span 2;min-height:230px;background:var(--red);border:0}.featureGrid span{font-size:10px;opacity:.65}.featureGrid h3{font-size:22px;margin:35px 0 8px}.featureGrid p{font-size:12px;color:#bdb2ae}.big p{color:#fff}.pulse{margin-top:27px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;gap:9px;padding:10px 13px;font-size:9px;font-weight:900}.pulse i{width:8px;height:8px;background:var(--red);border-radius:50%}.who{padding:90px 7vw;background:var(--cream);display:grid;grid-template-columns:1fr 1.5fr;align-items:end}.who h2{font-size:49px;letter-spacing:-2.5px;line-height:1;margin:16px 0 0}.chips{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.chips span{border:1px solid #bfb2ad;padding:17px 22px;font-size:11px;font-weight:900;background:#fff}.demo{margin:0;background:var(--red);color:#fff;padding:78px 7vw;display:flex;align-items:center;justify-content:space-between}.demo small{color:#fff}.demo h2{font-size:48px;line-height:1;margin:13px 0}.demo h2 em{color:#fff;text-decoration:underline}.demo p{font-size:14px}.demo>a{background:#fff;color:var(--ink);padding:22px 25px;font-size:12px;font-weight:900}.demo>a b{margin-left:30px;color:var(--red)}footer{padding:40px 7vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font-size:10px;color:#776d69}.foot span{width:34px;height:34px}.foot{font-size:16px}footer p:last-child{text-align:right}footer p:last-child b{color:var(--red)}@media(max-width:900px){.nav{grid-template-columns:1fr auto;padding:0 18px}.nav nav{display:none}.navcta{font-size:9px}.hero{grid-template-columns:1fr}.heroText{padding:60px 22px}.hero h1{font-size:53px;letter-spacing:-3px}.mini{flex-direction:column;gap:8px}.heroVisual{height:470px;clip-path:none}.photoPanel{width:80%}.flow,.features,.who{padding:65px 22px}.sectionTitle{display:block}.sectionTitle h2,.featureIntro h2,.who h2{font-size:38px}.steps{grid-template-columns:1fr}.arrow{height:40px;transform:rotate(90deg)}.features{grid-template-columns:1fr}.featureGrid{grid-template-columns:1fr}.featureGrid article.big{grid-column:auto}.who{grid-template-columns:1fr;gap:35px}.chips{justify-content:flex-start}.demo{padding:55px 22px;display:block}.demo h2{font-size:40px}.demo>a{display:inline-block;margin-top:20px}footer{grid-template-columns:1fr;gap:14px}footer p:last-child{text-align:left}}
/* EF Snack Home: desktop fixed-screen rule */
@media (min-width:901px){body{height:100vh;overflow:hidden}.nav{position:relative}.hero{height:calc(100vh - 78px);min-height:0}.flow,.features,.who,.demo,footer{display:none}.heroText{padding-top:clamp(45px,8vh,95px);padding-bottom:35px}.heroVisual{height:100%}}

/* Product showcase: replaces previous decorative restaurant graphic */
.product-showcase{background:linear-gradient(145deg,#21090c 0%,#090708 65%);clip-path:none!important;overflow:hidden;position:relative}
.product-showcase:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:#d7192022;filter:blur(25px);right:-80px;top:-100px}
.screenMock{background:#111;border:2px solid #e31924;box-shadow:0 30px 65px #0008,0 0 35px #e3192428;color:#fff;overflow:hidden;position:absolute}
.mainScreen{width:72%;height:55%;left:9%;top:14%;transform:perspective(1100px) rotateY(-5deg) rotateZ(-1deg);border-radius:9px}
.mockTop{height:37px;background:#191516;border-bottom:1px solid #492024;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:9px}.mockTop b{color:#fff}.mockTop span{color:#ff5c64;font-weight:900}
.mockBody{display:grid;grid-template-columns:26% 74%;height:calc(100% - 37px)}.mockBody aside{background:#1b1416;padding:14px 9px;display:flex;flex-direction:column;gap:12px;font-size:8px;color:#c8b9bc}.mockBody aside b{background:#d71920;padding:8px;color:#fff;border-radius:3px}.mockBody article{padding:17px;background:#f7f5f4;color:#1a1415}.mockBody article small{color:#d71920;font-size:7px;font-weight:900}.mockBody article h2{font-size:17px;margin:5px 0 13px}.kpiMock{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.kpiMock i{font-style:normal;background:#fff;border:1px solid #eadbdd;padding:9px}.kpiMock b{display:block;color:#d71920;font-size:15px}.kpiMock span{font-size:6px;color:#75696c}.orderMock{margin-top:10px;background:#fff;border-left:3px solid #d71920;padding:9px;display:flex;justify-content:space-between;font-size:7px}.orderMock span{color:#8c7e81}
.kitchenScreen{width:42%;height:39%;right:4%;bottom:10%;z-index:3;border-radius:8px;transform:rotate(2deg)}.kitchenBody{padding:16px;display:flex;flex-direction:column;gap:8px;background:#f7f5f4;color:#181214;height:calc(100% - 37px)}.kitchenBody small{color:#d71920;font-size:7px;font-weight:900}.kitchenBody>b{font-size:13px}.kitchenBody i{font-style:normal;font-size:7px;background:#fff;border-left:3px solid #d71920;padding:7px;box-shadow:0 3px 10px #0001}
.phoneMock{position:absolute;left:5%;bottom:8%;z-index:4;width:115px;height:220px;border:6px solid #151112;border-radius:20px;background:#fff;box-shadow:0 20px 40px #0008;padding:20px 9px 8px;color:#171214;display:flex;flex-direction:column;gap:9px}.phoneMock b{width:30px;height:30px;border-radius:8px;background:#d71920;color:#fff;display:grid;place-items:center;font-size:9px}.phoneMock>span{font-size:8px;font-weight:900}.phoneMock i{font-style:normal;background:#fff3f3;border:1px solid #f1d9db;padding:8px;font-size:7px;font-weight:700}
.showBadges{position:absolute;right:5%;top:6%;display:flex;gap:7px}.showBadges span{border:1px solid #d71920;color:#ff7379;padding:7px 9px;font-size:7px;font-weight:900;letter-spacing:1px}
@media(max-width:900px){.product-showcase{height:440px}.mainScreen{width:82%;left:10%;top:10%}.kitchenScreen{width:55%;right:3%}.phoneMock{transform:scale(.75);transform-origin:bottom left}}

/* Approved EF Snack hero artwork */
.heroImage{background:#090708!important;clip-path:none!important;display:flex!important;align-items:center;justify-content:center;overflow:hidden;padding:0!important}
.heroImage img{width:100%;height:100%;object-fit:contain;display:block}
@media(min-width:901px){.hero{grid-template-columns:38% 62%;background:rgba(12,8,9,.86)}.heroText{color:#fff;background:linear-gradient(90deg,rgba(9,7,8,.97),rgba(24,10,12,.92));padding-left:6vw}.heroText>p{color:#d9ccca}.secondary{background:#1b1416;color:#fff;border-color:#60383c}.mini{color:#d6c8c6}}

/* Hero artwork must reach the bottom edge: remove residual black band */
@media(min-width:901px){
  .heroImage{height:100%;align-self:stretch;background:#090708!important}
  .heroImage img{width:100%;height:100%;object-fit:cover;object-position:center center}
}

/* Show the complete approved hero artwork without horizontal cropping */
@media(min-width:901px){
  .heroImage{height:100%;background:#090708!important;overflow:hidden!important}
  .heroImage img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important}
}

/* Typography aligned to approved EF Snack artwork */
:root{--ef-font:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif}
body,.nav,.nav a,.navcta,.brand,.hero,.hero p,.actions a,.mini,footer{font-family:var(--ef-font)}
h1,h2,h3,.eyebrow,.sectionTitle small,.featureIntro small,.who small,.demo small,.chips span{font-family:var(--ef-font);font-style:normal}
h1,h2,h3{font-weight:700;letter-spacing:-1.6px}
.hero h1{font-weight:700;letter-spacing:-2.5px;line-height:.94}
.eyebrow,.sectionTitle small,.featureIntro small,.who small,.demo small{font-weight:700;letter-spacing:1.4px}
.heroText>p{font-weight:400;letter-spacing:.05px}
.actions a,.nav a,.navcta{font-weight:700}

/* Toolbar: SNACK-inspired condensed uppercase lettering, solid EF red */
.nav nav a{
  font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:900!important;
  font-style:italic;
  text-transform:uppercase;
  letter-spacing:-.35px!important;
  color:#e31924!important;
}
.nav nav a:hover{color:#b90f18!important}
.nav nav a:after{background:#e31924!important}

/* Official EF Snack transparent logo in toolbar */
.nav .brandLogo{display:flex;align-items:center;width:245px;height:70px;overflow:visible}
.nav .brandLogo img{display:block;width:auto;height:62px;max-width:245px;object-fit:contain;object-position:left center}
@media(max-width:900px){.nav .brandLogo{width:180px;height:60px}.nav .brandLogo img{height:50px;max-width:180px}}

/* Expand official logo across the full left toolbar area, preserving proportions */
@media(min-width:901px){
  .nav{grid-template-columns:minmax(330px,27vw) 1fr 190px}
  .nav .brandLogo{width:100%!important;height:78px!important;justify-content:flex-start}
  .nav .brandLogo img{width:100%!important;height:72px!important;max-width:none!important;object-fit:contain!important;object-position:left center!important}
}

/* New official toolbar logo: maximum possible height */
@media(min-width:901px){
 .nav .brandLogo{height:78px!important;width:100%!important;overflow:visible!important}
 .nav .brandLogo img{height:76px!important;width:auto!important;max-height:76px!important;max-width:100%!important;object-fit:contain!important;object-position:left center!important}
}

/* Slightly larger hero eyebrow */
.hero .eyebrow{font-size:12px!important}

/* Blend hero artwork into the surrounding dark page */
.heroImage{position:relative;background:#0b0708!important}
.heroImage:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 34px 0 38px #0b0708,inset -18px 0 28px #0b0708,inset 0 30px 32px #0b0708,inset 0 -34px 38px #0b0708}
.heroImage img{display:block;filter:none}
@media(min-width:901px){
 .hero,.heroText{background:#0b0708!important}
 .heroImage{background:#0b0708!important}
 .heroImage img{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 93%,transparent 100%),linear-gradient(to right,transparent 0,#000 5%,#000 98%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 93%,transparent 100%)}
}

/* ===== EF Snack - Funzionalità ===== */
.featuresPage{height:100vh;overflow:hidden;background:#090708;color:#fff}
.featuresPage .nav{position:relative}
.featuresPage .nav nav a.active{color:#a80d15!important}
.featuresScreen{height:calc(100vh - 78px);padding:clamp(24px,3.6vh,42px) 6vw 28px;background:radial-gradient(circle at 82% 12%,#e3192424 0,transparent 28%),linear-gradient(115deg,#080607 0%,#170a0c 55%,#090708 100%);display:grid;grid-template-rows:auto 1fr;gap:clamp(18px,2.8vh,30px)}
.featuresHead{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:7vw}
.featuresHead span{font-family:var(--ef-font);font-size:12px;font-weight:900;letter-spacing:1.7px;color:var(--red)}
.featuresHead h1{font-family:var(--ef-font);font-size:clamp(42px,4.4vw,67px);line-height:.88;letter-spacing:-2.5px;margin:10px 0 0;text-transform:none}
.featuresHead h1 em{font-style:normal;color:var(--red)}
.featuresHead>p{max-width:510px;margin:0 0 3px;color:#d5c9c7;font:400 16px/1.55 var(--ef-font)}
.featureCards{min-height:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:13px}
.fCard{position:relative;min-height:0;padding:clamp(16px,2vh,23px);border:1px solid #552328;background:linear-gradient(145deg,#1b1214e8,#100c0de8);color:#fff;overflow:hidden;transition:.22s ease;box-shadow:0 16px 35px #0003}
.fCard:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 55%,#e319240e);pointer-events:none}
.fCard:hover{transform:translateY(-4px);border-color:#e31924;box-shadow:0 18px 40px #0008,0 0 24px #e319241d}
.fCard.featured{background:linear-gradient(145deg,#e31924,#8f0c13);border-color:#e31924}
.fCard>b{position:absolute;right:18px;top:15px;color:#ffffff55;font:900 11px var(--ef-font)}
.fIcon{width:40px;height:40px;border:1px solid #e31924;color:#e31924;display:grid;place-items:center;font-size:20px;margin-bottom:clamp(8px,1.4vh,14px)}
.featured .fIcon{border-color:#fff;color:#fff}
.fCard h2{font:900 clamp(19px,1.6vw,25px)/1 var(--ef-font);letter-spacing:-.5px;margin:0 0 8px}
.fCard p{max-width:90%;font:400 12px/1.45 var(--ef-font);color:#bfaeb0;margin:0}
.featured p{color:#fff}
.fCard>span{position:absolute;left:clamp(16px,2vh,23px);bottom:15px;font:900 9px var(--ef-font);letter-spacing:1px;color:#e31924}
.featured>span{color:#fff}
@media(max-width:900px){.featuresPage{height:auto;overflow:auto}.featuresScreen{height:auto;min-height:calc(100vh - 78px);padding:35px 20px}.featuresHead{grid-template-columns:1fr;gap:18px}.featuresHead h1{font-size:47px}.featureCards{grid-template-columns:1fr;grid-template-rows:none}.fCard{min-height:190px}}

/* Home hero artwork: no overlap, no visible top/bottom bands */
@media(min-width:901px){
  .hero{grid-template-columns:38% 62%!important}
  .heroText{position:relative;z-index:2}
  .heroImage{position:relative;z-index:1;width:100%;height:100%;overflow:hidden;background:transparent!important}
  .heroImage img{
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    transform:none!important;
  }
  /* dark page background visually absorbs the black artwork margins */
  .hero,.heroImage{background-color:#090708!important}
}

/* Functionality page rebuilt to visually continue the Home */
.homeMatched{background:#090708!important}
.fmScreen{height:calc(100vh - 78px);overflow:hidden;display:grid;grid-template-columns:37% 63%;background:#090708}
.fmIntro{padding:8vh 4.8vw;background:linear-gradient(90deg,#090708 0%,#12090b 100%);display:flex;flex-direction:column;justify-content:center}
.fmIntro>span{font:900 12px var(--ef-font);letter-spacing:1.8px;color:#ed1c24}
.fmIntro h1{margin:18px 0 22px;font:900 clamp(50px,4.7vw,76px)/.96 var(--ef-font);letter-spacing:-3px;color:#fff}
.fmIntro h1 em{display:block;font-style:normal;color:#ed1c24}
.fmIntro p{max-width:520px;margin:0;font:400 16px/1.6 var(--ef-font);color:#d7cdcb}
.fmGrid{position:relative;padding:6vh 4vw 6vh 2vw;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);gap:12px;background:linear-gradient(90deg,#12090b,#090708)}
.fmGrid article{position:relative;padding:22px 25px;border:1px solid #5d171c;background:linear-gradient(135deg,#180d0f,#0c090a);display:flex;flex-direction:column;justify-content:center;transition:.2s ease}
.fmGrid article:hover{border-color:#ed1c24;transform:translateX(4px);background:linear-gradient(135deg,#260e12,#0d090a)}
.fmGrid article:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;background:#ed1c24}
.fmGrid i{position:absolute;right:18px;top:15px;font:900 11px var(--ef-font);font-style:normal;color:#ed1c2466}
.fmGrid h2{margin:0 0 8px;font:900 clamp(19px,1.5vw,26px)/1 var(--ef-font);letter-spacing:-.6px;color:#fff}
.fmGrid p{margin:0;font:400 12px/1.4 var(--ef-font);color:#c9bcbc}
@media(max-width:900px){.homeMatched{overflow:auto!important}.fmScreen{height:auto;display:block}.fmIntro{padding:45px 22px}.fmIntro h1{font-size:48px}.fmGrid{padding:15px 20px 35px;grid-template-columns:1fr;grid-template-rows:none}.fmGrid article{min-height:120px}}

/* ===== FINAL HOME 2026 ===== */
.finalHome{height:100vh;overflow:hidden;background:#090708;color:#fff}
.finalHome .nav{height:78px;min-height:78px;background:#fff;border-bottom:1px solid #e6dddd}
.finalHome .nav nav{height:100%;display:flex;align-items:center;justify-content:center;gap:30px}
.finalHome .nav nav a{position:relative;text-decoration:none;color:#e31924!important;font-family:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif!important;font-size:14px!important;font-weight:900!important;font-style:italic;text-transform:uppercase;letter-spacing:-.3px;white-space:nowrap}
.finalHome .nav nav a:hover{color:#9e0b12!important}
.finalHome .nav nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:-9px;height:2px;background:#e31924;transition:.2s}
.finalHome .nav nav a:hover:after{left:0;right:0}
.finalHome .navcta{background:#171314;color:#fff!important;border-radius:4px}
.finalHero{height:calc(100vh - 78px);display:grid;grid-template-columns:37.5% 62.5%;background:#090708;overflow:hidden}
.finalCopy{position:relative;z-index:2;padding:0 3vw 0 5.5vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#090708 0%,#090708 76%,#0c0809 100%)}
.finalEyebrow{margin-bottom:20px;color:#ed1c24;font:900 12px var(--ef-font);letter-spacing:1.6px}
.finalCopy h1{margin:0;color:#fff;font:900 clamp(56px,4.65vw,78px)/.97 var(--ef-font);letter-spacing:-3px}
.finalCopy h1 strong{display:block;color:#ed1c24;font:inherit}
.finalCopy p{margin:28px 0 0;color:#eee4e2;font:400 clamp(14px,1.05vw,17px)/1.7 var(--ef-font)}
.finalArtwork{position:relative;min-width:0;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#090708}
.finalArtwork:before{content:"";position:absolute;z-index:2;left:-1px;top:0;bottom:0;width:42px;background:linear-gradient(90deg,#090708,transparent);pointer-events:none}
.finalArtwork img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}
@media(max-width:1100px) and (min-width:901px){.finalHome .nav nav{gap:18px}.finalHero{grid-template-columns:40% 60%}.finalCopy{padding-left:4vw}.finalCopy h1{font-size:54px}}
@media(max-width:900px){.finalHome{height:auto;min-height:100vh;overflow:auto}.finalHome .nav{height:auto;min-height:68px}.finalHome .nav nav{display:none}.finalHero{height:auto;min-height:calc(100vh - 68px);display:flex;flex-direction:column}.finalCopy{padding:45px 24px 30px}.finalCopy h1{font-size:49px}.finalArtwork{height:auto}.finalArtwork img{width:100%;height:auto}.finalArtwork:before{display:none}}

/* Final image-led Home. Real HTML toolbar stays clickable above artwork. */
.finalHome .nav{position:relative;z-index:20}
.visualHome{height:calc(100vh - 78px);width:100%;overflow:hidden;background:#090708;display:flex;align-items:center;justify-content:center}
.visualHome img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom}
/* Artwork itself contains a decorative header: crop only that non-interactive strip */
@media(min-width:901px){.visualHome img{height:calc(100% + 6.2vw);margin-top:-6.2vw;object-fit:cover;object-position:center bottom}}
@media(max-width:900px){.visualHome{height:auto;min-height:calc(100vh - 68px)}.visualHome img{width:100%;height:auto;object-fit:contain}}

/* Keep all artwork copy below the real clickable toolbar */
@media(min-width:901px){
  .visualHome{height:calc(100vh - 78px)!important;align-items:flex-start!important}
  .visualHome img{
    width:100%!important;
    height:auto!important;
    min-height:100%!important;
    margin-top:0!important;
    transform:translateY(0)!important;
    object-fit:cover!important;
    object-position:center top!important;
  }
}

/* Requested home framing: lower the artwork and preserve the exact composition */
@media(min-width:901px){
  .visualHome{
    height:calc(100vh - 78px)!important;
    padding-top:34px!important;
    box-sizing:border-box!important;
    align-items:flex-start!important;
    overflow:hidden!important;
    background:#090708!important;
  }
  .visualHome img{
    width:100%!important;
    height:calc(100% - 34px)!important;
    min-height:0!important;
    margin:0!important;
    transform:none!important;
    object-fit:contain!important;
    object-position:center top!important;
  }
}

/* Home artwork without embedded toolbar: fill every pixel below real toolbar */
@media(min-width:901px){
 .visualHome{height:calc(100vh - 78px)!important;width:100%!important;padding:0!important;margin:0!important;overflow:hidden!important;background:#090708!important;display:block!important}
 .visualHome img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;transform:none!important;object-fit:cover!important;object-position:center center!important}
}

/* Final home framing: show the complete artwork below toolbar, no crop */
@media(min-width:901px){
  .visualHome{
    height:calc(100vh - 78px)!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#090708!important;
  }
  .visualHome img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:0!important;
    transform:none!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* Home artwork replacement — preserve source quality, no browser enlargement/crop */
@media(min-width:901px){
 .visualHome{height:calc(100vh - 78px)!important;width:100%!important;padding:0!important;margin:0!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#090708!important}
 .visualHome img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;max-width:100%!important;max-height:100%!important;margin:0!important;transform:none!important;object-fit:contain!important;object-position:center center!important;image-rendering:auto!important}
}

/* HOME 2026-10-06 23:59 — full available viewport */
@media (min-width:901px){
  html,body{height:100%;margin:0;overflow:hidden}
  .visualHome{
    position:relative!important;
    width:100vw!important;
    height:calc(100vh - 78px)!important;
    margin:0!important;padding:0!important;
    overflow:hidden!important;
    background:#080506!important;
    display:block!important;
  }
  .visualHome img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    object-fit:cover!important;
    object-position:center center!important;
    image-rendering:auto!important;
    transform:translateZ(0);
  }
}

/* Interactive image-based Functionality page */
.featureVisualPage{height:100vh;overflow:hidden;background:#090708}
.featureVisualPage .nav{position:relative;z-index:30}
.featureVisual{position:relative;width:100vw;height:calc(100vh - 78px);overflow:hidden;background:#090708}
.featureVisual>img{display:block;width:100%;height:100%;object-fit:fill;object-position:center}
.featureHotspot{position:absolute;z-index:5;border:0;background:transparent;cursor:pointer;border-radius:14px}
.featureHotspot:after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:inherit;transition:.18s}
.featureHotspot:hover:after{border-color:rgba(237,28,36,.9);box-shadow:0 0 22px rgba(237,28,36,.25)}
.hs1{left:1.9%;top:48.3%;width:32.1%;height:24.5%}.hs2{left:34.7%;top:48.3%;width:30.8%;height:24.5%}.hs3{left:66.2%;top:48.3%;width:31.9%;height:24.5%}
.hs4{left:1.9%;top:74.2%;width:32.1%;height:23.8%}.hs5{left:34.7%;top:74.2%;width:30.8%;height:23.8%}.hs6{left:66.2%;top:74.2%;width:31.9%;height:23.8%}
.hsAI{left:75.8%;top:6.5%;width:22.5%;height:30.5%}
.featureModal{position:fixed;z-index:100;inset:0;background:rgba(4,2,3,.76);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.2s}
.featureModal.open{opacity:1;visibility:visible}.featureModalCard{position:relative;width:min(560px,88vw);padding:38px 42px;background:linear-gradient(145deg,#1c0b0e,#090708);border:1px solid #ed1c24;border-radius:18px;box-shadow:0 24px 80px #000;color:#fff}
.featureModalTag{font:900 12px var(--ef-font);letter-spacing:2px;color:#ed1c24}.featureModalCard h2{margin:12px 0 14px;font:900 34px/1 var(--ef-font);color:#fff}.featureModalCard p{margin:0;font:400 17px/1.6 var(--ef-font);color:#e8dddd}
.featureClose{position:absolute;right:17px;top:12px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}
@media(max-width:900px){.featureVisualPage{height:auto;overflow:auto}.featureVisual{height:auto;aspect-ratio:16/9}.featureVisualPage .nav nav{display:none}}

/* Fit full artwork vertically on desktop so bottom feature cards remain visible */
@media(min-width:901px){
 .visualHome{
   height:calc(100vh - 78px)!important;
   display:flex!important;
   align-items:center!important;
   justify-content:center!important;
   overflow:hidden!important;
   background:#090708!important;
 }
 .visualHome img{
   position:static!important;
   width:auto!important;
   height:100%!important;
   max-width:100%!important;
   max-height:100%!important;
   object-fit:contain!important;
   object-position:center center!important;
   margin:0 auto!important;
   transform:none!important;
 }
}

/* Hotspots share the exact same 16:9 canvas as the functionality artwork */
.featureVisual{display:flex!important;align-items:center!important;justify-content:center!important}
.featureCanvas{position:relative;height:100%;aspect-ratio:16/9;max-width:100%;overflow:hidden}
.featureCanvas>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill}
.featureCanvas .featureHotspot{position:absolute}
@media(min-width:901px){
 .hs1{left:1.95%;top:48.25%;width:32.0%;height:24.35%}
 .hs2{left:34.65%;top:48.25%;width:30.85%;height:24.35%}
 .hs3{left:66.2%;top:48.25%;width:31.85%;height:24.35%}
 .hs4{left:1.95%;top:74.15%;width:32.0%;height:23.7%}
 .hs5{left:34.65%;top:74.15%;width:30.85%;height:23.7%}
 .hs6{left:66.2%;top:74.15%;width:31.85%;height:23.7%}
 .hsAI{left:75.9%;top:6.6%;width:22.35%;height:30.35%}
}

/* Restore approved full-size Functionality artwork; hotspots mapped to the rendered image */
.featureVisual{position:relative!important;width:100vw!important;height:calc(100vh - 78px)!important;display:block!important;overflow:hidden!important;background:#090708!important}
.featureVisual>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;object-position:center!important}
.featureVisual .featureHotspot{position:absolute!important;z-index:8!important;margin:0!important;padding:0!important}
/* Exact regions on Immagine 2026-10-07 000650.png */
.featureVisual .hs1{left:1.95%!important;top:48.30%!important;width:32.05%!important;height:24.25%!important}
.featureVisual .hs2{left:34.65%!important;top:48.30%!important;width:30.85%!important;height:24.25%!important}
.featureVisual .hs3{left:66.15%!important;top:48.30%!important;width:31.90%!important;height:24.25%!important}
.featureVisual .hs4{left:1.95%!important;top:74.15%!important;width:32.05%!important;height:23.65%!important}
.featureVisual .hs5{left:34.65%!important;top:74.15%!important;width:30.85%!important;height:23.65%!important}
.featureVisual .hs6{left:66.15%!important;top:74.15%!important;width:31.90%!important;height:23.65%!important}
.featureVisual .hsAI{left:75.85%!important;top:6.55%!important;width:22.35%!important;height:30.40%!important}

/* TEMP DEBUG ONLY: show hotspot boundaries. Do not alter artwork/layout. */
.featureVisual .featureHotspot{background:rgba(0,255,80,.12)!important;outline:3px solid #00ff50!important;outline-offset:-3px!important}
.featureVisual .hsAI{background:rgba(0,170,255,.14)!important;outline-color:#00aaff!important}

/* Pixel-calibrated from 1600x900 deployed screenshot. Artwork unchanged. */
.featureVisual .hs1{left:1.81%!important;top:38.23%!important;width:32.25%!important;height:24.08%!important}
.featureVisual .hs2{left:34.63%!important;top:38.23%!important;width:30.88%!important;height:24.08%!important}
.featureVisual .hs3{left:66.25%!important;top:38.23%!important;width:32.38%!important;height:24.08%!important}
.featureVisual .hs4{left:1.81%!important;top:63.54%!important;width:32.25%!important;height:25.31%!important}
.featureVisual .hs5{left:34.63%!important;top:63.54%!important;width:30.88%!important;height:25.31%!important}
.featureVisual .hs6{left:66.25%!important;top:63.54%!important;width:32.38%!important;height:25.31%!important}
.featureVisual .hsAI{left:75.94%!important;top:5.99%!important;width:22.69%!important;height:28.84%!important}

/* Final hotspot calibration from deployed screenshot 1600x900. Artwork/layout untouched. */
.featureVisual .hs1{left:1.56%!important;top:41.35%!important;width:32.31%!important;height:20.22%!important}
.featureVisual .hs2{left:34.44%!important;top:41.35%!important;width:30.81%!important;height:20.22%!important}
.featureVisual .hs3{left:66.13%!important;top:41.35%!important;width:32.31%!important;height:20.22%!important}
.featureVisual .hs4{left:1.56%!important;top:63.00%!important;width:32.31%!important;height:25.43%!important}
.featureVisual .hs5{left:34.44%!important;top:63.00%!important;width:30.81%!important;height:25.43%!important}
.featureVisual .hs6{left:66.13%!important;top:63.00%!important;width:32.31%!important;height:25.43%!important}
.featureVisual .hsAI{left:75.81%!important;top:5.25%!important;width:22.63%!important;height:24.69%!important}

/* Final hotspot alignment: match the red card borders exactly. Artwork untouched. */
.featureVisual .hs1{left:1.75%!important;top:40.55%!important;width:32.15%!important;height:21.65%!important}
.featureVisual .hs2{left:34.55%!important;top:40.55%!important;width:30.95%!important;height:21.65%!important}
.featureVisual .hs3{left:66.20%!important;top:40.55%!important;width:32.35%!important;height:21.65%!important}
.featureVisual .hs4{left:1.75%!important;top:62.95%!important;width:32.15%!important;height:25.45%!important}
.featureVisual .hs5{left:34.55%!important;top:62.95%!important;width:30.95%!important;height:25.45%!important}
.featureVisual .hs6{left:66.20%!important;top:62.95%!important;width:32.35%!important;height:25.45%!important}
.featureVisual .hsAI{left:76.00%!important;top:5.20%!important;width:22.60%!important;height:26.20%!important}

/* Production: calibration overlays removed. Keep hotspots clickable but fully invisible. */
.featureVisual .featureHotspot,
.featureVisual .featureHotspot:hover,
.featureVisual .featureHotspot:focus,
.featureVisual .featureHotspot:active{
 background:transparent!important;
 outline:none!important;
 box-shadow:none!important;
}
.featureVisual .featureHotspot:after,
.featureVisual .featureHotspot:hover:after,
.featureVisual .featureHotspot:focus:after{
 content:none!important;
 display:none!important;
 border:0!important;
 box-shadow:none!important;
}
/* Preserve source artwork as cleanly as possible in-browser; no filters or scaling effects. */
.featureVisual>img{
 filter:none!important;
 image-rendering:auto!important;
 transform:none!important;
}

/* =========================================================
   EF SNACK — GLOBAL VISUAL STANDARD
   Applies to Home, Funzionalita and every current/future page.
   ========================================================= */
:root{
 --ef-header-h:78px;
 --ef-page-bg:#090708;
 --ef-red:#ed1c24;
 --ef-white:#fff;
}
html,body{margin:0;background:var(--ef-page-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.nav{
 height:var(--ef-header-h)!important;
 min-height:var(--ef-header-h)!important;
 box-sizing:border-box!important;
 background:#fff!important;
}
.visualHome,.featureVisual,.efVisualPage{
 width:100vw!important;
 height:calc(100vh - var(--ef-header-h))!important;
 min-height:0!important;
 background:var(--ef-page-bg)!important;
 overflow:hidden!important;
}
/* One rendering standard for all photographic page artwork */
.visualHome>img,
.featureVisual>img,
.efVisualPage>img{
 display:block!important;
 backface-visibility:hidden!important;
 -webkit-backface-visibility:hidden!important;
 filter:none!important;
 image-rendering:auto!important;
 transform:none!important;
}
/* No calibration graphics in production */
.featureVisual .featureHotspot,
.featureVisual .featureHotspot:hover,
.featureVisual .featureHotspot:focus,
.featureVisual .featureHotspot:active{
 background:transparent!important;
 outline:0!important;
 border:0!important;
 box-shadow:none!important;
}
.featureVisual .featureHotspot:after{display:none!important;content:none!important}

/* HOME = FUNZIONALITA: identical viewport, dimensions and artwork positioning */
@media(min-width:901px){
 .finalHome .visualHome{
   position:relative!important;
   display:block!important;
   width:100vw!important;
   height:calc(100vh - 78px)!important;
   overflow:hidden!important;
   background:#090708!important;
 }
 .finalHome .visualHome>img{
   position:absolute!important;
   inset:0!important;
   width:100%!important;
   height:100%!important;
   max-width:none!important;
   max-height:none!important;
   margin:0!important;
   object-fit:fill!important;
   object-position:center center!important;
 }
}

/* EF Snack pricing page — same locked viewport standard as Home/Funzionalita */
.priceVisualPage{height:100vh!important;overflow:hidden!important;background:#090708}
.priceVisualPage .nav{position:relative!important;z-index:30}
.priceVisual{position:relative!important;width:100vw!important;height:calc(100vh - 78px)!important;overflow:hidden!important;background:#090708!important}
.priceVisual>img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:fill!important;object-position:center center!important;filter:none!important;image-rendering:auto!important}
.priceHotspot{position:absolute!important;z-index:10!important;display:block!important;background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;border-radius:40px!important}
/* centered precisely over the three red CTA buttons in Screenshot 2026-10-07 123935.png */
.priceBasic{left:4.45%!important;top:84.1%!important;width:28.25%!important;height:7.8%!important}
.pricePro{left:35.70%!important;top:84.1%!important;width:28.25%!important;height:7.8%!important}
.priceProMax{left:66.95%!important;top:84.1%!important;width:28.25%!important;height:7.8%!important}
@media(max-width:900px){.priceVisualPage{height:auto!important;overflow:auto!important}.priceVisual{height:auto!important;aspect-ratio:16/9}.priceVisualPage .nav nav{display:none}}

/* Pricing CTA hit areas: exact transparent overlays over the three red buttons */
.priceVisual .priceHotspot{
 position:absolute!important;
 z-index:50!important;
 display:block!important;
 visibility:visible!important;
 opacity:1!important;
 cursor:pointer!important;
 background:rgba(255,255,255,0)!important;
 border:0!important;
 outline:0!important;
 pointer-events:auto!important;
 border-radius:999px!important;
}
.priceVisual .priceBasic{left:4.40%!important;top:83.20%!important;width:28.45%!important;height:8.65%!important}
.priceVisual .pricePro{left:35.65%!important;top:83.20%!important;width:28.45%!important;height:8.65%!important}
.priceVisual .priceProMax{left:66.90%!important;top:83.20%!important;width:28.45%!important;height:8.65%!important}

/* TEMP DEBUG PREZZI: visible CTA calibration boxes only */
.priceVisual .priceHotspot{
 background:rgba(0,255,80,.20)!important;
 outline:4px solid #00ff50!important;
 outline-offset:-4px!important;
}
.priceVisual .pricePro{background:rgba(255,215,0,.20)!important;outline-color:#ffd700!important}
.priceVisual .priceProMax{background:rgba(0,170,255,.20)!important;outline-color:#00aaff!important}

/* Pricing CTA calibration from 2026-10-07 screenshot: exact red-button overlay */
.priceVisual .priceBasic{left:4.60%!important;top:77.45%!important;width:28.55%!important;height:6.15%!important}
.priceVisual .pricePro{left:36.35%!important;top:77.45%!important;width:28.30%!important;height:6.15%!important}
.priceVisual .priceProMax{left:67.95%!important;top:77.45%!important;width:28.25%!important;height:6.15%!important}
/* keep calibration visible for one verification screenshot */
.priceVisual .priceBasic{background:rgba(0,255,80,.20)!important;outline:4px solid #00ff50!important}
.priceVisual .pricePro{background:rgba(255,215,0,.20)!important;outline:4px solid #ffd700!important}
.priceVisual .priceProMax{background:rgba(0,170,255,.20)!important;outline:4px solid #00aaff!important}

/* Pricing CTA production state: calibrated positions locked, overlays fully invisible */
.priceVisual .priceHotspot,
.priceVisual .priceBasic,
.priceVisual .pricePro,
.priceVisual .priceProMax{
 background:transparent!important;
 outline:none!important;
 border:none!important;
 box-shadow:none!important;
}

/* EF Snack Contact — approved artwork + functional transparent HTML controls */
.contactVisualPage{height:100vh!important;overflow:hidden!important;background:#090708}
.contactVisualPage .nav{position:relative!important;z-index:30}
.contactVisual{position:relative!important;width:100vw!important;height:calc(100vh - 78px)!important;overflow:hidden!important;background:#090708!important}
.contactVisual>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;object-position:center center!important;display:block!important}
.contactOverlay{position:absolute!important;inset:0!important;z-index:10!important;margin:0!important;padding:0!important}
.contactOverlay .cf{position:absolute!important;z-index:12!important;margin:0!important;padding:0 1.1%!important;border:0!important;outline:0!important;background:rgba(9,18,25,.93)!important;color:#fff!important;font:400 1vw Arial,sans-serif!important;border-radius:8px!important;box-shadow:none!important}
.contactOverlay .cf::placeholder{color:#aeb3b8!important;opacity:1}
.contactOverlay select.cf{appearance:auto!important}
.contactOverlay .cfNome{left:53.40%!important;top:13.60%!important;width:20.55%!important;height:5.15%!important}
.contactOverlay .cfCognome{left:75.20%!important;top:13.60%!important;width:20.55%!important;height:5.15%!important}
.contactOverlay .cfAttivita{left:53.40%!important;top:23.55%!important;width:42.35%!important;height:5.15%!important}
.contactOverlay .cfEmail{left:53.40%!important;top:33.55%!important;width:20.55%!important;height:5.15%!important}
.contactOverlay .cfTelefono{left:75.20%!important;top:33.55%!important;width:20.55%!important;height:5.15%!important}
.contactOverlay .cfTipo{left:53.40%!important;top:43.50%!important;width:20.55%!important;height:5.15%!important}
.contactOverlay .cfTavoli{left:75.20%!important;top:43.50%!important;width:20.55%!important;height:5.15%!important}
.contactOverlay .cfMessaggio{left:53.40%!important;top:54.00%!important;width:42.35%!important;height:9.35%!important;padding-top:1%!important;resize:none!important}
.privacyHit{position:absolute!important;left:53.30%!important;top:64.55%!important;width:2.1%!important;height:3.2%!important;z-index:20!important;cursor:pointer!important}
.privacyHit input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;opacity:0!important;cursor:pointer!important}
.privacyHit span{position:absolute!important;left:18%!important;top:12%!important;width:55%!important;height:55%!important;background:#fff!important;border-radius:2px!important}
.privacyHit input:checked+span:after{content:"✓";position:absolute;inset:-30% 0 0 8%;color:#ed1c24;font:bold 1.4vw Arial,sans-serif}
.sendHit,.zoomHit{position:absolute!important;z-index:20!important;border:0!important;background:transparent!important;cursor:pointer!important;padding:0!important}
.sendHit{left:53.35%!important;top:69.00%!important;width:42.45%!important;height:7.25%!important}
.zoomDate{left:53.40%!important;top:91.05%!important;width:12.75%!important;height:5.10%!important}
.zoomTime{left:67.05%!important;top:91.05%!important;width:12.55%!important;height:5.10%!important}
.zoomHit{left:80.45%!important;top:90.55%!important;width:15.25%!important;height:6.10%!important}
.sendHit:hover,.zoomHit:hover{background:rgba(255,255,255,.05)!important}
@media(max-width:900px){.contactVisualPage{height:auto!important;overflow:auto!important}.contactVisual{height:auto!important;aspect-ratio:16/9}.contactVisualPage .nav nav{display:none}.contactOverlay .cf{font-size:10px!important}}

/* Contact privacy checkbox: center HTML checkbox exactly over artwork square */
.contactOverlay .privacyHit{
 left:53.42%!important;
 top:65.05%!important;
 width:1.35%!important;
 height:2.55%!important;
}
.contactOverlay .privacyHit span{
 left:0!important;top:0!important;width:100%!important;height:100%!important;
 box-sizing:border-box!important;
}
.contactOverlay .privacyHit input:checked+span:after{
 inset:-18% 0 0 12%!important;
 font-size:1.15vw!important;
}

/* Contact page: remove the consent row baked into artwork, as requested */
.contactVisual .privacyRowCover{
 position:absolute!important;
 z-index:18!important;
 left:52.7%!important;
 top:63.7%!important;
 width:43.6%!important;
 height:4.7%!important;
 background:#061018!important;
 pointer-events:none!important;
}

/* Remove tiny leftover checkbox/artwork fragment beside message field */
.contactVisual .privacyRowCover{
 left:52.35%!important;
 top:63.35%!important;
 width:44.1%!important;
 height:5.2%!important;
 background:#061018!important;
}

/* Make native calendar icon clearly visible on EF Snack video-call date field */
.contactOverlay .zoomDate{
 color-scheme:dark!important;
 padding-right:2.4%!important;
}
.contactOverlay .zoomDate::-webkit-calendar-picker-indicator{
 display:block!important;
 opacity:1!important;
 cursor:pointer!important;
 filter:invert(1)!important;
 width:18px!important;
 height:18px!important;
 margin-right:4px!important;
}

/* EF Snack Videoguide — locked full-screen visual standard */
.videoGuidePage{height:100vh!important;overflow:hidden!important;background:#090708}
.videoGuidePage .nav{position:relative!important;z-index:30}
.videoGuideVisual{position:relative!important;width:100vw!important;height:calc(100vh - 78px)!important;overflow:hidden!important;background:#090708!important}
.videoGuideVisual>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;object-position:center center!important;display:block!important;filter:none!important;image-rendering:auto!important}
.videoHotspots{position:absolute!important;inset:0!important;z-index:12!important}
.videoHotspots button{position:absolute!important;border:0!important;background:transparent!important;outline:0!important;box-shadow:none!important;cursor:pointer!important;border-radius:50%!important;width:4.1%!important;height:7.2%!important;padding:0!important}
.videoHotspots button:nth-child(1){left:21.2%!important;top:58.5%!important}.videoHotspots button:nth-child(2){left:45.1%!important;top:58.5%!important}.videoHotspots button:nth-child(3){left:69.0%!important;top:58.5%!important}.videoHotspots button:nth-child(4){left:92.4%!important;top:58.5%!important}
.videoHotspots button:nth-child(5){left:21.2%!important;top:84.7%!important}.videoHotspots button:nth-child(6){left:45.1%!important;top:84.7%!important}.videoHotspots button:nth-child(7){left:69.0%!important;top:84.7%!important}.videoHotspots button:nth-child(8){left:92.4%!important;top:84.7%!important}
.videoModal{position:fixed!important;inset:0!important;z-index:100!important;display:none!important;align-items:center!important;justify-content:center!important;background:rgba(0,0,0,.86)!important;padding:3vw!important}
.videoModal.open{display:flex!important}.videoModalCard{position:relative!important;width:min(1100px,88vw)!important;aspect-ratio:16/9!important;background:#050505!important;border:2px solid #ed1c24!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 0 45px rgba(237,28,36,.35)!important}
.videoModal video{width:100%!important;height:100%!important;object-fit:contain!important;background:#000!important}.videoModalClose{position:absolute!important;right:14px!important;top:10px!important;z-index:3!important;width:42px!important;height:42px!important;border:0!important;border-radius:50%!important;background:#ed1c24!important;color:#fff!important;font-size:30px!important;line-height:1!important;cursor:pointer!important}
.videoComingSoon{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;font:bold clamp(22px,3vw,48px) Arial,sans-serif!important;text-transform:uppercase!important}
@media(max-width:900px){.videoGuidePage{height:auto!important;overflow:auto!important}.videoGuideVisual{height:auto!important;aspect-ratio:16/9}.videoGuidePage .nav nav{display:none}}

/* Pricing annual promotion — top-left overlay */
.priceVisual .annualPromo{
 position:absolute!important;z-index:25!important;left:1.35%!important;top:2.2%!important;
 width:19.5%!important;box-sizing:border-box!important;padding:.75% 1.05%!important;
 background:rgba(5,5,7,.94)!important;border:2px solid #ed1c24!important;border-radius:14px!important;
 box-shadow:0 0 24px rgba(237,28,36,.35)!important;color:#fff!important;
 font-family:Arial,sans-serif!important;line-height:1.15!important;text-align:left!important;
}
.priceVisual .annualPromo strong{display:block!important;color:#ed1c24!important;font-size:1.05vw!important;margin-bottom:.35vw!important;letter-spacing:.04em!important}
.priceVisual .annualPromo span{display:block!important;font-size:.93vw!important;font-weight:700!important;margin:.14vw 0!important}
.priceVisual .annualPromo span b{color:#ed1c24!important;font-size:1.05vw!important}
.priceVisual .annualPromo small{display:block!important;margin-top:.38vw!important;color:#e5e5e5!important;font-size:.65vw!important;line-height:1.25!important}

/* Pricing promo: move annual offer to right side */
.priceVisual .annualPromo{
 left:auto!important;
 right:1.35%!important;
}


/* Launch corrections: usable navigation, controls and contact workflow. */
.launchPage{height:100dvh;overflow:hidden;color:#fff;background:#090708}.launchContent{max-width:1300px;margin:0 auto;padding:36px 5vw;height:calc(100dvh - 78px);overflow:auto}.launchIntro small{font-size:12px;font-weight:800;letter-spacing:1.4px;color:#ed1c24}.launchIntro h1{font-size:clamp(28px,3vw,44px);line-height:1.15;margin:16px 0}.launchIntro p{font-size:16px;line-height:1.6;color:#c8c4c4;max-width:650px}.demoCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.demoCards article,.launchForm{padding:24px;border:1px solid #493034;border-radius:18px;background:#151113}.demoCards span{font-size:12px;color:#f17b81}.demoCards h2{font-size:26px}.demoCards p{min-height:75px;font-size:16px;line-height:1.6;color:#c8c4c4}.launchButton{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:10px;background:#ed1c24;color:#fff;padding:12px 18px;font:700 15px Arial,sans-serif;cursor:pointer}.launchNote{font-size:14px;line-height:1.6;color:#c8c4c4}.launchNote a,.contactEmail,.draftFallback{color:#ff9da2;text-decoration:underline}.contactContent{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:start}.contactEmail{display:inline-block;font-size:22px;margin:12px 0}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.formGrid label{display:grid;gap:7px;font-size:14px;color:#ded8da}.formGrid .full{grid-column:1/-1}.launchForm input,.launchForm select,.launchForm textarea{min-width:0;width:100%;min-height:44px;border:1px solid #5e464c;border-radius:9px;padding:11px 12px;background:#090708;color:#fff;font:16px Arial,sans-serif;color-scheme:dark}.launchForm textarea{resize:vertical}.launchForm>.launchButton{margin-top:18px;width:100%}.callFields{margin:24px 0 0;padding:18px 0 0;border:0;border-top:1px solid #493034}.callFields legend{font-size:18px;font-weight:700;padding:0 8px 0 0}.callFields p{font-size:14px;line-height:1.5;color:#c8c4c4}.callFields .launchButton{width:100%;margin-top:14px}.draftFallback{display:inline-block;font-size:14px}.draftFallback[hidden]{display:none}.nav a:focus-visible,.launchButton:focus-visible,.launchForm :focus-visible{outline:3px solid #ed1c24;outline-offset:3px}.featureVisual .featureHotspot:focus-visible,.priceVisual .priceHotspot:focus-visible,.videoHotspots button:focus-visible{outline:3px solid #fff!important;outline-offset:-3px!important;box-shadow:0 0 0 3px #ed1c24!important}.mobileIntro{display:none}
@media(max-width:900px){
 :root{--ef-header-h:126px}
 .nav{height:126px!important;min-height:126px!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:68px 58px!important;padding:0 14px!important;gap:0 10px!important;position:relative!important}
 .nav .brandLogo{width:160px!important;height:auto!important}.nav .brandLogo img{width:100%!important;height:56px!important;object-fit:contain!important}.nav .navcta{grid-column:2!important;grid-row:1!important;padding:12px!important;font-size:10px!important}
 .nav nav{display:flex!important;grid-row:2!important;grid-column:1/-1!important;justify-self:stretch!important;align-items:center!important;gap:20px!important;overflow-x:auto!important;width:100%!important;min-width:0!important;height:58px!important;font-size:12px!important;white-space:nowrap!important}
 .nav nav a{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0}
 .launchContent{height:calc(100dvh - 126px);padding:24px 18px}.demoCards{grid-template-columns:1fr}.demoCards p{min-height:0}.contactContent{display:block}.launchForm{margin-top:24px;padding:18px}.launchIntro h1{font-size:30px}.formGrid{grid-template-columns:1fr}.formGrid .full{grid-column:auto}
 .finalHome,.featureVisualPage,.priceVisualPage,.videoGuidePage{height:auto!important;overflow:auto!important}
 .visualHome,.featureVisual,.priceVisual,.videoGuideVisual{height:auto!important;min-height:0!important;width:100%!important;aspect-ratio:16/9}
 .visualHome>img,.featureVisual>img,.priceVisual>img,.videoGuideVisual>img{position:absolute!important;width:100%!important;height:100%!important;inset:0!important;object-fit:fill!important}
 .mobileIntro{display:block;padding:22px 18px;color:#fff;background:#090708}.mobileIntro h1{font-size:30px;line-height:1.1;margin:0 0 12px}.mobileIntro p{font-size:16px;line-height:1.6;color:#d3cccf}.mobileIntro .launchButton{margin-top:8px}
 .featureVisual,.videoGuideVisual{aspect-ratio:auto!important;padding:18px!important}.featureVisual>img,.videoGuideVisual>img{display:none!important}.featureHotspot,.featureVisual .featureHotspot{position:static!important;display:block!important;width:100%!important;height:auto!important;min-height:60px!important;background:#211519!important;color:#fff!important;border:1px solid #6a3038!important;border-radius:12px!important;margin-bottom:12px!important;padding:18px!important;font:700 17px Arial,sans-serif!important;text-align:left!important;outline:none!important}
 .videoHotspots{position:static!important;display:grid!important;gap:12px!important}.videoHotspots button{position:static!important;width:100%!important;height:auto!important;min-height:60px!important;background:#211519!important;color:#fff!important;border:1px solid #6a3038!important;border-radius:12px!important;padding:18px!important;font:700 16px Arial,sans-serif!important;text-align:left!important}
 .priceVisual .annualPromo{position:static!important;display:block!important;width:auto!important;margin:14px!important;padding:14px!important;font-size:14px!important}.priceVisual .annualPromo strong,.priceVisual .annualPromo span,.priceVisual .annualPromo span b{font-size:14px!important}.priceVisual .annualPromo small{font-size:12px!important}.priceVisual{aspect-ratio:auto!important;padding-top:56.25%!important}.priceVisual>img{height:auto!important;aspect-ratio:16/9!important;top:0!important}.priceVisual .priceHotspot{top:calc((100vw * .5625) * .7745)!important;height:calc(100vw * .5625 * .0615)!important;min-height:0!important}
 .videoModalCard{width:94vw!important}.videoComingSoon{font-size:20px!important;text-align:center!important;padding:24px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.controlLabel{display:none}@media(max-width:900px){.controlLabel{display:inline}}

/* Audit: readable phone pricing and accessible modal close controls. */
.mobilePlans{display:none}.featureClose{width:44px;height:44px;display:grid;place-items:center;padding:0}.featureModalCard{max-height:calc(100dvh - 32px);overflow:auto}
@media(max-width:900px){
 .priceVisual{padding:0!important}.priceVisual>img,.priceVisual .priceHotspot{display:none!important}
 .mobilePlans{display:grid;gap:16px;padding:4px 18px 24px;color:#fff}.mobilePlans article{position:relative;background:#151113;border:1px solid #6a3038;border-radius:18px;padding:22px}.mobilePlans h2{font-size:26px;margin:0 0 10px}.mobilePlans p{font-size:16px;line-height:1.5;color:#c8c4c4}.mobilePlans strong{display:block;font-size:30px;color:#ff535a}.mobilePlans small{font-size:14px;color:#c8c4c4;font-weight:400}.mobilePlans ul{padding-left:20px;font-size:16px;line-height:1.8;color:#ded8da}.mobilePlans .launchButton{width:100%}.planBadge{display:block;margin-bottom:14px;font-size:12px;color:#ffd966;font-weight:700}
 .featureModalCard{padding:32px 24px}.featureModalCard h2{font-size:26px;padding-right:24px}.featureModalCard p{font-size:16px}
}

/* Closed dialogs must release background controls immediately. */
.featureModal:not(.open){pointer-events:none}.featureModal.open{pointer-events:auto}

/* Use the full-resolution source artwork, excluding its baked-in header. */
.finalHome .visualHome{position:relative!important}
.homeArtwork{position:absolute;inset:0;overflow:hidden}
.finalHome .homeArtwork>img{position:absolute!important;left:0!important;top:-9.929906542%!important;bottom:auto!important;width:100%!important;height:109.929906542%!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;transform:none!important;display:block!important;object-fit:fill!important;filter:none!important;image-rendering:auto!important}
@media(max-width:900px){.finalHome .visualHome{aspect-ratio:1672/856!important}}

/* Clean native pricing buttons cover the baked-in artwork edges. */
@media(min-width:901px){
.priceVisual .priceHotspot{top:76.75%!important;height:6.9%!important;background:#ff0715!important;border-radius:999px!important;box-shadow:0 0 0 3px #160504!important;color:#fff!important;font:700 clamp(14px,1.22vw,23px) Arial,sans-serif!important;display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important}
.priceVisual .priceBasic{left:4.48%!important;width:28.42%!important}
.priceVisual .pricePro{left:36.07%!important;width:28.25%!important}
.priceVisual .priceProMax{left:67.39%!important;width:28.3%!important}
.priceVisual .priceHotspot span:last-child{position:absolute;right:6%;font-size:1.65em;font-weight:400;line-height:1}
.priceVisual .priceHotspot:hover{background:#df0612!important}
}

@media(max-width:900px){.nav .brandLogo{grid-column:1/-1!important;justify-self:center!important}}

/* Demo: restaurant artwork and typography shared with the promotional pages. */
.demoVisualPage{background:#090708;color:#fff}
.demoContent{max-width:none;padding:0 4.5vw 18px;display:flex;flex-direction:column;gap:14px}
.demoHero{display:grid;grid-template-columns:38% 62%;min-height:0;flex:1;position:relative;border-bottom:1px solid #742027}
.demoHero .launchIntro{align-self:center;padding:22px 20px 22px 0;position:relative;z-index:1}
.demoHero .launchIntro small{font-family:var(--ef-font);font-size:14px;color:#ed1c24;font-weight:900;letter-spacing:1.5px}
.demoHero .launchIntro h1{font-family:var(--ef-font);font-size:clamp(34px,4.1vw,64px);font-weight:800;line-height:1.02;letter-spacing:-1.6px;margin:18px 0}
.demoHero h1 em{font-style:normal;color:#ed1c24}
.demoHero .launchIntro p{font-family:var(--ef-font);font-size:18px;line-height:1.5;color:#e6dedd;max-width:490px}
.demoArtwork{position:relative;overflow:hidden;min-height:200px}
.demoArtwork img{position:absolute;width:167%;max-width:none;height:120%;left:-67%;top:-12%;object-fit:fill;display:block}
.demoArtwork:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#090708,transparent 18%),linear-gradient(0deg,#090708,transparent 12%)}
.demoContent .demoCards{flex-shrink:0;gap:18px;margin:0}
.demoContent .demoCards article{background:linear-gradient(140deg,#230c10,#10090b);border:1px solid #ed1c24;border-radius:18px;padding:20px 24px;box-shadow:0 10px 30px #0005}
.demoContent .demoCards article>span{font-family:var(--ef-font);color:#ff545c;font-size:12px;font-weight:800;letter-spacing:1.2px}
.demoContent .demoCards h2{font-family:var(--ef-font);font-size:32px;font-weight:800;letter-spacing:-.5px;margin:10px 0}
.demoContent .demoCards p{font-family:var(--ef-font);font-size:16px;line-height:1.45;min-height:48px;margin:0 0 18px;color:#e1d6d7}
.demoContent .demoCards .launchButton{width:100%;border-radius:999px;background:#ff0715;font-family:var(--ef-font);font-size:16px;min-height:46px}
.demoContent .demoCards .launchButton:hover{background:#df0612}
.demoContent>.launchNote{font-family:var(--ef-font);font-size:14px;text-align:center;margin:0;flex-shrink:0}
@media(max-height:760px) and (min-width:901px){.demoHero .launchIntro h1{font-size:40px}.demoHero .launchIntro p{font-size:16px}.demoContent .demoCards article{padding:16px 20px}.demoContent .demoCards h2{font-size:28px}}
@media(max-width:900px){.demoContent{padding:0 18px 24px;height:calc(100dvh - 126px);display:block}.demoHero{grid-template-columns:1fr;gap:0;border-bottom:0}.demoHero .launchIntro{padding:26px 0 10px}.demoHero .launchIntro h1{font-size:38px}.demoHero .launchIntro p{font-size:17px}.demoArtwork{height:240px;min-height:0;margin:0 -18px 20px}.demoContent .demoCards{display:grid;grid-template-columns:1fr;gap:16px}.demoContent .demoCards p{min-height:0}.demoContent>.launchNote{margin-top:22px;text-align:left}}

/* Navigation labels use the same upright type family as the page headings. */
.nav nav a{font-family:var(--ef-font)!important;font-style:normal!important;font-weight:700!important;font-size:14px!important;letter-spacing:.25px!important;line-height:1.2!important;color:#e31924!important;text-transform:uppercase!important;display:inline-flex;align-items:center;min-height:44px}
.nav nav a:hover{color:#a80d15!important}

/* Contact: same artwork, red outlines and typography as the demo. */
.contactVisualModern .contactContent{max-width:1500px;padding:28px 4.5vw;gap:36px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.contactVisualModern .launchIntro{padding-top:18px;min-width:0}
.contactVisualModern .launchIntro small{font-family:var(--ef-font);font-size:14px;font-weight:900;letter-spacing:1.5px;color:#ed1c24}
.contactVisualModern .launchIntro h1{font-family:var(--ef-font);font-size:clamp(36px,3.8vw,58px);font-weight:800;line-height:1.05;letter-spacing:-1.4px;margin:18px 0;color:#fff}
.contactVisualModern .launchIntro p{font-family:var(--ef-font);font-size:18px;line-height:1.5;color:#e1d6d7;max-width:560px}
.contactVisualModern .contactEmail{font-family:var(--ef-font);color:#ff535a;font-weight:700;font-size:24px;margin:8px 0}
.contactVisualModern .launchIntro .launchNote{font-size:16px}
.contactArtwork{height:clamp(220px,30vh,340px);min-height:0;margin-top:26px;border-radius:18px;border:1px solid #742027;background:#090708}
.contactArtwork:after{background:linear-gradient(0deg,#090708bb,transparent 24%)}
.contactVisualModern .launchForm{background:linear-gradient(140deg,#230c10,#10090b);border:1px solid #ed1c24;border-radius:18px;padding:24px;box-shadow:0 10px 30px #0005}
.contactVisualModern .formGrid label{font-family:var(--ef-font);font-size:15px;color:#eee5e6;font-weight:700}
.contactVisualModern .launchForm input,.contactVisualModern .launchForm select,.contactVisualModern .launchForm textarea{background:#10090b;border-color:#754047;border-radius:10px;font-family:var(--ef-font);font-size:16px}
.contactVisualModern .launchForm .launchButton{font-family:var(--ef-font);font-size:16px;background:#ff0715;border-radius:999px;min-height:46px}
.contactVisualModern .launchForm .launchButton:hover{background:#df0612}.contactVisualModern .launchForm .launchButton:disabled{opacity:.65;cursor:wait}
.contactVisualModern .callFields{border-color:#742027;margin-top:20px;padding-top:16px}
.contactVisualModern .callFields legend{font-family:var(--ef-font);font-size:23px;font-weight:800;color:#fff}
.contactVisualModern .callFields p,.contactVisualModern #contactStatus{font-family:var(--ef-font);font-size:15px;line-height:1.5;color:#e1d6d7}
@media(max-width:900px){.contactVisualModern .contactContent{padding:22px 18px}.contactVisualModern .launchIntro{padding-top:0}.contactVisualModern .launchIntro h1{font-size:38px}.contactArtwork{height:220px;margin-top:20px}.contactVisualModern .launchForm{padding:20px;margin-top:22px}}

/* Keep demo devices in their native aspect ratio and exclude artwork captions. */
.demoHero .demoArtwork img{height:auto!important;top:0!important;object-fit:contain!important;transform:translateY(-9.1%);clip-path:inset(9.1% 0 12% 0)}

/* Contact devices retain the source image proportions, with no stretching. */
.contactVisualModern .contactArtwork{height:auto!important;aspect-ratio:4/3;max-height:none;overflow:hidden}
.contactVisualModern .contactArtwork img{height:auto!important;top:0!important;object-fit:contain!important;transform:translateY(-9.1%);clip-path:inset(9.1% 0 12% 0)}

/* Shared toolbar controls match the rounded red page buttons. */
.nav nav{gap:12px!important}
.nav nav a{padding:10px 16px!important;border:1px solid #ed1c24!important;border-radius:999px!important;justify-content:center;white-space:nowrap;background:#fff;transition:background .15s,color .15s}
.nav nav a:hover{background:#ed1c24!important;color:#fff!important}
@media(min-width:901px){.nav{grid-template-columns:220px minmax(0,1fr)!important}.nav nav{justify-self:center!important}.nav .brandLogo{max-width:220px!important}}
@media(max-width:900px){.nav nav{gap:10px!important}.nav nav a{padding:9px 14px!important}}

/* Demo and contact button labels match the pricing CTA typography exactly. */
.demoContent .demoCards .launchButton,.contactVisualModern .launchForm .launchButton{font:700 clamp(14px,1.22vw,23px) Arial,sans-serif!important;letter-spacing:normal!important;font-style:normal!important}

/* Smartphone layout: one document flow, native text and touch-sized controls. */
.menuToggle,.mobileProductVisual,.mobileFeatureDescription{display:none}
@media(max-width:900px){
 html{scroll-padding-top:90px}body{font-family:Arial,sans-serif!important;background:#090708!important;color:#fff!important;height:auto!important;min-height:100dvh;overflow:visible!important}
 .nav{position:sticky!important;top:0;z-index:60!important;height:76px!important;min-height:76px!important;padding:0 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;background:#fff!important;border-bottom:1px solid #eee!important;backdrop-filter:none}
 .nav .brandLogo{width:148px!important;height:60px!important;max-width:148px!important;grid-column:auto!important}.nav .brandLogo img{width:148px!important;height:58px!important;max-width:148px!important;object-fit:contain!important}
 .menuToggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #ed1c24;border-radius:999px;background:#fff;color:#a80d15;font:700 15px Arial,sans-serif;cursor:pointer}.menuToggle span{font-size:20px;line-height:1}
 .nav nav{display:none!important;position:absolute;top:76px;left:0;right:0;width:100%!important;height:auto!important;min-width:0!important;padding:14px 18px 18px;background:#fff;box-shadow:0 12px 24px #0005;overflow:visible!important;grid-template-columns:1fr 1fr;gap:10px!important;white-space:normal!important}
 .nav.menuOpen nav{display:grid!important}.nav nav a{font:700 13px Arial,sans-serif!important;min-height:46px;padding:10px 8px!important;margin:0!important;white-space:normal!important}.nav nav a:last-child{grid-column:1/-1}.nav nav a[aria-current=page]{background:#ed1c24!important;color:#fff!important}
 .mobileIntro{padding:28px 20px 24px!important;max-width:620px;margin:auto;background:#090708!important}.mobileIntro h1{font:800 clamp(30px,8.4vw,40px)/1.08 Arial,sans-serif!important;letter-spacing:-1px;margin:0 0 16px}.mobileIntro h1 em{font-style:normal;color:#ff2634}.mobileIntro p{font:400 17px/1.6 Arial,sans-serif!important;color:#ded5d7!important;margin:0 0 20px}
 .launchButton,.demoContent .demoCards .launchButton,.contactVisualModern .launchForm .launchButton{font:700 17px/1.3 Arial,sans-serif!important;min-height:50px!important;padding:13px 18px!important;border-radius:999px!important;white-space:normal;text-align:center}
 .mobileIntro .launchButton{width:100%;margin:0!important}.finalHome .visualHome{display:none!important}.mobileProductVisual{display:block;max-width:620px;margin:auto;padding:0 20px 32px}
 .mobileProductVisual .demoArtwork,.demoHero .demoArtwork,.contactVisualModern .contactArtwork{height:auto!important;aspect-ratio:4/3!important;min-height:0!important;margin:0!important;border:1px solid #742027;border-radius:18px;overflow:hidden}
 .mobileProductVisual .demoArtwork img,.demoHero .demoArtwork img,.contactVisualModern .contactArtwork img{width:167%!important;height:auto!important;max-width:none!important;left:-67%!important;top:0!important;object-fit:contain!important;transform:translateY(-9.1%)!important;clip-path:inset(9.1% 0 12% 0)}
 .mobileBenefits{display:grid;gap:14px;margin-top:20px}.mobileBenefits article{padding:18px;border:1px solid #742027;border-radius:16px;background:#1b0e11}.mobileBenefits strong{font-size:19px}.mobileBenefits p{font-size:16px;line-height:1.5;color:#ded5d7;margin:8px 0 0}
 .featureVisual,.videoGuideVisual{max-width:620px;margin:auto;padding:0 20px 32px!important;display:grid;gap:14px;aspect-ratio:auto!important;height:auto!important;min-height:0!important}
 .featureVisual .featureHotspot{position:relative!important;margin:0!important;padding:20px 50px 20px 20px!important;border:1px solid #9a303b!important;border-radius:16px!important;background:linear-gradient(135deg,#250d12,#10090b)!important;font:700 19px/1.3 Arial,sans-serif!important;min-height:102px!important;box-shadow:none!important;overflow:visible;text-align:left!important}
 .featureVisual .featureHotspot:after{content:'›';position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:30px;color:#ff4652}.mobileFeatureDescription{display:block;font:400 15px/1.5 Arial,sans-serif;color:#ded5d7;margin-top:8px}
 .videoHotspots{gap:14px!important}.videoHotspots button{display:flex!important;align-items:center;gap:14px;min-height:88px!important;padding:18px!important;font:700 17px/1.5 Arial,sans-serif!important;background:linear-gradient(135deg,#250d12,#10090b)!important;border:1px solid #9a303b!important;border-radius:16px!important}.videoHotspots button:before{content:'▶';flex-shrink:0;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#ed1c24;color:#fff;font-size:14px}
 .priceVisual{max-width:620px!important;margin:auto;width:100%!important;height:auto!important;aspect-ratio:auto!important;padding:0 20px 32px!important;display:block!important}.priceVisual .annualPromo{margin:0 0 18px!important;padding:18px!important;border:1px solid #ed1c24!important;border-radius:16px!important;box-shadow:none!important}.priceVisual .annualPromo strong{font-size:18px!important}.priceVisual .annualPromo span,.priceVisual .annualPromo span b{font-size:17px!important;margin-top:8px!important}.priceVisual .annualPromo small{font-size:13px!important;line-height:1.5!important;margin-top:12px!important}
 .mobilePlans{padding:0!important;gap:18px}.mobilePlans article{padding:24px!important;border:1px solid #9a303b;background:linear-gradient(135deg,#250d12,#10090b)}.mobilePlans h2{font:800 29px/1.2 Arial,sans-serif;letter-spacing:-.5px}.mobilePlans strong{font:800 34px/1.2 Arial,sans-serif}.mobilePlans strong small{display:block;margin-top:6px;font-size:14px}.mobilePlans ul{font-size:16px;line-height:1.65;margin:20px 0;padding-left:20px}.mobilePlans li{margin:8px 0}.planBadge{font-size:13px;border:1px solid #9d823e;border-radius:999px;padding:7px 10px;width:max-content;max-width:100%}
 .launchContent,.demoContent,.contactVisualModern .contactContent{height:auto!important;min-height:0!important;overflow:visible!important;max-width:620px!important;margin:auto!important;width:100%!important;padding:28px 20px 32px!important;display:block!important}
 .demoHero{display:block!important}.demoHero .launchIntro,.contactVisualModern .launchIntro{padding:0!important}.demoHero .launchIntro h1,.contactVisualModern .launchIntro h1{font:800 34px/1.08 Arial,sans-serif!important;letter-spacing:-1px!important;margin:14px 0 18px!important}.demoHero .launchIntro small,.contactVisualModern .launchIntro small{font:800 12px/1.5 Arial,sans-serif!important;letter-spacing:1.2px}.demoHero .launchIntro p,.contactVisualModern .launchIntro p{font:400 17px/1.6 Arial,sans-serif!important;margin:0 0 20px!important}
 .demoHero .demoArtwork{margin-top:24px!important;margin-bottom:22px!important}.demoContent .demoCards{margin:0!important;gap:16px!important}.demoContent .demoCards article{padding:22px!important}.demoContent .demoCards h2{font:800 28px/1.2 Arial,sans-serif!important}.demoContent .demoCards p{font:400 16px/1.6 Arial,sans-serif!important;margin-bottom:20px!important}.demoContent>.launchNote{font:400 14px/1.6 Arial,sans-serif!important;margin-top:22px!important}
 .contactVisualModern .contactEmail{font:700 22px/1.3 Arial,sans-serif!important;margin:0 0 18px!important;overflow-wrap:anywhere}.contactVisualModern .launchIntro .launchNote{font-size:15px!important}.contactVisualModern .contactArtwork{margin:20px 0 24px!important}.contactVisualModern .launchForm{margin:0!important;padding:20px!important;border-radius:18px!important}.formGrid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}.formGrid .full{grid-column:1!important}.contactVisualModern .formGrid label{font:700 15px/1.3 Arial,sans-serif!important;gap:8px}.contactVisualModern .launchForm input,.contactVisualModern .launchForm select,.contactVisualModern .launchForm textarea{font:400 16px/1.4 Arial,sans-serif!important;min-height:48px!important;padding:12px!important;width:100%!important}.contactVisualModern .callFields legend{font:800 21px/1.2 Arial,sans-serif!important}.contactVisualModern .callFields p{font:400 15px/1.5 Arial,sans-serif!important}.contactVisualModern .callFields{min-width:0}.launchForm button{width:100%}
 .featureModal{padding:12px!important}.featureModalCard{width:100%!important;max-width:560px!important;max-height:calc(100dvh - 24px)!important;border-radius:18px;padding:30px 24px!important;overflow:auto}.featureModalCard h2{font:800 26px/1.15 Arial,sans-serif!important;letter-spacing:-.5px}.featureModalCard p{font:400 17px/1.6 Arial,sans-serif!important}.featureClose{width:44px!important;height:44px!important}.videoModal{padding:12px!important}.videoModalCard{width:100%!important;min-height:240px;aspect-ratio:4/3!important;border-radius:18px!important}.videoComingSoon{font:700 21px/1.4 Arial,sans-serif!important;padding:54px 24px!important}.videoModalClose{width:44px!important;height:44px!important}
}

/* Demo menu stays at the upper right on larger screens as well. */
@media(min-width:901px){
.demoVisualPage .nav{display:flex!important;justify-content:space-between!important;position:relative!important}
.demoVisualPage .menuToggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #ed1c24;border-radius:999px;background:white;color:#ed1c24;font:700 16px Arial,sans-serif;cursor:pointer}
.demoVisualPage .nav nav{display:none!important;position:absolute!important;top:100%;right:24px;width:260px;padding:16px;background:#fff;border:1px solid #ed1c24;border-radius:18px;box-shadow:0 12px 32px #0004;z-index:50}
.demoVisualPage .nav.menuOpen nav{display:grid!important;gap:8px}
.demoVisualPage .nav nav a{width:100%;justify-content:center}
}
/* Shared device artwork brings the mobile sections closer to desktop. */
.mobileSectionArtwork{display:none}
@media(max-width:900px){
.mobileSectionArtwork{display:block;width:100%;max-width:620px;margin:0 auto;padding:0 20px 24px}
.mobileSectionArtwork .demoArtwork{height:auto!important;aspect-ratio:4/3;min-height:0!important;margin:0;border:1px solid #742027;border-radius:18px;overflow:hidden}
.mobileSectionArtwork .demoArtwork img{position:absolute;width:167%!important;height:auto!important;max-width:none!important;left:-67%!important;top:0!important;object-fit:contain!important;transform:translateY(-9.1%)!important;clip-path:inset(9.1% 0 12% 0)}
.featureVisual .featureHotspot,.videoHotspots button,.mobilePlans article{background:linear-gradient(135deg,#371015,#14090b)!important;border-color:#ed1c24!important}
}
/* Home creator credit, using the original EF Solution logo. */
.creatorFooter{background:#090708;border-top:1px solid #742027;padding:10px 20px;display:flex;align-items:center;justify-content:center;min-height:64px}
.creatorFooter a{display:flex;align-items:center;justify-content:center;gap:16px;color:#fff;text-decoration:none;font:500 14px/1.5 Arial,sans-serif}
.creatorFooter img{display:block;width:180px;height:auto;object-fit:contain}
.creatorDomain{color:#ef6970}.creatorFooter a:hover .creatorDomain{text-decoration:underline}.creatorFooter a:focus-visible{outline:2px solid #ed1c24;outline-offset:5px;border-radius:4px}
@media(min-width:901px){.finalHome .visualHome{height:calc(100vh - 142px)!important}}
@media(max-width:900px){.creatorFooter{padding:20px;min-height:0}.creatorFooter a{flex-direction:column;gap:10px;text-align:center;font-size:13px}.creatorFooter img{width:180px;max-width:100%}}

/* Home fits one viewport; creator credit is a reserved row below the artwork. */
body.finalHome{height:100vh!important;height:100dvh!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.finalHome>.nav{flex:0 0 auto}
.finalHome>.visualHome{flex:1 1 0!important;min-height:0!important;height:auto!important;width:100%!important}
.finalHome>.creatorFooter{flex:0 0 60px;min-height:0!important;height:60px;padding:6px 16px}
.finalHome .creatorFooter img{width:156px}
@media(max-width:900px){
.finalHome>.nav{height:68px!important;min-height:68px!important}
.finalHome .nav nav{top:68px}
.finalHome>.mobileIntro{flex:0 0 auto;width:100%;padding:18px 20px 12px!important;margin:0 auto!important}
.finalHome .mobileIntro h1{font-size:clamp(25px,7.2vw,34px)!important;line-height:1.08!important;margin-bottom:10px}
.finalHome .mobileIntro p{font-size:15px!important;line-height:1.4!important;margin-bottom:12px}
.finalHome .mobileIntro .launchButton{min-height:44px!important;padding:10px 16px!important;font-size:16px!important}
.finalHome>.mobileProductVisual{flex:1 1 0!important;min-height:0!important;width:100%;padding:0 20px 10px!important;margin:0 auto!important;display:flex!important}
.finalHome .mobileProductVisual .demoArtwork{flex:1;min-height:0!important;aspect-ratio:auto!important;width:100%!important}
.finalHome>.visualHome{display:none!important;flex:none!important}
.finalHome>.creatorFooter{flex-basis:60px;height:60px;padding:6px 12px calc(6px + env(safe-area-inset-bottom))}
.finalHome .creatorFooter a{flex-direction:row;gap:10px;font-size:11px;line-height:1.3}
.finalHome .creatorFooter img{width:108px;flex-shrink:0}
}
@media(max-width:900px) and (max-height:650px){
.finalHome>.mobileIntro{padding:10px 18px 8px!important}
.finalHome .mobileIntro h1{font-size:25px!important;margin-bottom:6px}
.finalHome .mobileIntro p{font-size:13px!important;line-height:1.3!important;margin-bottom:8px}
.finalHome>.creatorFooter{flex-basis:50px;height:50px}
}
@media(max-width:900px) and (orientation:landscape) and (max-height:500px){
.finalHome>.nav{height:54px!important;min-height:54px!important}
.finalHome .nav nav{top:54px}.finalHome>.mobileIntro{padding:8px 18px!important}
.finalHome .mobileIntro h1{font-size:22px!important}.finalHome .mobileIntro h1 br{display:none}
.finalHome .mobileIntro p{display:none}.finalHome .mobileIntro .launchButton{min-height:36px!important;padding:6px 16px!important;width:auto}
}

/* Reset desktop hotspot coordinates for every mobile feature card. */
@media(max-width:900px){
.featureVisualPage .featureVisual{width:100%!important;box-sizing:border-box!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important;justify-items:stretch!important;overflow:visible!important}
.featureVisualPage .featureVisual button.featureHotspot{position:static!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;box-sizing:border-box!important;margin:0!important;display:block!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;cursor:pointer;pointer-events:auto!important;touch-action:manipulation}
.featureVisualPage .featureVisual button.featureHotspot .controlLabel{position:static!important;display:block!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important;white-space:normal!important;text-align:left!important}
.featureVisualPage .featureVisual button.featureHotspot:hover{background:#371015!important}
.featureVisualPage .featureVisual button.featureHotspot:focus-visible{outline:2px solid #fff!important;outline-offset:3px!important}
}
