@import url("mock.css");

.reveal{opacity:0;transform:translateY(18px);filter:blur(6px);transition:opacity .7s ease-out,transform .7s ease-out,filter .7s ease-out;}
.reveal.in{opacity:1;transform:none;filter:none;}
.brand{min-width:0;}
.brand img{height:34px;width:auto;object-fit:contain;}
.nav a.ext{display:inline-flex;align-items:center;gap:4px;}
.nav a.ext .ar{color:var(--accent);font-weight:800;}
.menu{display:none;width:42px;height:42px;border:1px solid var(--line);align-items:center;justify-content:center;font-size:1.3rem;}
.lang{display:flex;align-items:center;font-size:.78rem;font-weight:700;border:1px solid var(--line);overflow:hidden;}
.lang a,.lang span{padding:6px 9px;color:var(--muted);line-height:1;}
.lang .on{background:var(--ink);color:#fff;}
.lang a:hover{color:var(--accent);}

.hero{padding:72px 0 50px;}
.kicker{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ink);padding-bottom:14px;gap:20px;}
.kicker .stamp{font-family:var(--serif);font-size:.82rem;color:#2a2a2a;white-space:nowrap;}
.h1{font-family:var(--serif);font-weight:680;font-size:5.0rem;line-height:1.0;letter-spacing:-.012em;margin:38px 0 0;max-width:15ch;}
.h1 .o{color:var(--accent);}
.h1 .ln{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.08em;}
.h1 .ln i{display:block;font-style:normal;transform:translateY(124%);transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.h1.in .ln i{transform:none;}
.h1 .ln:nth-child(2) i{transition-delay:.08s;}.h1 .ln:nth-child(3) i{transition-delay:.16s;}
.lead{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;margin-top:34px;align-items:end;}
.lead p{font-size:1.16rem;color:#2c2a27;max-width:46ch;}
.lead .act{display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
.lead .act .note{font-size:.86rem;color:var(--muted);}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);margin-top:52px;}
.fact{padding:24px 26px 8px;position:relative;}
.fact+.fact::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:50px;background:var(--accent);}
.fact:first-child{padding-left:0;}.fact:last-child{border-right:0;}
.fact b{font-family:var(--serif);font-weight:600;font-size:2.7rem;line-height:.95;display:block;white-space:nowrap;}
.fact b .o{color:var(--accent);}
.fact>span{display:block;margin-top:12px;font-size:.85rem;color:var(--muted);max-width:21ch;}

.sec{padding:84px 0;}
.sec.white{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.head{max-width:62ch;margin-bottom:40px;}
.head .eyebrow{display:block;margin-bottom:14px;}
.head h2{font-family:var(--serif);font-weight:620;font-size:3.1rem;line-height:1.04;margin:0;}
.head p{margin-top:14px;color:var(--muted);font-size:1.06rem;}

/* real deliverables */
.arts{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.art{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;overflow:hidden;}
.art .ah{display:flex;justify-content:space-between;align-items:baseline;padding:18px 22px;border-bottom:1px solid var(--line);}
.art .ah b{font-family:var(--serif);font-weight:600;font-size:1.18rem;}
.art .ah span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700;}
.art .ab{padding:26px 24px;flex:1;display:flex;flex-direction:column;justify-content:center;}

/* viz: process map */
.pmap{width:100%;height:auto;display:block;}
.pmap .trk{stroke:var(--line);stroke-width:2;}
.pmap .trko{stroke:var(--accent);stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s ease-out;}
.play .pmap .trko{stroke-dashoffset:0;}
.pmap .nd rect{fill:var(--paper);stroke:var(--line);stroke-width:1;}
.pmap .nd.loss rect{fill:#fff;stroke:var(--accent);stroke-width:1.5;}
.pmap .nm{fill:var(--ink);font:600 15px var(--sans);}
.pmap .tm{fill:var(--muted);font:12px var(--sans);}
.pmap .pct{fill:var(--accent);font:600 17px var(--serif);}
.pmap .nd,.pmap .pct,.pmap .dotg{opacity:0;transition:opacity .5s ease-out,transform .5s ease-out;transform:translateY(7px);}
.play .pmap .nd,.play .pmap .pct,.play .pmap .dotg{opacity:1;transform:none;}
.pmap .dotg circle{fill:var(--accent);}

/* viz: loss table */
.ltab{width:100%;border-collapse:collapse;font-size:.84rem;}
.ltab th{text-align:left;font-weight:600;color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:0 10px 10px 0;border-bottom:1px solid var(--ink);}
.ltab th.r,.ltab td.r{text-align:right;padding-right:0;}
.ltab td{padding:11px 10px 11px 0;border-bottom:1px solid var(--line);}
.ltab tbody tr{opacity:0;transform:translateY(8px);transition:opacity .5s ease-out,transform .5s ease-out;}
.play .ltab tbody tr{opacity:1;transform:none;}
.ltab .pc{font-family:var(--serif);font-weight:600;color:var(--accent);font-size:1.0rem;}
.ltab .tot td{border-bottom:0;padding-top:15px;font-weight:600;}
.ltab .tot .big{font-family:var(--serif);font-size:1.25rem;}
.ltab .tot .big.o{color:var(--accent);}

/* viz: roi chart */
.roi-wrap{display:flex;flex-direction:column;gap:18px;}
.roic{width:100%;height:auto;display:block;}
.roic .grid{stroke:var(--line);stroke-width:1;}
.roic .area{fill:rgba(229,132,35,.08);opacity:0;transition:opacity .8s ease-out .5s;}
.play .roic .area{opacity:1;}
.roic .line{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s ease-out;}
.play .roic .line{stroke-dashoffset:0;}
.roic .mk{stroke:var(--graphite);stroke-width:1;stroke-dasharray:3 3;opacity:0;transition:opacity .4s ease-out 1.2s;}
.play .roic .mk{opacity:1;}
.roic .ax{fill:var(--muted);font:11px var(--sans);}
.roi-tiles{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);}
.roi-tiles .rti{padding:14px 14px 0 0;}
.roi-tiles .rti:last-child{padding-left:18px;border-left:1px solid var(--line);}
.roi-tiles .rti b{font-family:var(--serif);font-weight:600;font-size:1.7rem;display:block;}
.roi-tiles .rti b .o{color:var(--accent);}
.roi-tiles .rti span{font-size:.8rem;color:var(--muted);}

/* viz: 90-day plan bars */
.plan{display:flex;flex-direction:column;gap:16px;}
.prow2 .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px;}
.prow2 .lab{font-weight:600;font-size:.9rem;}
.prow2 .mo{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.prow2 .bar{height:30px;background:var(--paper);border:1px solid var(--line);position:relative;overflow:hidden;}
.prow2 .fill{position:absolute;inset:0;width:0;background:var(--graphite);transition:width 1s cubic-bezier(.2,.7,.2,1);display:flex;align-items:center;justify-content:flex-end;padding-right:12px;}
.play .prow2 .fill{width:var(--w);}
.prow2 .fill em{font-style:normal;font-family:var(--serif);font-weight:600;color:#fff;font-size:.92rem;opacity:0;transition:opacity .4s ease-out .7s;white-space:nowrap;}
.play .prow2 .fill em{opacity:1;}
.prow2 .fill::after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:var(--accent);}
.plan .tot2{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--ink);padding-top:14px;margin-top:2px;}
.plan .tot2 span{font-weight:600;font-size:.9rem;}
.plan .tot2 b{font-family:var(--serif);font-weight:600;font-size:1.35rem;}
.plan .tot2 b .o{color:var(--accent);}

/* step tracker */
.sys-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:0;}
.sys-left{padding:0 56px 0 0;position:sticky;top:90px;align-self:start;}
.sys-left .eyebrow{margin-bottom:16px;display:block;}
.sys-left h2{font-family:var(--serif);font-weight:620;font-size:2.9rem;line-height:1.04;margin:0 0 30px;}
.track{border-left:2px solid var(--line);}
.tstep{position:relative;padding:16px 0 16px 26px;margin-left:-2px;border-left:2px solid transparent;transition:border-color .3s;}
.tstep .dot{position:absolute;left:-9px;top:21px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--line);transition:.3s;}
.tstep b{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.tstep h3{font-family:var(--serif);font-weight:560;font-size:1.4rem;margin:4px 0 2px;color:#2a2a2a;transition:color .3s;}
.tstep span{font-size:.86rem;color:var(--muted);}
.tstep.on{border-left-color:var(--accent);}
.tstep.on .dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px rgba(229,132,35,.16);}
.tstep.on b{color:var(--accent);}.tstep.on h3{color:var(--ink);}
.sys-right{border-left:1px solid var(--line);}
.sblock{padding:64px 0 64px 56px;border-bottom:1px solid var(--line);min-height:340px;display:flex;flex-direction:column;justify-content:center;}
.sblock:last-child{border-bottom:0;}
.sblock .n{font-family:var(--serif);font-size:1.1rem;color:var(--accent);}
.sblock h3{font-family:var(--serif);font-weight:600;font-size:2.1rem;line-height:1.08;margin:10px 0 14px;max-width:18ch;}
.sblock p{color:#33302d;max-width:46ch;}
.sblock .price{margin-top:20px;font-size:.92rem;font-weight:600;}
.sblock .price em{font-style:normal;color:var(--muted);font-weight:400;}

/* results metric tiles */
.results{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);}
.rt{padding:28px 28px 26px;border-right:1px solid var(--line);}
.rt:last-child{border-right:0;}
.rt b{font-family:var(--serif);font-weight:600;font-size:3.0rem;line-height:.95;display:block;}
.rt b .o{color:var(--accent);}
.rt .t{margin-top:12px;font-weight:600;font-size:.95rem;}
.rt .d{margin-top:4px;font-size:.86rem;color:var(--muted);}

/* testimonials with real faces */
.tcards{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.tc{border:1px solid var(--line);background:#fff;padding:30px 30px 28px;display:flex;flex-direction:column;}
.tc .who{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
.tc .who img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--accent);}
.tc .who b{font-family:var(--serif);font-weight:600;font-size:1.2rem;display:block;}
.tc .who span{font-size:.84rem;color:var(--muted);}
.tc blockquote{margin:0;font-size:1.04rem;color:#2c2a27;line-height:1.5;}
.tc blockquote .o{color:var(--accent);}

/* about */

.cta{background:var(--graphite);color:#fff;padding:84px 0;}
.cta-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;}
.cta h2{font-family:var(--serif);font-weight:560;font-size:3.4rem;line-height:1.04;margin:0;max-width:16ch;}
.cta p{margin-top:18px;color:rgba(255,255,255,.78);max-width:42ch;}
.cta .acts{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap;}
.cta .btn.light{background:#fff;color:var(--ink);border-color:#fff;}
.cta .panel{border:1px solid rgba(255,255,255,.18);}
.cta .prow{display:flex;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.14);}
.cta .prow:last-child{border-bottom:0;}
.cta .prow b{font-weight:600;}.cta .prow span{color:rgba(255,255,255,.72);text-align:right;font-size:.92rem;}

.footer{padding:50px 0 38px;border-top:1px solid var(--ink);}
.ftop{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid var(--line);}
.footer .fl img{height:44px;width:auto;display:block;}
.fnav{display:flex;gap:22px;font-size:.88rem;font-weight:600;flex-wrap:wrap;}
.fnav a:hover{color:var(--accent);}
.ficons{display:flex;gap:12px;}
.ficons a{width:42px;height:42px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:.2s;}
.ficons a:hover{background:var(--accent);border-color:var(--accent);color:#fff;}
.ficons svg{width:20px;height:20px;display:block;}
.fbot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:22px;}
.flegal{display:flex;gap:22px;flex-wrap:wrap;font-size:.82rem;color:var(--muted);}
.flegal a{color:var(--muted);}.flegal a:hover{color:var(--accent);}
.fcopy{font-size:.82rem;color:var(--muted);}

/* legal pages */
.legal{padding:58px 0 80px;max-width:760px;}
.legal .eyebrow{display:block;margin-bottom:14px;}
.legal h1{font-family:var(--serif);font-weight:640;font-size:3rem;line-height:1.04;margin:0 0 12px;letter-spacing:-.01em;}
.legal .intro{color:var(--muted);font-size:1.08rem;margin:0 0 14px;}
.legal .upd{font-size:.84rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-bottom:26px;}
.legal h2{font-family:var(--serif);font-weight:600;font-size:1.5rem;line-height:1.2;margin:34px 0 12px;}
.legal p{margin:0 0 13px;color:#2c2a27;font-size:1rem;line-height:1.66;}
.legal a{color:var(--accent);text-decoration:underline;}

/* page hero compact */
.page-hero{padding:64px 0 0;}
.page-hero .kicker2{border-bottom:1px solid var(--ink);padding-bottom:14px;display:flex;justify-content:space-between;align-items:baseline;gap:20px;}
.page-hero .kicker2 .stamp{font-family:var(--serif);font-size:.82rem;color:#2a2a2a;white-space:nowrap;}
.page-hero h1{font-family:var(--serif);font-weight:680;font-size:4.4rem;line-height:1.0;letter-spacing:-.01em;margin:34px 0 0;max-width:16ch;}
.page-hero h1 .o{color:var(--accent);}
.page-hero .sub{margin-top:22px;color:#2c2a27;font-size:1.16rem;max-width:54ch;}
.page-hero .ha{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;}
.page-hero.pad{padding-bottom:74px;}

/* service / price cards */
.svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.svc{border:1px solid var(--line);background:#fff;padding:30px 28px;display:flex;flex-direction:column;}
.svc .num{font-family:var(--serif);color:var(--accent);font-size:1.05rem;margin-bottom:18px;}
.svc h3{font-family:var(--serif);font-weight:620;font-size:1.6rem;line-height:1.1;margin:0 0 12px;}
.svc p{color:#33302d;font-size:.98rem;}
.svc ul{list-style:none;margin:18px 0 0;padding:0;}
.svc li{padding:9px 0 9px 22px;position:relative;font-size:.92rem;border-top:1px solid var(--line);}
.svc li:before{content:"";position:absolute;left:0;top:16px;width:9px;height:9px;background:var(--accent);}
.svc .price{margin-top:auto;padding-top:20px;font-family:var(--serif);font-weight:600;font-size:1.25rem;}
.svc .price em{font-style:normal;display:block;font-family:var(--sans);font-weight:400;font-size:.82rem;color:var(--muted);margin-top:4px;}

/* faq */
.faq{border-top:1px solid var(--ink);}
.faq .q{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px;padding:26px 0;border-bottom:1px solid var(--line);}
.faq .q h3{font-family:var(--serif);font-weight:600;font-size:1.4rem;margin:0;}
.faq .q p{color:#33302d;margin:0;}

/* timeline */
.tl{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);}
.tl .d{padding:36px 18px 22px;border-right:1px solid var(--line);position:relative;}
.tl .d::before{content:"";position:absolute;top:18px;left:0;right:0;height:1px;background:rgba(229,132,35,.45);}
.tl .d::after{content:"";position:absolute;top:14px;left:18px;width:9px;height:9px;border-radius:50%;background:var(--accent);}
.tl .d:last-child{border-right:0;}
.tl .d b{display:block;font-family:var(--serif);color:var(--accent);font-size:1.0rem;margin-bottom:10px;}
.tl .d span{font-size:.88rem;color:#33302d;}

/* price box */
.pricebox{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ink);}
.pricebox .pl{background:var(--graphite);color:#fff;padding:40px 38px;}
.pricebox .pl .big{font-family:var(--serif);font-weight:600;font-size:3.2rem;line-height:1;}
.pricebox .pl .cap{margin-top:10px;color:rgba(255,255,255,.7);}
.pricebox .pr{padding:36px 38px;}
.pricebox .pr .row{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.95rem;}
.pricebox .pr .row:last-child{border-bottom:0;}
.pricebox .pr .row b{color:var(--accent);font-family:var(--serif);}

/* case figures list */
.cfig{padding:78px 0;}
.cfig+.cfig{border-top:1px solid var(--line);}
.cfig-row{display:grid;grid-template-columns:.42fr .58fr;gap:54px;align-items:center;}
.cfig.alt .cfig-row{grid-template-columns:.58fr .42fr;}
.cfig.alt .ct{order:2;}
.cfig .tag{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.cfig h2{font-family:var(--serif);font-weight:620;font-size:2.4rem;line-height:1.06;margin:12px 0 14px;}
.cfig p{color:#33302d;max-width:46ch;}
.cfig .mx{margin-top:20px;display:flex;gap:28px;}
.cfig .mx b{font-family:var(--serif);font-size:1.6rem;display:block;}.cfig .mx b .o{color:var(--accent);}
.cfig .mx span{font-size:.82rem;color:var(--muted);}
.cbox{border:1px solid var(--line);background:var(--graphite);position:relative;overflow:hidden;aspect-ratio:3/2;}
.cbox .lbl{position:absolute;left:24px;bottom:22px;right:24px;color:#fff;}
.cbox .lbl b{font-family:var(--serif);font-weight:600;font-size:1.5rem;}
.cbox svg{position:absolute;inset:0;width:100%;height:100%;}

/* expertise */
.exp{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.exp .e{border-top:1px solid var(--ink);padding-top:16px;}
.exp .e h3{font-family:var(--serif);font-weight:600;font-size:1.4rem;margin:0 0 12px;}
.exp .e ul{list-style:none;margin:0;padding:0;}
.exp .e li{font-size:.92rem;color:#33302d;padding:6px 0;border-bottom:1px solid var(--line);}

/* offer triad — what I do */
.offer{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:0;align-items:stretch;}
.ocon{display:flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;color:var(--accent);}
.ocon .line{width:26px;height:1px;background:rgba(229,132,35,.55);}
.ocon .arr{font-weight:700;font-size:1rem;line-height:1;}
.ocard{border:1px solid var(--line);background:#fff;padding:32px 28px;display:flex;flex-direction:column;transition:border-color .25s;}
.ocard:hover{border-color:var(--accent);}
.ocard .st{font-family:var(--serif);color:var(--accent);font-size:.92rem;letter-spacing:.03em;}
.ocard h3{font-family:var(--serif);font-weight:620;font-size:1.75rem;line-height:1.08;margin:14px 0 10px;}
.ocard p{color:#33302d;font-size:.98rem;}
.ocard .ar2{margin-top:auto;padding-top:18px;color:var(--accent);font-weight:700;font-size:.88rem;}

/* logo wall */
.logos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.lcard{border:1px solid var(--line);background:#fff;cursor:pointer;display:flex;flex-direction:column;transition:border-color .25s;}
.lcard:hover{border-color:var(--accent);}
.lcard .logo{height:148px;display:flex;align-items:center;justify-content:center;padding:28px;border-bottom:1px solid var(--line);background:var(--paper);}
.lcard .logo img{max-height:62px;max-width:82%;filter:grayscale(1) opacity(.62);transition:filter .3s;}
.lcard:hover .logo img{filter:none;}
.lcard .lc{padding:22px 24px 24px;}
.lcard .lc b{font-family:var(--serif);font-weight:600;font-size:1.3rem;display:block;}
.lcard .lc span{font-size:.86rem;color:var(--muted);display:block;margin-top:4px;}
.lcard .lc .more{margin-top:14px;color:var(--accent);font-weight:700;font-size:.84rem;}
.lcard .lc .more .mar{display:inline-block;transition:transform .3s ease;}
.lcard:hover .lc .more .mar{transform:translateX(5px);}

/* modal */
.modal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:24px;}
.modal.open{display:flex;}
.modal .ov{position:absolute;inset:0;background:rgba(14,17,22,.62);}
.modal .mc{position:relative;z-index:1;background:#fff;max-width:940px;width:100%;max-height:88vh;overflow:auto;display:grid;grid-template-columns:0.85fr 1.15fr;border:1px solid var(--ink);}
.modal .ml{background:var(--paper);border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:44px;min-height:280px;}
.modal .ml img{max-width:72%;max-height:150px;}
.modal .mr{padding:44px 42px;}
.modal .mr .eyebrow{display:block;margin-bottom:10px;}
.modal .mr h3{font-family:var(--serif);font-weight:640;font-size:2.1rem;line-height:1.05;margin:0 0 8px;}
.modal .mr .blk{padding:15px 0;border-top:1px solid var(--line);}
.modal .mr .blk:first-of-type{margin-top:14px;}
.modal .mr .blk b{display:inline-block;font-family:var(--sans);font-weight:600;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:rgba(229,132,35,.10);border:1px solid rgba(229,132,35,.28);padding:4px 11px;margin-bottom:11px;}
.modal .mr .blk p{margin:0;color:#33302d;font-size:.98rem;}
.modal .mr .mcta{margin-top:24px;}
.modal .close{position:absolute;top:0;right:0;z-index:2;width:48px;height:48px;border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;cursor:pointer;font-size:1.3rem;line-height:1;color:var(--ink);}
.modal .close:hover{background:var(--accent);color:#fff;}

@media(max-width:760px){
  .wrap{width:100%;max-width:100%;margin:0;padding:0 22px;}
  .nav,.tlink{display:none;}.menu{display:flex;}
  .lang{margin-left:auto;}
  .eyebrow{font-size:.62rem;letter-spacing:.07em;}
  .hero{padding:38px 0 32px;}
  .kicker{flex-direction:column;align-items:flex-start;gap:6px;}
  .h1{font-size:2.5rem;margin-top:24px;max-width:none;overflow-wrap:anywhere;}
  .lead{grid-template-columns:minmax(0,1fr);gap:24px;}
  .lead p,.lead .act .note{max-width:100%;}.lead .act .btn{width:100%;}
  .facts{grid-template-columns:1fr 1fr;}
  .fact{padding:18px 14px 14px;border-bottom:1px solid var(--line);}
  .fact:nth-child(2n){border-right:0;}.fact b{font-size:2.1rem;}
  .fact+.fact::before{display:none;}
  .sec{padding:52px 0;}.head h2{font-size:2.1rem;}
  .arts,.tcards{grid-template-columns:1fr;}
  .sys-grid{grid-template-columns:1fr;}
  .sys-left{position:static;padding:0 0 10px;}.sys-left h2{font-size:2rem;}
  .sys-right{border-left:0;}
  .sblock{padding:30px 0;min-height:0;border-bottom:1px solid var(--line);}
  .sblock h3{font-size:1.65rem;max-width:none;}
  .results{grid-template-columns:1fr;}
  .rt{border-right:0;border-bottom:1px solid var(--line);}
  .cta{padding:54px 0;}.cta-grid{grid-template-columns:1fr;gap:30px;}.cta h2{font-size:2.3rem;max-width:none;}
  .ftop{flex-direction:column;align-items:flex-start;gap:20px;}
  .fbot{flex-direction:column;align-items:flex-start;gap:14px;}
  .legal h1{font-size:2.2rem;}
  .page-hero{padding:40px 0 0;}.page-hero.pad{padding-bottom:48px;}
  .page-hero .kicker2{flex-direction:column;align-items:flex-start;gap:6px;}
  .page-hero h1{font-size:2.5rem;max-width:none;overflow-wrap:anywhere;}
  .page-hero .sub{font-size:1.04rem;}.page-hero .ha .btn{width:100%;}
  .svcs,.exp{grid-template-columns:1fr;}
  .faq .q{grid-template-columns:1fr;gap:10px;}
  .tl{grid-template-columns:1fr;}.tl .d{border-right:0;border-bottom:1px solid var(--line);padding-top:22px;}
  .tl .d::before,.tl .d::after{display:none;}
  .tl .d:last-child{border-bottom:0;}
  .pricebox{grid-template-columns:1fr;}.pricebox .pl .big{font-size:2.5rem;}
  .cfig{padding:44px 0;}.cfig-row,.cfig.alt .cfig-row{grid-template-columns:1fr;gap:26px;}
  .cfig.alt .ct{order:0;}.cfig h2{font-size:1.9rem;}
  .offer{grid-template-columns:1fr;gap:18px;}
  .ocon{display:none;}
  .logos{grid-template-columns:1fr;}
  .modal{padding:0;}
  .modal .mc{grid-template-columns:1fr;max-height:100vh;height:100vh;border:0;}
  .modal .ml{min-height:160px;padding:32px;border-right:0;border-bottom:1px solid var(--line);}
  .modal .mr{padding:30px 24px;}.modal .mr h3{font-size:1.7rem;}
  .bar.nav-open .nav{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 22px;gap:16px;font-size:1rem;}
  .bar.nav-open .menu{background:var(--ink);color:#fff;border-color:var(--ink);}
}
@media(prefers-reduced-motion:reduce){.reveal,.h1 .ln i{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;}.mq-track{animation:none!important;}.sprog{display:none;}.ocard:hover,.svc:hover,.lcard:hover,.tc:hover{transform:none;}}

/* scroll-to-top */
.totop{position:fixed;right:22px;bottom:22px;z-index:40;width:48px;height:48px;background:var(--accent);color:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease-out,transform .3s ease-out,background .2s;}
.totop.show{opacity:1;visibility:visible;transform:none;}
.totop:hover{background:var(--accent-2);}
.totop svg{width:22px;height:22px;display:block;}
@media(max-width:760px){.totop{right:16px;bottom:16px;width:44px;height:44px;}}

/* scroll progress bar */
.sprog{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:var(--accent);transform:scaleX(0);transform-origin:left;will-change:transform;}

/* animated nav underline */
.nav a{position:relative;}
.nav a::after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .26s ease;}
.nav a:hover::after{transform:scaleX(1);}
.fnav a{position:relative;}
.fnav a::after{content:"";position:absolute;left:0;bottom:-4px;height:1.5px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .26s ease;}
.fnav a:hover::after{transform:scaleX(1);}

/* card hover lift + cursor spotlight */
.ocard,.svc,.lcard,.tc{position:relative;transition:border-color .25s ease,transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease;}
.ocard:hover,.svc:hover,.lcard:hover,.tc:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(14,17,22,.09);}
.spot{position:relative;}
.spot::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),rgba(229,132,35,.10),transparent 60%);}
.spot:hover::before{opacity:1;}

/* client logo marquee */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.mq-track{display:flex;align-items:center;gap:64px;width:max-content;animation:mq 34s linear infinite;}
.marquee:hover .mq-track{animation-play-state:paused;}
.mq-track img{height:40px;width:auto;filter:grayscale(1) opacity(.55);transition:filter .3s ease;}
.mq-track img:hover{filter:none;}
@keyframes mq{to{transform:translateX(-50%);}}
.mq-lab{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:22px;}

/* about — founder editorial section (ported from 21st.dev Magic) */
.founder{padding:74px 0 86px;}
.founder-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:center;}
.founder-portrait{position:relative;}
.founder-portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 22%;display:block;border:1px solid var(--line);filter:grayscale(1);transition:filter .7s ease;}
.founder-portrait:hover img{filter:grayscale(0);}
.founder-portrait::after{content:"";position:absolute;right:-14px;bottom:-14px;width:120px;height:120px;border:1px solid rgba(229,132,35,.45);pointer-events:none;}
.founder-content .eyebrow{display:block;letter-spacing:.2em;margin-bottom:22px;}
.founder-h{font-family:var(--serif);font-weight:520;font-size:clamp(2.6rem,4.4vw,4.3rem);line-height:1.06;letter-spacing:-.01em;color:var(--ink);margin:0 0 22px;}
.founder-bio{font-size:1.12rem;color:#33302d;line-height:1.62;max-width:48ch;margin:0;}
.founder-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;margin:34px 0;}
.fstat b{font-family:var(--serif);font-weight:520;font-size:3.1rem;line-height:.95;color:var(--ink);display:block;white-space:nowrap;}
.fstat b .o{color:var(--accent);}
.fstat b .u{font-size:1.15rem;margin-left:5px;}
.fstat>span{display:block;margin-top:9px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);max-width:16ch;}
.founder-edu{margin-bottom:30px;}
.edu-lab{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.edu-item{padding:13px 0;border-top:1px solid var(--line);}
.edu-item b{font-family:var(--serif);font-weight:600;font-size:1.16rem;display:block;transition:color .3s ease;}
.edu-item:hover b{color:var(--accent);}
.edu-item span{font-size:.9rem;color:var(--muted);}
@media(max-width:760px){
  .founder{padding:40px 0 56px;}
  .founder-grid{grid-template-columns:1fr;gap:34px;}
  .founder-portrait::after{right:-8px;bottom:-8px;width:80px;height:80px;}
  .founder-h{font-size:2.4rem;}
  .founder-bio{font-size:1.04rem;max-width:none;}
  .founder-stats{gap:14px;padding:22px 0;margin:26px 0;}
  .fstat b{font-size:2.2rem;}
  .fstat>span{font-size:.66rem;}
}
.founder-portrait{order:2;}.founder-content{order:1;}
@media(max-width:760px){.founder-portrait{order:0;}}

.btn svg{width:17px;height:17px;flex:none;}
