:root{--gold:#F7D154;--amber:#F5A623;--orange:#E8722A;--grad-brand:linear-gradient(120deg,var(--gold) 0%,var(--amber) 45%,var(--orange) 100%);--ink:#1B1B21;--ink-2:#24242C;--ink-3:#2F2F38;--line:#383842;--line-2:#4A4A56;--paper:#FAFAF8;--paper-2:#F1F1ED;--text:#F6F5F2;--text-dim:#BCBCC6;--text-faint:#8B8B96;--text-ink:#17171A;--text-ink-dim:#5A5A63;--radius:14px;--radius-lg:22px;--maxw:1240px;--ease:cubic-bezier(.22,.61,.36,1);--glow-amber:0 0 0 1px rgba(245,166,35,.25), 0 12px 40px -12px rgba(245,166,35,.45);--fs-display:clamp(2.7rem,6.2vw,5.2rem);--fs-h1:clamp(2.3rem,4.6vw,3.6rem);--fs-h2:clamp(1.9rem,3.4vw,2.8rem);--fs-h3:clamp(1.2rem,1.7vw,1.45rem);--fs-body:clamp(1rem,1.05vw,1.06rem);--fs-sm:.88rem;--fs-label:.7rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--ink);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:var(--fs-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}::selection{background:var(--amber);color:var(--ink)}h1,h2,h3,h4{font-family:"Exo 2",system-ui,sans-serif;font-weight:600;line-height:1.08;letter-spacing:-.02em}.display{font-size:var(--fs-display);font-weight:700;line-height:1.02;letter-spacing:-.035em}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);letter-spacing:-.01em}.grad{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.label{font-family:Roboto Mono,ui-monospace,monospace;font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase;color:var(--amber);font-weight:500}.lede{font-size:clamp(1.02rem,1.3vw,1.18rem);color:var(--text-dim);max-width:62ch;line-height:1.7}.muted{color:var(--text-dim)}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,4vw,32px)}.section{padding-block:clamp(4.5rem,9vw,8rem);position:relative}.section-head{max-width:64ch;margin-bottom:clamp(2.5rem,5vw,4rem)}.section-head.center{margin-inline:auto;text-align:center}.section-head .label{display:block;margin-bottom:1rem}.section-head p{margin-top:1.1rem}.band-light{background:var(--paper);color:var(--text-ink)}.band-light h1,.band-light h2,.band-light h3{color:var(--text-ink)}.band-light .lede,.band-light .muted{color:var(--text-ink-dim)}.band-light .label{color:var(--orange)}.btn{--btn-pad:1rem 1.9rem;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:var(--btn-pad);border-radius:100px;font-family:Roboto Mono,monospace;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;transition:.35s var(--ease);white-space:nowrap;position:relative;overflow:hidden}.btn-primary{background:var(--grad-brand);color:#1a1206;font-weight:700}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--glow-amber)}.btn-ghost{border:1px solid var(--line-2);color:var(--text)}.btn-ghost:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}.band-light .btn-ghost{border-color:#d9d9d2;color:var(--text-ink)}.band-light .btn-ghost:hover{border-color:var(--orange);color:var(--orange)}.btn-sm{--btn-pad:.72rem 1.3rem;font-size:.7rem}.link-line{display:inline-flex;align-items:center;gap:.5rem;position:relative;padding-bottom:4px;font-family:Roboto Mono,monospace;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}.link-line:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;transition:transform .45s var(--ease)}.link-line:hover:after{transform:scaleX(1)}.link-line .arw{transition:transform .35s var(--ease)}.link-line:hover .arw{transform:translate(4px)}.grid{display:grid;gap:1.25rem}.g-2{grid-template-columns:repeat(2,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-4{grid-template-columns:repeat(4,1fr)}.card{position:relative;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,2.4vw,2rem);transition:.45s var(--ease);overflow:hidden}.card:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .45s var(--ease);background:radial-gradient(560px circle at var(--mx,50%) var(--my,0%),rgba(245,166,35,.1),transparent 42%);pointer-events:none}.card:hover{border-color:var(--line-2);transform:translateY(-4px)}.card:hover:before{opacity:1}.card h3{margin-bottom:.6rem}.card p{color:var(--text-dim);font-size:.95rem}.card-icon{width:46px;height:46px;border-radius:11px;display:grid;place-items:center;margin-bottom:1.3rem;background:#f5a62317;border:1px solid rgba(245,166,35,.22);color:var(--amber)}.card-icon svg{width:22px;height:22px}.idx{font-family:Roboto Mono,monospace;font-size:.68rem;color:var(--text-faint);letter-spacing:.16em}.marquee{overflow:hidden;border-block:1px solid var(--line);padding-block:1.6rem;position:relative}.marquee:before,.marquee:after{content:"";position:absolute;top:0;bottom:0;width:14%;z-index:2;pointer-events:none}.marquee:before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}.marquee:after{right:0;background:linear-gradient(-90deg,var(--ink),transparent)}.marquee-track{display:flex;align-items:center;gap:3.5rem;width:max-content;animation:mq 60s linear infinite}.marquee-item{font-family:"Exo 2",sans-serif;font-size:1.5rem;font-weight:600;color:var(--text-faint);white-space:nowrap;transition:color .3s;letter-spacing:.01em}.marquee-item:hover{color:var(--amber)}.marquee .dot{width:5px;height:5px;border-radius:50%;background:var(--orange);flex:none}@keyframes mq{to{transform:translate(-50%)}}.glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}.grid-lines{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 20%,transparent 75%)}.rule{height:1px;background:linear-gradient(90deg,transparent,var(--line-2),transparent)}.js .reveal{opacity:0;transform:translateY(22px)}.js .reveal.is-in{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .6s var(--ease)}@media(max-width:1024px){.g-4,.g-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.g-2,.g-3,.g-4{grid-template-columns:1fr}.section{padding-block:clamp(3.5rem,10vw,5rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}.pg-home .hero{position:relative;overflow:hidden;padding-block:clamp(4.5rem,11vw,8.5rem) clamp(3.5rem,7vw,6rem)}.pg-home .hero-inner{position:relative;z-index:2;max-width:960px}.pg-home .hero .label{margin-bottom:1.6rem;display:block}.pg-home .hero .lede{margin-top:1.8rem}.pg-home .hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.6rem}.pg-home .g1{width:640px;height:640px;background:#f5a62329;top:-22%;right:-12%}.pg-home .g2{width:460px;height:460px;background:#e8722a21;bottom:-28%;left:-10%}.pg-home .g3{width:620px;height:620px;background:#f5a6231f;top:50%;left:50%;transform:translate(-50%,-50%)}.pg-home .hero-stats{display:flex;gap:clamp(2rem,5vw,4rem);margin-top:clamp(3rem,6vw,4.5rem);flex-wrap:wrap}.pg-home .stat{display:flex;flex-direction:column;gap:.3rem}.pg-home .stat-n{font-family:"Exo 2",sans-serif;font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:700;line-height:1;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pg-home .stat-l{font-family:Roboto Mono,monospace;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.pg-home .svc{display:flex;flex-direction:column}.pg-home .svc p{flex:1;margin-bottom:1.3rem}.pg-home .svc-alt{background:linear-gradient(160deg,rgba(245,166,35,.07),var(--ink-2) 55%);border-color:#f5a62338}.pg-home .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}.pg-home .prob-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pg-home .prob{background:#fff;border:1px solid #E6E6DF;border-radius:var(--radius);padding:1.5rem;transition:.4s var(--ease)}.pg-home .prob:hover{border-color:var(--orange);transform:translateY(-3px)}.pg-home .prob h3{font-size:1.02rem;margin-bottom:.45rem;color:var(--text-ink)}.pg-home .prob p{font-size:.88rem;color:var(--text-ink-dim)}.pg-home .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;list-style:none;counter-reset:none}.pg-home .step{position:relative;padding:1.9rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-2);transition:.42s var(--ease)}.pg-home .step:after{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--grad-brand);transition:width .5s var(--ease);border-radius:2px}.pg-home .step:hover{transform:translateY(-5px);border-color:var(--line-2)}.pg-home .step:hover:after{width:100%}.pg-home .step .idx{display:block;margin-bottom:1rem}.pg-home .step h3{font-size:1.05rem;margin-bottom:.5rem}.pg-home .step p{font-size:.86rem;color:var(--text-dim)}.pg-home .bento{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.pg-home .bento-wide{grid-column:span 2}.pg-home .bento .idx{display:block;margin-bottom:.9rem}.pg-home .cta-band{position:relative;overflow:hidden;text-align:center;border-top:1px solid var(--line)}.pg-home .cta-inner{position:relative;z-index:2;max-width:760px;margin-inline:auto}.pg-home .cta-inner .label{display:block;margin-bottom:1rem}.pg-home .cta-inner .lede{margin-top:1.1rem;margin-bottom:2.4rem}@media(max-width:1024px){.pg-home .steps,.pg-home .bento{grid-template-columns:repeat(2,1fr)}.pg-home .bento-wide{grid-column:span 2}}@media(max-width:820px){.pg-home .split{grid-template-columns:1fr}}@media(max-width:620px){.pg-home .steps,.pg-home .bento,.pg-home .prob-grid{grid-template-columns:1fr}.pg-home .bento-wide{grid-column:span 1}.pg-home .hero-stats{gap:1.8rem}}.pg-service .p-hero{position:relative;overflow:hidden;padding-block:clamp(3rem,7vw,5.5rem) clamp(3rem,6vw,4.5rem);border-bottom:1px solid var(--line)}.pg-service .p-hero-in{position:relative;z-index:2;max-width:840px}.pg-service .gh{width:560px;height:560px;background:#f5a62324;top:-30%;right:-10%}.pg-service .crumbs{display:flex;gap:.6rem;align-items:center;font-family:Roboto Mono,monospace;font-size:.7rem;letter-spacing:.1em;color:var(--text-faint);margin-bottom:2rem;flex-wrap:wrap}.pg-service .crumbs a:hover{color:var(--amber)}.pg-service .crumbs .cur{color:var(--text-dim)}.pg-service .p-hero .label{display:block;margin-bottom:1rem}.pg-service .p-hero .lede{margin-top:1.4rem}.pg-service .p-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.4rem}.pg-service .out-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:center}.pg-service .out-list{list-style:none;display:grid;gap:1rem}.pg-service .out-list li{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid #E6E6DF;border-radius:var(--radius);padding:1.2rem 1.4rem;font-size:1rem;color:var(--text-ink);transition:.35s var(--ease)}.pg-service .out-list li:hover{border-color:var(--orange);transform:translate(4px)}.pg-service .out-list svg{width:20px;height:20px;color:var(--orange);flex:none;margin-top:2px}.pg-service .cta-band{text-align:center;border-top:1px solid var(--line)}.pg-service .cta-inner{max-width:700px;margin-inline:auto}.pg-service .cta-inner .lede{margin-top:1.1rem}@media(max-width:820px){.pg-service .out-wrap{grid-template-columns:1fr}}.pg-services .p-hero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,8vw,6rem) clamp(3rem,6vw,4.5rem);border-bottom:1px solid var(--line)}.pg-services .p-hero-in{position:relative;z-index:2;max-width:860px}.pg-services .p-hero .label{display:block;margin-bottom:1.2rem}.pg-services .p-hero h1{font-size:var(--fs-h1)}.pg-services .p-hero .lede{margin-top:1.5rem}.pg-services .gh{width:600px;height:600px;background:#f5a62324;top:-32%;right:-12%}.pg-services .svc-list{display:grid;gap:1rem}.pg-services .svc-row{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:1.6rem;padding:1.6rem 1.9rem}.pg-services .svc-icon{margin-bottom:0}.pg-services .svc-body h3{margin-bottom:.35rem}.pg-services .svc-body p{max-width:62ch}.pg-services .svc-go{flex:none}.pg-services .prob{background:#fff;border:1px solid #E6E6DF;border-radius:var(--radius);padding:1.7rem;transition:.4s var(--ease)}.pg-services .prob:hover{border-color:var(--orange);transform:translateY(-3px)}.pg-services .prob h3{color:var(--text-ink);margin-bottom:.5rem;font-size:1.05rem}.pg-services .prob p{color:var(--text-ink-dim);font-size:.9rem}.pg-services .cta-band{text-align:center;border-top:1px solid var(--line)}.pg-services .cta-inner{max-width:700px;margin-inline:auto}.pg-services .cta-inner .label{display:block;margin-bottom:1rem}.pg-services .cta-inner .lede{margin-top:1.1rem}@media(max-width:860px){.pg-services .svc-row{grid-template-columns:auto 1fr;gap:1rem 1.2rem}.pg-services .svc-row .idx{grid-column:1}.pg-services .svc-icon{grid-column:2;justify-self:start}.pg-services .svc-body,.pg-services .svc-go{grid-column:1/-1}}.pg-solutions .p-hero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,8vw,6rem) clamp(3rem,6vw,4.5rem);border-bottom:1px solid var(--line)}.pg-solutions .p-hero-in{position:relative;z-index:2;max-width:880px}.pg-solutions .p-hero .label{display:block;margin-bottom:1.2rem}.pg-solutions .p-hero h1{font-size:var(--fs-h1)}.pg-solutions .p-hero .lede{margin-top:1.5rem}.pg-solutions .gh{width:600px;height:600px;background:#f5a62321;top:-32%;left:-12%}.pg-solutions .sol h3{margin:.8rem 0 .6rem}.pg-solutions .chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}.pg-solutions .chip{font-family:Roboto Mono,monospace;font-size:.64rem;letter-spacing:.08em;color:var(--amber);border:1px solid rgba(245,166,35,.28);border-radius:100px;padding:.3rem .7rem;background:#f5a6230f}.pg-solutions .center-btn{text-align:center}.pg-solutions .cta-band{text-align:center;border-top:1px solid var(--line)}.pg-solutions .cta-inner{max-width:700px;margin-inline:auto}.pg-solutions .cta-inner .label{display:block;margin-bottom:1rem}.pg-solutions .cta-inner .lede{margin-top:1.1rem}.pg-products .p-hero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,8vw,6rem) clamp(3rem,6vw,4.5rem)}.pg-products .p-hero-in{position:relative;z-index:2;max-width:880px}.pg-products .p-hero .label{display:block;margin-bottom:1.2rem}.pg-products .p-hero h1{font-size:var(--fs-h1)}.pg-products .p-hero .lede{margin-top:1.5rem}.pg-products .p-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.4rem}.pg-products .gh{width:600px;height:600px;background:#e8722a21;top:-32%;right:-12%}.pg-products .chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}.pg-products .chip{font-family:Roboto Mono,monospace;font-size:.66rem;letter-spacing:.08em;color:var(--text-dim);border:1px solid var(--line-2);border-radius:100px;padding:.32rem .75rem}.pg-products .prob{background:#fff;border:1px solid #E6E6DF;border-radius:var(--radius);padding:1.7rem;transition:.4s var(--ease)}.pg-products .prob:hover{border-color:var(--orange);transform:translateY(-3px)}.pg-products .prob h3{color:var(--text-ink);margin-bottom:.5rem;font-size:1.05rem}.pg-products .prob p{color:var(--text-ink-dim);font-size:.9rem}.pg-products .cta-band{text-align:center;border-top:1px solid var(--line)}.pg-products .cta-inner{max-width:700px;margin-inline:auto}.pg-products .cta-inner .lede{margin-top:1.1rem}.pg-about .p-hero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,8vw,6rem) clamp(3rem,6vw,4.5rem);border-bottom:1px solid var(--line)}.pg-about .p-hero-in{position:relative;z-index:2;max-width:880px}.pg-about .p-hero .label{display:block;margin-bottom:1.2rem}.pg-about .p-hero h1{font-size:var(--fs-h1)}.pg-about .p-hero .lede{margin-top:1.5rem}.pg-about .gh{width:600px;height:600px;background:#f5a62321;top:-32%;right:-12%}.pg-about .two-col{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(2rem,5vw,4rem)}.pg-about .mv{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.pg-about .mv-card{background:#fff;border:1px solid #E6E6DF;border-radius:var(--radius);padding:clamp(1.6rem,3vw,2.2rem)}.pg-about .mv-card .label{display:block;margin-bottom:.9rem}.pg-about .mv-card p{color:var(--text-ink-dim);font-size:1rem}.pg-about .partner-grid{gap:1rem}.pg-about .partner{display:grid;place-items:center;padding:1.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-2);font-family:"Exo 2",sans-serif;font-size:1.05rem;color:var(--text-dim);letter-spacing:.04em;transition:.4s var(--ease)}.pg-about .partner:hover{color:var(--amber);border-color:var(--line-2);transform:translateY(-3px)}.pg-about .tiny{margin-top:1.2rem;text-align:center;font-family:Roboto Mono,monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.pg-about .hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.pg-about .cta-band{text-align:center;border-top:1px solid var(--line)}.pg-about .cta-inner{max-width:700px;margin-inline:auto}.pg-about .cta-inner .label{display:block;margin-bottom:1rem}.pg-about .cta-inner .lede{margin-top:1.1rem}@media(max-width:820px){.pg-about .two-col,.pg-about .mv{grid-template-columns:1fr}}.pg-insights .p-hero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,8vw,6rem) clamp(3rem,6vw,4.5rem);border-bottom:1px solid var(--line)}.pg-insights .p-hero-in{position:relative;z-index:2;max-width:860px}.pg-insights .p-hero .label{display:block;margin-bottom:1.2rem}.pg-insights .p-hero h1{font-size:var(--fs-h1)}.pg-insights .p-hero .lede{margin-top:1.5rem}.pg-insights .gh{width:560px;height:560px;background:#f5a6231f;top:-34%;right:-10%}.pg-insights .notice{border:1px dashed var(--line-2);border-radius:var(--radius);padding:1rem 1.3rem;margin-bottom:2rem;color:var(--text-dim);font-size:.9rem}.pg-insights .notice strong{color:var(--amber)}.pg-insights .post h3{margin:.9rem 0 .6rem;font-size:1.18rem}.pg-insights .chip{font-family:Roboto Mono,monospace;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(245,166,35,.28);border-radius:100px;padding:.3rem .7rem}.pg-insights .soon{display:inline-block;margin-top:1.1rem;font-family:Roboto Mono,monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.pg-insights .cta-band{text-align:center;border-top:1px solid var(--line)}.pg-insights .cta-inner{max-width:700px;margin-inline:auto}.pg-insights .cta-inner .lede{margin-top:1.1rem}.pg-careers .p-hero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,8vw,6rem) clamp(3rem,6vw,4.5rem);border-bottom:1px solid var(--line)}.pg-careers .p-hero-in{position:relative;z-index:2;max-width:820px}.pg-careers .p-hero .label{display:block;margin-bottom:1.2rem}.pg-careers .p-hero h1{font-size:var(--fs-h1)}.pg-careers .p-hero .lede{margin-top:1.5rem}.pg-careers .gh{width:520px;height:520px;background:#e8722a1f;top:-34%;right:-10%}.pg-careers .center-btn{text-align:center}.pg-legal .legal{padding-block:clamp(3.5rem,8vw,6rem)}.pg-legal .legal-in{max-width:760px}.pg-legal .legal-in .label{display:block;margin-bottom:1rem}.pg-legal .legal-in h1{font-size:var(--fs-h1);margin-bottom:.6rem}.pg-legal .upd{font-family:Roboto Mono,monospace;font-size:.72rem;letter-spacing:.1em;color:var(--text-faint);margin-bottom:2.2rem}.pg-legal .review-note{border:1px dashed var(--line-2);border-radius:var(--radius);padding:1.1rem 1.3rem;margin-bottom:2.5rem;color:var(--text-dim);font-size:.88rem}.pg-legal .review-note strong{color:var(--amber);display:block;margin-bottom:.3rem}.pg-legal .legal-in h2{font-size:1.22rem;margin:2.2rem 0 .7rem}.pg-legal .legal-in p{color:var(--text-dim);margin-bottom:.9rem}.pg-legal .legal-in a{color:var(--amber);text-decoration:underline}.pg-404 .nf{position:relative;overflow:hidden;text-align:center;padding-block:clamp(5rem,14vw,10rem);display:grid;place-items:center;min-height:64vh}.pg-404 .nf-in{position:relative;z-index:2;max-width:640px}.pg-404 .nf .label{display:block;margin-bottom:1.2rem}.pg-404 .nf .lede{margin-top:1.2rem}.pg-404 .nf-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.4rem}.pg-404 .gh{width:600px;height:600px;background:#f5a6231f;top:50%;left:50%;transform:translate(-50%,-50%)}.pg-contact .p-hero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,8vw,6rem) clamp(2.5rem,5vw,3.5rem)}.pg-contact .p-hero-in{position:relative;z-index:2;max-width:860px}.pg-contact .p-hero .label{display:block;margin-bottom:1.2rem}.pg-contact .p-hero h1{font-size:var(--fs-h1)}.pg-contact .p-hero .lede{margin-top:1.5rem}.pg-contact .gh{width:560px;height:560px;background:#f5a62321;top:-34%;right:-10%}.pg-contact .contact-sec{padding-top:clamp(2rem,4vw,3rem)}.pg-contact .c-wrap{display:grid;grid-template-columns:1.35fr .8fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}.pg-contact .c-form-wrap{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.6rem,3.5vw,2.6rem)}.pg-contact .f-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.pg-contact .field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.1rem}.pg-contact .field label{font-family:Roboto Mono,monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.pg-contact .field label span{color:var(--orange)}.pg-contact .field input,.pg-contact .field select,.pg-contact .field textarea{background:var(--ink);border:1px solid var(--line-2);border-radius:10px;padding:.85rem 1rem;color:var(--text);font-family:inherit;font-size:.95rem;transition:.3s var(--ease);width:100%}.pg-contact .field input:focus,.pg-contact .field select:focus,.pg-contact .field textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px #f5a6231f}.pg-contact .field textarea{resize:vertical;min-height:120px}.pg-contact .field.invalid input,.pg-contact .field.invalid textarea{border-color:#e4574a}.pg-contact .err{color:#e4574a;font-size:.76rem;min-height:1em}.pg-contact .hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}.pg-contact #submitBtn{margin-top:.4rem}.pg-contact #submitBtn[disabled]{opacity:.55;cursor:not-allowed}.pg-contact .form-msg{margin-top:1rem;font-size:.88rem;min-height:1.2em}.pg-contact .form-msg.ok{color:var(--amber)}.pg-contact .form-msg.bad{color:#e4574a}.pg-contact .privacy-note{margin-top:1rem;font-size:.76rem;color:var(--text-faint)}.pg-contact .privacy-note a{color:var(--text-dim);text-decoration:underline}.pg-contact .c-aside{display:grid;gap:1.1rem}.pg-contact .c-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}.pg-contact .c-card .label{display:block;margin-bottom:.9rem}.pg-contact .c-big{font-family:"Exo 2",sans-serif;font-size:1.12rem;color:var(--text);word-break:break-word;display:block;margin-bottom:.6rem}.pg-contact .c-big:hover{color:var(--amber)}.pg-contact .c-mid{font-family:"Exo 2",sans-serif;font-size:1.12rem;margin-bottom:.6rem}.pg-contact .c-card .muted{font-size:.85rem}.pg-contact .next{list-style:none;display:grid;gap:.9rem}.pg-contact .next li{display:flex;gap:.8rem;font-size:.88rem;color:var(--text-dim);align-items:flex-start}.pg-contact .next .idx{color:var(--amber);flex:none}@media(max-width:960px){.pg-contact .c-wrap{grid-template-columns:1fr}}@media(max-width:560px){.pg-contact .f-row{grid-template-columns:1fr}}.nav{position:sticky;top:0;z-index:100;background:#0e0e10b8;backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border-bottom:1px solid var(--line);transition:.4s var(--ease)}.nav.scrolled{background:#0e0e10f0}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:.85rem}.brand{display:flex;align-items:center;gap:.7rem;flex:none}.brand-txt{font-family:"Exo 2",sans-serif;font-size:1.12rem;letter-spacing:.12em;font-weight:400;color:var(--text)}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links>a,.dd>a{font-size:.85rem;color:var(--text-dim);transition:color .3s;position:relative;padding-block:.4rem}.nav-links>a:hover,.dd>a:hover{color:var(--text)}.nav-links>a[aria-current=page],.dd>a[aria-current=page]{color:var(--amber)}.nav-cta{color:#1a1206!important}.dd{position:relative;display:flex;align-items:center;gap:.3rem}.dd-t{display:none;color:var(--text-dim);font-size:1.1rem;line-height:1}.dd-panel{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%) translateY(8px);min-width:250px;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:.32s var(--ease);box-shadow:0 24px 60px -20px #000c}.dd:hover .dd-panel,.dd:focus-within .dd-panel{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.dd-panel a{font-size:.85rem;color:var(--text-dim);padding:.6rem .8rem;border-radius:8px;transition:.25s}.dd-panel a:hover{background:var(--ink-3);color:var(--amber)}.dd-all{border-top:1px solid var(--line);margin-top:.35rem;padding-top:.7rem!important;color:var(--amber)!important;font-family:Roboto Mono,monospace;font-size:.7rem!important;letter-spacing:.14em;text-transform:uppercase}.burger{display:none;flex-direction:column;gap:5px;padding:8px}.burger span{width:22px;height:1.5px;background:var(--text);transition:.35s var(--ease)}.burger.open span:first-child{transform:translateY(6.5px) rotate(45deg)}.burger.open span:last-child{transform:translateY(-6.5px) rotate(-45deg)}@media(max-width:1120px){.burger{display:flex}.nav-links{display:none;position:fixed;inset:0 0 0 auto;width:min(84vw,340px);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.4rem;background:var(--ink-2);border-left:1px solid var(--line);padding:2rem;z-index:90}.nav-links.open{display:flex;animation:slideIn .35s var(--ease)}@keyframes slideIn{0%{opacity:0;clip-path:inset(0 0 0 35%)}to{opacity:1;clip-path:inset(0 0 0 0)}}.nav-links>a,.dd>a{font-size:1.05rem}.dd{flex-wrap:wrap;width:100%}.dd-t{display:block}.dd-panel{position:static;transform:none;opacity:1;visibility:visible;display:none;border:none;background:transparent;box-shadow:none;padding:.4rem 0 0 .9rem;min-width:0;width:100%}.dd.open .dd-panel{display:flex}.nav-cta{margin-top:.6rem}}.ft{background:var(--ink-2);border-top:1px solid var(--line);padding-block:clamp(3.5rem,7vw,5rem) 2rem;margin-top:auto}.ft-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.1fr;gap:clamp(2rem,4vw,3.5rem);padding-bottom:3rem}.ft .ft .brand{display:flex;align-items:center;gap:.7rem;margin-bottom:1.1rem}.mark{width:30px;height:29px}.brand-txt{font-family:"Exo 2",sans-serif;font-size:1.12rem;letter-spacing:.12em;color:var(--text)}.brand-txt b{font-weight:700;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.ft-brand p{color:var(--text-dim);font-size:.92rem;max-width:38ch;margin-bottom:1.3rem}.ft-col h4{font-family:Roboto Mono,monospace;font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:1.1rem;font-weight:500}.ft-col a{display:block;font-size:.9rem;color:var(--text-dim);padding-block:.4rem;transition:.25s}.ft-col a:hover{color:var(--amber);transform:translate(3px)}.ft-note{display:block;font-size:.9rem;color:var(--text-faint);padding-block:.4rem}.ft-legal-inline{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.ft-legal-inline a{font-size:.8rem;color:var(--text-faint)}.ft-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.8rem;font-size:.78rem;color:var(--text-faint)}.ft-mono{font-family:Roboto Mono,monospace;letter-spacing:.04em}@media(max-width:900px){.ft-top{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1}}@media(max-width:560px){.ft-top{grid-template-columns:1fr}}.skip{position:absolute;left:-9999px;top:0;background:var(--amber);color:#111;padding:.7rem 1.2rem;z-index:200;border-radius:0 0 8px}.skip:focus{left:0}:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}


/* ============================================================
   FX LAYER — WebGL hero, custom cursor, split-text
   ============================================================ */

/* --- WebGL canvas sits behind the hero copy --- */
.pg-home .hero{ position:relative; }
#heroCanvas{
  position:absolute; inset:0; width:100%; height:100%;
  z-index:0; pointer-events:auto; opacity:.95;
}
.pg-home .hero-inner{ position:relative; z-index:2; pointer-events:none; }
.pg-home .hero-inner a,
.pg-home .hero-inner button{ pointer-events:auto; }

