/* The lower homepage: editorial work, an open process, and real people. */
/* #main is the single vertical scroll surface; html/body are intentionally locked.
   Native snap allows free movement inside a snap area taller than the viewport.
   Do not give the timeline, plan cards, or contact form their own scrollbars. */
.home-refined #main{scroll-snap-type:y mandatory;--home-page-height:calc(100dvh - 100px)}
.home-refined .hero-phones{height:var(--home-page-height);min-height:0}
.home-refined #home-build{min-height:var(--home-page-height)}
@media(max-width:680px){.home-refined #main{--home-page-height:calc(100dvh - 76px)}}
.home-refined #home-spec{padding-block:42px 34px;min-height:calc(100svh - 100px);scroll-snap-stop:normal;background:#111111}
.home-refined #home-spec h2{font:600 clamp(36px,4.3vw,66px)/1.02 Arial,sans-serif;letter-spacing:-.055em;text-transform:none}.home-refined #home-spec .eyebrow{font:600 10px/1.4 Arial,sans-serif;letter-spacing:.14em}.home-refined #home-spec .spec-gallery{gap:23px}.home-refined #home-spec .spec-screen{max-height:38dvh;border-radius:10px}.home-refined #home-spec .spec-gallery figcaption{color:#bcbcbc;font-size:9px}.home-refined #home-spec .slide-actions{padding-top:14px}.home-refined #home-spec .button{border-radius:3px;text-transform:none;font-size:12px;min-height:49px;padding:14px 18px}.home-refined #home-spec .spec-note{margin:12px 0}
.home-refined .process-timeline{display:block;overflow:visible;min-height:0;padding:95px max(48px,calc((100vw - 1400px)/2));background:#e6e6e6;color:#191919;scroll-snap-stop:normal}.timeline-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:85px;align-items:start}.timeline-intro{position:sticky;top:55px}.timeline-intro .eyebrow{font:600 10px/1.4 Arial,sans-serif;letter-spacing:.14em;color:#666;margin-bottom:23px}.timeline-intro h2{font:600 clamp(43px,4.7vw,71px)/1.02 Arial,sans-serif;letter-spacing:-.06em;text-transform:none;margin:0 0 25px}.timeline-intro h2 span{color:#878787}.timeline-intro>p:not(.eyebrow){font:400 15px/1.7 Arial,sans-serif;color:#616161;max-width:335px;margin:0 0 22px}.timeline-counter{display:flex;align-items:baseline;gap:8px;border-top:1px solid #b2b2b2;padding-top:24px;margin:38px 0 35px;max-width:280px}.timeline-counter span:first-child{font:400 76px/1 Arial,sans-serif;letter-spacing:-.07em}.timeline-counter span:last-child{font-size:13px;color:#737373}.timeline-intro .text-link{display:inline-flex;align-items:center;gap:25px;font-size:12px}.timeline-stages{list-style:none;padding:0 0 0 25px;margin:0}.timeline-stage{position:relative;display:grid;grid-template-columns:1fr;padding:10px 0 85px 40px;border-left:1px solid #b5b5b5;min-height:310px}.timeline-stage:last-child{padding-bottom:15px;min-height:0}.timeline-dot{position:absolute;left:-20px;top:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #969696;background:#e6e6e6;border-radius:50%;font:11px/1 Arial,sans-serif;transition:background .3s,color .3s,border-color .3s}.timeline-stage.is-active .timeline-dot{background:#202020;color:#f2f2f2;border-color:#202020}.timeline-label{font:600 9px/1.5 Arial,sans-serif;letter-spacing:.15em;color:#727272;margin:0 0 18px}.timeline-stage h3{font:500 clamp(28px,3vw,42px)/1.08 Arial,sans-serif;letter-spacing:-.05em;margin:0 0 21px;max-width:440px}.timeline-stage p:not(.timeline-label){font:400 14px/1.75 Arial,sans-serif;color:#545454;max-width:435px;margin:0 0 20px}.timeline-output{border-top:1px solid #bfbfbf;padding-top:17px;max-width:435px}.timeline-output>span{display:block;font:9px/1.5 Arial,sans-serif;letter-spacing:.14em;color:#7b7b7b;margin-bottom:8px}.timeline-output strong{font:500 14px/1.6 Arial,sans-serif}.timeline-presentation{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#202020;color:#efefef;padding:26px 20px;max-width:435px;margin:28px 0 13px;border-radius:3px}.timeline-presentation span{font:600 9px/1.4 Arial,sans-serif;letter-spacing:.07em}.timeline-presentation i{font-style:normal;color:#a4a4a4}.timeline-stage .timeline-context{font-size:11px!important;color:#717171!important}.timeline-routine{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.timeline-routine span{border:1px solid #aaa;font:500 11px/1.4 Arial,sans-serif;padding:10px 12px;border-radius:3px}.timeline-ongoing .text-link{display:inline-flex;align-items:center;gap:24px;font-size:12px}
.business-fit{min-height:0;background:#111111;padding:80px 0 65px;scroll-snap-stop:normal}.fit-heading h2{font:600 clamp(42px,5.8vw,85px)/1.01 Arial,sans-serif;letter-spacing:-.06em;text-transform:none;margin:0 0 50px}.fit-heading h2 span{color:#979797}.fit-heading .eyebrow{font:600 10px/1.4 Arial,sans-serif;letter-spacing:.14em;color:#a8a8a8;margin-bottom:25px}.fit-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.fit-options article{border-top:1px solid #545454;padding-top:22px}.fit-options article>span{font:10px/1.5 Arial,sans-serif;letter-spacing:.09em;color:#959595}.fit-options h3{font:500 25px/1.13 Arial,sans-serif;letter-spacing:-.04em;margin:28px 0 19px;max-width:240px}.fit-options p{font:400 14px/1.7 Arial,sans-serif;color:#a6a6a6;max-width:350px;margin:0}.fit-footer{display:flex;justify-content:space-between;align-items:end;gap:35px;border-top:1px solid #545454;padding-top:28px;margin-top:45px}.fit-footer p{font:400 14px/1.7 Arial,sans-serif;color:#a6a6a6;margin:0}.fit-footer strong{font-weight:500;color:#d2d2d2}.fit-footer .text-link{display:inline-flex;align-items:center;gap:25px;font-size:12px;flex-shrink:0}
.home-refined #about.people-preview{display:block;min-height:0;background:#1c1c1c;padding:76px 0;scroll-snap-stop:normal}.people-preview-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.people-preview .eyebrow{font:600 10px/1.4 Arial,sans-serif;letter-spacing:.14em;color:#a9a9a9;margin-bottom:22px}.people-preview h2{font:600 clamp(34px,3.65vw,53px)/1.06 Arial,sans-serif;letter-spacing:-.05em;text-transform:none;margin:0 0 26px}.people-preview h2 span{color:#999999}.people-preview p:not(.eyebrow){font:400 14px/1.7 Arial,sans-serif;color:#b3b3b3;max-width:360px;margin:0 0 25px}.people-preview .text-link{display:inline-flex;align-items:center;gap:35px;font-size:12px}.people-pictures{display:grid;grid-template-columns:1fr 1fr;gap:20px}.people-pictures figure{margin:0;min-width:0}.people-pictures img{display:block;width:100%;height:260px;object-fit:cover;object-position:50% 20%;filter:grayscale(1)}.people-pictures figure:last-child{padding-top:45px}.people-pictures figcaption{padding-top:17px}.people-pictures strong,.people-pictures span{display:block}.people-pictures strong{font:500 19px/1.2 Arial,sans-serif;letter-spacing:-.035em}.people-pictures span{font-size:10px;color:#a8a8a8;margin-top:6px;line-height:1.5}
.contact-refined{padding:75px 0;background:#e6e6e6;min-height:0;scroll-snap-stop:normal}.contact-refined .contact-grid{grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.contact-story{position:sticky;top:45px}.contact-refined .eyebrow{font:600 10px/1.4 Arial,sans-serif;letter-spacing:.14em;color:#6d6d6d;margin-bottom:25px}.contact-refined h2{font:600 clamp(49px,6.5vw,93px)/.99 Arial,sans-serif;letter-spacing:-.065em;color:#171717;text-transform:none;margin:0 0 28px}.contact-refined h2 span{color:#838383}.contact-refined .contact-intro{font:400 16px/1.7 Arial,sans-serif;color:#535353;max-width:330px;margin:0 0 35px}.contact-next{border-top:1px solid #a8a8a8;max-width:330px;padding-top:20px;margin-bottom:24px}.contact-next>span{font:600 9px Arial,sans-serif;letter-spacing:.14em;color:#6f6f6f}.contact-next p{font:400 13px/1.7 Arial,sans-serif;color:#5c5c5c;margin:14px 0 0}.contact-email{display:inline-flex;align-items:center;gap:15px;font-size:11px;color:#4d4d4d;text-decoration:underline;text-underline-offset:4px}.contact-email .line-arrow{width:16px;height:16px}
.contact-refined #project-form{padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:#202020}.contact-refined #project-form label{font:500 12px/1.4 Arial,sans-serif;text-transform:none;letter-spacing:0;color:#353535;margin-bottom:18px}.contact-refined #project-form input,.contact-refined #project-form select,.contact-refined #project-form textarea{background:#f0f0f0;color:#202020;border:1px solid #aeaeae;border-radius:3px;font-size:16px;padding:13px 14px;color-scheme:light;margin-top:8px}.contact-refined #project-form input::placeholder,.contact-refined #project-form textarea::placeholder{color:#878787}.contact-refined #project-form input:focus,.contact-refined #project-form select:focus,.contact-refined #project-form textarea:focus{border-color:#3f3f3f;box-shadow:0 0 0 3px #48543815}.contact-refined #project-form textarea{min-height:120px}.contact-refined #project-form .primary{border-radius:3px;background:#222222;color:#fff;min-height:53px;font-size:12px;letter-spacing:.02em;padding:15px 18px}.contact-refined #project-form .form-note,.contact-refined #project-form #form-status{color:#555555;font-size:11px}.contact-refined #form-status a{color:#2b2b2b}.contact-options{border-top:1px solid #b2b2b2;margin:4px 0 20px}.contact-options summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font:500 12px/1.5 Arial,sans-serif;padding:17px 0;color:#545454}.contact-options summary::-webkit-details-marker{display:none}.contact-options summary span{font-size:20px;font-weight:400}.contact-options[open] summary span{transform:rotate(45deg)}.contact-options .form-row:last-child{margin-bottom:0}.contact-refined #project-form .optional{font-size:10px;color:#696969}
.home-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:28px;font-size:12px;color:#bababa}.home-footer>a{font-weight:600;color:#e2e2e2}.home-footer>div{display:flex;gap:23px}
@media(max-width:1000px){.timeline-layout{gap:50px}.timeline-intro h2{font-size:44px}.people-preview-grid{gap:40px}.people-pictures img{height:220px}.people-pictures{gap:14px}.contact-refined .contact-grid{gap:45px}.fit-options{gap:24px}.fit-options h3{font-size:23px}}
@media(max-width:740px){.home-refined .process-timeline{padding:50px 25px}.timeline-layout{grid-template-columns:1fr;gap:44px}.timeline-intro{position:static}.timeline-intro h2{font-size:clamp(45px,8.5vw,67px)}.timeline-intro>p:not(.eyebrow){max-width:450px}.timeline-counter{display:none}.timeline-stages{padding-left:20px}.timeline-stage{padding:6px 0 55px 33px;min-height:0}.timeline-stage h3{font-size:34px}.timeline-stage p:not(.timeline-label){font-size:14px;max-width:600px}.timeline-dot{width:34px;height:34px;left:-17px;font-size:10px}.timeline-output{max-width:none}.timeline-presentation{max-width:none}.business-fit{padding:55px 0}.fit-options{grid-template-columns:1fr;gap:29px}.fit-options h3{margin:18px 0 14px;max-width:none;font-size:27px}.fit-options p{max-width:600px}.fit-heading h2{font-size:clamp(39px,8.2vw,59px);margin-bottom:34px}.fit-heading .eyebrow{font-size:9px;line-height:1.6}.fit-footer{flex-direction:column;align-items:flex-start;gap:22px;margin-top:32px}.fit-footer p{font-size:13px}.people-preview-grid{grid-template-columns:1fr;gap:38px}.people-preview h2{font-size:40px}.people-preview p:not(.eyebrow){max-width:550px}.home-refined #about.people-preview{padding:50px 0}.people-pictures img{height:310px}.people-pictures figure:last-child{padding-top:30px}.contact-refined .contact-grid{grid-template-columns:1fr;gap:38px}.contact-story{position:static}.contact-refined{padding:50px 0}.contact-refined h2{font-size:64px}.contact-refined .contact-intro{max-width:440px;font-size:15px;margin-bottom:22px}.contact-next{max-width:440px;margin-bottom:18px}.contact-refined #project-form .form-row{grid-template-columns:1fr 1fr;gap:14px}.contact-refined #project-form label{margin-bottom:16px}.home-refined #home-spec .spec-screen{max-height:none}}
@media(max-width:560px){.business-fit .wrap,.people-preview .wrap,.contact-refined .wrap,.home-footer{width:calc(100% - 40px)}.home-refined #home-spec{padding:31px 20px 27px;min-height:0}.home-refined #home-spec h2{font-size:37px}.home-refined #home-spec .spec-gallery{gap:15px}.home-refined #home-spec .spec-gallery figure{flex-basis:61%}.home-refined #home-spec .spec-intro>p:last-child{font-size:13px}.home-refined #home-spec .button{width:100%;font-size:11px}.home-refined .process-timeline{padding:42px 20px}.timeline-intro h2{font-size:49px}.timeline-stage{padding-left:30px;padding-bottom:47px}.timeline-stage h3{font-size:31px}.timeline-presentation{padding:23px 12px;gap:5px}.timeline-presentation span{font-size:8px;letter-spacing:0}.timeline-routine{gap:6px}.timeline-routine span{font-size:10px;padding:9px}.people-preview h2{font-size:34px}.people-pictures img{height:210px}.people-pictures strong{font-size:18px}.people-pictures span{font-size:9px}.people-pictures{gap:14px}.contact-refined h2{font-size:62px}.contact-refined #project-form .form-row{grid-template-columns:1fr;gap:0}.contact-refined #project-form label{font-size:12px}.contact-refined #project-form input,.contact-refined #project-form select{padding:14px}.home-footer{font-size:10px;padding-block:24px}.home-footer>div{gap:17px}}
@media(prefers-reduced-motion:reduce){.timeline-dot{transition:none}}
.timeline-samples{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:28px 0 16px;max-width:435px;padding:20px 21px 14px;background:#262626;border-radius:3px}.timeline-samples figure{margin:0;min-width:0}.timeline-samples figure:last-child{padding-top:22px}.timeline-samples figure>div{height:218px;overflow:hidden;border:1px solid #777;border-radius:7px}.timeline-samples img{display:block;width:100%;height:auto}.timeline-samples figcaption{font:8px/1.5 Arial,sans-serif;letter-spacing:.05em;color:#bfbfbf;margin-top:9px}.timeline-stage .timeline-sample-label{font-size:11px!important;color:#737373!important;line-height:1.6!important;max-width:400px}@media(max-width:560px){.timeline-samples{padding:15px 13px 12px;gap:12px}.timeline-samples figure>div{height:174px}.timeline-samples figcaption{font-size:7px;letter-spacing:0}.timeline-samples figure:last-child{padding-top:18px}}

/* Readability pass: supporting copy stays comfortable throughout the journey. */
.home-refined .timeline-intro>p:not(.eyebrow),
.home-refined .timeline-stage p:not(.timeline-label),
.home-refined .fit-options p,
.home-refined .people-preview p:not(.eyebrow),
.home-refined .contact-next p{font-size:16px;line-height:1.7}
.home-refined .timeline-intro h2 span{color:#808080}
.home-refined .timeline-label,.home-refined .timeline-output>span{font-size:11px;line-height:1.55;color:#666666}
.home-refined .timeline-counter span:last-child{color:#666666}
.home-refined .timeline-intro .text-link,.home-refined .timeline-ongoing .text-link{font-size:14px;min-height:44px}
.home-refined .timeline-routine span{font-size:12px;line-height:1.5}
.home-refined .fit-footer p{font-size:15px;line-height:1.65}
.home-refined .fit-footer .text-link,.home-refined .people-preview .text-link{font-size:14px;min-height:44px}
.home-refined .people-pictures span{font-size:12px;line-height:1.55}
.home-refined .contact-email{font-size:14px;line-height:1.6;min-height:44px}
.home-refined .contact-next>span{font-size:11px;line-height:1.5}
.home-refined .contact-refined #project-form label{font-size:14px;line-height:1.45}
.home-refined .contact-refined #project-form .optional{font-size:12px;line-height:1.5}
.home-refined .contact-refined #project-form input::placeholder,
.home-refined .contact-refined #project-form textarea::placeholder{color:#6b6b6b}
.home-refined .contact-refined #project-form .form-note,
.home-refined .contact-refined #project-form #form-status{font-size:14px;line-height:1.65}
.home-refined .contact-options summary{font-size:14px;min-height:54px}
.home-refined .contact-refined #project-form .primary{font-size:14px;min-height:56px}
.home-refined .home-footer{flex-wrap:wrap;gap:8px 28px;font-size:13px}
.home-refined .home-footer>div{flex-wrap:wrap;gap:8px 24px}
.home-refined .home-footer a{display:inline-flex;align-items:center;min-height:44px}

/* A two-tone keyboard ring remains visible on both light and dark sections. */
.home-refined :is(a,button,summary):focus-visible,
.home-refined .sw-showcase .sw-demo button:focus-visible{
 outline:2px solid #fff;
 outline-offset:3px;
 box-shadow:0 0 0 5px #111;
}
@media(forced-colors:active){
 .home-refined :is(a,button,summary):focus-visible,
 .home-refined .sw-showcase .sw-demo button:focus-visible{outline:2px solid Highlight;box-shadow:none}
}
