@font-face{font-family:Wedding;src:url('/assets/wedding.otf') format('opentype');font-display:swap}@font-face{font-family:Millionaire;src:url('/assets/script.ttf') format('truetype');font-display:swap}
:root{--cream:#f1ede5;--green:#004f3b;--yellow:#ffc72c;--blue:#abcae9;--rail:86px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--cream);color:var(--green);font-family:Wedding,sans-serif;font-size:17px}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}button{border:0}img{display:block;width:100%;height:100%;object-fit:cover}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(44px,6vw,88px);line-height:1.03;letter-spacing:-.04em}h3{font-size:30px;line-height:1.1}.small{font:11px/1.5 Wedding,sans-serif;letter-spacing:.16em;text-transform:uppercase}.script{font-family:Millionaire,Wedding,sans-serif;font-weight:400;letter-spacing:0}.rail{position:fixed;left:0;top:0;bottom:0;width:var(--rail);background:var(--cream);z-index:40;border-right:1px solid #004f3b25;display:flex;align-items:center;flex-direction:column;padding:27px 0 22px;justify-content:space-between}.menu-toggle{background:none;width:65px;display:flex;flex-direction:column;align-items:center;gap:15px;padding:4px;font:10px Wedding,sans-serif;letter-spacing:.14em}.hamburger{width:28px;height:18px;display:block;border-top:1px solid;border-bottom:1px solid;position:relative}.hamburger:after{content:'';height:1px;width:28px;position:absolute;left:0;top:8px;background:currentColor}.rail-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;letter-spacing:.16em}.rail-seal{height:48px;width:43px;object-fit:contain}.frame{margin-left:var(--rail)}.topbar{position:absolute;left:calc(var(--rail) + 35px);right:35px;top:26px;display:flex;justify-content:space-between;align-items:center;z-index:10;color:var(--cream)}.topbar.dark{position:relative;left:auto;right:auto;top:auto;padding:27px 36px;color:var(--green)}.toplogo{width:210px;height:auto;filter:brightness(0) invert(1)}.dark .toplogo{filter:none}.pill{background:var(--yellow);color:var(--green);padding:17px 26px;border-radius:0;font-size:14px;display:inline-flex;justify-content:center;align-items:center;gap:26px;white-space:nowrap}.pill:after{content:'↗';font-family:Wedding;font-size:19px}.pill.outline{background:transparent;border:1px solid currentColor}.hero{height:94svh;min-height:680px;position:relative;color:var(--cream);overflow:hidden}.hero>img{position:absolute;inset:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0004,transparent 40%,#0006)}.hero-wordmark{position:absolute;top:22%;left:6%;width:88%;height:auto;object-fit:contain;filter:brightness(0) invert(1);z-index:2}.hero-bottom{position:absolute;z-index:2;left:5%;right:5%;bottom:48px;display:flex;justify-content:space-between;align-items:flex-end}.hero h1{font-size:clamp(58px,7vw,106px);line-height:1.05;margin:0 0 18px}.hero-bottom .scroll-link{border:1px solid #ffffff99;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font:25px Wedding}.hero-caption{position:absolute;right:30px;top:48%;writing-mode:vertical-rl;z-index:2;font:10px Wedding;letter-spacing:.16em}.ticker{overflow:hidden;background:var(--yellow);padding:19px 0;white-space:nowrap;font-size:18px;text-align:center;letter-spacing:.04em}.ticker span{margin:0 32px}.intro{padding:110px 8% 95px;display:grid;grid-template-columns:1.4fr 1fr;gap:10%;align-items:center}.intro h2{margin:22px 0 0}.intro .script{display:block;font-size:1.2em}.intro p{max-width:390px;margin:40px 0 25px}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:7px;font-size:15px}.text-link span{margin-left:28px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:0 0 36px}.section-heading h2{margin:12px 0 0}.restaurants{padding:25px 5% 90px}.restaurant-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 32px}.restaurant-card:nth-child(even){transform:translateY(65px)}.restaurant-card .picture{height:390px;position:relative;overflow:hidden;background:var(--blue)}.restaurant-card img{transition:transform .6s}.restaurant-card a:hover img{transform:scale(1.035)}.restaurant-card .number{position:absolute;left:18px;top:18px;color:white;font:12px Wedding;z-index:1}.restaurant-card .card-meta{display:flex;justify-content:space-between;align-items:start;padding:20px 0;border-bottom:1px solid #004f3b55}.card-meta h3{margin:0 0 8px}.card-meta p{margin:0;font:12px Wedding;opacity:.8;line-height:1.5}.circle-arrow{border:1px solid #004f3b60;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;flex:none;font-family:Wedding}.opening-card{margin-top:120px;display:grid;grid-template-columns:1fr 1fr;min-height:250px;border:1px solid #004f3b55}.opening-art{background:var(--blue);display:flex;align-items:center;justify-content:center;overflow:hidden}.opening-art img{width:125px;height:155px;object-fit:contain;transform:rotate(-12deg)}.opening-copy{padding:38px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.opening-copy h3{font-size:38px;margin:15px 0}.food-section{background:var(--green);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;min-height:660px}.food-section .food-copy{padding:100px 13%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.food-section h2{font-size:clamp(45px,5vw,75px);margin:20px 0}.food-section p{max-width:350px}.food-section .photo{min-height:620px}.events-block{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:110px 8%;align-items:center}.events-block .photo{height:580px;position:relative}.events-block .photo:after{content:'À bientôt !';font-family:Millionaire;font-size:70px;color:var(--cream);position:absolute;bottom:35px;left:35px;transform:rotate(-7deg)}.events-block h2{margin:20px 0}.gift-block{background:var(--blue);padding:70px 8%;display:flex;align-items:center;justify-content:space-between;gap:30px}.gift-block h2{font-size:60px;margin:10px 0 0}.gift-block p{margin:18px 0 0}.footer{padding:65px 5% 25px}.footer-top{display:flex;justify-content:space-between;gap:60px}.footer h3{font-size:32px;margin:10px 0 20px}.newsletter{max-width:480px;flex:1}.newsletter-row{display:flex;border-bottom:1px solid var(--green);gap:15px}.newsletter input{width:100%;padding:16px 0;border:0;background:transparent;color:var(--green);min-width:0}.newsletter button{background:transparent;font-size:26px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:20px 45px;font-size:14px;align-content:start}.footer-wordmark{height:auto;margin:70px 0 35px;opacity:1}.footer-bottom{border-top:1px solid #004f3b44;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font:11px Wedding}.drawer{position:fixed;inset:0 0 0 var(--rail);z-index:50;background:var(--cream);display:grid;grid-template-columns:1.25fr 1fr;visibility:hidden;transform:translateX(-110%);transition:transform .4s,visibility .4s}.drawer.open{visibility:visible;transform:none}.drawer-main{padding:38px 8%;display:flex;flex-direction:column;justify-content:space-between;overflow:auto}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-head img{height:auto;width:180px}.close-button{background:transparent;font:29px Wedding;padding:8px}.drawer-nav{display:flex;flex-direction:column;gap:15px;margin:45px 0}.drawer-nav a{font-size:clamp(24px,3.6vw,55px);line-height:1.12;letter-spacing:-.03em}.drawer-nav a:hover{font-family:Millionaire}.drawer-side{position:relative;overflow:hidden}.drawer-side p{position:absolute;bottom:30px;left:30px;color:var(--cream);font:65px Millionaire}.drawer-bottom{display:flex;gap:25px;font:12px Wedding}.modal{border:0;padding:0;background:var(--cream);color:var(--green);width:min(800px,94vw);max-height:90svh;overflow:auto}.modal::backdrop{background:#002d24b8;backdrop-filter:blur(6px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid #004f3b33}.modal-head h2{font-size:29px;margin:0;letter-spacing:0}.modal-body{padding:30px}.booking-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-list button{background:transparent;border:1px solid #004f3b55;padding:22px;text-align:left;font-size:21px}.booking-list button:hover{background:var(--yellow)}.booking-note{font:13px/1.6 Wedding;margin:25px 0 0}.booking-iframe{width:100%;height:560px;border:0;background:white}.booking-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;font-size:13px}.page-title{padding:65px 6% 45px}.page-title h1{font-size:clamp(58px,8vw,110px);letter-spacing:-.05em;margin:12px 0 25px;line-height:1.02}.page-title p{max-width:550px}.venue-hero{height:70svh;min-height:460px;position:relative}.venue-hero>img{position:absolute}.venue-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0009)}.venue-hero h1{position:absolute;left:5%;bottom:35px;color:var(--cream);font-size:clamp(60px,8vw,110px);line-height:1;margin:0;letter-spacing:-.04em;z-index:1;max-width:90%}.venue-content{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding:75px 7%}.venue-content h2{font-size:52px;margin:15px 0 25px}.venue-info{padding-top:15px}.venue-info h3{font-size:20px;border-bottom:1px solid #004f3b44;padding-bottom:14px}.venue-info p{font:14px/1.8 Wedding}.hours{display:grid;grid-template-columns:1fr auto;gap:12px;font:13px/1.5 Wedding;margin:20px 0 35px}.menu-links{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.menu-links a{border:1px solid #004f3b66;padding:12px 17px;font-size:14px}.menu-links a:hover{background:var(--yellow)}.venue-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:0 5% 70px}.venue-gallery img{height:450px}.menus-list{padding:0 6% 70px}.menu-row{border-top:1px solid #004f3b44;padding:28px 0;display:grid;grid-template-columns:1fr 1.5fr;gap:25px}.menu-row h2{font-size:32px;letter-spacing:-.02em;margin:10px 0}.menu-row .menu-links{margin:0}.event-form{display:grid;grid-template-columns:1fr 1fr;gap:25px}.event-form label{display:flex;flex-direction:column;gap:10px;font-size:14px}.event-form input,.event-form select,.event-form textarea{border:0;border-bottom:1px solid #004f3b55;border-radius:0;background:transparent;padding:12px 0;color:var(--green);min-width:0}.event-form .full{grid-column:1/-1}.event-form textarea{height:100px;resize:vertical}.notice{font:13px/1.6 Wedding;background:#abcae955;padding:15px 18px}.coming-page{background:var(--blue);padding:80px 7%;min-height:650px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}.coming-page h1{font-size:80px;letter-spacing:-.05em;line-height:1;margin:25px 0}.coming-page img{height:300px;object-fit:contain}.form-status{font:12px/1.6 Wedding;margin:12px 0;min-height:20px}.about-panel{max-width:800px;margin:auto;padding:70px 35px 100px}.about-panel h1{font-size:70px;letter-spacing:-.04em}.about-panel p{font-size:20px}.skip{position:fixed;top:-100px;z-index:100;background:var(--yellow);padding:15px}.skip:focus{top:10px}
@media(min-width:1600px){.restaurant-card .picture{height:510px}}@media(max-width:900px){:root{--rail:66px}.intro{gap:6%;padding:70px 6%}.restaurant-card .picture{height:300px}.events-block{padding:70px 6%;gap:6%}.events-block .photo{height:440px}.food-section .food-copy{padding:55px 10%}.food-section .photo{min-height:540px}.footer-top{gap:25px}.gift-block h2{font-size:45px}.venue-content{gap:6%;padding:50px 5%}.venue-content h2{font-size:40px}.toplogo{width:170px}.booking-list button{font-size:18px}}
@media(max-width:600px){:root{--rail:0px}.rail{width:60px;height:68px;bottom:auto;border:0;background:var(--cream)}.menu-toggle{gap:8px;font-size:8px}.hamburger{width:24px;height:13px}.hamburger:after{width:24px;top:5px}.rail-label,.rail-seal{display:none}.topbar{left:0;right:0;top:0;height:68px;background:var(--cream);padding:0 15px 0 75px;color:var(--green)}.topbar .toplogo{filter:none;width:130px}.topbar .pill{padding:11px 12px;font-size:11px;gap:10px}.topbar.dark{padding:0 15px 0 75px;height:68px}.hero{height:86svh;min-height:600px}.hero>img{object-position:48%}.hero-wordmark{top:26%;left:6%;width:88%}.hero-bottom{bottom:35px}.hero h1{font-size:59px}.hero-caption{right:16px;font-size:9px}.hero-bottom .small{max-width:230px}.ticker{font-size:13px;padding:15px 0}.ticker span{margin:0 13px}.intro{display:block;padding:65px 7%}.intro h2{font-size:55px}.intro p{margin:35px 0 22px}.restaurants{padding:0 6% 50px}.section-heading .text-link{display:none}.section-heading h2{font-size:50px}.restaurant-grid{grid-template-columns:1fr;gap:30px}.restaurant-card:nth-child(even){transform:none}.restaurant-card .picture{height:340px}.card-meta h3{font-size:30px}.opening-card{margin-top:35px;grid-template-columns:100px 1fr;min-height:230px}.opening-art img{width:70px;height:110px}.opening-copy{padding:20px}.opening-copy h3{font-size:30px}.food-section{display:flex;flex-direction:column-reverse}.food-section .photo{height:430px;min-height:0}.food-section .food-copy{padding:55px 7%}.food-section h2{font-size:58px}.events-block{display:flex;flex-direction:column;align-items:stretch;padding:60px 6%;gap:40px}.events-block .photo{height:430px}.events-block h2{font-size:53px}.gift-block{display:block;padding:50px 7%}.gift-block h2{font-size:49px}.gift-block .pill{margin-top:30px}.footer{padding:45px 7% 25px}.footer-top{display:block}.footer-links{margin-top:35px;gap:20px}.footer-wordmark{margin:55px 0 25px}.footer-bottom{flex-wrap:wrap;line-height:1.6}.drawer{inset:0;display:block;transform:translateX(-100%)}.drawer-main{height:100%;padding:23px 7% 35px}.drawer-side{display:none}.drawer-nav{gap:22px;margin:40px 0}.drawer-nav a{font-size:37px}.drawer-head img{width:150px}.modal-body{padding:22px}.booking-list{grid-template-columns:1fr}.booking-list button{padding:16px}.modal-head{padding:14px 20px}.modal-head h2{font-size:25px}.page-title{padding:45px 7% 25px}.page-title h1{font-size:65px}.venue-hero{height:65svh;min-height:400px}.venue-hero h1{font-size:61px;bottom:25px}.venue-content{display:block;padding:45px 7%}.venue-info{margin-top:40px}.venue-gallery{gap:12px;padding:0 6% 45px}.venue-gallery img{height:260px}.menu-row{display:block}.menu-row h2{margin-bottom:20px}.menu-row .menu-links{gap:8px}.menu-links a{font-size:13px;padding:11px}.coming-page{display:flex;flex-direction:column;padding:55px 7%;gap:45px}.coming-page h1{font-size:65px}.coming-page img{height:210px}.event-form{grid-template-columns:1fr}.event-form .full{grid-column:auto}.about-panel{padding:40px 7%}.about-panel h1{font-size:55px}.about-panel p{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
