/* place-theme.css — Place Design Studio palette over the archipelago structure.
   Forest #182117 · Olive #484A3D · Charcoal #34342F · Beige #E5DABA · Bone #ECE4D7 */
:root{
  --swatch--charcoal:#34342F;
  --swatch--charcoal-opacity20:#34342F33;
  --swatch--charcoal-opacity50:#34342F80;
  --swatch--charcoal-opacity70:#34342Fb3;
  --swatch--olive-green:#484A3D;
  --swatch--dark-tan:#E5DABA;
  --swatch--dark-tan-opacity50:#E5DABA80;
  --swatch--light-tan:#ECE4D7;
  --swatch--white:#ffffff;
  --swatch--orange:#182117;   /* archipelago's bright accent -> Place forest (restraint = the variation) */
  --swatch--light-pink:#484A3D;
}
/* Deep brand surfaces (footer + olive blocks) lean to forest for richness */
.footer{background-color:#182117 !important;color:#ECE4D7 !important}
.footer_divider{background-color:#ECE4D780 !important}

/* Hero logo: cross-fade/scale between full "place." wordmark and the "p." mark.
   Reuses the existing is-shrunk hook the site already toggles. */
.home-hero-logo{position:relative;display:flex;align-items:stretch;height:100%}
.home-hero_logo-mid{transition:opacity .55s ease, transform .55s ease}
.place-pmark{position:absolute;left:0;top:0;height:100%;opacity:0;transform:scale(.96);
  transform-origin:left center;transition:opacity .55s ease, transform .55s ease;pointer-events:none}
.home-hero_logo-mid.is-shrunk{opacity:0;transform:scale(.98)}
.home-hero_logo-wrap.is-shrunk-mark .place-pmark,
.home-hero-logo.show-pmark .place-pmark{opacity:1;transform:scale(1)}

/* Fonts: Inter (text) + Chivo Mono (small labels/eyebrows) */
:root{ --font-family--heading:"Inter",sans-serif; --font-family--paragraph:"Inter",sans-serif; }
body{ font-family:"Inter",sans-serif; }
.project_info-row-label,.filter_dropdown-label,.filter_page-pagination-label,.footer_p-tiny,.nav_dropdown-label{
  font-family:"Chivo Mono",monospace; letter-spacing:-.01em;
}

/* hold the p. cross-fade mark until the hero animation polish pass */
.place-pmark{display:none !important}

/* "place." carries its own period — drop archipelago's separate decorative dot */
.preloader_logo-dot,.nav_logo-dot{display:none !important}

/* remove footer bottom block: flags + acknowledgement/inclusivity copy (keep © line) */
.footer_bottom .footer_horizontal:not(.is-right){display:none !important}

/* Centered nav logo (consolidated header) */
.nav_menu{position:relative}
.nav-center-logo{position:absolute;left:50%;top:1.5em;transform:translateX(-50%);height:1.35em;display:flex;z-index:5;color:inherit}
.nav-center-logo svg{height:100%;width:auto;display:block}
@media (max-width:991px){ .nav-center-logo{display:none} }

/* Sub-brand cards section (home, after intro) */
.subbrand-section{padding-top:3.5em;padding-bottom:3.5em}
.subbrand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5em}
.subbrand-card{background:var(--swatch--white);border:1px solid var(--swatch--dark-tan);border-radius:.5em;overflow:hidden;display:flex;flex-direction:column}
.subbrand-card_img{aspect-ratio:4/3;overflow:hidden}
.subbrand-card_img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.subbrand-card:hover .subbrand-card_img img{transform:scale(1.04)}
.subbrand-card_body{padding:1.9em 1.5em 2.1em;display:flex;flex-direction:column;align-items:center;gap:.75em}
.subbrand-card_logo{height:1.7em;width:auto;display:block}
.subbrand-card_label{color:var(--swatch--charcoal);font-size:1.05em;letter-spacing:.005em}
@media (max-width:991px){ .subbrand-grid{grid-template-columns:1fr;gap:1.1em} }

/* ---- v2 overrides: full-size sub-brand cards + larger nav logo ---- */
.subbrand-section{padding:0 !important}
.subbrand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.subbrand-card{display:flex;flex-direction:column;min-height:80vh;background:var(--swatch--light-tan);border:0;border-radius:0;overflow:hidden}
.subbrand-card + .subbrand-card{border-left:1px solid var(--swatch--dark-tan)}
.subbrand-card_head{padding:2.4em 2.1em 1.5em;display:flex;flex-direction:column;align-items:flex-start;gap:.8em}
.subbrand-card_label{font-size:3em;line-height:1.02;color:var(--swatch--charcoal);margin:0;font-family:"Inter",sans-serif}
.subbrand-card_logo{height:1.6em;width:auto;display:block}
.subbrand-card_img{flex:1;overflow:hidden;aspect-ratio:auto}
.subbrand-card_img img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:991px){
  .subbrand-grid{grid-template-columns:1fr}
  .subbrand-card{min-height:62vh}
  .subbrand-card + .subbrand-card{border-left:0;border-top:1px solid var(--swatch--dark-tan)}
  .subbrand-card_label{font-size:2.4em}
}

