@font-face{font-family:'Proza Display';src:url(../../assets/fonts/ProzaDisplay-Light.woff2) format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Proza Display';src:url(../../assets/fonts/ProzaDisplay-LightItalic.woff2) format('woff2');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'Proza Display';src:url(../../assets/fonts/ProzaDisplay-Regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Proza Display';src:url(../../assets/fonts/ProzaDisplay-SemiBold.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
html{scroll-behavior:smooth}
body{margin:0}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.navlink:hover{text-decoration:underline;text-underline-offset:6px}
.textlink:hover{text-decoration-thickness:2px}
.btn svg{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.btn:hover svg{transform:translateX(6px)}
.btn-ink{transition:opacity .3s ease}
.btn-ink:hover{opacity:.86}
.btn-cream{transition:background .3s ease}
.btn-cream:hover{background:#ffffff}

.hud{background:rgba(255,248,239,0.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:fade-in 1s ease both}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#094D41;transform:scaleX(0);transform-origin:left}
@keyframes prog{to{transform:scaleX(1)}}
@supports (animation-timeline: scroll()){.progress{animation:prog linear both;animation-timeline:scroll(root)}}
.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#094D41;animation:blink 1.8s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}

@keyframes fade-in{from{opacity:0}}
@keyframes up-in{from{opacity:0;transform:translateY(26px)}}
@keyframes word-in{from{opacity:0;transform:translateY(0.45em)}}
@keyframes draw-x{from{transform:scaleX(0)}}
.ld{animation:up-in 1.3s cubic-bezier(.16,.8,.2,1) both}
.hw{display:block;animation:word-in 1.5s cubic-bezier(.16,.8,.2,1) both}
.draw{transform-origin:left;animation:draw-x 1.4s cubic-bezier(.2,.7,.2,1) both}

.plot{background-image:linear-gradient(rgba(9,77,65,0.08) 1px,transparent 1px),linear-gradient(90deg,rgba(9,77,65,0.08) 1px,transparent 1px);background-size:25% 25%}
.zone{position:absolute;background:rgba(9,77,65,0.08);opacity:0;transition:opacity .4s ease}
.zone.on{opacity:1}
.zone-top{left:0;right:0;top:0}
.zone-right{top:0;bottom:0;right:0}
.tline{position:absolute;opacity:0;transition:opacity .4s ease}
.tline.on{opacity:1}
.th{left:0;right:0;height:0;border-top:1px dashed #094D41}
.tv{top:0;bottom:0;width:0;border-left:1px dashed #094D41}
.dot{position:absolute;width:40px;height:40px;margin:0;padding:0;border:0;background:none;cursor:pointer;transform:translate(-50%,50%);animation:fade-in .7s ease both;color:#094D41;font:inherit}
.dot-f{position:absolute;left:0;top:0;right:0;bottom:0;display:block;animation:floaty 7s ease-in-out infinite alternate}
.dot:nth-of-type(2n) .dot-f{animation-duration:9s}
.dot:nth-of-type(3n) .dot-f{animation-duration:11s;animation-direction:alternate-reverse}
@keyframes floaty{from{transform:translate(-3px,2px)}to{transform:translate(3px,-3px)}}
.dot-c{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;box-sizing:border-box;border-radius:50%;border:1.25px solid #094D41;background:#FFFFFF;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .3s ease,border-color .3s ease,box-shadow .3s ease}
.is-mat .dot-c{background:#094D41;border-color:#094D41;transform:scale(1.4)}
.is-sel .dot-c{box-shadow:0 0 0 5px rgba(9,77,65,0.16)}
.dot:hover .dot-c{transform:scale(1.75)}
.dot-l{position:absolute;left:calc(50% + 13px);top:50%;transform:translateY(-50%);white-space:nowrap;font-size:13.5px;font-weight:400;color:rgba(9,77,65,0.78);transition:color .3s ease}
.l-left .dot-l{left:auto;right:calc(50% + 13px)}
.is-mat .dot-l{color:#094D41;font-weight:600}
.seg-b{min-height:44px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:#094D41;font:600 12px 'Proza Display',Optima,Candara,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .25s ease,color .25s ease}
.seg-b.on{background:#094D41;color:#FFF8EF}

.tk{overflow:hidden}
.tk-track{display:flex;width:max-content;animation:mq 70s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
.tk-i{display:inline-flex;align-items:center;gap:28px;padding-right:28px;white-space:nowrap}
.tk-s{display:block;width:6px;height:6px;box-sizing:border-box;border:1px solid currentColor;border-radius:50%}

.ln{display:block;height:1px;transform-origin:left;transition:transform 1.3s cubic-bezier(.2,.7,.2,1)}
.rv-up{transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.rv-c{transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.wd{transition:opacity .7s ease}
.rv-on .rv-up:not(.in){opacity:0;transform:translateY(34px)}
.rv-on .rv:not(.in) .rv-c{opacity:0;transform:translateY(26px)}
.rv-on .rv:not(.in) .ln{transform:scaleX(0)}
.rv-on .rv-words:not(.in) .wd{opacity:0.16}
.row{transition:background .35s ease,color .35s ease}
@media (hover:hover){
.row:hover{background:#094D41;color:#FFF8EF}
.row.in:hover .rv-c,.row:hover .row-in{transform:translateX(10px)}
.row:hover .row-x{transform:rotate(90deg)}
}
.row-x{transition:transform .5s cubic-bezier(.2,.7,.2,1)}

.fig-ring path{fill:none;stroke:#FFF8EF;vector-effect:non-scaling-stroke}
.runner{offset-path:path("M-44,117C-60,116 -77,114 -92,109C-107,105 -123,98 -134,87C-145,77 -154,61 -158,47C-163,32 -163,15 -163,-1C-163,-17 -163,-33 -161,-49C-159,-65 -157,-81 -152,-97C-148,-112 -142,-128 -133,-141C-124,-153 -112,-166 -99,-173C-85,-180 -68,-183 -52,-183C-37,-182 -21,-175 -6,-170C9,-165 24,-159 39,-153C54,-147 68,-141 83,-134C98,-128 113,-122 127,-115C141,-108 156,-100 170,-93C184,-85 198,-77 211,-68C224,-59 239,-49 248,-37C257,-25 267,-7 264,6C261,19 243,30 230,39C218,49 203,55 188,62C174,69 159,75 144,81C129,87 114,92 98,96C83,101 67,105 51,108C36,111 20,114 4,115C-12,117 -28,118 -44,117Z");offset-rotate:0deg}
@keyframes run{from{offset-distance:0%}to{offset-distance:100%}}
.node{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;border:0;background:none;cursor:pointer;color:inherit}
.node i{position:absolute;left:17px;top:17px;width:10px;height:10px;box-sizing:border-box;background:#094D41;border:1.5px solid #FFF8EF;transition:background .4s ease,transform .4s cubic-bezier(.2,.7,.2,1)}
.node:hover i{transform:scale(1.35)}
.node.on i{background:#FFF8EF;transform:scale(1.7)}
.node b{position:absolute;font:600 12px 'Proza Display',Optima,Candara,sans-serif;letter-spacing:.08em;color:#FFF8EF;white-space:nowrap}
@keyframes node-on{0%{background:#094D41;transform:scale(1)}1.2%{background:#FFF8EF;transform:scale(1.7)}14.2857%{background:#FFF8EF;transform:scale(1.7)}16.5%{background:#094D41;transform:scale(1)}100%{background:#094D41;transform:scale(1)}}
.step{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;width:100%;margin:0;padding:18px 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.step .bar{position:absolute;left:0;right:0;top:-1px;height:2px;background:#FFF8EF;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.step.on .bar{transform:scaleX(1)}
.step.on.auto .bar{transition:transform 3s linear}
.step .num{color:rgba(255,248,239,0.6);transition:color .4s ease}
.step.on .num{color:#FFF8EF}
.step.on .st-t{font-style:italic}
.step:hover .num{color:#FFF8EF}
.more{flex:1 1 100%;display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.2,.7,.2,1)}
.step.on .more{grid-template-rows:1fr}
.more-in{display:block;overflow:hidden;min-height:0}
.more-pad{display:block;padding:10px 0 2px 54px}
.pf{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:64px;margin:0;padding:0 4px;border:0;border-top:1px solid rgba(9,77,65,0.3);background:none;color:#094D41;font:300 clamp(20px,2vw,27px)/1.2 'Proza Display',Optima,Candara,sans-serif;text-align:left;cursor:pointer;transition:padding .45s cubic-bezier(.2,.7,.2,1)}
.pf svg{opacity:0;transform:translateX(-8px);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.pf:hover{padding-left:12px}
.pf.on{padding-left:18px;font-style:italic}
.pf.on svg{opacity:1;transform:none}
.sd.fx-a{animation:sd-a .7s cubic-bezier(.2,.7,.2,1) both}
.sd.fx-b{animation:sd-b .7s cubic-bezier(.2,.7,.2,1) both}
@keyframes sd-a{from{opacity:0;transform:translateY(14px)}}
@keyframes sd-b{from{opacity:0;transform:translateY(14px)}}
.pill{display:inline-flex;align-items:center;min-height:26px;padding:0 12px;box-sizing:border-box;border:1px solid #094D41;border-radius:999px;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:#094D41}
.pill.required{background:#094D41;color:#FFF8EF}
.pill.expected{background:rgba(9,77,65,0.12)}
.pill.watch{border-style:dashed}

.prac .lead-mark{transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.card{transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .4s ease}
.gl{display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){
.prac:hover .lead-mark{transform:rotate(-8deg) scale(1.08)}
.card:hover{transform:translateY(-6px);border-color:#094D41}
.card:hover .gl{transform:scale(1.1)}
}
.pfc{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:104px;margin:0;padding:16px 18px 18px;box-sizing:border-box;border:1px solid rgba(9,77,65,0.35);background:transparent;color:#094D41;font:300 clamp(19px,1.7vw,23px)/1.2 'Proza Display',Optima,Candara,sans-serif;text-align:left;cursor:pointer;transition:background .4s ease,color .4s ease,border-color .4s ease}
.pfc-o{display:block;width:12px;height:12px;box-sizing:border-box;border:1.25px solid currentColor;border-radius:50%;transition:background .4s ease}
.pfc.on{background:#094D41;border-color:#094D41;color:#FFF8EF}
.pfc.on .pfc-o{background:#FFF8EF}
@media (hover:hover){.pfc:hover{border-color:#094D41}}
.sdc{display:flex;flex-direction:column;gap:8px;padding:16px 16px 18px;box-sizing:border-box;border:1px solid rgba(9,77,65,0.25);background:#FFF8EF}
.sdc.req{background:#094D41;border-color:#094D41;color:#FFF8EF}
.sdc.exp{background:rgba(9,77,65,0.1)}
.sdc.wat{background:transparent;border-style:dashed;border-color:rgba(9,77,65,0.6)}
.fig-ring .ring{stroke-width:1.2px;opacity:.5;stroke-dasharray:5 6;transition:opacity .8s ease}
.fig-ring .ring.done{opacity:.8;stroke-dasharray:none}
.fig-ring .ring.cur{opacity:1;stroke-width:1.8px;stroke-dasharray:none}
.fig-ring .tick{fill:#094D41;stroke:#FFF8EF;stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.75}
.run{opacity:0;transition:opacity .6s ease}
.run.on{opacity:1}
.cyb{display:flex;flex-direction:column;gap:6px;min-height:44px;margin:0;padding:12px 0 4px;border:0;border-top:1px solid rgba(255,248,239,0.3);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .5s ease}
.cyb.on{border-top:2px solid #FFF8EF;padding-top:11px}
.cyb.on .cyb-t{font-style:italic;font-weight:300}
.ld-fade{animation:fade-in 2.4s ease .2s both}
.rz-wrap{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.drawer{animation:drawer-in .9s cubic-bezier(.16,.8,.2,1) both}
@keyframes drawer-in{from{opacity:0;transform:translateY(-14px)}}
.figbtn{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:44px;margin:auto 0 0;padding:0 18px;box-sizing:border-box;border:1px solid #094D41;border-radius:999px;background:transparent;color:#094D41;font:600 12px 'Proza Display',Optima,Candara,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .35s ease,color .35s ease}
.figbtn-i{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.figbtn.on{background:#094D41;color:#FFF8EF}
.figbtn.on .figbtn-i{transform:rotate(45deg)}
.xbtn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:1px solid rgba(9,77,65,0.35);border-radius:50%;background:none;color:#094D41;cursor:pointer;transition:background .3s ease,color .3s ease}
@media (hover:hover){.figbtn:hover,.xbtn:hover{background:#094D41;color:#FFF8EF}}
.sl{position:relative;height:44px;min-width:0}
.sl-line{position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(9,77,65,0.5)}
.sl-peer{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;box-sizing:border-box;border:1px solid #094D41;border-radius:50%;background:#FFFFFF}
.sl-med{position:absolute;top:50%;width:1px;height:24px;margin-top:-12px;background:#094D41}
.sl-you{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#094D41;box-shadow:0 0 0 5px rgba(9,77,65,0.14);pointer-events:none;transition:box-shadow .3s ease}
.gauge{transition:stroke-dasharray .35s ease}
.cover{position:absolute;right:-10%;top:-14%;width:86%;height:128%;pointer-events:none;-webkit-mask-image:linear-gradient(to left,#000 40%,transparent 92%);mask-image:linear-gradient(to left,#000 40%,transparent 92%);transition:transform 2.4s cubic-bezier(.2,.7,.2,1)}
.cover rect,.cover path{vector-effect:non-scaling-stroke}
.cover-ring{stroke-dasharray:3 10;animation:cover-dash 14s linear infinite}
.cover-ring2{stroke-dasharray:2 8;animation:cover-dash 20s linear infinite reverse}
@keyframes cover-dash{to{stroke-dashoffset:-260}}
.case-badge{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.case-badge svg{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){
.case:hover .cover{transform:scale(1.05)}
.case:hover .case-badge{transform:scale(1.08)}
.case:hover .case-badge svg{transform:translateX(5px)}
}
.case{clip-path:inset(0 0 0 0);transition:clip-path 1.4s cubic-bezier(.2,.7,.2,1)}
.rv-on .rv:not(.in) .case{clip-path:inset(0 0 100% 0)}
.rz{overflow:visible}
.rz g{transform-origin:0px 0px;animation:rz-zoom 9s cubic-bezier(.333,.255,.667,.574) infinite}
.rz path{fill:none;stroke:#FFF8EF;stroke-width:1.5px;vector-effect:non-scaling-stroke;animation:rz-fade 9s linear infinite}
@keyframes rz-zoom{from{transform:scale(1) rotate(0deg)}to{transform:scale(1.66667) rotate(-9deg)}}
@keyframes rz-fade{from{opacity:var(--a)}to{opacity:var(--b)}}
.rz path:nth-child(1){--a:.12;--b:0}
.rz path:nth-child(2){--a:.26;--b:.12}
.rz path:nth-child(3){--a:.5;--b:.26}
.rz path:nth-child(4){--a:.75;--b:.5}
.rz path:nth-child(5){--a:.85;--b:.75}
.rz path:nth-child(6){--a:.7;--b:.85}
.rz path:nth-child(7){--a:.4;--b:.7}
.rz path:nth-child(8){--a:0;--b:.4}
.cta-text{max-width:min(900px,68%)}

/* Home hero: background video under a green tint; rings and text sit above it */
.hero-media{position:absolute;left:0;top:0;right:0;bottom:0;z-index:0;pointer-events:none}
.hero-video{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;background:#094D41}
.hero-tint{position:absolute;left:0;top:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,0.38) 0,rgba(0,0,0,0) 170px),linear-gradient(90deg,rgba(0,0,0,0.62) 0%,rgba(0,0,0,0.5) 45%,rgba(0,0,0,0.36) 100%)}
/* the hero runs up behind the transparent top bar */
.hero{margin-top:-65px;padding-top:65px}
.hud{transition:background .4s ease,border-color .4s ease,color .4s ease,-webkit-backdrop-filter .4s ease,backdrop-filter .4s ease}
.hud.on-hero{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:rgba(255,248,239,0.2) !important;color:#FFF8EF}
.hud.on-hero .btn-ink{background:#FFF8EF !important;color:#094D41 !important}
.hud.on-hero .progress{background:#FFF8EF}
.hero-media ~ div{position:relative;z-index:1}
.hero-pause{position:absolute;right:clamp(20px,5.5vw,80px);bottom:24px;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:1px solid rgba(255,248,239,0.6);border-radius:50%;background:rgba(0,0,0,0.35);color:#FFF8EF;cursor:pointer;transition:background .3s ease,border-color .3s ease}
.hero-pause:hover{background:rgba(0,0,0,0.7);border-color:#FFF8EF}
.hero-pause:focus-visible{outline:2px solid #FFF8EF;outline-offset:3px}
.hero-pause.off{display:none}
.hp-pause{display:block;width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
.hp-play{display:none;width:0;height:0;margin-left:3px;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.hero-pause.paused .hp-pause{display:none}
.hero-pause.paused .hp-play{display:block}
@media (max-width:900px){.hero-tint{background:linear-gradient(180deg,rgba(0,0,0,0.62) 0%,rgba(0,0,0,0.5) 55%,rgba(0,0,0,0.36) 100%)}}

@media (max-width:900px){
.nav-sec{display:none !important}
.cta-text{max-width:none}
.contact-inner{padding-bottom:340px !important}
.hero-inner{padding-bottom:360px !important}
.hero-rings{left:60% !important;top:auto !important;bottom:170px}
.cta-rings{left:60% !important;top:auto !important;bottom:160px}
}
@media (max-width:640px){
.dot-l{display:none}
.is-sel .dot-l{display:block;background:#FFFFFF;padding:2px 6px}
.card{min-height:0 !important}
}

/* Practice section: the four interactive figures */
.fx-cap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.fx-k{margin:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.fx-k-n{color:rgba(9,77,65,0.78)}
.fx-cols{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px 56px}
.fx-side{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.fx-main{flex:1.5 1 420px;min-width:0;display:flex;flex-direction:column;gap:8px}
.fx-prompt{margin:0;font-weight:300;font-style:italic;font-size:clamp(24px,2.7vw,40px);line-height:1.2;letter-spacing:-.01em;text-wrap:balance}
.fx-lead{margin:0;font-size:16px;line-height:1.5;color:rgba(9,77,65,0.92);text-wrap:pretty}
.fx-quiet{font-size:15px;color:rgba(9,77,65,0.78)}
.fx-note{margin:0;font-size:13.5px;line-height:1.45;color:rgba(9,77,65,0.78)}
.fx-read{align-self:stretch;display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid rgba(9,77,65,0.25)}
.fx-big-row{margin:0;display:flex;align-items:baseline;gap:12px}
.fx-big{font-weight:300;font-size:clamp(52px,5.4vw,76px);line-height:.9;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.fx-big-l{font-size:15px;line-height:1.3;color:rgba(9,77,65,0.92)}
.fx-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.fx-cta{align-self:stretch;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 24px;padding-top:12px;border-top:1px solid rgba(9,77,65,0.25)}
.fx-cta p{flex:1 1 260px;margin:0;font-size:16px}
.fx-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid rgba(9,77,65,0.45);border-radius:999px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:40px;margin:0;padding:0 14px;border:1px solid rgba(9,77,65,0.35);border-radius:999px;background:transparent;color:#094D41;font:400 14.5px/1.2 'Proza Display',Optima,Candara,sans-serif;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}
.chip.on{background:#094D41;border-color:#094D41;color:#FFF8EF}
@media (hover:hover){.chip:hover{border-color:#094D41}}
.chip:focus-visible,.seg-b:focus-visible,.pfc:focus-visible,.tgl:focus-visible{outline:2px solid #094D41;outline-offset:2px}

/* fig. 1: topics by sector */
.tags{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.tag{padding:4px 10px;border:1px dashed rgba(9,77,65,0.45);border-radius:4px;font-size:13.5px;line-height:1.3;color:rgba(9,77,65,0.7);transition:background .3s ease,color .3s ease,border-color .3s ease}
.tag.on{border-style:solid;border-color:#094D41;background:rgba(9,77,65,0.08);color:#094D41;font-weight:600}
.dot-n{position:absolute;top:50%;transform:translateY(-50%);display:none;color:#094D41}
.tag-n{display:none;margin-right:6px;font-weight:600}
span.dot{cursor:default;transition:left .9s cubic-bezier(.2,.7,.2,1),bottom .9s cubic-bezier(.2,.7,.2,1)}

/* fig. 2: standards finder (several boxes can be ticked, so the marker is square) */
.pfc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px}
.pfc-grid .pfc-o{border-radius:2px}
.std-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:8px 24px;align-items:start}
.std-group{display:flex;flex-direction:column;gap:12px;padding:14px 0 8px;border-top:1px solid rgba(9,77,65,0.6)}
.std-head{margin:0 0 4px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.std-count{font-weight:300;font-size:22px;line-height:1;color:rgba(9,77,65,0.78)}
.sdc-name{margin:0;font-weight:300;font-size:clamp(19px,1.6vw,22px);line-height:1.2}
.sdc-note{margin:0;font-size:15px;line-height:1.45}
.sdc-why{margin:0;font-size:12.5px;line-height:1.4;opacity:.78}
.sdc-why:empty{display:none}

/* fig. 3: peer benchmark */
.bm-key{margin:0 0 10px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13.5px;color:rgba(9,77,65,0.78)}
.bm-key li{display:inline-flex;align-items:center;gap:8px}
.bm-key span{display:block}
.bm-key-you{width:14px;height:14px;border-radius:50%;background:#094D41}
.bm-key-peer{width:9px;height:9px;box-sizing:border-box;border:1px solid #094D41;border-radius:50%}
.bm-key-med{width:1px;height:18px;background:#094D41}
.bm-axis{justify-content:space-between;margin-bottom:4px}
.bm-list{margin:0;padding:0;list-style:none;border-bottom:1px solid rgba(9,77,65,0.22)}
.bm-r{display:grid;grid-template-columns:minmax(140px,190px) minmax(0,1fr) 104px 74px;align-items:center;gap:4px 20px;padding:10px 0;border-top:1px solid rgba(9,77,65,0.22)}
.bm-name{font-weight:300;font-size:21px;line-height:1.2}
.bm-r .pill{justify-content:center;transition:background .3s ease,color .3s ease}
.bm-rank{font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(9,77,65,0.78);text-align:right;white-space:nowrap}
.bm-sl .sl-peer,.bm-sl .sl-med{transition:left .9s cubic-bezier(.2,.7,.2,1)}

/* fig. 4: disclosure and the rating */
.rt-score{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.rt-ring{position:relative;width:148px;height:148px;flex:0 0 auto}
.rt-ring-t{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.rt-num{font-weight:300;font-size:52px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rt-of{font-size:13.5px;color:rgba(9,77,65,0.78)}
.rt-band{margin:0;display:flex;flex-direction:column;gap:4px}
.rt-band-l{font-weight:300;font-size:56px;line-height:1}
.rt-band-n{font-size:13.5px;color:rgba(9,77,65,0.78)}
.rt-key{margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13.5px;color:rgba(9,77,65,0.78)}
.rt-key > span{display:inline-flex;align-items:center;gap:8px}
.rt-key-s{display:block;width:18px;height:6px;background:#094D41}
.rt-key-a{display:block;width:0;height:16px;border-left:2px dotted #094D41}
.rt-pillar{padding:14px 0 6px;border-top:1px solid rgba(9,77,65,0.6)}
.rt-r{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n t" "b v";align-items:center;gap:8px 16px;padding:10px 0 12px;border-top:1px solid rgba(9,77,65,0.22)}
.rt-name{grid-area:n;margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px;font-weight:300;font-size:21px;line-height:1.2}
.rt-w{font-size:13.5px;color:rgba(9,77,65,0.78)}
.rt-bar{grid-area:b;position:relative;height:6px;background:rgba(9,77,65,0.12)}
.rt-fill{position:absolute;left:0;top:0;bottom:0;background:#094D41;transition:width .6s cubic-bezier(.2,.7,.2,1),background .3s ease}
.rt-r:not(.on) .rt-fill{background:rgba(9,77,65,0.4)}
.rt-act{position:absolute;top:-6px;bottom:-6px;width:0;border-left:2px dotted #094D41;transition:opacity .3s ease}
.rt-r.on .rt-act{opacity:0}
.rt-val{grid-area:v;min-width:36px;text-align:right;font-weight:300;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}
.tgl{grid-area:t;display:inline-flex;align-items:center;gap:10px;min-width:164px;min-height:40px;margin:0;padding:0 14px 0 6px;box-sizing:border-box;border:1px solid rgba(9,77,65,0.45);border-radius:999px;background:transparent;color:#094D41;font:600 11.5px 'Proza Display',Optima,Candara,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:border-color .3s ease}
.tgl.on{border-color:#094D41}
.tgl-k{position:relative;display:block;flex:0 0 auto;width:34px;height:20px;border-radius:999px;background:rgba(9,77,65,0.2);transition:background .3s ease}
.tgl-k::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#FFFFFF;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.tgl.on .tgl-k{background:#094D41}
.tgl.on .tgl-k::after{transform:translateX(14px)}

/* Practice section on narrow screens. The figures' two columns stack below
   ~860px: flatten them so the chart sits right under the controls, with notes
   and the call to action after it. */
@media (max-width:860px){
.drawer .fig-cols,.drawer .fig-side{display:contents !important}
.drawer .fig-main{order:1;align-self:stretch;flex:0 0 auto}
.drawer .fig-note{order:2}
.drawer .fig-cta{order:3}
/* rating: keep the score in view while the toggles move it */
.drawer .rt-score{position:sticky;top:64px;z-index:2;align-self:stretch;margin:0 -4px;padding:8px 4px;background:#FFFFFF;border-bottom:1px solid rgba(9,77,65,0.25)}
}

/* Practice section on phones: compact cards and figure rows */
@media (max-width:640px){
.prac{gap:12px !important;margin-bottom:12px !important}
.prac ~ .prac,.drawer + .prac{margin-top:28px}
.prac > div:last-child{gap:12px !important}
.prac-lead{min-height:0 !important;gap:28px !important;padding:20px 20px 22px !important}
.prac-lead > p > span:first-child{font-size:44px !important}
.prac-lead .lead-mark{width:64% !important;right:-12% !important;bottom:-30% !important}
.card{gap:8px !important;padding:18px 20px 20px !important}
.card .gl{width:34px;height:34px}
.card h4{margin-top:4px !important}
.card .figbtn{margin-top:8px}

.drawer{padding:18px 16px 20px !important;gap:18px !important}
.drawer .xbtn{align-self:flex-start}
/* sectors: one row that scrolls sideways, fading at the edge to show there is more */
.chips{align-self:stretch;flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 16px,#000 82%,transparent);mask-image:linear-gradient(to right,transparent,#000 16px,#000 82%,transparent)}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;min-height:38px;padding:0 12px;font-size:14px;white-space:nowrap}
/* three-way toggles: equal columns on one line */
.seg{align-self:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.fx-row .seg{flex:1 1 100%}
.seg-b{padding:0 4px;font-size:11px;letter-spacing:.05em}
/* matrix: too small for names, so dots are numbered to match the topic list */
.drawer span.dot .dot-l{display:none}
.dot-n{display:block;left:calc(50% + 9px);font-size:11px;font-weight:600}
.l-left .dot-n{left:auto;right:calc(50% + 9px)}
.tag-n{display:inline-block}

.pfc{flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;min-height:54px;padding:12px 16px;font-size:18px}
.pfc-o{flex:0 0 12px}

.bm-r{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n p" "s r";gap:6px 12px;padding:8px 0}
.bm-name{grid-area:n;font-size:19px}
.bm-r .pill{grid-area:p;min-height:24px;font-size:11px}
.bm-sl{grid-area:s}
.bm-rank{grid-area:r}

.rt-r{gap:8px 12px;padding:8px 0 12px}
.rt-name{font-size:19px}
.tgl{min-width:0;padding:0 12px 0 5px;font-size:10.5px}
.rt-score{gap:6px 20px}
.rt-ring{width:96px;height:96px}
.rt-num{font-size:34px}
.rt-of{font-size:11px}
.rt-band-l{font-size:40px}
.rt-band-n{font-size:12.5px}
}
/* Practice section: ledger rows with line icons (5 practices, 23 services) */
.led{display:flex;flex-wrap:wrap;gap:24px 64px;padding:clamp(28px,3.4vw,44px) 0 clamp(32px,3.6vw,48px);border-top:1px solid rgba(9,77,65,0.35)}
.led-p{flex:1 1 260px;max-width:360px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.led-pi{display:block;width:56px;height:56px;margin-bottom:6px}
.led-n{margin:0;display:flex;align-items:baseline;gap:14px}
.led-nn{font-weight:300;font-style:italic;font-size:clamp(36px,3.4vw,48px);line-height:1}
.led-nc{font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(9,77,65,0.78)}
.led-h{margin:0;font-weight:300;font-size:clamp(28px,2.6vw,38px);line-height:1.08;letter-spacing:-.01em}
.led-u{margin:0;font-size:16px;color:rgba(9,77,65,0.88)}
.led-l{flex:3 1 560px;min-width:0;margin:0;padding:0;list-style:none}
.led-r{display:grid;grid-template-columns:44px minmax(170px,250px) minmax(0,1fr);gap:6px 28px;align-items:start;padding:18px 0;border-top:1px solid rgba(9,77,65,0.16)}
.led-r:first-child{border-top:0;padding-top:6px}
.led-i{display:block;width:40px;height:40px;stroke-width:1.5;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.led-r:hover .led-i{transform:scale(1.12)}
.led-nm{display:flex;flex-direction:column;gap:4px}
.svc-n{font-weight:600;font-size:11.5px;letter-spacing:.14em;color:rgba(9,77,65,0.7)}
.svc-t{margin:0;font-weight:400;font-size:clamp(19px,1.5vw,21px);line-height:1.2}
.led-d{padding-top:17px}
.svc-d{margin:0;font-size:15.5px;line-height:1.55;color:rgba(9,77,65,0.9);max-width:60ch}
.led-d .figbtn{margin-top:12px}
.led + .drawer,.drawer + .drawer{margin-top:4px}
@media (max-width:640px){
.led{gap:18px}
.led-pi{width:44px;height:44px}
.led-r{grid-template-columns:30px minmax(0,1fr);gap:6px 16px;padding:16px 0}
.led-i{width:28px;height:28px}
.led-d{grid-column:2;padding-top:0}
.svc-d{font-size:15px}
}

/* Ways to work with us */
.way-t{margin:0;font-weight:300;font-size:clamp(25px,2.2vw,32px);line-height:1.1;letter-spacing:-.01em}
.way-d{margin:0 0 6px;font-size:16px;line-height:1.5;opacity:.92}
.way-a{margin-top:auto;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.way-a:hover{text-decoration-thickness:2px}
.way-a svg{transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.way-a:hover svg{transform:translateX(4px)}

/* Method: practices that feed each step */
.feeds-k{display:block;margin-top:16px;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,248,239,0.86)}
.feeds{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.feed{display:inline-flex;align-items:baseline;gap:8px;padding:6px 14px;border:1px solid rgba(255,248,239,0.45);border-radius:999px;font-size:15px;line-height:1.3}
.feed b{font-weight:600;font-size:11.5px;letter-spacing:.1em;color:rgba(255,248,239,0.75)}
.feeds-i{display:block;margin-top:10px;font-size:15px;line-height:1.5;color:rgba(255,248,239,0.8)}
@media (max-width:640px){
.feed{font-size:14px;padding:5px 12px}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.ld,.ld-fade,.hw,.draw,.hud,.dot,.dot-f,.tk-track,.sd,.drawer,.rz g,.rz path{animation:none !important}
.rz path{opacity:.4}
.rv-on .rv-up:not(.in),.rv-on .rv:not(.in) .rv-c{opacity:1 !important;transform:none !important}
.rv-on .rv:not(.in) .case{clip-path:none !important}
.cover-ring,.cover-ring2{animation:none !important}
.rv-on .rv:not(.in) .ln{transform:none !important}
.rv-on .rv-words:not(.in) .wd{opacity:1 !important}
}

/* Method and Contact are both green: separate them with the footer hairline */
#contact{border-top:1px solid rgba(255,248,239,0.22)}
