:root{--cream:#faf3e7;--cream-deep:#f2e6d0;--peach:#f6dbc0;--peach-soft:#fbe8d4;--sage:#cbd8c2;--sage-deep:#a6b89b;--terracotta:#b8663e;--terracotta-soft:#d48f6a;--ink:#4a3a32;--muted:#8f7b70;--paper:#fffdf7;--border:#ecdcc4;--shadow:0 6px 24px rgba(74,58,50,.08)}*{margin:0;padding:0;box-sizing:border-box}body,html{min-height:100%}body{font-family:Nunito,Quicksand,Helvetica Neue,Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}.container{max-width:1040px;margin:0 auto;padding:0 1.25rem}.site-header{background:var(--peach-soft);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:saturate(1.1);backdrop-filter:saturate(1.1)}.header-inner{justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding-top:.75rem;padding-bottom:.75rem}.header-inner,.logo{display:flex;align-items:center}.logo{color:var(--terracotta);text-decoration:none;font-family:Pacifico,Nunito,cursive;font-size:1.6rem;font-weight:400;letter-spacing:.3px;gap:.65rem}.logo-img{height:46px;width:auto}.site-header nav{display:flex;gap:1.25rem;flex-wrap:wrap}.site-header nav a{color:var(--ink);text-decoration:none;font-size:1rem;font-weight:600;padding:.3rem .1rem;border-bottom:2px solid transparent;transition:border-color .2s ease,color .2s ease}.site-header nav a:hover{color:var(--terracotta);border-bottom-color:var(--terracotta-soft)}.hero{background:radial-gradient(ellipse at top,var(--peach) 0,var(--cream) 65%),var(--cream);color:var(--ink);text-align:center;padding:4rem 1.25rem 5rem;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:40px;background:radial-gradient(circle at 20% 100%,var(--cream) 30px,transparent 31px),radial-gradient(circle at 50% 100%,var(--cream) 30px,transparent 31px),radial-gradient(circle at 80% 100%,var(--cream) 30px,transparent 31px);background-color:transparent;pointer-events:none}.hero-logo{height:180px;width:auto;margin-bottom:1rem;filter:drop-shadow(0 4px 10px rgba(184,102,62,.18))}.hero h1{font-family:Pacifico,Nunito,cursive;font-size:clamp(2.6rem,7vw,4.4rem);margin-bottom:.5rem;color:var(--terracotta);font-weight:400;letter-spacing:.5px;line-height:1.2}.hero h1 .accent{color:var(--sage-deep)}.hero p{font-size:1.15rem;color:var(--ink);opacity:.85;max-width:36rem;margin:0 auto .75rem}.hero .hero-sub{font-size:1rem;opacity:.75;margin-bottom:2rem}.btn{display:inline-block;padding:.8rem 1.6rem;border-radius:999px;text-decoration:none;font-size:1rem;font-weight:700;margin:.35rem;transition:transform .15s ease,box-shadow .2s ease,background .2s ease;border:2px solid transparent}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn-gold{background:var(--terracotta);color:#fff8ee}.btn-gold:hover{background:var(--terracotta-soft)}.btn-outline{border-color:var(--terracotta);color:var(--terracotta);background:transparent}.btn-outline:hover{background:var(--peach)}section{padding:3.5rem 0}section h2{font-size:2rem;color:var(--terracotta);text-align:center;margin-bottom:.3rem;font-weight:800}.section-sub{text-align:center;color:var(--muted);margin-bottom:2rem}.divider{width:60px;height:3px;background:var(--sage-deep);margin:.75rem auto 2rem;border:none;border-radius:3px}.about-text{max-width:46rem;margin:0 auto;text-align:center;font-size:1.1rem;color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-top:1rem}.card{background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:1.75rem;box-shadow:var(--shadow);transition:transform .2s ease}.card:hover{transform:translateY(-2px)}.card h3{color:var(--terracotta);margin-bottom:.9rem;font-weight:800;letter-spacing:.3px}.card ul{list-style:none}.card li{padding:.5rem 0;border-bottom:1px dashed var(--border);display:flex;justify-content:space-between;gap:1rem}.card li:last-child{border-bottom:none}.card a{color:var(--terracotta);text-decoration:none;font-weight:600}.card a:hover{text-decoration:underline}.specialties{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-top:1rem}.specialty{background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:1.4rem 1.4rem 1.5rem;box-shadow:var(--shadow);transition:transform .2s ease}.specialty:hover{transform:translateY(-2px)}.specialty h3{color:var(--terracotta);font-size:1.15rem;margin-bottom:.4rem;font-weight:800}.specialty p{color:var(--ink);opacity:.85;font-size:.98rem;line-height:1.55}.rating-summary{text-align:center;margin:.5rem auto 2rem}.rating-stars{font-size:1.8rem;letter-spacing:3px;line-height:1}.star-on{color:#f5b301}.star-off{color:var(--border)}.rating-text{margin-top:.5rem;color:var(--ink);opacity:.85;font-size:1rem}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-top:1rem}.review-card{background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.75rem;margin:0;position:relative}.review-card:before{content:"";position:absolute;top:1rem;right:1.25rem;width:22px;height:22px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path fill='%234285F4' d='M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z'/><path fill='%2334A853' d='M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z'/><path fill='%23FBBC05' d='M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z'/><path fill='%23EA4335' d='M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z'/></svg>");background-size:contain;background-repeat:no-repeat;opacity:.9}.review-stars{font-size:1.1rem;letter-spacing:2px;line-height:1}.review-text{color:var(--ink);font-size:.98rem;line-height:1.6;opacity:.92;font-style:italic}.review-author{margin-top:auto}.review-author cite{font-style:normal;font-weight:700;color:var(--terracotta);font-size:.95rem}.faq-list{max-width:46rem;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}.faq-item{background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;box-shadow:var(--shadow)}.faq-item summary{cursor:pointer;font-weight:700;color:var(--terracotta);font-size:1.05rem;list-style:none;position:relative;padding-right:1.5rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--terracotta);font-weight:400;line-height:1}.faq-item[open] summary:after{content:"−"}.faq-item p{margin-top:.75rem;color:var(--ink);opacity:.9;line-height:1.65}.map-wrap{border:6px solid var(--paper);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.map-wrap iframe{display:block;width:100%;height:400px;border:0;filter:saturate(.9) contrast(.95)}.menu-hero{background:linear-gradient(180deg,var(--peach) 0,var(--peach-soft) 100%);color:var(--ink);text-align:center;padding:3rem 1.25rem;border-bottom:1px solid var(--border)}.menu-hero h1{font-family:Pacifico,Nunito,cursive;font-size:2.8rem;color:var(--terracotta);font-weight:400}.menu-hero p{color:var(--muted)}.menu-tabs{margin-top:1.5rem;display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.tab{padding:.6rem 1.4rem;border:2px solid var(--terracotta);border-radius:999px;color:var(--terracotta);background:var(--paper);text-decoration:none;font-size:1rem;font-weight:700;transition:background .2s ease,color .2s ease}.tab:hover{background:var(--peach)}.tab-active{background:var(--terracotta);color:#fff8ee}.pdf-wrap{margin:2rem auto}.pdf-frame{width:100%;height:80vh;border:1px solid var(--border);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}.pdf-actions{text-align:center;margin-bottom:1rem}.btn-red{background:var(--terracotta);color:#fff8ee}.btn-red:hover{background:var(--terracotta-soft)}.admin-box{max-width:28rem;margin:3rem auto;background:var(--paper);border:1px solid var(--border);border-radius:14px;padding:2rem;box-shadow:var(--shadow)}.admin-box h1{color:var(--terracotta);font-size:1.5rem;margin-bottom:1rem;font-weight:800}.admin-box label{display:block;margin:1rem 0 .35rem;font-weight:700;color:var(--ink)}.admin-box input[type=file],.admin-box input[type=password]{width:100%;padding:.7rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--cream);color:var(--ink)}.admin-box input[type=file]:focus,.admin-box input[type=password]:focus{outline:2px solid var(--terracotta-soft);outline-offset:1px}.radio-row{display:flex;gap:1.5rem;margin-top:.3rem}.radio-opt{font-weight:400!important;display:flex!important;align-items:center;gap:.4rem;margin:0!important;cursor:pointer}.admin-box button{margin-top:1.5rem;width:100%;padding:.85rem;background:var(--terracotta);color:#fff8ee;border:none;border-radius:999px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:background .2s ease}.admin-box button:hover{background:var(--terracotta-soft)}.admin-box button:disabled{opacity:.6;cursor:wait}.msg-ok{color:#4a7a2f;margin-top:1rem}.msg-error{color:#a44242;margin-top:1rem}.muted{color:var(--muted);font-size:.9rem}.site-footer{background:var(--peach-soft);color:var(--ink);text-align:center;padding:2.25rem 0;margin-top:2rem;border-top:1px solid var(--border)}.site-footer .muted{color:var(--muted)}@media (max-width:640px){.hero{padding:3rem 1rem 4rem}.hero-logo{height:140px}.logo{font-size:1.35rem}.logo-img{height:38px}section{padding:2.5rem 0}}