@charset "UTF-8";
.compact-only{display:none}
.compact-enquiry>summary{display:none}
@media(max-width:760px){
  :root{--gutter:20px}
  html{scroll-padding-top:84px}
  body.compact-mobile{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  .compact-only{display:block}
  .site-header{height:68px;gap:12px;padding-inline:20px}
  .brand-mark{width:30px;height:30px}.brand-divider{height:29px}.brand-wordmark{width:106px}.brand{gap:8px}
  .header-cta{display:flex;font-size:11px;padding:10px 11px;min-height:40px}
  .menu-toggle{width:34px;height:40px;padding:6px;margin-left:0}
  .mobile-nav{top:68px}.mobile-nav a{font-size:22px;min-height:48px;padding:14px 0}
  .hero{min-height:570px;height:calc(100svh - 134px);max-height:730px}
  .hero-body{padding-top:28px;padding-bottom:26px;justify-content:center}
  .hero h1.slogan-heading{font-size:clamp(50px,14vw,66px);line-height:.98}
  .hero .hero-lead{margin:32px 0 20px;font-size:13px;line-height:1.6;max-width:340px}
  .hero .hero-contact-cta{min-width:190px;min-height:48px;padding:14px 18px;font-size:14px}
  .hero-controls{padding-bottom:16px}
  .hero-tab,.hero-tab:not(:first-child){min-height:66px;padding:11px 12px}
  .hero-tab-title{font-size:14px;line-height:1.25}
  .hero-tabs{gap:7px}.motion-toggle{margin-top:11px}
  .location-strip{min-height:34px;padding-block:11px;font-size:8px}
  .section-pad{padding-block:38px}
  .services .section-intro{margin-bottom:24px}.services .section-intro>.eyebrow{display:none}
  .standard-services-heading,.standard-services{display:none}
  h2,.section-intro h2,.project-intro h2,.management-intro h2{font-size:34px;line-height:1.08;letter-spacing:-.045em}
  .intro-copy{font-size:13px;line-height:1.7;margin-top:16px;max-width:none}
  .compact-services{border-top:1px solid var(--line)}
  .compact-service{border-bottom:1px solid var(--line)}
  .compact-service summary{display:flex;align-items:center;gap:13px;padding:13px 0;min-height:88px;cursor:pointer;list-style:none}
  summary::-webkit-details-marker{display:none}
  .compact-service summary img{width:60px;height:60px;object-fit:cover;flex-shrink:0}
  .compact-service summary>span:nth-child(2){flex:1;min-width:0}
  .compact-service strong{display:block;font-size:16px;line-height:1.3;letter-spacing:-.025em}
  .compact-service small{display:block;color:#65615d;font-size:11px;line-height:1.5;margin-top:5px}
  .disclosure-symbol{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;color:var(--burnt);font-size:23px;font-weight:400;transition:transform .2s}
  details[open]>summary .disclosure-symbol{transform:rotate(45deg)}
  .compact-service-copy{padding:2px 0 20px}
  .compact-service-copy>p{line-height:1.75!important;font-size:13px!important;min-height:0!important}
  .compact-service-copy .service-tags{margin-top:15px;font-size:11px}
  .compact-service-copy .text-link{min-height:48px;margin-top:16px;font-size:13px}
  summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
  .project-intro{margin-bottom:18px}.project-intro .eyebrow{font-size:9px}.project-intro h2{margin-top:13px}
  .project-intro h2 br{display:none}.project-intro h2 em:before{content:' '}
  .project-intro>p{font-size:12px;line-height:1.65;margin-top:14px;max-width:none;padding:0}
  .project-filters{margin-bottom:13px;padding-top:12px;justify-content:space-between;gap:0}
  .filter{font-size:10px;padding:12px 10px;min-height:44px}
  .project-swipe-hint{font-size:11px;color:#b5b4b0;line-height:1.6;margin-bottom:15px}
  .project-grid{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#d8732f #333;padding:3px 3px 12px;overscroll-behavior-x:contain}
  .project-card{flex:0 0 87%;scroll-snap-align:start;scroll-snap-stop:always}
  .project-card[hidden]{display:none}
  .project-card.reveal{opacity:1!important;transform:none!important;transition:none!important}
  .project-image{aspect-ratio:1.45}.project-open{width:auto;height:auto;border-radius:0;min-height:34px;padding:9px 11px;font-size:11px;font-weight:700}
  .project-category{font-size:8px;left:13px;bottom:15px}
  .project-caption{padding:15px 0;min-height:75px}.project-caption strong{font-size:17px;line-height:1.25}
  .project-caption>span>span{font-size:10px;margin-top:6px}.project-count{display:none}
  .project-rail-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px}
  .project-rail-controls button{min-height:44px;min-width:88px;border:1px solid #666;background:transparent;color:#fff;font-size:12px;padding:10px 13px}
  .project-rail-controls button:disabled{opacity:.35}
  .project-rail-controls span{font-size:11px;color:#bbb}
  .management-section{padding-block:38px}.management-grid{display:block}
  .management-grid>.management-media,.standard-process{display:none}
  .management-intro h2{margin-bottom:15px}.management-intro h2 br{display:none}.management-intro h2 em:before{content:' '}
  .management-lead{font-size:17px;line-height:1.4;margin-bottom:12px}
  .management-intro>p:last-child{font-size:13px;line-height:1.7}
  .compact-process{border-block:1px solid var(--line);margin-top:20px}
  .compact-process>summary,.compact-enquiry>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:58px;font-size:13px;font-weight:700;list-style:none;cursor:pointer}
  .compact-process-image{margin:0 0 15px}.compact-process-image img{width:100%;height:160px;object-fit:cover;object-position:58% 44%}
  .compact-process .management-process{display:grid;padding-bottom:18px;gap:8px}
  .compact-process .management-process li{padding:12px;grid-template-columns:28px minmax(0,1fr);gap:10px}
  .compact-process .management-process li>span{font-size:17px}.compact-process .management-process h3{font-size:15px}.compact-process .management-process p{font-size:12px}
  .original-contact{padding:38px 0 26px}
  #compact-contact-heading{font-size:34px;margin-bottom:22px}
  .contact-layout{display:block}
  .contact-logo{display:grid;grid-template-columns:82px minmax(0,1fr);column-gap:14px;align-items:center;width:100%;margin:0}
  .contact-logo .brand-video{width:82px;height:82px;grid-row:1/3;grid-column:1;border-radius:0}
  .contact-logo .brand-slogan{grid-column:2;font-size:12px;letter-spacing:.015em;text-align:left;margin:0;align-self:end;padding-bottom:5px}
  .contact-logo .logo-motion{grid-column:2;font-size:10px;text-align:left;margin:0;padding:3px 0 0;align-self:start;width:fit-content;min-height:35px}
  .contact-detail-list{grid-template-columns:1fr 1fr;gap:17px 16px;margin-top:22px}
  .contact-detail-list>div:nth-child(3){grid-column:1/-1}
  .contact-detail-list dd{font-size:12px;line-height:1.65}.contact-detail-list dt{font-size:9px}
  .contact-back-top{margin:12px 0 18px;padding:12px 0;font-size:11px;min-height:44px}
  .compact-enquiry{border-block:1px solid #ffffff30;scroll-margin-top:86px}
  .compact-enquiry>summary{color:#fff;padding:6px 0;font-size:14px}
  .compact-enquiry .disclosure-symbol{color:var(--orange)}
  .compact-enquiry .contact-form-shell{margin-bottom:18px}
  .contact-form-head .contact-kicker{display:none}.contact-form-head h2{font-size:29px}.contact-form-head>p:last-child{font-size:12px}
  .original-contact .enquiry-form{padding:20px}.original-contact .enquiry-form label{font-size:10px}
  .contact-footer .footer-bottom{padding-block:18px}
  .mobile-quick-actions{position:fixed;left:0;bottom:0;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));background:#101010f5;border-top:1px solid #ffffff30;z-index:42;backdrop-filter:blur(10px)}
  .mobile-quick-actions a{display:flex;align-items:center;justify-content:center;min-height:46px;font-size:13px;font-weight:700;border:1px solid var(--orange);background:var(--orange);color:var(--black)}
  .mobile-quick-actions a:last-child{background:transparent;color:#fff}
  body.modal-open .mobile-quick-actions{display:none}
  .project-dialog{padding:16px}.dialog-image-wrap{height:40svh}.dialog-header h2{font-size:23px}.dialog-bottom{font-size:11px;line-height:1.6}
}
@media(max-width:359px){.header-cta{display:none}.menu-toggle{margin-left:auto}.hero-tab-title{font-size:13px}.compact-service strong{font-size:15px}.filter{font-size:9px;padding-inline:8px}}
