/* Sections adapted from James and Joshua's APPA Apparel reference. */
.site-header nav{gap:26px}
.hero h1{font-size:clamp(59px,6.5vw,99px)}
.services-section{border-bottom:1px solid var(--line)}
.services-heading{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:end}
.services-intro p{font-size:14px;line-height:1.85;color:var(--muted);max-width:465px}
.services-intro p:first-child{font-size:17px;color:var(--ink);margin-bottom:17px}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 45px;margin-top:55px}
.service-item{padding:28px 0 32px;border-top:1px solid var(--line)}
.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}
.service-top>span{color:var(--rust);font-size:10px;letter-spacing:1px}
.service-top svg{width:31px;height:31px;fill:none;stroke:#6c765d;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round}
.service-item h3{font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-.7px}
.service-item p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:14px}
.service-tags{display:block;font-size:8px;letter-spacing:1px;line-height:1.9;color:#68735b;margin-top:21px}
.services-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:24px;margin-top:7px}
.projects-section{background:var(--white)}
.gallery-heading{text-align:center}
.gallery-heading .eyebrow{justify-content:center}
.gallery-heading>p:last-child{font-size:14px;color:var(--muted);line-height:1.8;margin-top:22px}
.project-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px;margin-top:42px}
.project-photo{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#d8cfbd;isolation:isolate}
.project-photo img{position:absolute;width:200%;height:200%;max-width:none;object-fit:cover;transition:filter .25s}
.crop-one img{left:0;top:0}.crop-two img{left:-100%;top:0}.crop-three img{left:0;top:-100%}.crop-four img{left:-100%;top:-100%}
.photo-arrow{position:absolute;bottom:13px;right:13px;display:flex;align-items:center;justify-content:center;width:33px;height:33px;background:var(--white);border-radius:50%;font-size:17px;box-shadow:0 2px 6px #2427221f;transition:background .2s,color .2s}
.project-photo:hover img{filter:brightness(.95)}
.project-photo:hover .photo-arrow{background:var(--rust);color:var(--white)}
.project-caption{padding-top:17px}
.project-caption>span{font-size:8px;letter-spacing:1.3px;color:var(--rust)}
.project-caption h3{font-size:21px;font-family:var(--serif);font-weight:400;line-height:1.2;letter-spacing:-.4px;margin-top:9px}
.gallery-disclosure{text-align:center;font-size:10px;color:var(--muted);line-height:1.8;margin-top:34px}
.process-section{background:var(--ink);color:var(--paper)}
.process-heading .eyebrow{color:#c7cfb9}
.process-heading h2 em{color:#dba58b}
.process-heading>p:last-child{font-size:14px;color:#b9c0ae;line-height:1.8;margin-top:22px}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:53px;margin-top:49px}
.process-step{position:relative}
.process-number{font-family:var(--serif);font-size:58px;letter-spacing:-2px;font-weight:400;line-height:1;color:#b6c0a7}
.step-rule{display:block;position:absolute;top:37px;left:81px;right:0;height:1px;background:#59614f}
.process-step h3{font-size:12px;letter-spacing:2.4px;text-transform:uppercase;font-weight:700;margin-top:26px}
.phase-theme{display:block;font-family:var(--serif);font-size:29px;line-height:1.3;letter-spacing:-.5px;text-transform:none;font-weight:400;margin-top:13px;color:var(--paper)}
.process-step>p{font-size:13px;line-height:1.9;color:#c2c8b9;margin-top:20px}
.process-step ul{padding:0;list-style:none;margin:22px 0 0;color:#aeb8a0;font-size:10px;line-height:1.9}
.process-step li{padding:5px 0;border-top:1px solid #46503b}
.process-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:48px;padding-top:29px;border-top:1px solid #46503b}
.process-cta p{font-family:var(--serif);font-size:23px;line-height:1.5;font-weight:400;letter-spacing:-.5px}
.process-cta p em{color:#b6c0a7}
.process-cta .button{border-color:#b6c0a7;flex-shrink:0}
.contact-placeholder{margin-top:26px;max-width:290px}
.contact-name{font-size:9px;letter-spacing:1.5px;color:#3f4c32}
.contact-placeholder p{font-size:11px;line-height:1.8;color:#56614c;margin-top:10px}
.field select{width:100%;border:0;border-bottom:1px solid #c9cec0;border-radius:0;background:#f7f7f1;color:var(--ink);padding:13px 12px;font-size:12px;line-height:1.6;min-height:44px;font-family:var(--sans)}
.field select:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.field #additional-notes{min-height:76px}
.footer-nav{display:flex;align-items:center;justify-content:center;gap:37px;margin-top:32px;padding-top:26px;border-top:1px solid var(--line);font-size:10px;color:#5a6550}
.footer-nav>a:hover{color:var(--rust)}
.footer-nav>a:focus-visible{outline-offset:4px}
.footer-bottom{margin-top:26px}
@media(max-width:1100px){.site-header nav{gap:20px}.services-grid{gap:0 29px}.service-item h3{font-size:25px}.service-tags{font-size:7px;letter-spacing:.6px}.project-gallery{gap:16px}.project-caption h3{font-size:19px}.process-grid{gap:35px}.process-cta p{font-size:21px}.process-cta .button{padding:15px 17px;gap:20px}}
@media(max-width:900px) and (min-width:781px){.site-header nav{gap:16px;font-size:11px}.site-header .nav-cta{padding:12px;gap:16px}.service-item h3{font-size:23px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 23px}.project-caption h3{font-size:23px}.process-grid{gap:25px}.process-step>p{font-size:12px}.process-step ul{font-size:9px}.process-cta{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:780px){.hero h1{font-size:clamp(65px,13.5vw,94px)}.site-header nav{gap:14px;font-size:12px}.services-heading{grid-template-columns:1fr;gap:27px}.services-intro p{max-width:590px;font-size:13px}.services-intro p:first-child{font-size:17px;margin-bottom:14px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin-top:35px}.service-item{padding:24px 0 27px}.service-item h3{font-size:25px}.service-item p{font-size:12px}.service-tags{font-size:7px;letter-spacing:.5px}.services-bottom{padding-top:21px}.services-bottom .text-link{font-size:11px;gap:14px}.gallery-heading{text-align:left}.gallery-heading .eyebrow{justify-content:flex-start}.gallery-heading>p:last-child{font-size:13px;margin-top:20px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 19px;margin-top:32px}.project-caption h3{font-size:23px}.gallery-disclosure{text-align:left;font-size:10px;margin-top:29px}.process-grid{grid-template-columns:1fr;gap:30px;margin-top:33px}.process-step{display:grid;grid-template-columns:63px 1fr;gap:0 19px;border-top:1px solid #46503b;padding-top:27px}.process-step:first-child{border-top:0;padding-top:0}.process-number{grid-row:1/4;font-size:49px}.step-rule{display:none}.process-step h3{margin-top:5px;font-size:12px}.process-step>p{grid-column:2;margin-top:17px;font-size:13px;max-width:490px}.process-step ul{grid-column:2;margin-top:17px;font-size:10px;max-width:490px}.process-heading>p:last-child{font-size:13px;margin-top:20px}.process-cta{flex-direction:column;align-items:flex-start;gap:21px;margin-top:35px;padding-top:26px}.process-cta p{font-size:22px}.contact-placeholder{max-width:490px;margin-top:21px}.footer-nav{justify-content:flex-start;gap:25px;flex-wrap:wrap;margin-top:27px;padding-top:24px}}
@media(max-width:430px){.hero h1{font-size:clamp(52px,16vw,65px)}.chapter-strip{gap:11px;font-size:7px;letter-spacing:1.1px}.chapter-strip .small-star{font-size:13px}.services-grid{grid-template-columns:1fr}.service-item h3{font-size:28px}.service-item p{font-size:13px;max-width:340px}.service-tags{font-size:8px;letter-spacing:.7px}.services-bottom{align-items:flex-start;flex-direction:column;gap:14px}.project-gallery{gap:24px 13px}.project-caption>span{font-size:7px;letter-spacing:.7px}.project-caption h3{font-size:19px}.photo-arrow{width:28px;height:28px;bottom:9px;right:9px;font-size:15px}.process-step{grid-template-columns:48px 1fr;gap:0 17px}.process-number{font-size:43px}.process-cta p{font-size:20px}.footer-nav{gap:20px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.project-photo img,.photo-arrow{transition:none}}
