/* ARTs shared roles. Editorial section and conversion headline are intentionally different sizes. */
@font-face{font-family:'ARTs Display';src:url('/process/assets/fonts/noto-serif-display.b294584d1830.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'ARTs Sans';src:url('/process/assets/fonts/instrument-sans.34b871b3418c.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'ARTs Label';src:url('/process/assets/fonts/unbounded.fe8364bb5708.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
:root{--arts-display-family:'ARTs Display',Georgia,serif;--arts-body-family:'ARTs Sans',Arial,sans-serif;--arts-label-family:'ARTs Label',Arial,sans-serif;--arts-paper:#efe7d9;--arts-ink:#28301f;--arts-olive:#3e402e;--arts-sage:#c6d29d}
:root{--arts-section-size:clamp(42px,3.9vw,82px);--arts-section-leading:1.08;--arts-section-tracking:-.025em;--arts-section-word-spacing:.04em;--arts-page-size:clamp(65px,6.2vw,116px);--arts-page-leading:1.12;--arts-page-tracking:-.035em;--arts-card-size:clamp(25px,2.1vw,36px);--arts-card-leading:1.1;--arts-card-tracking:-.025em}
:root{--arts-body-size:clamp(18px,1.3vw,24px);--arts-body-leading:1.42;--arts-body-tracking:-.015em;--arts-label-size:clamp(15px,1.08vw,20px);--arts-out:cubic-bezier(.25,1,.5,1);--arts-inout:cubic-bezier(.75,0,.25,1)}
:root{--arts-conversion-size:clamp(76px,10vw,167px);--arts-conversion-leading:.94;--arts-conversion-tracking:-.04em;--arts-conversion-margin:48px;--arts-conversion-top:160px;--arts-conversion-inset:6%;--arts-conversion-body-size:18px;--arts-action-size:16px;--arts-action-leading:1.3}
.site-about .site-about-title,.services-page .service-heading{font-family:var(--arts-display-family);font-weight:400;font-stretch:62.5%;font-variation-settings:'wdth' 62.5;font-size:var(--arts-section-size);line-height:var(--arts-section-leading);letter-spacing:var(--arts-section-tracking);word-spacing:var(--arts-section-word-spacing);font-kerning:normal;text-transform:uppercase}
.site-about .site-about-copy,.services-page .service-body{font-size:var(--arts-body-size);line-height:var(--arts-body-leading);letter-spacing:var(--arts-body-tracking)}
.services-title{font-size:var(--arts-page-size);line-height:var(--arts-page-leading);letter-spacing:var(--arts-page-tracking)}
/* One contact component, used by the homepage and services. */
.site-contact{padding:var(--arts-conversion-top) var(--arts-conversion-inset) 0;text-align:center;font:400 18px/1.3 var(--arts-body-family);letter-spacing:normal;color:var(--arts-ink)}
.site-contact .site-eyebrow{font:300 clamp(10px,.96vw,16px)/1.4 var(--arts-label-family);text-transform:uppercase;margin:0;letter-spacing:0}
.site-contact h2{font:400 var(--arts-conversion-size)/var(--arts-conversion-leading) var(--arts-display-family);font-stretch:62.5%;font-variation-settings:'wdth' 62.5;letter-spacing:var(--arts-conversion-tracking);word-spacing:normal;text-transform:uppercase;margin:var(--arts-conversion-margin) auto;font-kerning:normal}
.site-contact .contact-copy{font-size:var(--arts-conversion-body-size);line-height:1.4;letter-spacing:normal;max-width:500px;margin:0 auto 32px}
.site-contact .contact-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:70px;border-bottom:1px solid #28301f66;padding:15px 0;font-size:var(--arts-action-size);line-height:var(--arts-action-leading);letter-spacing:normal;text-decoration:none}
.site-contact .contact-cta span{font-size:30px;transition:transform .3s}.site-contact .contact-cta:hover span{transform:translate(4px,-4px)}
.site-contact .contact-details{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;border-top:1px solid #28301f40;margin-top:135px;padding:52px 0 70px;text-align:left}
.site-contact .contact-label{font:300 10px/1.4 var(--arts-label-family);text-transform:uppercase;margin:0 0 22px;opacity:.65;letter-spacing:normal}
.site-contact .contact-details a,.site-contact .contact-details div>p:not(.contact-label){display:block;margin:0 0 10px;font-size:18px;line-height:1.4;letter-spacing:normal}
.site-contact .contact-details .contact-phone{font:400 clamp(23px,2.5vw,42px)/1.15 var(--arts-display-family);letter-spacing:-.035em}.site-contact .contact-details .contact-address{font-size:13px;margin-top:20px}.site-contact .contact-details a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.site-contact .contact-details{grid-template-columns:1.2fr 1fr 1fr}.site-contact .contact-details a,.site-contact .contact-details div>p:not(.contact-label){font-size:15px}}
@media(max-width:1000px){:root{--arts-section-size:5vw}}
@media(max-width:700px){:root{--arts-conversion-size:clamp(64px,16vw,110px);--arts-conversion-margin:35px;--arts-conversion-top:110px;--arts-conversion-inset:7%;--arts-conversion-body-size:16px;--arts-action-size:15px}.site-contact .contact-copy br{display:none}.site-contact .contact-details{grid-template-columns:1fr 1fr;gap:35px 20px;margin-top:90px;padding:38px 0 45px}.site-contact .contact-details>div:first-child{grid-column:1/-1}.site-contact .contact-details .contact-phone{font-size:40px}.site-contact .contact-details a,.site-contact .contact-details div>p:not(.contact-label){font-size:14px}.site-contact .contact-label{font-size:8px;margin-bottom:17px}.site-contact .contact-details .contact-address{font-size:12px}}
@media(max-width:600px){:root{--arts-section-size:clamp(32px,8.2vw,48px);--arts-section-leading:1.09;--arts-body-size:17px;--arts-body-leading:1.45;--arts-label-size:13px;--arts-page-size:clamp(54px,15vw,90px)}}
@media(prefers-reduced-motion:reduce){.site-contact .contact-cta span{transition:none}}

.site-contact.paper-section{position:relative;isolation:isolate;background:var(--arts-paper)}
.site-contact.paper-section::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/assets/paper.215a22d7268f.webp') center top/clamp(1000px,100vw,1672px) auto repeat;opacity:.27}

/* Navigation, introductory statement and small headings have separate reusable roles. */
:root{--arts-nav-size:clamp(11px,.86vw,14px);--arts-nav-leading:1.35;--arts-nav-tracking:.11em;--arts-quote-size:clamp(30px,3.3vw,53px);--arts-quote-leading:1.16;--arts-quote-tracking:-.025em}
.site-hero .site-navigation a,.page-header>.page-nav a{font-family:Arial,sans-serif;font-weight:500;font-size:var(--arts-nav-size);line-height:var(--arts-nav-leading);letter-spacing:var(--arts-nav-tracking);text-transform:uppercase}
.arts-story__quote,.services-hero__lead .service-display{font-family:var(--arts-display-family);font-weight:400;font-stretch:62.5%;font-variation-settings:'wdth' 62.5;font-size:var(--arts-quote-size);line-height:var(--arts-quote-leading);letter-spacing:var(--arts-quote-tracking);word-spacing:normal}
.services-page .service-index a>span:nth-child(2),.services-page .service-production-steps h3,.services-page .service-installation__steps h3{font-family:var(--arts-display-family);font-weight:400;font-size:var(--arts-card-size);line-height:var(--arts-card-leading);letter-spacing:var(--arts-card-tracking);word-spacing:.04em}
.services-page .service-text-link{font-size:var(--arts-action-size);line-height:var(--arts-action-leading);letter-spacing:normal}
@media(max-width:1100px){:root{--arts-nav-size:14px}}
@media(max-width:800px){:root{--arts-card-size:28px}}
@media(max-width:640px){:root{--arts-quote-size:32px;--arts-quote-leading:1.14}}
@media(max-width:370px){:root{--arts-card-size:25px}}

/* Functional controls use the existing interface sans, not the editorial display face. */
:root{--arts-control-family:Arial,sans-serif;--arts-control-size:clamp(20px,1.45vw,24px);--arts-control-weight:600;--arts-control-leading:1.35;--arts-control-tracking:0}
.services-page .service-detail summary{font-family:var(--arts-control-family);font-size:var(--arts-control-size);font-weight:var(--arts-control-weight);font-style:normal;font-stretch:normal;font-variation-settings:normal;line-height:var(--arts-control-leading);letter-spacing:var(--arts-control-tracking);word-spacing:normal;text-transform:none;font-kerning:normal;gap:24px;min-height:76px;padding:23px 0;text-wrap:pretty}
.services-page .service-art .service-detail summary{font-family:var(--arts-control-family);font-size:var(--arts-control-size);font-weight:var(--arts-control-weight);line-height:var(--arts-control-leading);letter-spacing:var(--arts-control-tracking);word-spacing:normal;text-transform:none;color:#fff0dc}
.services-page .service-detail summary>span{width:18px;height:18px;flex:0 0 18px}
.services-page .service-detail summary>span::before,.services-page .service-detail summary>span::after{top:calc(50% - .75px);height:1.5px}
@media(max-width:600px){:root{--arts-control-size:20px}.services-page .service-detail summary{gap:20px;min-height:76px;padding:23px 0}}
@media(max-width:370px){:root{--arts-control-size:18px}}
