@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--cream:#f8f5ed;--paper:#fffdf7;--dark:#213c2e;--ink:#203b30;--muted:#586d60;--orange:#d87b4a;--line:#d9dfd2;--mint:#d4dfca;--peach:#f2dac5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #c3734a;outline-offset:4px}.skip-link{position:absolute;top:-100px;left:8px;z-index:200;background:white;padding:10px}.skip-link:focus{top:8px}.site-header{height:84px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,90px);border-bottom:1px solid var(--line);position:relative;z-index:5}.brand,.footer-brand{font-family:'DM Serif Display',Georgia,serif;font-size:37px;letter-spacing:-1.8px;line-height:1}.brand-icon{font:24px 'DM Sans',sans-serif;color:var(--orange);vertical-align:4px}.brand-dot,.period,.footer-brand span{color:var(--orange)}nav{display:flex;gap:31px;align-items:center}nav>a{font-size:13px;font-weight:700;letter-spacing:.03em}nav>a:hover,.text-link:hover{color:var(--orange)}nav .nav-cta{background:var(--dark);color:white;border-radius:2px;padding:12px 17px}nav .nav-cta:hover{color:white;background:#345740}.nav-toggle{display:none;background:none;border:0;padding:10px}.hero{min-height:650px;display:grid;grid-template-columns:52% 48%;overflow:hidden}.hero-copy{padding:clamp(54px,6vw,106px) clamp(30px,7vw,130px);padding-right:3vw;display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-kicker{color:#ba6b45;font-size:12px;font-weight:700;letter-spacing:.16em}.tiny-star{font-size:18px;margin-right:8px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.03;letter-spacing:-.03em}h1{font-size:clamp(48px,5.9vw,104px);max-width:800px;margin:25px 0}h1 em,h2 em{color:var(--orange);font-weight:400}.hero-copy>p{font-size:17px;color:var(--muted);max-width:425px;margin:0 0 31px}.hero-actions,.visit-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.btn{display:inline-flex;gap:20px;justify-content:space-between;align-items:center;padding:16px 23px;font-size:13px;font-weight:700;white-space:nowrap}.btn-dark{background:var(--dark);color:white}.btn-dark:hover{background:#355843}.text-link,.inline-arrow{font-size:13px;font-weight:700;border-bottom:1px solid var(--orange);padding-bottom:6px}.text-link span,.inline-arrow span{margin-left:10px}.hero-note{font-size:11px;font-weight:700;letter-spacing:.16em;margin-top:64px;display:flex;align-items:center;gap:12px}.note-line{height:1px;width:30px;background:var(--orange)}.hero-visual{position:relative;min-height:650px;background:var(--mint)}.hero-image{position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(11,27,17,.17)),url('/assets/passatempo-cafe.jpg') center 43%/cover no-repeat}.floating-note{position:absolute;bottom:33px;left:-47px;background:var(--paper);padding:18px 28px;box-shadow:0 10px 45px #253b2526;transform:rotate(-3deg);font-family:'DM Serif Display',serif;font-size:25px;line-height:1.1}.floating-note em{color:var(--orange)}.floating-note>span{color:var(--orange);margin-left:25px}.round-stamp{position:absolute;right:36px;top:30px;width:85px;height:85px;border-radius:50%;background:#f6eee0;color:var(--dark);display:grid;place-content:center;text-align:center;font-family:'DM Serif Display';font-size:24px;line-height:1;transform:rotate(13deg)}.marquee{overflow:hidden;background:var(--dark);color:#f5e9d3;padding:13px 0;white-space:nowrap;letter-spacing:.23em;font-weight:700;font-size:12px}.marquee>div{width:max-content;margin:auto}.section{padding:95px clamp(24px,7vw,120px)}.intro{background:var(--paper)}.intro-layout{display:grid;grid-template-columns:1.1fr 0.9fr;gap:10vw;align-items:start;margin-top:27px}.intro h2,.menu h2,.amici h2,.visit h2{font-size:clamp(42px,5vw,75px);max-width:620px}.intro-layout>div>p{color:var(--muted);max-width:475px;font-size:17px}.inline-arrow{display:inline-block;margin-top:20px}.menu{background:#f3eee3}.menu-head{display:flex;justify-content:space-between;align-items:end}.menu-head h2{margin:12px 0}.menu-head p{color:var(--muted)}.menu-doodle{color:var(--orange);width:160px}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px}.menu-card{background:var(--paper);overflow:hidden;border:1px solid #e5e0d5}.menu-card-art{height:195px;display:grid;place-items:center}.menu-card-art svg{height:100%;max-width:100%}.gelato .menu-card-art{background:#dbe4d6}.caffe .menu-card-art{background:#e9d7c2}.colazione .menu-card-art{background:#eee5c8}.menu-card-body{padding:29px}.menu-card-body>span{font-size:11px;color:var(--orange);font-weight:700;letter-spacing:.15em}.menu-card h3{font-family:'DM Serif Display';font-size:31px;font-weight:400;margin:4px 0 6px}.menu-card-body>p{font-size:14px;color:var(--muted);min-height:46px}.menu-item{padding:9px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:14px}.menu-item strong{font-weight:700}.menu-disclaimer{text-align:right;font-size:11px;color:var(--muted);margin:18px 0 0}.moment{display:grid;grid-template-columns:48% 52%;min-height:485px;background:#243f32}.moment-image{background:url('/assets/momento-cafe.jpg') center/cover no-repeat}.moment-text{padding:70px 10%;color:#fffaf0;display:flex;flex-direction:column;justify-content:center}.moment-text .section-kicker{color:#eccb9f}.moment-text h2{font-size:clamp(45px,5.1vw,80px);margin:14px 0 22px}.moment-text h2 em{color:#e9bd8b}.moment-text p{opacity:.8}.handwritten{font-family:'DM Serif Display';font-size:26px;font-style:italic;margin-top:20px;color:#efd8b5}.amici{display:grid;grid-template-columns:44% 56%;align-items:center;background:#f8f5ed;min-height:480px}.amici-art{height:340px;position:relative;display:grid;place-items:center;overflow:hidden}.amici-circle{width:225px;height:225px;background:#e6c5a4;border-radius:50%;display:grid;place-items:center;font-family:'DM Serif Display';font-size:145px;font-style:italic;color:var(--dark);transform:rotate(-9deg);position:relative;z-index:1;box-shadow:24px 20px 0 #e6dcc4}.amici-circle span{position:absolute;font-size:38px;color:#b6683e;right:24px;top:24px}.orbit{position:absolute;inset:25px 50px;border:1px dashed #d58c5e;border-radius:50%;transform:rotate(-16deg)}.orbit.two{inset:60px 20px;transform:rotate(27deg)}.amici-copy{max-width:650px;padding-left:5vw}.amici-copy h2{margin:16px 0}.amici-copy p{max-width:535px;color:var(--muted);font-size:17px}.coming-soon{display:inline-block;background:#e7d8c7;color:var(--dark);padding:11px 16px;font-size:12px;letter-spacing:.1em;font-weight:700;margin-top:12px}.visit{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;background:#e5e9de;align-items:center}.visit h2{margin:14px 0 24px}.visit p{font-size:17px;color:var(--muted)}.visit-actions{margin-top:27px}.visit-card{min-height:300px;background:#f4dfc8;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;border-radius:45% 45% 6px 6px;padding:30px;position:relative}.visit-card>span,.visit-card small{font-size:11px;font-weight:700;letter-spacing:.15em}.visit-card .sun{color:var(--orange);font-size:65px;line-height:1.3}.visit-card strong{font-family:'DM Serif Display';font-size:38px;font-weight:400;line-height:1.1;margin:9px 0 24px}footer{background:#1c3327;color:#f6f1e6;padding:65px clamp(24px,7vw,120px) 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:60px}.footer-brand{font-size:54px}.footer-top p{max-width:260px;color:#d5dbcf;margin:0}.footer-bottom{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #5d7363;padding-top:22px;color:#d5dbcf;font-size:12px}@media(max-width:900px){.site-header{height:72px;padding:0 22px}.nav-toggle{display:flex;flex-direction:column;gap:5px;cursor:pointer}.nav-toggle span{height:2px;width:26px;background:var(--dark)}nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--cream);padding:20px 25px 27px;flex-direction:column;align-items:stretch;gap:19px;border-bottom:1px solid var(--line);box-shadow:0 8px 20px #203b3014}nav.open{display:flex}nav .nav-cta{text-align:center}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 7vw 44px}.hero-copy h1{max-width:730px}.hero-note{margin-top:38px}.hero-visual{min-height:470px}.floating-note{left:20px;bottom:18px}.intro-layout{gap:40px}.menu-grid{gap:12px}.menu-card-body{padding:18px}.menu-card-art{height:145px}.moment{grid-template-columns:1fr}.moment-image{height:345px}.moment-text{padding:60px 7vw}.amici{grid-template-columns:1fr 1.25fr}.amici-copy{padding-left:0}.visit{gap:35px}}@media(max-width:640px){.brand{font-size:30px}.brand-icon{font-size:18px}.hero-copy{padding:42px 22px 36px}.hero h1{font-size:clamp(47px,12vw,68px)}.hero-copy>p{font-size:15px}.hero-actions{gap:20px}.hero-visual{min-height:420px}.round-stamp{width:65px;height:65px;font-size:19px;top:20px;right:20px}.floating-note{font-size:19px;padding:13px 18px}.section{padding:69px 22px}.intro-layout,.visit{grid-template-columns:1fr;gap:18px}.intro h2,.menu h2,.amici h2,.visit h2{font-size:clamp(43px,11vw,60px)}.intro-layout>div>p,.amici-copy p,.visit p{font-size:15px}.menu-doodle{display:none}.menu-grid{grid-template-columns:1fr}.menu-card{display:grid;grid-template-columns:37% 63%}.menu-card-art{height:100%;min-height:225px}.menu-card-art svg{max-width:100%;height:auto}.menu-card-body{padding:17px 18px}.menu-card h3{font-size:27px}.menu-card-body>p{font-size:13px;min-height:0}.menu-item{font-size:13px;padding:7px 0}.menu-disclaimer{text-align:left}.moment-image{height:290px}.moment-text{padding:53px 22px}.amici{grid-template-columns:1fr}.amici-art{height:260px}.amici-circle{width:175px;height:175px;font-size:110px}.amici-copy{padding:18px 0 0}.visit-card{margin-top:20px;min-height:265px}.footer-top{display:block;padding-bottom:37px}.footer-top p{margin-top:18px}.footer-brand{font-size:45px}.footer-bottom{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
