/* The artwork can be expressive; reading and navigation stay comfortable. */
.hero-bottom p,.play-intro p,.method-intro p,.format-heading p,
.impact-intro>p,.growth-intro>p,.measurement-copy>p{font-size:clamp(14px,1vw,16px);line-height:1.8}
.journey-body p,.goal-copy>p{font-size:14px;line-height:1.8}
.journey-body h4{font-size:14px;line-height:1.5}
.journey-signal{font-size:8px}
.journey-number,.growth-route-top,.route-detail>.mono,.scorecard-top{font-size:9px}
.goal-copy>.mono,.goal-job strong,.goal-signals>span{font-size:9px}
.goal-job p,.route-detail p,.channel-caption{font-size:13px;line-height:1.8}
.goal-signals>p,.score-row p{font-size:13px;line-height:1.8}
.score-signals,.measurement-note{font-size:11px;line-height:1.85}
.measurement-principle{font-size:9px}
.header nav>a{min-height:44px;display:inline-flex;align-items:center}
.channel-tab{min-height:44px;font-size:12px}
.growth-tabs>button{min-height:48px;font-size:13px}
.menu{width:44px;min-height:44px}
.footer-top>a.mono,.footer-bottom>a,.footer-bottom>button{min-height:44px;display:inline-flex;align-items:center;font-size:10px}
.dialog-close{min-width:44px;min-height:44px;top:7px;right:7px}
form input:not([type=checkbox]),form textarea{font-size:16px;min-height:44px}
form>label,form legend{font-size:13px}
form fieldset label{min-height:44px;font-size:13px;cursor:pointer}
form input[type=checkbox]{width:18px;height:18px;flex:none}
.form-submit{min-height:48px;font-size:14px}
dialog{max-height:calc(100dvh - 32px);overscroll-behavior:contain;scroll-padding-block:24px}
.preview-note{font-size:9px!important}
.hello h2{word-spacing:.16em;letter-spacing:-.055em}
.hero h1,.play-heading h2,.method-intro h2,.impact-intro h2,
.growth-intro h2,.format-heading h2,.measurement-copy h2,.hello h2{overflow-wrap:normal}

@media(min-width:1600px){
 .hero h1{font-size:172px}
 .hero-stage{min-height:495px}
 .play-heading h2,.format-heading h2{font-size:92px}
 .hello h2{font-size:137px}
 .method-intro h2{font-size:86px}
 .impact-intro h2{font-size:75px}
 .growth-intro h2{font-size:94px}
 .measurement-copy h2{font-size:69px}
 .poster-type{font-size:64px}
 .poster-data h3{font-size:43px}
 .poster{min-height:500px}
 .editorial-word{font-size:69px}
}

@media(max-width:1100px){
 .channel-control{display:block}
 .channel-instruction{display:block;margin-bottom:16px;font-size:10px}
 .channel-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .channel-tab{border-color:var(--line);padding:12px 15px;gap:10px}
 .channel-tab>span{display:block}
 .journey-body p{min-height:0}
 .growth-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
 .goal-signals{display:block}
 .goal-signals>span{display:block;max-width:none;margin-bottom:9px}
 .hero-coordinate{display:none}
}

