/* Third Place — hospitality first, one destination at a time. */
.tp-views-ready{--cream:#f7f4ee;--ink:#28241f;--orange:#9c7c56;--line:#deded4;--muted:#686b62;--light:#efede5;--green:#34453c;scroll-behavior:auto}
.tp-views-ready body{background:var(--cream);color:var(--ink)}
.tp-views-ready #main>[data-public-view][hidden]{display:none!important}
.tp-views-ready .site-header{min-height:88px;padding:12px 4.5%;gap:24px;background:#f7f4eef5;border-color:var(--line)}
.tp-views-ready .brand img{width:62px}
.tp-views-ready .brand span{font-size:10px;letter-spacing:.12em;color:var(--muted)}
.tp-views-ready .desktop-nav{gap:23px;font-size:14px}
.tp-views-ready .desktop-nav a{min-height:48px;display:inline-flex;align-items:center}
.tp-views-ready .desktop-nav a[aria-current=page]::after{right:0;background:#9c7c56}
.tp-views-ready .header-actions{gap:20px}
.tp-views-ready .button{min-height:54px;border-radius:5px;font-size:17px;padding:14px 23px;line-height:1.35;letter-spacing:0}
.tp-views-ready .button.dark,.tp-views-ready .button.orange{background:#34453c;color:#fffdfa;border-color:#34453c}
.tp-views-ready .button.dark:hover,.tp-views-ready .button.orange:hover{background:#26372f;transform:none}
.tp-views-ready .button.small{min-height:48px;padding:11px 18px;font-size:15px}
.tp-views-ready .button.cream{background:#fffdfa;color:#28241f}
.tp-viewbar{position:sticky;top:var(--tp-header-height,88px);z-index:24;display:flex;align-items:center;gap:30px;padding:12px 5%;background:#f7f4eef5;border-bottom:1px solid #deded4;backdrop-filter:blur(16px)}
.tp-home-link{display:inline-flex;align-items:center;gap:10px;min-height:54px;font-size:16px;color:#686b62;padding:8px 0;white-space:nowrap}
.tp-home-link svg{width:18px;transform:rotate(180deg)}
.tp-home-link:hover{color:#28241f}
.tp-view-picker{display:flex;align-items:center;gap:22px;flex:1;min-width:0}
.tp-view-picker>span{font-size:13px;color:#686b62;letter-spacing:.06em}
.tp-view-picker select{font:23px/1.3 var(--serif);min-height:54px;min-width:0;width:min(100%,380px);max-width:100%;border:0;border-bottom:1px solid #a99a85;border-radius:0;background:transparent;color:#28241f;padding:10px 28px 10px 0;cursor:pointer}
.tp-view-mark{font:20px var(--serif);color:#686b62;white-space:nowrap}
.tp-view-mark svg{display:none}
/* The original café photography carries the first impression. */
.tp-views-ready .hero{position:relative;display:block;isolation:isolate;min-height:540px;height:min(69svh,680px);max-height:760px;margin:18px 28px 0;overflow:hidden;border-radius:8px;background:#42372e}
.tp-views-ready .hero-visual{position:absolute;inset:0;z-index:-1;min-height:0;height:100%;background:#42372e}
.tp-views-ready .hero-visual::after{background:linear-gradient(90deg,#1c211ccc 0%,#1c211cb0 26%,#1c211c55 53%,#1c211c00 78%);z-index:1}
.tp-views-ready .hero-img{object-position:65% 45%;width:100%;height:100%;filter:brightness(.9)}
.tp-views-ready .hero-copy{position:relative;z-index:2;justify-content:center;align-items:flex-start;height:100%;padding:48px 6%;color:#fffdfa;max-width:740px}
.tp-views-ready .hero .eyebrow{font-size:12px;letter-spacing:.14em;margin-bottom:26px;color:#f3eade}
.tp-views-ready .tiny-star{display:none}
.tp-views-ready .hero h1{font-size:clamp(60px,6.6vw,96px);line-height:1.02;letter-spacing:-.05em;white-space:normal;margin-bottom:23px}
.tp-views-ready .hero h1 em{color:#eee2cf;font-style:italic}
.tp-views-ready .hero-description{font-size:19px;line-height:1.55;color:#eee9df;letter-spacing:0}
.tp-views-ready .hero-buttons{display:flex;align-items:center;gap:25px;margin-top:30px;flex-wrap:wrap}
.tp-views-ready .hero-buttons .button{background:#fffdfa;border-color:#fffdfa;color:#28241f;gap:34px}
.tp-views-ready .hero-buttons .button:hover{background:#eee7da}
.tp-views-ready .hero-buttons .round-link{font-size:16px;color:#fffdfa;gap:10px}
.tp-views-ready .hero-buttons .circle{border-color:#ffffff80;background:transparent;width:42px;height:42px}
.tp-views-ready .hero-location{font-size:14px;color:#e3dfd5;gap:8px;flex-wrap:wrap;margin-top:30px;line-height:1.5}
.tp-views-ready .hero-location svg{width:17px;height:17px}
.tp-views-ready .hero-sticker,.tp-views-ready .photo-index,.tp-views-ready .image-note{display:none}
/* A quiet directory replaces the app-like pastel tile wall. */
.tp-hub{max-width:1440px;margin:auto;padding:34px 5% 36px}
.tp-hub-heading{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-bottom:20px}
.tp-hub-heading .eyebrow,.tp-hub-heading>p{display:none}
.tp-hub-heading h2{font:34px/1.15 var(--serif);letter-spacing:-.025em}
.tp-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;row-gap:0;border-top:1px solid #ccc9bf}
.tp-hub-card{position:relative;display:flex;align-items:center;gap:13px;min-height:77px;padding:20px 26px 20px 0;border:0;border-bottom:1px solid #d8d6cc;border-radius:0;background:transparent!important;box-shadow:none;min-width:0}
.tp-hub-icon{display:none}
.tp-hub-card strong{font:22px/1.25 var(--sans);font-weight:400;letter-spacing:-.025em;min-width:0;overflow-wrap:normal}
.tp-hub-card>span:not(.tp-hub-icon){display:none}
.tp-hub-card>i{position:absolute;right:0;top:50%;transform:translateY(-50%);font:22px/1 var(--sans);color:#8b775c;font-style:normal}
.tp-hub-card:hover{color:#34453c}
.tp-hub-secondary{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px}
.tp-hub-secondary a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:#686b62;text-decoration:none;border-bottom:1px solid transparent}
.tp-hub-secondary a:hover{color:#28241f;border-color:#9c7c56}
/* Destination pages share one consistent editorial grid. */
.tp-views-ready #main>.section-pad{padding:48px 6% 56px;max-width:1560px;margin-inline:auto}
.tp-views-ready .section-heading{gap:6%;margin-bottom:36px;align-items:flex-end}
.tp-views-ready .section-heading .eyebrow{font-size:13px;letter-spacing:.1em;color:#686b62;margin-bottom:17px}
.tp-views-ready .section-heading h2{font-size:clamp(42px,4.7vw,68px);line-height:1.08}
.tp-views-ready .heading-aside{max-width:390px;font-size:17px;line-height:1.65}
.tp-views-ready .photo-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tp-views-ready .photo-card.stagger{padding-top:0}
.tp-views-ready .card-image{height:340px;border-radius:7px}
.tp-views-ready .card-caption h3{font-size:30px}
.tp-views-ready .card-caption>span{font-size:13px;letter-spacing:.08em}
.tp-views-ready .card-arrow{border-radius:4px;width:42px;height:42px}
.tp-views-ready .our-place{background:#eeede5;gap:7%}
.tp-views-ready .place-photo{padding-right:0}
.tp-views-ready .place-photo img{height:510px;border-radius:7px}
.tp-views-ready .small-seal{display:none}
.tp-views-ready .place-copy h2{font-size:clamp(42px,4.5vw,64px)}
.tp-views-ready .place-copy>p:not(.eyebrow){font-size:18px;line-height:1.65}
.tp-views-ready .place-tags span{border-color:#c4c6ba;background:transparent;border-radius:3px;font-size:14px}
.tp-views-ready .gallery-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px 28px 0}
.tp-views-ready .gallery-strip button{height:230px;border-radius:5px;overflow:hidden}
.tp-views-ready .social-line{padding:24px 6%;font-size:16px}
.tp-views-ready .brunch-section{background:#34453c;color:#fffdfa}
.tp-views-ready .brunch-copy{padding:55px 10%}
.tp-views-ready .brunch-copy h2{font-size:clamp(46px,5vw,70px)}
.tp-views-ready .brunch-copy p{font-size:18px;line-height:1.65;color:#e6e9e1}
.tp-views-ready .brunch-copy .eyebrow,.tp-views-ready .brunch-label{color:#d5ddcd}
.tp-views-ready .brunch-copy .light-link{color:#f1ede3}
.tp-views-ready .guest-reviews{background:#efede5}
.tp-views-ready .review-card{background:#fffdfa;border:1px solid #deded4;border-radius:6px;box-shadow:none}
.tp-views-ready .review-stars{color:#957646!important}
.tp-views-ready .review-initial{border-radius:4px;background:#ecece3}
.tp-views-ready .event-row{padding-block:24px;border-color:#d3d2c7}
.tp-views-ready .event-date{border-color:#d2d1c6}
.tp-views-ready .everyday-note{padding-top:30px;margin-top:30px;border-top:1px solid #d3d2c7}
.tp-views-ready .contact-section{gap:8%;align-items:start}
.tp-views-ready .hours-card{border:1px solid #d9d9cf;background:#fffdfa;border-radius:8px;padding:32px;box-shadow:none}
.tp-views-ready .hours-list{font-size:18px}
.tp-views-ready .contact-banner{background:#34453c;color:#fffdfa;padding:34px 6%;gap:28px}
.tp-views-ready .contact-banner h2{font-size:clamp(32px,3.7vw,48px)}
.tp-views-ready .contact-banner p:not(.eyebrow){color:#e6e9e1}
.tp-views-ready .bk-layout{gap:30px}
.tp-views-ready .bk-summary,.tp-views-ready .bk-step,.tp-views-ready .planner-panel{border-radius:8px;box-shadow:none}
.tp-views-ready :is(.bk-field-grid,.bk-catalog-tools,.bk-booking-email) :is(input,select,textarea){border-color:#c9cabe;border-radius:5px;background:#fffdfa;min-height:54px}
.tp-views-ready :is(.text-dialog,.tr-dialog,.or-dialog,.gt-dialog){border-radius:9px;border:1px solid #d8d7cc}
.tp-views-ready .cm-hero{border-radius:8px}
.tp-views-ready .site-footer{background:#eeede5;border-top:1px solid #dbdbcf;padding:26px 5% 24px}
.tp-views-ready .footer-top{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 0 20px}
.tp-views-ready .footer-logo{width:54px;flex-shrink:0}
.tp-views-ready .footer-logo img{width:54px}
.tp-views-ready .footer-top>p{font-size:22px;line-height:1.2}
.tp-views-ready .footer-nav{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:flex-end;max-width:700px}
.tp-views-ready .footer-nav a{font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.tp-views-ready .footer-bottom{padding-top:17px;gap:12px;align-items:center;flex-wrap:wrap}
.tp-views-ready .footer-bottom button,.tp-views-ready .footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.tp-views-ready .footer-bottom>div{gap:8px 18px;flex-wrap:wrap}
.tp-views-ready .mobile-actions{background:#f7f4eef5;border-color:#d6d7cc;box-shadow:none;padding:9px 16px calc(9px + env(safe-area-inset-bottom));gap:10px}
.tp-views-ready .mobile-actions a{border-radius:5px;min-height:52px;justify-content:center;font-size:16px;padding:12px 8px;gap:0}
.tp-views-ready .mobile-actions a svg{display:none}
.tp-views-ready .mobile-actions a:first-child{background:#34453c;color:#fffdfa}
.tp-views-ready .mobile-actions a:last-child{background:#fffdfa;color:#28241f;border:1px solid #c9ccbf}
.tp-views-ready .concierge-launcher{background:#fffdfa;color:#28241f!important;border:1px solid #cecec3;box-shadow:0 3px 16px #28241f12;border-radius:6px;min-height:50px;padding:10px 14px}
.tp-views-ready .concierge-launcher-spark{display:none}
.tp-viewbar :focus-visible,.tp-hub :focus-visible{outline:3px solid #34453c;outline-offset:4px}
@media(max-width:1200px){
 .tp-views-ready .site-header{padding:12px 4%;gap:20px}
 .tp-views-ready .hero{margin:16px 20px 0;min-height:500px;height:62svh}
 .tp-views-ready .hero-copy{max-width:650px;padding:38px 6%}
 .tp-views-ready .hero h1{font-size:70px}
 .tp-view-mark,.tp-view-picker>span{display:none}
 .tp-view-picker>span{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .tp-views-ready .section-heading{align-items:flex-start}
 .tp-views-ready .brunch-copy{padding:40px 8%}
 .tp-views-ready .brunch-copy h2{font-size:51px}
}
@media(max-width:800px){
 .tp-views-ready .hero{height:auto;min-height:500px}
 .tp-views-ready .hero-copy{max-width:600px;padding:45px 6%}
 .tp-views-ready .hero h1{font-size:64px}
 .tp-views-ready .hero-visual::after{background:linear-gradient(90deg,#17221cdd,#17221c9c 45%,#17221c22)}
 .tp-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}
 .tp-hub-card{min-height:75px}
 .tp-views-ready .photo-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tp-views-ready .card-image{height:300px}
 .tp-views-ready .card-caption h3{font-size:27px}
 .tp-views-ready .gallery-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 20px 0}
 .tp-views-ready .gallery-strip button{height:210px}
 .tp-views-ready .brunch-section{grid-template-columns:minmax(0,1fr)}
 .tp-views-ready .brunch-image{height:290px;min-height:0}
 .tp-views-ready .brunch-copy{padding:35px 6% 42px}
 .tp-views-ready .footer-top{flex-wrap:wrap}
 .tp-views-ready .footer-nav{justify-content:flex-start;max-width:none}
}
@media(max-width:600px){
 .tp-views-ready .site-header{min-height:78px;padding:10px 18px;gap:12px}
 .tp-views-ready .brand img{width:52px}
 .tp-views-ready .brand span{display:none}
 .tp-views-ready .header-actions{gap:10px}
 .tp-views-ready .header-actions>.button{display:none}
 .tp-views-ready .language-picker>summary{padding:6px;font-size:14px;min-height:48px}
 .tp-views-ready .menu-toggle{padding:10px;width:48px;height:48px}
 .tp-views-ready .mobile-nav{top:var(--tp-header-height,78px);padding:14px 24px 22px;max-height:calc(100svh - var(--tp-header-height,78px));overflow:auto;background:#f7f4ee;border-bottom:1px solid #deded4;box-shadow:0 10px 20px #28241f0a}
 .tp-views-ready .mobile-nav a{font-size:22px;min-height:54px;padding:11px 0}
 .tp-views-ready .hero{margin:0;border-radius:0;min-height:490px;height:auto;max-height:none}
 .tp-views-ready .hero-copy{padding:36px 24px 30px;max-width:none;min-height:490px}
 .tp-views-ready .hero-visual{height:100%;min-height:0}
 .tp-views-ready .hero-img{object-position:64% 45%}
 .tp-views-ready .hero-visual::after{background:linear-gradient(90deg,#17221cdb,#17221ca3 45%,#17221c50)}
 .tp-views-ready .hero .eyebrow{font-size:11px;letter-spacing:.11em;line-height:1.6;margin-bottom:23px;max-width:30ch}
 .tp-views-ready .hero h1{font-size:clamp(45px,12.5vw,64px);line-height:1.05;letter-spacing:-.045em;margin-bottom:20px}
 .tp-views-ready .hero-description{font-size:18px;line-height:1.5}
 .tp-views-ready .hero-buttons{gap:16px;margin-top:25px}
 .tp-views-ready .hero-buttons .button{min-height:54px;font-size:17px;padding:14px 19px;gap:25px}
 .tp-views-ready .hero-buttons .round-link{font-size:15px;gap:8px}
 .tp-views-ready .hero-buttons .circle{width:34px;height:34px}
 .tp-views-ready .hero-location{font-size:13px;line-height:1.55;margin-top:26px;gap:6px}
 .tp-hub{padding:29px 24px 27px}
 .tp-hub-heading{margin-bottom:18px}
 .tp-hub-heading h2{font-size:30px}
 .tp-hub-grid{column-gap:22px}
 .tp-hub-card{min-height:76px;padding:15px 22px 15px 0}
 .tp-hub-card strong{font-size:19px;line-height:1.35;hyphens:none;overflow-wrap:normal}
 .tp-hub-card>i{font-size:19px}
 .tp-hub-secondary{gap:3px 20px;margin-top:17px}
 .tp-hub-secondary a{font-size:15px;min-height:44px}
 .tp-viewbar{padding:7px 20px;gap:20px}
 .tp-home-link{min-height:54px;font-size:16px;gap:7px}
 .tp-home-link svg{width:16px}
 .tp-view-picker select{font-family:var(--sans);font-size:17px;min-height:54px;padding-right:14px;width:100%}
 .tp-views-ready #main>.section-pad{padding:30px 24px 36px}
 .tp-views-ready .section-heading{gap:22px;margin-bottom:29px;display:flex;flex-direction:column}
 .tp-views-ready .section-heading h2{font-size:41px}
 .tp-views-ready .section-heading .eyebrow{font-size:12px;margin-bottom:15px}
 .tp-views-ready .heading-aside{font-size:17px;max-width:none}
 .tp-views-ready .photo-cards{grid-template-columns:repeat(3,minmax(250px,82%));gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}
 .tp-views-ready .photo-card{scroll-snap-align:start}
 .tp-views-ready .card-image{height:280px}
 .tp-views-ready .card-caption{padding-top:15px}
 .tp-views-ready .card-caption h3{font-size:29px}
 .tp-views-ready .place-photo img{height:300px}
 .tp-views-ready .place-copy h2{font-size:42px}
 .tp-views-ready .our-place{gap:30px}
 .tp-views-ready .gallery-strip{padding:8px 12px 0;gap:8px}
 .tp-views-ready .gallery-strip button{height:190px}
 .tp-views-ready .gallery-strip button>span{font-size:11px;left:10px;right:10px;line-height:1.4}
 .tp-views-ready .social-line{padding:24px;font-size:16px}
 .tp-views-ready .social-line .text-link{font-size:15px}
 .tp-views-ready .brunch-copy{padding:33px 24px 38px}
 .tp-views-ready .brunch-copy h2{font-size:47px}
 .tp-views-ready .brunch-copy p{font-size:18px}
 .tp-views-ready .contact-banner{padding:30px 24px}
 .tp-views-ready .hours-card{padding:24px 20px}
 .tp-views-ready .site-footer{padding:24px 24px 104px}
 .tp-views-ready .footer-top{gap:18px;align-items:center}
 .tp-views-ready .footer-top>p{flex:1;font-size:22px}
 .tp-views-ready .footer-nav{gap:3px 20px}
 .tp-views-ready .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
 .tp-views-ready .concierge-launcher{right:16px;bottom:calc(86px + env(safe-area-inset-bottom));width:50px;height:50px;min-height:50px;justify-content:center;padding:10px;border-radius:50%;gap:0}
 .tp-views-ready .concierge-launcher>span{display:none}
 .tp-views-ready .concierge-launcher>svg{width:24px;height:24px}
}
@media(prefers-reduced-motion:no-preference){
 .tp-hub-card>i{transition:color .2s,margin-right .2s}
 .tp-hub-card:hover>i{color:#34453c;margin-right:-4px}
 .tp-views-ready .hero-img{animation:tp-photo-arrive .8s ease both}
 @keyframes tp-photo-arrive{from{opacity:.6}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){.tp-hub-card>i,.tp-views-ready .hero-img{animation:none;transition:none}}
