/* Inner pages: hero, lists, timeline, forms, journal, text pages. Builds on styles.css. */

.sec{padding-top:clamp(72px,10vw,150px);padding-bottom:clamp(72px,10vw,150px)}
.sec--tight{padding-top:clamp(48px,6vw,90px);padding-bottom:clamp(48px,6vw,90px)}

/* page hero: one big title on a themed ground */
.phero{position:relative;overflow:hidden;min-height:78svh;display:flex;align-items:flex-end;padding:150px 0 clamp(48px,7vw,96px)}
.phero .wrap{position:relative;z-index:2;width:100%}
.phero .display{font-size:clamp(44px,9vw,148px);max-width:12ch}
.phero .lede{margin-top:clamp(24px,3vw,40px)}
.phero__row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 64px;margin-top:clamp(24px,3vw,44px)}
.phero__row .lede{margin:0}
.phero .eyebrow{margin-bottom:20px}
.phero .plus{right:-10vw;top:10vh;width:min(58vw,640px);aspect-ratio:1;opacity:.1;transform:translate3d(var(--px,0),calc(var(--py,0px) + var(--sy,0px)*-.1),0) rotate(var(--rot,0deg)) scale(var(--sc,1))}

.phero--light{background:var(--off)}
.phero--dark{background:var(--black);color:var(--off)}
.phero--dark .display{color:var(--off)}
.phero--dark .eyebrow{color:var(--lime)}
.phero--dark .lede{color:#d4d4d4}
.phero--dark .plus{color:var(--indigo);opacity:.95}
.phero--indigo{background:var(--indigo);color:var(--off)}
.phero--indigo .display{color:var(--off)}
.phero--indigo .eyebrow{color:var(--lime)}
.phero--indigo .lede{color:var(--off);opacity:.92}
.phero--indigo .plus{color:var(--off);opacity:.12}
.phero--dark .pill,.phero--indigo .pill{background:var(--lime);color:var(--black)}
.phero--dark .pill:hover,.phero--indigo .pill:hover{background:#a3ff2e}
.phero--dark .pill .arrow,.phero--indigo .pill .arrow{background:var(--black);color:var(--lime)}

/* what we cover: hairline rows */
.cover-list{list-style:none;margin:clamp(36px,5vw,72px) 0 0;padding:0;border-top:1px solid var(--black)}
.cover-list li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr);gap:12px clamp(24px,5vw,80px);padding:clamp(22px,3vw,40px) 0;border-bottom:1px solid var(--black);align-items:start}
.cover-list h3{margin:0;font-weight:900;letter-spacing:-.035em;line-height:1.02;font-size:clamp(28px,4.4vw,64px);color:var(--black);transition:color .35s,transform .5s var(--ease)}
.cover-list li:hover h3{color:var(--indigo);transform:translateX(clamp(4px,1vw,14px))}
.cover-list p{margin:0;font-size:clamp(17px,1.4vw,20px);line-height:1.55;max-width:34em}
.cover-list .roles{color:var(--slate)}
.cover-list .no{display:block;font-size:14px;font-weight:700;color:var(--indigo);letter-spacing:.1em;margin-bottom:10px}

