:root{--ink:#202727;--ink-2:#29312f;--paper:#f5eee3;--white:#fff;--orange:#66936a;--blue:#8caf8b;--accent:#c5653f;--line:rgba(32,39,39,.16);--muted:#5d6862;--display:"Manrope",sans-serif;--body:"DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.6}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}.section{padding:96px 0}.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}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:999;background:var(--orange);padding:.7rem 1rem;color:#fff}.skip-link:focus{top:1rem}
.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:700;color:#6d503e}.eyebrow.light{color:#f4b79f}.eyebrow:before{content:"";display:inline-block;width:30px;height:2px;margin:0 12px 3px 0;background:currentColor}h1,h2,h3{font-family:var(--display);margin:0;line-height:1.02;letter-spacing:-.045em}h2{font-size:clamp(2.35rem,4vw,4.3rem)}h2 span{color:#7b8791;font-weight:500}p{margin:0 0 1.4rem}.lead{font-size:clamp(1.1rem,1.55vw,1.4rem);line-height:1.45;color:#273746}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-width:205px;padding:14px 18px;border:1px solid transparent;font-weight:700;transition:.25s ease}.button-primary{background:var(--orange);color:#fff}.button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.16)}.button span{font-size:1.2rem}.text-link{display:inline-flex;gap:12px;align-items:center;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link.light{color:#fff}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);transition:.3s}.site-header.scrolled{height:72px;background:rgba(11,24,37,.96);backdrop-filter:blur(12px)}.brand{display:flex;gap:12px;align-items:center}.brand strong,.brand small{display:block;line-height:1}.brand strong{font-family:var(--display);font-size:.95rem;letter-spacing:.09em}.brand small{margin-top:6px;font-size:.52rem;letter-spacing:.16em;opacity:.72}.brand-mark{position:relative;display:block;width:37px;height:37px}.brand-mark i{position:absolute;width:6px;background:var(--orange);transform:skew(-25deg)}.brand-mark i:nth-child(1){height:31px;left:5px;top:2px}.brand-mark i:nth-child(2){height:22px;left:15px;top:11px}.brand-mark i:nth-child(3){height:15px;left:25px;top:18px}.primary-nav{display:flex;align-items:center;gap:2rem;font-size:.9rem;font-weight:600}.primary-nav>a:not(.nav-cta){position:relative}.primary-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:var(--orange);transition:.25s}.primary-nav>a:hover:after{width:100%}.nav-cta{padding:11px 15px;border:1px solid rgba(255,255,255,.4)}.nav-cta span{color:var(--orange);margin-left:8px}.menu-toggle{display:none;background:none;border:0;padding:7px;color:#fff}.menu-toggle span:not(.sr-only){display:block;width:26px;height:2px;background:currentColor;margin:5px}
.hero{position:relative;min-height:680px;height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--ink);color:#fff}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,27,.94) 0%,rgba(7,17,27,.68) 52%,rgba(7,17,27,.22) 100%)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.65)}.hero-grid{position:absolute;z-index:1;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:clamp(70px,8vw,130px) clamp(70px,8vw,130px);mask-image:linear-gradient(90deg,#000,transparent 78%)}.hero-content{position:relative;z-index:2;padding-top:52px}.hero h1{max-width:800px;font-size:clamp(3.5rem,6.2vw,6.3rem);letter-spacing:-.06em}.hero h1 em,.contact h2 em{color:var(--orange);font-style:normal}.hero-lead{max-width:580px;margin:24px 0 30px;color:#d9e1e7;font-size:clamp(1rem,1.3vw,1.18rem)}.hero-actions{display:flex;gap:28px;align-items:center}.hero-proof{position:absolute;z-index:2;right:4vw;bottom:30px;display:flex;gap:24px;color:#d9e1e7;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.hero-proof span:before{content:"+";color:var(--orange);margin-right:7px}.scroll-cue{position:absolute;z-index:3;left:50%;bottom:26px;width:23px;height:39px;border:1px solid rgba(255,255,255,.5);border-radius:20px}.scroll-cue span{position:absolute;left:10px;top:8px;width:2px;height:8px;background:var(--orange);animation:scroll 1.8s infinite}@keyframes scroll{0%{transform:translateY(0);opacity:1}75%{transform:translateY(16px);opacity:0}100%{opacity:0}}
.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:start}.intro-copy{padding-top:10px}.intro-copy .text-link{margin-top:15px}.section-heading{display:grid;grid-template-columns:1.2fr .55fr;gap:8vw;align-items:end;margin-bottom:70px}.section-heading>p{color:var(--muted);font-size:1.08rem}.services{background:var(--paper)}.service-list{border-top:1px solid var(--line)}.service-row{position:relative;min-height:150px;display:grid;grid-template-columns:75px 1fr 0 50px;gap:25px;align-items:center;border-bottom:1px solid var(--line);overflow:hidden;transition:.35s}.service-row:hover{padding-left:12px;background:#fff;grid-template-columns:75px 1fr 205px 50px}.service-number{align-self:start;padding-top:47px;color:var(--orange);font-family:var(--display);font-weight:800}.service-row h3{font-size:clamp(1.7rem,3vw,2.8rem);margin-bottom:10px}.service-row p{margin:0;color:var(--muted)}.service-row img{width:205px;height:112px;object-fit:cover;opacity:0;transform:translateX(20px);transition:.35s}.service-row:hover img{opacity:1;transform:none}.service-arrow{font-size:1.5rem;color:var(--orange)}
.projects{background:var(--ink);color:#fff}.project-heading>p{color:#aebbc6}.project-heading code{color:#f4b79f}.project-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.project-card{position:relative;min-height:390px;overflow:hidden}.project-card-wide{min-height:520px}.project-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.65);transition:.7s}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,17,27,.92),transparent 65%)}.project-card:hover img{transform:scale(1.045);filter:saturate(1)}.project-overlay{position:absolute;z-index:2;left:28px;right:28px;bottom:25px}.project-overlay span{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#f4b79f}.project-overlay h3{font-size:clamp(1.45rem,2.4vw,2.4rem);margin:8px 0}.project-overlay p{margin:0;opacity:.65;font-size:.82rem}.project-card:nth-child(3){grid-column:1}.project-card:nth-child(4){grid-column:2;grid-row:2}
.about{background:#fff}.about-grid{display:grid;grid-template-columns:.78fr 1.1fr;gap:9vw;align-items:center}.about-media{position:relative}.about-media:before{content:"";position:absolute;left:-22px;top:-22px;width:40%;height:45%;background:var(--orange)}.about-media img{position:relative;width:100%;height:650px;object-fit:cover;object-position:center top;filter:saturate(.75)}.credential{position:absolute;right:-25px;bottom:35px;width:205px;padding:24px;background:var(--ink);color:#fff}.credential strong{display:block;color:var(--orange);font-family:var(--display);font-size:2rem}.credential span{font-size:.8rem;line-height:1.3}.about-copy>p:not(.eyebrow){max-width:680px}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line)}.principles div{padding:20px 10px 0 0;border-right:1px solid var(--line)}.principles strong,.principles span{display:block}.principles strong{color:var(--orange);font-size:.76rem;margin-bottom:15px}.principles span{font-weight:700}
.process{background:var(--blue)}.process-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(11,24,37,.25)}.process-steps li{padding:30px 28px 10px 0;border-right:1px solid rgba(11,24,37,.25);min-height:250px}.process-steps li+li{padding-left:28px}.process-steps span{color:#496477;font-size:.75rem}.process-steps h3{font-size:1.6rem;margin:45px 0 16px}.process-steps p{color:#3d5362;font-size:.95rem}.contact{position:relative;background:var(--ink-2);color:#fff;overflow:hidden}.contact-lines{position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0,transparent 90px,rgba(255,255,255,.035) 91px,transparent 92px)}.contact-grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw}.contact h2{font-size:clamp(3rem,6vw,6.5rem)}.contact-details{padding-top:45px}.contact-details>p{color:#bfccd5;font-size:1.15rem}.contact-meta{display:flex;justify-content:space-between;margin-top:35px;padding-top:25px;border-top:1px solid rgba(255,255,255,.18);color:#c6d0d8}.contact-meta a{font-weight:700;color:#fff}.site-footer{padding:65px 0 30px;background:#07111b;color:#aab6c0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;align-items:start}.footer-brand{color:#fff}.footer-grid p{font-size:.85rem}.footer-grid>div{display:flex;gap:20px;justify-content:flex-end;color:#fff;font-weight:700;font-size:.85rem}.footer-grid>small{grid-column:1/-1;padding-top:25px;border-top:1px solid rgba(255,255,255,.12)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.section{padding:85px 0}.menu-toggle{display:block;position:relative;z-index:2}.primary-nav{position:absolute;top:0;right:0;width:min(360px,100%);height:100vh;padding:110px 35px;flex-direction:column;align-items:flex-start;background:var(--ink);transform:translateX(100%);transition:.3s}.primary-nav.open{transform:none}.primary-nav a{font-size:1.25rem}.intro-grid,.section-heading,.about-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.service-row,.service-row:hover{grid-template-columns:50px 1fr 35px;padding-left:0}.service-row img{display:none}.project-grid{grid-template-columns:1fr 1fr}.project-card,.project-card-wide{min-height:420px}.about-media{max-width:540px}.process-steps{grid-template-columns:1fr 1fr}.hero-proof{display:none}.scroll-cue{left:auto;right:30px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div{justify-content:flex-start}.footer-grid>small{grid-column:1/-1}}
@media(max-width:620px){.wrap{width:min(100% - 30px,1180px)}.site-header{padding:0 18px}.hero{min-height:700px}.hero h1{font-size:3.45rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.button{width:100%}.project-grid{grid-template-columns:1fr}.project-card:nth-child(n){grid-column:auto;grid-row:auto;min-height:390px}.about-media img{height:520px}.credential{right:-5px}.principles{grid-template-columns:1fr}.principles div{display:flex;gap:20px;border-right:0;border-bottom:1px solid var(--line)}.principles strong{margin-bottom:0}.process-steps{grid-template-columns:1fr}.process-steps li,.process-steps li+li{min-height:auto;padding:25px 0;border-right:0;border-bottom:1px solid rgba(11,24,37,.25)}.process-steps h3{margin:14px 0 10px}.contact-meta{flex-direction:column;gap:20px}.footer-grid{grid-template-columns:1fr}.footer-grid>small{grid-column:1}.footer-grid>div{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue span{animation:none}}

/* Calmer type scale for comfortable viewing at 100% browser zoom. */
.contact h2{font-size:clamp(2.6rem,4.5vw,4.8rem)}

@media(max-width:620px){
  .wrap{width:min(100% - 30px,1120px)}
  .hero{min-height:680px}
  .hero h1{font-size:clamp(2.85rem,14vw,3.35rem)}
}

/* RHEC brand identity */
.eyebrow{color:#4e7654}.eyebrow.light{color:#f1d8ca}
.site-header.scrolled{background:rgba(32,39,39,.97)}
.brand{gap:14px}.brand-logo{display:block;width:auto;object-fit:contain}.brand-logo-flat{height:30px;max-width:132px}.brand-legal{padding-left:14px;border-left:1px solid rgba(255,255,255,.4);font-size:.55rem;font-weight:700;line-height:1;letter-spacing:.16em;white-space:nowrap;opacity:.78}.brand-logo-stacked{height:74px;max-width:74px}.footer-brand{width:max-content}
.hero,.projects{background:var(--ink)}.hero:after{background:linear-gradient(90deg,rgba(18,24,24,.95) 0%,rgba(18,24,24,.68) 52%,rgba(18,24,24,.2) 100%)}.hero-image{filter:saturate(.82)}.hero h1 em{color:var(--orange)}.contact h2 em{color:var(--accent)}.button-primary{background:var(--accent)}.project-heading code{color:#f0c8b5}.project-overlay span{color:#f0c8b5}
.about-grid{grid-template-columns:.82fr 1.18fr;gap:8vw}.about-copy h2{font-size:clamp(2.65rem,3.45vw,3.75rem);line-height:1.08;margin-bottom:30px}.about-copy .lead{margin-bottom:26px}
.intro,.about{background:#fcfaf6}h2 span{color:#66936a}.process{background:#8caf8b}.contact{background:#29312f}.site-footer{background:#202727}.credential{background:#29312f}.credential strong{color:#edaa88}

@media(max-width:900px){.about-grid{grid-template-columns:1fr}.about-copy h2{max-width:720px}.brand-legal{display:none}}
@media(max-width:620px){.brand-logo-flat{height:25px;max-width:110px}.about-copy h2{font-size:clamp(2.35rem,11vw,3rem);margin-bottom:24px}}

/* Expanded project portfolio */
.project-grid{grid-template-columns:repeat(12,1fr);gap:18px}.project-grid .project-card{grid-row:auto}.project-grid .project-card-feature{grid-column:span 8;min-height:520px}.project-grid .project-card-tall{grid-column:span 4;min-height:520px}.project-grid .project-card-standard{grid-column:span 5;min-height:390px}.project-grid .project-card-wide{grid-column:span 7;min-height:390px}.project-grid .project-card-third{grid-column:span 4;min-height:370px}.project-card img{filter:saturate(.82)}

@media(max-width:900px){.project-grid{grid-template-columns:repeat(2,1fr)}.project-grid .project-card{grid-column:span 1;min-height:420px}.project-grid .project-card-feature{grid-column:1/-1}}
@media(max-width:620px){.project-grid{grid-template-columns:1fr}.project-grid .project-card{grid-column:1;min-height:390px}.project-grid .project-card-feature{grid-column:1}}

/* Hero message hierarchy */
.hero h1{max-width:980px;font-size:clamp(3.3rem,5.3vw,5.4rem);line-height:1.01}.hero-intro{max-width:780px;margin:24px 0 12px;color:#fff;font-size:clamp(1.1rem,1.45vw,1.32rem);font-weight:500;line-height:1.48}.hero-lead{max-width:720px;margin:0 0 30px;color:#d9e1dc;font-size:clamp(.95rem,1.15vw,1.08rem);line-height:1.55}

/* Full-width project imagery, spaced across non-adjacent sections */
.services{color:#fff;background:linear-gradient(rgba(23,28,28,.64),rgba(23,28,28,.73)),url('/images/services/film-architecture-background.jpg') center/cover no-repeat}.services .section-heading>p,.services .service-row p{color:#dce3df}.services .eyebrow{color:#f1d8ca}.services .service-list,.services .service-row{border-color:rgba(255,255,255,.3)}.services .service-row{padding-inline:12px;background:rgba(17,22,22,.3)}.services .service-row:hover{color:var(--ink);background:#fcfaf6}.services .service-row:hover p{color:var(--muted)}
.process{color:#fff;background:linear-gradient(90deg,rgba(24,29,29,.93),rgba(24,29,29,.7)),url('/images/home/process-structure-background.jpg') center/cover no-repeat}.process .section-heading>p,.process .process-steps p{color:#e0e5e2}.process .eyebrow{color:#f1d8ca}.process .process-steps,.process .process-steps li{border-color:rgba(255,255,255,.3)}.process .process-steps span{color:#b9d0ba}

@media(max-width:620px){.hero h1{font-size:clamp(2.7rem,12.7vw,3.25rem)}.hero-intro{font-size:1.04rem}.services .service-row{padding-inline:0}.process{background-position:60% center}}

/* Service rows reveal full-width project imagery on hover */
.services .service-row,.services .service-row:hover{isolation:isolate;grid-template-columns:75px 1fr 50px;padding-inline:12px;color:#fff;background:rgba(17,22,22,.3)}.services .service-row::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(16,21,20,.72),rgba(16,21,20,.38));opacity:0;transition:opacity .35s ease}.services .service-row>div,.services .service-row>.service-number,.services .service-row>.service-arrow{position:relative;z-index:2}.services .service-row img{display:block;position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity .4s ease,transform .65s ease,filter .4s ease}.services .service-row:hover{padding-left:24px;color:#fff;background:rgba(17,22,22,.18)}.services .service-row:hover::after{opacity:1}.services .service-row:hover img{opacity:1;transform:scale(1);filter:saturate(1.08) brightness(1.06)}.services .service-row:hover p{color:#f4f6f4}.services .service-row:nth-child(2) img{object-position:center 58%}.services .service-row:nth-child(4) img{object-position:center 42%}.services .service-row:nth-child(5) img{object-position:center 55%}

/* Client trust section */
.clients{background:var(--paper)}.clients-heading{display:grid;grid-template-columns:.65fr 1.35fr;gap:7vw;align-items:start;margin-bottom:55px}.clients-heading h2{font-size:clamp(2.5rem,4vw,4.3rem)}.client-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.client-logo{min-height:150px;display:flex;align-items:center;justify-content:center;padding:28px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.client-logo-dark{background:var(--ink)}.client-logo img{width:auto;max-width:78%;max-height:68px;object-fit:contain}.client-logo:nth-child(2) img{max-height:86px}.client-logo:nth-child(8) img{max-width:84%;max-height:82px}

@media(max-width:900px){.services .service-row,.services .service-row:hover{grid-template-columns:50px 1fr 35px}.clients-heading{grid-template-columns:1fr;gap:22px}.client-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.services .service-row,.services .service-row:hover{padding-inline:0}.services .service-row:hover{padding-left:8px}.client-grid{grid-template-columns:1fr}.client-logo{min-height:130px}}

/* Angled RHEC hero watermark */
.hero-watermark{position:absolute;z-index:1;top:-9%;right:auto;left:-9vw;width:min(57vw,850px);aspect-ratio:1;background:var(--orange);opacity:.14;transform:rotate(13deg);pointer-events:none;-webkit-mask:url('/images/brand/rhec-stacked-white.png') center/contain no-repeat;mask:url('/images/brand/rhec-stacked-white.png') center/contain no-repeat}

@media(max-width:900px){.hero-watermark{top:-2%;right:auto;left:-20vw;width:76vw;opacity:.12}}
@media(max-width:620px){.hero-watermark{top:3%;right:auto;left:-31vw;width:94vw;opacity:.105;transform:rotate(11deg)}}

/* Enlarged header branding */
.site-header{height:116px}.site-header.scrolled{height:84px}.brand-logo-flat{height:90px;max-width:300px}.brand-legal{font-size:1.1rem;letter-spacing:.12em;padding-left:22px;color:var(--orange)}.site-header.scrolled .brand-logo-flat{height:52px}.site-header.scrolled .brand-legal{font-size:.77rem;letter-spacing:.1em;padding-left:15px}

@media(max-width:1200px){.brand-legal{display:none}}
@media(max-width:900px){.site-header{height:100px}.site-header.scrolled{height:76px}.brand-logo-flat{height:70px;max-width:210px}.site-header.scrolled .brand-logo-flat{height:42px}}

/* Cinematic closing contact image */
.contact{background:linear-gradient(90deg,rgba(24,30,29,.94) 0%,rgba(24,30,29,.78) 56%,rgba(24,30,29,.54) 100%),url('/images/contact/rings-of-power-background.jpg') center 48%/cover no-repeat}.contact-lines{opacity:.65}

@media(max-width:620px){.contact{background-position:62% center}}

/* Architectural image intro with protected copy panel */
.intro{color:#fff;background:linear-gradient(90deg,rgba(24,30,29,.84) 0%,rgba(24,30,29,.62) 54%,rgba(24,30,29,.46) 100%),url('/images/home/intro-harbour-wall-background.jpg') center 44%/cover no-repeat}.intro-grid{grid-template-columns:1fr 1fr;gap:5vw;align-items:center}.intro .eyebrow{color:#f1d8ca}.intro h2{color:#fff}.intro-copy{padding:42px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 24px 65px rgba(0,0,0,.2)}.intro-copy .lead{color:#273746}

/* White client-section canvas */
.clients{background:#fff}.clients .client-logo{background:#fff}.clients .client-logo-dark{background:var(--ink)}

@media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:38px}.intro h2{max-width:680px}.intro-copy{max-width:680px}}
@media(max-width:620px){.intro{background-position:42% center}.intro-copy{padding:28px}}

/* Full-height split panel for the consultancy introduction */
.intro{position:relative;overflow:hidden}.intro::after{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;width:50%;background:#fff}.intro-grid{position:relative;z-index:1;grid-template-columns:1fr 1fr;gap:0}.intro-grid>div:first-child{padding-right:56px}.intro-copy{padding:0 0 0 56px;background:transparent;box-shadow:none}

@media(max-width:900px){.intro::after{display:none}.intro-grid{grid-template-columns:1fr;gap:38px}.intro-grid>div:first-child{padding-right:0}.intro-copy{padding:36px;background:#fff;box-shadow:0 24px 65px rgba(0,0,0,.2)}}
@media(max-width:620px){.intro-copy{padding:28px}}

/* Laptop and desktop scale calibrated to the preferred 90% browser view */
@media(min-width:901px){html{zoom:.9}}

/* More generous service-row height */
.services .service-row,.services .service-row:hover{min-height:195px}
