:root{--ink:#092d3b;--deep:#061f2a;--sea:#0f6170;--aqua:#8dd1ce;--foam:#eef7f5;--sand:#e9dfcf;--white:#fff;--muted:#65737a;--serif:'Playfair Display',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:#fbfcfa;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.loader{position:fixed;inset:0;z-index:9999;background:var(--deep);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:.7s}.loader.hide{opacity:0;visibility:hidden}.loader-wave{width:70px;height:28px;border-bottom:3px solid var(--aqua);border-radius:50%;animation:wave 1s ease-in-out infinite}.loader strong{font-family:var(--serif);font-size:24px;letter-spacing:.04em}@keyframes wave{50%{transform:translateY(-8px) rotate(-4deg)}}.progress{position:fixed;z-index:1200;top:0;left:0;height:3px;background:var(--aqua);width:0}.header{position:fixed;z-index:1000;top:0;left:0;width:100%;height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:white;transition:.35s}.header.scrolled{height:74px;background:rgba(6,31,42,.94);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(0,0,0,.14)}.brand{display:flex;align-items:center;gap:12px;color:white}.brand-icon{font-size:38px;color:var(--aqua);line-height:1}.brand span:last-child{display:flex;flex-direction:column;line-height:.9}.brand strong{font-family:var(--serif);font-size:22px}.brand em{font-style:normal;font-size:12px;letter-spacing:.36em;text-transform:uppercase;margin-top:7px;color:var(--aqua)}nav{display:flex;align-items:center;gap:32px}nav a{font-size:13px;font-weight:600;letter-spacing:.05em}nav a:hover{color:var(--aqua)}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:11px 18px;border-radius:30px}.menu-toggle{display:none;background:none;border:0;width:34px}.menu-toggle span{display:block;height:2px;background:white;margin:7px 0}.hero{position:relative;height:100svh;min-height:720px;color:white;overflow:hidden}.hero-bg{position:absolute;inset:0;animation:heroZoom 16s ease-out both}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,23,31,.86) 0%,rgba(2,23,31,.48) 48%,rgba(2,23,31,.18) 100%),linear-gradient(0deg,rgba(2,23,31,.55),transparent 42%)}.hero-content{position:absolute;left:8vw;top:50%;transform:translateY(-50%);max-width:760px;z-index:2}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:700;color:var(--aqua)}h1,h2{font-family:var(--serif);line-height:1.04}h1{font-size:clamp(64px,8.6vw,132px);font-weight:600;margin:22px 0 28px;letter-spacing:-.045em}h1 em{font-weight:600;color:var(--aqua)}.hero-content p{font-size:18px;max-width:590px;color:rgba(255,255,255,.82)}.hero-actions{display:flex;gap:14px;margin-top:36px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;padding:15px 24px;border-radius:2px;font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:.25s}.btn-light{background:white;color:var(--ink)}.btn-light:hover{background:var(--aqua)}.btn-line{color:white;border:1px solid rgba(255,255,255,.55)}.btn-line:hover{background:white;color:var(--ink)}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:var(--sea)}.hero-info{position:absolute;z-index:3;right:5vw;bottom:44px;display:flex;background:rgba(5,34,44,.76);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14)}.hero-info div{padding:18px 26px;border-left:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column}.hero-info span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--aqua)}.hero-info strong{font-size:13px;margin-top:5px}.scroll{position:absolute;left:5vw;bottom:45px;z-index:3;font-size:11px;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.scroll span{width:38px;height:1px;background:var(--aqua)}.ticker{overflow:hidden;background:var(--deep);color:var(--aqua);padding:16px 0;white-space:nowrap}.ticker div{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.24em;animation:ticker 28s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.section{padding:120px 7vw}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center}.intro-copy h2,.section-title h2,.reservation h2{font-size:clamp(42px,5.5vw,76px);letter-spacing:-.035em;margin:18px 0 28px}.intro-copy p{color:var(--muted);font-size:16px;margin-bottom:15px}.chef{display:flex;align-items:center;gap:14px;margin-top:34px}.chef-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-family:var(--serif)}.chef div{display:flex;flex-direction:column}.chef small{color:var(--muted)}.intro-visual{position:relative;height:670px}.intro-visual:before{content:"";position:absolute;left:-26px;top:-26px;width:55%;height:55%;border:1px solid var(--sand);z-index:-1}.floating-card{position:absolute;left:-55px;bottom:52px;background:var(--foam);padding:30px 36px;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(9,45,59,.14)}.floating-card span,.floating-card small{text-transform:uppercase;letter-spacing:.15em;font-size:10px}.floating-card strong{font-family:var(--serif);font-size:48px;line-height:1;margin:6px 0}.values{display:grid;grid-template-columns:repeat(3,1fr);padding:0 7vw 110px}.values article{position:relative;padding:46px 42px;border:1px solid #dfe8e6;background:white}.values article+article{border-left:0}.values article>span{position:absolute;right:22px;top:18px;color:#bac8c8;font-size:12px}.values i{font-size:28px;color:var(--sea);margin-bottom:26px}.values h3{font-family:var(--serif);font-size:28px;margin-bottom:12px}.values p{color:var(--muted);font-size:14px}.menu-section{background:var(--foam)}.section-title{text-align:center;max-width:800px;margin:0 auto 54px}.section-title p{color:var(--muted)}.menu-shell{max-width:1080px;margin:auto;background:white;box-shadow:0 25px 70px rgba(9,45,59,.09)}.menu-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #dfe8e6}.menu-tabs button{border:0;background:transparent;padding:21px 10px;cursor:pointer;color:var(--muted);font-size:13px;font-weight:700}.menu-tabs button.active{background:var(--ink);color:white}.menu-panels{padding:22px 46px 38px}.menu-panel{display:none;grid-template-columns:1fr 1fr;gap:0 55px}.menu-panel.active{display:grid}.menu-panel article{position:relative;display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid #e5eceb}.menu-panel h3{font-family:var(--serif);font-size:23px}.menu-panel p{font-size:13px;color:var(--muted);margin-top:5px}.menu-panel strong{font-size:14px;color:var(--sea);white-space:nowrap}.menu-panel .featured>span{position:absolute;top:5px;left:0;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#b56f36}.menu-panel .featured div{padding-top:9px}.demo-note{text-align:center;color:#899496;font-size:11px;margin-top:24px}.catch{position:relative;min-height:760px;display:flex;align-items:center;justify-content:flex-end;padding:7vw}.catch-image{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1498654200943-1088dd4438ae?auto=format&fit=crop&w=2000&q=88') center/cover}.catch-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,26,35,.08),rgba(3,26,35,.62))}.catch-card{position:relative;z-index:2;width:min(560px,100%);padding:60px;background:rgba(251,252,250,.96);box-shadow:0 30px 80px rgba(0,0,0,.2)}.catch-card h2{font-size:clamp(42px,5vw,68px);margin:18px 0 22px}.catch-card>p{color:var(--muted)}.catch-list{margin:28px 0}.catch-list div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #dce5e3;font-size:13px}.gallery-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-auto-rows:280px;gap:14px}.gallery-grid figure{position:relative;overflow:hidden}.gallery-grid .large{grid-row:span 2}.gallery-grid figure:last-child{grid-column:span 2}.gallery-grid img{transition:.6s}.gallery-grid figure:hover img{transform:scale(1.05)}.gallery-grid figcaption{position:absolute;left:18px;bottom:16px;color:white;text-transform:uppercase;letter-spacing:.16em;font-size:10px;text-shadow:0 2px 8px #000}.reviews{display:grid;grid-template-columns:.45fr 1fr;gap:8vw;background:var(--deep);color:white}.review-summary{display:flex;align-items:center;gap:25px}.rating{font-family:var(--serif);font-size:90px;color:var(--aqua);line-height:1}.stars{color:#e5ba68;letter-spacing:.15em}.review-summary strong{display:block;font-family:var(--serif);font-size:24px;margin:8px 0}.review-summary p{font-size:11px;color:rgba(255,255,255,.55)}.review{display:none}.review.active{display:block}.review blockquote{font-family:var(--serif);font-size:clamp(28px,3vw,43px);line-height:1.35}.review>p{margin-top:22px;color:var(--aqua)}.review-controls{display:flex;align-items:center;gap:18px;margin-top:36px}.review-controls button{width:44px;height:44px;border:1px solid rgba(255,255,255,.25);background:transparent;color:white;cursor:pointer}.review-controls button:hover{background:var(--aqua);color:var(--ink)}.review-controls span{font-size:12px;color:rgba(255,255,255,.6)}.reservation{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}.reservation-copy>p{color:var(--muted);max-width:540px}.contact-grid{margin-top:38px;display:grid;gap:18px}.contact-grid div{display:flex;gap:15px}.contact-grid i{color:var(--sea);width:20px;margin-top:5px}.contact-grid span{display:flex;flex-direction:column;color:var(--muted);font-size:14px}.contact-grid strong{color:var(--ink)}.reservation-form{padding:42px;background:var(--foam)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reservation-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;margin-bottom:17px}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;border:1px solid #d6e2df;background:white;padding:14px;color:var(--ink);outline:none;text-transform:none;letter-spacing:0}.reservation-form input:focus,.reservation-form select:focus,.reservation-form textarea:focus{border-color:var(--sea)}.reservation-form textarea{height:110px;resize:vertical}.reservation-form .btn{width:100%}.reservation-form small{display:block;margin-top:12px;color:#879391;text-align:center;text-transform:none;letter-spacing:0}.form-feedback{text-align:center;color:var(--sea);font-weight:700;margin-top:12px}footer{background:#041923;color:white;padding:70px 7vw 25px}.footer-main{text-align:center}.footer-brand{justify-content:center}.footer-main>p{margin:18px 0;color:rgba(255,255,255,.6)}.socials{display:flex;justify-content:center;gap:12px}.socials a{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;border-radius:50%}.socials a:hover{background:var(--aqua);color:var(--ink)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;color:rgba(255,255,255,.5);font-size:12px}.footer-bottom a{color:var(--aqua)}.back-top{position:fixed;z-index:800;right:24px;bottom:24px;width:46px;height:46px;border:0;background:var(--ink);color:white;cursor:pointer;opacity:0;transform:translateY(15px);transition:.3s}.back-top.show{opacity:1;transform:none}.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@media(max-width:980px){.header{height:76px}.menu-toggle{display:block;z-index:4}nav{position:fixed;inset:0;background:var(--deep);flex-direction:column;justify-content:center;gap:28px;transform:translateX(100%);transition:.35s}nav.open{transform:none}nav a{font-family:var(--serif);font-size:29px}.hero-info{display:none}.hero-content{left:7vw;right:7vw}.scroll{display:none}.intro,.reservation,.reviews{grid-template-columns:1fr}.intro-visual{height:560px}.values{grid-template-columns:1fr}.values article+article{border-left:1px solid #dfe8e6;border-top:0}.menu-panel{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .large{grid-row:span 1}.gallery-grid figure:last-child{grid-column:span 1}.review-summary{justify-content:center}.catch{padding:5vw}.catch-card{margin:auto}.footer-bottom{gap:15px;flex-direction:column;text-align:center}}@media(max-width:640px){.section{padding:84px 6vw}.hero{min-height:670px}.hero-content{top:48%}h1{font-size:58px}.hero-actions{flex-direction:column;align-items:flex-start}.intro-visual{height:430px}.floating-card{left:10px;bottom:10px;padding:20px}.menu-tabs{grid-template-columns:1fr 1fr}.menu-panels{padding:15px 24px 28px}.menu-panel article{padding:21px 0}.catch{padding:0}.catch-card{margin:300px 16px 35px;padding:38px 26px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:300px}.reviews{padding-top:80px;padding-bottom:80px}.rating{font-size:70px}.review blockquote{font-size:29px}.reservation-form{padding:28px 20px}.field-row{grid-template-columns:1fr}.footer-bottom{font-size:11px}}
