/* Elite Sign v71 — readability, accessibility and uncropped hero typography. */

:root{
  --elite-bronze-readable:#7b5a35;
  --elite-bronze-hover:#634525;
}

/* Readability: balanced headings, comfortable paragraph measure and sane wrapping. */
:where(h1,h2,h3){text-wrap:balance;overflow-wrap:normal;word-break:normal}
:where(p,li,blockquote,dd){text-wrap:pretty;overflow-wrap:break-word}
:where(main p,main li,main blockquote){max-width:68ch}

/* The entrance animation's final clip-path cut off descenders and glyph overhangs. */
:where(.home-hero,.arch-hero,.elite-case-page__header,.catalog-product-hero) :where(h1,h2){
  clip-path:none!important;
  overflow:visible!important;
}

.arch-hero h1{
  max-width:18ch!important;
  font-size:clamp(3.55rem,4.9vw,5.7rem)!important;
  line-height:.98!important;
}
.arch-hero p{max-width:62ch!important;line-height:1.62!important}
.lux-section-heading h2{
  max-width:22ch!important;
  font-size:clamp(2.65rem,3.85vw,4.35rem)!important;
  line-height:1.03!important;
}
.lux-section-heading p{max-width:62ch!important;line-height:1.62!important}
.lux-intro h2{
  max-width:18ch!important;
  font-size:clamp(2.9rem,4.2vw,4.45rem)!important;
  line-height:1.02!important;
}
.about-story h2,.warranty-panel h2,.catalog-guidance h2{
  max-width:19ch!important;
  font-size:clamp(2.85rem,4vw,4.35rem)!important;
  line-height:1.03!important;
}
.service-detail__copy h2,.catalog-product-hero__copy h2{
  max-width:21ch!important;
  font-size:clamp(2.65rem,3.8vw,4.1rem)!important;
  line-height:1.04!important;
}

/* Contrast: the original bronze was too light for small text and white button labels. */
:where(.lux-kicker,.lux-section-number,.catalog-item__number,.home-review__stars,
  .home-reviews__overall-v62,.home-review__project-cta-v64,.project-case-study-v70__number){
  color:var(--elite-bronze-readable)!important;
}
:where(.home-hero,.arch-hero,.lux-featured,.home-risk-v68,.catalog-group--dark,
  .warranty-panel,.lux-footer,.elite-case-page__header) .lux-kicker{
  color:#d1b58f!important;
}
.lux-button--gold,.home-final-cta-v65__button,.projects-final-cta-v52__button,
.lux-mobile-cta a:last-child{
  background:var(--elite-bronze-readable)!important;
  border-color:var(--elite-bronze-readable)!important;
  color:#fff!important;
}
.lux-button--gold:hover,.home-final-cta-v65__button:hover,.projects-final-cta-v52__button:hover{
  background:var(--elite-bronze-hover)!important;
  border-color:var(--elite-bronze-hover)!important;
}
.lux-footer__base{color:rgba(255,255,255,.68)!important}
.lux-footer__privacy-v70{color:rgba(255,255,255,.82);text-decoration:underline;text-underline-offset:3px}

