/* ==========================================================================
   Premium design layer — loaded last on every public page.
   Unifies typography, colour, header, footer, cards, heroes and forms
   without changing the page markup the admin panel depends on.
   ========================================================================== */
:root{
 --pm-ink:#18201b;
 --pm-forest:#1f3329;
 --pm-forest-2:#2b4639;
 --pm-ivory:#f6f3ec;
 --pm-paper:#fcfbf7;
 --pm-sand:#ece7da;
 --pm-line:#dcd7c9;
 --pm-muted:#5b6a60;
 --pm-brass:#9a7a4a;
 --pm-serif:"Instrument Serif","Cormorant Garamond",Georgia,"Times New Roman",serif;
 --pm-sans:Inter,"Helvetica Neue",Arial,sans-serif;
 --pm-gutter:clamp(20px,4.5vw,64px);
 --pm-ease:cubic-bezier(.2,.7,.2,1);
}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{font-family:var(--pm-sans);font-weight:400}
::selection{background:#d9c7a5;color:var(--pm-ink)}
:focus-visible{outline:2px solid var(--pm-brass);outline-offset:3px}
img{max-width:100%}
body.light-page{background:var(--pm-ivory);color:var(--pm-ink)}
body.light-page main{background:transparent}
.skip-link{position:fixed;left:16px;top:-120px;z-index:200;background:var(--pm-forest);color:#fff;padding:12px 18px;border-radius:999px;font-size:13px;transition:top .2s}
.skip-link:focus{top:16px}

/* Reveal: softer, longer motion */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--pm-ease),transform .9s var(--pm-ease)}
.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
body .site-header{height:84px;padding:0 var(--pm-gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid transparent;mix-blend-mode:normal}
body.light-page .site-header{background:rgba(246,243,236,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom-color:rgba(24,32,27,.08);color:var(--pm-ink)}
body.light-page .site-header.header-scrolled{background:rgba(252,251,247,.94);box-shadow:0 10px 30px -18px rgba(24,32,27,.25)}
body.premium-home .site-header{height:84px;background:linear-gradient(rgba(8,16,12,.45),transparent);border-bottom:1px solid rgba(255,255,255,.14)}
body.premium-home .site-header.header-scrolled{background:rgba(24,40,32,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:rgba(255,255,255,.08)}
body .brand{display:flex;flex-direction:row;align-items:center;gap:14px;line-height:1;color:inherit}
body .brand .brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;font-family:var(--pm-serif);font-weight:400;font-size:19px;letter-spacing:.02em;flex-shrink:0;transition:background .3s,color .3s}
body .brand:hover .brand-mark{background:currentColor}
body .brand:hover .brand-mark::first-letter{color:transparent}
body.light-page .brand:hover .brand-mark{background:var(--pm-forest);color:#fff;border-color:var(--pm-forest)}
body.premium-home .brand:hover .brand-mark{background:#fff;color:var(--pm-forest);border-color:#fff}
body .brand .brand-text{display:flex;flex-direction:column;gap:5px}
body .brand .brand-text>span{font-size:19px;font-weight:500;letter-spacing:-.02em;line-height:1.05}
body .brand .brand-text>small{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin:0;padding:0;border:0;display:block}
body .header-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
body .header-nav a{position:relative;font-size:14px;font-weight:400;padding:10px 14px;letter-spacing:0;opacity:.88;transition:opacity .2s}
body .header-nav a:not(.header-nav-contact)::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--pm-ease)}
body .header-nav a:hover{opacity:1}
body .header-nav a:hover::after,body .header-nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
body .header-nav a[aria-current="page"]{opacity:1;text-decoration:none}
body .header-nav .header-nav-contact{margin-left:14px;padding:12px 22px;border:1px solid currentColor;border-radius:999px;font-weight:500;opacity:1;transition:background .3s,color .3s,border-color .3s}
body.light-page .header-nav .header-nav-contact{background:var(--pm-forest);color:#fff;border-color:var(--pm-forest)}
body.light-page .header-nav .header-nav-contact:hover{background:var(--pm-ink);border-color:var(--pm-ink)}
body.premium-home .header-nav .header-nav-contact:hover{background:#fff;color:var(--pm-forest);border-color:#fff}
body .header-actions{display:flex;align-items:center;gap:6px;margin-left:10px}
body .search-toggle,body .menu-toggle{width:44px;height:44px;border-radius:50%;transition:background .25s}
body.light-page .search-toggle:hover,body.light-page .menu-toggle:hover{background:rgba(24,32,27,.06)}
body.premium-home .search-toggle:hover,body.premium-home .menu-toggle:hover{background:rgba(255,255,255,.12)}
@media(max-width:1100px){body .header-nav{display:none}}
@media(max-width:760px){
 body .site-header,body.premium-home .site-header{height:70px}
 body .brand .brand-mark{width:36px;height:36px;font-size:16px}
 body .brand .brand-text>span{font-size:17px}
 body .brand .brand-text>small{font-size:9px;letter-spacing:.16em}
}

/* Menu overlay */
body .menu-overlay .menu-panel{background:var(--pm-paper)}
body .main-menu a{font-family:var(--pm-serif);font-weight:400;letter-spacing:-.005em;transition:color .25s,padding .35s var(--pm-ease)}
body .main-menu a:hover,body .main-menu a.active{color:var(--pm-forest);padding-left:10px}
body .menu-column-label,body .desktop-submenu small{color:var(--pm-brass);letter-spacing:.2em;text-transform:uppercase;font-size:11px}
body .desktop-submenu a{transition:color .2s,transform .3s var(--pm-ease)}
body .desktop-submenu a:hover{color:var(--pm-forest);transform:translateX(4px)}
body .search-overlay{background:rgba(246,243,236,.98);color:var(--pm-ink)}
body .search-form label{font-family:var(--pm-serif);font-weight:400}

/* --------------------------------------------------------------------------
   Typography across inner pages
   -------------------------------------------------------------------------- */
.light-page main h1{font-family:var(--pm-serif);font-weight:400;letter-spacing:-.01em;line-height:1}
.light-page main h2{font-family:var(--pm-serif);font-weight:400;letter-spacing:-.005em;line-height:1.08}
.light-page main h1 em,.light-page main h2 em{font-style:italic}
.light-page main h3{letter-spacing:-.015em}
.light-page main p{color:var(--pm-muted)}
.light-page main [class*="eyebrow"],.light-page main [class*="kicker"],.light-page main [class*="category-label"],.light-page main .about-number{color:var(--pm-brass);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}

/* Image-led page heroes */
.light-page .expertise-hero,.light-page .insights-hero,.light-page .careers-v2-hero,.light-page .project-detail-hero,.light-page .news-detail-hero{position:relative;min-height:min(78vh,760px);overflow:hidden;background:var(--pm-forest)}
.light-page .expertise-hero img,.light-page .insights-hero img,.light-page .careers-v2-hero img,.light-page .project-detail-hero img{animation:pm-zoom 18s ease-out both}
@keyframes pm-zoom{from{transform:scale(1.07)}to{transform:scale(1)}}
.light-page .expertise-hero-shade,.light-page .insights-hero-shade,.light-page .careers-v2-hero-shade,.light-page .project-detail-shade{background:linear-gradient(0deg,rgba(10,20,15,.82) 0%,rgba(10,20,15,.35) 40%,rgba(10,20,15,.05) 70%),linear-gradient(180deg,rgba(10,20,15,.35),transparent 25%)!important}
.light-page .expertise-hero h1,.light-page .insights-hero h1,.light-page .careers-v2-hero h1,.light-page .project-detail-hero h1,.light-page .news-detail-hero h1{font-size:clamp(56px,8vw,128px);line-height:.95;color:#fff}
@media(prefers-reduced-motion:reduce){.light-page [class*="hero"] img{animation:none}}

/* Text-led page intros */
.light-page .projects-heading-row h1,.light-page .news-heading-row h1,.light-page .contact-title h1,.light-page .portfolio-gallery-hero h1,.light-page .video-hero-copy h1,.light-page .search-results-header h1,.light-page .about-opening h1{font-size:clamp(56px,7.4vw,120px);line-height:.95}

/* --------------------------------------------------------------------------
   Cards — projects, expertise, insights, news, search, related
   -------------------------------------------------------------------------- */
.light-page .project-list-card,.light-page .expertise-list-card,.light-page .insight-card,.light-page .more-project-card,.light-page .result-card,.light-page .contact-location-card{background:var(--pm-paper);border:1px solid rgba(24,32,27,.06);border-radius:4px;overflow:hidden;transition:transform .5s var(--pm-ease),box-shadow .5s var(--pm-ease),border-color .3s}
.light-page .project-list-card:hover,.light-page .expertise-list-card:hover,.light-page .insight-card:hover,.light-page .more-project-card:hover,.light-page .result-card:hover,.light-page .contact-location-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(24,32,27,.35);border-color:transparent}
.light-page .project-list-image,.light-page .expertise-list-image,.light-page .insight-card-image,.light-page .news-row-image,.light-page .contact-location-image{overflow:hidden;background:var(--pm-sand)}
.light-page .project-list-image img,.light-page .expertise-list-image img,.light-page .insight-card-image img,.light-page .news-row-image img,.light-page .more-project-card img,.light-page .result-card img,.light-page .contact-location-image img{transition:transform 1.1s var(--pm-ease)}
.light-page .project-list-card:hover img,.light-page .expertise-list-card:hover img,.light-page .insight-card:hover img,.light-page .news-row:hover img,.light-page .more-project-card:hover img,.light-page .result-card:hover img,.light-page .contact-location-card:hover img{transform:scale(1.05)}
.light-page .project-list-info h2,.light-page .project-list-info h3,.light-page .expertise-list-info h2,.light-page .expertise-list-info h3,.light-page .insight-card-info h2,.light-page .insight-card-info h3,.light-page .more-project-card h3,.light-page .news-row-content h2,.light-page .news-row-content h3{font-family:var(--pm-serif);font-weight:400;letter-spacing:-.005em;line-height:1.1}
.light-page .project-card-arrow,.light-page .round-arrow{transition:background .3s,color .3s,transform .4s var(--pm-ease)}
.light-page .project-list-card:hover .project-card-arrow,.light-page .expertise-list-card:hover .round-arrow,.light-page .insight-card:hover .round-arrow{background:var(--pm-forest);color:#fff;border-color:var(--pm-forest);transform:rotate(-45deg)}

/* News rows */
.light-page .news-row{border-bottom:1px solid var(--pm-line)}
.light-page .read-article{background:var(--pm-forest);color:#fff;border-radius:999px;transition:background .3s}
.light-page .read-article:hover{background:var(--pm-ink)}

/* Filters, toolbars, pills */
.light-page .projects-toolbar input,.light-page .projects-toolbar select,.light-page .news-toolbar input,.light-page .news-toolbar select,.light-page .careers-v2-filter input,.light-page .careers-v2-filter select{background:var(--pm-paper);border:1px solid var(--pm-line);border-radius:999px;color:var(--pm-ink);transition:border-color .2s,box-shadow .2s}
.light-page .projects-toolbar input:focus,.light-page .projects-toolbar select:focus,.light-page .news-toolbar input:focus,.light-page .news-toolbar select:focus,.light-page .careers-v2-filter input:focus,.light-page .careers-v2-filter select:focus{border-color:var(--pm-forest);box-shadow:0 0 0 4px rgba(31,51,41,.1);outline:0}
.light-page .portfolio-gallery-filters a{border-radius:999px;transition:background .25s,color .25s,border-color .25s}
.light-page .portfolio-gallery-filters a.active,.light-page .portfolio-gallery-filters a:hover{background:var(--pm-forest);color:#fff;border-color:var(--pm-forest)}
.light-page .portfolio-gallery-item{overflow:hidden;border-radius:3px}
.light-page .portfolio-gallery-item img{transition:transform 1.1s var(--pm-ease),filter .5s}
.light-page .portfolio-gallery-item:hover img{transform:scale(1.04)}

/* Forms */
.light-page main input[type=text],.light-page main input[type=email],.light-page main input[type=tel],.light-page main input[type=url],.light-page main input[type=search],.light-page main select,.light-page main textarea{font-family:var(--pm-sans);font-size:15px;color:var(--pm-ink)}
.light-page .contact-enquiry-form input,.light-page .contact-enquiry-form select,.light-page .contact-enquiry-form textarea,.light-page .career-apply-page form input,.light-page .career-apply-page form select,.light-page .career-apply-page form textarea{background:#fff;border:1px solid var(--pm-line);border-radius:4px;transition:border-color .2s,box-shadow .2s}
.light-page .contact-enquiry-form input:focus,.light-page .contact-enquiry-form select:focus,.light-page .contact-enquiry-form textarea:focus,.light-page .career-apply-page form input:focus,.light-page .career-apply-page form select:focus,.light-page .career-apply-page form textarea:focus{border-color:var(--pm-forest);box-shadow:0 0 0 4px rgba(31,51,41,.1);outline:0}
.light-page main button[type=submit]{border-radius:999px;transition:background .3s,transform .3s}
.light-page .contact-enquiry-form button[type=submit],.light-page .career-apply-page form button[type=submit]{background:var(--pm-forest);color:#fff;border-color:var(--pm-forest)}
.light-page .contact-enquiry-form button[type=submit]:hover,.light-page .career-apply-page form button[type=submit]:hover{background:var(--pm-ink)}

/* Contact page */
.light-page .contact-channel{background:var(--pm-paper);border:1px solid rgba(24,32,27,.06);border-radius:4px;transition:transform .5s var(--pm-ease),box-shadow .5s var(--pm-ease)}
.light-page .contact-channel:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(24,32,27,.35)}
.light-page .contact-channel h2,.light-page .contact-channel h3,.light-page .contact-location-heading h2,.light-page .contact-location-heading h3{font-family:var(--pm-serif);font-weight:400}
.light-page .contact-form-section{background:var(--pm-forest)}

/* Dark bands used on several pages */
.light-page .video-contact-band,.light-page .careers-v2-callout,.light-page .about-contact{background:var(--pm-forest)}

/* Studio / about */
.about-editorial-page .about-approach{background:var(--pm-sand)}

/* Legal and long-form text */
.light-page .studio-about-content,.light-page .news-detail-body{font-size:17px;line-height:1.8}

/* Floating WhatsApp: calmer, branded */
body .floating-whatsapp{box-shadow:0 18px 40px -16px rgba(24,32,27,.5)}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
body .site-footer.premium-footer{box-sizing:border-box;width:100%;max-width:none;min-height:0;background:var(--pm-forest);color:#e9ebe2;padding:0;margin:0;border:0;display:block;font-family:var(--pm-sans);font-size:15px;position:relative;overflow:hidden}
.hp-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0);clip-path:inset(50%);border:0!important;opacity:0;pointer-events:none}
.premium-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 0%,rgba(217,199,165,.1),transparent 40%);pointer-events:none}
.premium-footer .pf-wrap{position:relative;width:min(1440px,calc(100% - 2*var(--pm-gutter)));margin:0 auto}
.premium-footer a{color:inherit;text-decoration:none}
.premium-footer .pf-cta{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:clamp(70px,8vw,120px) 0 clamp(50px,6vw,80px);border-bottom:1px solid rgba(233,235,226,.14)}
.premium-footer .pf-kicker,.premium-footer .pf-heading{display:block;margin:0 0 22px;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#d9c7a5}
.premium-footer .pf-cta h2{margin:0;font-family:var(--pm-serif);font-weight:400;font-size:clamp(40px,5.4vw,84px);line-height:1;letter-spacing:-.01em;color:#f6f3ec;max-width:18ch}
.premium-footer .pf-cta h2 em{font-style:italic;color:#d9c7a5}
.premium-footer .pf-cta-button{flex-shrink:0;display:inline-flex;align-items:center;gap:28px;min-height:58px;padding:0 28px;border-radius:999px;background:#efe9db;color:var(--pm-forest);font-size:14px;font-weight:500;transition:background .3s,gap .3s}
.premium-footer .pf-cta-button:hover{background:#fff;gap:38px}
.premium-footer .pf-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr 1.4fr;gap:48px;padding:clamp(56px,6vw,90px) 0}
.premium-footer .pf-brand{display:inline-block;font-family:var(--pm-serif);font-size:38px;line-height:1;color:#f6f3ec}
.premium-footer .pf-description{margin:20px 0 28px;max-width:38ch;font-size:15px;line-height:1.7;color:rgba(233,235,226,.66)}
.premium-footer .pf-social{display:flex;gap:10px}
.premium-footer .pf-social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(233,235,226,.24);border-radius:50%;transition:background .3s,color .3s,border-color .3s}
.premium-footer .pf-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.premium-footer .pf-social a:hover{background:#efe9db;color:var(--pm-forest);border-color:#efe9db}
.premium-footer .pf-col{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.premium-footer .pf-col>a{font-size:15px;padding:6px 0;color:rgba(233,235,226,.82);transition:color .2s,transform .3s var(--pm-ease)}
.premium-footer .pf-col>a:hover{color:#fff;transform:translateX(4px)}
.premium-footer .pf-news-copy{margin:0 0 18px;font-size:15px;line-height:1.6;color:rgba(233,235,226,.66)}
.premium-footer .pf-subscribe{width:100%}
.premium-footer .pf-field{display:flex;align-items:center;border-bottom:1px solid rgba(233,235,226,.4);transition:border-color .2s}
.premium-footer .pf-field:focus-within{border-color:#d9c7a5}
.premium-footer .pf-field input{flex:1;min-width:0;background:transparent;border:0;padding:16px 0;color:#fff;font:inherit;font-size:16px;outline:0;border-radius:0}
.premium-footer .pf-field input::placeholder{color:rgba(233,235,226,.5)}
.premium-footer .pf-field button{background:transparent;border:0;color:#efe9db;font:inherit;font-size:14px;font-weight:500;cursor:pointer;padding:12px 0 12px 16px;white-space:nowrap}
.premium-footer .pf-field button:hover{color:#fff}
.premium-footer .pf-field button:disabled{opacity:.5;cursor:wait}
.premium-footer .pf-notice{min-height:1.4em;margin:12px 0 0;font-size:13px;color:rgba(233,235,226,.7)}
.premium-footer .pf-notice.is-success{color:#c9dcb2}
.premium-footer .pf-notice.is-error{color:#f1b9a6}
.premium-footer .pf-contact{display:flex;flex-direction:column;gap:6px;margin-top:22px}
.premium-footer .pf-contact a{font-size:15px;color:#f6f3ec;border-bottom:1px solid transparent;align-self:flex-start;transition:border-color .2s}
.premium-footer .pf-contact a:hover{border-color:currentColor}
.premium-footer .pf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.premium-footer .pf-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:26px 0 34px;border-top:1px solid rgba(233,235,226,.14);font-size:13px;color:rgba(233,235,226,.6)}
.premium-footer .pf-bottom p{margin:0}
.premium-footer .pf-bottom-links{display:flex;gap:26px;flex-wrap:wrap}
.premium-footer .pf-bottom-links a,.premium-footer .pf-bottom-links .footer-admin-login,.premium-footer .pf-bottom-links .back-to-top{display:inline-flex;align-items:center;gap:8px;padding:0;margin:0;border:0;border-radius:0;background:none;font-size:13px;font-weight:400;color:rgba(233,235,226,.72);transition:color .2s;min-height:0;height:auto;width:auto}
.premium-footer .pf-bottom-links .back-to-top span{font-size:13px;transform:none;width:auto;height:auto;border:0}
.premium-footer .pf-bottom-links a:hover{color:#fff}
@media(max-width:1100px){.premium-footer .pf-grid{grid-template-columns:1fr 1fr}.premium-footer .pf-brand-col{grid-column:1/-1}.premium-footer .pf-news{grid-column:1/-1}}
@media(max-width:760px){
 .premium-footer .pf-cta{flex-direction:column;align-items:flex-start}
 .premium-footer .pf-grid{gap:40px 24px}
 .premium-footer .pf-bottom{flex-direction:column;align-items:flex-start}
 .premium-footer .pf-bottom-links{gap:18px}
}
body .site-footer.premium-footer{border-top:1px solid rgba(233,235,226,.12)}

/* --------------------------------------------------------------------------
   Brand the remaining near-black accents in the forest palette
   -------------------------------------------------------------------------- */
.light-page .career-detail-cta,.light-page .careers-v2-callout,.light-page .career-v2-detail-layout aside>a,.light-page .career-v2-apply,.light-page .insight-feature,.light-page .contact-form-section{background:var(--pm-forest)}
.light-page .careers-v2-filter button,.light-page .career-filter button,.light-page .career-apply-form button,.light-page .contact-enquiry-form button,.light-page .studio-about-actions a,.light-page .expertise-empty-capabilities a,.light-page .read-article{background:var(--pm-forest);color:#fff;border-radius:999px;transition:background .3s}
.light-page .careers-v2-filter button:hover,.light-page .career-apply-form button:hover,.light-page .contact-enquiry-form button:hover,.light-page .studio-about-actions a:hover,.light-page .expertise-empty-capabilities a:hover{background:var(--pm-ink)}
.light-page .careers-v2-row{transition:background .35s,color .35s,transform .35s var(--pm-ease)}
.light-page .careers-v2-row:hover,.light-page .detail-quick-links a:hover{background:var(--pm-forest);color:#fff}
.light-page .career-apply-success>span,.light-page .contact-form-success>span{background:var(--pm-forest)}
.light-page .portfolio-gallery-item{background:var(--pm-sand)}
.light-page .careers-v2-callout h2,.light-page .insight-feature h2,.light-page .career-detail-cta h2,.light-page .career-detail-cta strong,.light-page .video-contact-band h2,.light-page .video-contact-band a{font-family:var(--pm-serif);font-weight:400}
.light-page .careers-v2-callout p,.light-page .insight-feature p,.light-page .contact-form-section p,.light-page .about-contact p{color:rgba(233,235,226,.72)}
.light-page main section[class*="capabilit"] h2,.light-page main section[class*="capabilit"] h3,.light-page main [class*="related"] h2,.light-page main .more-projects-head h2,.light-page .studio-about-section h2,.light-page .project-accordion summary{font-family:var(--pm-serif);font-weight:400}
.light-page .studio-about-section h2{font-size:clamp(28px,2.6vw,40px);line-height:1.1;color:var(--pm-ink)}
.light-page .about-contact a,.light-page .about-contact .about-text-link{border-radius:999px}
.light-page .project-accordion{border-color:var(--pm-line);background:var(--pm-paper)}
.light-page .studio-about-breadcrumb,.light-page .project-breadcrumb,.light-page .news-detail-breadcrumb{font-size:13px;color:var(--pm-muted)}
.legal-intro{width:min(820px,calc(100% - 2*var(--pm-gutter)));margin:60px auto 10px}
.legal-intro h1{font-size:clamp(52px,7vw,104px);margin:0}
.legal-intro .legal-eyebrow{margin:0 0 20px}
.light-page .project-search-control input,.light-page .news-search-control input,.light-page .careers-v2-search input{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:760px){
 .light-page .expertise-hero h1,.light-page .insights-hero h1,.light-page .careers-v2-hero h1,.light-page .project-detail-hero h1,.light-page .news-detail-hero h1{font-size:clamp(42px,12vw,60px);line-height:1;white-space:normal;max-width:calc(100% - 64px);text-wrap:balance}
 .light-page .project-category-pill{top:24px;bottom:auto;left:20px}
 .light-page .projects-heading-row h1,.light-page .news-heading-row h1,.light-page .contact-title h1,.light-page .portfolio-gallery-hero h1,.light-page .video-hero-copy h1,.light-page .search-results-header h1,.light-page .about-opening h1{font-size:clamp(46px,13vw,64px)}
}
/* Menu: image side gets a soft shade, close button and brand stay legible */
body .menu-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,15,.55),rgba(10,20,15,.15) 40%,rgba(10,20,15,.6))}
body.menu-open .menu-toggle{background:var(--pm-forest)!important;color:#fff!important}
body.menu-open .menu-toggle span{background:#fff!important}
@media(min-width:761px){body.menu-open .site-header .brand{color:#fff;position:relative;z-index:2}}
/* WhatsApp floats above every layer on every page, menus included */
body .floating-whatsapp{position:fixed;z-index:9990;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom))}
body .floating-whatsapp-label{background:var(--pm-forest)}

/* --------------------------------------------------------------------------
   Contact page — one calm screen: details on the left, form on the right
   -------------------------------------------------------------------------- */
.contact-page .cp-main{padding:clamp(120px,14vw,170px) 0 clamp(80px,9vw,130px);background:radial-gradient(circle at 90% 10%,rgba(217,199,165,.25),transparent 45%),var(--pm-ivory)}
.contact-page .cp-layout{width:min(1280px,calc(100% - 2*var(--pm-gutter)));margin:0 auto;display:grid;grid-template-columns:1fr minmax(0,560px);gap:clamp(48px,7vw,110px);align-items:start}
.contact-page .cp-kicker{display:flex;align-items:center;gap:14px;margin:0 0 24px;font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--pm-brass)}
.contact-page .cp-kicker::before{content:"";width:28px;height:1px;background:currentColor}
.contact-page .cp-intro h1{font-size:clamp(52px,6.4vw,104px);line-height:.95;margin:0;max-width:11ch;color:var(--pm-ink)}
.contact-page .cp-intro h1 em{color:var(--pm-forest)}
.contact-page .cp-lead{max-width:44ch;margin:28px 0 44px;font-size:18px;line-height:1.7;color:var(--pm-muted)}
.contact-page .cp-details{list-style:none;margin:0 0 36px;padding:0;border-top:1px solid var(--pm-line);max-width:520px}
.contact-page .cp-details li{display:grid;grid-template-columns:120px 1fr;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid var(--pm-line)}
.contact-page .cp-details span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--pm-muted)}
.contact-page .cp-details a,.contact-page .cp-details p{margin:0;font-size:18px;color:var(--pm-ink);word-break:break-word}
.contact-page .cp-details a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s var(--pm-ease)}
.contact-page .cp-details a:hover{background-size:100% 1px}
.contact-page .cp-whatsapp{display:flex;align-items:center;gap:16px;max-width:520px;padding:18px 22px;border-radius:18px;background:var(--pm-forest);color:#fff;transition:transform .4s var(--pm-ease),box-shadow .4s var(--pm-ease)}
.contact-page .cp-whatsapp:hover{transform:translateY(-3px);box-shadow:0 24px 50px -24px rgba(31,51,41,.6)}
.contact-page .cp-whatsapp svg{width:44px;height:44px;padding:9px;border-radius:50%;background:#25d366;color:#fff;flex-shrink:0}
.contact-page .cp-whatsapp span{flex:1;display:flex;flex-direction:column;gap:3px}
.contact-page .cp-whatsapp strong{font-weight:500;font-size:16px}
.contact-page .cp-whatsapp small{font-size:13px;color:rgba(233,235,226,.7)}
.contact-page .cp-whatsapp b{font-weight:400;font-size:18px}
.contact-page .cp-form-card{background:#fff;border-radius:24px;padding:clamp(28px,3.4vw,48px);box-shadow:0 40px 80px -50px rgba(24,32,27,.45),0 0 0 1px rgba(24,32,27,.05)}
.contact-page .cp-form-card>h2{margin:0 0 28px;font-family:var(--pm-serif);font-weight:400;font-size:clamp(32px,3vw,44px);line-height:1;color:var(--pm-ink)}
.contact-page .cp-form{display:flex;flex-direction:column;gap:18px;padding:0;background:none;border:0;max-width:none}
.contact-page .cp-form .cp-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-page .cp-form label{display:flex;flex-direction:column;gap:8px;margin:0}
.contact-page .cp-form label>span{font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--pm-ink);text-transform:none}
.contact-page .cp-form input,.contact-page .cp-form select,.contact-page .cp-form textarea{width:100%;box-sizing:border-box;min-height:52px;padding:14px 16px;border:1px solid var(--pm-line);border-radius:12px;background:var(--pm-paper);font:inherit;font-size:15px;color:var(--pm-ink);transition:border-color .2s,box-shadow .2s,background .2s}
.contact-page .cp-form textarea{min-height:150px;resize:vertical;line-height:1.6}
.contact-page .cp-form input:focus,.contact-page .cp-form select:focus,.contact-page .cp-form textarea:focus{outline:0;background:#fff;border-color:var(--pm-forest);box-shadow:0 0 0 4px rgba(31,51,41,.1)}
.contact-page .cp-form button[type=submit]{align-self:flex-start;display:inline-flex;align-items:center;gap:22px;min-height:56px;padding:0 30px;margin-top:6px;border:0;border-radius:999px;background:var(--pm-forest);color:#fff;font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:background .3s,gap .3s}
.contact-page .cp-form button[type=submit]:hover{background:var(--pm-ink);gap:32px}
.contact-page .cp-form small{font-size:13px;color:var(--pm-muted)}
.contact-page .cp-form .contact-form-error{margin:0;padding:12px 16px;border-radius:12px;background:#fbe9e3;color:#8a3b22;font-size:14px}
.contact-page .cp-success{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:20px 0;color:var(--pm-ink);background:none}
.contact-page .cp-success>span{width:56px;height:56px;border-radius:50%;background:var(--pm-forest);color:#fff;display:grid;place-items:center;font-size:22px}
.contact-page .cp-success h2{margin:0;font-family:var(--pm-serif);font-weight:400;font-size:40px;color:var(--pm-ink)}
.contact-page .cp-success p{margin:0;color:var(--pm-muted)}
.contact-page .cp-success a{margin-top:8px;border-bottom:1px solid currentColor;padding-bottom:4px;font-weight:500;color:var(--pm-forest)}
@media(max-width:960px){.contact-page .cp-layout{grid-template-columns:1fr}.contact-page .cp-intro h1{max-width:13ch}}
@media(max-width:560px){
 .contact-page .cp-main{padding-top:110px}
 .contact-page .cp-intro h1{font-size:clamp(46px,13vw,60px)}
 .contact-page .cp-details li{grid-template-columns:1fr;gap:6px;padding:16px 0}
 .contact-page .cp-form .cp-row{grid-template-columns:1fr}
 .contact-page .cp-form-card{border-radius:18px;padding:24px 20px}
 .contact-page .cp-form button[type=submit]{width:100%;justify-content:space-between}
}
/* Unsubscribe page */
.unsub-main{min-height:70vh;display:grid;place-items:center;padding:150px var(--pm-gutter) 100px}
.unsub-card{max-width:560px;text-align:center}
.unsub-card .unsub-kicker{color:var(--pm-brass);font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px}
.unsub-card h1{font-size:clamp(44px,6vw,72px);margin:0 0 18px}
.unsub-card p{font-size:17px;line-height:1.7}
.unsub-button{display:inline-flex;margin-top:22px;padding:16px 30px;border:0;border-radius:999px;background:var(--pm-forest);color:#fff;font:inherit;font-size:15px;cursor:pointer}
.unsub-button:hover{background:var(--pm-ink)}

/* Videos page: light film cards, the player loads on press */
.video-frame .film-play{all:unset;box-sizing:border-box;position:absolute;inset:0;display:grid;place-items:center;cursor:pointer;background:radial-gradient(ellipse at 50% 40%,#2b3a32,#141b17)}
.video-frame .film-play img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .5s;animation:film-still-in .6s ease both}
@keyframes film-still-in{from{opacity:0}to{opacity:1}}
.video-frame .film-play::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,16,12,.45),transparent 55%);pointer-events:none}
.film-play-icon{position:relative;z-index:1;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:rgba(246,243,236,.92);color:var(--pm-forest,#1f3329);box-shadow:0 18px 40px rgba(0,0,0,.28);transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s}
.film-play-icon svg{width:26px;height:26px;margin-left:4px;fill:currentColor}
.film-play:hover img{transform:scale(1.04)}
.film-play:hover .film-play-icon,.film-play:focus-visible .film-play-icon{transform:scale(1.1);background:#fff}
.film-play:focus-visible{outline:2px solid var(--pm-brass,#9a7a4a);outline-offset:-4px}
.video-frame video{background:#0d120f;object-fit:contain!important}
.film-more-wrap{display:flex;justify-content:center;padding:0 0 110px}
.film-more{appearance:none;border:1px solid var(--pm-ink,#18201b);background:transparent;color:var(--pm-ink,#18201b);border-radius:999px;padding:16px 30px;font:500 14px/1 var(--pm-sans,Inter,sans-serif);cursor:pointer;transition:background .3s,color .3s}
.film-more:hover{background:var(--pm-ink,#18201b);color:var(--pm-ivory,#f6f3ec)}
.film-more span{opacity:.6}
@media(max-width:760px){.film-play-icon{width:60px;height:60px}}

/* About page: Stephen on site. Taller frame, anchored to the top so the hard hat is never cropped */
.about-image img.about-image-site{height:min(640px,72vh);object-position:50% 6%}
@media(max-width:900px){.about-image img.about-image-site{height:min(520px,70vh)}}
@media(max-width:560px){.about-image img.about-image-site{height:440px;object-position:45% 4%}}
