:root{--ink: #1d1713;--ink-soft: #665b54;--cream: #f4efe7;--paper: #fbf8f3;--white: #fffdf9;--clay: #a96f50;--line: rgba(29, 23, 19, .16);--serif: "Playfair Display", Georgia, serif;--sans: "Manrope", Arial, sans-serif;--pad: clamp(1.25rem, 5vw, 5.5rem)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:400 15px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}svg{width:1.1em;fill:none;stroke:currentColor;stroke-width:1.5}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.03}em{font-weight:500}.skip-link{position:fixed;z-index:999;left:1rem;top:-5rem;padding:.75rem 1rem;background:var(--white);color:var(--ink)}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--clay);outline-offset:4px}.section{padding:clamp(5rem,10vw,9rem) var(--pad)}.eyebrow{margin-bottom:1.5rem;font:600 .68rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase}.section-head h2{margin:0;font-size:clamp(2.6rem,5vw,5.5rem);letter-spacing:-.035em}.section-copy{max-width:42rem;margin:2rem 0 0;color:var(--ink-soft)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.site-header{position:fixed;z-index:100;inset:0 0 auto;height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);color:var(--white);transition:background .35s,color .35s,height .35s}.site-header.scrolled,body:not(:has(.hero)) .site-header{height:74px;color:var(--ink);background:#fbf8f3f0;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{width:fit-content;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:.75rem;line-height:1}.brand>span{grid-row:1 / 3;display:grid;place-items:center;width:34px;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;font:italic 600 1.2rem var(--serif)}.brand strong{font:500 1.45rem/1 var(--serif);letter-spacing:.03em}.brand small{margin-top:.3rem;font:500 .47rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}.desktop-nav{display:flex;gap:clamp(1.25rem,2.5vw,2.75rem)}.desktop-nav a{position:relative;font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-.6rem;height:1px;background:currentColor;transition:right .3s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{right:0}.header-cta{justify-self:end;display:flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.menu-toggle{display:none;border:0;background:none}.mobile-menu{display:none}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:9rem var(--pad) 9vh;color:var(--white);overflow:hidden;background:var(--ink)}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url(/images/lorina-hero.webp) center 58%/cover no-repeat;animation:hero-in 1.5s ease-out both}.hero-shade{background:linear-gradient(90deg,#110c09ad,#110c0914 72%),linear-gradient(0deg,rgba(17,12,9,.38),transparent 40%)}@keyframes hero-in{0%{transform:scale(1.035);opacity:.7}}.hero-content{position:relative;z-index:1;width:min(52rem,76%)}.hero-content h1{max-width:48rem;margin:0 0 1.5rem;font-size:clamp(3.5rem,7.6vw,8rem);line-height:.93;letter-spacing:-.055em}.hero-content h1 em{display:block}.hero-content>p:not(.eyebrow){max-width:31rem;margin-bottom:2.25rem;font-size:clamp(1rem,1.4vw,1.2rem)}.hero-actions{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;justify-content:space-between;align-items:center;min-width:14rem;gap:2rem;padding:1.05rem 1.2rem;border:1px solid currentColor;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:background .3s,color .3s,transform .3s}.button:hover{transform:translateY(-2px)}.button.light{color:var(--ink);background:var(--white);border-color:var(--white)}.button.light:hover{color:var(--white);background:transparent}.button.outline:hover,.dark-button{color:var(--white);background:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:.7rem;padding-bottom:.25rem;border-bottom:1px solid currentColor;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.text-link svg{transition:transform .3s}.text-link:hover svg{transform:translate(4px)}.light-link{border:0}.hero-note{position:absolute;z-index:1;right:var(--pad);bottom:9vh;display:grid;gap:.25rem;text-align:right}.hero-note span{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase}.hero-note strong{font:500 1.1rem var(--serif)}.scroll-cue{position:absolute;z-index:1;left:var(--pad);bottom:1.4rem;display:flex;align-items:center;gap:.7rem;font-size:.58rem;letter-spacing:.17em;text-transform:uppercase}.scroll-cue span{width:2.5rem;height:1px;background:currentColor}.intro{display:grid;grid-template-columns:.35fr 1.25fr 1fr;gap:3rem;align-items:start;background:var(--cream)}.intro-number{color:var(--clay);font:500 .8rem var(--sans)}.intro .section-head h2{font-size:clamp(2.7rem,4.8vw,5rem)}.intro-copy{max-width:30rem;padding-top:4.2rem}.intro-copy>p{margin-bottom:2.5rem;color:var(--ink-soft);font-size:1.05rem}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);background:var(--paper)}.feature-card{display:grid;grid-template-rows:minmax(28rem,62vh) auto}.feature-card.reverse{margin-top:10rem}.feature-photo{background-position:center;background-size:cover}.feature-photo.barista{background-image:url(/images/lorina-barista.webp)}.feature-photo.pastry{background-image:url(/images/lorina-pastry.webp)}.feature-card>div:last-child{position:relative;padding:2rem 5rem 1rem 0}.feature-card h3{margin:.6rem 0 1rem;font-size:clamp(2rem,3.5vw,3.75rem)}.feature-card p:not(.eyebrow){max-width:31rem;color:var(--ink-soft)}.circle-link{position:absolute;right:0;bottom:1.5rem;display:grid;place-items:center;width:3.5rem;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;transition:background .3s,color .3s}.circle-link:hover,.dark{color:var(--white);background:var(--ink)}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.why-grid>h2{margin:0;font-size:clamp(3rem,5.8vw,6rem);letter-spacing:-.04em}.why-list article{display:grid;grid-template-columns:2rem 1fr;gap:1.5rem;padding:2rem 0;border-top:1px solid rgba(255,255,255,.2)}.why-list article:last-child{border-bottom:1px solid rgba(255,255,255,.2)}.why-list span{color:#b99078;font-size:.65rem}.why-list h3{margin:0 0 .5rem;font-size:1.55rem}.why-list p{margin:0;color:#fff9}.gallery-preview{text-align:center}.gallery-preview .section-head{text-align:left}.preview-grid{display:grid;grid-template-columns:.78fr 1.2fr .82fr;gap:1.2rem;align-items:center;margin:4rem 0 3rem}.gallery-item{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;background:#ddd3c7;cursor:zoom-in}.gallery-item:after{content:"+";position:absolute;display:grid;place-items:center;right:1rem;bottom:1rem;width:2.5rem;aspect-ratio:1;color:var(--white);background:#14100d99;border-radius:50%;opacity:0;transform:scale(.8);transition:.3s}.gallery-item:hover:after{opacity:1;transform:scale(1)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.gallery-item:hover img{transform:scale(1.025)}.preview-grid .item-1,.preview-grid .item-3{height:30rem}.preview-grid .item-2{height:42rem}.reviews{display:grid;justify-items:center;text-align:center;background:var(--cream)}.rating{display:flex;align-items:center;gap:.25rem;color:var(--clay)}.rating svg{width:.9rem;fill:currentColor}.rating strong{margin-left:.5rem;color:var(--ink)}.rating span{margin-left:.35rem;color:var(--ink-soft);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.reviews blockquote{max-width:62rem;margin:3rem auto 1rem;font:italic 500 clamp(2.1rem,4.7vw,4.7rem)/1.15 var(--serif);letter-spacing:-.03em}.reviews>p{color:var(--ink-soft)}.reviews .muted{margin-top:2rem;color:var(--ink-soft)}.insta-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:3rem}.insta-head .section-head h2{font-size:clamp(2.5rem,5vw,5rem)}.insta-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.insta-strip a{aspect-ratio:1;overflow:hidden}.insta-strip img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.insta-strip a:hover img{transform:scale(1.035)}.contact-band{display:grid;grid-template-columns:1.2fr 1fr;min-height:33rem;padding:clamp(5rem,10vw,9rem) var(--pad);align-items:end;color:var(--white);background:linear-gradient(90deg,#130d0ae0,#130d0a6b),url(/images/lorina-interior.webp) center/cover}.contact-band h2{margin:0;font-size:clamp(3.2rem,6vw,6.5rem);letter-spacing:-.04em}.contact-band>div:last-child{justify-self:end;max-width:22rem}.contact-band>div:last-child p{margin-bottom:2rem}.footer{display:grid;grid-template-columns:1.5fr 1fr 1.2fr .7fr;gap:4rem;padding:5rem var(--pad) 2rem;color:var(--white);background:#120f0d}.footer h3{margin-bottom:1.25rem;font:600 .65rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#b99078}.footer a{display:block;width:fit-content;margin-bottom:.55rem}.footer svg{vertical-align:middle}.footer-brand>span{font:500 clamp(2.8rem,5vw,5rem) var(--serif)}.footer-brand p{color:#ffffff8c}.footer .hours{display:flex;justify-content:space-between;gap:1rem;margin:0;color:#ffffffa6;font-size:.75rem}.footer-bottom{grid-column:1 / -1;display:flex;justify-content:space-between;padding-top:3rem;margin-top:2rem;border-top:1px solid rgba(255,255,255,.15);color:#ffffff73;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.page-hero,.menu-hero,.contact-hero{padding-top:10rem}.split-hero{display:grid;grid-template-columns:1fr 1fr;padding-right:0;min-height:90vh;align-items:center;background:var(--cream)}.split-hero>div{padding-right:6vw}.split-hero .section-head h2{font-size:clamp(3.5rem,6vw,6.5rem)}.split-hero img{width:100%;height:calc(90vh - 5rem);object-fit:cover}.story{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.story-lead{font:500 clamp(2.3rem,4vw,4.4rem)/1.12 var(--serif);letter-spacing:-.03em}.story-body{max-width:38rem;font-size:1.05rem;color:var(--ink-soft)}.story-body p+p{margin-top:2rem}.values .section-head{display:grid;grid-template-columns:.5fr 1fr}.values .section-head .eyebrow{padding-top:1rem}.value-cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:5rem}.value-cards article{min-height:20rem;padding:2rem;border:1px solid rgba(255,255,255,.2);border-right:0}.value-cards article:last-child{border-right:1px solid rgba(255,255,255,.2)}.value-cards span{color:#b99078;font-size:.7rem}.value-cards h3{margin-top:7rem;font-size:2rem}.value-cards p{color:#ffffff94}.menu-hero{display:grid;place-content:center;min-height:62vh;padding-left:var(--pad);padding-right:var(--pad);text-align:center;background:var(--cream)}.menu-hero h1{margin:0 0 1rem;font-size:clamp(4rem,9vw,9rem);letter-spacing:-.05em}.menu-hero>p:last-child{color:var(--ink-soft)}.category-nav{position:sticky;z-index:20;top:74px;display:flex;justify-content:center;gap:clamp(1rem,3vw,3rem);padding:1.1rem var(--pad);overflow-x:auto;background:#fbf8f3f0;border-block:1px solid var(--line);backdrop-filter:blur(12px)}.category-nav a{white-space:nowrap;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.menu-content{max-width:82rem;margin:auto}.menu-category{display:grid;grid-template-columns:.75fr 1.3fr;gap:8vw;padding:5rem 0;scroll-margin-top:8rem;border-bottom:1px solid var(--line)}.menu-category>div>span{color:var(--clay);font-size:.65rem}.menu-category h2{margin:.8rem 0 1rem;font-size:clamp(2.8rem,5vw,5rem)}.menu-category>div>p{max-width:20rem;color:var(--ink-soft)}.menu-category ul{margin:0;padding:0;list-style:none}.menu-category li{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:1.6rem 0;border-bottom:1px solid var(--line)}.menu-category li:first-child{padding-top:0}.menu-category li h3{margin:0 0 .3rem;font:500 1.25rem var(--sans)}.menu-category li p{margin:0;color:var(--ink-soft);font-size:.85rem}.menu-category li strong{font-size:.85rem;font-weight:600;white-space:nowrap}.menu-note{margin:3rem 0 0;color:var(--ink-soft);font-size:.75rem}.gallery-hero{text-align:left;place-content:end start;padding-bottom:5rem}.gallery-hero h1{font-size:clamp(4rem,8vw,8rem)}.masonry{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;padding-top:1rem}.masonry .gallery-item{height:35rem}.masonry-1{grid-column:1 / 9}.masonry-2{grid-column:9 / 13}.masonry-3{grid-column:1 / 6}.masonry-4{grid-column:6 / 13}.masonry-5{grid-column:1 / 5}.masonry-6{grid-column:5 / 13}.masonry .masonry-2,.masonry .masonry-5{height:44rem}.lightbox{max-width:min(90vw,1100px);padding:0;border:0;color:var(--white);background:transparent}.lightbox::backdrop{background:#0c0907e6;backdrop-filter:blur(5px)}.lightbox img{max-height:82vh;margin:auto;object-fit:contain}.lightbox p{margin:.75rem 0 0;text-align:center;font-size:.8rem}.lightbox-close{position:fixed;top:1.5rem;right:2rem;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:var(--white);background:#0006;font-size:1.8rem;cursor:pointer}.contact-hero{display:grid;grid-template-columns:1fr 1fr;gap:8vw;min-height:80vh;align-items:center;background:var(--cream)}.contact-hero .section-head h2{font-size:clamp(3.5rem,6vw,6.5rem)}.contact-details{display:grid;grid-template-columns:1fr 1fr}.contact-details>div{min-height:12rem;padding:1.75rem;border:1px solid var(--line);border-right:0;border-bottom:0}.contact-details>div:nth-child(2n){border-right:1px solid var(--line)}.contact-details>div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.contact-details>div>span{display:block;margin-bottom:1.4rem;color:var(--clay);font-size:.62rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.contact-details a:not(.text-link){display:block}.contact-details .hours{display:flex;justify-content:space-between;gap:1rem;margin:0;font-size:.7rem}.map-section{position:relative;height:38rem;background:#ddd5ca}.map-section iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(.9) sepia(.15)}.map-card{position:absolute;left:var(--pad);bottom:3rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;width:min(30rem,calc(100% - 2*var(--pad)));padding:1.3rem;background:var(--white);box-shadow:0 12px 50px #00000026}.map-card>span{display:grid;place-items:center;width:3rem;height:3rem;color:var(--white);background:var(--ink);border-radius:50%}.map-card small,.map-card strong{display:block}.map-card small{margin-bottom:.2rem;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--clay)}.map-card strong{font-size:.75rem}.not-found{min-height:80vh;display:grid;place-content:center;text-align:center;padding:10rem var(--pad) 5rem}.not-found h1{font-size:clamp(4rem,8vw,8rem)}.not-found .button{margin:2rem auto 0}@media(max-width:900px){.site-header{height:74px;grid-template-columns:1fr auto}.desktop-nav,.header-cta{display:none}.menu-toggle{z-index:2;display:grid;gap:6px;width:42px;height:42px;padding:12px}.menu-toggle span{width:100%;height:1px;background:currentColor;transition:.3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu:not([hidden]){position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;padding:6rem var(--pad) 3rem;color:var(--ink);background:var(--cream)}.mobile-menu nav{display:grid}.mobile-menu nav a{padding:.3rem 0;font:500 clamp(2.5rem,10vw,5rem) var(--serif)}.mobile-menu p{margin-top:3rem;color:var(--ink-soft)}.hero-content{width:95%}.hero-note{display:none}.intro,.why-grid,.story,.contact-hero{grid-template-columns:1fr}.intro{gap:1.5rem}.intro-copy{padding-top:0}.feature-card{grid-template-rows:25rem auto}.preview-grid .item-1,.preview-grid .item-3{height:22rem}.preview-grid .item-2{height:31rem}.footer{grid-template-columns:1fr 1fr}.split-hero{grid-template-columns:1fr;padding-right:var(--pad);padding-bottom:0}.split-hero img{height:55vh;margin-top:4rem}.values .section-head,.value-cards{grid-template-columns:1fr}.value-cards article,.value-cards article:last-child{min-height:auto;border-right:1px solid rgba(255,255,255,.2);border-bottom:0}.value-cards article:last-child{border-bottom:1px solid rgba(255,255,255,.2)}.value-cards h3{margin-top:3rem}}@media(max-width:640px){.section{padding-top:4.5rem;padding-bottom:4.5rem}.hero{min-height:92svh;padding-bottom:6rem}.hero-image{background-position:63% center}.hero-shade{background:linear-gradient(90deg,#110c09b3,#110c092e),linear-gradient(0deg,rgba(17,12,9,.45),transparent 50%)}.hero-content{width:100%}.hero-content h1{font-size:clamp(3.35rem,15vw,5rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.3rem}.hero-actions .button{width:100%}.feature-grid{grid-template-columns:1fr}.feature-card.reverse{margin-top:3rem}.feature-card{grid-template-rows:25rem auto}.feature-card>div:last-child{padding-right:4rem}.preview-grid{grid-template-columns:1fr 1fr}.preview-grid .item-1{grid-column:1/-1;height:24rem}.preview-grid .item-2,.preview-grid .item-3{height:20rem}.insta-head{align-items:start;flex-direction:column;gap:1.5rem}.insta-strip{grid-template-columns:1fr 1fr}.contact-band{grid-template-columns:1fr;gap:3rem;align-content:end}.contact-band>div:last-child{justify-self:start}.footer{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;gap:.5rem}.category-nav{justify-content:flex-start}.menu-category{grid-template-columns:1fr;gap:2rem;padding:3.5rem 0}.menu-category li{gap:1rem}.masonry{grid-template-columns:1fr 1fr;gap:.6rem}.masonry .gallery-item{grid-column:auto;height:20rem}.masonry .masonry-1,.masonry .masonry-4,.masonry .masonry-6{grid-column:1/-1;height:23rem}.masonry .masonry-2,.masonry .masonry-5{height:28rem}.contact-details{grid-template-columns:1fr}.contact-details>div,.contact-details>div:nth-child(2n){border-right:1px solid var(--line);border-bottom:0}.contact-details>div:last-child{border-bottom:1px solid var(--line)}.map-section{height:31rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