/* Homepage: remove repetition and reduce the total page length by roughly one sixth. */
html:not([data-elite-page]) .home-hero{
  height:clamp(620px,calc(100svh - 82px),720px)!important;
  min-height:620px!important;
}
html:not([data-elite-page]) .home-hero--conversion-v68 h1{
  max-width:15ch!important;
  font-size:clamp(3.55rem,4.75vw,4.9rem)!important;
  line-height:.98!important;
}
html:not([data-elite-page]) .home-hero__content>p{max-width:60ch!important;line-height:1.62!important}
html:not([data-elite-page]) .lux-intro{padding-top:102px!important;padding-bottom:102px!important}
html:not([data-elite-page]) .home-before-after-v68{padding:94px 0 88px!important}
html:not([data-elite-page]) .home-before-after-v68__image{aspect-ratio:16/8.8!important}
html:not([data-elite-page]) .lux-featured{padding:96px 0!important}
html:not([data-elite-page]) .lux-featured .lux-project--lead{min-height:450px!important}
html:not([data-elite-page]) .lux-featured .lux-project:not(.lux-project--lead){min-height:315px!important}
html:not([data-elite-page]) .home-process{padding:92px 0!important}
html:not([data-elite-page]) .home-process .process-step__visual{max-width:300px!important;margin-top:18px!important}
html:not([data-elite-page]) .home-process li{padding:23px!important}
html:not([data-elite-page]) .home-reviews{padding:92px 0!important}
html:not([data-elite-page]) .home-reviews__grid article{min-height:335px!important;padding:30px!important}
html:not([data-elite-page]) .home-reviews__grid blockquote{margin-top:30px!important;line-height:1.6!important}
html:not([data-elite-page]) .home-risk-v68{display:none!important}
html:not([data-elite-page]) .lux-services-preview{padding:96px 0!important}
html:not([data-elite-page]) .lux-service-cards img{height:210px!important}
html:not([data-elite-page]) .home-final-cta-v65 h2 span{display:inline!important;white-space:normal!important}

/* Simplified contact form. */
.contact-page{padding-top:105px!important;padding-bottom:105px!important}
.contact-page .lux-form{gap:18px!important}
.contact-page .lux-form>div.is-single-v70{grid-template-columns:1fr!important}
.contact-form-intro-v70{
  margin:-2px 0 4px;padding:0 0 18px;border-bottom:1px solid var(--line);
  color:var(--muted);font-size:12px;line-height:1.6;
}
.lux-consent span{line-height:1.55!important}
.lux-consent a{color:var(--elite-bronze-readable);text-decoration:underline;text-underline-offset:3px}
.contact-submit-note-v68{font-size:11px!important;line-height:1.6!important}