/* larger, more legible centered nav logo */
.nav-center-logo{height:2.5em;top:.95em;filter:drop-shadow(0 1px 3px rgba(24,33,23,.5))}

/* ---- v3: card overlays, nav-logo size match, footer logo -20%, section padding ---- */
.subbrand-section{padding:0 0 4.5em !important}
.subbrand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.subbrand-card{position:relative;min-height:82vh;overflow:hidden;display:block;background:var(--swatch--charcoal);border:0}
.subbrand-card + .subbrand-card{border-left:0}
.subbrand-card_img{position:absolute;inset:0;z-index:1}
.subbrand-card_img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.subbrand-card:hover .subbrand-card_img img{transform:scale(1.04)}
.subbrand-card_overlay{position:absolute;z-index:2;top:1.7em;left:1.7em;max-width:calc(100% - 3.4em);display:inline-flex;flex-direction:column;align-items:flex-start;gap:.7em;background:rgba(245,241,233,.66);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:1.05em 1.35em 1.2em;border-radius:.45em}
.subbrand-card_label{font-size:2.2em;line-height:1.02;color:var(--swatch--charcoal);margin:0}
.subbrand-card_logo{height:2.1em;width:auto;display:block}
@media (max-width:991px){.subbrand-grid{grid-template-columns:1fr}.subbrand-card{min-height:60vh}}

/* nav logo sized to the dropdown header (tight viewBox glyph) */
.nav-center-logo{height:1.9em;top:.85em;filter:drop-shadow(0 1px 2px rgba(24,33,23,.4))}

/* footer logo reduced 20% */
.logo_footer{width:24.25em !important}


/* ---- v5: bigger header logo · footer -10% · full-width transparent card overlays · Place People heading ---- */
.nav-center-logo{height:3em;top:1em}
.logo_footer{width:21.825em !important}
.subbrand-card_overlay{position:absolute;top:0;left:0;right:0;max-width:none;display:flex;flex-direction:column;align-items:flex-start;gap:.6em;background:rgba(245,241,233,.4);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:1.5em 1.7em 1.6em;border-radius:0}
.subbrand-card + .subbrand-card{border-left:1px solid rgba(255,255,255,.45)}
.pp-heading{display:inline-flex;align-items:flex-end;gap:.32em;line-height:1}
.pp-logo{display:inline-flex}
.pp-logo svg{height:.82em;width:auto;display:block}
.pp-people{font-size:.62em;line-height:1.05}

/* ---- v6: Place People heading — baseline-align mark + lowercase people ---- */
.pp-heading{display:block;line-height:1}
.pp-logo{display:inline}
.pp-logo svg{display:inline-block;height:.82em;width:auto;vertical-align:-.34em}
.pp-people{display:inline;font-size:.7em;vertical-align:baseline;margin-left:.14em}