/* deepen the vignette so headline stays legible over the network */
.pg-home .hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(80% 70% at 22% 45%, rgba(27,27,33,.92) 0%, rgba(27,27,33,.55) 45%, rgba(27,27,33,0) 78%),
    linear-gradient(to bottom, rgba(27,27,33,.35), rgba(27,27,33,0) 30%, rgba(27,27,33,.75));
}

/* --- split-text headline --- */
.hero .ln{ display:block; }
.hero .w{ display:inline-block; overflow:hidden; vertical-align:top; }
.hero .w-i{ display:inline-block; will-change:transform; }

/* --- custom cursor --- */
@media (hover:hover) and (pointer:fine){
  .cur-dot,.cur-ring{
    position:fixed; top:0; left:0; z-index:9999; pointer-events:none;
    border-radius:50%; transform:translate(-50%,-50%);
    mix-blend-mode:difference;
  }
  .cur-dot{ width:6px; height:6px; background:var(--gold); margin:-3px 0 0 -3px; }
  .cur-ring{
    width:34px; height:34px; margin:-17px 0 0 -17px;
    border:1px solid rgba(245,166,35,.65);
    transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),border-color .3s;
  }
  .cur-ring.big{
    width:58px; height:58px; margin:-29px 0 0 -29px;
    border-color:rgba(247,209,84,.9);
  }
}

