
:root{--purple:#7546B8;--deep:#43216E;--lav:#F2EBFA;--ink:#25212B;--muted:#595063;--line:#dccfee;
--serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost",system-ui,sans-serif;--gut:clamp(20px,5vw,72px);--r:10px;--ease:cubic-bezier(.32,.72,0,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:var(--sans);color:var(--ink);background:#fff;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;letter-spacing:-.01em;color:var(--deep)}
h1{font-size:clamp(48px,6.6vw,96px);padding-bottom:.05em}
h2{font-size:clamp(36px,4.6vw,60px)}
h3{font-size:clamp(24px,2.4vw,30px)}
em{font-style:italic;color:var(--purple)}
p.lead{font-size:18px;color:var(--muted);max-width:30em}
.btn{display:inline-block;background:var(--purple);color:#fff;text-decoration:none;padding:15px 30px;font-weight:500;font-size:14px;letter-spacing:.06em;border:1px solid var(--purple);border-radius:var(--r);transition:background .4s var(--ease),border-color .4s var(--ease),transform .3s var(--ease);cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--deep);border-color:var(--deep)}
.btn:active{transform:translateY(1px)}
.btn.light{background:#fff;color:var(--deep);border-color:#fff}
.btn.light:hover{background:var(--lav);border-color:var(--lav)}
.tl{font-weight:500;color:var(--deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;transition:text-decoration-thickness .3s var(--ease)}
.tl:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:#000;padding:10px 16px;font-weight:600}.skip:focus{left:12px}
.arch{border-radius:999px 999px 0 0;overflow:hidden}
.rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
section{padding:clamp(72px,9vw,128px) 0}

header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:68px}
.logo{font-family:var(--serif);font-size:30px;font-weight:600;text-decoration:none;color:var(--deep);white-space:nowrap}
.logo i{font-weight:500;color:var(--purple)}
nav.main{display:flex;gap:28px;font-size:14px;letter-spacing:.06em}
nav.main a{text-decoration:none;position:relative;padding:4px 0}
nav.main a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
nav.main a:hover::after,nav.main a[aria-current]::after{transform:scaleX(1)}
.bar .right{justify-self:end}
.bar .right .btn{padding:10px 22px}
.menu-btn,.spacer,.drawer{display:none}
.menu-btn{background:none;border:0;width:44px;height:44px;cursor:pointer}
.menu-btn span{display:block;width:24px;height:1.5px;background:var(--deep);margin:6px auto;transition:transform .4s var(--ease),opacity .3s var(--ease)}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* home hero */
.hero{min-height:calc(100dvh - 68px);display:flex;align-items:center;padding:clamp(28px,4vw,56px) 0}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,100px);align-items:center;width:100%}
.hero h1{font-size:clamp(46px,5.4vw,84px)}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.hero h1 .ln>span{display:block;animation:rise 1.2s var(--ease) both}
.hero h1 .ln:nth-child(2)>span{animation-delay:.12s}
.hero p{margin:24px 0 34px;animation:fade 1s var(--ease) .4s both}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;animation:fade 1s var(--ease) .55s both}
.hero-art{margin-left:auto;width:100%;max-width:500px}
.hero-art .arch{animation:reveal 1.4s var(--ease) both}
.hero-art img{aspect-ratio:4/5;object-fit:cover;width:100%}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes reveal{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}