/* ---- v7: header logo +25% · slightly tighter heading tracking ---- */
.nav-center-logo{height:3.75em;top:.55em}
h1,h2,h3,.h1,.h-xl,.h-l{letter-spacing:-.012em}

/* ---- v8: preloader hero — show the heading, not the acknowledgement ---- */
.loader_acknowledge-p{font-family:var(--font-family--heading);font-size:var(--font-size--h2);line-height:1.02;letter-spacing:-.012em;max-width:14ch}

/* ---- v9: founder bio ---- */
.founder-name{font-family:var(--font-family--heading);font-size:var(--font-size--h4,1.4em);font-weight:600;margin:0 0 .15em;letter-spacing:-.01em}
.founder-role{color:var(--swatch--charcoal-opacity70);margin:0 0 1.1em;line-height:1.35}

/* ---- v10: founder portrait ---- */
.founder-photo{width:100%;max-width:260px;height:auto;border-radius:.4em;display:block;margin:0 0 1.5em}

/* ---- v11: founder bio — tighter name spacing, smaller body, wider column ---- */
.founder-name{margin:0 0 .05em;line-height:1.05}
.is-founder p:not([class]){font-size:.92em;line-height:1.45}
.is-founder-grid{grid-template-columns:1.7fr 1fr 1fr}

/* ---- v12: founder photo in its own 2nd column ---- */
.is-founder-grid{grid-template-columns:1.5fr 1fr}
.founder-photo-col{display:flex;justify-content:flex-start}
.founder-photo-col .founder-photo{width:100%;max-width:420px;height:auto;margin:0;border-radius:.4em}

/* ---- v13: narrower bio copy (-20%), smaller founder photo (-25%) ---- */
.is-founder p:not([class]){max-width:80%}
.founder-photo-col .founder-photo{max-width:315px}

/* ---- v14: intro splash is click-to-enter ---- */
.preloader_component{cursor:pointer}
.preloader_component::after{content:"Scroll to enter";position:absolute;left:0;right:0;bottom:2.2em;text-align:center;font-family:var(--font-family--paragraph),sans-serif;font-size:.8em;letter-spacing:.12em;text-transform:uppercase;color:var(--swatch--charcoal-opacity50);pointer-events:none}

/* ---- v15: intro splash holds full-screen until click (home only via .splash-active) ---- */
.splash-active .preloader_component{height:100% !important;display:block !important;transform:none !important}
.splash-active .preloader_component:not(.is-dismissed){opacity:1 !important;visibility:visible !important;pointer-events:auto}
.splash-active .preloader_component.is-dismissed{opacity:0 !important;visibility:hidden !important;pointer-events:none !important;transition:opacity .55s ease, visibility 0s .55s}

/* ---- v16: founder bio spacing + home intro size/space ---- */
/* bio: kill the 32px flex gap, control spacing with margins */
.is-founder{row-gap:0}
.founder-name{margin:0 0 .12em}            /* name -> role: tight (line removed) */
.founder-role{margin:0 0 1.35em}           /* role -> first paragraph: one line (was two) */
.is-founder p:not([class]){margin:0 0 1.7em}
/* home intro: slightly smaller on desktop + a space between the two sentences */
@media (min-width:992px){ .intro_text{font-size:calc(var(--font-size--h2) * .7)} }
p.intro_text{display:block;margin-top:.55em}

/* ---- v17: splash tagline less bold ---- */
.preloader_tagline{font-weight:400}

/* ---- v18: splash heading 'Transform Your Vision Into Reality' -50% ---- */
.loader_acknowledge-p{font-size:calc(var(--font-size--h2) * .5)}

/* ---- v19: 'people' next to the place mark (home/about h2 heading) -10px ---- */
h2.pp-heading .pp-people{font-size:calc(.7em - 10px)}