@media(max-width:1000px){
 .header{height:85px;position:relative}
 .header-note{display:none}
 .header nav{display:none;position:absolute;top:84px;left:-40px;right:-40px;z-index:50;
  background:var(--paper);padding:22px 40px 28px;border-bottom:1px solid var(--ink);
  box-shadow:0 8px 0 #20211e0c;max-height:calc(100dvh - 85px);overflow-y:auto;overscroll-behavior:contain}
 .header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 .header nav>a{font-size:17px;padding-block:11px}
 .header nav .nav-hello{font-size:14px;justify-content:space-between;padding:14px 18px;max-width:330px;margin-top:7px}
 .menu{display:block;padding:9px 5px 9px 13px}
 .menu span{margin:6px 0}
 .campaign-lab>*{min-width:0}
 .impact-intro{align-items:flex-start}
 .impact-intro>p{max-width:260px}
 .growth-panel,.measurement-grid{grid-template-columns:1fr 1.1fr;gap:35px}
 .route-detail h4{font-size:22px}
 .source-top{font-size:8px}
 .destination-top>.mono{font-size:9px}
 .channel-control .channel-tab{font-size:12px}
 .section-meta{font-size:9px}
 .concept-note,.growth-note,.impact-foot,.format-footer{font-size:8px;line-height:1.8}
 .method-detail p{font-size:14px;line-height:1.8}
 .method-detail>span{font-size:9px}
 .method-label{font-size:10px}
}

@media(max-width:850px){
 .format-heading,.method-intro,.growth-intro,.impact-intro{display:block}
 .format-heading p,.method-intro p,.growth-intro>p,.impact-intro>p{max-width:540px;margin-top:25px}
 .format-heading h2{font-size:clamp(53px,7.3vw,65px)}
 .play-heading{display:block}
 .play-heading h2{font-size:clamp(53px,8vw,68px)}
 .play-intro{display:flex;align-items:center;gap:25px;max-width:520px;margin-top:28px}
 .play-intro p{margin:0;max-width:400px}
 .asterisk{font-size:70px;flex:none}
 .growth-panel,.measurement-grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .goal-copy h3{max-width:520px;font-size:38px}
 .goal-copy>p{max-width:580px}
 .goal-job{max-width:580px;margin-top:22px}
 .growth-journey{padding:28px}
 .route-detail p{max-width:520px}
 .growth-route-top{font-size:9px}
 .route-detail>.mono{font-size:9px}
 .route-dot{width:35px;height:35px;font-size:10px}
 .route-step{grid-template-columns:35px 1fr;gap:20px;padding-bottom:30px}
 .route-steps:before{left:17px}
 .goal-signals{display:flex;gap:25px;align-items:flex-start}
 .goal-signals>span{margin:0;max-width:70px}
 .measurement-copy{max-width:600px}
 .measurement-copy h2{font-size:52px}
 .measurement-copy>p{max-width:530px}
 .measurement-principle{max-width:530px}
 .score-row{grid-template-columns:20px 1fr 20px;gap:20px;padding:25px 0}
 .score-row h3{font-size:26px}
 .score-row>svg{width:20px;height:20px}
 .score-index{font-size:10px}
 .measurement-note{max-width:580px}
 .format-collage{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .poster{min-height:445px;padding:23px}
 .poster:last-child{grid-column:1/-1;width:340px;max-width:100%;justify-self:center;margin-top:5px}
 .poster-type{font-size:54px;letter-spacing:-2.8px}
 .poster-data h3{font-size:37px;letter-spacing:-1.7px}
 .poster-meta,.poster-bottom{font-size:7px}
 .poster-bottom{left:23px;right:23px;bottom:19px}
 .poster-flower{width:170px;height:170px}
 .editorial-word{font-size:65px;letter-spacing:-3.5px}
 .editorial-badge{width:70px;height:70px;font-size:8px;right:18px;top:195px}
 .data-ring{width:100px;height:100px;border-width:21px}
 .ring1{left:0}.ring2{left:50px}.ring3{left:100px}
 .data-sculpture{height:155px}
 .poster-data>p{font-size:13px}
 .hello h2{font-size:clamp(62px,9.7vw,83px)}
 .hello-button{width:110px;height:110px}
 .hello-button>span{font-size:14px}
 .hello-bottom>p{font-size:14px}
 .hello-bottom>.mono{font-size:9px}
}

@media(max-width:720px){
 .header nav{left:-25px;right:-25px;padding-inline:25px}
 .hero-bottom p{font-size:14px;max-width:400px}
 .round-cta{width:88px;height:88px}
 .round-cta span{font-size:11px}
 .hero-channels>div{flex-wrap:wrap;justify-content:flex-start;gap:10px 15px;font-size:12px}
 .hero-channels>.mono{font-size:9px}
 .hero-channels b{margin:0}
 .hero-stage{min-height:clamp(330px,55vw,390px)}
 .section-meta>span:last-child{max-width:210px}
 .campaign-lab{grid-template-columns:minmax(0,1fr);gap:30px}
 .source-story{padding:28px}
 .source-paper{width:280px;padding:22px}
 .paper-top{font-size:6px}.paper-top svg{width:15px;height:21px}
 .paper-title{font-size:43px;letter-spacing:-2.5px}
 .paper-title>span{font-size:60px}
 .source-paper p{font-size:9px;width:180px}
 .paper-orb{height:130px}.paper-orb>div{width:120px;height:120px;border-width:22px}
 .paper-orb>span{font-size:7px}.paper-bottom{font-size:6px}
 .source-foot{margin-top:30px}.source-foot>span{font-size:8px;max-width:230px}
 .source-foot>svg{width:75px}
 .channel-preview{min-height:480px;padding:28px}
 .preview-window{width:330px;padding:16px}
 .preview-profile{font-size:11px}.preview-profile small{font-size:8px}
 .ig-image{height:290px}.ig-image h3{font-size:43px;margin:17px}
 .ig-caption,.preview-copy{font-size:11px;line-height:1.65}
 .ig-bottom{font-size:20px}
 .channel-caption{font-size:14px;max-width:none}
 .channel-tab svg{width:19px;height:19px}
 .channel-tab{font-size:12px;padding:12px;gap:8px}
 .preview-actionbar{font-size:9px}
 .email-subject{font-size:26px}.email-from{font-size:9px}.email-toolbar{font-size:10px}
 .email-body h4{font-size:24px}.email-body p,.web-copy{font-size:11px}
 .email-button{font-size:10px;padding:10px 14px}
 .email-banner{height:135px}.linkedin-document{height:255px}.linkedin-document h3{font-size:37px}
 .document-label,.web-label{font-size:8px}.web-toolbar{font-size:9px}
 .facebook-image{height:280px}.facebook-image h3{font-size:42px}
 .x-copy{font-size:16px}.x-time{font-size:9px}.web-title{font-size:35px}
 .web-art{height:180px}.x-graphic{height:190px}
 .method-intro,.impact-intro,.growth-intro,.format-heading{display:block}
 .method-intro h2{font-size:clamp(44px,7.8vw,58px)}
 .method-intro p,.impact-intro>p,.growth-intro>p,.format-heading p{max-width:520px;margin-top:25px}
 .impact-intro h2{font-size:clamp(42px,7.4vw,54px)}
 .growth-intro h2{font-size:clamp(53px,9vw,66px)}
 .format-heading h2{font-size:clamp(53px,8.8vw,65px)}
 .method-rows summary{grid-template-columns:30px 1fr 90px 24px;gap:14px}
 .method-name{font-size:35px}.method-num{font-size:9px}
 .method-detail{padding-left:44px}
 .audience-journey{gap:30px}
 .audience-stage h3{font-size:36px}
 .audience-stage:nth-child(n){margin-top:0}
 .journey-signal{font-size:8px;max-width:none}
 .journey-number{font-size:8px}
 .goal-job strong,.goal-copy>.mono,.goal-signals>span{font-size:9px}
 .growth-tabs>button{font-size:13px}
 .measurement-copy h2{font-size:clamp(44px,7.6vw,55px)}
 .measurement-copy>p{font-size:14px}
 .hello-main{align-items:flex-start;flex-direction:column;gap:35px}
 .hello h2{font-size:clamp(65px,12.2vw,91px)}
 .hello-button{align-self:flex-end}
 .hello-bottom{margin-top:15px;align-items:flex-start;flex-direction:column;gap:20px}
 .hello-bottom>.mono{font-size:9px}
 .footer-bottom{font-size:9px;gap:15px;align-items:center}
 .footer-top>a.mono{font-size:10px}
 .poster-type{font-size:48px}.poster-data h3{font-size:32px}
 .poster{min-height:420px;padding:20px}
 .poster-meta,.poster-bottom{font-size:6px}.poster-bottom{left:20px;right:20px}
 .poster:last-child{width:320px}.editorial-word{font-size:61px}
 .data-ring{width:85px;height:85px;border-width:18px}
 .ring2{left:37px}.ring3{left:74px}
 .poster-flower{width:145px;height:145px}
}

@media(max-width:520px){
 .header nav{left:-21px;right:-21px;padding:20px 21px 25px}
 .header nav>a{font-size:18px}
 .hero-stage{min-height:398px}
 .hero-bottom{grid-template-columns:minmax(0,1fr) 88px;gap:17px}
 .hero-bottom p{font-size:14px;line-height:1.75}
 .hero-channels>div{font-size:11px;gap:9px 12px}
 .hero-top{font-size:8px;max-width:310px}
 .hero h1{font-size:14.6vw}
 .heading-bottom{font-size:12.6vw}
 .play-heading h2{font-size:14vw}
 .play-intro{gap:20px;margin-top:25px}
 .play-intro p{font-size:14px}
 .asterisk{font-size:58px}
 .section-meta{font-size:8px;line-height:1.7;gap:20px}
 .section-meta>span:last-child{max-width:130px}
 .source-story{padding:25px 20px}
 .source-paper{width:250px;padding:19px}
 .paper-title{font-size:39px}.paper-title>span{font-size:54px}
 .paper-top,.paper-bottom{font-size:5px}
 .source-paper p{font-size:8px;width:165px}
 .paper-orb{height:115px}.paper-orb>div{width:105px;height:105px;border-width:20px}
 .source-foot>span{font-size:8px;max-width:210px}
 .source-foot>svg{width:55px;flex:none}
 .source-top,.destination-top>.mono{font-size:8px}
 .channel-preview{padding:18px;min-height:480px}
 .preview-window{width:310px;padding:14px}
 .ig-image{height:270px}.ig-image h3{font-size:40px}
 .channel-tabs{gap:9px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .channel-tab{font-size:13px;gap:9px;min-height:48px}
 .channel-instruction{font-size:10px}
 .concept-note,.growth-note,.impact-foot,.format-footer{font-size:8px}
 .method-intro h2{font-size:12.3vw}
 .method-name{font-size:30px;letter-spacing:-1.5px}
 .method-label{font-size:8px}
 .method-rows summary{grid-template-columns:23px minmax(0,1fr) 65px 20px;gap:8px}
 .method-detail{padding-left:31px;padding-right:0}
 .method-detail>span{font-size:9px}
 .impact-intro h2{font-size:11.8vw}
 .impact-intro>p,.growth-intro>p,.format-heading p{font-size:14px}
 .audience-journey{grid-template-columns:minmax(0,1fr);gap:29px}
 .audience-stage{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}
 .journey-number{font-size:9px}
 .audience-stage h3{font-size:39px;line-height:1.08;letter-spacing:-1.8px;margin:0}
 .audience-stage h3 br{display:none}
 .journey-body h4{font-size:15px;max-width:none}
 .journey-body p{font-size:14px;max-width:none;min-height:0}
 .journey-signal{font-size:8px;max-width:none}
 .growth-intro h2{font-size:14vw}
 .growth-tabs{gap:10px 8px}
 .growth-tabs>button{font-size:12px;padding:12px 9px;gap:8px;min-height:52px}
 .growth-tabs>button>.mono{font-size:8px}
 .goal-copy h3{font-size:35px;max-width:none}
 .goal-copy>p{font-size:14px;max-width:none}
 .goal-job{width:100%;max-width:none}
 .goal-job p{font-size:13px}
 .growth-journey{padding:22px}
 .route-step{grid-template-columns:29px minmax(0,1fr);gap:14px;padding-bottom:27px}
 .route-dot{width:29px;height:29px;font-size:9px}.route-steps:before{left:14px}
 .route-detail>.mono{font-size:8px;line-height:1.7}
 .route-detail h4{font-size:24px;line-height:1.1;letter-spacing:-.8px}
 .route-detail p{font-size:13px;line-height:1.8;max-width:none}
 .growth-route-top{font-size:8px;line-height:1.8}
 .growth-route-top>svg{flex:none}
 .goal-signals{display:block}.goal-signals>span{max-width:none;font-size:9px;margin-bottom:8px}
 .goal-signals>p{font-size:12px}
 .format-heading h2{font-size:14vw}
 .format-collage{grid-template-columns:minmax(0,1fr);padding-inline:14px;gap:30px}
 .poster{min-height:435px;width:100%;max-width:350px;padding:23px}
 .poster:last-child{grid-column:auto;width:100%;max-width:350px}
 .poster-type{font-size:54px;letter-spacing:-2.7px}
 .poster-data h3{font-size:36px}
 .poster-meta,.poster-bottom{font-size:7px}
 .poster-bottom{left:23px;right:23px}
 .poster-flower{width:165px;height:165px}
 .data-ring{width:100px;height:100px;border-width:21px}
 .ring2{left:48px}.ring3{left:96px}
 .editorial-word{font-size:62px}
 .editorial-badge{width:65px;height:65px;font-size:7px}
 .format-footer>span{max-width:50%}
 .measurement-copy h2{font-size:13vw}
 .measurement-copy>p{font-size:14px;max-width:none}
 .measurement-principle{font-size:9px}
 .score-row{grid-template-columns:17px minmax(0,1fr) 17px;gap:12px}
 .score-row h3{font-size:25px}
 .score-row p{font-size:13px}.score-signals{font-size:11px}
 .scorecard-top{font-size:8px;gap:20px}
 .scorecard-top>span:last-child{text-align:right}
 .score-index{font-size:9px}
 .measurement-note{font-size:12px}
 .hello .section-meta{font-size:8px}
 .hello h2{font-size:15.2vw}
 .hello-button{width:112px;height:112px;gap:10px;margin-top:7px}
 .hello-button svg{width:29px;height:29px}
 .hello-button>span{font-size:15px}
 .hello-bottom>p{font-size:14px;max-width:310px}
 .hello-bottom>.mono{font-size:8px;line-height:1.8}
 .footer-top{gap:15px}.footer-top>a.mono{font-size:10px}
 .footer-bottom{font-size:9px;gap:10px 17px;flex-wrap:wrap}
 .footer-bottom>a,.footer-bottom>button{font-size:10px}
 .footer-bottom>span:first-child{flex-basis:100%}
 dialog{padding:30px 23px}
}

@media(max-width:360px){
 .header nav{left:-17px;right:-17px;padding-inline:17px}
 .hero-stage{min-height:355px}
 .hero-top{font-size:7px}
 .hero-bottom{grid-template-columns:minmax(0,1fr) 76px;gap:14px}
 .round-cta{width:76px;height:76px}.round-cta span{font-size:10px}
 .hero-bottom p{font-size:13px}
 .source-paper{width:224px;padding:17px}.paper-title{font-size:36px}
 .channel-preview{padding:13px;min-height:465px}
 .ig-image{height:245px}.ig-image h3{font-size:36px}
 .preview-window{padding:12px}
 .method-name{font-size:26px}
 .method-rows summary{grid-template-columns:20px minmax(0,1fr) 52px 16px;gap:6px}
 .method-label{font-size:7px}
 .growth-tabs>button{font-size:11px;gap:6px}.growth-tabs>button>.mono{font-size:7px}
 .growth-journey{padding:17px}.route-detail h4{font-size:22px}
 .poster{min-height:405px;padding:20px}.poster-type{font-size:48px}
 .poster-data h3{font-size:33px}.poster-meta{font-size:6px}
 .editorial-word{font-size:56px}
 .poster-bottom{left:20px;right:20px;font-size:6px}
 .poster-flower{width:145px;height:145px}
 .data-ring{width:85px;height:85px;border-width:18px}.ring2{left:37px}.ring3{left:74px}
 .score-row{gap:9px}.score-row h3{font-size:23px}
 .section-meta{font-size:7px;gap:15px}
 .hello .section-meta{font-size:7px}
 .footer-top .logo{font-size:23px}.footer-top>a.mono{font-size:9px}
}

@media(max-height:500px) and (orientation:landscape){
 .header{height:72px}
 .header nav{top:71px;max-height:calc(100dvh - 72px)}
 .header nav>a{min-height:44px;padding-block:8px}
 dialog{max-height:calc(100dvh - 20px);padding-top:26px;padding-bottom:26px}
 dialog h2{font-size:42px}
}

.enquiry-cta{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:14px 20px;border:1px solid var(--ink);border-radius:40px;background:var(--ink);color:var(--paper);font-size:14px;transition:background .2s,color .2s}
.enquiry-cta svg{width:18px;height:18px;flex:none}
.enquiry-cta:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.edit-brief{background:none;border:0;text-decoration:underline;text-underline-offset:4px;padding:12px 0;margin-top:10px;font-size:13px;min-height:44px}
@media(max-width:720px){.footer-top{flex-wrap:wrap}}
