/* Shared refinements for editable branding and catalog-cover panels. */
.site-preferences-drawer{display:none}
.bsnav-mobile .navbar-nav>.nav-item>.nav-link{justify-content:flex-start}
.bsnav-mobile .navbar-nav>.nav-item>.nav-link .ti-plus{margin-left:8px}
.bsnav-mobile .navbar-nav>.nav-item>.nav-link::after{margin-left:auto}
/* Keep the desktop header intact through the mid-size laptop range. */
@media (min-width:992px) and (max-width:1599.98px){
  .search-cart.nav-profile{width:164px}
  .search-cart.nav-profile .whatsapp-button{min-width:0;padding-inline:20px;white-space:nowrap}
}
@media (min-width:1200px){
  /* Prevent the navigation's flexible centre column from compressing the
     WhatsApp control into two lines while the window is being resized. */
  .navbar-collapse .search-cart.nav-profile{display:flex;flex:0 0 164px;align-items:center;justify-content:flex-end;width:164px}
  .navbar-collapse .search-cart.nav-profile .whatsapp-button{box-sizing:border-box;width:100%;min-width:0;padding-inline:16px;white-space:nowrap}
}
@media (min-width:576px) and (max-width:1199.98px){
  .search-cart.nav-profile{width:54px}
  .search-cart.nav-profile .whatsapp-button{width:50px;padding:0;font-size:0}
  .search-cart.nav-profile .whatsapp-button span{font-size:16px}

  /* The original header drops its upper bar in this range, so use one compact
     navigation row rather than leaving desktop links on a dark background. */
  .header.header-before-off{min-height:70px}
  .header .navbar{min-height:70px;padding:0!important}
  .header .navbar-container{grid-template-columns:1fr!important;padding-inline:28px!important}
  .header .navbar-extra-logo,.header .navbar-bar-shape,.header .top-bar-area{display:none!important}
  .header .top-header-menu{padding-left:0}
  .header .navbar-brand.g-nop{display:inline-flex;align-items:center;width:auto;margin:0}
  .header .navbar-brand.g-nop img{display:block;width:auto;max-width:128px;height:52px;object-fit:contain}
  .header .navbar-brand.g-nop .logo-display{display:none!important}
  .header .navbar-brand.g-nop .logo-scrolled{display:block!important}
  .header .navbar-brand-tog{min-height:70px}
  .header .navbar-toggler{display:block;margin-left:14px}
  .header .navbar-collapse{display:none!important}
  .bsnav-mobile .navbar{right:auto;left:0;width:min(360px,86vw);padding:146px 22px 28px!important;border-right:1px solid rgb(162 4 4 / 28%);background:#fbfbfa;box-shadow:22px 0 60px rgb(12 15 19 / 24%);transform:translate3d(-105%,0,0)}
  .bsnav-mobile.in .navbar{transform:translate3d(0,0,0)}
  .bsnav-mobile .site-preferences-drawer{display:inline-flex;position:absolute;z-index:2;top:84px;right:22px;left:auto;height:42px;margin:0;border-color:rgb(25 30 36 / 13%);background:rgb(255 255 255 / 82%);box-shadow:0 8px 24px rgb(20 25 31 / 8%)}
  .bsnav-mobile .site-preferences-drawer .site-control{height:36px;font-size:14px}
  .bsnav-mobile .site-preferences-drawer .site-control i{font-size:18px}
  .bsnav-mobile .navbar::before{display:block;position:absolute;z-index:1;top:100px;right:auto;bottom:auto;left:22px;width:auto;height:auto;background:none;clip-path:none;color:var(--brand-red);font-size:12px;font-weight:850;line-height:1;letter-spacing:.12em;text-transform:uppercase;transform:none;content:"Explore PEF"}
  html:lang(id) .bsnav-mobile .navbar::before{content:"Jelajahi PEF"}
  .bsnav-mobile .navbar::after{display:block;position:absolute;z-index:1;top:134px;right:22px;bottom:auto;left:22px;width:auto;height:1px;background:linear-gradient(90deg,var(--brand-red),rgb(162 4 4 / 8%));clip-path:none;transform:none;content:""}
  .bsnav-mobile .navbar-nav{gap:6px;padding:12px 2px}
  .bsnav-mobile .navbar-nav .nav-item{border:0;border-radius:13px;overflow:hidden}
  .bsnav-mobile .navbar-nav .nav-item .nav-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:11px 14px;color:#222831!important;font-size:15px;font-weight:750;line-height:1.35;border-radius:13px}
  .bsnav-mobile .navbar-nav>.nav-item>.nav-link::after{color:var(--brand-red);font-size:18px;font-weight:500;content:"›"}
  .bsnav-mobile .navbar-nav .nav-item.active>.nav-link,.bsnav-mobile .navbar-nav .nav-item>.nav-link:hover,.bsnav-mobile .navbar-nav .nav-item>.nav-link:focus-visible{background:var(--brand-red);color:#fff!important;outline:0}
  .bsnav-mobile .navbar-nav .nav-item.active>.nav-link::after,.bsnav-mobile .navbar-nav .nav-item>.nav-link:hover::after,.bsnav-mobile .navbar-nav .nav-item>.nav-link:focus-visible::after{color:#fff}
  .bsnav-mobile .mobile-menu-company{position:absolute;right:22px;bottom:max(22px,env(safe-area-inset-bottom));left:22px;display:flex;align-items:center;gap:11px;padding:13px 0 0;border-top:1px solid rgb(25 30 36 / 12%);color:#5c6570}
  .bsnav-mobile .mobile-menu-company img{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
  .bsnav-mobile .mobile-menu-company__copy{display:grid;gap:3px;min-width:0;font-size:11px;line-height:1.35}
  .bsnav-mobile .mobile-menu-company strong{color:#252a30;font-size:12px;font-weight:800;line-height:1.2}
  .bsnav-mobile .mobile-menu-company span,.bsnav-mobile .mobile-menu-company a{display:flex;gap:6px;align-items:flex-start;min-width:0;color:inherit;text-decoration:none}
  .bsnav-mobile .mobile-menu-company i{width:11px;margin-top:2px;color:var(--brand-red);font-size:10px;text-align:center;flex:0 0 auto}
}
.favicon-crop-tools{max-width:25rem;padding:1rem;border:1px solid var(--bs-border-color);border-radius:.9rem;background:var(--bs-tertiary-bg)}
.favicon-crop-tools canvas{display:block;width:128px;height:128px;border-radius:18px;background:repeating-conic-gradient(#e8eaed 0 25%,#fff 0 50%) 50%/16px 16px;box-shadow:0 0 0 1px var(--bs-border-color)}
.favicon-current-preview{display:grid;place-items:center;width:112px;height:112px;margin-bottom:.75rem;border:1px solid var(--bs-border-color);border-radius:22px;background:repeating-conic-gradient(#e8eaed 0 25%,#fff 0 50%) 50%/16px 16px}
.favicon-current-preview img{width:72px;height:72px;object-fit:contain}

.home-story{padding:clamp(58px,6vw,82px) 0}
.home-story__grid{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:clamp(52px,7vw,92px)}
.home-story .heading-1{max-width:520px;font-size:clamp(32px,3.45vw,45px);line-height:1.18}
.home-story__description{max-width:650px;line-height:1.86}
.home-sponsors{padding-top:clamp(34px,4vw,54px)}
.home-sponsors__shell{background-color:#1d2127;background-image:linear-gradient(105deg,rgb(15 18 23/.96) 0%,rgb(15 18 23/.86) 54%,rgb(15 18 23/.48) 100%),var(--catalog-cover-image);background-size:cover;background-position:center 58%;background-repeat:no-repeat}
.home-sponsors__rail::before{background:linear-gradient(90deg,rgb(20 24 29/.92) 18%,transparent)}
.home-sponsors__rail::after{background:linear-gradient(270deg,rgb(20 24 29/.92) 18%,transparent)}
.home-contact-company{background-color:#181b21;background-image:linear-gradient(105deg,rgb(14 17 21/.97),rgb(14 17 21/.82) 62%,rgb(14 17 21/.5)),var(--catalog-cover-image);background-size:cover;background-position:center 58%;background-repeat:no-repeat}

.service-gallery-cta,.portfolio-cta,.service-hub__help,.profile-page-cta{background-color:#1d2027;background-image:linear-gradient(100deg,rgb(14 17 21/.97),rgb(14 17 21/.84) 62%,rgb(14 17 21/.48)),var(--catalog-cover-image);background-size:cover;background-position:center 58%;background-repeat:no-repeat}
.service-gallery-branding .service-gallery-portfolio{background:#fff}
.service-gallery-branding .cms-gallery>section{background:transparent;box-shadow:none;clip-path:none}
.service-gallery-branding .cms-gallery>section+section{border-top:1px solid #e5e7ea}
[data-site-theme=dark] .service-gallery-branding .service-gallery-portfolio{background:#20252c}
[data-site-theme=dark] .service-gallery-branding .cms-gallery>section+section{border-color:#424953}
.service-gallery-bottom{padding:42px 0 52px}
.service-gallery-cta{padding:40px 44px}
.service-gallery-merchandise .service-gallery-portfolio{padding-bottom:16px}
.service-gallery-merchandise .cms-gallery>section:last-of-type{margin-bottom:0!important}
.service-gallery-merchandise .service-gallery-bottom{padding-top:20px}
.service-gallery-branding .service-gallery-portfolio{padding-bottom:16px}
.service-gallery-branding .cms-gallery>section:last-of-type{margin-bottom:0!important}
.service-gallery-branding .service-gallery-bottom{padding-top:20px}
.about-area-2.de-padding{padding-bottom:clamp(24px,3vw,40px)}
.profile-page-cta-section{padding:0 0 clamp(52px,6vw,84px)}
.profile-page-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;padding:clamp(32px,4vw,48px);border:1px solid rgba(255,255,255,.14);border-radius:24px;color:#fff;box-shadow:0 18px 46px rgba(0,0,0,.14)}
.profile-page-cta__eyebrow{margin:0 0 12px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.12em}
.profile-page-cta h2{margin:0 0 12px;color:#fff;font-size:clamp(28px,3vw,40px);line-height:1.14;letter-spacing:-.025em}
.profile-page-cta h2+p{max-width:720px;margin:0;color:#e0e4e8;font-size:16px;line-height:1.7}
.profile-page-cta__action{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-width:146px;min-height:62px;padding:0 24px;border-radius:14px;background:var(--brand-red);color:#fff!important;font-size:15px;font-weight:800;text-decoration:none;transition:background-color .2s,transform .2s}
.profile-page-cta__action:hover,.profile-page-cta__action:focus-visible{background:#800303;color:#fff!important;transform:translateY(-1px)}
.profile-page-cta__action:focus-visible{outline:3px solid #fff;outline-offset:4px}

@media(max-width:991px){.home-story__grid{grid-template-columns:1fr;gap:34px}.home-story__heading{position:static}}
@media(max-width:767px){.service-gallery-bottom{padding:32px 0 38px}.service-gallery-merchandise .service-gallery-portfolio,.service-gallery-branding .service-gallery-portfolio{padding-bottom:12px}.service-gallery-merchandise .service-gallery-bottom,.service-gallery-branding .service-gallery-bottom{padding-top:16px}.service-gallery-cta{padding:28px}.about-area-2.de-padding{padding-bottom:24px}.profile-page-cta{grid-template-columns:1fr;gap:26px;padding:28px}.profile-page-cta__action{width:100%;min-height:56px}.profile-page-cta-section{padding-bottom:44px}}
@media(max-width:575px){.home-story{padding:52px 0}.home-story__grid{gap:30px}.home-sponsors{padding-top:32px}}

/* Keep the rendered mobile navigation inside the space reserved by the header. */
@media(max-width:767px){
  .header.header-before-off{min-height:78px}
  .header .navbar{padding:10px}
  .header .navbar-brand.g-nop{display:inline-flex;align-items:center;width:auto;max-width:140px;height:58px;margin:0}
  .header .navbar-brand.g-nop img{display:block;width:auto;max-width:140px;height:58px;object-fit:contain}
  .header .navbar-brand.g-nop .logo-display{display:none}
  .header .navbar-brand.g-nop .logo-scrolled{display:block}
  .floating-whatsapp{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:48px;height:48px;font-size:26px;box-shadow:0 3px 10px rgb(0 0 0 / 22%)}
}

/* Product artwork often has branding along its top edge; reserve room for close. */
@media(max-width:575px){
  #gallery-preview:not(.gallery-preview--logo){padding:56px 18px 20px}
  #gallery-preview:not(.gallery-preview--logo) img{max-width:100%}
}

/* One spacing rhythm for every public call-to-action: a compact approach,
   a slightly longer exit, and the same card inset across page families. */
:root{--public-cta-space-top:clamp(28px,3vw,40px);--public-cta-space-bottom:clamp(40px,4vw,56px);--public-cta-inset:clamp(28px,3.5vw,44px)}
.service-gallery-bottom{padding:var(--public-cta-space-top) 0 var(--public-cta-space-bottom)}
.service-gallery-merchandise .service-gallery-bottom,.service-gallery-branding .service-gallery-bottom{padding-top:var(--public-cta-space-top)}
.service-gallery-cta,.profile-page-cta,.portfolio-cta,.project-submit-card{padding:var(--public-cta-inset)}
.portfolio-cta{margin:var(--public-cta-space-top) 0 var(--public-cta-space-bottom)}
.portfolio-controls{margin-bottom:0}
.about-area-2.de-padding{padding-bottom:0}
.profile-page-cta-section{padding:var(--public-cta-space-top) 0 var(--public-cta-space-bottom)}
.design-section.design-closing{padding:var(--public-cta-space-top) 0 var(--public-cta-space-bottom)}
.design-process-section{padding-bottom:0}
.home-contact-section{padding:var(--public-cta-space-top) 0 var(--public-cta-space-bottom)}
.project-brief-section{padding-bottom:var(--public-cta-space-bottom)}
.service-hub__help{padding:var(--public-cta-inset)}
@media(max-width:767px){:root{--public-cta-space-top:24px;--public-cta-space-bottom:36px;--public-cta-inset:28px}.service-gallery-merchandise .service-gallery-bottom,.service-gallery-branding .service-gallery-bottom{padding-top:var(--public-cta-space-top)}.profile-page-cta-section{padding-bottom:var(--public-cta-space-bottom)}}

/* Phone navigation: spacious at entry, compact and translucent while reading. */
@media(max-width:575px){
  /* A shared 20px reading edge keeps phone layouts from pressing against glass. */
  body:not(.login-body) .container{--bs-gutter-x:40px}
  .header .site-preferences-mobile{display:none!important}
  .header .navbar,
  .header .navbar-brand.g-nop,
  .header .navbar-brand.g-nop img,
  .header .site-preferences-mobile,
  .header .site-preferences-mobile .site-control{
    transition:height .24s ease,max-width .24s ease,padding .24s ease,background-color .24s ease,box-shadow .24s ease,transform .24s ease
  }
  .header .navbar.sticked.in{
    min-height:40px;
    padding:4px 8px;
    border-bottom:1px solid rgb(255 255 255 / 55%);
    background:rgb(255 255 255 / 78%);
    box-shadow:0 8px 28px rgb(21 25 31 / 14%);
    -webkit-backdrop-filter:blur(16px) saturate(145%);
    backdrop-filter:blur(16px) saturate(145%)
  }
  .header .navbar.sticked.in .navbar-brand.g-nop,
  .header .navbar.sticked.in .navbar-brand.g-nop img{max-width:68px;height:32px}
  .header .navbar.sticked.in .site-preferences-mobile{height:40px;margin-left:auto;border-color:rgb(25 30 36 / 12%);background:rgb(255 255 255 / 58%);box-shadow:none}
  .header .navbar.sticked.in .site-preferences-mobile .site-control{min-width:34px;height:34px;padding:5px 7px}
  .header .navbar.sticked.in .site-preferences-mobile .site-language-control{min-width:60px}
  .header .navbar.sticked.in .site-preferences-mobile .site-theme-control{width:34px}
  .header .navbar.sticked.in .navbar-toggler{transform:scale(.75)}
  [data-site-theme=dark] .header .navbar.sticked.in{border-bottom-color:rgb(255 255 255 / 10%);background:rgb(24 28 34 / 80%);box-shadow:0 8px 28px rgb(0 0 0 / 28%)}
  [data-site-theme=dark] .header .navbar.sticked.in .site-preferences-mobile{border-color:rgb(255 255 255 / 12%);background:rgb(27 31 37 / 62%)}

  .bsnav-mobile .bsnav-mobile-overlay{background:rgb(11 14 18 / 48%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
  .bsnav-mobile .navbar{
    right:auto;
    left:0;
    width:min(86vw,320px);
    padding:146px 16px 26px;
    border-right:1px solid rgb(162 4 4 / 28%);
    background:radial-gradient(circle at 12% 82%,rgb(162 4 4 / 6%),transparent 24%),linear-gradient(155deg,rgb(255 255 255 / 98%),rgb(247 247 246 / 95%));
    box-shadow:22px 0 60px rgb(12 15 19 / 24%);
    transform:translate3d(-105%,0,0)
  }
  .bsnav-mobile.in .navbar{transform:translate3d(0,0,0)}
  .bsnav-mobile .site-preferences-drawer{display:inline-flex;position:absolute;z-index:2;top:84px;right:18px;left:auto;height:42px;margin:0;border-color:rgb(25 30 36 / 13%);background:rgb(255 255 255 / 82%);box-shadow:0 8px 24px rgb(20 25 31 / 8%)}
  .bsnav-mobile .site-preferences-drawer .site-control{height:36px;font-size:14px}
  .bsnav-mobile .site-preferences-drawer .site-control i{font-size:18px}
  .bsnav-mobile .navbar::before{display:block;position:absolute;z-index:1;top:100px;right:auto;bottom:auto;left:18px;width:auto;height:auto;background:none;clip-path:none;color:var(--brand-red);font-size:12px;font-weight:850;line-height:1;letter-spacing:.12em;text-transform:uppercase;transform:none;content:"Explore PEF"}
  html:lang(id) .bsnav-mobile .navbar::before{content:"Jelajahi PEF"}
  .bsnav-mobile .navbar::after{display:block;position:absolute;z-index:1;top:134px;right:18px;bottom:auto;left:18px;width:auto;height:1px;background:linear-gradient(90deg,var(--brand-red),rgb(162 4 4 / 8%));clip-path:none;transform:none;content:""}
  .bsnav-mobile .navbar-nav{gap:6px;padding:12px 2px}
  .bsnav-mobile .navbar-nav .nav-item{border:0;border-radius:13px;overflow:hidden}
  .bsnav-mobile .navbar-nav .nav-item .nav-link{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:11px 14px;color:#222831!important;font-size:15px;font-weight:750;line-height:1.35;border-radius:13px}
  .bsnav-mobile .navbar-nav>.nav-item>.nav-link::after{color:var(--brand-red);font-size:18px;font-weight:500;content:"›"}
  .bsnav-mobile .navbar-nav .nav-item.active>.nav-link,
  .bsnav-mobile .navbar-nav .nav-item>.nav-link:hover,
  .bsnav-mobile .navbar-nav .nav-item>.nav-link:focus-visible{background:var(--brand-red);color:#fff!important;outline:0}
  .bsnav-mobile .navbar-nav .nav-item.active>.nav-link::after,
  .bsnav-mobile .navbar-nav .nav-item>.nav-link:hover::after,
  .bsnav-mobile .navbar-nav .nav-item>.nav-link:focus-visible::after{color:#fff}
  .bsnav-mobile .navbar-nav .navbar-nav{margin:2px 0 8px!important;padding:5px 8px 8px!important;border-left:2px solid rgb(162 4 4 / 22%);background:rgb(162 4 4 / 4%)}
  .bsnav-mobile .navbar-nav .navbar-nav .nav-link{min-height:42px;padding:9px 12px;font-size:14px;font-weight:650}
  .bsnav-mobile .mobile-menu-company{position:absolute;z-index:2;right:18px;bottom:max(22px,env(safe-area-inset-bottom));left:18px;display:flex;align-items:center;gap:11px;padding:13px 0 0;border-top:1px solid rgb(25 30 36 / 12%);color:#5c6570}
  .bsnav-mobile .mobile-menu-company img{width:42px;height:42px;object-fit:contain;flex:0 0 auto}
  .bsnav-mobile .mobile-menu-company__copy{display:grid;gap:3px;min-width:0;font-size:11px;line-height:1.35}
  .bsnav-mobile .mobile-menu-company strong{color:#252a30;font-size:12px;font-weight:800;line-height:1.2}
  .bsnav-mobile .mobile-menu-company span,.bsnav-mobile .mobile-menu-company a{display:flex;gap:6px;align-items:flex-start;min-width:0;color:inherit;text-decoration:none}
  .bsnav-mobile .mobile-menu-company span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .bsnav-mobile .mobile-menu-company i{width:11px;margin-top:2px;color:var(--brand-red);font-size:10px;text-align:center;flex:0 0 auto}
  .bsnav-mobile .mobile-menu-company a:hover,.bsnav-mobile .mobile-menu-company a:focus-visible{color:var(--brand-red);outline:0}
  [data-site-theme=dark] .bsnav-mobile .navbar{border-right-color:rgb(255 90 96 / 26%);background:radial-gradient(circle at 12% 82%,rgb(255 90 96 / 7%),transparent 24%),linear-gradient(155deg,rgb(28 32 39 / 98%),rgb(20 24 29 / 96%))}
  [data-site-theme=dark] .bsnav-mobile .site-preferences-drawer{border-color:rgb(255 255 255 / 14%);background:rgb(27 31 37 / 86%)}
  [data-site-theme=dark] .bsnav-mobile .navbar-nav .nav-item .nav-link{color:#f3f4f5!important}
  [data-site-theme=dark] .bsnav-mobile .navbar-nav .navbar-nav{background:rgb(255 255 255 / 4%)}
  [data-site-theme=dark] .bsnav-mobile .mobile-menu-company{border-top-color:rgb(255 255 255 / 13%);color:#b7bec7}
  [data-site-theme=dark] .bsnav-mobile .mobile-menu-company strong{color:#f3f4f5}

  /* Use one native drawer scroller on iPhone. A nested flex scroller beside
     an absolutely positioned company panel can retain its collapsed height
     in Safari, causing following links to paint across an expanded submenu. */
  .bsnav-mobile .navbar{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .bsnav-mobile .navbar>.navbar-nav{display:block;order:1;flex:0 0 auto;min-height:0;padding-bottom:12px;overflow:visible}
  /* The stock navigation makes each item a shrinkable flex child. Keep every
     root and submenu item in normal document flow so expansion contributes
     to the drawer's actual scroll height. */
  .bsnav-mobile .navbar>.navbar-nav>.nav-item{display:block;flex:none;overflow:visible}
  .bsnav-mobile .navbar>.navbar-nav>.nav-item>.navbar-nav{position:static;width:auto;min-width:0;clip:auto;overflow:visible}
  .bsnav-mobile .navbar>.navbar-nav>.nav-item>.navbar-nav .nav-item{display:block;flex:none}
  .bsnav-mobile .mobile-menu-company{position:static;right:auto;bottom:auto;left:auto;order:2;flex:0 0 auto;margin:auto 2px 0;padding-top:13px}

  .service-hub__intro h1,.contact-experience h1,.service-gallery h1,.portfolio-page h1,.project-hero h1,.breadcrumb-title{font-size:clamp(32px,9.5vw,37px);line-height:1.08;letter-spacing:-.03em}
  .home-story .heading-1,.home-partnership .heading-1{font-size:clamp(31px,9vw,35px);line-height:1.12}
}

/* Eyebrows remain secondary, but must be comfortably legible at normal zoom. */
.service-hub .service-hub__eyebrow{font-size:14px}
.service-hub__help .service-hub__eyebrow{font-size:13px}
.contact-experience .contact-eyebrow{font-size:14px}
.contact-direct .contact-eyebrow{font-size:13px}
.home-sponsors__eyebrow{font-size:14px}
.home-contact-eyebrow{font-size:14px}
.design-story .design-kicker,.design-work-grid figcaption span{font-size:14px}

/* Touch targets: the menu button keeps its look but its tappable area is 44 x 44 px; the photo preview's controls are 44 px. */
@media (pointer: coarse) {
  .header .navbar-toggler::after { content: ""; position: absolute; inset: -10px -6px; }
  #gallery-preview .gallery-preview__close, #gallery-preview.gallery-preview--logo .gallery-preview__close { width: 44px; height: 44px; }
}

/* The floating WhatsApp button never covers the last line of the footer. */
footer.footer { padding-bottom: max(1.6rem, 5.75rem) !important; }

/* Brand red used as text on charcoal sections or on the dark theme is the lighter red, so it reaches AA; dark-theme text tokens of the project brief follow the theme. */
.signage-outdoor-panel .service-gallery-eyebrow, .signage-jump a span, .home-contact-company .home-contact-eyebrow, .project-development-visual figcaption span { color: #ff7378 !important; }
[data-site-theme="dark"] .home-contact-eyebrow { color: #ff7378 !important; }
[data-site-theme="dark"] .project-capabilities article > span { color: #ff7378; }
[data-site-theme="dark"] .service-gallery-eyebrow, [data-site-theme="dark"] .service-gallery-link, [data-site-theme="dark"] .home-story .hero-sub-title, [data-site-theme="dark"] .home-partnership .hero-sub-title { color: #ff7378 !important; }
[data-site-theme="dark"] .project-enquiry { --project-dark: #f1f3f5; --project-muted: #b9c0c9; }
[data-site-theme="dark"] .project-security-note strong, .project-submit-card h3 { color: #f1f3f5; }
[data-site-theme="dark"] .btn-outline-dark { --bs-btn-color: #e3e6ea; --bs-btn-border-color: #e3e6ea; --bs-btn-hover-color: #15181d; --bs-btn-hover-bg: #e3e6ea; --bs-btn-hover-border-color: #e3e6ea; }

@media(max-width:991px){.hero-controls>span{min-width:0;overflow-wrap:anywhere}}

/* Phone and touch refinements (release gate 2026-10-13). "html body" outranks the page stylesheets loaded after this file. */
html body .contact-office__channels small{font-size:13px}
html body .home-partnership .hero-sub-title{font-size:13px}
html body .home-partnership__grid>*{min-width:0}
@media (max-width:991px),(pointer:coarse){
  html body .home-sponsors__controls>button,
  html body .service-gallery-merchandise .gallery-view-controls button{width:44px;height:44px}
  html body .home-sponsors__portfolio-link,
  html body .home-contact-company .addr-desc a,
  html body .service-gallery-link,
  html body .mobile-menu-company a{display:inline-flex;align-items:center;min-height:44px}
  html body .design-faq summary{min-height:44px}
  html body .site-preferences-drawer .site-control{min-width:44px;min-height:44px}
}
/* Phone menu: the 44px language/theme controls stay centred inside a box tall enough to hold them. */
html body .site-preferences-drawer .site-control{display:inline-flex;align-items:center;justify-content:center}
html body .bsnav-mobile .site-preferences-drawer{height:auto;min-height:48px}
html body .project-brief-heading>p:last-child a{display:inline-flex;align-items:center;min-height:44px}