/* why work with us: three columns */
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 clamp(28px,5vw,72px);margin-top:clamp(36px,5vw,72px)}
.why>div{border-top:1px solid var(--black);padding:22px 0 34px}
.why h3{margin:0 0 12px;font-size:clamp(22px,2vw,30px);font-weight:700;letter-spacing:-.02em;color:var(--indigo)}
.why p{margin:0;font-size:16px;line-height:1.6;color:#2b2b2b}
.band .why>div{border-top-color:#4b4b4b}
.band .why h3{color:var(--off)}
.band .why p{color:#d0d0d0}

/* about */
.statement{font-weight:300;font-size:clamp(30px,5.4vw,84px);line-height:1.04;letter-spacing:-.03em;color:var(--indigo);margin:0;max-width:20ch}
.vision{counter-reset:v;list-style:none;margin:clamp(28px,4vw,56px) 0 0;padding:0;border-top:1px solid var(--black)}
.vision li{counter-increment:v;display:grid;grid-template-columns:64px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--black);font-size:clamp(20px,2.1vw,30px);line-height:1.35;font-weight:300}
.vision li::before{content:"+";font-weight:900;color:var(--indigo);font-size:1.2em;line-height:1}
.timeline{margin-top:clamp(36px,5vw,72px);border-top:1px solid var(--black)}
.timeline>div{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr);gap:12px clamp(24px,5vw,80px);padding:clamp(22px,3vw,40px) 0;border-bottom:1px solid var(--black)}
.timeline h3{margin:0;font-weight:900;letter-spacing:-.03em;font-size:clamp(24px,3.4vw,48px);line-height:1.05;color:var(--indigo)}
.timeline p{margin:0;font-size:clamp(17px,1.5vw,21px);line-height:1.55;max-width:34em}
.values{list-style:none;margin:clamp(28px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px clamp(24px,4vw,56px)}
.values li{border-top:1px solid #4b4b4b;padding-top:18px;font-size:clamp(20px,1.9vw,28px);line-height:1.3;font-weight:300}
.values li::before{content:"+";display:block;color:var(--lime);font-weight:900;font-size:26px;line-height:1;margin-bottom:12px}
.leaders{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px clamp(24px,4vw,56px);margin-top:clamp(28px,4vw,56px)}
.leaders>div{border-top:1px solid var(--black);padding-top:16px}
.leaders b{display:block;font-size:clamp(22px,2.2vw,32px);letter-spacing:-.02em;font-weight:900;color:var(--black)}
.leaders span{color:var(--slate)}
.sdg{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 40px}
.sdg li{border-top:1px solid var(--hair);padding-top:12px;font-size:15px;line-height:1.5;color:var(--slate)}
.sdg b{display:block;color:var(--indigo);font-size:18px}

/* forms */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px;margin-top:clamp(32px,5vw,64px);max-width:980px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:20px;color:inherit;background:transparent;border:0;border-bottom:2px solid currentColor;border-radius:0;padding:10px 0;outline:none;transition:border-color .3s,padding .3s var(--ease)}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--lime);padding-left:10px}
.form select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' fill='none' stroke='%23FBFBFB' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 4px center}
.form option{color:var(--black)}
.form .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.form .note-small{font-size:14px;opacity:.8}
.form button.pill{border:0;cursor:pointer;font:inherit;font-weight:700;font-size:20px}
.phero--indigo .form input:focus,.phero--indigo .form select:focus,.phero--indigo .form textarea:focus{border-color:var(--lime)}
.form-light input,.form-light select,.form-light textarea{color:var(--black)}
.form-light input:focus,.form-light select:focus,.form-light textarea:focus{border-color:var(--indigo)}
.form-light select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' fill='none' stroke='%231D1D1D' stroke-width='2'/%3E%3C/svg%3E")}
.sent{display:none;font-size:clamp(22px,2.4vw,34px);font-weight:300;margin-top:28px}
.sent.show{display:block}

/* journal */
.posts{list-style:none;margin:clamp(24px,4vw,56px) 0 0;padding:0;border-top:1px solid var(--black)}
.post a{display:grid;grid-template-columns:150px minmax(0,1fr) 52px;gap:12px clamp(16px,3vw,48px);align-items:center;padding:clamp(18px,2.2vw,30px) 0;border-bottom:1px solid var(--black);text-decoration:none}
.post__date{font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--indigo)}
.post__title{font-weight:900;letter-spacing:-.03em;line-height:1.08;font-size:clamp(22px,3.1vw,44px);transition:color .35s,transform .5s var(--ease)}
.post a:hover .post__title{color:var(--indigo);transform:translateX(clamp(4px,1vw,14px))}
.post .arrow{transition:transform .5s var(--ease)}
.post a:hover .arrow{transform:rotate(-45deg)}

/* text pages (privacy) */
.prose{max-width:46em}
.prose h2{font-size:clamp(24px,2.6vw,36px);font-weight:900;letter-spacing:-.02em;color:var(--indigo);margin:2em 0 .5em}
.prose h3{font-size:20px;margin:1.6em 0 .4em}
.prose p,.prose li{font-size:17px;line-height:1.7}
.prose ul{padding-left:1.2em}