/* ---- v20: nav dark-green on scroll-up / transparent on scroll-down ---- */
.nav_menu{transition:color .2s}
.nav.nav-up{background-color:var(--swatch--orange)}
.nav.nav-up .nav_menu{color:var(--swatch--white) !important}
/* ---- v20: mobile shows the centered logo ---- */
@media (max-width:991px){ .nav-center-logo{display:flex !important;height:2.2em;top:1.1em} }

/* ---- v21: mobile centered logo — strong halo so it reads over any slide ---- */
@media (max-width:991px){ .nav-center-logo{filter:drop-shadow(0 0 3px rgba(0,0,0,.85)) drop-shadow(0 1px 3px rgba(0,0,0,.5)) !important} }

/* ---- v22: mobile logo positions to the viewport (nav_menu collapses to 0 height on mobile) ---- */
@media (max-width:991px){ .nav-center-logo{position:fixed !important;top:1.2em;left:50%;transform:translateX(-50%)} }

/* ---- v23: splash — lift content so text clears the corner image; scale image on narrow ---- */
.preloader_flexbox{padding-top:22svh}
.preloader_image-wrapper{width:min(38em,40vw)}

/* ---- v24: footer logo lockup — add all-caps DESIGN STUDIO under the wordmark ---- */
.logo_footer{display:flex !important;flex-direction:column;align-items:center;container-type:inline-size}
.logo_footer svg{width:100%;height:auto}
.footer-studio{text-transform:uppercase;letter-spacing:.16em;font-size:6cqw;font-family:var(--font-family--paragraph),sans-serif;color:inherit;margin-top:.5em;line-height:1;white-space:nowrap}

/* ---- v25: footer redesign — line above contact row, compact bottom, restyle ---- */
.footer_nav-link{font-size:var(--font-size--h5)}        /* menu items = Studio/Phone heading size */
.footer_a{font-weight:300}                               /* unbold the detail paragraphs */
.footer_top{grid-row-gap:3.25em !important}              /* tighten the huge 9em row gaps */
.footer_divider{grid-column:1 / -1;display:block !important}  /* line spans full width in new spot */
.footer_wrap{padding-bottom:2rem}                        /* bring the bottom up */
.footer_bottom{grid-row-gap:1.25em !important}

/* ---- v26: footer — pull copyright up under the contact row, trim bottom ---- */
.footer_bottom{margin-top:-3em !important}
.footer_wrap{padding-bottom:1.5rem !important}

/* ---- v27: footer logo uses the official uppercase lockup image ---- */
.logo_footer{display:block !important}
.logo_footer img{width:85%;height:auto;display:block}  /* v44: footer logo 15% smaller */

/* ---- v28: remove the big hero logo (logo now lives in the top nav) ---- */
.home-hero_logo-wrap{display:none !important}

/* ---- v29: place-headings stay on one line ---- */
.pp-heading{white-space:nowrap}

/* ---- v30: reduce secondary-page H1 (.h-xl) by 30% on desktop ---- */
@media (min-width:992px){ .h-xl{font-size:calc(var(--font-size--h-xl) * .7)} }

/* ---- v31: contact form heading -> small "Contact [place logo]" lockup ---- */
.page_sub-heading.is-contact-lockup{font-size:1.5em;line-height:1;display:inline-flex;align-items:baseline}
.page_sub-heading.is-contact-lockup .pp-logo{display:inline-flex;margin-left:.32em}
.page_sub-heading.is-contact-lockup .pp-logo svg{height:.8em;width:auto;display:block}

/* ---- v32: contact lockup — baseline-align the place mark with 'Contact' ---- */
.page_sub-heading.is-contact-lockup{display:block !important}
.page_sub-heading.is-contact-lockup .pp-logo{display:inline}
.page_sub-heading.is-contact-lockup .pp-logo svg{display:inline-block !important;vertical-align:-.34em;height:.82em;margin-left:.3em}

