/* Talent and managed sites share one readable, motion-optional page. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hero-scope { max-width:480px; color:var(--white); font-size:16px; line-height:1.65; margin-top:16px; }
.hero-image { margin-top:156px; }
.experience-band { display:flex; align-items:center; gap:30px; padding:40px var(--gutter); border-block:1px solid var(--line); background:#141812; }
.experience-number { font:600 clamp(108px,9vw,158px)/.85 var(--display); color:var(--orange); letter-spacing:-.055em; }
.experience-label { font:600 clamp(30px,3vw,46px)/1.05 var(--display); margin-bottom:8px; }
.experience-band > div > p:last-child { font-size:17px; color:var(--muted); }
.experience-band > a { margin-left:auto; }
.talent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.talent-card { min-width:0; }
.talent-photo { aspect-ratio:4/3; overflow:hidden; background:var(--panel); position:relative; }
.talent-photo::after { content:''; position:absolute; inset:auto 0 0; height:3px; width:64px; background:var(--orange); }
.talent-photo img { width:100%; height:100%; object-fit:cover; }
.talent-copy { padding-top:28px; }
.talent-copy h3 { font-size:clamp(44px,3.7vw,68px); line-height:1.02; letter-spacing:-.015em; }
.talent-copy > p { font-size:17px; color:var(--muted); margin-top:18px; line-height:1.65; max-width:360px; }
.role-list { list-style:none; margin:24px 0 0; padding:20px 0 0; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr; gap:8px; }
.role-list li { font-size:16px; line-height:1.55; color:#d3d8cd; }
.talent-support { display:grid; grid-template-columns:1fr 1fr; column-gap:72px; margin-top:64px; padding-top:48px; border-top:1px solid #65705a; }
.talent-support h3 { font-size:clamp(43px,4.1vw,68px); }
.talent-support p { color:var(--muted); font-size:17px; margin-top:20px; }
.talent-support .role-list { grid-template-columns:1fr 1fr; border:0; margin-top:20px; padding:0; column-gap:20px; }
.augmented-sites { background:#1b2018; position:relative; }
.sites-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:end; }
.sites-heading h2 { font-size:clamp(78px,7.9vw,138px); }
.sites-heading > div { max-width:540px; }
.sites-heading .lead { font-size:clamp(23px,2vw,30px); line-height:1.4; margin-bottom:24px; }
.sites-heading > div > p:last-child { font-size:17px; color:#bcc5b4; line-height:1.75; }
.site-responsibilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.site-responsibilities article { min-width:0; border-top:1px solid #65705a; padding-top:28px; }
.site-responsibilities h3 { font-size:clamp(40px,3.8vw,64px); }
.site-responsibilities p { color:#bcc5b4; font-size:17px; line-height:1.75; margin-top:20px; max-width:400px; }
.sites-bottom { margin-top:50px; padding-top:34px; border-top:1px solid #495240; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.sites-bottom p { font-size:17px; max-width:640px; }
.sites-bottom .button { flex-shrink:0; }
.roots { border-top:0; }
.roots-grid { grid-template-columns:1.1fr 1fr; grid-template-areas:'headline story'; align-items:center; }
.roots-story .flag { vertical-align:baseline; width:25px; height:17px; margin-right:7px; }
.engagement { background:#161a13; }
.engagement > .section-heading { display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:end; margin-bottom:64px; }
.engagement > .section-heading h2 { font-size:clamp(66px,6.4vw,110px); }
.engagement > .section-heading > p { margin:0 0 5px; max-width:430px; font-size:17px; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; }
.service-card { border-top:1px solid #67715b; padding-top:28px; min-width:0; }
.service-card h3 { font-size:clamp(43px,4.1vw,66px); line-height:.98; }
.service-card > p { margin-top:24px; max-width:410px; color:#b4beaa; font-size:17px; line-height:1.75; }
.service-card > .service-example { color:var(--white); border-left:2px solid var(--orange); padding-left:16px; margin-top:24px; font-size:16px; }
.engagement-site-link { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 0; margin-top:42px; border-block:1px solid var(--line); }
.engagement-site-link p { font-size:18px; }
.approach { margin-top:48px; }
.approach h3 { font-size:38px; }
.approach-steps { list-style:none; counter-reset:steps; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin:28px 0 0; padding:0; }
.approach-steps li { counter-increment:steps; font-size:16px; line-height:1.6; color:#c2caba; padding-top:18px; border-top:1px solid #495240; }
.approach-steps li::before { content:'0' counter(steps); display:block; font:600 30px/1 var(--display); margin-bottom:12px; color:var(--orange); }
.contact-lead { max-width:700px; margin:30px auto 0; color:var(--muted); font-size:20px; }
.contact-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:20px; margin-top:36px; }
button.button { cursor:pointer; border:0; }
.secondary { border:1px solid #69765c !important; background:transparent; color:var(--white); }
.secondary:hover { border-color:var(--orange) !important; color:var(--orange); }
.preview-note { font-size:14px; color:var(--muted); margin-top:24px; }
.enquiry-dialog { width:min(600px,calc(100% - 32px)); max-height:calc(100svh - 32px); overflow:auto; border:1px solid #59664d; padding:52px; color:var(--white); background:#171d13; }
.enquiry-dialog::backdrop { background:#060a05dd; backdrop-filter:blur(5px); }
.dialog-close { position:absolute; top:10px; right:12px; display:grid; place-items:center; width:44px; height:44px; font-size:34px; border:0; color:var(--white); background:transparent; cursor:pointer; }
.dialog-label { color:var(--orange); font-size:15px; margin-bottom:24px; }
.enquiry-dialog h2 { font-size:clamp(42px,6vw,68px); margin-bottom:26px; }
.enquiry-dialog p { font-size:17px; }
.dialog-notice { margin-top:22px; color:var(--muted); }
.dialog-return { margin-top:30px; }
body.dialog-open { overflow:hidden; }
@media (max-width:1100px) {
  :root { --header-height:88px; }
  .header { height:88px; }
  .desktop-nav,.nav-brief { display:none; }
  .menu-toggle { display:flex; flex-direction:column; gap:7px; justify-content:center; align-items:flex-end; height:46px; width:46px; padding:10px; border:1px solid #58634e; background:transparent; cursor:pointer; }
  .menu-toggle span { height:1px; width:23px; background:var(--white); }
  .menu-toggle span:last-child { width:16px; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { width:23px; transform:translateY(-4px) rotate(-45deg); }
  .mobile-nav { position:fixed; top:88px; left:0; right:0; z-index:19; padding:18px var(--gutter) 28px; background:var(--bg); border-bottom:1px solid var(--line); max-height:calc(100svh - 88px); overflow:auto; }
  .mobile-nav a { display:block; padding:16px 0; font:500 34px/1.1 var(--display); text-transform:uppercase; }
  html:not(.has-navigation) .menu-toggle { display:none; }
  html:not(.has-navigation) .mobile-nav[hidden] { display:block; position:static; max-height:none; }
  .experience-band { gap:24px; }
  .experience-band > a { display:none; }
  .talent-grid { grid-template-columns:1fr; gap:44px; }
  .talent-card { display:grid; grid-template-columns:1fr 1.15fr; gap:32px; }
  .talent-photo { aspect-ratio:auto; min-height:310px; }
  .talent-copy { padding:0; }
  .talent-copy h3 { font-size:clamp(42px,5.2vw,58px); }
  .talent-copy > p { margin-top:16px; }
  .role-list { grid-template-columns:1fr 1fr; column-gap:12px; margin-top:20px; padding-top:18px; }
  .talent-support { gap:40px; margin-top:48px; padding-top:40px; }
  .talent-support h3 { font-size:clamp(39px,4.6vw,50px); }
  .talent-support .role-list { grid-template-columns:1fr; }
  .sites-heading { grid-template-columns:1fr; gap:30px; }
  .sites-heading h2 { font-size:clamp(76px,10vw,112px); }
  .sites-heading > div { max-width:650px; }
  .sites-heading .lead { font-size:26px; }
  .site-responsibilities { gap:26px; }
  .site-responsibilities h3 { font-size:38px; }
  .site-responsibilities p { font-size:16px; }
  .sites-bottom { align-items:flex-start; flex-direction:column; }
  .engagement > .section-heading { display:block; }
  .engagement > .section-heading > p { margin-top:28px; max-width:560px; }
  .service-grid { gap:26px; }
  .service-card h3 { font-size:42px; }
  .service-card > p { font-size:16px; }
  .approach-steps { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  :root { --header-height:80px; }
  .header { height:80px; }
  .mobile-nav { top:80px; max-height:calc(100svh - 80px); }
  .hero-scope { font-size:16px; margin-top:15px; }
  .hero-actions { gap:10px 20px; }
  .hero-image { margin-top:36px; }
  .experience-band { padding:30px var(--gutter); gap:22px; }
  .experience-number { font-size:106px; }
  .experience-label { font-size:30px; margin-bottom:7px; }
  .experience-band > div > p:last-child { font-size:15px; line-height:1.6; }
  .talent-support { margin-top:40px; padding-top:0; border-top:0; grid-template-columns:1fr; gap:34px; }
  .talent-support article { border-top:1px solid #65705a; padding-top:32px; }
  .talent-support h3 { font-size:clamp(40px,11.2vw,66px); }
  .talent-support p { margin-top:18px; font-size:16px; }
  .talent-support .role-list { grid-template-columns:1fr 1fr; font-size:16px; gap:8px 18px; }
  .sites-heading { gap:28px; }
  .sites-heading h2 { font-size:clamp(55px,15.9vw,98px); }
  .sites-heading .lead { font-size:23px; margin-bottom:22px; }
  .sites-heading > div > p:last-child { font-size:16px; }
  .site-responsibilities { grid-template-columns:1fr; gap:30px; }
  .site-responsibilities article { padding-top:26px; }
  .site-responsibilities h3 { font-size:clamp(44px,12vw,68px); }
  .site-responsibilities p { max-width:540px; margin-top:18px; }
  .sites-bottom { margin-top:34px; padding-top:28px; gap:24px; }
  .sites-bottom p { font-size:16px; }
  .sites-bottom p br { display:none; }
  .roots-grid { gap:36px; }
  .engagement > .section-heading { margin-bottom:38px; }
  .engagement > .section-heading h2 { font-size:clamp(52px,14.5vw,90px); }
  .engagement > .section-heading > p { margin-top:24px; font-size:16px; }
  .service-grid { grid-template-columns:1fr; gap:34px; }
  .service-card h3 { font-size:clamp(49px,13.3vw,78px); }
  .service-card > p { max-width:540px; margin-top:20px; }
  .service-card > .service-example { margin-top:20px; }
  .engagement-site-link { display:block; padding-block:25px; margin-top:32px; }
  .engagement-site-link p { font-size:17px; }
  .engagement-site-link .text-link { margin-top:10px; }
  .approach { margin-top:34px; }
  .approach h3 { font-size:35px; }
  .approach-steps { gap:22px; margin-top:24px; }
  .approach-steps li { font-size:15px; }
  .contact-lead { font-size:18px; margin-top:26px; }
  .contact-lead br { display:none; }
  .contact-actions { align-items:stretch; flex-direction:column; gap:14px; margin-top:28px; }
  .preview-note { font-size:14px; }
  .enquiry-dialog { padding:46px 26px 30px; }
  .enquiry-dialog h2 { font-size:clamp(43px,12vw,64px); }
  .enquiry-dialog p { font-size:16px; }
}
@media (max-width:700px) {
  .talent-grid { gap:44px; }
  .talent-card { display:block; }
  .talent-photo { aspect-ratio:4/3; min-height:0; }
  .talent-copy { padding-top:24px; }
  .talent-copy h3 { font-size:clamp(41px,11.3vw,66px); }
  .talent-copy > p { max-width:540px; font-size:16px; }
  .role-list { gap:8px 18px; }
  .role-list li { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .talent-photo img,.talent-copy,.talent-support article,.site-responsibilities article { transform:none !important; }
}

/* In a static preview the contact notice remains useful without scripts. */
html:not(.has-navigation) .contact-actions { display:none; }
