.company-page main{overflow:hidden}.company-page p{color:var(--muted);line-height:1.75}.company-page .eyebrow{color:var(--red);margin-bottom:20px}.company-page .breadcrumb{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:30px}.company-page h1{font-size:clamp(56px,5.5vw,88px);line-height:1.03}.company-page h2{font-size:clamp(38px,3.4vw,58px);line-height:1.05}.company-page h3{font-size:20px;line-height:1.3;margin:0}.company-page .section{padding-top:64px;padding-bottom:64px}.company-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;min-height:660px;position:relative}.company-intro{position:relative;z-index:1;max-width:640px}.company-intro>p:not(.eyebrow){max-width:520px}.company-intro .company-lead{font-size:23px;font-weight:700;color:#fff;line-height:1.4;margin-top:26px}.company-intro .button{margin-top:30px}.company-avatar{margin:0;min-width:0;align-self:stretch;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#173e62 0%,#001c3e 68%)}.company-avatar img{display:block;width:100%;max-height:600px;height:auto;object-fit:contain}.company-story,.company-steps,.contact-location,.contact-brief{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;border-top:1px solid #29415d}.company-story p:first-child{margin-top:0}.company-section-head{margin-bottom:35px}.company-service-links{display:grid;grid-template-columns:1fr 1fr;column-gap:7%}.company-service-links a{display:grid;grid-template-columns:35px 1fr 24px;column-gap:18px;align-items:center;border-top:1px solid #29415d;padding:25px 0}.company-service-links a>span{color:var(--red);font-size:14px;font-weight:700}.company-service-links p{grid-column:2;margin:7px 0 0;font-size:14px}.company-service-links b{grid-column:3;grid-row:1/3;font-size:24px;color:var(--red)}.company-service-links a:hover h3{color:var(--red)}.company-steps ol,.contact-brief ul{list-style:none;padding:0;margin:0}.company-steps li,.contact-brief li{display:flex;gap:24px;padding:25px 0;border-bottom:1px solid #29415d}.company-steps li:first-child,.contact-brief li:first-child{padding-top:0}.company-steps li>span,.contact-brief li>span{font-family:'Barlow Condensed',sans-serif;font-size:30px;color:var(--red);font-weight:700}.company-steps p,.contact-brief li p{margin-top:8px}.company-page .page-cta{gap:25px}.company-page .page-cta>div{margin-right:auto}.contact-opening h1{max-width:1100px}.contact-opening-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px}.contact-opening-bottom>p{max-width:650px;font-size:18px}.contact-opening-bottom #contact-interest{font-weight:700;color:#fff;font-size:16px}.contact-opening-bottom #contact-interest:empty{display:none}.company-page .contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-top:0}.contact-method{padding:32px;border:1px solid #34516d;display:flex;flex-direction:column;min-height:330px;background:#082848;transition:border-color .2s,background .2s}.contact-method.primary{background:var(--red);border-color:var(--red)}.contact-method.primary p{color:#fff}.contact-method-label{font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:700;margin-bottom:28px}.contact-method h2{font-size:clamp(34px,3vw,48px)}.contact-method p{font-size:14px;margin-bottom:30px}.contact-method strong{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:clamp(14px,1.3vw,20px);overflow-wrap:anywhere}.contact-method:hover{background:#123759;border-color:white}.contact-method.primary:hover{background:#d61420}.contact-location-details address{font-size:23px;line-height:1.6;font-style:normal}.contact-location-details address strong{font-size:28px}.contact-location-details .postcode{display:block;margin:12px 0 25px;font-size:32px;font-weight:700;letter-spacing:2px}.contact-location-details p{font-size:14px}.contact-brief>div>p{max-width:460px}.contact-social{border-top:1px solid #29415d;display:flex;align-items:center;gap:36px}.contact-social h2{margin-right:auto}.contact-social a{font-weight:700}.contact-social a:hover{color:var(--red)}
@media(max-width:1000px){.company-hero{min-height:0;gap:3%}.company-page .section{padding-top:45px;padding-bottom:45px}.contact-method{padding:24px}.contact-method strong{font-size:15px}.company-story,.company-steps,.contact-location,.contact-brief{gap:6%}}
@media(max-width:700px){.company-page .section{padding-top:35px;padding-bottom:35px}.company-page h1{font-size:clamp(48px,11vw,66px)}.company-page h2{font-size:38px}.company-hero{grid-template-columns:1fr;gap:20px}.company-avatar img{height:360px;width:100%;object-fit:contain}.company-avatar{margin-top:0}.company-intro .company-lead{font-size:21px}.company-story,.company-steps,.contact-location,.contact-brief{grid-template-columns:1fr;gap:30px}.company-service-links{grid-template-columns:1fr}.company-page .contact-methods{grid-template-columns:1fr;gap:15px}.contact-method{min-height:250px;padding:28px}.contact-method h2 br{display:none}.contact-method-label{margin-bottom:22px}.contact-method strong{font-size:20px}.contact-opening-bottom{display:block}.contact-opening-bottom>p{font-size:16px}.contact-social{flex-wrap:wrap;gap:24px}.contact-social h2{width:100%}.company-page .page-cta{flex-wrap:wrap}.company-page .page-cta>div{width:100%}.company-page .page-cta .button{width:100%}.contact-location-details address{font-size:21px}}
.contact-method h2 br::after{content:' '}

/* Dark map treatment keeps the contact section in the Signmasta palette. */
.contact-location{row-gap:40px}
.contact-map{grid-column:1/-1;min-width:0;width:100%;height:460px;background:#001c3e;border:1px solid #29415d;overflow:hidden}
.contact-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(1) invert(.92) sepia(.3) saturate(3) hue-rotate(170deg) brightness(1.2)}
@media(max-width:700px){.contact-map{height:360px}}

.contact-method-label{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#fff}.contact-method-label svg{display:block;flex-shrink:0;width:40px;height:40px}

/* Personal About page: transparent avatar and formal training. */
.about-page .company-avatar{position:relative;align-items:flex-end}
.about-page .company-avatar img{width:auto;max-width:100%;max-height:590px;height:auto;mask-image:linear-gradient(#000 0%,#000 87%,transparent 100%)}
.company-training{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;border-top:1px solid #29415d;background:linear-gradient(100deg,#082848,#001c3e 85%)}
.training-intro p{max-width:660px}
.training-credentials{margin:0;align-self:center}
.training-credentials>div{border-top:1px solid #34516d;padding:25px 0 25px 24px;position:relative}
.training-credentials>div:before{content:'';position:absolute;left:0;top:31px;width:5px;height:22px;background:var(--red)}
.training-credentials dt{font-weight:700;font-size:21px;line-height:1.35;color:#fff}
.training-credentials dd{margin:8px 0 0;color:var(--muted);line-height:1.5}
@media(max-width:700px){.company-training{grid-template-columns:1fr;gap:30px}.about-page .company-avatar img{height:390px;width:auto;max-height:none}.about-page .company-avatar{justify-content:center}.training-credentials>div{padding-top:22px;padding-bottom:22px}.training-credentials dt{font-size:20px}}

/* A closer, inward-facing portrait anchors the About introduction. */
.about-page .company-hero{grid-template-columns:1.05fr 1fr;gap:3%;min-height:650px}
.about-page .company-avatar{background:transparent;align-self:stretch;align-items:flex-end;justify-content:center;overflow:hidden}
.about-page .company-avatar img{display:block;width:min(100%,650px);height:auto;max-width:100%;max-height:620px;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(#000 0%,#000 80%,transparent 100%)}
@media(min-width:1450px){.about-page .company-avatar img{max-height:680px;width:min(100%,680px)}.about-page .company-hero{min-height:720px}}
@media(max-width:700px){.about-page .company-hero{grid-template-columns:1fr;gap:15px;min-height:0}.about-page .company-avatar img{height:auto;max-height:440px;width:auto;max-width:90%}.about-page .company-avatar{max-height:440px}}

/* Decorative workshop scenery sits behind the original portrait. */
.about-page .company-hero{isolation:isolate}
.about-page .company-hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0 -4% 0 28%;background:url("assets/about-workshop-scene.webp") center bottom/100% auto no-repeat;opacity:.55;mask-image:linear-gradient(90deg,transparent,#000 24%,#000 90%,transparent);}
.about-page .company-avatar{z-index:1}
@media(max-width:700px){.about-page .company-hero::before{inset:auto -8% 20px;height:440px;background-size:auto 100%;opacity:.45;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}}
