/* A consistent photographic canvas across all pages, adapted to Largo's identity. */
:root{--radius:40px}.button{min-height:40px;padding:9px 17px;border-radius:5px;font-size:13px;text-transform:uppercase;font-weight:600;line-height:1.4}.canvas-h2,.canvas-centered h1,.canvas-centered h2,.canvas-reservation h1,.canvas-reservation h2,.canvas-split h2,.canvas-contact-band h2,.gallery-heading h2,.canvas-concept h2{font:600 16px/1.65 Arial,Helvetica,sans-serif;text-transform:uppercase}.canvas-header{position:fixed;z-index:40;top:0;left:0;right:0;display:grid;grid-template-columns:5fr 2fr 5fr;align-items:center;gap:20px;min-height:64px;padding:9px 24px;background:var(--paper);transition:transform .3s,background .3s}.canvas-header.over-photo{background:linear-gradient(#150e0b60,transparent);color:var(--white)}.canvas-header.scrolled{background:var(--paper);color:var(--ink);box-shadow:0 1px 0 var(--line)}.canvas-header.scrolled .light{filter:none}.canvas-header.is-hidden{transform:translateY(-110%)}.canvas-header .brand{width:90px}.desktop-nav{display:flex;gap:24px;align-items:center;font-size:14px;line-height:1.25}.desktop-nav.right{justify-content:flex-end}.desktop-nav a[aria-current=page]{color:#866345}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:5px}.desktop-nav .languages{font-size:11px;gap:8px}.nav-trigger,.mobile-languages{display:none}.navigation-overlay{width:100%;max-width:none;height:100dvh;max-height:none;border:0;background:var(--paper);color:var(--ink);padding:28px;margin:0;text-align:center}.navigation-overlay[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:35px}.navigation-overlay::backdrop{background:var(--paper)}.navigation-overlay nav{display:flex;flex-direction:column;align-items:center;gap:14px;font-size:21px}.navigation-overlay nav a{padding:6px 15px}.nav-close{border:0;background:none;position:absolute;top:20px;right:24px;display:flex;align-items:center;gap:15px;font-size:14px}.nav-close span{font-size:32px}.overlay-logo{width:160px;margin-bottom:15px}.overlay-email{font-size:14px}.canvas-landing{height:100svh;min-height:520px;display:grid;grid-template-columns:1fr 1fr;padding:28px;gap:28px;position:relative}.canvas-door{position:relative;isolation:isolate;border-radius:45px;overflow:hidden;color:var(--white);display:grid;place-items:center;text-align:center}.entrance-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1s}.canvas-door:after{content:'';position:absolute;inset:0;z-index:-1;background:#120d0938;transition:background .35s}.canvas-door:hover .entrance-image{transform:scale(1.025)}.canvas-door:hover:after{background:#120d0920}.canvas-door:focus-visible{outline-offset:-8px}.entrance-title{display:flex;flex-direction:column;gap:19px;align-items:center;padding:20px}.entrance-title .logo{width:min(225px,30vw)}.entrance-title>span{font-size:16px}.landing-languages{position:absolute;z-index:5;right:50px;top:42px;color:var(--white)}.canvas-hero{height:100svh;min-height:600px;position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;background:var(--chocolate)}.hero-slide{position:absolute;inset:0;z-index:-2;height:100%;width:100%;object-fit:cover;object-position:center 53%;opacity:0;transition:opacity .6s ease;pointer-events:none}.hero-slide.is-current{opacity:1}.canvas-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:#170e0b3a}.canvas-hero-logo{width:260px;max-width:55vw}.hero-controls{position:absolute;bottom:25px;left:28px;color:var(--white);display:flex;align-items:center;gap:18px;font-size:11px;letter-spacing:.08em}.hero-controls button{border:1px solid #f5f1e660;border-radius:50%;background:transparent;width:34px;height:34px;color:inherit;font-size:14px}.floating-book{position:fixed;z-index:30;right:36px;bottom:20px;background:var(--chocolate);color:var(--white);font-size:13px;line-height:1.25;text-transform:uppercase;font-weight:600;border-radius:4px;padding:10px 14px;box-shadow:0 2px 10px #0002}.floating-book:hover{background:#543b2d}.canvas-centered{max-width:1000px;margin:0 auto;padding:125px 36px;text-align:center}.canvas-centered h1,.canvas-centered h2{margin-bottom:28px}.canvas-centered p{font-size:16px;line-height:1.7;margin:0 auto 28px;max-width:800px}.canvas-centered.philosophy{padding:140px 36px}.canvas-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin-top:30px}.canvas-gallery{max-width:1100px;padding:0 36px;margin:0 auto}.gallery-track{display:flex;gap:36px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;position:relative}.gallery-track::-webkit-scrollbar{display:none}.gallery-item{border:0;padding:0;flex:0 0 calc((100% - (var(--columns) - 1)*36px)/var(--columns));scroll-snap-align:start;border-radius:40px;overflow:hidden;background:transparent;aspect-ratio:2/3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item:focus-visible{outline-offset:-7px}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:25px}.gallery-controls button{border:1px solid var(--line);background:transparent;font-size:26px;width:40px;height:40px;line-height:1;border-radius:50%;padding:0 0 3px}.gallery-controls button:hover{background:var(--ink);color:var(--white)}.gallery-count{font-size:11px;letter-spacing:.12em}.canvas-statement{max-width:1100px;padding:125px 36px;margin:0 auto;position:relative;text-align:center}.canvas-statement h2{font:600 19px/1.75 Arial,Helvetica,sans-serif;max-width:775px;text-transform:uppercase;margin:auto}.brand-punctuation{position:absolute;top:50px;left:45px;transform:rotate(-12deg)}.brand-punctuation .forks{gap:18px}.brand-punctuation .forks i{width:6px;height:8px}.canvas-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1100px;margin:auto;padding:0 36px}.canvas-pair img{border-radius:40px;width:100%;height:580px;object-fit:cover}.canvas-split{max-width:1200px;margin:auto;padding:120px 36px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.canvas-split .split-image{width:100%;height:620px;object-fit:cover;border-radius:40px}.canvas-split h2{margin-bottom:28px}.canvas-split h3{font-size:14px;text-transform:uppercase;margin-top:35px}.canvas-split p{font-size:16px;line-height:1.75;margin-bottom:26px}.canvas-split .forks{justify-content:flex-start;margin:28px 0}.canvas-contact-band{padding:100px 24px;text-align:center;max-width:900px;margin:auto}.canvas-contact-band h2{margin-bottom:20px}.canvas-contact-band p{font-size:16px;margin-bottom:18px}.contact-email{display:block;margin:0 auto 28px;padding:12px 5px;border-bottom:1px solid var(--ink);max-width:500px;font-size:clamp(17px,2.5vw,26px)}.canvas-mark{display:flex;justify-content:center;padding:45px 0 75px}.canvas-mark .forks{gap:27px;transform:rotate(-8deg)}.canvas-mark .forks i{height:10px;width:8px}.gallery-heading{text-align:center;padding:30px 24px 45px}.canvas-final-cta{text-align:center;padding:80px 24px 100px}.canvas-photo-quote{position:relative;isolation:isolate;height:750px;max-width:1200px;margin:0 auto;display:grid;place-items:center;text-align:center;color:var(--white);border-radius:40px;overflow:hidden}.canvas-photo-quote>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.canvas-photo-quote:after{content:'';position:absolute;inset:0;background:#150b074a;z-index:-1}.canvas-photo-quote h2{font:600 36px/1.4 Arial,sans-serif;text-transform:uppercase;margin-bottom:35px}.canvas-concept{max-width:1200px;margin:auto;padding:120px 36px}.canvas-concept [role=tablist]{display:flex;gap:34px;justify-content:center;border-bottom:1px solid var(--line);margin-bottom:60px}.canvas-concept [role=tab]{padding:14px 0;border:0;border-bottom:1px solid transparent;background:none;font-size:16px}.canvas-concept [role=tab][aria-selected=true]{border-bottom-color:var(--ink)}.concept-body{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.concept-body>img{width:100%;height:600px;object-fit:cover;border-radius:40px}.concept-body p{margin:25px 0}.site-footer{max-width:1200px;margin:0 auto;padding:65px 36px 70px;border:0;line-height:1.7;font-size:12px;text-transform:uppercase;grid-template-columns:1fr 1.5fr 1fr}.footer-logo{width:120px}.footer-note{font-size:10px}.footer-address{text-align:center}.footer-links{align-items:center;gap:5px}.footer-center>a{margin-bottom:5px}.inner-main{padding-top:100px}.canvas-faq-hero{position:relative;isolation:isolate;margin:30px 36px 0;height:650px;overflow:hidden;border-radius:35px;color:var(--white);display:grid;place-items:center;text-align:center}.canvas-faq-hero>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:50% 72%;z-index:-2}.canvas-faq-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:#100b0755}.canvas-faq-hero h1{font-size:18px;font-weight:600;margin-bottom:20px}.canvas-faq-hero p{font-size:16px;max-width:360px;margin-bottom:28px}.faq-layout{max-width:1050px;padding:0 36px 110px}.faq-layout .canvas-h2{margin-bottom:25px}.faq-item summary{text-transform:uppercase;font-size:15px;font-weight:600;padding:22px 0}.faq-answer{font-size:16px;max-width:850px;line-height:1.75}.canvas-reservation{max-width:850px;min-height:71svh;margin:auto;padding:90px 36px 30px;text-align:center}.canvas-reservation>h1{margin-bottom:30px}.canvas-reservation>p{margin:0 auto 20px;max-width:650px}.reservation-lead{font-size:18px}.reservation-policy{text-align:left;padding:32px 0 38px;margin:35px auto 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:700px;font-size:16px;line-height:1.8}.reservation-policy h2{margin:25px 0 16px}.reservation-policy h2:first-child{margin-top:0}.reservation-policy p{margin-bottom:18px}.reservation-policy li{padding:4px 0}.reservation-policy ul{padding-left:20px;margin:15px 0}.canvas-reservation .booking-external{font-size:12px;margin-top:18px}.menu-intro{padding:90px 36px 50px}.menu-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px;margin-top:28px}.menu-tabs button{background:none;border:0;border-bottom:1px solid transparent;padding:10px 3px;font-size:14px}.menu-tabs button[aria-current]{border-color:var(--ink)}.menu-book{max-width:1150px;padding:0 36px;margin:0 auto}.menu-book .gallery-track{gap:35px;align-items:flex-start}.menu-sheet{flex:0 0 calc((100% - 35px)/2);scroll-snap-align:start;text-align:center;min-width:0}.menu-sheet>button{padding:0;border:0;background:none;width:100%;cursor:zoom-in}.menu-sheet img{width:100%;height:auto;background:#fff}.menu-sheet>a{font-size:13px;display:inline-block;margin-top:18px;border-bottom:1px solid var(--ink);padding-bottom:3px}.image-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;padding:70px 30px 30px;background:#1b1411e8;border:0;margin:0;color:var(--white);overflow:auto}.image-lightbox::backdrop{background:#1b1411}.image-lightbox[open]{display:flex;justify-content:center;align-items:flex-start}.image-lightbox img{max-width:100%;width:auto;min-height:0;max-height:none;height:auto;object-fit:contain}.image-lightbox>button{position:fixed;top:15px;right:25px;border:1px solid #fff7;background:var(--chocolate);color:var(--white);width:42px;height:42px;line-height:1;font-size:28px;border-radius:50%;z-index:2}.find-intro{padding:70px 36px 55px}.find-hours{max-width:440px;margin:35px auto 0}.canvas-map{height:600px;margin:0 36px;position:relative;overflow:hidden;border-radius:35px;isolation:isolate}.map-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 70%;filter:brightness(.7);z-index:-1}.map-unloaded{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;color:var(--white);gap:20px}.map-unloaded p{font-size:12px}.canvas-map iframe{width:100%;height:100%;border:0}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.revealed{opacity:1;transform:none}
@media(min-width:1700px){.canvas-hero-logo{width:320px}}
@media(max-width:900px){.desktop-nav{gap:16px;font-size:13px}.canvas-header{padding-inline:20px;gap:10px}.canvas-gallery{padding-inline:24px}.gallery-track{gap:24px}.gallery-item{flex-basis:calc((100% - (var(--columns) - 1)*24px)/var(--columns))}.canvas-pair{gap:25px;padding-inline:25px}.canvas-pair img{height:480px}.canvas-split{gap:6%;padding-inline:25px}.canvas-split .split-image{height:510px}.canvas-photo-quote{border-radius:0}.canvas-statement{padding-block:115px}.canvas-header .languages{gap:4px}}
@media(max-width:650px){.canvas-landing{grid-template-columns:1fr;grid-template-rows:1fr 1fr;padding:14px;gap:14px;min-height:620px}.canvas-door{border-radius:28px}.entrance-title{gap:12px}.entrance-title .logo{max-width:none;width:145px}.entrance-title>span{font-size:14px}.entrance-image{object-position:center 62%}.landing-languages{top:27px;right:28px}.canvas-header{grid-template-columns:1fr 100px 1fr;padding:9px 18px;min-height:62px;gap:10px}.canvas-header .brand{width:84px}.desktop-nav{display:none}.nav-trigger{display:block;justify-self:start;border:0;padding:10px 0;background:none;color:inherit;font-size:14px}.mobile-languages{display:block;justify-self:end}.mobile-languages .languages{gap:3px;font-size:10px}.mobile-languages .languages a{min-width:23px}.canvas-hero{min-height:550px}.canvas-hero-logo{max-width:55vw;width:210px}.hero-controls{left:20px;bottom:20px}.floating-book{right:18px;bottom:18px;font-size:12px;padding:11px 14px}.canvas-centered,.canvas-centered.philosophy{padding:85px 24px}.canvas-centered p{font-size:16px}.canvas-gallery{padding:0 20px}.gallery-track{gap:18px}.gallery-item{flex-basis:calc((100% - 18px)/2);border-radius:25px;aspect-ratio:2/3}.gallery-controls{gap:20px;margin-top:22px}.canvas-statement{padding:110px 24px 80px}.canvas-statement h2{font-size:17px;line-height:1.8}.brand-punctuation{left:27px;top:43px}.brand-punctuation .forks{gap:13px}.brand-punctuation .forks i{width:4px;height:6px}.canvas-pair{padding:0 20px;gap:18px}.canvas-pair img{height:300px;border-radius:25px}.canvas-split{display:flex;flex-direction:column;padding:80px 24px;gap:42px;align-items:stretch}.canvas-split .split-image{height:500px;border-radius:25px}.canvas-split>div{padding:0 3px}.canvas-split h2{margin-bottom:20px}.canvas-actions{gap:12px}.canvas-contact-band{padding:75px 24px}.canvas-mark{padding:30px 0 60px}.canvas-mark .forks{gap:20px}.canvas-mark .forks i{width:6px;height:8px}.gallery-heading{padding:10px 24px 30px}.canvas-final-cta{padding:60px 24px 70px}.canvas-photo-quote{height:600px;margin:0 20px;border-radius:25px}.canvas-photo-quote h2{font-size:27px}.canvas-concept{padding:80px 24px}.canvas-concept [role=tablist]{justify-content:space-between;gap:10px;margin-bottom:35px}.canvas-concept [role=tab]{font-size:13px}.concept-body{display:flex;flex-direction:column;gap:35px;align-items:stretch}.concept-body>img{height:440px;border-radius:25px}.site-footer{padding:35px 24px 90px;grid-template-columns:1fr 1fr;gap:35px 18px;font-size:11px}.footer-center{grid-column:1/-1;order:-1}.footer-links{display:flex;flex-direction:column;gap:7px;text-align:left;align-items:flex-start}.footer-address{text-align:right}.footer-note{font-size:9px;letter-spacing:.02em}.inner-main{padding-top:80px}.canvas-faq-hero{height:480px;margin:20px 20px 0;border-radius:25px;padding:30px}.canvas-faq-hero>img{object-position:50% 74%}.faq-layout{padding:0 24px 70px}.faq-item summary{font-size:13px;padding:20px 0}.faq-answer{font-size:15px}.canvas-reservation{padding:60px 24px 20px}.reservation-lead{font-size:17px}.reservation-policy{font-size:15px;margin-top:25px;padding-top:25px}.reservation-policy h2{font-size:14px}.menu-intro{padding:60px 24px 35px}.menu-book{padding:0 20px}.menu-book .gallery-track{gap:20px}.menu-sheet{flex-basis:100%}.menu-tabs{gap:8px 25px}.image-lightbox{padding:70px 10px 20px}.image-lightbox>button{right:15px}.find-intro{padding:60px 24px 40px}.canvas-map{margin:0 20px;height:500px;border-radius:25px}.navigation-overlay nav{font-size:20px;gap:8px}.overlay-logo{width:150px}.navigation-overlay[open]{gap:28px}.overlay-email{font-size:13px}}
.navigation-overlay nav.languages{flex-direction:row;font-size:12px;gap:14px}
@media(max-width:650px){.canvas-header .brand{grid-column:2;grid-row:1;margin:auto}.canvas-header .nav-trigger{grid-column:1;grid-row:1}.canvas-header .mobile-languages{grid-column:3;grid-row:1}.navigation-overlay .overlay-logo{margin-top:35px}.navigation-overlay nav.languages{gap:14px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hero-slide{transition:none}}
