:root{--ink:#1c1f1b;--paper:#f1eee6;--orange:#ee6840;--muted:#736f67;--line:#cbc6bc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.site-header{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#f5f2eb;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:14px}.brand>span{background:var(--ink);color:white;width:42px;height:42px;display:grid;place-items:center;font:600 18px "IBM Plex Mono"}.brand strong{letter-spacing:.2em;font-size:17px}.brand small{display:block;font:600 7px "IBM Plex Mono";letter-spacing:.22em;margin-top:4px}.site-header nav{display:flex;gap:32px;text-transform:uppercase;font:600 10px "IBM Plex Mono";letter-spacing:.12em}.site-header nav a:hover{color:var(--orange)}.header-call{border-left:1px solid #d7d2c8;padding-left:38px;text-align:center}.header-call small{display:block;text-transform:uppercase;font:600 9px "IBM Plex Mono";letter-spacing:.16em;margin-bottom:7px}.header-call strong{font-size:17px}.hero{min-height:740px;position:relative;color:white;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background:linear-gradient(90deg,#1c1f1bf5 0%,#1c1f1bc7 42%,#1c1f1b1a 78%),url("https://images.unsplash.com/photo-1590479773265-7464e5d48118?auto=format&fit=crop&w=2000&q=88") center/cover}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:74px 74px}.hero-content{position:relative;z-index:1;padding:55px 5vw;max-width:770px}.kicker{text-transform:uppercase;font:600 10px "IBM Plex Mono";letter-spacing:.18em;display:flex;align-items:center;gap:12px;margin:0 0 30px}.kicker i{width:30px;height:2px;background:var(--orange)}h1,h2{font-weight:500;line-height:.94;letter-spacing:-.05em;margin:0}h1{font-size:clamp(65px,7.4vw,112px)}h1 em,h2 em{color:var(--orange);font-style:normal}.hero-copy{font-size:17px;line-height:1.65;color:#d7d5d0;max-width:640px;margin:32px 0}.hero-actions{display:flex;align-items:center;gap:32px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--orange);padding:19px 22px;min-width:230px;text-transform:uppercase;font:600 10px "IBM Plex Mono";letter-spacing:.12em}.btn:hover{filter:brightness(.92)}.text-link{text-transform:uppercase;font:600 10px "IBM Plex Mono";letter-spacing:.12em;border-bottom:1px solid #ffffff70;padding:14px 0}.hero-note{position:absolute;z-index:2;right:5vw;bottom:0;width:365px;background:#171916;border-top:4px solid var(--orange);padding:32px}.hero-note small,.hero-note span{display:block;text-transform:uppercase;font:600 9px "IBM Plex Mono";letter-spacing:.13em;color:#aaa7a0}.hero-note strong{display:block;font-size:18px;line-height:1.5;margin:17px 0 28px}.trust-strip{background:var(--orange);color:white;display:flex;justify-content:space-around;gap:25px;padding:25px 4vw;text-transform:uppercase;font:600 9px "IBM Plex Mono";letter-spacing:.1em}.section{padding:115px 5vw}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.section-heading h2,.about h2,.process h2,.work h2,.cta h2{font-size:clamp(53px,6vw,88px)}.section-heading>p{max-width:410px;color:var(--muted);line-height:1.7}.kicker.dark{color:var(--muted)}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{min-height:355px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;justify-content:flex-end}.service-grid article>b{position:absolute;top:28px;font:600 10px "IBM Plex Mono";color:var(--orange)}.service-grid article>span{position:absolute;right:28px;top:26px;text-transform:uppercase;font:600 8px "IBM Plex Mono";letter-spacing:.1em;color:var(--muted)}.service-grid h3,.steps h3{font-size:30px;margin:0 0 13px}.service-grid p{color:var(--muted);line-height:1.65;max-width:480px}.service-grid a{text-transform:uppercase;font:600 9px "IBM Plex Mono";letter-spacing:.1em;margin-top:22px}.work{background:var(--ink);color:white;display:grid;grid-template-columns:.7fr 1.3fr;min-height:710px}.work-copy{padding:95px 5vw}.work-copy p:not(.kicker){color:#b4b1aa;line-height:1.7;margin:30px 0}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#111}.comparison figure{margin:0;position:relative;min-height:710px;overflow:hidden}.project-image{position:absolute;inset:0;background-size:cover;background-position:center}.before{background-image:url("/public/projects/sidewalk-before.jpg")}.after{background-image:url("/public/projects/sidewalk-after.jpg")}.comparison figcaption{position:absolute;left:20px;top:20px;background:var(--paper);color:var(--ink);padding:9px 13px;text-transform:uppercase;font:600 9px "IBM Plex Mono";letter-spacing:.1em}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-photo{min-height:650px;background:url("https://images.unsplash.com/photo-1581094794329-c8112a89af12?auto=format&fit=crop&w=1200&q=85") center/cover;filter:saturate(.7)}.about-copy>p:not(.kicker){color:var(--muted);line-height:1.8}.region-list{border-top:1px solid var(--line);margin-top:32px;padding-top:22px;display:flex;flex-direction:column;gap:12px;text-transform:uppercase;font:600 9px "IBM Plex Mono";letter-spacing:.1em}.region-list span:before{content:"+";color:var(--orange);margin-right:12px}.process{background:#ded9cf}.process>h2{max-width:850px}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;border-top:1px solid #aaa49a;border-left:1px solid #aaa49a}.steps article{padding:26px;min-height:240px;border-right:1px solid #aaa49a;border-bottom:1px solid #aaa49a}.steps b{font:600 10px "IBM Plex Mono";color:var(--orange)}.steps h3{margin-top:60px}.steps p{color:var(--muted);line-height:1.6;font-size:13px}.cta{text-align:center;background:var(--orange);color:white;padding:115px 5vw}.cta .kicker{justify-content:center}.cta .kicker i{background:#632a1b}.cta h2 em{color:#2f251f}.cta>p:not(.kicker){margin:30px auto;color:#ffe8df}.btn.light{background:var(--ink)}footer{background:#141613;color:white;padding:70px 5vw 28px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px}.brand.inverted>span{background:var(--orange)}footer>p{color:#8f8c85}footer>a:not(.brand){font-weight:700}footer>div{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:22px;margin-top:35px;color:#6f6d68;text-transform:uppercase;font:500 8px "IBM Plex Mono";letter-spacing:.1em}
@media(max-width:850px){.site-header nav{display:none}.hero-note{display:none}.hero{min-height:680px}.section-heading{align-items:start;flex-direction:column;gap:25px}.work{grid-template-columns:1fr}.comparison figure{min-height:500px}.about{grid-template-columns:1fr}.about-photo{min-height:500px}.steps{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr auto}footer>p{display:none}}
@media(max-width:560px){.site-header{height:76px;padding:0 20px}.header-call small{display:none}.header-call{padding-left:15px}.header-call strong{font-size:13px}.brand>span{width:36px;height:36px}.brand strong{font-size:13px}.hero{min-height:690px;align-items:end}.hero-image{background-position:60% center}.hero-content{padding:80px 22px}.hero h1{font-size:63px}.hero-actions{flex-direction:column;align-items:flex-start}.trust-strip{overflow:auto;justify-content:flex-start;white-space:nowrap;padding:20px}.section{padding:82px 22px}.section-heading h2,.about h2,.process h2,.work h2,.cta h2{font-size:51px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:300px}.work-copy{padding:80px 22px}.comparison{grid-template-columns:1fr}.comparison figure{min-height:380px}.about{padding-left:22px;padding-right:22px}.about-photo{min-height:420px}.steps{grid-template-columns:1fr}.steps article{min-height:190px}.steps h3{margin-top:35px}.cta{padding:85px 22px}footer{grid-template-columns:1fr;padding:60px 22px 25px}footer>a:not(.brand){margin-top:20px}}

/* Interactive before-and-after comparison */
.comparison.comparison-slider{display:block;position:relative;min-height:710px;overflow:hidden;background:#111;isolation:isolate}
.comparison-slider .comparison-image{position:absolute;inset:0;background-size:cover;background-position:center}
.comparison-slider .before{z-index:1;width:100%;clip-path:inset(0 calc(100% - var(--position)) 0 0);will-change:clip-path}.comparison-slider .after{z-index:0;width:100%;clip-path:none}
.comparison-slider .comparison-label{position:absolute;top:20px;z-index:3;min-width:150px;padding:12px 15px;text-transform:uppercase;pointer-events:none;box-shadow:0 8px 24px #0005}.comparison-slider .comparison-label strong,.comparison-slider .comparison-label small{display:block}.comparison-slider .comparison-label strong{font:700 13px "IBM Plex Mono";letter-spacing:.15em}.comparison-slider .comparison-label small{margin-top:5px;font:600 7px "IBM Plex Mono";letter-spacing:.09em;opacity:.78}
.comparison-slider .label-after{left:20px;background:#ee6840ed;color:white;border-left:4px solid white}.comparison-slider .label-before{right:20px;background:#1c1f1be8;color:white;border-right:4px solid #b7b2a9;text-align:right}
.comparison-divider{position:absolute;z-index:3;top:0;bottom:0;left:var(--position);width:0;pointer-events:none}
.comparison-divider span{position:absolute;left:0;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:white;border:3px solid white;font-size:19px;box-shadow:0 5px 20px #0008}
.comparison-divider svg{width:23px;height:23px;display:block;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.comparison-range{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.comparison-slider:focus-within .comparison-divider span{outline:3px solid white;outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.comparison.comparison-slider{min-height:500px}}
@media(max-width:560px){.comparison.comparison-slider{min-height:390px}.comparison-slider .comparison-label{top:14px;min-width:124px;padding:10px 11px}.comparison-slider .comparison-label strong{font-size:11px}.comparison-slider .comparison-label small{font-size:6px}.comparison-slider .label-after{left:14px}.comparison-slider .label-before{right:14px}.comparison-divider span{width:42px;height:42px}}

.project-switcher{display:grid;gap:8px;margin:30px 0 34px}.project-option{appearance:none;border:1px solid #ffffff26;background:transparent;color:white;min-height:58px;padding:0 17px;display:flex;align-items:center;gap:15px;text-align:left;cursor:pointer;transition:.2s ease}.project-option:hover,.project-option.is-active{border-color:var(--orange);background:#ffffff0a}.project-option b{color:var(--orange);font:600 9px "IBM Plex Mono"}.project-option span{text-transform:uppercase;font:600 9px "IBM Plex Mono";letter-spacing:.11em}.project-option.is-active:after{content:"Viewing";margin-left:auto;color:#8d8b85;text-transform:uppercase;font:600 8px "IBM Plex Mono";letter-spacing:.1em}.comparison-caption{position:absolute;z-index:3;left:0;right:0;bottom:0;min-height:96px;padding:20px 24px;display:grid;grid-template-columns:1fr auto;align-content:center;background:#f1eee6;color:var(--ink);pointer-events:none}.comparison-caption span{grid-column:1;text-transform:uppercase;color:var(--orange);font:600 8px "IBM Plex Mono";letter-spacing:.12em;margin-bottom:7px}.comparison-caption strong{grid-column:1;font-size:20px}.comparison-caption small{grid-column:2;grid-row:1/3;align-self:center;color:var(--muted);text-transform:uppercase;font:600 8px "IBM Plex Mono";letter-spacing:.1em}.comparison-slider .comparison-image{bottom:96px}.comparison-divider{bottom:96px}.comparison-range{bottom:96px;height:calc(100% - 96px)}
@media(max-width:560px){.comparison-caption{min-height:82px;padding:15px 17px}.comparison-caption small{display:none}.comparison-slider .comparison-image{bottom:82px}.comparison-divider{bottom:82px}.comparison-range{bottom:82px;height:calc(100% - 82px)}}

.estimate{background:#ded9cf;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}.estimate-copy h2{font-size:clamp(53px,6vw,88px)}.estimate-copy>p:not(.kicker){color:var(--muted);line-height:1.8;max-width:520px;margin:30px 0}.estimate-contact{border-top:1px solid #aaa49a;padding-top:24px;margin-top:35px}.estimate-contact small,.estimate-contact a{display:block}.estimate-contact small{text-transform:uppercase;font:600 9px "IBM Plex Mono";letter-spacing:.13em;color:var(--muted);margin-bottom:10px}.estimate-contact a{font-size:25px;font-weight:700}.estimate-form{background:var(--paper);padding:40px}.estimate-form label{display:flex;flex-direction:column;text-transform:uppercase;font:600 9px "IBM Plex Mono";letter-spacing:.1em;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#faf8f3;color:var(--ink);padding:15px;margin-top:9px;font:400 14px "DM Sans",sans-serif;text-transform:none;letter-spacing:normal}.estimate-form textarea{resize:vertical}.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus{outline:2px solid #ee684033;border-color:var(--orange)}.upload-field>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-field>span{border:1px dashed #aaa49a;margin-top:9px;min-height:100px;padding:20px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:pointer;text-align:center}.upload-field>span:hover{border-color:var(--orange);background:#ee684008}.upload-field b{color:var(--orange);font:700 11px "IBM Plex Mono"}.upload-field small{color:var(--muted);font:500 9px "IBM Plex Mono"}.form-submit{border:0;color:white;cursor:pointer;width:100%}.form-status{min-height:20px;margin:14px 0 0;text-align:center;color:var(--orange);font-size:13px}.form-disclaimer{display:block;text-align:center;color:var(--muted);line-height:1.5;margin-top:4px}.estimate-form.is-sent .form-status{color:#376344}
@media(max-width:850px){.estimate{grid-template-columns:1fr}.estimate-form{padding:30px}}
@media(max-width:560px){.form-row{grid-template-columns:1fr}.estimate-form{padding:24px 18px}.estimate-copy h2{font-size:51px}}

/* Hudelle owner-approved brand direction */
:root{--ink:#34321f;--paper:#f5edcf;--orange:#ef3335;--muted:#706b56;--line:#cfc29b;--stone:#e6dbb7}
body{background:var(--paper)}
.site-header{height:104px;background:#1d1e1b;color:white;border-bottom:3px solid var(--orange)}
.brand-logo{min-width:0}.brand-logo img{display:block;width:218px;height:82px;object-fit:contain}.site-header nav a.active,.site-header nav a:hover{color:#ff4b4d}.header-call{border-color:#ffffff26}.header-call small{color:#c9c4ae}
.service-grid-three{grid-template-columns:repeat(3,1fr)}
.service-grid-three article{min-height:390px}
.cta{background:var(--orange)}.cta .kicker i{background:#811719}.cta h2 em{color:#312f1e}
footer{background:#1d1e1b}.footer-logo img{width:220px;height:135px}.footer-logo{align-self:center}

.page-hero{min-height:590px;padding:100px 6vw;display:flex;align-items:center;color:white;background:#1d1e1b;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:72px 72px}.page-hero:after{content:"";position:absolute;right:-8vw;bottom:-220px;width:590px;height:590px;border:2px solid #ef333566;border-radius:50%;box-shadow:0 0 0 65px #ef333512,0 0 0 130px #ef33350a}.page-hero>div{position:relative;z-index:1;max-width:900px}.page-hero h1{font-size:clamp(66px,8vw,124px)}.page-hero>div>p:last-child{max-width:650px;margin:34px 0 0;color:#d5d0bd;font-size:18px;line-height:1.7}.page-hero .kicker{color:#fff}.page-hero .kicker i{background:var(--orange)}
.service-detail{display:grid;grid-template-columns:.25fr 1fr;gap:7vw}.service-detail.service-alt{background:#e6dbb7}.service-number{font:700 clamp(65px,9vw,140px)/.8 "IBM Plex Mono";color:#ef33352a}.service-detail>div:last-child{max-width:850px}.service-detail h2{font-size:clamp(53px,6vw,88px)}.service-detail>div>p:not(.kicker){color:var(--muted);font-size:17px;line-height:1.8;max-width:720px;margin:30px 0}.service-detail ul{list-style:none;margin:35px 0 0;padding:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.service-detail li{padding:18px 12px;border-bottom:1px solid var(--line);font:600 11px "IBM Plex Mono";text-transform:uppercase;letter-spacing:.06em}.service-detail li:before{content:"+";color:var(--orange);margin-right:12px}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.about-story h2,.service-area-panel h2{font-size:clamp(53px,6vw,88px)}.about-story-copy{border-left:1px solid var(--line);padding-left:6vw}.about-story-copy p{font-size:18px;line-height:1.8;color:var(--muted)}.values{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr)}.values article{padding:35px;border:1px solid var(--line);min-height:280px}.values article+article{border-left:0}.values b{color:var(--orange);font:700 10px "IBM Plex Mono"}.values h3{font-size:27px;margin:75px 0 16px}.values p{color:var(--muted);line-height:1.7}.service-area-panel{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#1d1e1b;color:white}.service-area-panel .kicker{color:#c4bfaa}.region-list.large{border-color:#ffffff35}.region-list.large span{font-size:18px;padding:9px 0}
.gallery-page{display:flex;flex-direction:column;gap:110px}.gallery-project{display:grid;grid-template-columns:1.35fr .65fr;gap:5vw;align-items:end}.gallery-project:nth-child(even){grid-template-columns:.65fr 1.35fr}.gallery-project:nth-child(even) .gallery-images{order:2}.gallery-images{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#1d1e1b}.gallery-images figure{margin:0;position:relative;min-height:470px;overflow:hidden}.gallery-images img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.gallery-images figcaption{position:absolute;left:15px;top:15px;background:#1d1e1be8;color:white;padding:10px 12px;text-transform:uppercase;font:700 8px "IBM Plex Mono";letter-spacing:.08em}.gallery-project>div:last-child>span{color:var(--orange);font:700 11px "IBM Plex Mono"}.gallery-project h2{font-size:clamp(42px,5vw,72px);margin:20px 0}.gallery-project>div:last-child>p{color:var(--muted);line-height:1.7}.media-band{padding:100px 7vw;background:#e6dbb7}.media-band h2{font-size:clamp(53px,6vw,88px)}.media-band>p:last-child{color:var(--muted);font-size:17px;margin-top:25px}

@media(max-width:1000px){.service-grid-three{grid-template-columns:1fr}.service-grid-three article{min-height:310px;border-right:1px solid var(--line)!important}.site-header nav{gap:20px}.brand-logo img{width:185px}.gallery-project,.gallery-project:nth-child(even){grid-template-columns:1fr}.gallery-project:nth-child(even) .gallery-images{order:0}}
@media(max-width:850px){.site-header{height:auto;min-height:86px;flex-wrap:wrap;padding:7px 20px 0}.brand-logo img{width:165px;height:68px}.site-header nav{display:flex;order:3;width:100%;justify-content:flex-start;gap:25px;overflow-x:auto;padding:13px 0 14px;border-top:1px solid #ffffff20;white-space:nowrap}.site-header nav a{font-size:9px}.page-hero{min-height:520px;padding:80px 24px}.service-detail,.about-story,.service-area-panel{grid-template-columns:1fr}.service-number{font-size:70px}.about-story-copy{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.values{grid-template-columns:1fr}.values article+article{border-left:1px solid var(--line);border-top:0}.gallery-images figure{min-height:390px}}
@media(max-width:560px){.page-hero h1{font-size:61px}.service-detail ul{grid-template-columns:1fr}.gallery-images{grid-template-columns:1fr}.gallery-images figure{min-height:330px}.gallery-page{gap:75px}.footer-logo img{width:190px;height:120px}}

/* Use Hudelle's real project photography instead of generic stock imagery. */
.hero-image{background-image:linear-gradient(90deg,#1c1f1bf5 0%,#1c1f1bd8 44%,#1c1f1b42 82%),url("/public/projects/sidewalk-after.jpg");background-position:center;background-size:cover}
.about-photo{background-image:url("/public/projects/repair-after.png");filter:saturate(.85)}

/* Owner-supplied comparison pairs. The visible left side is After; right is Before. */
.comparison-slider .comparison-image.supplied-pair{background-image:url("/public/gallery/sidewalk-leveling.jpg");background-repeat:no-repeat}
.comparison-slider.pair-stacked .comparison-image.supplied-pair{background-size:auto 200%}
.comparison-slider.pair-stacked .before.supplied-pair{background-position:center bottom}
.comparison-slider.pair-stacked .after.supplied-pair{background-position:center top}
.comparison-slider.pair-side-by-side .comparison-image.supplied-pair{background-size:200% auto}
.comparison-slider.pair-side-by-side .before.supplied-pair{background-position:right center}
.comparison-slider.pair-side-by-side .after.supplied-pair{background-position:left center}

/* Owner-supplied project gallery */
.complete-system{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--stone);align-items:start}.complete-system h2{font-size:clamp(48px,5.4vw,82px)}.complete-system>div:last-child{border-left:1px solid var(--line);padding-left:6vw}.complete-system>div:last-child p{margin:0 0 25px;color:var(--muted);font-size:17px;line-height:1.8}.complete-system strong{color:var(--ink)}
.field-gallery{background:#1d1e1b}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-card{margin:0;background:var(--paper);min-width:0}.photo-card-wide{grid-column:span 2}.photo-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.photo-card-wide img{aspect-ratio:2/1}.photo-card figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px}.photo-card figcaption b{font-size:14px}.photo-card figcaption span{color:var(--orange);text-transform:uppercase;font:700 8px "IBM Plex Mono";letter-spacing:.1em;white-space:nowrap}
.video-gallery{background:var(--stone)}.video-heading{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:end;margin-bottom:50px}.video-heading h2{font-size:clamp(53px,6vw,88px)}.video-heading>p:last-child{color:var(--muted);line-height:1.7;max-width:420px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.video-grid figure{margin:0;background:#1d1e1b;color:white}.video-grid video{display:block;width:100%;aspect-ratio:9/16;max-height:560px;background:#0e0f0d;object-fit:contain}.video-grid figcaption{padding:15px 17px;text-transform:uppercase;font:600 9px "IBM Plex Mono";letter-spacing:.1em;color:#cbc6bc}
@media(max-width:850px){.complete-system,.video-heading{grid-template-columns:1fr}.complete-system>div:last-child{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.photo-grid,.video-grid{grid-template-columns:repeat(2,1fr)}.photo-card-wide{grid-column:span 2}}
@media(max-width:560px){.photo-grid,.video-grid{grid-template-columns:1fr}.photo-card-wide{grid-column:span 1}.photo-card-wide img,.photo-card img{aspect-ratio:1/1}.video-grid video{max-height:none}.photo-card figcaption{padding:14px}.field-gallery{padding-left:14px;padding-right:14px}}