/* home: intro composition */
.intro .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,7vw,110px);align-items:center}
.pair{position:relative;padding-bottom:12%}
.pair .big{aspect-ratio:3/2;object-fit:cover;width:84%}
.pair .small{position:absolute;right:0;bottom:0;width:38%;aspect-ratio:3/4;object-fit:cover;border:8px solid #fff}
.intro h2{margin-bottom:22px}
.intro p{color:var(--muted);max-width:28em;margin-bottom:26px}

/* home: service index */
.index{background:var(--lav)}
.index .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,7vw,110px)}
.index h2{margin-bottom:20px}
.index p{color:var(--muted);max-width:22em;margin-bottom:24px}
.irow{display:grid;grid-template-columns:1fr auto;gap:2px 24px;padding:26px 0;border-top:1px solid #bda8dd;text-decoration:none;transition:padding .5s var(--ease)}
.irow:last-child{border-bottom:1px solid #bda8dd}
.irow b{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3vw,36px);color:var(--deep);line-height:1.1}
.irow span{color:var(--muted);grid-column:1}
.irow i{font-style:normal;font-family:var(--serif);font-size:26px;color:var(--purple);grid-column:2;grid-row:1/3;align-self:center}
.irow:hover{padding-left:16px}

/* home: stagger strip */
.strip h2{margin-bottom:clamp(32px,5vw,56px);max-width:12em}
.stag{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,28px);align-items:start}
.stag a{display:block;overflow:hidden;border-radius:999px 999px 0 0}
.stag img{width:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.stag a:hover img{transform:scale(1.04)}
.stag a:nth-child(1) img{aspect-ratio:3/4.6}
.stag a:nth-child(2){margin-top:64px}.stag a:nth-child(2) img{aspect-ratio:3/4}
.stag a:nth-child(3) img{aspect-ratio:3/4.2}
.stag a:nth-child(4){margin-top:40px}.stag a:nth-child(4) img{aspect-ratio:3/4.4}
.strip .more{margin-top:40px}

.cta-band{background:var(--deep);color:#fff;padding:clamp(56px,7vw,96px) 0}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta-band h2{color:#fff;max-width:12em}
.cta-band p{color:#e1d4f3;margin-top:12px}

/* inner page header */
.ph{background:var(--lav);padding:clamp(56px,8vw,112px) 0 clamp(40px,5vw,72px)}
.ph .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,6vw,100px);align-items:end}
.ph p{color:var(--muted);font-size:18px;max-width:24em}
.jump{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}

/* services page */
.sec{padding:clamp(56px,7vw,96px) 0}
.sec .wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(28px,7vw,110px);align-items:start}
.sec .side{position:sticky;top:110px}
.sec .side p{color:var(--muted);margin-top:14px;max-width:18em}
.item{display:grid;grid-template-columns:1fr auto;gap:2px 24px;padding:22px 0;border-bottom:1px solid var(--line)}
.item:first-child{border-top:1px solid var(--deep)}
.item b{font-weight:500;font-size:18px}
.item .p{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--purple);line-height:1.1}
.item .d{color:var(--muted);font-size:16px;max-width:34em}
.item .t{grid-column:2;grid-row:2;text-align:right;font-size:14px;color:var(--muted);align-self:end}
.break{height:clamp(240px,34vw,460px);overflow:hidden}
.break img{width:100%;height:100%;object-fit:cover}
.know{background:var(--lav)}
.know .wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(28px,7vw,110px)}
.know dl>div{padding:22px 0;border-top:1px solid #bda8dd}
.know dl>div:last-child{border-bottom:1px solid #bda8dd}
.know dt{font-family:var(--serif);font-size:26px;color:var(--deep);line-height:1.15;margin-bottom:6px}
.know dd{color:var(--muted);max-width:34em}

/* gallery */
.filters{display:flex;gap:10px 28px;flex-wrap:wrap;margin-bottom:36px}
.filters button{background:none;border:0;border-bottom:1px solid transparent;padding:6px 0;font-size:14px;letter-spacing:.06em;cursor:pointer;color:var(--muted);transition:color .3s var(--ease),border-color .3s var(--ease)}
.filters button:hover{color:var(--deep)}
.filters button[aria-pressed=true]{color:var(--deep);border-color:var(--purple)}
.masonry{columns:3;column-gap:clamp(12px,2vw,28px)}
.g{all:unset;display:block;position:relative;margin:0 0 clamp(12px,2vw,28px);break-inside:avoid;cursor:zoom-in;overflow:hidden;width:100%}
.g img{width:100%;transition:transform 1.2s var(--ease)}
.g:hover img{transform:scale(1.04)}
.g:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.g[hidden]{display:none}
dialog{border:0;background:transparent;max-width:min(92vw,820px);width:100%;padding:0;margin:auto;overflow:visible}
dialog::backdrop{background:rgba(37,33,43,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
dialog img{max-height:78dvh;width:auto;max-width:100%;margin:0 auto;object-fit:contain}
dialog .cap{color:#fff;text-align:center;margin-top:14px;font-family:var(--serif);font-size:24px}
dialog button{position:absolute;right:0;top:-44px;background:none;border:1px solid rgba(255,255,255,.6);color:#fff;padding:6px 16px;cursor:pointer;font-size:14px}

/* about */
.a-open .wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,7vw,110px);align-items:end}
.a-open p{color:var(--muted);font-size:18px}
.a-img{height:clamp(300px,46vw,620px);overflow:hidden;margin-top:clamp(48px,6vw,88px)}
.a-img img{width:100%;height:116%;object-fit:cover}
.story .wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(28px,7vw,110px)}
.story .cols{columns:2;column-gap:48px;color:var(--muted)}
.story .cols p{margin-bottom:18px;break-inside:avoid}
.how{background:var(--deep);color:#fff}
.how h2{color:#fff}
.how ol{list-style:none;counter-reset:n;margin-top:36px}
.how li{counter-increment:n;display:grid;grid-template-columns:90px 1fr 1.2fr;gap:24px;padding:28px 0;border-top:1px solid rgba(255,255,255,.25);align-items:baseline}
.how li:last-child{border-bottom:1px solid rgba(255,255,255,.25)}
.how li::before{content:counter(n);font-family:var(--serif);font-size:56px;color:#cdb6ee;line-height:1}
.how li h3{color:#fff}
.how li p{color:#e1d4f3}
.mosaic .wrap{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:clamp(12px,2vw,28px);align-items:end}
.mosaic img{width:100%;object-fit:cover}
.mosaic img:nth-child(1){aspect-ratio:3/4}.mosaic img:nth-child(2){aspect-ratio:1/1}.mosaic img:nth-child(3){aspect-ratio:3/4.4}

/* contact */
.c-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,7vw,110px);align-items:start}
form h2{font-size:clamp(30px,3.4vw,40px);margin-bottom:6px}
form .s{color:var(--muted);font-size:14px;margin-bottom:6px}
label{display:block;font-size:14px;letter-spacing:.06em;font-weight:500;margin:20px 0 6px;color:var(--deep)}
input,select,textarea{width:100%;font:inherit;font-size:16px;padding:14px;border:1px solid #a893cb;background:#fff;border-radius:var(--r);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--purple);outline-offset:0;border-color:var(--purple)}
input[aria-invalid=true]{border-color:#a3262f}
.err{display:none;color:#8f1f28;font-size:14px;margin-top:5px}
input[aria-invalid=true]+.err{display:block}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form .btn{margin-top:28px;width:100%;padding:17px}
form .btn[disabled]{opacity:.7;cursor:progress}
#ok{display:none;margin-top:18px;padding:16px;background:var(--lav);border:1px solid var(--purple)}
.c-info h3{margin:0 0 10px}
.c-info section,.c-info>div{padding:0 0 32px}
.hours{width:100%;border-collapse:collapse}
.hours td{padding:10px 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right}
.c-info address{font-style:normal;line-height:1.9}
.c-info a{color:var(--deep);font-weight:500}
.before{background:var(--lav)}
.before .wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(28px,7vw,110px)}
.before ul{list-style:none;columns:2;column-gap:48px}
.before li{padding:16px 0;border-top:1px solid #bda8dd;break-inside:avoid;color:var(--muted)}
.before li b{display:block;color:var(--deep);font-weight:500}

footer{background:var(--deep);color:#d9c9ef}
footer .top{padding:clamp(56px,7vw,96px) 0 40px}
footer .wrap.g4{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(24px,4vw,64px)}
footer .mark{font-family:var(--serif);font-size:clamp(48px,6vw,84px);line-height:1;color:#fff;text-decoration:none}
footer .mark i{color:#cdb6ee}
footer h4{font-family:var(--sans);font-size:14px;letter-spacing:.08em;font-weight:500;color:#cdb6ee;margin-bottom:12px}
footer ul{list-style:none}
footer li{padding:3px 0}
footer a{color:#fff;text-decoration:none}
footer a:hover{text-decoration:underline;text-underline-offset:4px}
footer .base{border-top:1px solid rgba(255,255,255,.2);padding:20px 0;font-size:14px}
footer .base .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mbar{display:none}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}@view-transition{navigation:none}}

@media (max-width:980px){
  .bar{grid-template-columns:44px 1fr 44px}
  nav.main,.bar .right{display:none}
  .menu-btn,.spacer{display:block}
  .logo{justify-self:center;font-size:26px}
  .drawer{position:fixed;inset:68px 0 0 0;z-index:40;display:flex;flex-direction:column;padding:28px var(--gut);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility 0s .6s}
  .drawer.open{opacity:1;visibility:visible;transition:opacity .6s var(--ease),visibility 0s}
  .drawer a{font-family:var(--serif);font-size:40px;color:var(--deep);text-decoration:none;padding:8px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(40px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .drawer.open a{opacity:1;transform:none}
  .drawer.open a:nth-child(2){transition-delay:.08s}.drawer.open a:nth-child(3){transition-delay:.15s}.drawer.open a:nth-child(4){transition-delay:.22s}.drawer.open a:nth-child(5){transition-delay:.29s}.drawer.open a:nth-child(6){transition-delay:.36s}
  .hero{min-height:0}
  .hero .wrap,.intro .wrap,.index .wrap,.ph .wrap,.sec .wrap,.know .wrap,.a-open .wrap,.story .wrap,.c-grid,.before .wrap{grid-template-columns:minmax(0,1fr)}
  .hero-art{max-width:440px;margin:0 auto 0 0}
  .sec .side{position:static}
  .stag{grid-template-columns:1fr 1fr}
  .stag a:nth-child(n){margin-top:0}.stag a:nth-child(even){margin-top:36px}
  .masonry{columns:2}
  .story .cols,.before ul{columns:1}
  .how li{grid-template-columns:56px 1fr}.how li p{grid-column:2}
  .mosaic .wrap{grid-template-columns:1fr 1fr}.mosaic img:nth-child(3){display:none}
  footer .wrap.g4{grid-template-columns:1fr 1fr}footer .wrap.g4>div:first-child{grid-column:1/3}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid var(--line);padding:10px var(--gut);gap:10px}
  .mbar a{flex:1;text-align:center;padding:13px;text-decoration:none;font-weight:500;font-size:14px;border:1px solid var(--deep);color:var(--deep);border-radius:var(--r)}
  .mbar a.p{background:var(--purple);border-color:var(--purple);color:#fff}
  body{padding-bottom:68px}
}
@media (max-width:560px){.two{grid-template-columns:1fr}.masonry{columns:2;column-gap:10px}.pair .big{width:90%}.cta-band .wrap{align-items:flex-start}}

/* typography and layout polish */
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
.item .p,.irow i,.how li::before,.steps li::before{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.ph h1,.a-open h1{font-size:clamp(44px,5.2vw,76px)}
.ph .wrap{grid-template-columns:1.4fr .9fr}
.know{background:#fff;border-top:1px solid var(--line)}
.know dl>div{border-top-color:var(--line)}.know dl>div:last-child{border-bottom-color:var(--line)}
footer .top{padding-top:clamp(56px,7vw,96px);padding-bottom:40px;padding-left:var(--gut);padding-right:var(--gut)}
footer .wrap.g4{max-width:1280px;margin:0 auto}
.before h2,.know h2{max-width:6em}
@media (max-width:980px){.ph .wrap{grid-template-columns:minmax(0,1fr)}}

/* balanced gallery columns (filled by site.js), hero rhythm, small-screen footer */
.masonry.js{display:flex;columns:auto;gap:clamp(12px,2vw,28px);align-items:flex-start}
.masonry .mcol{flex:1;min-width:0}
.hero{min-height:min(calc(100dvh - 68px),780px)}
.intro{padding-top:clamp(40px,5vw,72px)}
@media (max-width:980px){.before h2,.know h2{max-width:none}.masonry.js{gap:10px}}
@media (max-width:560px){
  footer .wrap.g4{grid-template-columns:1fr;gap:28px}
  footer .wrap.g4>div:first-child{grid-column:auto}
  footer .base .wrap{flex-direction:column}
}
.masonry.js{align-items:stretch}
.masonry .mcol{display:flex;flex-direction:column}
.masonry .mcol .g:last-child{flex:1 1 auto;margin-bottom:0;min-height:0}
.masonry .mcol .g:last-child img{height:100%;object-fit:cover}

/* page fade: content eases in on arrival and out on leaving; the header stays put */
@keyframes pgin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
main,footer{animation:pgin .75s var(--ease) backwards}
footer{animation-delay:.08s}
main,footer{transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}
html.leaving main,html.leaving footer{opacity:0;transform:translateY(-8px)}

/* every services heading stays pinned while its list scrolls past */
.know h2{position:sticky;top:110px;align-self:start}
@media (max-width:980px){.know h2{position:static}}


/* ======== v3: scroll choreography and polish ======== */
/* reveal variants. .rv rises, .rvm unmasks upward, .rvh/.rvo are the How we work rows */
.rv.irow{transition:opacity 1s var(--ease),transform 1s var(--ease),padding .5s var(--ease)}
.btn.rv{transition:opacity 1s var(--ease),transform 1s var(--ease),background .4s var(--ease)}
.rvm img{clip-path:inset(100% 0 0 0);transform:scale(1.12);transition:clip-path 1.25s var(--ease),transform 1.8s var(--ease)}
.rvm.in img{clip-path:inset(0);transform:none}
.stag a.rvm.in:hover img,.g.rvm.in:hover img{transform:scale(1.04);transition-duration:.9s}

/* How we work: line draws, number rises, title slides, text settles */
.how li{border:0!important;position:relative}
.how li::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.28);transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease)}
.how li.in::after{transform:scaleX(1)}
.how li::before{opacity:0;transform:translateY(55%);transition:opacity .9s var(--ease) .2s,transform 1s var(--ease) .2s,color .4s var(--ease)}
.how li.in::before{opacity:1;transform:none}
.how li h3{opacity:0;transform:translateX(-26px);transition:opacity .9s var(--ease) .32s,transform 1s var(--ease) .32s}
.how li p{opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease) .48s,transform .9s var(--ease) .48s}
.how li.in h3,.how li.in p{opacity:1;transform:none}
.how li.in:hover h3{transform:translateX(12px);transition-delay:0s;transition-duration:.6s}
.how li.in:hover::before{color:#fff;transition-delay:0s}
.how ol{position:relative}
.how ol::after{content:"";display:block;height:1px;background:rgba(255,255,255,.28);transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease) .5s}
.how ol.in::after{transform:scaleX(1)}

/* scroll progress hairline */
#prog{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--purple);transform:scaleX(0);transform-origin:left;pointer-events:none;will-change:transform}

/* buttons: softer shape, deep fill sweeps across on hover */
.btn{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r)}
.btn::before{content:"";position:absolute;inset:0;background:var(--deep);transform:translateX(-102%);transition:transform .65s var(--ease);z-index:-1}
.btn:hover{background:var(--purple);border-color:var(--purple)}
.btn:hover::before{transform:none}
.btn.light::before{background:var(--lav)}
.btn.light:hover{background:#fff;border-color:#fff}
.mbar a{border-radius:var(--r)}
.pair .small,.g,.mosaic img{border-radius:var(--r)}
.pair .big{border-radius:var(--r)}

@media (prefers-reduced-motion:reduce){
  .rvm img{clip-path:none!important;transform:none!important}
  .how li::before,.how li h3,.how li p{opacity:1!important;transform:none!important}
  .how li::after,.how ol::after{transform:none!important}
  #prog{display:none}
}

/* services headings sit in their section and scroll with the page */
.sec .side,.know h2{position:static}