/* ---- v33: mobile — stack the founder 2-column grid ---- */
@media (max-width:767px){ .is-founder-grid{grid-template-columns:1fr !important} .founder-photo-col{margin-top:1.5em} .is-founder p:not([class]){max-width:none} }

/* ---- v34: intro read-along — give the "unread" word color a visible faded tone.
   The rebrand flattened --swatch--light-pink to dark olive, which killed the
   scroll fade. Scope a soft warm taupe to the intro only (not site-wide). ---- */
.intro_paragraph{ --swatch--light-pink:#b4a894 }

/* ---- v35: wordmark reveal — on phones the wide "place." wordmark gets
   cover-cropped, so swap to a portrait-canvas variant SVG via display toggle. ---- */
.reveal_logo-img.is-mobile,.reveal_logomark.is-mobile{display:none}
@media (max-width:767px){
  .reveal_logo-img.is-desktop,.reveal_logomark.is-desktop{display:none}
  .reveal_logo-img.is-mobile,.reveal_logomark.is-mobile{display:block}
}

/* ---- v36: reveal background is a Place photo (the original Vimeo clip would
   not play off-domain). Cover the reveal area; a slow zoom gives the wordmark
   a sense of motion like the original video. ---- */
.reveal_bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:reveal-kenburns 24s ease-in-out infinite alternate}
@keyframes reveal-kenburns{from{transform:scale(1)}to{transform:scale(1.07)}}
@media (prefers-reduced-motion:reduce){.reveal_bg-img{animation:none}}

/* ---- v37: reveal alignment on phones — the shared CSS overrides reveal_logo-img
   and reveal_wrap to 100vh but leaves reveal_logomark at 100svh and reveal_wrap's
   margin at -100svh. On phones vh != svh, so the white wordmark and the cut-out
   hole land at different heights (the "blind" look). Align all to one unit. ---- */
.reveal_logomark{height:100vh}
.reveal_wrap{margin-top:-100vh}

/* ---- v38: mobile nav + splash tweaks ---- */
/* When the hamburger menu is open there were two logos (the top-left one plus
   the centred menu logo). Hide the left one while the menu is open. */
@media (max-width:991px){ .nav.is-open .nav_logo{opacity:0;pointer-events:none} }
/* Splash wordmark a bit larger on phones (was 4.8em). */
@media (max-width:767px){ .preloader_logo{height:6.2em} }

/* ---- v39: "Scroll Down" removed from the hero. The indicators row used
   space-between (Scroll Down left, project caption right); with it gone, keep
   the lone project caption right-aligned on tablet/desktop. ---- */
@media (min-width:480px){ .home-hero_indicators{justify-content:flex-end} }

/* ---- v40: hamburger icon white when the header is green (scroll-up nav-up,
   and the open menu). The icon uses currentColor; the green-header rule only
   whitened .nav_menu, leaving the hamburger dark on green. ---- */
.nav.nav-up .nav_hamburger-icon,
.nav.is-open .nav_hamburger-icon{ color:var(--swatch--white) }

/* ---- v41: larger header logo on mobile (was 2.2em); nudge top to keep it
   vertically centred in the 4.5em bar. ---- */
@media (max-width:991px){ .nav-center-logo{ height:2.9em; top:.8em } }

/* ---- v42: footer lockup 50% smaller on phones (the -15% in v44 is desktop only). ---- */
@media (max-width:767px){ .logo_footer img{ width:50% } }

/* ---- v45: lock page scroll while the intro splash is up, so dismissing it
   enters the page at the top instead of leaving you scrolled down behind it. ---- */
html.splash-lock,html.splash-lock body{overflow:hidden;overscroll-behavior:none}

/* ---- v46: breathing room above the "place projects" heading section. ---- */
[data-place-projects]{padding-top:4em}