/* cards need a 3D context for the tilt */
.card{ transform-style:preserve-3d; }



/* ============================================================
   REVEAL — CSS-driven (IntersectionObserver toggles .is-in).
   No JS at all => everything visible (the .js gate handles that).
   ============================================================ */
.js .st-i{ opacity:0; transform:translateY(22px); }
.js .st-i.is-in{
  opacity:1; transform:none;
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}

/* hero is animated by fx.js; never let it sit hidden if fx fails */
.js .hero .reveal{opacity:1;transform:none}



/* ============================================================
   BRAND — supplied logo, TECHNOLOGIES trimmed, FORCE reversed
   Sized to fill the header band.
   ============================================================ */
.brand{ display:flex; align-items:center; }
.logo-img{
  height:72px; width:auto; display:block;
  transition:height .35s var(--ease);
}
.nav-inner{ padding-block:.45rem; align-items:center; }
.nav.scrolled .logo-img{ height:58px; }
.ft .logo-img{ height:60px; margin-bottom:1.2rem; }

@media(max-width:960px){ .logo-img{ height:54px; } .nav.scrolled .logo-img{ height:46px; } }
@media(max-width:480px){ .logo-img{ height:44px; } .nav.scrolled .logo-img{ height:38px; } }


/* ============================================================
   BRAND MARQUEE — real logos, white, continuous slide
   ============================================================ */
