/* Editorial refinement of the client's lime, charcoal and white identity. */
:root{--paper:#fafaf7;--gutter:max(5%,calc((100vw - 1440px)/2))}
html{scroll-padding-top:30px}
.header{padding:18px var(--gutter);min-height:108px;gap:28px}
.header .supplied-logo{width:240px}
nav{font-size:12px;gap:28px}
.nav-contact{padding:13px 18px}
.nav-services summary{font-size:12px}
.button{font-size:12px;min-height:52px;gap:28px}
.text-link{font-size:12px;min-height:44px;align-items:center}
.hero{grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);min-height:0;align-items:center;gap:38px;padding:58px var(--gutter) 0;overflow:visible}
.hero-copy{padding:0 0 40px;min-width:0}
.hero h1{font-size:clamp(76px,9.8vw,152px);width:100%;line-height:.9;letter-spacing:-.03em}
.hero h1>span{display:block}
.hero .eyebrow{margin-bottom:25px}
.hero-description{font-size:clamp(18px,1.7vw,25px);line-height:1.4;margin:25px 0 14px;max-width:400px}
.hero-support{font-size:13px;line-height:1.8;color:var(--muted);max-width:355px}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
.hero-actions .text-link{margin:0}
.hero-visual.profile-hero{margin:0 0 40px;width:100%;min-width:0;align-self:center;justify-self:stretch;background:transparent;box-shadow:none}
.hero-image-frame{aspect-ratio:16/9;overflow:hidden;background:#292e30}
.profile-hero .hero-image-frame>img{width:100%;height:100%;object-fit:cover;object-position:center;background:transparent}
.profile-hero .visual-label{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0 10px;border-top:0;border-bottom:1px solid var(--line);font-size:10px;color:var(--paper);line-height:1.7}
.profile-hero .cross{font-size:35px;color:var(--lime);font-weight:400;line-height:1}
.profile-hero .image-caption{color:var(--muted);font-size:8px;letter-spacing:.06em;padding:12px 0 0}
.hero-bottom{gap:18px;padding:19px 0;font-size:9px}
.ticker{padding:24px var(--gutter);gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.08em;background:#24282a;color:var(--paper)}
.ticker b{color:var(--lime);font-size:23px}
.section{padding:78px var(--gutter)}
.section-label{gap:20px;line-height:1.6;margin-bottom:38px}
h2{font-size:clamp(48px,5.8vw,88px)}
.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%}
.about h2{font-size:clamp(52px,5.7vw,84px)}
.about-copy{max-width:560px}
.about-copy p{font-size:14px;margin-bottom:18px}
.about-copy .lead{font-size:22px;line-height:1.5}
.agency-visuals{gap:24px;margin-top:38px}
.agency-visuals img{aspect-ratio:3/2;object-fit:cover;background:#2b2f31}
.agency-visuals figcaption{font-size:9px;letter-spacing:.1em;margin-top:12px}
.history{background:#171a1b;border-top:1px solid var(--line)}
.history-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end}
.history-heading>p{max-width:450px;font-size:15px;padding-bottom:4px;margin:0}
.brand-signals{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:36px;padding:24px 0;gap:24px}
.brand-signals>div{display:flex;align-items:center;gap:18px;padding:0;border:0!important}
.brand-signals strong{font-size:48px;color:var(--paper);line-height:1}
.brand-signals span{font-size:9px;letter-spacing:.1em}
.story{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:34px 0 0;padding:0}
.story li{display:block;margin:0;border-top:1px solid #5a6062;padding:15px 0 0;position:relative;min-width:0}
.story li:before,.story:before{display:none}
.story li:nth-child(n){margin:0;display:block;border-left:0;padding:15px 0 0}
.brand-signals>div+div{padding-left:0}
.brand-signals span{padding:0}
.story-step{position:static;display:block;font-size:20px;line-height:1;color:var(--lime);margin-bottom:16px}
.story h3{font-size:30px;line-height:1;margin-bottom:14px}
.story p{font-size:12px;line-height:1.9}
.purpose{background:#eeefea;padding-top:48px;padding-bottom:48px}
.purpose .section-label{margin-bottom:28px}
.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}
.purpose-grid article{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:start;padding:0;border:0}
.purpose h2{font-size:34px;margin:0}
.purpose p{font-size:13px;line-height:1.85;color:#4e5557}
.services{background:var(--paper)}
.section-heading{gap:40px;margin-bottom:45px}
.section-heading h2>span{color:#687074}
.section-heading>p{font-size:14px;color:#555d60;max-width:320px;padding-bottom:4px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 36px}
.service{min-width:0;margin:0!important}
.service-image.profile-image{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden;background:#e2e5df}
.profile-image>img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;background:transparent;transition:transform .5s}
.service:hover .profile-image img{transform:scale(1.025)}
.service-image>span{padding:10px 16px;background:var(--ink);color:var(--lime);font-size:28px;line-height:1;font-family:var(--display)}
.service-body{padding-top:22px}
.service-body h3{font-size:clamp(35px,3.4vw,52px);line-height:1;max-width:520px}
.service-body p{font-size:14px;color:#555d60;margin:15px 0 18px;line-height:1.85;min-height:0;max-width:510px}
.service-body>a{font-size:11px;padding:15px 0;border-color:#bcc3c3;min-height:48px}
.imagery-note{font-size:10px;color:#61696c;line-height:1.8;border-top:1px solid #d5d9d4;margin-top:35px;padding-top:18px;max-width:780px}
.contact{border-top:1px solid var(--line)}
.contact-grid{grid-template-columns:1fr 1fr;gap:8%}
.contact h2{font-size:clamp(54px,6.1vw,90px);color:var(--paper)}
.contact h2>span{color:var(--lime);-webkit-text-stroke:0}
.contact-intro{font-size:15px;line-height:1.8;margin:22px 0;max-width:440px;color:var(--muted)}
.contact-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin:0 0 30px}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;border-top:1px solid var(--line);padding-top:26px;margin:0}
.contact-details>div{min-width:0}
.contact-details small{font-size:9px;color:var(--muted);margin-bottom:9px}
.contact-details a{display:block;max-width:100%;font-size:13px;line-height:1.8;overflow-wrap:anywhere;padding:3px 0}
.contact-details a:hover{color:var(--lime)}
.contact-details p{font-size:13px;line-height:1.8}
.contact form{background:#272c2e;border:1px solid #4b5254;padding:30px}
form h3{font-family:var(--display);font-size:38px;line-height:1;margin-bottom:15px}
form>p{font-size:13px;color:var(--muted);margin-bottom:24px}
form>.form-kicker{font-size:9px;letter-spacing:.12em;color:var(--lime);font-weight:700;margin-bottom:16px}
label{font-size:10px;letter-spacing:.03em;font-weight:600;margin-bottom:17px}
input,select,textarea{background:#1e2426;color:var(--paper);border:1px solid #646c6e;padding:13px 12px;font-size:13px;margin-top:7px}
input::placeholder,textarea::placeholder{color:#b5bdbe;opacity:1}
select option{background:#1e2426;color:var(--paper)}
.form-note{font-size:11px!important;color:var(--muted);line-height:1.8}
#form-status{color:var(--paper)}
footer{padding:35px var(--gutter) 0;gap:25px;background:#171a1b;border-top:1px solid var(--line)}
footer .supplied-logo{width:220px}
footer>p{font-size:10px;letter-spacing:.07em}
footer>a:last-of-type{min-height:44px;display:flex;align-items:center}
.footer-bottom{padding:22px 0;gap:18px;font-size:9px}
/* Carry the quieter hierarchy and consistent image frames into service pages. */
.service-hero{padding:58px var(--gutter) 45px}
.service-subnav{margin-left:var(--gutter);margin-right:var(--gutter)}
.service-hero-photo img{background:#292e30;object-fit:contain}
.catalogue-figure>img,.format-pair .catalogue-figure img{background:transparent;max-width:100%}
.service-formats{background:var(--paper)}
.service-request{background:#24282a;color:var(--paper);border-top:1px solid var(--line)}
.service-request .section-label{color:var(--muted)}
.service-request .section-label>span:first-child{color:var(--lime)}
.request-grid h2 span{color:var(--lime);-webkit-text-stroke:0}
.service-request .button{background:var(--lime);color:var(--ink)}
.service-request a:focus-visible{outline-color:var(--lime)}
.related-services{padding-left:var(--gutter);padding-right:var(--gutter)}
@media(max-width:1100px){
 .header .supplied-logo{width:220px}nav{gap:20px}.hero{gap:28px;padding-top:45px}.hero h1{font-size:10vw}.hero-description{font-size:19px}
 .hero-actions{gap:16px}.hero-actions .button{padding:17px 18px;font-size:11px}.hero-actions .text-link{font-size:11px}
 .section{padding-top:64px;padding-bottom:64px}.about-grid,.history-heading{gap:6%}.about-copy .lead{font-size:20px}.about-copy p{font-size:13px}
 .brand-signals>div{gap:12px}.brand-signals strong{font-size:40px}.brand-signals span{font-size:8px}
 .purpose-grid article{grid-template-columns:1fr;gap:14px}.purpose-grid{gap:6%}.contact-grid{gap:5%}.contact form{padding:25px}.contact-details{gap:20px}
}
@media(max-width:1000px){
 .header{min-height:100px}.menu-toggle{display:block}
 nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 5%;background:var(--ink);border-bottom:1px solid var(--line);max-height:calc(100dvh - 100px);overflow:auto;gap:5px;align-items:stretch}
 nav.open{display:flex;flex-direction:column}nav>a{display:flex;align-items:center;min-height:48px;font-size:14px}
 .nav-contact{margin-top:10px;justify-content:space-between}.nav-services summary{font-size:14px;justify-content:space-between}
 .service-menu{position:static;min-width:0;box-shadow:none;margin:5px 0;border:0;border-left:2px solid var(--lime);padding:0 8px}
 .service-menu a{font-size:13px}.hero-actions{align-items:start;flex-direction:column;gap:8px}.contact-details{grid-template-columns:1fr}.story{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:760px){
 :root{--gutter:6%}.header{padding-top:15px;padding-bottom:15px;min-height:96px}.header .supplied-logo{width:210px}
 .header nav{top:100%;max-height:calc(100dvh - 96px);padding-left:6%;padding-right:6%}
 .hero{grid-template-columns:1fr;gap:0;padding-top:35px}.hero h1{font-size:clamp(72px,19.5vw,125px)}
 .hero-copy{padding-bottom:32px}.hero .eyebrow{font-size:9px;margin-bottom:22px}.hero-description{font-size:20px;max-width:340px;margin-top:22px}
 .hero-support{font-size:13px;max-width:350px}.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:24px}
 .hero-actions .button{font-size:11px;padding:16px 20px}.hero-visual.profile-hero{margin-bottom:28px}.hero-image-frame{aspect-ratio:16/9}
 .profile-hero .visual-label{padding:16px 0 10px;font-size:9px}.profile-hero .cross{font-size:30px}.profile-hero .image-caption{padding:12px 0 0;font-size:7px}
 .hero-bottom{font-size:8px;padding:16px 0}.hero-bottom>span:last-child{display:none}
 .ticker{display:grid;grid-template-columns:1fr auto 1fr;gap:16px 15px;font-size:9px;padding-top:20px;padding-bottom:20px}.ticker b{font-size:20px}.ticker b:nth-of-type(2){display:none}
 .section{padding-top:52px;padding-bottom:52px}.section-label{font-size:8px;margin-bottom:28px;gap:15px}
 h2{font-size:clamp(46px,12.5vw,76px)}.about h2{font-size:clamp(48px,12.5vw,76px)}
 .about-grid,.history-heading{grid-template-columns:1fr;gap:28px}.about-copy .lead{font-size:20px}.about-copy p{font-size:14px}
 .agency-visuals{grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.agency-visuals img{aspect-ratio:1/1}.agency-visuals figcaption{font-size:7px;margin-top:9px}
 .history-heading>p{font-size:14px}.brand-signals{gap:12px;margin-top:26px;padding:20px 0}.brand-signals>div{display:block}.brand-signals strong{font-size:36px;display:block}.brand-signals span{font-size:7px;display:block;margin-top:8px}
 .story{gap:26px 20px;margin-top:28px}.story h3{font-size:27px}.story p{font-size:12px}.story-step{font-size:18px;margin-bottom:12px}
 .brand-signals span{padding:0;margin-top:8px}
 .purpose{padding-top:35px;padding-bottom:35px}.purpose-grid{grid-template-columns:1fr;gap:28px}.purpose-grid article{grid-template-columns:100px 1fr;gap:16px}.purpose h2{font-size:29px}.purpose p{font-size:12px}
 .section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px;font-size:13px}.service-grid{grid-template-columns:1fr;gap:36px}
 .service-body{padding-top:18px}.service-body h3{font-size:40px}.service-body p{font-size:13px;margin-top:14px;margin-bottom:15px}.service-body>a{font-size:10px}
 .imagery-note{font-size:9px;margin-top:28px;padding-top:16px}.contact-grid{grid-template-columns:1fr;gap:32px}.contact h2{font-size:clamp(48px,13vw,76px)}
 .contact-intro{font-size:14px;margin:20px 0}.contact-actions{gap:18px;margin-bottom:24px}.contact-actions .button{font-size:11px;gap:25px;padding:16px 20px}.contact-actions .text-link{font-size:11px}
 .contact-details{grid-template-columns:1fr 1fr;gap:20px 18px;padding-top:22px}.contact-details small{font-size:8px}.contact-details a,.contact-details p{font-size:12px}
 .contact form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}form h3{font-size:34px}input,select,textarea{font-size:16px;padding:12px}
 .form-note{font-size:10px!important}footer{padding-top:28px;gap:20px}footer .supplied-logo{width:210px}footer>p{font-size:9px;flex-basis:100%;order:3}
 .footer-bottom{order:4;flex-wrap:wrap;font-size:8px;gap:12px;padding:20px 0}.service-hero{padding-top:35px;padding-bottom:30px}
}
@media(max-width:380px){
 .header .supplied-logo{width:180px}.header{gap:14px}.menu-toggle{padding:9px 11px}.hero h1{font-size:19vw}
 .hero-actions{gap:14px}.hero-actions .button{padding:15px 16px;font-size:10px;gap:18px}.hero-actions .text-link{font-size:10px}
 .section-label>span:last-child{font-size:7px}.purpose-grid article{grid-template-columns:1fr;gap:12px}.service-body h3{font-size:36px}
 .contact-details{grid-template-columns:1fr}.contact h2{font-size:13vw}.contact form{padding:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
