@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--navy:#042953;--blue:#0062D6;--sky:#44ADFE;--slate:#6C7E8F;--paper:#FEFEFE;--mist:#EEF5FB;--line:#D7E5F0;--ink:#102C4D;--radius:1.25rem;--wrap:76rem}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.6}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.skip-link{position:absolute;z-index:99;top:-5rem;left:1rem;padding:.7rem 1rem;background:#fff;color:var(--navy);border-radius:.5rem}
.skip-link:focus{top:1rem}
.wrap{width:min(calc(100% - 2.5rem),var(--wrap));margin-inline:auto}
.eyebrow{display:flex;align-items:center;gap:.65rem;color:var(--blue);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.eyebrow::before{content:'';display:block;width:.55rem;height:.55rem;transform:rotate(45deg);background:var(--sky)}
.eyebrow.light{color:#a8d9ff}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.1;letter-spacing:-.045em}
h1{font-size:clamp(2.55rem,7.2vw,5.8rem);font-weight:800}
h2{font-size:clamp(2rem,4.6vw,3.55rem);font-weight:800}
h3{font-size:clamp(1.18rem,2vw,1.55rem);font-weight:800}
.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.65;color:#cadbed;max-width:42rem}
.body-large{font-size:clamp(1.05rem,1.3vw,1.2rem);max-width:46rem;color:#47627c}
.section{padding-block:clamp(4.5rem,9vw,8.5rem)}
.section-heading{max-width:49rem;margin-bottom:2.7rem}
.section-heading h2{margin:.85rem 0 1.1rem}
.section-heading p{color:#4f6982;max-width:43rem}
.section-heading.inverse p{color:#b8cee1}
.section-heading.inverse h2{color:#fff}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:.65rem;min-height:3.25rem;padding:.8rem 1.2rem;border:1px solid transparent;border-radius:.6rem;background:var(--blue);color:#fff;font-size:.94rem;font-weight:700;line-height:1.2;transition:transform .2s,background .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);background:#004ba7;box-shadow:0 .65rem 1.6rem #00274d2b}
.btn:active{transform:translateY(0)}
.btn.light-btn{background:#fff;color:var(--navy)}
.btn.light-btn:hover{background:#e9f5ff}
.btn.outline{background:transparent;border-color:#adc6da;color:var(--navy)}
.btn.outline:hover{background:#f0f8ff}
.btn.ghost{background:transparent;border-color:#7095b7;color:#fff}
.btn.ghost:hover{background:#ffffff1a}
.button-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.text-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--blue);font-weight:800;line-height:1.3;border-bottom:1px solid currentColor;padding-bottom:.2rem}
.text-link:hover{gap:.85rem}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,#042953 28%,#073c73 100%)}
.hero::after{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:3rem 3rem;mask-image:linear-gradient(90deg,transparent 10%,#000)}
.hero-inner{position:relative;z-index:1;display:grid;gap:3rem;align-items:center;padding-block:clamp(4.5rem,10vw,9rem)}
.hero h1{max-width:52rem;margin:1.1rem 0 1.4rem}
.hero h1 em{font-style:normal;color:#8ccaff}
.hero .hero-note{margin:1.7rem 0 0;color:#a9cbe9;font-size:.9rem}
.hero-art{position:relative;min-height:23rem;padding:1.2rem;border:1px solid #84bce454;border-radius:1.45rem;background:linear-gradient(140deg,#ffffff19,#ffffff08);box-shadow:0 2rem 5rem #00162c55;backdrop-filter:blur(7px)}
.art-top{display:flex;align-items:center;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid #ffffff27;color:#a8cce9;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.art-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--sky)}
.art-flow{position:relative;display:grid;gap:.7rem;padding:1.3rem 0}
.art-card{display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:.7rem;min-height:4.6rem;padding:.75rem;border:1px solid #ffffff2b;border-radius:.75rem;background:#ffffff11}
.art-card strong{font-family:Manrope,sans-serif;font-size:.9rem;line-height:1.25}
.art-card small{display:block;color:#acc6dc;font-size:.7rem;line-height:1.3}
.art-number{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.45rem;background:#ffffff16;color:#a9d9ff;font-family:Manrope,sans-serif;font-weight:800;font-size:.75rem}
.art-card:last-child{border-color:#7aceff66;background:#0b5b9e80}
.art-card:last-child .art-number{background:var(--sky);color:var(--navy)}
.art-arrow{color:#8bd2ff;font-weight:800}
.art-foot{display:flex;align-items:center;gap:.55rem;color:#b4d0e7;font-size:.72rem}
.pulse{width:.45rem;height:.45rem;border-radius:50%;background:#75d9bd;box-shadow:0 0 0 .3rem #75d9bd1f}
.page-hero .hero-inner{padding-block:clamp(4rem,8vw,7rem)}
.page-hero h1{max-width:57rem}

/* Content */
.problem-grid,.service-grid,.capability-grid{display:grid;gap:1rem}
.card{padding:1.45rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 .45rem 1.6rem #0f365009}
.card-index{display:flex;align-items:center;gap:.7rem;margin-bottom:1.8rem;color:var(--blue);font:800 .8rem Manrope,sans-serif;letter-spacing:.08em}
.card-index::after{content:'';height:1px;flex:1;background:var(--line)}
.problem-grid .card{position:relative;transition:transform .32s cubic-bezier(.2,.75,.25,1),border-color .32s,box-shadow .32s}
.problem-card-top{min-height:2.3rem;margin-bottom:1.2rem;padding-right:3rem}
.problem-card-top .card-index{margin:0;padding-top:.55rem}
.problem-icon{position:absolute;top:1.1rem;right:1.1rem;display:grid;place-items:center;width:2.3rem;aspect-ratio:1;border:1px solid #b9d9f2;border-radius:.6rem;background:linear-gradient(145deg,#eff8ff,#dceefd);color:var(--blue);transition:transform .32s cubic-bezier(.2,.75,.25,1),background .32s,border-color .32s,box-shadow .32s}
.problem-icon svg{display:block;width:1.35rem;height:1.35rem;transition:transform .32s cubic-bezier(.2,.75,.25,1)}
@media (hover:hover) and (pointer:fine){
  .problem-grid .card:hover{transform:translateY(-.35rem);border-color:#9dcaed;box-shadow:0 1rem 2.3rem #0f36501d}
  .problem-grid .card:hover .problem-icon{transform:translateY(-.1rem) rotate(3deg) scale(1.06);border-color:#76b7e9;background:linear-gradient(145deg,#e6f5ff,#cce9ff);box-shadow:0 .3rem .8rem #0062d624}
  .problem-grid .card:hover .problem-icon svg{transform:rotate(-3deg) scale(1.04)}
}
.card h3{margin-bottom:.75rem}.card p{margin-bottom:0;color:#536e84}
.card a{margin-top:1.4rem}
.tinted{background:#f2f7fb}
.dark-section{background:var(--navy);color:#fff}
.split{display:grid;gap:2.5rem;align-items:center}
.split h2{margin:.8rem 0 1.1rem}
.split p{color:#526d84}
.visual-panel{min-height:24rem;overflow:hidden;border:1px solid #bbd6e8;border-radius:1.35rem;background:#eaf4fa;box-shadow:0 1.5rem 3rem #153a521c}
.site-preview{width:83%;margin:3rem auto -3rem;overflow:hidden;border:1px solid #aac7dc;border-radius:.75rem .75rem 0 0;background:white;box-shadow:0 1.6rem 3rem #052d4c27}
.preview-bar{display:flex;align-items:center;gap:.3rem;height:2.1rem;padding:0 .8rem;background:var(--navy)}
.preview-bar i{width:.36rem;height:.36rem;border-radius:50%;background:#83b5d5}
.preview-photo{height:9rem;background:linear-gradient(135deg,#153f5e,#377cad 55%,#a8d4e9)}
.preview-body{padding:1.4rem}
.preview-line{height:.7rem;margin-bottom:.6rem;border-radius:.15rem;background:#d1e4f0}
.preview-line.big{height:1.4rem;width:75%;background:var(--navy)}
.preview-line.short{width:48%}
.preview-button{width:6rem;height:1.5rem;margin-top:1.2rem;border-radius:.25rem;background:var(--blue)}
#sites-web .featured-project{min-width:0;width:100%;margin:0}
#sites-web .featured-browser{overflow:hidden;border:1px solid #b4c9d9;border-radius:1rem;background:#fff;box-shadow:0 1.5rem 3.5rem #123a5a21,0 .2rem .7rem #123a5a0d}
#sites-web .featured-browser-toolbar{position:relative;display:flex;align-items:center;justify-content:center;height:2.35rem;padding:0 4.5rem;border-bottom:1px solid #dbe5ec;background:#f8fafc;color:#4a6074}
#sites-web .featured-browser-dots{position:absolute;left:1rem;display:flex;gap:.34rem}
#sites-web .featured-browser-dots i{width:.46rem;height:.46rem;border-radius:50%;background:#afc0ce}
#sites-web .featured-browser-dots i:first-child{background:#8fb2cc}
#sites-web .featured-browser-address{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:700;letter-spacing:.015em}
#sites-web .featured-browser-screen{position:relative;aspect-ratio:8/5;background:#0b322a}
#sites-web .featured-browser-screen video{display:block;width:100%;height:100%;object-fit:contain}
#sites-web .featured-video-toggle{position:absolute;right:.8rem;bottom:.8rem;display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid #ffffffaf;border-radius:50%;background:#042953d9;color:#fff;box-shadow:0 .25rem .8rem #001d34a0;backdrop-filter:blur(5px);transition:background .2s,transform .2s}
#sites-web .featured-video-toggle:hover{transform:scale(1.06);background:#0062d6}
#sites-web .featured-video-toggle:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
#sites-web .featured-video-play{display:block;width:0;height:0;margin-left:2px;border-top:.39rem solid transparent;border-bottom:.39rem solid transparent;border-left:.58rem solid currentColor}
#sites-web .featured-video-pause{display:none;width:.58rem;height:.75rem;border-left:.18rem solid currentColor;border-right:.18rem solid currentColor}
#sites-web .featured-project.is-playing .featured-video-play{display:none}
#sites-web .featured-project.is-playing .featured-video-pause{display:block}
#sites-web .featured-project-caption{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:.85rem 1.5rem;padding:.95rem .1rem 0}
#sites-web .featured-project-caption>div{display:grid;gap:.1rem}
#sites-web .featured-project-label{color:var(--blue);font-size:.66rem;font-weight:800;letter-spacing:.17em}
#sites-web .featured-project-caption strong{color:var(--navy);font:800 1.2rem Manrope,sans-serif;letter-spacing:-.025em}
#sites-web .featured-project-category{color:#5e7486;font-size:.82rem}
#sites-web .featured-project-link{color:var(--blue);font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:.2rem;white-space:nowrap}
#sites-web .featured-project-link:hover{color:#004ba7}
@media (prefers-reduced-motion:reduce){#sites-web .featured-video-toggle{right:50%;bottom:50%;transform:translate(50%,50%);width:3rem;height:3rem}#sites-web .featured-video-toggle:hover{transform:translate(50%,50%)}#sites-web .featured-project.is-playing .featured-video-toggle{right:.8rem;bottom:.8rem;transform:none;width:2.75rem;height:2.75rem}}
.mobile-showcase{overflow:hidden;background:#fff}
.mobile-showcase-grid{display:grid;gap:clamp(3rem,7vw,5rem);align-items:center}
.mobile-showcase-copy{min-width:0}
.mobile-showcase-copy h2{max-width:41rem;margin:.95rem 0 1.25rem;font-size:clamp(2.05rem,4.2vw,3.5rem)}
.mobile-showcase-intro{max-width:40rem;margin-bottom:2rem;color:#4e6982;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.7}
.mobile-showcase-points{display:grid;max-width:43rem;margin:0;padding:0;list-style:none}
.mobile-showcase-points li{display:grid;grid-template-columns:2.3rem minmax(0,1fr);gap:1.05rem;padding:1.1rem 0;border-top:1px solid var(--line)}
.mobile-showcase-points li:last-child{border-bottom:1px solid var(--line)}
.mobile-showcase-number{padding-top:.14rem;color:var(--blue);font:800 .76rem Manrope,sans-serif;letter-spacing:.08em}
.mobile-showcase-points h3{margin:0 0 .3rem;color:var(--navy);font-size:clamp(1.05rem,1.6vw,1.27rem);letter-spacing:-.025em}
.mobile-showcase-points p{margin:0;color:#536e84;font-size:.94rem;line-height:1.55}
.mobile-showcase-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;min-width:0;min-height:31rem;isolation:isolate}
.mobile-showcase-visual::before{content:"";position:absolute;z-index:-2;width:min(94%,34rem);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#e7f5ff 0%,#f3f9ff 55%,transparent 72%)}
.mobile-showcase-visual::after{content:"";position:absolute;z-index:-1;width:min(95%,31rem);aspect-ratio:1;border:1px solid #cfe5f5;border-radius:50%;box-shadow:0 0 0 3.5rem #f7fbff80}
.mobile-showcase-phone{position:relative;width:min(74%,17.5rem);padding:.7rem;border:1px solid #234e75;border-radius:2.4rem;background:linear-gradient(145deg,#123e6b,#021b35 62%);box-shadow:0 2rem 4rem #04295332,0 .3rem .8rem #0429532e,inset 0 0 0 .16rem #82b6da3b}
.mobile-showcase-phone::before{content:"";position:absolute;top:7.2rem;left:-.19rem;width:.18rem;height:3.3rem;border-radius:.18rem 0 0 .18rem;background:#173e67}
.mobile-showcase-phone::after{content:"";position:absolute;top:8.3rem;right:-.19rem;width:.18rem;height:2.5rem;border-radius:0 .18rem .18rem 0;background:#173e67}
.mobile-showcase-camera{position:absolute;z-index:1;top:1.05rem;left:50%;width:4.5rem;height:.55rem;transform:translateX(-50%);border-radius:1rem;background:#08213c;box-shadow:inset 0 0 0 1px #ffffff1c}
.mobile-showcase-screen{aspect-ratio:13/24;overflow:hidden;border-radius:1.8rem;background:#171511;box-shadow:inset 0 0 0 1px #ffffffb8}
.mobile-showcase-screen video{display:block;width:100%;height:100%;object-fit:contain}
.mobile-showcase-home{width:4.5rem;height:.22rem;margin:.65rem auto .08rem;border-radius:1rem;background:#bfd7e9}
.mobile-showcase-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:2.75rem;padding:.55rem .95rem;border:1px solid #bbd5e8;border-radius:999px;background:#fff;color:var(--navy);font-size:.76rem;font-weight:800;box-shadow:0 .35rem 1rem #0429530d;transition:border-color .2s,background .2s}
.mobile-showcase-toggle:hover{border-color:#78b7e6;background:#f0f8ff}
.mobile-showcase-play{width:0;height:0;margin-left:2px;border-top:.32rem solid transparent;border-bottom:.32rem solid transparent;border-left:.5rem solid currentColor}
.mobile-showcase-pause{display:none;width:.5rem;height:.65rem;border-left:.16rem solid currentColor;border-right:.16rem solid currentColor}
.mobile-showcase-visual.is-playing .mobile-showcase-play{display:none}
.mobile-showcase-visual.is-playing .mobile-showcase-pause{display:block}
@media (min-width:64rem){.mobile-showcase-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"visual copy";gap:clamp(3rem,5vw,5rem)}.mobile-showcase-visual{grid-area:visual;min-height:37rem}.mobile-showcase-copy{grid-area:copy}.mobile-showcase-phone{width:min(73%,18.5rem)}}
.feature-list{display:grid;gap:.7rem;margin:1.5rem 0;padding:0;list-style:none}
.feature-list li{position:relative;padding-left:1.6rem}
.feature-list li::before{content:'◆';position:absolute;left:0;color:var(--blue);font-size:.68rem;top:.3rem}
.feature-list.on-dark li::before{color:var(--sky)}
.callout{padding:1.6rem;border-left:.25rem solid var(--sky);border-radius:.35rem;background:#eaf5fd;color:var(--navy)}
.callout p{margin:0;color:#486780}
.faq-list{display:grid;gap:.7rem;max-width:52rem}
.faq-list details{padding:1.1rem 1.3rem;border:1px solid var(--line);border-radius:.7rem;background:#fff}
.faq-list summary{cursor:pointer;font-weight:800;color:var(--navy)}
.faq-list details p{margin:1rem 0 0;color:#526d84}

/* Form and footer */
.contact-section{background:#072d56;color:#fff}
.contact-grid{display:grid;gap:2.5rem}
.contact-copy h2{margin:.8rem 0 1rem}
.contact-copy p{color:#c3d7e9;max-width:30rem}
.contact-direct{display:grid;gap:.35rem;margin-top:2rem;font-size:.92rem}
.contact-direct a{text-decoration:underline;text-underline-offset:.2rem}
.form-panel{padding:1.4rem;border:1px solid #7bb6e050;border-radius:1rem;background:#fff;color:var(--navy);box-shadow:0 1.4rem 3rem #001b3866}
.form-panel h3{margin-bottom:1.4rem}
.form-grid{display:grid;gap:1rem}
.field{display:grid;gap:.4rem}
.field label{font-size:.8rem;font-weight:800;color:var(--navy)}
.field input,.field select,.field textarea{width:100%;min-height:3rem;padding:.7rem .8rem;border:1px solid #b9cfdf;border-radius:.48rem;background:#fff;color:var(--ink);font-size:1rem}
.field textarea{min-height:6.7rem;resize:vertical}
.form-hint{margin:.75rem 0 1.1rem;color:#58748d;font-size:.82rem}
.form-status{min-height:1.5rem;margin:.8rem 0 0;color:var(--navy);font-size:.88rem}
.form-status.error{color:#9c2929}
.form-success{padding:1rem;border-radius:.5rem;background:#eaf8f3;color:#07513f;font-weight:700}
.contact-flow-progress{display:flex;justify-content:space-between;gap:1rem;color:#526f89;font-size:.8rem;font-weight:800;letter-spacing:.03em}
.contact-flow-track{height:.3rem;margin:.55rem 0 1.8rem;border-radius:1rem;background:#e4eef6;overflow:hidden}
.contact-flow-track span{display:block;width:20%;height:100%;border-radius:inherit;background:var(--blue);transition:width .3s ease}
.contact-flow-step{min-width:0;margin:0;padding:0;border:0}
.contact-flow-step legend,.contact-flow-step h4{margin:0 0 1.1rem;color:var(--navy);font:800 clamp(1.22rem,2vw,1.55rem)/1.3 Manrope,sans-serif;letter-spacing:-.035em}
.contact-flow-step h4{margin-bottom:1.3rem}
.contact-flow-description{margin:-.45rem 0 1.15rem;color:#58748d;font-size:.9rem}
.contact-flow-options{display:grid;gap:.65rem}
.contact-flow-option{position:relative;display:flex;align-items:center;gap:.8rem;min-height:3.3rem;padding:.72rem .95rem;border:1px solid #c5d8e8;border-radius:.65rem;background:#f8fbfe;color:var(--navy);font-size:.95rem;font-weight:700;line-height:1.35;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s}
.contact-flow-option:hover{border-color:#66a9e9;background:#f0f8ff;transform:translateY(-1px)}
.contact-flow-option:has(input:checked){border-color:var(--blue);background:#eaf5ff;box-shadow:inset 0 0 0 1px var(--blue)}
.contact-flow-option:has(input:focus-visible){outline:3px solid var(--sky);outline-offset:2px}
.contact-flow-option input{flex:none;width:1.1rem;height:1.1rem;margin:0;accent-color:var(--blue)}
.contact-flow-other{margin-top:1rem}
.contact-flow-error{margin:1rem 0 0;color:#9c2929;font-size:.9rem;font-weight:700}
.contact-flow-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:1.5rem}
.contact-flow-actions .btn{margin-left:auto}
.contact-flow-back{min-height:3.25rem;padding:.65rem .75rem;border:0;border-radius:.5rem;background:transparent;color:var(--blue);font-size:.9rem;font-weight:800}
.contact-flow-back:hover{background:#eaf5ff}
.contact-flow .form-status:empty{display:none}
.hp-field{position:absolute;left:-9999px;opacity:0}
.site-footer{padding:3.4rem 0 1.5rem;background:#03203f;color:#c0d5e7}
.footer-top{display:grid;gap:2.3rem;padding-bottom:2.5rem}
.footer-logo{display:inline-block;width:10.5rem;max-width:100%;line-height:0}
.footer-logo img{width:100%;height:auto}
.footer-top p{max-width:24rem;margin:1rem 0 0;font-size:.9rem}
.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.footer-links strong{display:block;margin-bottom:.8rem;color:#fff;font:800 .9rem Manrope,sans-serif}
.footer-links a{display:block;margin:.45rem 0;font-size:.9rem}
.footer-links{min-width:0}
.footer-links>div{min-width:0}
.footer-links a{overflow-wrap:anywhere}
.footer-links a:hover{color:#fff;text-decoration:underline}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;padding-top:1.3rem;border-top:1px solid #ffffff2b;font-size:.78rem}

/* Scroll reveals use transforms only, so section dimensions never change. */
html.scroll-motion-ready .scroll-reveal{opacity:0;transform:translateY(1.15rem);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.25,1)}
html.scroll-motion-ready .scroll-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.scroll-motion-ready .scroll-reveal{opacity:1;transform:none;transition:none}}

@media (min-width:48rem){
  .wrap{width:min(calc(100% - 4rem),var(--wrap))}
  .problem-grid,.service-grid,.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .field.full{grid-column:1/-1}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media (min-width:64rem){
  .hero-inner{grid-template-columns:minmax(0,1.16fr) minmax(20rem,.84fr);gap:4rem}
  .hero-art{min-height:26rem;padding:1.5rem}
  .art-flow{gap:1rem;padding:2rem 0}
  .problem-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .capability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .split{grid-template-columns:1fr 1fr;gap:5rem}
  #sites-web .split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,4vw,4rem)}
  .contact-grid{grid-template-columns:.8fr 1.2fr;gap:5rem}
  .footer-top{grid-template-columns:1.15fr 1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media (min-width:48rem){.form-panel{padding:clamp(1.6rem,3vw,2.2rem)}}