/* Triptych stream cards are now links to the projects gallery */
a.subbrand-card{text-decoration:none;color:inherit;cursor:pointer}
a.subbrand-card:hover .subbrand-card_label{opacity:.85}

/* Free-tool CTA cue on the triptych stream cards */
.subbrand-card_cta{color:var(--swatch--charcoal);font-size:1.05em;letter-spacing:.01em;margin:0;opacity:.85}
a.subbrand-card:hover .subbrand-card_cta{opacity:1;text-decoration:underline}

/* ============ Project detail pages ============ */
.project-hero{width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:.35em}
.project-hero img{width:100%;height:100%;object-fit:cover;display:block}
.project-head{display:grid;grid-template-columns:1fr auto;gap:2.5em 4em;align-items:start;padding:3.2em 0 1.6em}
.project-head_main{max-width:34ch}
.project-head_main .h1{margin:0}
.project-location{color:var(--swatch--charcoal);opacity:.65;margin:.5em 0 1.1em;font-size:1.05em;letter-spacing:.01em}
.project-head_main .page_sub-heading{margin:0}
.project-details{display:flex;flex-direction:column;min-width:17em}
.project-detail{display:flex;justify-content:space-between;gap:1.5em;padding:.75em 0;border-top:1px solid var(--swatch--dark-tan)}
.project-detail:last-child{border-bottom:1px solid var(--swatch--dark-tan)}
.project-detail_label{color:var(--swatch--charcoal);opacity:.55;letter-spacing:.01em}
.project-detail_value{color:var(--swatch--charcoal);text-align:right}
.project-body{max-width:62ch;display:flex;flex-direction:column;gap:1.1em;padding:.5em 0 3.5em;color:var(--swatch--charcoal)}
.project-body p{margin:0;line-height:1.62}
.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1em;padding-bottom:1.5em}
.project-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:.3em}
.project-gallery img:first-child{grid-column:1 / -1;aspect-ratio:16/9}
.project-cta{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75em;padding:5em 0 5.5em}
.project-cta .page_sub-heading{max-width:46ch}
.project-cta .button{margin-top:.6em}
.project-cta .h1{margin:0}
.project-cta .page_sub-heading{margin:0 0 1em}
@media(max-width:767px){
  .project-head{grid-template-columns:1fr;gap:1.4em;padding:2em 0 1em}
  .project-details{min-width:0}
  .project-gallery{grid-template-columns:1fr;gap:.8em}
  .project-gallery img,.project-gallery img:first-child{aspect-ratio:4/3}
  .project-hero{aspect-ratio:4/3}
}

/* Static projects list: suppress the Finsweet loader/empty states */
.projects_collection-loading-state{display:none!important}

/* Related "More projects" grid on project detail pages */
.moreproj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2em}
.moreproj-card{text-decoration:none;color:inherit;display:block}
.moreproj-img{aspect-ratio:4/3;overflow:hidden;border-radius:.3em}
.moreproj-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.moreproj-card:hover .moreproj-img img{transform:scale(1.04)}
.moreproj-name{margin-top:.7em;color:var(--swatch--charcoal);font-size:1.1em}
.moreproj-loc{color:var(--swatch--charcoal);opacity:.6;font-size:.95em}
@media(max-width:767px){.moreproj-grid{grid-template-columns:1fr;gap:1.2em}}

