/* Third Place in motion: warm light, photographic moments and flowing milk contours. */
.tp-views-ready{--orange:#bf7546;--green:#344d40}
.tp-views-ready body{background:#f8f1e7}
.tp-views-ready .site-header{background:#fbf7efed;gap:20px}
.tp-views-ready .header-actions{gap:13px}
.tp-views-ready .desktop-nav{gap:20px}
.tp-views-ready .hero{border-radius:20px 20px 80px 20px;background:#3e3025;box-shadow:0 18px 45px #6b45251a}
.tp-views-ready .hero-visual::after{background:linear-gradient(90deg,#1d241de8 0%,#1d241dc7 30%,#1d241c46 62%,#33251b20 100%)}
.tp-views-ready .hero-img{filter:brightness(.93);transform:scale(1.035);object-position:65% 47%}
.tp-views-ready .hero h1 em{color:#f0c28a}
.tp-views-ready .hero .eyebrow{color:#f5d7b0}
.tp-views-ready .hero-buttons .button{background:#f0c28a;border-color:#f0c28a;color:#322a20;border-radius:9px;box-shadow:0 5px 24px #18191130}
.tp-views-ready .hero-buttons .button:hover{background:#ffdcaa}
.tp-views-ready .hero-buttons .circle{background:#ffffff12;backdrop-filter:blur(12px)}
.tp-cafe-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2;isolation:isolate}
.tp-cafe-glow{position:absolute;inset:-25%;background:radial-gradient(ellipse at 83% 35%,#f0b45160,transparent 33%),radial-gradient(ellipse at 75% 98%,#ba5c3633,transparent 40%);mix-blend-mode:screen}
.tp-cafe-contours{position:absolute;right:-13%;top:-15%;width:53%;height:120%;border-radius:50%;opacity:.22;background:repeating-radial-gradient(ellipse at 80% 50%,transparent 0 21px,#f6d0a1 22px 23px,transparent 24px 36px);mask-image:linear-gradient(90deg,transparent,#000 40%,#000);transform:rotate(-12deg)}
.tp-cafe-flow{position:absolute;right:-9%;top:-15%;width:50%;height:125%;color:#f8dfb8;opacity:.38;stroke-width:1.2;stroke-dasharray:500 480}
.tp-views-ready .image-note{display:block;bottom:35px;right:5%;z-index:3;color:#fff4e2;font-size:27px;text-shadow:0 2px 15px #22271e88}
.tp-views-ready .image-note em{font-size:32px;color:#f0c28a}
.tp-hub{position:relative;padding-top:32px;background:linear-gradient(140deg,#f8f1e7,#f3e6d455 70%,#dde3d544)}
.tp-hub-heading h2 em{color:#a05d36}
.tp-hub-grid{gap:12px;border:0}
.tp-hub-card{min-height:82px;padding:19px 40px 19px 20px;background:#fffaf1!important;border:1px solid #deccb5;border-radius:12px;overflow:hidden;isolation:isolate;box-shadow:0 3px 8px #64432705}
.tp-hub-card:nth-child(3n+2){background:#f1e4d5!important;border-color:#dbc6ad}
.tp-hub-card:nth-child(3n+3){background:#e8ebdf!important;border-color:#cbd4be}
.tp-hub-card::before{content:'';position:absolute;right:-30px;top:-35px;width:135px;height:135px;border:1px solid currentColor;opacity:.07;border-radius:50%;box-shadow:0 0 0 13px #ba8b4b22,0 0 0 27px #ba8b4b12;z-index:-1}
.tp-hub-card>i{right:18px;color:#96613e}
.tp-views-ready .card-image{border-radius:16px 16px 45px 16px}
.tp-views-ready .card-arrow{background:#f3d0a1;border-radius:50%}
.tp-views-ready .place-photo img{border-radius:16px 80px 16px 16px}
.tp-views-ready .our-place{background:#e8ecdf}
.tp-views-ready .brunch-section{background:#344d40}
.tp-views-ready .hours-card{background:#fff9ee;border-color:#d8c8af;border-radius:16px;box-shadow:0 10px 28px #6745210a}
.tp-views-ready .review-card{border-radius:14px;background:#fffbf3}
.tp-views-ready .site-footer{background:#eee4d3}
.tp-views-ready .concierge-launcher{border-radius:26px;background:#f3d2a2;border-color:#d5b286;box-shadow:0 4px 20px #81502a18}
@media(prefers-reduced-motion:no-preference){
 html.tp-views-ready:not([data-tp-motion=paused]) .hero-img{animation:tp-cinema-photo 19s ease-in-out infinite alternate}
 html:not([data-tp-motion=paused]) .tp-cafe-glow{animation:tp-warm-light 12s ease-in-out infinite alternate}
 html:not([data-tp-motion=paused]) .tp-cafe-contours{animation:tp-roast-contours 22s ease-in-out infinite alternate}
 html:not([data-tp-motion=paused]) .tp-cafe-flow{animation:tp-milk-flow 15s linear infinite}
 html:not([data-tp-motion=paused]) .tp-scene-enter{animation:tp-destination-arrive .58s cubic-bezier(.2,.7,.2,1) both}
 .tp-hub-card{transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
 .tp-hub-card::before{transition:transform .6s}
 .tp-views-ready .hero-buttons .button{transition:background .25s,transform .3s,box-shadow .3s}
 .tp-views-ready .hero-buttons .button:hover{transform:translateY(-3px);box-shadow:0 9px 28px #18191140}
 @media(hover:hover){.tp-hub-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #64432715;border-color:#ba8a56}.tp-hub-card:hover::before{transform:scale(1.4) rotate(25deg)}}
 @keyframes tp-cinema-photo{from{transform:scale(1.035) translateX(.5%)}to{transform:scale(1.12) translateX(-1.8%)}}
 @keyframes tp-warm-light{from{transform:translate3d(2%,-2%,0);opacity:.65}to{transform:translate3d(-5%,5%,0);opacity:1}}
 @keyframes tp-roast-contours{from{transform:rotate(-12deg) translateY(-3%)}to{transform:rotate(8deg) translateY(5%)}}
 @keyframes tp-milk-flow{to{stroke-dashoffset:-1960}}
 @keyframes tp-destination-arrive{from{opacity:.3;transform:translateY(15px)}to{opacity:1;transform:none}}
}
@media(max-width:1200px){.tp-views-ready .hero-copy{max-width:650px}.tp-views-ready .image-note{right:5%;font-size:25px}.tp-cafe-contours{width:60%}}
@media(max-width:950px){.tp-views-ready .image-note{display:none}.tp-views-ready .hero-visual::after{background:linear-gradient(90deg,#1d241ded,#1d241cad 48%,#1d241c44)}.tp-cafe-flow{width:65%;right:-20%;opacity:.3}}
@media(max-width:600px){
 .tp-views-ready .site-header{gap:12px}
 .tp-views-ready .header-actions{gap:8px}
 .tp-views-ready .hero{border-radius:0 0 38px 0;box-shadow:0 8px 25px #6b452514}
 .tp-views-ready .hero-copy{padding-top:35px;padding-bottom:35px}
 .tp-views-ready .hero-visual::after{background:linear-gradient(90deg,#17261ce3,#17261cb0 50%,#17261c60)}
 .tp-cafe-contours{width:85%;right:-39%;opacity:.25;top:-25%;height:150%}
 .tp-cafe-flow{width:95%;right:-45%;opacity:.25}
 .tp-cafe-glow{background:radial-gradient(ellipse at 90% 30%,#e9a74770,transparent 40%),radial-gradient(ellipse at 70% 100%,#ba5c3644,transparent 45%)}
 .tp-hub{padding-top:27px}
 .tp-hub-grid{gap:10px}
 .tp-hub-card{padding:15px 29px 15px 13px;min-height:82px;border-radius:10px}
 .tp-hub-card strong{font-size:18px;line-height:1.35}
 .tp-hub-card>i{right:11px;font-size:18px}
 .tp-views-ready .concierge-launcher{border-radius:50%}
}
html[data-tp-motion=paused] *,html[data-tp-motion=paused] *::before,html[data-tp-motion=paused] *::after{animation-play-state:paused!important}
html[data-tp-motion=paused] .tp-scene-enter{animation:none!important}
html.tp-views-ready[data-tp-motion=paused] .hero-img{animation:none!important;opacity:1}
html[data-tp-motion=paused] .tp-hub-card,html[data-tp-motion=paused] .tp-hub-card::before,html[data-tp-motion=paused] .tp-views-ready .hero-buttons .button{transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.tp-cafe-atmosphere *,.tp-scene-enter,.tp-views-ready .hero-img{animation:none!important;transition:none!important}.tp-hub-card:hover,.tp-views-ready .hero-buttons .button:hover{transform:none}}
@media print{.tp-cafe-atmosphere{display:none!important}}

/* A living story, with complete accessible text and immediate practical actions. */
.tp-public-kinetic-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.tp-public-kinetic-visual{display:contents}
.tp-public-kinetic-word{display:inline-block;white-space:nowrap;vertical-align:baseline}
.tp-public-kinetic-unit{display:inline-block}
.tp-public-kinetic-letter{display:inline}
.tp-views-ready .hero.tp-moments-ready .image-note{display:none}
.tp-moment-controls{position:absolute;z-index:5;right:5%;bottom:25px;display:flex;gap:6px;padding:6px;border:1px solid #f5e7ce66;border-radius:13px;background:#27332bdd;color:#fff8eb;backdrop-filter:blur(16px);box-shadow:0 6px 22px #15221d30}
.tp-moment-controls button{position:relative;display:flex;align-items:center;gap:10px;min-height:54px;padding:12px 15px;border:1px solid transparent;border-radius:9px;background:transparent;color:#f4eedf;font:16px/1.3 var(--sans);cursor:pointer}
.tp-moment-controls button>span:first-child{font:13px/1 var(--sans);color:#c9b99d}
.tp-moment-controls button[aria-pressed=true]{background:#efc18c;color:#302c22;box-shadow:0 2px 9px #0002}
.tp-moment-controls button[aria-pressed=true]>span:first-child{color:#775132}
.tp-moment-controls button:focus-visible{outline:3px solid #ffdcac;outline-offset:2px}
.tp-moment-controls button:hover:not([aria-pressed=true]){background:#ffffff15}
.tp-views-ready .tp-cafe-atmosphere{inset:-10px;transform:translate3d(var(--tp-pointer-x,0px),var(--tp-pointer-y,0px),0);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media(max-width:950px){.tp-moment-controls{right:5%;bottom:20px;gap:3px}.tp-moment-controls button{padding:10px 12px;font-size:15px;gap:7px}}
@media(max-width:600px){
 .tp-views-ready .hero.tp-moments-ready .hero-copy{min-height:465px;padding-bottom:28px}
 .tp-moment-controls{position:relative;right:auto;bottom:auto;margin:0 24px 23px;padding:5px;justify-content:stretch;gap:3px;border-radius:12px}
 .tp-moment-controls button{min-width:0;flex:1;flex-direction:column;justify-content:center;gap:5px;font-size:14px;padding:10px 5px;border-radius:8px}
 .tp-moment-controls button>span:first-child{font-size:11px}
 .tp-views-ready .header-actions{gap:5px}
 .tp-views-ready .language-picker>summary{padding-inline:4px}
}
@media(prefers-reduced-motion:no-preference){
 html:not([data-tp-motion=paused]) .tp-public-kinetic-active :is(.tp-public-kinetic-unit,.tp-public-kinetic-letter){animation:tp-copy-write .75s ease-in-out var(--tp-copy-delay,0ms) backwards}
 html:not([data-tp-motion=paused]) .tp-public-kinetic-active .tp-public-kinetic-unit{animation-name:tp-copy-rise}
 html:not([data-tp-motion=paused]) .tp-moment-controls button{transition:background .25s,color .25s,transform .2s,box-shadow .25s}
 html:not([data-tp-motion=paused]) .tp-moment-controls button:active{transform:scale(.96)}
 html:not([data-tp-motion=paused]) .tp-hub-card:active{transform:translateY(-1px) scale(.98)}
 @keyframes tp-copy-write{from{opacity:0}to{opacity:1}}
 @keyframes tp-copy-rise{from{opacity:0}to{opacity:1}}
}
html[data-tp-motion=paused] .tp-public-kinetic-active :is(.tp-public-kinetic-unit,.tp-public-kinetic-letter){animation:none!important;opacity:1;transform:none;filter:none}
html[data-tp-motion=paused] .tp-views-ready .tp-cafe-atmosphere,html.tp-views-ready[data-tp-motion=paused] .tp-cafe-atmosphere{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.tp-public-kinetic-active *{animation:none!important;opacity:1;transform:none;filter:none}.tp-views-ready .tp-cafe-atmosphere{transform:none;transition:none}.tp-moment-controls button{transition:none}}
@media print{.tp-public-kinetic-active *{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.tp-moment-controls{display:none!important}}

/* Espresso and rising steam carry the movement; controls stay out of the scene. */
.tp-views-ready .hero{border-radius:18px 18px 48px 18px;box-shadow:0 12px 40px #5f442414}
.tp-cafe-background-film{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:58% 50%;opacity:0;filter:saturate(.82) brightness(.9);transition:opacity 1s ease;pointer-events:none}
.tp-film-background-playing .tp-cafe-background-film{opacity:1}
.tp-views-ready .hero-visual::after{background:linear-gradient(90deg,#17271df2 0%,#17271dcc 30%,#17271c55 62%,#33251b12 100%)}
.tp-views-ready .tp-cafe-flow{opacity:.16;stroke-width:.8}
.tp-views-ready .tp-cafe-contours{opacity:.07}
.tp-cafe-steam{position:absolute;right:17%;bottom:24%;width:160px;height:280px;color:#fff6e5;opacity:.44;stroke-width:1.1;filter:blur(.6px)}
.tp-cafe-steam path{opacity:0;transform-origin:50% 80%;stroke-linecap:round}
.tp-public-motion-preference{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;border:0;border-bottom:1px solid transparent;background:none;color:#686256;font:15px/1.4 var(--sans);cursor:pointer;text-align:left}
.tp-public-motion-preference:hover{color:#344d40;border-bottom-color:#8b917a}
.tp-public-motion-preference:focus-visible{outline:3px solid #344d40;outline-offset:4px}
.tp-public-motion-preference:disabled{color:#858174;cursor:default}
.tp-atmosphere-credit{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#777166;text-decoration:underline;text-underline-offset:4px}
.tp-views-ready .header-actions{gap:20px}
@media(prefers-reduced-motion:no-preference){
 html:not([data-tp-motion=paused]) .tp-cafe-steam path{animation:tp-coffee-steam 7s ease-in-out infinite}
 html:not([data-tp-motion=paused]) .tp-cafe-steam path:nth-child(2){animation-delay:-2.4s;animation-duration:8.4s}
 html:not([data-tp-motion=paused]) .tp-cafe-steam path:nth-child(3){animation-delay:-4.8s;animation-duration:7.7s}
 @keyframes tp-coffee-steam{0%{opacity:0;transform:translateY(18px) scaleX(.88)}22%{opacity:.65}70%{opacity:.35}100%{opacity:0;transform:translateY(-32px) scaleX(1.08)}}
}
@media(max-width:600px){
 .tp-views-ready .hero{border-radius:0 0 32px 0}
 .tp-views-ready .header-actions{gap:10px}
 .tp-cafe-background-film{object-position:62% 50%}
 .tp-cafe-steam{right:-1%;bottom:28%;width:130px;height:235px;opacity:.28}
 .tp-views-ready .hero-visual::after{background:linear-gradient(90deg,#17271de6,#17271cb8 50%,#17271c66)}
}
@media(prefers-reduced-motion:reduce){.tp-cafe-background-film{display:none}.tp-cafe-steam path{animation:none!important;opacity:.16;transform:none}.tp-cafe-background-film{transition:none}}
html[data-tp-motion=paused] .tp-cafe-background-film{transition:none;opacity:0}
@media print{.tp-cafe-background-film,.tp-cafe-steam,.tp-public-motion-preference{display:none!important}}
