*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;font-family:Arial,sans-serif}body{color:#111827;-webkit-font-smoothing:antialiased;background-color:#fff;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img,svg{max-width:100%;display:block}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #f2d21b}[hidden]{display:none!important}.site-header{z-index:10;background:#fff;border-bottom:1px solid #102e5014;justify-content:space-between;align-items:center;gap:32px;width:100%;padding:20px 6%;display:flex;position:relative}.site-logo{color:#12365d;flex-direction:column;flex-shrink:0;line-height:1;display:inline-flex}.site-logo__name{letter-spacing:-.04em;font-family:Georgia,Times New Roman,serif;font-size:1.9rem;font-weight:700}.site-logo__subtitle{letter-spacing:.27em;text-align:center;margin-top:7px;font-size:.6rem;font-weight:700}.main-nav{justify-content:center;align-items:center;gap:28px;display:flex}.main-nav a{color:#263b51;font-size:.92rem;font-weight:600;transition:color .2s}.main-nav a:hover{color:#1d5d91}.header-order{color:#fff;background:#12365d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-height:44px;padding:11px 18px;font-size:.9rem;font-weight:700;transition:background-color .2s,transform .2s;display:inline-flex}.header-order:hover{background:#1d5d91;transform:translateY(-2px)}@media (width<=900px){.site-header{flex-wrap:wrap;gap:20px;padding:18px 5%}.main-nav{order:3;justify-content:flex-start;gap:22px;width:100%;padding-bottom:4px;overflow-x:auto}}@media (width<=480px){.site-logo__name{font-size:1.65rem}.header-order{min-height:40px;padding:10px 12px;font-size:.82rem}.main-nav{gap:20px}.main-nav a{white-space:nowrap;font-size:.85rem}}.site-footer{color:#fff;text-align:center;background:#102e50;flex-direction:column;align-items:center;gap:18px;padding:48px 24px 28px;display:flex}.site-logo--footer{color:#fff}.site-footer>p{color:#ffffffc7;margin:0;font-size:.9rem}.site-footer>p:last-child{border-top:1px solid #ffffff2e;width:100%;margin-top:12px;padding-top:22px;font-size:.8rem}@media (width<=480px){.site-footer{padding:40px 20px 24px}}.hero{color:#fff;background:linear-gradient(90deg,#082346d1 0%,#0823468c 55%,#0823462e 100%),url(/images/costiera-amalfitana.webp) 50% 80%/cover no-repeat;align-items:center;min-height:620px;padding:100px 8%;display:flex;position:relative;overflow:hidden}.hero__content{z-index:1;width:100%;max-width:760px;position:relative}.hero__eyebrow,.section-eyebrow{letter-spacing:.22em;margin:0 0 18px;font-size:.8rem;font-weight:700}.hero__eyebrow{color:#f2d21b}.hero h1{letter-spacing:-.035em;margin:0 0 24px;font-size:clamp(2.1rem,4vw,3.5rem);font-weight:700;line-height:1.15}.hero__location{white-space:nowrap;font-size:1em;display:inline-block}.hero__description{color:#ffffffe6;max-width:560px;margin:0 0 32px;font-size:1.1rem;line-height:1.8}.hero__actions{flex-wrap:wrap;gap:14px;display:flex}.button{text-align:center;border:2px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;font-weight:700;transition:background-color .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{color:#102e50;background:#f2d21b}.button--primary:hover{background:#ffe65c}.button--secondary{color:#fff;background:0 0;border-color:#ffffffbf}.button--secondary:hover{color:#102e50;background:#fff;border-color:#fff}body.has-intro #app{visibility:hidden}.intro-screen{z-index:9999;color:#fff;clip-path:inset(0);background:linear-gradient(#0823464d,#08234673),url(/images/costiera-amalfitana2.webp) 50%/cover no-repeat;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden;transform:translateY(0)}.intro-screen.is-leaving{pointer-events:none;animation:1.2s cubic-bezier(.76,0,.24,1) forwards intro-exit}.intro-screen__content{z-index:1;text-align:center;padding:24px;animation:1.2s both intro-appear;position:relative}.intro-screen__name{letter-spacing:.04em;text-shadow:0 3px 18px #0000004d;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,8vw,6rem);font-weight:400}.intro-screen__subtitle{letter-spacing:.35em;margin:14px 0 0;font-size:.85rem;font-weight:600}@keyframes intro-appear{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-exit{0%{clip-path:inset(0);transform:scale(1)}45%{clip-path:inset(0);transform:scale(1.06)}to{clip-path:inset(0 0 100%);transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.intro-screen__content{animation:none}.intro-screen.is-leaving{animation-duration:.01ms}}@media (width<=640px){.hero{min-height:540px;padding:76px 24px}.hero h1{font-size:clamp(2.25rem,10vw,3.3rem)}.hero__description{font-size:1rem}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .button{width:100%}}.menu-section,.delivery-section,.contact-section{padding:100px 7%}.menu-section{background:#fff}.section-heading{text-align:center;max-width:720px;margin:0 auto 42px}.section-eyebrow{color:#1d5d91}.section-heading h2{color:#12365d;margin:0 0 16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.2}.section-heading>p:last-child{color:#667085;margin:0}.menu-categories{flex-wrap:wrap;justify-content:center;gap:12px;max-width:1000px;margin:0 auto 42px;display:flex}.menu-category{color:#12365d;cursor:pointer;background:#fff;border:1px solid #d7e0e9;border-radius:5px;padding:12px 20px;font-size:.9rem;font-weight:600;transition:color .25s,background-color .25s,border-color .25s,transform .25s}.menu-category:hover{color:#12365d;background:#f0f5fa;border-color:#12365d}.menu-category.is-active{color:#fff;background:#12365d;border-color:#12365d}.menu-items{border-right:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;max-width:1120px;margin:0 auto;display:grid}.menu-placeholder{color:#667085;text-align:center;border:1px dashed #d7e0e9;grid-column:1/-1;padding:30px}.menu-item{background:#fff;border:1px solid #d3dce6;flex-direction:column;gap:10px;padding:24px;transition:border-color .25s,box-shadow .25s,transform .25s;display:flex;position:relative}.menu-item__header{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.menu-item__name{color:#12365d;letter-spacing:.015em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.08rem;font-weight:700;line-height:1.4}.menu-item__price{color:#12365d;white-space:nowrap;flex-shrink:0;font-size:.98rem;font-weight:700;line-height:1.4}.menu-item__description{color:#667085;margin:0;font-size:.9rem;line-height:1.8}.menu-item__allergens{color:#7b8490;font-size:.78rem}.allergen-note{background:#f5f8fb;border-left:4px solid #f2d21b;max-width:900px;margin:64px auto 0;padding:32px}.allergen-note h3{color:#12365d;margin:0 0 12px;font-size:1.2rem}.allergen-note p{color:#667085}.allergen-note .button--secondary{color:#12365d;border-color:#12365d;margin-top:8px}.allergen-note .button--secondary:hover{color:#fff;background:#12365d}#allergen-details{border-top:1px solid #d7e0e9;margin-top:20px;padding-top:16px}.delivery-section{text-align:center;background:#f5f8fb}.delivery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:950px;margin:0 auto 36px;display:grid}.delivery-card{background:#fff;border:1px solid #e0e7ee;padding:32px 20px}.delivery-card__distance{color:#667085;margin-bottom:14px;font-size:.9rem;display:block}.delivery-card strong{color:#12365d;font-family:Georgia,Times New Roman,serif;font-size:2.4rem;display:block}.delivery-card p{color:#667085;margin:8px 0 0;font-size:.9rem}.contact-section{background:#fff}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;max-width:1100px;margin:0 auto;display:grid}.contact-grid h3{color:#12365d;margin:0 0 14px;font-size:1.05rem}.contact-grid p,.contact-grid a{color:#667085;overflow-wrap:anywhere;font-size:.92rem;line-height:1.8}.contact-grid a:hover{color:#1d5d91}@media (width<=760px){.menu-section,.delivery-section,.contact-section{padding:72px 24px}.menu-items{grid-template-columns:1fr}.delivery-grid,.contact-grid{grid-template-columns:1fr;gap:18px}.allergen-note{margin-top:42px;padding:24px}}@media (hover:hover) and (width>=761px){.menu-item:hover{border-color:#12365d;transform:translateY(-3px);box-shadow:0 6px 18px #12365d14}.menu-category:hover{transform:translateY(-2px)}}@media (width<=480px){.menu-categories{gap:8px}.menu-category{padding:10px 12px;font-size:.82rem}.menu-item__header{gap:10px}.menu-item__name,.menu-item__price{font-size:.92rem}}