@media (max-width:820px){
  .cover-list li,.timeline>div{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .post a{grid-template-columns:1fr 52px}
  .post__date{grid-column:1/-1}
  .phero{min-height:70svh;padding-top:120px}
  .phero .plus{right:-24vw;width:92vw}
}
@media (prefers-reduced-motion:reduce){
  .cover-list h3,.post__title,.post .arrow,.form input{transition:none}
  .phero .plus{transform:none}
}

/* Header over a dark or indigo first screen: light logo and links until the page scrolls */
.logo__w{display:none}
.dark-top .top:not(.scrolled) .logo__c{display:none}
.dark-top .top:not(.scrolled) .logo__w{display:block;height:clamp(40px,5vw,60px);width:auto}
@media (min-width:761px){
  .dark-top .top:not(.scrolled) .nav a{color:var(--off)}
  .dark-top .top:not(.scrolled) .nav a::after{background:var(--lime)}
  .dark-top .top:not(.scrolled) .nav .nav-cta{background:var(--lime);color:var(--black)}
}
@media (max-width:760px){
  .dark-top .top:not(.scrolled) .menu-btn{background:transparent;border-color:var(--off);color:var(--off)}
}

.form-light .pill--lg{background:var(--indigo);color:var(--off)}
.form-light .pill--lg:hover{background:#1a0ee0}
.form-light .pill--lg .arrow{background:var(--off);color:var(--indigo)}
@media (max-width:820px){
  .phero--dark .plus{opacity:.55}
}

/* ===== Round 2: benefits, client logos, FAQ, micro-interactions, waves, article pages ===== */

/* hand-drawn underline that draws when its heading appears */
.hl{background:linear-gradient(var(--lime),var(--lime)) 0 94%/0 .16em no-repeat;transition:background-size .9s .5s var(--ease)}
.in .hl,.hl.in{background-size:100% .16em}
.band .hl,.closer .hl,.phero--dark .hl,.phero--indigo .hl{background-image:linear-gradient(var(--lime),var(--lime))}

/* scroll progress */
.progress{position:fixed;left:0;top:0;height:4px;width:100%;transform:scaleX(var(--prog,0));transform-origin:left;background:var(--indigo);z-index:120;pointer-events:none}
.dark-top .progress{background:var(--lime)}

/* benefits on Home */
.benefits{padding-top:clamp(72px,10vw,150px);padding-bottom:clamp(72px,10vw,150px)}
.ben-list{margin-top:clamp(32px,5vw,72px);border-top:1px solid var(--black)}
.ben{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:12px clamp(24px,5vw,80px);align-items:end;padding:clamp(24px,3.4vw,52px) 0;border-bottom:1px solid var(--black);position:relative;isolation:isolate}
.ben::before{content:"";position:absolute;inset:0;background:var(--indigo);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:-1}
.ben:hover::before{transform:scaleY(1)}
.ben h3{margin:0;font-weight:900;letter-spacing:-.045em;line-height:.95;font-size:clamp(28px,4.4vw,64px);transition:color .35s,transform .5s var(--ease)}
.ben p{margin:0;font-size:clamp(17px,1.4vw,20px);line-height:1.55;transition:color .35s}
.ben:hover h3{color:var(--off);transform:translateX(clamp(6px,1.4vw,24px))}
.ben:hover p{color:var(--off)}
.ben-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 clamp(24px,4vw,56px);margin-top:clamp(40px,6vw,88px)}
.ben-grid>div{border-top:1px solid var(--black);padding:20px 0 30px;transition:transform .4s var(--ease)}
.ben-grid>div:hover{transform:translateY(-6px)}
.ben-grid h3{margin:0 0 10px;font-size:clamp(20px,1.8vw,26px);font-weight:700;letter-spacing:-.02em;color:var(--indigo)}
.ben-grid h3::before{content:"+";display:inline-block;margin-right:10px;font-weight:900;transition:transform .5s var(--ease)}
.ben-grid>div:hover h3::before{transform:rotate(180deg)}
.ben-grid p{margin:0;font-size:16px;line-height:1.6;color:#2b2b2b}

/* client logos: scrolls by itself, pauses on hover */
.logos{overflow:hidden;border-block:1px solid var(--black);padding:clamp(22px,3vw,40px) 0;background:var(--off)}
.logos__head{max-width:var(--maxw);margin:0 auto 18px;padding:0 var(--pad)}
.logos__track{display:flex;align-items:center;gap:clamp(48px,6vw,96px);width:max-content;animation:scrollx 38s linear infinite}
.logos:hover .logos__track{animation-play-state:paused}
.logos__item{flex:none;display:flex;align-items:center;justify-content:center;height:64px;min-width:130px;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s,transform .4s var(--ease)}
.logos__item:hover{filter:none;opacity:1;transform:scale(1.08)}
.logos__item img{max-height:56px;width:auto;max-width:190px;object-fit:contain}
.logos__item span{font-weight:900;letter-spacing:-.03em;font-size:clamp(22px,2.4vw,32px);color:var(--slate);white-space:nowrap}
@keyframes scrollx{to{transform:translateX(-50%)}}
.orgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px clamp(24px,4vw,56px);align-items:center;margin-top:clamp(28px,4vw,56px)}
.orgs a,.orgs div{display:flex;align-items:center;justify-content:center;height:96px;border-top:1px solid var(--hair);padding-top:16px;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s,transform .4s var(--ease)}
.orgs a:hover,.orgs div:hover{filter:none;opacity:1;transform:translateY(-4px)}
.orgs img{max-height:72px;max-width:180px;width:auto;object-fit:contain}

/* why-us cards (service pages) */
.why>div{position:relative;transition:transform .4s var(--ease),border-color .3s}
.why>div::after{content:"+";position:absolute;right:0;top:14px;font-weight:900;font-size:26px;line-height:1;color:var(--indigo);transition:transform .6s var(--ease)}
.band .why>div::after{color:var(--lime)}
.why>div:hover{transform:translateY(-8px);border-top-color:var(--indigo)}
.band .why>div:hover{border-top-color:var(--lime)}
.why>div:hover::after{transform:rotate(225deg) scale(1.3)}
.why--four{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* cover rows: a sweep of colour and a round arrow on hover */
.cover-list li{position:relative;isolation:isolate}
.cover-list li::before{content:"";position:absolute;inset:0 -12px;background:var(--frost);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);z-index:-1}
.cover-list li:hover::before{transform:scaleX(1)}
.cover-list li::after{content:"+";position:absolute;right:6px;top:50%;margin-top:-18px;font-weight:900;font-size:36px;line-height:1;color:var(--indigo);opacity:0;transform:rotate(-90deg) scale(.6);transition:opacity .35s,transform .6s var(--ease)}
.cover-list li:hover::after{opacity:1;transform:none}

/* questions we get asked */
.faqs{margin-top:clamp(28px,4vw,56px);border-top:1px solid var(--black)}
details.faq{border-bottom:1px solid var(--black)}
details.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-weight:700;font-size:clamp(19px,1.9vw,27px);letter-spacing:-.02em;transition:color .3s}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-weight:900;font-size:34px;line-height:1;color:var(--indigo);transition:transform .5s var(--ease)}
details.faq[open] summary::after{transform:rotate(135deg)}
details.faq summary:hover{color:var(--indigo)}
details.faq div{max-width:46em;padding:0 0 26px;font-size:18px;line-height:1.6;color:#2b2b2b;animation:faqin .45s var(--ease)}
@keyframes faqin{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* leadership with a hover lift */
.leaders>div{transition:transform .4s var(--ease),border-color .3s}
.leaders>div:hover{transform:translateY(-6px);border-top-color:var(--indigo)}

/* Careers: a different first screen. Indigo sea, waves that slide with your scroll, a lime plus that bobs. */
.phero--waves{background:linear-gradient(180deg,#0D00CA 0%,#0a0099 100%);color:var(--off);min-height:92svh;align-items:flex-start;padding-top:160px}
.phero--waves .display{color:var(--off);max-width:11ch;font-size:clamp(44px,9.4vw,152px)}
.phero--waves .eyebrow{color:var(--lime)}
.phero--waves .lede{color:var(--off);opacity:.92}
.phero--waves .pill{background:var(--lime);color:var(--black)}
.phero--waves .pill .arrow{background:var(--black);color:var(--lime)}
.waves{position:absolute;left:0;right:0;bottom:-1px;height:min(38vh,360px);z-index:1;pointer-events:none;overflow:hidden}
.wave{position:absolute;left:0;bottom:0;width:200%;height:100%;display:flex}
.wave svg{flex:none;width:50%;height:100%;display:block}
.wave--back{opacity:.55;animation:drift 22s linear infinite;transform:translate3d(calc(var(--sy,0px)*-.12),0,0)}
.wave--mid{animation:drift 15s linear infinite reverse;height:82%}
.wave--front{animation:drift 10s linear infinite;height:60%}
.wave--back svg path{fill:#1b0fe6}
.wave--mid svg path{fill:var(--lime)}
.wave--front svg path{fill:var(--off)}
@keyframes drift{to{transform:translateX(-50%)}}
.buoy{position:absolute;right:clamp(24px,12vw,220px);bottom:clamp(120px,22vh,230px);width:clamp(84px,11vw,160px);z-index:2;color:var(--lime);animation:bob 4.2s ease-in-out infinite;transform-origin:50% 80%}
.buoy svg{display:block;width:100%;fill:currentColor}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-18px) rotate(7deg)}}
.phero--waves .wrap{position:relative;z-index:3}

/* article pages */
.phero--post{min-height:56svh}
.display--post{font-size:clamp(34px,6.2vw,96px);max-width:20ch;line-height:.98}
.post-hero{margin:0;max-width:var(--maxw);margin-inline:auto;padding:0 var(--pad)}
.post-hero img{width:100%;max-height:560px;object-fit:cover;display:block}
.prose--post{margin:0 auto}
.prose--post p{font-size:clamp(18px,1.5vw,21px);line-height:1.75;margin:0 0 1.2em}
.prose--post h2{font-size:clamp(26px,2.8vw,40px)}
.prose--post figure{margin:2em 0}
.prose--post img{max-width:100%;height:auto}
.back{margin-top:48px}

@media (max-width:820px){
  .ben{grid-template-columns:1fr;align-items:start}
  .buoy{right:6vw;bottom:120px}
}
@media (prefers-reduced-motion:reduce){
  .logos__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;row-gap:24px}
  .wave,.buoy{animation:none}
  .hl{background-size:100% .16em;transition:none}
  .ben::before,.cover-list li::before{transition:none}
  details.faq div{animation:none}
}

/* Round 3: Contact us hover goes lime, and blue on the Contracting cover */
.dark-top .top:not(.scrolled) .nav .nav-cta:hover{background:#a3ff2e}
.page-contracting .top:not(.scrolled) .nav .nav-cta:hover{background:var(--indigo);color:var(--off)}

/* Round 4: Careers hover is a lighter blue */
.page-careers .top .nav .nav-cta:hover,.page-careers.dark-top .top:not(.scrolled) .nav .nav-cta:hover{background:#4d5cff;color:var(--off)}

/* About: movement down the page */
.vision li{transition:padding-left .4s var(--ease),color .3s}
.vision li::before{display:inline-block;transition:transform .6s var(--ease)}
.vision li:hover{padding-left:clamp(8px,1.4vw,22px);color:var(--indigo)}
.vision li:hover::before{transform:rotate(180deg) scale(1.2)}
.timeline>div{transition:background .4s,padding-left .4s var(--ease)}
.timeline>div:hover{background:var(--frost);padding-left:clamp(10px,1.6vw,24px)}
.timeline h3{transition:transform .5s var(--ease)}
.timeline>div:hover h3{transform:translateX(6px)}
.values li{transition:transform .4s var(--ease),border-color .3s}
.values li::before{transition:transform .6s var(--ease)}
.values li:hover{transform:translateY(-8px);border-top-color:var(--lime)}
.values li:hover::before{transform:rotate(180deg) scale(1.3)}
.sdg li{transition:transform .4s var(--ease),border-color .3s,color .3s}
.sdg li:hover{transform:translateY(-5px);border-top-color:var(--indigo);color:var(--black)}
.leaders>div b{transition:color .3s,letter-spacing .4s var(--ease)}
.leaders>div:hover b{color:var(--indigo);letter-spacing:0}
@media (prefers-reduced-motion:reduce){
  .vision li,.timeline>div,.values li,.sdg li,.leaders>div b{transition:none}
}

.leaders .in{display:inline-block;margin-top:10px;font-weight:700;font-size:15px;color:var(--indigo);text-decoration:none;border-bottom:2px solid transparent;transition:border-color .3s}
.leaders .in i{display:inline-block;font-style:normal;transition:transform .4s var(--ease)}
.leaders .in:hover{border-bottom-color:var(--lime)}
.leaders .in:hover i{transform:translate(3px,-3px)}

/* About: community photos, greyscale */
.gallery{columns:3;column-gap:clamp(12px,1.6vw,24px);margin-top:clamp(36px,5vw,72px)}
.gallery figure{margin:0 0 clamp(12px,1.6vw,24px);break-inside:avoid;overflow:hidden;background:var(--hair)}
.gallery img{display:block;width:100%;height:auto;filter:grayscale(1);transition:transform .8s var(--ease),filter .4s}
.gallery figure:hover img{transform:scale(1.06) rotate(-.6deg)}
@media (max-width:760px){.gallery{columns:2}}
@media (prefers-reduced-motion:reduce){.gallery img{transition:none}.gallery figure:hover img{transform:none}}

.leaders span{display:block}
.leaders .in{display:table}

/* About cover: three verbs from our purpose */
.phero--verbs{background:var(--lime);color:var(--black);min-height:92svh;align-items:flex-end}
.phero--verbs .eyebrow{color:var(--black)}
.verbs{margin:0;font-weight:900;letter-spacing:-.05em;line-height:.9;font-size:clamp(56px,12.5vw,200px)}
.verb{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:3px solid var(--black);padding:.05em 0 .1em;transition:color .35s;cursor:default}
.verb:first-child{border-top:3px solid var(--black)}
.verb__w{display:inline-block;transition:transform .5s var(--ease)}
.verb:hover,.verb.on{color:var(--indigo)}
.verb:hover .verb__w,.verb.on .verb__w{transform:translateX(.08em)}
.g{flex:none;height:.72em;width:auto;overflow:visible;color:var(--indigo);margin-right:.04em}
.g rect{fill:currentColor}
.g .spin{transform-origin:50px 50px;transition:transform 1s var(--ease)}
.verb:hover .g .spin,.verb.on .g .spin{transform:rotate(90deg)}
.g .sq{transition:transform .7s var(--ease)}
.verb:hover .g .t,.verb.on .g .t{transform:translate(30px,2px)}
.verb:hover .g .r,.verb.on .g .r{transform:translate(-2px,30px)}
.verb:hover .g .b,.verb.on .g .b{transform:translate(-30px,-2px)}
.verb:hover .g .l,.verb.on .g .l{transform:translate(2px,-30px)}
.g--grow .gp{transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s var(--ease)}
.g--grow .gp:nth-child(2){transition-delay:.08s}.g--grow .gp:nth-child(3){transition-delay:.16s}
.verb:hover .g--grow .gp,.verb.on .g--grow .gp{transform:scale(1.25)}
.verbs__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;margin-top:clamp(22px,3vw,40px)}
.phero--verbs .lede{margin:0;max-width:30em;color:var(--black);font-weight:400}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{border:2px solid var(--black);padding:8px 18px;font-weight:700;font-size:clamp(15px,1.3vw,18px);transition:background .3s,color .3s,transform .4s var(--ease)}
.chips li.on{background:var(--black);color:var(--lime);transform:translateY(-4px)}
@media (max-width:760px){.verbs{font-size:clamp(52px,17vw,110px)}.phero--verbs{min-height:80svh}}
@media (prefers-reduced-motion:reduce){.verb,.verb__w,.g .spin,.g .sq,.g--grow .gp,.chips li{transition:none}}

/* About cover on black (Marcus, 13 Oct 2026): off-white words, lime only on the word in focus, one "+" */
.phero--verbs{background:var(--black);color:var(--off)}
.phero--verbs .eyebrow{color:var(--off);opacity:.75}
.phero--verbs .lede{color:#d4d4d4}
.phero--verbs .plus{color:var(--indigo);opacity:.35}
.verb{border-bottom:1px solid rgba(251,251,251,.28)}
.verb:first-child{border-top:1px solid rgba(251,251,251,.28)}
.verb:hover,.verb.on{color:var(--lime)}
.chips{gap:6px 28px}
.chips li{border:0;padding:0;opacity:.45;transition:opacity .3s}
.chips li.on{background:none;color:var(--off);opacity:1;transform:none}

/* Contact: a shorter cover so the first fields show on the first screen */
.phero--short{min-height:auto;padding-top:clamp(130px,16vw,190px);padding-bottom:clamp(40px,5vw,64px)}

/* required field marker */
.req{font-weight:400;letter-spacing:.04em;text-transform:none;color:var(--slate);margin-left:6px}

/* Home, how we help: a full-width frost band with ghost numerals, so the section ends before Our services (13 Oct 2026) */
.benefits{padding-bottom:0}
.ben-grid{counter-reset:ben;background:var(--frost);margin:clamp(56px,8vw,110px) calc(50% - 50vw) 0;padding:clamp(48px,6vw,88px) calc(50vw - 50%);gap:clamp(28px,3vw,40px) clamp(24px,4vw,56px)}
.ben-grid>div{counter-increment:ben;border-top:0;padding:0;display:flex;flex-direction:column}
.ben-grid>div::before{content:counter(ben,decimal-leading-zero);font-weight:900;font-size:clamp(64px,7vw,104px);line-height:.85;letter-spacing:-.05em;color:var(--indigo);opacity:.16;margin-bottom:14px;transition:opacity .4s}
.ben-grid>div:hover::before{opacity:.9}
.ben-grid h3::before{display:none}
@media (max-width:760px){
  .ben-grid>div{display:grid;grid-template-columns:72px 1fr;column-gap:16px}
  .ben-grid>div::before{grid-row:1/3;font-size:56px;margin:0}
}
.ben-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.ben-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.ben-grid{grid-template-columns:1fr}}

/* Home, how we help, round 2 (13 Oct 2026): indigo band, outlined numerals, one lit in lime at a time */
.ben-band{position:relative;background:var(--indigo);color:var(--off);margin:clamp(56px,8vw,110px) calc(50% - 50vw) 0;padding:clamp(56px,7vw,104px) calc(50vw - 50%);overflow:hidden}
.ben-band::after{content:"+";position:absolute;right:-.12em;bottom:-.32em;font-weight:900;font-size:clamp(260px,34vw,520px);line-height:1;color:var(--off);opacity:.06;pointer-events:none;transform:rotate(calc(var(--sy,0)*1deg))}
.ben-band .ben-grid{background:none;margin:0;padding:0;position:relative;z-index:1}
.ben-note{display:flex;align-items:flex-start;gap:6px;margin:0 0 clamp(20px,3vw,36px);color:var(--off);font-size:clamp(26px,2.4vw,34px);transform:rotate(-3deg);transform-origin:left}
.ben-note svg{width:64px;height:34px;fill:none;stroke:var(--off);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;margin-top:10px;transform:rotate(30deg)}
.ben-band .ben-grid>div{cursor:default;transition:transform .5s var(--ease)}
.ben-band .ben-grid>div::before{color:transparent;-webkit-text-stroke:2px rgba(251,251,251,.55);opacity:1;font-size:clamp(84px,9vw,136px);transition:color .45s,-webkit-text-stroke-color .45s,transform .6s var(--ease);transform-origin:left bottom;display:inline-block}
.ben-band .ben-grid h3{color:var(--off);transition:color .35s}
.ben-band .ben-grid p{color:rgba(251,251,251,.82)}
.ben-band .ben-grid>div.on{transform:translateY(-8px)}
.ben-band .ben-grid>div.on::before{color:var(--lime);-webkit-text-stroke-color:var(--lime);transform:rotate(-6deg) scale(1.06)}
.ben-band .ben-grid>div:hover{transform:translateY(-8px)}
@media (max-width:760px){
  .ben-band .ben-grid>div::before{font-size:64px}
  .ben-band .ben-grid>div.on,.ben-band .ben-grid>div:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .ben-band .ben-grid>div,.ben-band .ben-grid>div::before{transition:none;transform:none!important}
}

/* About cover graphic (13 Oct 2026): ripples spreading from one point, the "positive multiplier effect", in place of the "+" */
.ripple{position:absolute;right:-8vw;top:50%;width:min(64vw,720px);aspect-ratio:1;transform:translateY(-50%);pointer-events:none;z-index:1}
.ripple svg{display:block;width:100%;height:100%;overflow:visible}
.ripple circle{fill:none;stroke:#6b63ff;stroke-width:3;vector-effect:non-scaling-stroke;transform-origin:100px 100px;transform:scale(.06);opacity:0;animation:ripple 8s cubic-bezier(.2,.6,.35,1) infinite}
.ripple circle:nth-of-type(3){animation-delay:2s}
.ripple circle:nth-of-type(4){animation-delay:4s}
.ripple circle:nth-of-type(5){animation-delay:6s}
.ripple .ripple__dot{fill:var(--off);stroke:none;transform:none;opacity:.9;animation:pulse 2s ease-in-out infinite}
@keyframes ripple{0%{transform:scale(.06);opacity:0}8%{opacity:.9}100%{transform:scale(1);opacity:0}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
@media (max-width:760px){.ripple{right:-30vw;top:30%;width:110vw}}
@media (prefers-reduced-motion:reduce){
  .ripple circle{animation:none;opacity:.45}
  .ripple circle:nth-of-type(2){transform:scale(.3)}.ripple circle:nth-of-type(3){transform:scale(.55)}
  .ripple circle:nth-of-type(4){transform:scale(.8)}.ripple circle:nth-of-type(5){transform:scale(1)}
  .ripple .ripple__dot{animation:none}
}

/* Careers: the lime "+" floats in the middle, on the waves (13 Oct 2026) */
.buoy{right:auto;left:calc(50% - clamp(42px,5.5vw,80px));bottom:calc(min(38vh,360px) * .34)}
@media (max-width:820px){.buoy{left:calc(50% - 42px);right:auto;bottom:calc(min(38vh,360px) * .3)}}

/* Journal cover (13 Oct 2026): handwriting that writes itself on ruled lines, in place of the "+" */
.scrawl{position:absolute;right:clamp(-40px,-2vw,0px);top:clamp(110px,16vh,180px);width:min(46vw,560px);pointer-events:none;z-index:1}
.scrawl svg{display:block;width:100%;height:auto;overflow:visible}
.scrawl__rule{fill:none;stroke:var(--hair,#E5E5E5);stroke-width:1.5;vector-effect:non-scaling-stroke}
.scrawl__ink{fill:none;stroke:var(--indigo);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:scrawl 10s ease-in-out infinite;animation-delay:calc(var(--n)*1.7s)}
@keyframes scrawl{0%{stroke-dashoffset:1;opacity:1}22%{stroke-dashoffset:0}80%{stroke-dashoffset:0;opacity:1}92%,100%{stroke-dashoffset:0;opacity:0}}
@media (max-width:760px){.scrawl{width:78vw;right:-14vw;top:96px;opacity:.55}}
@media (prefers-reduced-motion:reduce){.scrawl__ink{animation:none;stroke-dashoffset:0}}

/* Contracting cover (13 Oct 2026): tiles slot into an empty grid one by one, then clear, in place of the "+" */
.slots{position:absolute;right:clamp(16px,6vw,110px);top:50%;width:min(40vw,500px);aspect-ratio:1;transform:translateY(-50%);pointer-events:none;z-index:1}
.slots svg{display:block;width:100%;height:100%;overflow:visible}
.slots__cell{fill:none;stroke:rgba(251,251,251,.22);stroke-width:1.2;vector-effect:non-scaling-stroke}
.slots__tile{fill:var(--indigo);transform-box:fill-box;transform-origin:center;opacity:0;animation:slot 9s cubic-bezier(.2,.8,.2,1) infinite;animation-delay:calc(var(--i)*.28s)}
@keyframes slot{0%{opacity:0;transform:translate(60%,-30%) rotate(14deg) scale(.6)}6%{opacity:1;transform:none}62%{opacity:1;transform:none}70%,100%{opacity:0;transform:scale(.85)}}
@media (max-width:760px){.slots{width:62vw;right:-12vw;top:118px;transform:none;opacity:.6}}
@media (prefers-reduced-motion:reduce){.slots__tile{animation:none;opacity:1}.slots__tile:nth-of-type(n+27){opacity:0}}
.slots{top:auto;bottom:clamp(48px,7vw,96px);transform:none;width:min(24vw,360px)}
@media (max-width:760px){.slots{width:46vw;right:-6vw;top:104px;bottom:auto;opacity:.32}}

/* HR Advisory cover (13 Oct 2026): an organisation chart that builds itself, then regrades, in place of the "+" */
.org{position:absolute;right:clamp(16px,5vw,96px);bottom:clamp(48px,7vw,96px);width:min(34vw,460px);pointer-events:none;z-index:1}
.org svg{display:block;width:100%;height:auto;overflow:visible}
.org__line{fill:none;stroke:rgba(251,251,251,.55);stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:orgline 10s ease-in-out infinite;animation-delay:calc(.6s + var(--i)*.22s)}
.org__node{fill:var(--off);transform-box:fill-box;transform-origin:center;transform:scale(0);animation:orgnode 10s cubic-bezier(.3,1.5,.5,1) infinite;animation-delay:calc(var(--i)*.22s)}
.org__node:nth-of-type(n+4){animation-name:orgnode-low}
@keyframes orgline{0%{stroke-dashoffset:1;opacity:1}14%{stroke-dashoffset:0}82%{stroke-dashoffset:0;opacity:1}92%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes orgnode{0%{transform:scale(0)}6%,82%{transform:scale(1)}92%,100%{transform:scale(0)}}
/* the bottom row is regraded: each box grows or shrinks a little, like a job being sized */
@keyframes orgnode-low{0%{transform:scale(0)}6%{transform:scale(1)}40%{transform:scale(1)}48%{transform:scale(1.35)}56%,82%{transform:scale(1.1)}92%,100%{transform:scale(0)}}
@media (max-width:760px){.org{width:60vw;right:-4vw;top:108px;bottom:auto;opacity:.35}}
@media (prefers-reduced-motion:reduce){.org__line{animation:none;stroke-dashoffset:0}.org__node{animation:none;transform:none}}

/* Journal posts (13 Oct 2026): a small cover photo shows at its own size, centred, instead of stretching */
.post-hero img{margin-inline:auto;height:auto}
.prose--post{max-width:40em}
.prose--post > p:first-child{font-size:clamp(20px,1.8vw,25px);line-height:1.6}
.prose--post h2{margin:1.8em 0 .5em}
.prose--post h3{font-size:clamp(20px,1.6vw,24px);color:var(--indigo)}
.prose--post figure img{display:block;margin-inline:auto}
.prose--post ul,.prose--post ol{margin:0 0 1.2em}
.prose--post li{font-size:clamp(18px,1.5vw,21px);line-height:1.7;margin-bottom:.4em}
.prose--post a{color:var(--indigo)}
/* Journal handwriting, round 2: real words in Caveat, written out left to right */
.scrawl text.scrawl__ink{font-family:"Caveat",cursive;font-weight:600;font-size:47px;fill:var(--indigo);stroke:none;stroke-dasharray:none;clip-path:inset(-20% 100% -20% 0);animation:write 10s linear infinite;animation-delay:calc(var(--n)*1.6s)}
@keyframes write{0%{clip-path:inset(-20% 100% -20% 0);opacity:1}16%{clip-path:inset(-20% 0 -20% 0)}80%{clip-path:inset(-20% 0 -20% 0);opacity:1}92%,100%{clip-path:inset(-20% 0 -20% 0);opacity:0}}
@media (prefers-reduced-motion:reduce){.scrawl text.scrawl__ink{animation:none;clip-path:none}}
@media (max-width:760px){.scrawl{width:74vw;right:4vw}}
