:root{--paper: #FCFCFD;--paper-2: #F4F4F7;--paper-3: #ECECF0;--ink: #0A0A0F;--ink-2: #2A2A35;--ink-3: #6E6E78;--ink-4: #9999A2;--line: rgba(10, 10, 15, .08);--line-2: rgba(10, 10, 15, .04);--line-3: rgba(10, 10, 15, .16);--accent: #2540E8;--accent-soft: rgba(37, 64, 232, .08);--accent-medium: rgba(37, 64, 232, .16);--violet: #6938EF;--mint: #00D9C0;--mint-soft: rgba(0, 217, 192, .12);--gold: #F2B544;--warn: #FF7A45;--display: "Bricolage Grotesque", system-ui, sans-serif;--body: "Manrope", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--serif: "Instrument Serif", Georgia, serif;--pad: clamp(20px, 5vw, 56px);--pad-y: clamp(80px, 12vw, 160px);--max: 1320px;--max-narrow: 880px;--radius: 16px;--radius-sm: 10px;--radius-lg: 24px;--shadow: 0 1px 0 rgba(10,10,15,.04), 0 8px 32px rgba(10,10,15,.04);--shadow-md: 0 1px 0 rgba(10,10,15,.04), 0 16px 48px rgba(10,10,15,.08);--ease: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--body);font-weight:400;font-size:16px;line-height:1.55;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:var(--ink);color:var(--paper)}img,video,svg{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--display);font-weight:500;letter-spacing:-.025em;line-height:1.05;font-variation-settings:"opsz" 96}h1{font-size:clamp(44px,9vw,116px);letter-spacing:-.04em;line-height:.95}h2{font-size:clamp(32px,5vw,64px);letter-spacing:-.03em}h3{font-size:clamp(22px,3vw,32px)}h4{font-size:clamp(18px,2.2vw,22px);font-weight:600}em.serif,.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.015em}p{line-height:1.55}p.lead{font-size:clamp(18px,2vw,22px);line-height:1.4;color:var(--ink-2)}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.muted{color:var(--ink-3)}.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad);width:100%}.container-narrow{max-width:var(--max-narrow);margin:0 auto;padding:0 var(--pad)}section{padding:var(--pad-y) 0}section.tight{padding:clamp(40px,6vw,80px) 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:56px;padding-bottom:14px;border-bottom:1px solid var(--line)}.section-num{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:100px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.04em;background:var(--ink);color:var(--paper);border:1px solid var(--ink);transition:transform .15s var(--ease),opacity .15s,background .15s,color .15s;white-space:nowrap}.btn:hover{transform:translateY(-1px);opacity:.94}.btn-secondary{background:transparent;color:var(--ink)}.btn-secondary:hover{background:var(--ink);color:var(--paper)}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-accent:hover{background:#1f36c8;border-color:#1f36c8}.btn-ghost{background:transparent;border-color:var(--line-3);color:var(--ink-2)}.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}.topbar{position:sticky;top:0;z-index:100;background:#fcfcfdd9;backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border-bottom:1px solid var(--line);padding:14px 0}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.025em}.brand-logo .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.nav{display:flex;gap:32px;font-size:14px;color:var(--ink-2)}.nav a{position:relative;transition:color .15s}.nav a:hover{color:var(--ink)}.nav a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}.nav a:hover:after{transform:scaleX(1)}@media (max-width: 860px){.nav{display:none}}.hero{padding:clamp(80px,14vw,180px) 0 clamp(60px,10vw,120px);position:relative;overflow:hidden}.hero-meta{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase;margin-bottom:32px}.hero-meta-line{width:32px;height:1px;background:var(--ink-3)}.hero h1{margin-bottom:36px;max-width:18ch}.hero p.lead{max-width:56ch;margin-bottom:48px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:56px}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px;padding-top:32px;border-top:1px solid var(--line)}.hero-stat{display:flex;flex-direction:column;gap:4px}.hero-stat-value{font-family:var(--serif);font-size:clamp(36px,5vw,56px);line-height:1;letter-spacing:-.02em}.hero-stat-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}.partners{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0;background:var(--paper-2)}.partners-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--ink-3);text-transform:uppercase;margin-bottom:24px;text-align:center}.partners-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:32px 56px;align-items:center;opacity:.7}.partner-name{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.02em;color:var(--ink-2)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.service{background:var(--paper);padding:36px 28px;display:flex;flex-direction:column;gap:14px;min-height:260px;transition:background .2s;position:relative}.service:hover{background:var(--paper-2)}.service-num{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}.service-title{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.015em;margin-top:4px}.service-summary{color:var(--ink-3);font-size:14px;line-height:1.5;flex:1}.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.spec{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:16px;transition:transform .2s var(--ease),box-shadow .2s}.spec:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.spec-icon{width:48px;height:48px;border-radius:12px;background:var(--accent-soft);display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:600;font-size:22px;color:var(--accent)}.spec-title{font-family:var(--display);font-size:19px;letter-spacing:-.015em;font-weight:600}.spec-desc{color:var(--ink-3);font-size:14px;line-height:1.5}.process{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;counter-reset:step}@media (min-width: 760px){.process{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1100px){.process{grid-template-columns:repeat(4,1fr)}}.process-step{background:var(--paper);padding:36px 28px;display:flex;flex-direction:column;gap:14px;min-height:240px}.process-step:before{content:counter(step,decimal-leading-zero);counter-increment:step;font-family:var(--serif);font-size:64px;line-height:1;letter-spacing:-.02em;color:var(--ink);opacity:.18;margin-bottom:8px}.process-step h4{font-family:var(--display);font-weight:500;font-size:20px;letter-spacing:-.015em}.process-step p{font-size:14px;line-height:1.5;color:var(--ink-3)}.portal{background:var(--ink);color:var(--paper);border-radius:var(--radius-lg);padding:clamp(40px,6vw,80px);display:grid;gap:40px}@media (min-width: 900px){.portal{grid-template-columns:1fr 1fr;align-items:center}}.portal-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--mint);text-transform:uppercase;margin-bottom:16px}.portal h2{font-size:clamp(28px,4vw,48px);margin-bottom:24px;color:var(--paper)}.portal p{color:#ffffffb3;margin-bottom:28px;max-width:50ch}.portal-features{list-style:none;display:flex;flex-direction:column;gap:12px}.portal-features li{font-family:var(--mono);font-size:13px;letter-spacing:.02em;padding-left:22px;position:relative;color:#ffffffd9}.portal-features li:before{content:"→";position:absolute;left:0;color:var(--mint)}.portal-visual{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:32px;font-family:var(--mono);font-size:12px;line-height:1.8;color:#ffffffa6;min-height:240px}.portal-visual .key{color:var(--mint)}.portal-visual .str{color:var(--gold)}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.team-card{display:flex;flex-direction:column;gap:16px}.team-photo{aspect-ratio:4 / 5;background:var(--paper-2);border-radius:var(--radius);overflow:hidden}.team-photo img{width:100%;height:100%;object-fit:cover}.team-photo-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-family:var(--serif);font-size:80px;color:var(--ink-4)}.team-name{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.015em}.team-role{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--ink-3);text-transform:uppercase;margin-top:-10px}.team-bio{font-size:14px;color:var(--ink-2);line-height:1.5}.team-quals{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.team-qual{font-family:var(--mono);font-size:10px;letter-spacing:.04em;padding:4px 10px;background:var(--paper-2);border-radius:100px;color:var(--ink-2)}.testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.testimonial{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;display:flex;flex-direction:column;gap:24px;position:relative}.testimonial:before{content:"“";font-family:var(--serif);font-size:80px;line-height:.7;color:var(--ink);opacity:.2;position:absolute;top:16px;right:24px}.testimonial-quote{font-family:var(--display);font-weight:400;font-size:18px;line-height:1.4;letter-spacing:-.01em;color:var(--ink);flex:1}.testimonial-author{display:flex;flex-direction:column;gap:2px;padding-top:16px;border-top:1px solid var(--line)}.testimonial-name{font-weight:600;font-size:14px}.testimonial-meta{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--ink-3)}.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;font-family:var(--display);font-size:clamp(17px,2vw,21px);font-weight:500;letter-spacing:-.015em;text-align:left;color:var(--ink)}.faq-q:hover{color:var(--accent)}.faq-q-icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--paper-2);display:inline-flex;align-items:center;justify-content:center;transition:transform .2s var(--ease),background .2s;font-family:var(--mono);font-size:14px;color:var(--ink-3)}.faq-item[open] .faq-q-icon{background:var(--ink);color:var(--paper);transform:rotate(45deg)}.faq-a{padding:0 0 24px;color:var(--ink-2);font-size:15px;line-height:1.55;max-width:60ch}.contact-grid{display:grid;gap:32px}@media (min-width: 880px){.contact-grid{grid-template-columns:1fr 1fr;gap:64px;align-items:start}}.contact-info{display:flex;flex-direction:column;gap:24px}.contact-block{display:flex;flex-direction:column;gap:6px}.contact-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}.contact-value{font-family:var(--display);font-size:clamp(18px,2vw,22px);font-weight:500;letter-spacing:-.015em}.contact-value a:hover{color:var(--accent)}.contact-hours{display:flex;flex-direction:column;gap:4px;font-family:var(--mono);font-size:13px;color:var(--ink-2)}.contact-hours-row{display:flex;justify-content:space-between;gap:24px;border-bottom:1px dashed var(--line);padding:6px 0}.cta-strip{background:var(--ink);color:var(--paper);border-radius:var(--radius-lg);padding:clamp(40px,6vw,80px);display:flex;flex-direction:column;gap:32px;align-items:flex-start}@media (min-width: 760px){.cta-strip{flex-direction:row;align-items:center;justify-content:space-between}}.cta-strip h2{color:var(--paper);max-width:22ch}.cta-strip h2 em.serif{color:var(--mint)}.cta-strip p{color:#ffffffb3;max-width:40ch;margin-top:12px}.cta-strip .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}.cta-strip .btn:hover{background:var(--mint);border-color:var(--mint);color:var(--ink)}.footer{border-top:1px solid var(--line);padding:64px 0 32px;font-size:14px;color:var(--ink-3)}.footer-grid{display:grid;gap:40px 24px;grid-template-columns:1fr;margin-bottom:48px}@media (min-width: 760px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}.footer-brand{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.025em;color:var(--ink);margin-bottom:12px}.footer h4{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink);text-transform:uppercase;font-weight:500;margin-bottom:16px}.footer ul{list-style:none;display:flex;flex-direction:column;gap:8px}.footer a:hover{color:var(--ink)}.footer-bottom{padding-top:28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.gastro-hero{background:linear-gradient(180deg,var(--paper) 0%,#FFF8F0 100%)}.menu-section{display:flex;flex-direction:column;gap:48px}.menu-category-head{display:flex;align-items:baseline;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.menu-category-name{font-family:var(--serif);font-size:clamp(28px,4vw,40px);font-style:italic;letter-spacing:-.015em}.menu-category-meta{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}.menu-items{display:grid;grid-template-columns:1fr;gap:4px}@media (min-width: 760px){.menu-items{grid-template-columns:1fr 1fr;gap:4px 48px}}.menu-item{display:flex;flex-direction:column;gap:6px;padding:18px 0;border-bottom:1px dashed var(--line)}.menu-item-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.menu-item-name{font-family:var(--display);font-weight:500;font-size:18px;letter-spacing:-.015em}.menu-item-price{font-family:var(--serif);font-size:22px;letter-spacing:-.01em}.menu-item-desc{font-size:14px;color:var(--ink-3);line-height:1.5}.menu-item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.menu-item-tag{font-family:var(--mono);font-size:10px;letter-spacing:.05em;padding:2px 8px;background:var(--mint-soft);color:#00322c;border-radius:100px;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.gallery-item{aspect-ratio:4 / 5;background:var(--paper-2);border-radius:var(--radius);overflow:hidden;position:relative}.gallery-item.tall{aspect-ratio:3 / 5}.gallery-item.wide{aspect-ratio:5 / 3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.gallery-item:hover img{transform:scale(1.04)}.reservation-block{background:var(--paper-2);border-radius:var(--radius-lg);padding:clamp(40px,6vw,80px);display:grid;gap:32px;align-items:center}@media (min-width: 880px){.reservation-block{grid-template-columns:1fr 1fr}}.reservation-meta{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3);text-transform:uppercase}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .6s var(--ease) backwards}.delay-1{animation-delay:.05s}.delay-2{animation-delay:.12s}.delay-3{animation-delay:.2s}.delay-4{animation-delay:.3s}@media print{.topbar,.footer,.cta-strip{display:none}body{background:#fff;color:#000}}
