/* Cohesive editorial layouts, keeping original artwork and approved copy intact. */
.footer-main .footer-brand{width:220px;max-width:220px;margin-bottom:22px}.footer-main>div:first-child>p{max-width:260px;font-size:14px}.site-footer{padding-bottom:38px}
.story-composition{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);gap:70px;align-items:start}.story-narrative h2{font-size:clamp(36px,4vw,52px);margin-bottom:28px}.story-narrative p{font-size:17px;line-height:1.85}.story-narrative .founder-story-signature{font-size:15px;font-weight:700;color:#171717;margin-top:26px;margin-bottom:0}.story-photo{margin:0;position:sticky;top:28px}.story-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px;display:block}
.welcome-composition{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.welcome-composition h2{max-width:500px;font-size:clamp(34px,3.7vw,48px)}.welcome-composition p{max-width:500px}.welcome-composition .text-link{font-size:15px}
.future-composition{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.future-composition h2{font-size:clamp(34px,3.7vw,48px)}.future-composition .future-opening{font-size:24px;line-height:1.5;max-width:380px;color:#333}.future-points article{display:grid;grid-template-columns:38px 1fr;gap:18px;border-top:1px solid #dce0e6;padding:24px 0}.future-points p{font-size:17px;line-height:1.8;margin:0}.future-icon{width:31px;height:31px;stroke:var(--blue);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none;margin-top:3px}
.values-composition{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px;align-items:center}.values-heading{display:flex;align-items:center;gap:18px}.values-heading h2{margin:0;font-size:clamp(34px,3.6vw,48px)}.values-pause{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #dce0e6;background:white;color:#454545;width:34px;height:34px;border-radius:50%;cursor:pointer}.values-pause svg{stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.values-window{min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-block:2px solid var(--yellow)}.values-window::-webkit-scrollbar{display:none}.values-window:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.values-track{display:flex;gap:0;align-items:stretch}.value-slide{flex:0 0 100%;min-width:0;padding:32px 12px 32px 0;scroll-snap-align:start}.value-slide h3{color:var(--blue);font-size:clamp(30px,3.4vw,43px);line-height:1.2;margin-bottom:20px}.value-slide p{font-size:19px;line-height:1.8;margin-bottom:0;max-width:650px}
.accommodation-details{max-width:var(--max)}.details-and-price{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:start}.accommodation-enquiry-copy>h2:first-child{font-size:clamp(32px,3.1vw,42px)}.accommodation-enquiry-copy>h3{margin-top:32px}.accommodation-pricing{border-top:3px solid var(--yellow);padding:26px 25px;border-inline:1px solid #e0e3e9;border-bottom:1px solid #e0e3e9;border-radius:0 0 12px 12px}.accommodation-pricing h2{font-size:34px;margin-bottom:25px}.accommodation-pricing dl{margin:0 0 25px}.accommodation-pricing dl>div{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:18px 0;border-bottom:1px solid #dce0e6}.accommodation-pricing dt{font-size:15px;font-weight:600;line-height:1.5}.accommodation-pricing small{display:block;font-weight:400;color:#555;font-size:12px;margin-top:5px}.accommodation-pricing dd{margin:0;color:var(--blue);font-size:25px;line-height:1.3;font-weight:700;white-space:nowrap}.accommodation-pricing>p{font-size:14px;line-height:1.75}.accommodation-pricing .text-link{display:block;margin-top:22px;font-size:14px}.accommodation-tools .search-enquiry-note{margin-top:22px;max-width:490px}
.resource-list{align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr))}.resource-list>a{display:flex;flex-direction:column;height:100%;min-width:0}.resource-list .resource-card-photo{flex-shrink:0}.resource-list h3{font-size:clamp(17px,1.45vw,21px);line-height:1.4;letter-spacing:-.01em;margin-bottom:15px}.resource-list p{font-size:15px;line-height:1.75;margin-bottom:23px}.resource-list>a>span{margin-top:auto;display:block;padding-top:7px}
.newsletter-studio{display:grid;grid-template-columns:.78fr .8fr 1.25fr;align-items:center;gap:35px;border-block:1px solid #dce0e6;padding-block:42px}.newsletter-masthead h2{font-size:clamp(62px,6.2vw,88px);line-height:.98;letter-spacing:-.045em;color:var(--blue);margin:0 0 20px}.newsletter-masthead h2 span{color:var(--ink)}.newsletter-masthead>p{font-size:17px;line-height:1.5;color:#333;margin:0}.tima-figure{margin:0;min-width:0;transform-origin:center bottom}.tima-figure img{display:block;width:100%;height:auto;max-height:400px;object-fit:contain}.newsletter-feature-copy .newsletter-copy{font-size:19px;line-height:1.75;letter-spacing:normal;margin-bottom:26px}.newsletter-feature-copy .newsletter-edition{border:0;border-top:2px solid var(--yellow);padding:22px 0 0;border-radius:0;background:white}.newsletter-feature-copy .newsletter-edition h3{font-size:25px;line-height:1.35;margin-bottom:20px}.newsletter-feature-copy>.text-link{margin-top:22px;font-size:14px}
@media(min-width:1101px){.resource-list h3{white-space:nowrap}}
@media(max-width:1100px){.newsletter-studio{grid-template-columns:.75fr .75fr 1.1fr;gap:24px}.newsletter-masthead h2{font-size:64px}.newsletter-feature-copy .newsletter-copy{font-size:17px}.story-composition,.welcome-composition,.future-composition,.details-and-price{gap:40px}.resource-list{gap:18px}.resource-list h3{font-size:17px}}
@media(max-width:900px){.newsletter-studio{grid-template-columns:1fr 1fr;gap:25px}.newsletter-feature-copy{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:0 30px;align-items:start}.newsletter-feature-copy>.text-link{grid-column:2;margin-top:18px}.newsletter-masthead h2{font-size:76px}.tima-figure{justify-self:end;width:230px}.values-composition{gap:35px}.values-heading{flex-wrap:wrap}}
@media(max-width:800px){.story-composition,.welcome-composition,.future-composition,.details-and-price,.values-composition{grid-template-columns:1fr;gap:28px}.story-photo{position:static;max-width:600px}.story-photo img{aspect-ratio:3/2}.story-narrative p,.future-points p{font-size:16px}.story-narrative h2{font-size:38px}.values-heading{justify-content:space-between;flex-wrap:nowrap}.value-slide{padding:26px 0}.value-slide p{font-size:18px}.future-composition .future-opening{font-size:23px}.accommodation-pricing{padding:24px}.resource-list{grid-template-columns:1fr;gap:30px}.resource-list h3{font-size:clamp(17px,4.6vw,23px);white-space:normal}.resource-list p{margin-bottom:20px}.resource-list>a>span{margin-top:0}}
@media(max-width:520px){.newsletter-studio{grid-template-columns:1fr 1fr;gap:12px;padding-block:28px}.newsletter-masthead h2{font-size:clamp(53px,14vw,72px)}.newsletter-masthead>p{font-size:15px}.tima-figure{width:100%;max-width:200px}.newsletter-feature-copy{display:block;grid-column:1/-1;padding-top:20px}.newsletter-feature-copy .newsletter-copy{font-size:17px}.newsletter-feature-copy .newsletter-edition h3{font-size:24px}.newsletter-feature-copy>.text-link{margin-top:22px}.footer-main .footer-brand{width:205px;max-width:205px}.story-narrative h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){.values-window{overflow:visible}.values-track{display:grid;grid-template-columns:1fr}.value-slide+.value-slide{border-top:1px solid #dce0e6}.values-pause{display:none!important}.tima-figure{animation:none!important;transform:none!important}}
@media(prefers-reduced-motion:no-preference){.newsletter-showcase.is-in-view .tima-figure{animation:tima-greeting 4.4s ease-in-out 1}}
@keyframes tima-greeting{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-9px) rotate(-1deg)}65%{transform:translateY(-3px) rotate(.5deg)}}

/* Archive introduction reuses the approved Tima artwork without altering it. */
.newsletter-archive-head .archive-introduction{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:55px;align-items:center}.archive-introduction h1{font-size:clamp(52px,6.5vw,88px)}.archive-introduction .lead{max-width:760px}.archive-introduction .tima-figure{width:100%;max-width:280px;justify-self:end}.archive-introduction .tima-figure img{max-height:315px}
@media(max-width:700px){.newsletter-archive-head .archive-introduction{grid-template-columns:minmax(0,1fr) 120px;gap:14px}.archive-introduction h1{font-size:clamp(38px,8vw,56px)}.archive-introduction .lead{font-size:16px}.archive-introduction .tima-figure{max-width:120px}}
@media(max-width:360px){.newsletter-archive-head .archive-introduction{grid-template-columns:1fr}.archive-introduction .tima-figure{justify-self:center;max-width:150px}}

.contact-hours{font-size:13px;line-height:1.7;margin-top:10px}.direct-contact .actions{margin:24px 0}.direct-contact p{margin:8px 0}.whatsapp{border-radius:99px;min-height:44px;display:flex;align-items:center;justify-content:center;bottom:84px;right:20px;z-index:24;font-weight:600;padding:12px 18px}.whatsapp[hidden]{display:none}.whatsapp:focus-visible{outline:3px solid #0045e0;outline-offset:4px}
@media(max-width:520px){.whatsapp{right:16px;bottom:84px}}

/* Authentic locally hosted city photographs with per-image licence credits. */
.city-with-photo{grid-template-columns:1.15fr 1fr;align-items:stretch}.city-with-photo .city-image{margin:0;aspect-ratio:auto;max-height:none;background:none;min-width:0;display:flex;flex-direction:column}.city-image img{display:block;width:100%;height:360px;object-fit:cover}.city-image figcaption{font-size:11px;line-height:1.6;color:#555;padding:12px 16px;overflow-wrap:anywhere;background:#fff}.city-image figcaption a{color:#0045e0}.city-photo-changes{display:block;font-size:10px}.city-with-photo .city-explorer-details{padding:32px}.city-with-photo .city-selected{margin-top:0}
@media(max-width:800px){.city-with-photo{grid-template-columns:1fr}.city-image img{height:auto;aspect-ratio:3/2}.city-with-photo .city-explorer-details{padding:25px}}

/* Compact mobile navigation uses a labelled three-line icon. */
.menu-toggle{width:44px;height:44px;padding:10px;border:0;border-radius:8px;background:transparent;align-items:center;justify-content:center;color:#171717}.menu-toggle svg{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.menu-toggle .menu-line{transform-origin:12px 12px}.menu-toggle[aria-expanded=true] .menu-line-top{transform:translateY(6px) rotate(45deg);transform-origin:12px 6px}.menu-toggle[aria-expanded=true] .menu-line-middle{opacity:0}.menu-toggle[aria-expanded=true] .menu-line-bottom{transform:translateY(-6px) rotate(-45deg);transform-origin:12px 18px}.menu-toggle:focus-visible{outline:3px solid #0045e0;outline-offset:3px}

.city-with-photo .city-image{height:100%;overflow:hidden}.city-with-photo .city-image img{height:100%;min-height:380px;object-fit:cover}.photography-credit-list{max-width:860px}.photography-credit-list article{padding:26px 0;border-top:1px solid #e0e4ea;scroll-margin-top:24px}.photography-credit-list h2{font-size:25px;margin-bottom:15px}.photography-credit-list p{font-size:15px;line-height:1.8}.photography-credit-list .fineprint{font-size:12px}
@media(max-width:800px){.city-with-photo .city-image img{height:auto;min-height:0;aspect-ratio:16/10}}

/* Avoid stranded final words while retaining natural wrapping at larger text sizes. */
h1,h2,h3{text-wrap:balance}main p,.site-footer p{text-wrap:pretty}.footer-main>div:first-child>p{max-width:none;font-size:clamp(12px,3.5vw,14px);line-height:1.7}

/* Read the footer links down each column, starting with Home. */
.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,auto);grid-auto-flow:column;gap:12px 22px;align-items:start}.footer-nav a{display:block;line-height:1.65;min-height:24px;text-wrap:pretty}.footer-label{margin-bottom:20px}
@media(min-width:1001px){.footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:40px}}
@media(max-width:520px){.footer-nav{gap:6px 20px}.footer-nav a{min-height:44px;display:flex;align-items:flex-start}.legal-footer nav{gap:14px 20px}}

/* Focused Home: genuine responsive photography and a finite city-name entrance. */
.hero-editorial picture{display:block;width:100%;height:100%}.modern-hero .hero-editorial .photo img{object-position:55% 68%}.modern-hero{padding-bottom:42px}.modern-hero+.tiktok-section{padding-top:32px}.city-heading{grid-template-columns:1fr}.city-coverage .city-controls{justify-content:flex-start;margin:20px 0 28px}.city-coverage .city-controls span{font-size:12px}.city-marquee{overflow-x:auto;scrollbar-width:thin;overscroll-behavior-inline:contain}.city-marquee-track{animation:none;transform:none}.city-marquee-group{padding-inline:2px 24px}.city-intro-active .city-marquee-track{animation:city-intro-once 4.6s ease-in-out 1}
@keyframes city-intro-once{0%,100%{transform:translateX(0)}50%{transform:translateX(-65px)}}
@media(max-width:800px){.modern-hero .hero-editorial .photo{height:auto;aspect-ratio:16/10}.modern-hero .hero-editorial .photo img{object-position:center 68%}.modern-hero+.tiktok-section{padding-top:26px}.city-coverage .city-controls{margin:18px 0 24px}}
@media(prefers-reduced-motion:reduce){.city-intro-active .city-marquee-track{animation:none}}

.city-marquee:focus-visible{outline:3px solid var(--blue);outline-offset:5px}

.checklist-tools{display:flex;gap:10px 20px;align-items:baseline;justify-content:space-between;margin:12px 0 24px;flex-wrap:wrap}.checklist-tools .planning-progress{margin:0;font-size:12px;flex:1;min-width:180px}.checklist-reset{border:0;background:none;padding:8px 0;color:#0045e0;text-decoration:underline;text-underline-offset:3px;font-size:12px;cursor:pointer}.checklist-reset[hidden]{display:none}.edition-tima{margin:35px 0 20px}.edition-tima img{display:block;width:140px;height:auto}.edition-body a{overflow-wrap:anywhere}

.modern-hero .hero-people .photo{height:auto;aspect-ratio:3/2}.modern-hero .hero-people .photo img{object-position:center;object-fit:contain;background:#fff}.platform-directory .text-link img{display:block;max-width:170px;width:100%;height:48px;object-fit:contain}.platform-directory .text-link{min-height:100px;padding:20px}

.careers-resources>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px}.careers-resources h2{font-size:clamp(32px,3.5vw,45px)}.careers-resources .fineprint{font-size:12px}@media(max-width:800px){.careers-resources>.wrap{grid-template-columns:1fr;gap:18px}}

.newsletter-signup{margin-top:22px}.newsletter-signup p{font-size:12px;line-height:1.6;max-width:420px;margin:12px 0 0}.newsletter-signup .button{font-size:13px;padding:12px 17px}.newsletter-feature-copy>.newsletter-signup{grid-column:1/-1}

/* Original logo pixels, rendered directly without fractional clipping offsets. */
.logo-window{aspect-ratio:247/60;overflow:visible}.brand.original-logo .logo-window img{position:static;display:block;width:100%;height:auto;max-width:100%;left:auto;top:auto}.newsletter-feature-copy .newsletter-copy{max-width:440px}.newsletter-feature-copy .newsletter-edition{padding-top:22px}.newsletter-feature-copy .newsletter-edition h3{margin-bottom:18px}

/* Show only the approved right-hand café scene; preserve the original image pixels. */
.modern-hero .hero-people .photo{aspect-ratio:5/4;overflow:hidden}.modern-hero .hero-people .photo img{width:203.175%;max-width:none;height:100%;left:auto;right:0;object-fit:cover;object-position:right 30%;background:#fff}
@media(max-width:800px){.modern-hero .hero-people .photo{aspect-ratio:4/3}}

/* Café-only source: no off-screen second scene or oversized CSS crop. */
.modern-hero .hero-people .photo img{width:100%;max-width:100%;height:100%;left:0;right:auto;object-fit:cover;object-position:center 30%}.brand.original-logo .logo-window{display:block;aspect-ratio:247/60}.brand.original-logo .logo-window img{position:static;width:100%;height:auto;left:auto;top:auto;max-width:100%}

/* Supplied high-resolution brand variants, with artwork colours untouched. */
.brand.original-logo .logo-window{aspect-ratio:1325/317}.footer-brand .logo-window{aspect-ratio:1324/317}.site-footer{background:#231f20;color:#fff;border-top:0}.site-footer p{color:#ddd9da}.site-footer .footer-label{color:#fff}.site-footer .footer-nav a,.site-footer .footer-contact-links a{color:#f5f5f5}.site-footer .email-address{color:#d8e3ff}.site-footer .legal-footer{border-color:#595355}.site-footer .legal-footer a{color:#e4e0e1}.site-footer .legal-footer p{color:#c9c4c6}.site-footer a:focus-visible{outline-color:#f1ae1c}.site-footer .footer-nav a:hover,.site-footer .footer-contact-links a:hover,.site-footer .legal-footer a:hover{text-decoration:underline}