.marquee.brands{ padding-block:1.5rem; background:rgba(255,255,255,.02); }
.marquee.brands .marquee-track{ gap:4.5rem; animation:mq 60s linear infinite; }
.marquee.brands:hover .marquee-track{ animation-play-state:paused; }

.mq-logo{
  flex:none; display:grid; place-items:center;
  height:34px; opacity:.62; transition:opacity .35s var(--ease), transform .35s var(--ease);
}
.mq-logo svg{
  height:100%; width:auto; max-width:140px;
  fill:#fff;                       /* white logos */
}
.mq-logo:hover{ opacity:1; transform:translateY(-2px); }

@media(max-width:720px){
  .mq-logo{ height:26px; }
  .marquee.brands .marquee-track{ gap:3rem; }
}

/* ---- pull the hero up so the brand strip sits inside the first screen ---- */
.pg-home .hero{
  min-height:0;
  padding-block:clamp(2rem,5vw,3.4rem) clamp(2rem,4vw,3rem);
}
.pg-home .hero-stats{ margin-top:clamp(1.8rem,3.5vw,2.6rem); }


/* ============================================================
   CONTACT — WhatsApp button, socials
   ============================================================ */
.btn-wa{
  display:inline-flex; align-items:center; gap:.6rem; margin-top:1rem;
  background:#25D366; color:#06301A; font-weight:700;
  padding:.8rem 1.4rem; border-radius:100px;
  font-family:'Roboto Mono',monospace; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase;
  transition:.35s var(--ease);
}
.btn-wa svg{ width:18px; height:18px; fill:currentColor; }
.btn-wa:hover{ background:#2ee878; transform:translateY(-2px); box-shadow:0 10px 30px -10px rgba(37,211,102,.6); }

.c-card .c-big + .c-big{ margin-top:.25rem; }

.soc{ display:grid; gap:.7rem; }
.soc a{ display:flex; align-items:center; gap:.7rem; color:var(--text-dim); font-size:.9rem; transition:.25s; }
.soc a svg{ width:20px; height:20px; flex:none; }
.soc a:hover{ color:var(--amber); transform:translateX(3px); }

/* footer socials */
.ft-social{ display:flex; gap:.7rem; margin-top:1.3rem; }
.ft-social a{
  width:38px; height:38px; display:grid; place-items:center; border-radius:50%;
  border:1px solid var(--line); color:var(--text-dim); transition:.3s;
}
.ft-social a svg{ width:18px; height:18px; }
.ft-social a:hover{ color:var(--gold); border-color:var(--amber); transform:translateY(-2px); }
/* WhatsApp keeps the row's monochrome look, but hovers to its own brand green */
.ft-social a[aria-label="WhatsApp"]:hover{ color:#25D366; border-color:#25D366; }

/* header logo — slightly smaller per request */
.logo-img{ height:62px; }
.nav.scrolled .logo-img{ height:52px; }
@media(max-width:960px){ .logo-img{ height:48px; } .nav.scrolled .logo-img{ height:42px; } }
@media(max-width:480px){ .logo-img{ height:40px; } .nav.scrolled .logo-img{ height:36px; } }


/* ============================================================
   HEADER — WhatsApp button + taller banner around the logo
   ============================================================ */
.nav-inner{ padding-block:1.15rem; }        /* more black space above/below the logo */
.nav.scrolled .nav-inner{ padding-block:.85rem; }

/* solid WhatsApp green, sits to the right of the CTA as the last item in the bar */
/* Lives beside the burger, not inside .nav-links, so it stays visible on mobile.
   On desktop that still puts it last in the bar — to the right of the CTA.
   .nav-links a is more specific than .nav-wa, so scope it or the glyph stays dim grey. */
/* .nav-inner is space-between; with the button now a loose flex item the three
   children would spread apart, so an auto margin collects everything to the right. */
.nav-links{ margin-left:auto; }
.nav-wa, .nav-links a.nav-wa{
  margin-left:.85rem;
  width:40px; height:40px; flex:none; display:grid; place-items:center;
  border-radius:50%; border:1px solid #25D366;
  background:#25D366; color:#fff;
  box-shadow:0 4px 16px rgba(37,211,102,.28);
  transition:.3s var(--ease);
}
.nav-wa svg{ width:21px; height:21px; }
.nav-wa:hover, .nav-links a.nav-wa:hover{
  background:#1EBE5A; border-color:#1EBE5A; color:#fff;
  transform:translateY(-2px); box-shadow:0 8px 22px rgba(37,211,102,.42);
}
@media(max-width:1120px){
  .nav-wa{ width:34px; height:34px; }
  .nav-wa svg{ width:18px; height:18px; }
  /* .nav-links is display:none with the menu closed, so its auto margin is gone —
     the button takes over collecting the free space, keeping it beside the burger. */
  .nav-wa, .nav-links a.nav-wa{ margin-left:auto; }
  .nav-inner{ gap:.8rem; }        /* 2rem is too airy once it only separates these two */
}

/* ============================================================
   BRAND MARQUEE — larger logos for readability
   ============================================================ */
.marquee.brands{ padding-block:2.4rem; }
.mq-logo{ height:52px; }
.mq-logo svg{ max-width:210px; }
@media(max-width:720px){ .marquee.brands{ padding-block:1.7rem; } .mq-logo{ height:36px; } }

/* ============================================================
   CLIENTS — white logo strip, slides the opposite way
   ============================================================ */
/* sits between two padded sections, so it only needs its own light breathing room */
.clients-band{ padding-block:clamp(1rem,2.5vw,1.8rem); }
.clients-kicker{ text-align:center; margin-bottom:1.6rem; }
.marquee.clients{
  border-block:1px solid var(--line);
  padding-block:2rem;
  background:rgba(255,255,255,.015);
}
.marquee.clients .marquee-track{
  gap:4.5rem;
  animation:mq-rev 75s linear infinite;   /* opposite direction to the brand strip */
}
.marquee.clients:hover .marquee-track{ animation-play-state:paused; }
@keyframes mq-rev{ from{ transform:translateX(-50%);} to{ transform:translateX(0);} }

/* Every asset is padded to the same canvas ratio, so a single max-height here
   renders them all at a comparable optical size — no per-logo tuning needed. */
.cl-logo{ flex:none; display:grid; place-items:center; height:68px; }
.cl-logo img{
  max-height:68px; width:auto; max-width:265px; object-fit:contain;
  filter:brightness(0) invert(1);      /* force every logo to clean white */
  opacity:.58; transition:opacity .35s var(--ease), transform .35s var(--ease);
}
.cl-logo:hover img{ opacity:1; transform:translateY(-2px); }
@media(max-width:720px){
  .marquee.clients{ padding-block:1.4rem; }
  .cl-logo, .cl-logo img{ height:46px; max-height:46px; }
  .cl-logo img{ max-width:180px; }
  .marquee.clients .marquee-track{ gap:3rem; }
}


/* ============================================================
   HEADER — matched to the client strip
   ============================================================ */
.nav{ background:#1F1F25; }
.nav.scrolled{ background:#1F1F25; }

/* ============================================================
   HERO HEADLINE — descender clipping
   .w is the reveal mask (overflow:hidden), and it was cutting the
   tails off g / y / p. Pad the mask below the baseline and pull the
   layout back with an equal negative margin so nothing shifts.
   ============================================================ */
.hero .w{ padding-bottom:.16em; margin-bottom:-.16em; }


/* ============================================================
   CLIENTS PAGE — logo wall
   Flex-wrap rather than a fixed grid: 26 logos never divide evenly
   into a column count, so a grid always left dead cells on the last
   row. Wrapping + centring makes a short final row read as deliberate.
   ============================================================ */
.cl-grid{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:clamp(10px, 1.2vw, 16px);
}
.cl-tile{
  flex:0 1 240px;   /* 240 makes 26 wrap to 4/3/2 per row — never a lone last tile */
  margin:0; background:var(--ink-2);
  border:1px solid var(--line); border-radius:var(--radius);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:1.05rem; padding:2rem 1.1rem; min-height:168px;
  transition:border-color .35s var(--ease), background .35s var(--ease), transform .35s var(--ease);
}
.cl-tile:hover{ background:var(--ink-3); border-color:var(--line-2); transform:translateY(-3px); }
.cl-mark{ height:64px; display:grid; place-items:center; }
.cl-mark img{
  max-height:64px; width:auto; max-width:150px; object-fit:contain;
  filter:brightness(0) invert(1); opacity:.62;
  transition:opacity .35s var(--ease);
}
.cl-tile:hover .cl-mark img{ opacity:1; }
.cl-tile figcaption{
  font-family:'Roboto Mono',monospace; font-size:.66rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--text-faint); text-align:center; line-height:1.5;
}
@media(max-width:720px){
  /* min-width:0 lets the tile shrink to its flex basis. Without it, min-width:auto
     takes the logo's intrinsic width and some tiles refuse to pair up on 320px screens. */
  .cl-tile{ flex:0 1 calc(50% - 6px); min-width:0; min-height:132px; padding:1.4rem .7rem; gap:.8rem; }
  .cl-mark{ height:46px; width:100%; }
  .cl-mark img{ max-height:46px; max-width:100%; }
}


/* ============================================================
   MOBILE TOUCH TARGETS
   Several links were 15–30px tall — fine with a mouse, awkward
   with a thumb. Padding only; nothing here changes the layout.
   ============================================================ */
@media(max-width:1120px){
  .burger{ padding:18px 11px; }              /* 24px tall -> 44px */
}
@media(max-width:720px){
  .c-big{ padding-block:.5rem; }             /* phone + email: the ones that matter most */
  .ft-col a{ padding-block:.55rem; }
  .ft-legal-inline a{ padding-block:.5rem; }
  .link-line{ padding-block:.55rem; padding-bottom:10px; }
  .cl-tile figcaption{ font-size:.66rem; }   /* 9.6px was below the rest of the UI text */
}
@media(max-width:720px){
  .soc a{ padding-block:.5rem; }             /* social handles: 24px -> 40px */
}
@media(max-width:720px){
  .crumbs a{ display:inline-block; padding-block:.45rem; }   /* 18px -> 32px */
}

/* ============================================================
   MOBILE NAV — release the drawer from the header
   backdrop-filter (like transform/filter) makes an element the
   CONTAINING BLOCK for position:fixed descendants. So .nav-links,
   which is fixed and inset:0 0 0 auto, was being sized against the
   81px-tall header instead of the viewport: the panel rendered as a
   short strip and every menu item spilled out over the hero.
   The header is already solid #1F1F25, so the blur buys nothing
   here — dropping it below the nav breakpoint restores the viewport
   as the containing block and the drawer fills the screen again.
   ============================================================ */
@media(max-width:1120px){
  .nav{ backdrop-filter:none; -webkit-backdrop-filter:none; background:#1F1F25; }
  .nav.scrolled{ backdrop-filter:none; -webkit-backdrop-filter:none; background:#1F1F25; }
  .nav-links{ overflow-y:auto; }        /* long menus stay reachable on short screens */
}
@media(max-width:720px){
  /* form labels are functional, not decorative — 10.9px is too small to scan on a phone.
     The mono micro-labels (.idx/.chip/.stat-l) stay as designed. */
  .pg-contact .field label{ font-size:.78rem; }
}
