.hero{background-image:linear-gradient(105deg,rgba(14,14,14,.97) 0%,rgba(14,14,14,.84) 52%,rgba(14,14,14,.38) 100%),url("assets/projects/IMG_4629.webp")}
.services{background:#f4f3f0}.services .section-intro{max-width:650px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #d8d5cf;border-left:1px solid #d8d5cf}.service-grid .service-card{display:grid;grid-template-columns:48px 1fr;gap:22px;min-height:220px;padding:34px;border-right:1px solid #d8d5cf;border-bottom:1px solid #d8d5cf;background:#fff}.service-grid .service-card>span{font-size:.78rem;font-weight:800;color:#c92a2a}.service-grid .service-card h3{margin:0 0 14px;font-size:clamp(1.6rem,2.6vw,2.15rem)}.service-grid .service-card p{max-width:430px;margin:0;color:#5f5f5f;line-height:1.65}.projects{padding-bottom:clamp(70px,9vw,130px)}.gallery-group{margin-top:52px}.gallery-heading{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start;margin-bottom:18px;color:#fff}.gallery-heading>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);font-size:.72rem;font-weight:800;color:#ef4b4b}.gallery-heading h3{margin:0 0 5px;font-size:clamp(1.35rem,2.3vw,2rem)}.gallery-heading p{margin:0;color:rgba(255,255,255,.62)}.project-gallery{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:155px;gap:12px}.project-gallery figure,.project-gallery figure.featured,.project-gallery figure.wide{grid-column:span 4;min-height:0;grid-row:span 2}.project-gallery figure.featured{grid-column:span 8;grid-row:span 4}.project-gallery figure.wide{grid-column:span 8}.project-gallery figcaption{padding:48px 18px 16px;font-size:.67rem}.gallery-process{padding-top:38px;border-top:1px solid rgba(255,255,255,.13)}
@media(max-width:900px){.service-grid{grid-template-columns:1fr}.service-grid .service-card{min-height:0}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px}.project-gallery figure,.project-gallery figure.featured,.project-gallery figure.wide{grid-column:span 1;grid-row:span 2}.project-gallery figure.featured,.project-gallery figure.wide{grid-column:span 2}}
@media(max-width:620px){.service-grid .service-card{grid-template-columns:34px 1fr;gap:12px;padding:25px 20px}.gallery-heading{grid-template-columns:44px 1fr;gap:12px}.project-gallery{grid-template-columns:1fr;grid-auto-rows:280px}.project-gallery figure,.project-gallery figure.featured,.project-gallery figure.wide{grid-column:1;grid-row:span 1}.project-gallery figure.featured{grid-row:span 2}.gallery-group{margin-top:38px}}
.projects{display:block;padding-left:clamp(20px,3vw,56px);padding-right:clamp(20px,3vw,56px)}.projects .section-intro{max-width:900px;margin:0 0 58px}.projects .section-intro h2{max-width:760px}.projects .section-intro>p:last-child{max-width:720px}.projects .gallery-group{width:100%;margin-left:0;margin-right:0}.projects .gallery-process{margin-top:72px}
@media(max-width:620px){.projects .section-intro{margin-bottom:42px}.projects .gallery-process{margin-top:52px}}
.service-grid .service-card{grid-template-columns:1fr}.gallery-heading{display:block}.gallery-heading h3{margin:0 0 8px;font-size:clamp(2.6rem,4.5vw,4.6rem);line-height:.95;letter-spacing:.01em;text-transform:uppercase}.gallery-heading p{font-size:1rem;line-height:1.6}.gallery-heading>span{display:none}
.hero{background-color:#111;background-image:linear-gradient(90deg,rgba(14,14,14,.99) 0%,rgba(14,14,14,.94) 38%,rgba(14,14,14,.55) 62%,rgba(14,14,14,.12) 100%),url("assets/projects/IMG_4629.webp");background-size:100% 100%,auto 100%;background-position:center,right center;background-repeat:no-repeat}.project-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;align-items:start}.project-gallery figure,.project-gallery figure.featured,.project-gallery figure.wide{grid-row:auto;min-height:0}.project-gallery img{position:relative;inset:auto;display:block;width:100%;height:auto;object-fit:contain}.gallery-finished .project-gallery figure:nth-child(1){grid-column:span 6}.gallery-finished .project-gallery figure:nth-child(2),.gallery-finished .project-gallery figure:nth-child(3){grid-column:span 3}.gallery-finished .project-gallery figure:nth-child(4),.gallery-finished .project-gallery figure:nth-child(5){grid-column:span 6}.gallery-process .project-gallery figure:nth-child(-n+3){grid-column:span 4}.gallery-process .project-gallery figure:nth-child(n+4){grid-column:span 6}
@media(max-width:800px){.hero{background-image:linear-gradient(90deg,rgba(14,14,14,.96),rgba(14,14,14,.62)),url("assets/projects/IMG_4629.webp");background-size:100% 100%,auto 100%;background-position:center,right center}.gallery-finished .project-gallery figure:nth-child(n),.gallery-process .project-gallery figure:nth-child(n){grid-column:span 6}}
@media(max-width:520px){.hero{background-image:linear-gradient(rgba(14,14,14,.76),rgba(14,14,14,.8)),url("assets/projects/IMG_4629.webp");background-size:cover;background-position:center}.gallery-finished .project-gallery figure:nth-child(n),.gallery-process .project-gallery figure:nth-child(n){grid-column:1/-1}}
.hero{background-image:linear-gradient(105deg,rgba(14,14,14,.97) 0%,rgba(14,14,14,.84) 52%,rgba(14,14,14,.38) 100%),url("assets/projects/hero-original.jpeg");background-size:cover;background-position:center 58%;background-repeat:no-repeat}.project-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:clamp(320px,27vw,500px);gap:12px}.project-gallery figure,.project-gallery figure.featured,.project-gallery figure.wide,.gallery-finished .project-gallery figure:nth-child(n),.gallery-process .project-gallery figure:nth-child(n){grid-column:span 1;grid-row:span 1;width:100%;height:100%;min-height:0}.project-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-finished .project-gallery img,.gallery-process .project-gallery img{object-position:center}
@media(max-width:1100px){.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:400px}}
@media(max-width:760px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:360px}.hero{background-position:center 58%}}
@media(max-width:520px){.project-gallery{grid-template-columns:1fr;grid-auto-rows:430px}.project-gallery figure,.project-gallery figure.featured,.project-gallery figure.wide,.gallery-finished .project-gallery figure:nth-child(n),.gallery-process .project-gallery figure:nth-child(n){grid-column:1;grid-row:span 1}}
.services{padding-top:clamp(72px,7vw,105px);padding-bottom:clamp(72px,7vw,105px)}.services .section-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);column-gap:clamp(40px,7vw,120px);align-items:end;max-width:none;margin-bottom:52px}.services .section-intro .eyebrow{grid-column:1/-1;margin-bottom:18px}.services .section-intro h2{margin:0;font-size:clamp(3.5rem,6vw,7rem);line-height:.92;white-space:nowrap}.services .section-intro>p:last-child{max-width:380px;margin:0 0 8px;font-size:1.05rem;line-height:1.65}.services .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));border-left:0;gap:14px}.services .service-grid .service-card{position:relative;display:block;min-height:250px;padding:32px 28px;border:1px solid #d8d5cf;background:#fff}.services .service-grid .service-card:before{content:"";position:absolute;top:-1px;left:-1px;width:58px;height:4px;background:#c92a2a}.services .service-grid .service-card h3{font-size:clamp(1.55rem,2vw,2.05rem);margin-bottom:20px}.services .service-grid .service-card p{font-size:.95rem}
@media(max-width:1100px){.services .section-intro h2{white-space:normal}.services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.services .section-intro{display:block}.services .section-intro h2{margin-bottom:22px}.services .section-intro>p:last-child{max-width:620px}.services .service-grid{grid-template-columns:1fr}.services .service-grid .service-card{min-height:0}}
.services .section-intro{display:block}.services .section-intro h2{white-space:normal}.services .section-intro>p:last-child{max-width:900px;margin:24px 0 0;font-size:1.05rem;line-height:1.65}.services .service-grid .service-card{border:2px solid #c92a2a}.services .service-grid .service-card:before{display:none}.services .service-grid .service-card:hover{background:#fff;color:#181818;transform:none}.services .service-grid .service-card:hover h3{color:#181818}.services .service-grid .service-card:hover p{color:#5f5f5f}
.hero-mark{right:1.5vw;bottom:-14vw;font-size:min(54vw,780px);color:rgba(255,255,255,.1);-webkit-text-stroke:2px rgba(255,255,255,.3);text-shadow:0 10px 40px rgba(0,0,0,.14)}
@media(max-width:620px){.hero-mark{right:-7vw;bottom:-10vw;font-size:78vw;color:rgba(255,255,255,.08);-webkit-text-stroke:1px rgba(255,255,255,.24)}}
.services .service-grid .service-card{border:0;background:linear-gradient(145deg,#d7353d 0%,#bf2931 48%,#9f1f26 100%);background-size:140% 140%;color:#fff;box-shadow:0 8px 20px rgba(120,20,26,.12);transition:transform .28s ease,box-shadow .28s ease,background-position .4s ease}.services .service-grid .service-card h3{color:#fff}.services .service-grid .service-card p{color:rgba(255,255,255,.84)}.services .service-grid .service-card:hover{background:linear-gradient(145deg,#df3b43 0%,#c72b33 48%,#a32027 100%);background-size:140% 140%;background-position:100% 100%;color:#fff;transform:translateY(-8px);box-shadow:0 20px 34px rgba(120,20,26,.24)}.services .service-grid .service-card:hover h3{color:#fff}.services .service-grid .service-card:hover p{color:#fff}
@media(prefers-reduced-motion:reduce){.services .service-grid .service-card{transition:none}.services .service-grid .service-card:hover{transform:none}}
.hero-mark{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-46%) rotate(-7deg)}
@media(max-width:620px){.hero-mark{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-45%) rotate(-7deg)}}
:root{--red:#9e1d14}.language-toggle strong{color:#9e1d14}.services .service-grid .service-card{background:linear-gradient(145deg,#b52a20 0%,#9e1d14 52%,#7d170f 100%);box-shadow:0 8px 20px rgba(126,23,15,.14)}.services .service-grid .service-card:hover{background:linear-gradient(145deg,#bd3025 0%,#9e1d14 52%,#74140d 100%);box-shadow:0 20px 34px rgba(126,23,15,.26)}.hero-mark{left:74%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-46%) rotate(-7deg)}
@media(max-width:620px){.hero-mark{left:68%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-45%) rotate(-7deg)}}
:root{--red:#9e1d14;--red-bright:#9e1d14}.hero h1 span{color:#9e1d14}.hero-mark{left:74%;top:50%;width:min(40vw,600px);height:min(31vw,465px);font-size:0;color:transparent;-webkit-text-stroke:0;text-shadow:none;background:url("assets/rul-r-mark.png") center/contain no-repeat;opacity:.2;transform:translate(-50%,-50%)}
@media(max-width:620px){.hero-mark{left:72%;top:50%;width:72vw;height:54vw;opacity:.17;transform:translate(-50%,-50%)}}
.hero-mark{opacity:.11;filter:grayscale(1) brightness(2.7)}
@media(max-width:620px){.hero-mark{opacity:.09;filter:grayscale(1) brightness(2.7)}}

/* Final brand color pass: use one consistent red sampled from the RUL logo. */
:root{--red:#9e1d14;--red-bright:#9e1d14}
.hero h1 span,.language-toggle strong,.eyebrow.red,.red{color:#9e1d14}
.button-primary,.button-primary:hover,.license-strip,.proof,.careers{background:#9e1d14}
.services .service-grid .service-card,
.services .service-grid .service-card:hover{background:#9e1d14;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.14)}
.services .service-grid .service-card:hover{transform:translateY(-8px);box-shadow:0 20px 34px rgba(0,0,0,.24)}
.services .service-grid .service-card h3,
.services .service-grid .service-card:hover h3{color:#fff}
.services .service-grid .service-card p{color:rgba(255,255,255,.84)}
.services .service-grid .service-card:hover p{color:#fff}

@media(max-width:980px){.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:0;background:#9e1d14;color:#fff;font:700 .76rem Montserrat,sans-serif;letter-spacing:.1em;box-shadow:0 4px 12px rgba(0,0,0,.14);transition:transform .2s ease,box-shadow .2s ease}.menu-toggle:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(0,0,0,.2)}.menu-toggle:focus-visible{outline:3px solid rgba(158,29,20,.28);outline-offset:3px}}
