.hero-title{font-size:58px;font-weight:900;line-height:1.05;padding-top:36px;padding-bottom:24px}
.hero-title>span{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere}
.hero-title .hero-completion{font-size:36px;margin-left:auto;letter-spacing:-.04em}
.hero-figure{display:flex;flex-direction:column;max-width:1600px;margin-inline:auto}
.hero-figure>.photo{margin-left:var(--gutter)}
.hero-caption{padding:20px var(--gutter) 24px;display:grid;gap:8px}
.hero-caption>div{display:contents}
.hero-caption .study{order:3}
.wood .section-heading{margin-bottom:32px}
.wood-figure{display:grid;gap:24px}
.wood-figure figcaption{display:grid;gap:12px}
.wood-figure figcaption>div{display:contents}
.wood-figure .study{order:3}
.installation-heading{background:var(--lavender);color:var(--coal);padding-block:32px}
.installation-grid{display:grid;gap:32px;padding-block:24px var(--section-space)}
.installation-caption{margin-top:16px}
.installation-copy{display:grid;gap:24px}
.service-list{display:grid;gap:24px}
.service-list>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px}
.service-list dt{font-weight:600}
.installation-copy>.text-link{justify-self:start}
.restoration{--ink:var(--coal);--accent:var(--coal);background:var(--pearl);color:var(--coal);padding-block:var(--section-space)}
.restoration-grid{display:grid;gap:24px}
.restoration-description{margin-top:24px;max-width:32em}
.restoration figcaption{margin-top:16px}
.restoration-link{margin-top:8px;justify-self:start}
.restoration-link:hover,.restoration-link:active{color:var(--coal)!important}
.restoration-link:hover span{text-decoration-thickness:3px}
.contacts{padding-block:72px 64px;display:grid;gap:24px}
.eyebrow{margin-bottom:24px}
.contacts h2{color:var(--lavender);font-size:38px}
.contact-copy>p:first-child{font-size:20px;line-height:1.45;max-width:32em}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:32px}
.contact-actions .text-link{font-size:22px}
.contact-note{margin-top:24px;max-width:26em}
.site-footer{display:grid;gap:24px;padding-block:0 32px}
.footer-nav{gap:24px}
.back-top{display:inline-flex;align-items:center;gap:16px;min-height:44px;justify-self:start}
.disclosure{margin-top:8px}
@media(max-width:359px){.hero-title{font-size:50px}.hero-title .hero-completion{font-size:30px}.service-list>div{grid-template-columns:1fr;gap:4px}h2,.contacts h2{font-size:34px}.subtitle{font-size:18px}.text-link{font-size:18px}.caption-title{font-size:19px}}
@media(min-width:700px){
    .hero-title{font-size:96px;padding-top:48px;padding-bottom:32px}
    .hero-title .hero-completion{font-size:56px}
    .hero-caption{padding-block:28px 40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
    .hero-caption>div{display:block}
    .hero-caption .study{margin-top:16px}
    .wood-figure figcaption{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
    .wood-figure figcaption>div{display:block}
    .installation-heading{padding-block:40px}
    .installation-grid{padding-top:32px;gap:32px}
    .service-list>div{grid-template-columns:170px minmax(0,1fr);gap:32px}
    .service-list{gap:28px}
    .installation-copy{gap:32px}
    .restoration-grid{gap:32px}
    .restoration-description{margin-top:32px}
    .contacts{padding-block:96px 80px;gap:32px}
    .contacts h2{font-size:56px}
    .contact-copy>p:first-child{font-size:24px}
    .contact-actions .text-link{font-size:26px}
    .site-footer{grid-template-columns:1fr auto;gap:32px;padding-bottom:40px}
    .site-footer .brand{grid-column:1/-1}
    .site-footer .disclosure{grid-column:1/-1}
}
@media(min-width:760px) and (max-width:1099px){.contact-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px}.contact-actions{margin-top:0}.contact-note{grid-column:2}}
@media(min-width:1100px){
    .hero-title{font-size:clamp(96px,8.9vw,128px);padding-top:48px;padding-bottom:24px}
    .hero-title .hero-completion{font-size:clamp(58px,5.28vw,76px);margin-left:35%;margin-right:auto}
    .hero-figure{display:grid;grid-template-columns:26.2% minmax(0,1fr)}
    .hero-figure>.photo{grid-column:2;grid-row:1;margin:0}
    .hero-caption{grid-column:1;grid-row:1;padding:64px 24px 32px var(--gutter);display:flex;flex-direction:column;gap:24px;align-items:start}
    .hero-caption>div{display:contents}
    .hero-caption .study{order:3;margin:0}
    .hero-caption .caption-title{font-size:clamp(24px,2.5vw,36px)}
    .hero-caption .caption-description{max-width:16em}
    .wood-figure{grid-template-columns:minmax(0,2.18fr) minmax(0,1fr);gap:40px;align-items:end}
    .wood-figure figcaption{display:flex;flex-direction:column;align-items:start;gap:24px;padding-bottom:48px}
    .wood-figure figcaption>div{display:contents}
    .wood-figure .study{margin:0}
    .installation-heading{padding-block:56px 28px}
    .installation-grid{grid-template-columns:minmax(0,1.58fr) minmax(0,1fr);gap:40px;padding-top:40px;position:relative}
    .installation-grid figure{display:contents}
    .installation-grid .photo{grid-column:1;grid-row:1;align-self:start}
    .installation-caption{grid-column:2;grid-row:1;align-self:start;margin-top:24px}
    .installation-copy{grid-column:2;grid-row:1;align-content:space-between;gap:24px;padding-top:clamp(116px,10vw,144px);padding-bottom:4px}
    .service-list{gap:32px}
    .service-list>div{grid-template-columns:38% minmax(0,1fr);gap:16px}
    .service-list dt{font-size:clamp(20px,1.95vw,28px)}
    .restoration{padding-block:112px}
    .restoration-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.85fr);column-gap:40px;row-gap:24px;align-items:start}
    .restoration-copy{grid-column:1;grid-row:1;padding-top:80px}
    .restoration-copy h2{font-size:clamp(54px,5.28vw,76px)}
    .restoration-copy .subtitle{font-size:clamp(22px,2vw,28px)}
    .restoration-description{margin-top:40px}
    .restoration-grid figure{grid-column:2;grid-row:1/3}
    .restoration-link{grid-column:1;grid-row:2;margin:16px 0 0}
    .restoration figcaption .caption-title{font-size:24px}
    .contacts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding-top:144px;padding-bottom:144px;align-items:start}
    .contacts h2{font-size:clamp(54px,5.28vw,76px)}
    .contact-copy{padding-top:64px}
    .contact-copy>p:first-child{font-size:clamp(24px,2.25vw,32px)}
    .contact-actions{gap:32px;margin-top:48px}
    .contact-actions .text-link{font-size:32px}
    .site-footer{grid-template-columns:1fr auto auto;gap:24px 64px;align-items:center;padding-bottom:48px}
    .site-footer .brand{grid-column:1;grid-row:1/3}
    .footer-nav{grid-column:2;gap:32px;font-size:20px}
    .back-top{grid-column:3;font-size:20px}
    .site-footer .disclosure{grid-column:2/4;justify-self:end;margin:0}
}
