/* A restrained section scale keeps the owner-selected hero in the lead. */
:is(#about-title,#services-title,#property-types-title,#projects-home-title,#method-title,#team-title,#questions-title,#contact-title,#company-story-title,#company-team-title,#company-sectors-title,#company-contact-title,#portfolio-title,#portfolio-contact-title,#case-contact-title,#detail-questions-title,#detail-contact-title,#related-title){font-size:clamp(35px,3.85vw,56px);line-height:1.2;letter-spacing:-1px;text-wrap:balance}
.section-heading{margin-bottom:clamp(28px,3.15vw,45px)}
.services-title,.method-title{margin-bottom:clamp(32px,3.4vw,49px)}
.company-story-grid,.company-team-grid,.company-sectors-heading,.portfolio-heading{gap:clamp(28px,4.5vw,65px)}
.about-copy p,.company-story-copy p{line-height:1.85}
#contact-form{scroll-margin-top:110px}

/* Two offset corners echo the construction of the CHR mark. */
.chr-signature-heading{position:relative;padding-top:36px}
.chr-signature-heading::before,.chr-signature-heading::after{content:"";position:absolute;left:0;top:0;width:48px;height:15px;border-top:1px solid var(--reading-bronze);border-left:1px solid var(--reading-bronze)}
.chr-signature-heading::after{left:9px;top:8px;width:25px;height:14px;opacity:.55}
.section-dark .chr-signature-heading::before,.section-dark .chr-signature-heading::after{border-color:var(--gold)}

/* Keep text aligned while marking the current service. */
.service{position:relative;transition:background-color .22s ease}
.service::before{content:"";position:absolute;left:-14px;top:26px;bottom:26px;width:1px;background:var(--gold);opacity:0;transform:scaleY(.55);transform-origin:top;transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.service[open]{background:rgb(216 189 152 / 4%)}
.service[open]::before{opacity:1;transform:scaleY(1)}
@supports (interpolate-size:allow-keywords) and selector(details::details-content){
  .service{interpolate-size:allow-keywords}
  .service::details-content{block-size:0;overflow:clip;transition:block-size .24s ease,content-visibility .24s allow-discrete}
  .service[open]::details-content{block-size:auto}
}

.quick-contact-trigger[hidden]{display:none!important}
.quick-contact-trigger{display:none}
.quick-contact-panel{width:min(430px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto auto max(16px,env(safe-area-inset-bottom));padding:24px;border:1px solid #b7a487;background:var(--ivory);color:var(--ink);box-shadow:0 18px 70px #0004;overflow:auto}
.quick-contact-panel::backdrop{background:rgb(12 19 17 / 70%);backdrop-filter:blur(3px)}
.quick-contact-panel[open]{animation:contact-enter .2s ease-out}
.quick-contact-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.quick-contact-top .eyebrow{font-size:12px;letter-spacing:1px;color:var(--reading-bronze)}
.quick-contact-close{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 0 0 8px;border:0;background:none;color:var(--ink);font:400 14px/1.4 var(--sans);cursor:pointer}
.quick-contact-close svg{width:20px;height:20px}
#quick-contact-title{font:400 34px/1.2 var(--serif);letter-spacing:-.7px;margin:0 0 15px}
#quick-contact-description{font:400 16px/1.75 var(--sans);color:var(--muted);margin:0 0 22px}
.quick-contact-numbers{display:grid;border-top:1px solid var(--line);margin-bottom:24px}
.quick-contact-numbers>a{display:grid;grid-template-columns:22px minmax(0,1fr) 20px;align-items:center;gap:14px;min-height:62px;border-bottom:1px solid var(--line);font:400 20px/1.4 var(--sans);letter-spacing:.3px}
.quick-contact-numbers>a>svg{width:21px;height:21px;color:var(--reading-bronze)}
.quick-contact-form{width:100%;gap:14px;font-size:15px;min-height:56px}
.quick-contact-panel :focus-visible{outline:2px solid var(--reading-bronze);outline-offset:4px}
.quick-contact-open{overflow:hidden}
@keyframes contact-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
  .header{gap:10px}
  .header>.brand{margin-right:auto;min-width:0}
  .quick-contact-trigger{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid #d0b48a70;background:transparent;color:var(--ivory);font:500 14px/1.4 var(--sans);cursor:pointer}
  .quick-contact-trigger>svg{width:20px;height:20px;color:var(--gold)}
}
@media(max-width:600px){
  .quick-contact-trigger{width:44px;padding:0}
  .quick-contact-trigger>span{display:none}
  :is(#about-title,#services-title,#property-types-title,#projects-home-title,#method-title,#team-title,#questions-title,#contact-title,#company-story-title,#company-team-title,#company-sectors-title,#company-contact-title,#portfolio-title,#portfolio-contact-title,#case-contact-title,#detail-questions-title,#detail-contact-title,#related-title){font-size:35px;letter-spacing:-.7px}
  .section-heading{margin-bottom:28px}
  .chr-signature-heading{padding-top:32px}
  .service::before{left:-10px;top:23px;bottom:23px}
}
@media(max-width:360px){
  :is(#about-title,#services-title,#property-types-title,#projects-home-title,#method-title,#team-title,#questions-title,#contact-title,#company-story-title,#company-team-title,#company-sectors-title,#company-contact-title,#portfolio-title,#portfolio-contact-title,#case-contact-title,#detail-questions-title,#detail-contact-title,#related-title){font-size:32px}
  .quick-contact-panel{padding:20px}
  .quick-contact-form{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .service,.service::before,.service::details-content{transition:none!important}
  .quick-contact-panel[open]{animation:none}
}

/* Public profile links stay secondary to calling or describing a project. */
.social-profile-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:0;font:400 15px/1.5 var(--sans);color:inherit;text-decoration:none}
.social-profile-link>.social-icon{width:20px;height:20px;flex-shrink:0}
.social-profile-link>.icon{width:14px;height:14px;flex-shrink:0}
.footer-social-links .social-profile-link{gap:8px}
.contact-social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:340px;margin:0 0 10px}
.contact-social-links .social-profile-link{border-bottom:1px solid var(--line);padding:4px 0;color:var(--ink)}
.contact-social-links .social-icon{color:var(--reading-bronze)}
.contact-social-links .social-profile-link:hover{color:var(--reading-bronze)}
.nav-social-links{display:none}
@media(max-width:900px){
  #navigation .nav-social-links{display:flex;flex-wrap:wrap;gap:8px 25px;width:100%;margin-top:8px;padding-top:9px}
  #navigation .nav-social-links .social-profile-link{font-size:15px;line-height:1.5;min-height:44px;gap:8px;color:var(--gold);letter-spacing:0}
  #navigation .nav-social-links .social-profile-link>.icon{width:14px;height:14px}
}