/* Fuller project case studies. */
.project-case-study-v70{
  width:min(1240px,calc(100% - 64px));margin:0 auto 110px;padding:92px 0 0;
  border-top:1px solid var(--line);
}
.project-case-study-v70__heading{
  display:grid;grid-template-columns:70px minmax(0,1fr);gap:24px;margin-bottom:48px;
}
.project-case-study-v70__heading h2{
  max-width:18ch;margin:12px 0 0;font:400 clamp(2.6rem,3.8vw,4.2rem)/1.02 var(--sans);
  letter-spacing:-.035em;text-wrap:balance;
}
.project-case-study-v70__grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);
}
.project-case-study-v70 article{
  min-width:0;padding:31px 30px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
}
.project-case-study-v70 article span{
  display:block;color:var(--elite-bronze-readable);font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.project-case-study-v70 article h3{margin:24px 0 13px;font:500 22px/1.15 var(--sans);letter-spacing:-.025em}
.project-case-study-v70 article p{margin:0;color:var(--muted);font-size:13px;line-height:1.68}

/* Standalone privacy notice. */
.privacy-page-v70{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}
.privacy-header-v70{
  height:82px;padding:0 max(24px,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--line);background:rgba(245,242,236,.97);
}
.privacy-header-v70 img{width:144px;height:auto}
.privacy-header-v70 nav{display:flex;gap:24px;font-size:12px;font-weight:600}
.privacy-hero-v70{padding:105px max(24px,calc((100% - 1080px)/2)) 82px;background:var(--ink);color:#fff}
.privacy-hero-v70 .lux-kicker{color:#d1b58f!important}
.privacy-hero-v70 h1{max-width:14ch;margin:18px 0 20px;font:400 clamp(3.4rem,6vw,6rem)/.96 var(--sans);letter-spacing:-.045em}
.privacy-hero-v70 p{max-width:62ch;margin:0;color:rgba(255,255,255,.72);font-size:16px;line-height:1.65}
.privacy-content-v70{width:min(920px,calc(100% - 48px));margin:auto;padding:92px 0 110px}
.privacy-content-v70 section{padding:34px 0;border-top:1px solid var(--line)}
.privacy-content-v70 h2{max-width:24ch;margin:0 0 16px;font:500 clamp(1.65rem,2.4vw,2.2rem)/1.12 var(--sans);letter-spacing:-.025em}
.privacy-content-v70 p,.privacy-content-v70 li{color:var(--muted);font-size:14px;line-height:1.72}
.privacy-content-v70 ul{margin:12px 0 0;padding-left:20px}
.privacy-content-v70 a{color:var(--elite-bronze-readable);text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){
  .arch-hero h1{font-size:clamp(3.15rem,7.4vw,4.5rem)!important;max-width:17ch!important}
  .lux-section-heading h2{font-size:clamp(2.5rem,6vw,3.6rem)!important}
  html:not([data-elite-page]) .home-hero{height:auto!important;min-height:0!important}
  html:not([data-elite-page]) .home-hero--conversion-v68 h1{max-width:16ch!important;font-size:clamp(3rem,7.2vw,4.2rem)!important}
  .project-case-study-v70__grid{grid-template-columns:1fr}
  .project-case-study-v70 article{min-height:0}
}

@media (max-width:760px){
  .arch-hero h1{font-size:clamp(2.7rem,11vw,3.45rem)!important;line-height:1!important;max-width:16ch!important}
  .arch-hero p{font-size:14px!important;line-height:1.58!important}
  .lux-section-heading{grid-template-columns:28px minmax(0,1fr)!important;gap:10px!important}
  .lux-section-heading h2,.lux-intro h2,.about-story h2,.warranty-panel h2,.catalog-guidance h2{
    max-width:17ch!important;font-size:clamp(2.25rem,9.7vw,3rem)!important;line-height:1.04!important;
  }
  .service-detail__copy h2,.catalog-product-hero__copy h2{
    max-width:18ch!important;font-size:clamp(2.2rem,9.4vw,2.9rem)!important;line-height:1.05!important;
  }
  html:not([data-elite-page]) .home-hero--conversion-v68 h1{
    max-width:15ch!important;font-size:clamp(2.75rem,11.5vw,3.55rem)!important;line-height:.99!important;
  }
  html:not([data-elite-page]) .home-hero__content{min-height:430px!important;padding-top:62px!important;padding-bottom:48px!important}
  html:not([data-elite-page]) .home-hero>img{height:300px!important;min-height:300px!important}
  html:not([data-elite-page]) .lux-intro{padding-top:72px!important;padding-bottom:72px!important}
  html:not([data-elite-page]) .home-before-after-v68{padding:72px 0 68px!important}
  html:not([data-elite-page]) .lux-featured,html:not([data-elite-page]) .home-process,
  html:not([data-elite-page]) .home-reviews,html:not([data-elite-page]) .lux-services-preview{padding:72px 0!important}
  html:not([data-elite-page]) .home-process .process-step__visual{max-width:none!important}
  html:not([data-elite-page]) .home-reviews__grid article{min-height:0!important;padding:26px!important}
  .contact-page{padding-top:72px!important;padding-bottom:76px!important}
  .project-case-study-v70{width:calc(100% - 40px);margin-bottom:72px;padding-top:68px}
  .project-case-study-v70__heading{grid-template-columns:28px minmax(0,1fr);gap:10px;margin-bottom:34px}
  .project-case-study-v70__heading h2{font-size:clamp(2.25rem,9.7vw,3rem)}
  .project-case-study-v70 article{padding:26px 22px 29px}
  .privacy-header-v70{height:70px}.privacy-header-v70 img{width:126px}.privacy-header-v70 nav a:first-child{display:none}
  .privacy-hero-v70{padding:76px 20px 64px}.privacy-hero-v70 h1{font-size:clamp(2.9rem,13vw,4rem)}
  .privacy-content-v70{width:calc(100% - 40px);padding:68px 0 88px}
  .lux-footer__base{grid-template-columns:1fr!important}
}

@media (prefers-reduced-motion:reduce){
  .arch-hero :where(h1,p,.lux-kicker){opacity:1!important;filter:none!important;clip-path:none!important;transform:none!important}
}
