@font-face{font-family:LunaDisplay;src:url('/demos/dogo-cafe/fonts/dm-serif-display-400.ttf') format('truetype');font-display:swap}@font-face{font-family:LunaSans;src:url('/demos/dogo-cafe/fonts/dm-sans-400.ttf') format('truetype');font-display:swap}@font-face{font-family:LunaSans;src:url('/demos/dogo-cafe/fonts/dm-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--cream:#fbf3e5;--cream-deep:#f5e9d5;--brown:#392416;--brick:#b33f27;--gold:#b48135;--line:#dcc9aa;--display:LunaDisplay,Georgia,serif;--body:LunaSans,Arial,sans-serif;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--brown);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,svg{flex-shrink:0}img{display:block;max-width:100%}svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400}a:focus-visible,button:focus-visible{outline:3px solid #477360;outline-offset:5px}.skip{position:fixed;top:-60px;left:15px;z-index:150;background:var(--brown);color:white;padding:15px}.skip:focus{top:10px}.header{background:var(--cream);position:relative;z-index:50;border-bottom:1px solid #eadfcd}.header-inner{max-width:var(--max);margin:auto;min-height:104px;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand>img{width:66px;height:70px}.brand>span{font-family:var(--display);font-size:21px;white-space:nowrap;line-height:1.3}.brand small{font:10px var(--body);display:block;letter-spacing:6px;text-align:center;margin-top:5px}.brand em{font:7px var(--body);display:block;letter-spacing:3px;text-align:center;margin-top:8px}.desktop-nav{display:flex;gap:34px;align-items:center;font-size:13px}.desktop-nav a{position:relative;padding:15px 0}.desktop-nav .active{color:var(--brick)}.desktop-nav .active:after{content:'';position:absolute;bottom:5px;height:1px;background:currentColor;left:0;right:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:11px 24px;color:#fff;background:var(--brick);border:1px solid #ffffff40;border-radius:50px;font-size:14px;font-weight:400;transition:background .18s,transform .18s;cursor:pointer}.button:hover{background:#96351f;transform:translateY(-2px)}.header-cta{font-size:12px;padding:9px 17px;min-height:42px;gap:9px}.header-cta svg{width:19px;height:19px}.menu-toggle{display:none}.menu-overlay{display:none}.hero{position:relative;isolation:isolate;max-width:var(--max);margin:auto;display:grid;grid-template-columns:46% 54%;align-items:stretch;overflow:hidden}.hero-photo{grid-column:2;grid-row:1;position:relative;background:#7b4a28;display:flex;align-items:center}.hero-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.hero-copy{grid-column:1;grid-row:1;position:relative;z-index:2;display:flex;align-items:center;padding:48px 20px 57px 105px;background:var(--cream);border-radius:0 8% 8% 0 / 0 50% 50% 0;margin-right:-24px}.hero-words{position:relative;z-index:2}.eyebrow{font-size:10px;letter-spacing:2.2px;color:#96601e;font-weight:600;line-height:1.7}.hero h1{font-size:clamp(40px,4.7vw,65px);line-height:1.02;letter-spacing:-1.8px;margin:12px 0 0}.hero-description{font-family:Georgia,serif;font-size:21px;line-height:1.35}.hero-button{font-family:Georgia,serif;font-size:17px;margin-top:22px;min-width:275px;justify-content:space-between}.ornament{display:flex;align-items:center;gap:8px;color:var(--gold);max-width:230px;margin:14px 0}.ornament:before,.ornament:after{content:'';height:1px;background:linear-gradient(90deg,transparent,#c99d56);flex:1}.ornament:after{transform:rotate(180deg)}.ornament span{font-size:20px;line-height:1}.hero-flowers{position:absolute;left:0;bottom:10px;width:103px;height:auto;pointer-events:none}.hero:after{content:'';position:absolute;bottom:-1px;height:42px;left:-3%;right:-3%;background:var(--cream);border-radius:50% 50% 0 0/100% 100% 0 0;z-index:3;pointer-events:none;transform:rotate(-1.5deg);transform-origin:bottom left}.section{max-width:var(--max);margin:auto;padding-left:50px;padding-right:50px}.services{position:relative;padding-top:0;padding-bottom:24px}.section-heading{display:flex;align-items:center;justify-content:center;gap:28px;text-align:center;margin:3px 0 24px}.section-heading h2{font-size:42px;line-height:1.15}.section-heading p{font-family:Georgia,serif;font-size:16px;margin-top:6px}.sprig{font:72px Georgia,serif;color:#ba8d42;transform:rotate(-40deg);line-height:1}.sprig.mirrored{transform:scaleX(-1) rotate(-40deg)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fbf2e1}.service-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#b7906b}.service-copy{position:relative;padding:12px 20px 15px;overflow:hidden}.service-copy h3{font-size:27px;line-height:1.15;position:relative;z-index:1}.service-copy p{font-family:Georgia,serif;font-size:15px;margin:6px 0 14px;position:relative;z-index:1}.service-copy .button{position:relative;z-index:1;width:86%;min-height:40px;font-size:13px;padding:8px 14px;gap:10px}.service-copy .arrow{margin-left:auto;width:18px}.card-leaf{position:absolute;right:2px;bottom:32px;font:92px Georgia,serif;color:#bc9045;transform:rotate(35deg);opacity:.7;pointer-events:none}.loyalty{position:relative;border-top:1px solid #e9d9bd;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:50px;padding-top:32px;padding-bottom:40px;overflow:hidden;background:#f8eedc}.loyalty-copy{padding-left:110px;position:relative;z-index:2}.loyalty h2{font-size:39px;line-height:1.07;letter-spacing:-.7px}.loyalty-copy>p{font:18px/1.4 Georgia,serif;margin-bottom:18px}.loyalty-copy .ornament{margin:10px 0}.wallet-button{background:#050505;color:#fff;border:0;min-height:47px;border-radius:30px;padding:11px 22px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:14px;transition:background .2s}.wallet-button:hover{background:#282828}.wallet-icon{width:27px;height:23px;display:inline-block;position:relative;overflow:hidden;border-radius:5px;flex-shrink:0}.wallet-icon i{position:absolute;left:0;right:0;display:block;height:12px;transform:skewY(-8deg);border-radius:3px}.wallet-icon i:nth-child(1){background:#4285f4;bottom:0}.wallet-icon i:nth-child(2){background:#ea4335;bottom:5px}.wallet-icon i:nth-child(3){background:#fbbc04;bottom:10px}.wallet-icon i:nth-child(4){background:#34a853;bottom:15px}.loyalty-copy>small{display:block;font-size:9px;letter-spacing:.2px;margin-top:8px;text-align:center;max-width:280px;color:#735d45}.loyalty-card{position:relative;width:100%;max-width:540px;padding:22px 54px 18px;color:#f6d893;border-radius:18px;background:radial-gradient(ellipse at 50% 20%,#53371e,#2d1c10 90%);box-shadow:0 7px 18px #43241425;overflow:hidden;min-height:275px}.pass-moon{text-align:center;font:39px Georgia,serif;line-height:1;margin-bottom:1px}.pass-brand{display:flex;align-items:center;justify-content:center;gap:10px;position:relative;z-index:1}.pass-brand>img{width:40px;height:46px;filter:brightness(0) saturate(100%) invert(87%) sepia(39%) saturate(477%) hue-rotate(342deg)}.pass-brand>span{font:19px var(--display);white-space:nowrap}.pass-brand small{display:block;font:8px var(--body);letter-spacing:4px;text-align:center;margin-top:4px}.pass-label{text-align:center;letter-spacing:2.3px;font-size:12px;margin:16px 0}.pass-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:1}.pass-progress{flex:1;min-width:0}.stamps{display:flex;gap:9px;align-items:center;justify-content:center}.stamps>span{width:38px;height:38px;flex-shrink:0;border:1px dashed #e1c188;border-radius:100%;display:grid;place-items:center;font:29px/1 Georgia,serif}.stamps .filled{background:#f1d18c;border-style:solid;color:#7b5726}.pass-progress>p{text-align:center;font-size:12px;color:#fff4db;margin-top:12px}.pass-qr{width:80px;flex-shrink:0}.pass-qr img{background:white;border:5px solid white;border-radius:5px;width:80px;height:80px}.pass-qr small{display:block;font-size:7px;letter-spacing:.6px;margin-top:5px;text-align:center;color:#fff7df;white-space:nowrap}.pass-flower{position:absolute;bottom:-20px;width:73px;height:200px;opacity:.95}.pass-flower.left{left:-8px}.pass-flower.right{right:-8px;transform:scaleX(-1)}.loyalty-flowers{position:absolute;width:120px;height:300px;object-fit:contain;bottom:-4px;pointer-events:none}.loyalty-flowers.left{left:5px}.loyalty-flowers.right{right:0;transform:scaleX(-1);width:80px;opacity:.85}.visit{text-align:center;padding:65px 24px 55px;border-top:1px solid #eadcc2}.visit h2{font-size:40px;margin:9px 0 22px}footer{border-top:1px solid #e8dac4;text-align:center;padding:30px 20px 35px}.footer-brand{font-family:var(--display);font-size:18px}.footer-brand span{display:block;font:8px var(--body);letter-spacing:5px;margin-top:6px}footer p{font-size:11px;color:#75664f;line-height:1.8;margin-top:15px}footer p a{text-decoration:underline}.bottom-nav{display:none}dialog{max-width:540px;width:calc(100% - 32px);padding:38px 28px 25px;border:1px solid var(--line);border-radius:22px;background:var(--cream);color:var(--brown);max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#25180bcc;backdrop-filter:blur(5px)}dialog h2{font-size:34px;line-height:1.05;margin:10px 0 22px}dialog>p:not(.eyebrow){font-size:14px;line-height:1.7;margin:18px 0}dialog>.button{width:100%}.dialog-close{position:absolute;right:12px;top:12px;width:38px;height:38px;display:grid;place-items:center;background:transparent;border:0;color:var(--brown)}.text-button{display:block;background:transparent;color:#6f4932;border:0;padding:16px;margin:0 auto;text-decoration:underline}.text-button:hover{color:var(--brick)}dialog .loyalty-card{padding:20px 40px;min-height:250px}dialog .pass-brand>span{font-size:17px}dialog .stamps{gap:6px}dialog .stamps>span{width:31px;height:31px;font-size:23px}dialog .pass-qr{width:65px}dialog .pass-qr img{width:65px;height:65px}dialog .pass-qr small{font-size:6px}
@media(min-width:1440px){.hero-copy{padding-top:56px;padding-bottom:70px}.hero-photo img{width:100%}.hero h1{font-size:65px}}
@media(max-width:1100px){.header-inner{padding:12px 24px;gap:20px}.desktop-nav{gap:22px}.brand>span{font-size:17px}.brand>img{width:53px;height:60px}.header-cta{padding:9px 12px;font-size:11px}.header-cta svg:last-child{display:none}.hero-copy{padding-left:75px;padding-top:36px;padding-bottom:48px}.hero-flowers{width:75px}.hero h1{font-size:48px}.hero-description{font-size:19px}.hero-button{min-width:245px;font-size:16px}.section{padding-left:30px;padding-right:30px}.service-copy{padding-left:14px;padding-right:14px}.service-copy h3{font-size:24px}.service-copy .button{width:94%}.loyalty{gap:30px}.loyalty-copy{padding-left:65px}.loyalty h2{font-size:33px}.loyalty-copy>p{font-size:16px}.loyalty-card{padding:18px 38px;min-height:255px}.pass-brand>span{font-size:17px}.stamps{gap:6px}.stamps>span{width:31px;height:31px;font-size:24px}.pass-qr{width:65px}.pass-qr img{width:65px;height:65px}.pass-qr small{font-size:6px}.loyalty-flowers.left{width:90px}.loyalty-flowers.right{width:50px}}
@media(max-width:760px){html{scroll-padding-top:20px}body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.header-inner{min-height:95px;padding:10px 20px}.brand{gap:8px}.brand>img{width:53px;height:65px}.brand>span{font-size:18px}.brand small{font-size:8px;letter-spacing:4px}.brand em{font-size:6px;letter-spacing:2.4px;margin-top:6px}.desktop-nav,.header-cta{display:none}.menu-toggle{width:44px;height:44px;padding:9px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:6px;position:relative;z-index:100}.menu-toggle span{display:block;width:25px;height:2px;background:var(--brown);transition:transform .3s,opacity .2s}.menu-open .menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.header{z-index:60}.menu-overlay{position:fixed;inset:95px 0 0;z-index:55;background:var(--cream);display:flex;align-items:center;padding:35px 35px 100px;visibility:hidden;opacity:0;transform:translateY(-18px);transition:opacity .28s,transform .28s,visibility .28s}.menu-open .menu-overlay{visibility:visible;opacity:1;transform:none}.menu-overlay nav{display:flex;flex-direction:column;gap:25px;position:relative;z-index:2}.menu-overlay nav>a:not(.button){font:35px var(--display)}.menu-overlay nav p{font:15px Georgia,serif;max-width:210px;line-height:1.6}.menu-overlay .eyebrow{margin-bottom:5px}.menu-overlay .button{font-size:13px;padding:13px 18px}.menu-flowers{position:absolute;right:-20px;bottom:65px;width:120px;transform:scaleX(-1);opacity:.7}.hero{display:flex;flex-direction:column;overflow:hidden}.hero-photo{order:0;display:block}.hero-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.hero-copy{order:1;margin:0;margin-top:-1px;padding:25px 30px 32px;border-radius:0;text-align:center;justify-content:center}.hero-copy:before{content:'';height:31px;position:absolute;top:-28px;left:-10%;right:-10%;background:var(--cream);border-radius:50% 50% 0 0/100% 100% 0 0}.hero-copy .eyebrow{display:none}.hero h1{font-size:43px;line-height:1.03;letter-spacing:-1px;margin-top:0}.hero-description{font-size:17px;line-height:1.4}.hero .ornament{margin:12px auto;max-width:210px}.hero-button{font-size:16px;min-height:45px;min-width:260px;margin-top:20px;justify-content:center;gap:16px}.hero-flowers{width:58px;bottom:18px;left:-13px;opacity:.9}.hero-copy:after{content:'';position:absolute;right:-14px;bottom:15px;width:58px;height:160px;background:url('/demos/luna-de-octubre/images/flores.svg') center/contain no-repeat;transform:scaleX(-1);opacity:.9}.hero:after{display:none}.section{padding-left:18px;padding-right:18px}.services{padding-top:9px;padding-bottom:32px}.section-heading{gap:8px;margin:0 0 18px}.section-heading h2{font-size:32px}.section-heading p{font-size:14px;margin-top:4px}.sprig{font-size:43px}.service-grid{grid-template-columns:1fr;gap:20px;max-width:500px;margin:auto}.service-card{border-radius:13px}.service-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.service-copy{padding:15px 18px 17px}.service-copy h3{font-size:28px}.service-copy p{font-size:16px;margin:5px 0 15px}.service-copy .button{width:86%;min-height:44px;font-size:14px;padding:9px 18px}.card-leaf{font-size:100px;right:9px;bottom:22px}.loyalty{grid-template-columns:1fr;gap:25px;padding-top:36px;padding-bottom:42px}.loyalty-copy{padding:0 16px;text-align:center}.loyalty h2{font-size:36px}.loyalty .ornament{margin:12px auto}.loyalty-copy>p{font-size:18px}.loyalty-copy>small{margin:9px auto 0}.wallet-button{font-size:14px;min-height:48px}.loyalty-card{max-width:440px;margin:0 auto;padding:19px 35px 19px;min-height:263px;z-index:2}.pass-brand>span{font-size:17px}.pass-label{font-size:11px;letter-spacing:2px;margin:14px 0}.stamps{gap:7px}.stamps>span{width:32px;height:32px;font-size:24px}.pass-qr{width:65px}.pass-qr img{width:65px;height:65px}.pass-progress>p{font-size:11px}.loyalty-flowers.left{width:70px;top:25px;bottom:auto;opacity:.6}.loyalty-flowers.right{width:70px;top:25px;bottom:auto;opacity:.6}.pass-flower{width:58px}.visit{padding:42px 20px}.visit h2{font-size:34px}.visit .button{font-size:12px;gap:8px;padding:12px 18px}.visit .button svg{width:21px}.bottom-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:40;background:#fcf6ebf5;border-top:1px solid #dfcdb2;backdrop-filter:blur(12px);padding:9px 8px calc(8px + env(safe-area-inset-bottom));min-height:72px}.bottom-nav a{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;min-height:48px;font-size:12px}.bottom-nav svg{width:25px;height:25px}.bottom-nav .active{color:var(--brick)}.bottom-nav .active use[href='#i-home']{fill:var(--brick)}footer{padding-bottom:25px}dialog{padding:35px 17px 16px}dialog h2{font-size:30px}dialog .loyalty-card{padding:17px 24px}dialog .pass-brand>span{font-size:14px}dialog .pass-brand>img{width:30px}dialog .stamps{gap:5px}dialog .stamps>span{width:27px;height:27px;font-size:22px}dialog .pass-qr{width:58px}dialog .pass-qr img{width:58px;height:58px}dialog .pass-qr small{font-size:5px}}
@media(max-width:365px){.header-inner{padding:9px 12px}.brand>span{font-size:16px}.brand>img{width:47px}.hero h1{font-size:38px}.hero-copy{padding-left:23px;padding-right:23px}.hero-button{min-width:245px}.section-heading h2{font-size:29px}.section-heading p{font-size:12px}.loyalty-card{padding:18px 27px}.stamps{gap:5px}.stamps>span{width:27px;height:27px;font-size:23px}.pass-brand>span{font-size:15px}.pass-bottom{gap:9px}.pass-qr{width:59px}.pass-qr img{width:59px;height:59px}.pass-qr small{font-size:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Fine botanical linework and an uninterrupted wave at the hero edge. */
.hero:after{transform:none}.sprig{width:62px;height:70px;object-fit:contain;transform:rotate(-15deg)}.sprig.mirrored{transform:scaleX(-1) rotate(-15deg)}.card-leaf{width:56px;height:93px;object-fit:contain;transform:rotate(-15deg);bottom:17px;right:0}@media(max-width:760px){.sprig{width:34px;height:48px}.card-leaf{width:60px;height:92px}}
@font-face{font-family:LunaEditorial;src:url('/demos/luna-de-octubre/images/display.ttf') format('truetype');font-weight:500;font-display:swap}:root{--display:LunaEditorial,Georgia,serif}.hero h1{font-size:clamp(43px,5.1vw,72px);font-weight:500;letter-spacing:-1.6px}.brand>span{font-weight:500}.service-copy h3{font-size:29px;font-weight:500}.section-heading h2{font-size:46px}.loyalty h2{font-size:43px}.pass-brand>span{font-size:21px}@media(max-width:1100px){.hero h1{font-size:54px}.loyalty h2{font-size:37px}}@media(max-width:760px){.hero h1{font-size:47px}.section-heading h2{font-size:36px}.loyalty h2{font-size:39px}.service-copy h3{font-size:30px}.pass-brand>span{font-size:19px}dialog .pass-brand>span{font-size:16px}}@media(max-width:365px){.hero h1{font-size:42px}.section-heading h2{font-size:32px}.pass-brand>span{font-size:17px}}