/* ---- Project pages: header spacing, cursor, hero marquee, copy layout ---- */
body.project-page,body.project-page a,body.project-page label,body.project-page .w-form-label,body.project-page input[type='checkbox'],body.project-page input[type='radio']{cursor:none}
body.project-page .project-main{padding-top:6em}
.project-hero{position:relative}
.proj-marquee{overflow:hidden;width:100%}
.proj-marquee--hero{position:absolute;left:0;right:0;bottom:0;padding:.3em 0 .1em;background:linear-gradient(to top,rgba(24,33,23,.5),rgba(24,33,23,0))}
.proj-marquee_track{display:flex;width:max-content;animation:projMarquee 30s linear infinite;will-change:transform}
.proj-marquee_track span{font-size:4.6vw;line-height:1.15;text-transform:uppercase;color:var(--swatch--light-tan);white-space:nowrap;padding-right:.4em;font-family:"Inter",sans-serif;letter-spacing:-.01em;text-shadow:0 2px 16px rgba(24,33,23,.45)}
@keyframes projMarquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.proj-marquee_track{animation:none}}
.project-body{max-width:none;display:block;columns:2;column-gap:3.5em;padding:.5em 0 3em;color:var(--swatch--charcoal)}
.project-body p{margin:0 0 1.1em;break-inside:avoid;line-height:1.62}
.project-lede{column-span:all;max-width:52ch;font-size:1.6em;line-height:1.25;color:var(--swatch--charcoal);margin:0 0 1.3em}
@media (max-width:767px){
  body.project-page .project-main{padding-top:4.5em}
  .proj-marquee_track span{font-size:8vw}
  .project-body{columns:1}
  .project-lede{font-size:1.3em;max-width:none}
}

/* More projects band: give the dark-tan section breathing room top and bottom */
body.project-page .section.is-dark-tan{padding-top:3.5em;padding-bottom:5em}

/* ---- Contact lockup: lead word before the place mark ---- */
.pp-contact .pp-people{margin-left:0;margin-right:.2em}

/* =====================================================================
   Mobile app-like bottom tab bar (place-mobile.js). Mobile only.
   ===================================================================== */
.place-tabbar{display:none}
@media (max-width:991px){
  .place-tabbar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1000;
    align-items:flex-end;justify-content:space-around;gap:.1rem;
    padding:.45rem .5rem calc(.45rem + env(safe-area-inset-bottom));
    background:rgba(236,228,215,.9);
    -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
    border-top:1px solid rgba(52,52,47,.14);
    box-shadow:0 -8px 26px rgba(24,33,23,.07);
  }
  .place-tabbar__tab{
    flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:3px;min-height:52px;padding:6px 2px;border-radius:14px;border:1px solid transparent;background:transparent;
    color:var(--swatch--charcoal,#34342F);text-decoration:none;cursor:pointer;
    font-family:'Chivo Mono',monospace;font-size:10px;letter-spacing:.02em;line-height:1;
    -webkit-tap-highlight-color:transparent;transition:background-color .15s,color .15s,border-color .15s;
  }
  .place-tabbar__tab svg{width:22px;height:22px;display:block}
  .place-tabbar__label{display:block}
  .place-tabbar__tab.is-active{background:rgba(229,218,186,.55);border-color:rgba(24,33,23,.35);color:var(--swatch--orange,#182117)}
  .place-tabbar__tab.is-primary{
    flex:0 0 auto;min-width:62px;margin:0 .1rem;padding:12px 14px 10px;border-radius:18px;
    background:var(--swatch--orange,#182117);color:var(--swatch--light-tan,#ECE4D7);
    transform:translateY(-14px);box-shadow:0 10px 22px rgba(24,33,23,.3)
  }
  .place-tabbar__tab.is-primary svg{width:24px;height:24px}
  /* keep page content and footer clear of the bar */
  footer{padding-bottom:calc(86px + env(safe-area-inset-bottom)) !important}
}

/* Full-screen app-style menu overlay on mobile (open state) */
@media (max-width:991px){
  .nav.is-open{height:100dvh;z-index:1001;overflow-y:auto}
  .nav.is-open .nav_menu.is-open{justify-content:flex-start;height:auto;padding-bottom:6em}
}

/* Mobile type polish: bring oversized centred intro statements down to a
   phone-comfortable size so long sentences read as an intro, not a wall. */
@media (max-width:767px){
  .page_sub-heading.is-center{font-size:clamp(18px,5.4vw,22px);line-height:1.3}
  .page_sub-heading{line-height:1.3}
}
