@font-face{
font-family:DreamDisplay;
src:url('../fonts/BarlowCondensed-Bold.woff2') format('woff2');
font-weight:700;
font-display:swap}

@font-face{
font-family:DreamMono;
src:url('../fonts/JetBrainsMono-Regular.woff2') format('woff2');
font-weight:400;
font-display:swap}

@font-face{
font-family:DreamMono;
src:url('../fonts/JetBrainsMono-Medium.woff2') format('woff2');
font-weight:500;
font-display:swap}

:root{
--paper:#f4f7f7;
--paper-deep:#e7eeee;
--ink:#172126;
--muted:#5d6b70;
--line:#cbd7d9;
--cyan:#087b92;
--cyan-dark:#075d70;
--cyan-pale:#d9f0f2;
--radius:1.25rem;
--shell:min(1320px,calc(100% - 64px));
--fast:cubic-bezier(.16,1,.3,1)}

*{
box-sizing:border-box}

html{
scroll-behavior:smooth;
background:var(--paper)}

body{
margin:0;
min-width:320px;
background:var(--paper);
color:var(--ink);
font:400 1rem/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
overflow-x:hidden}

a{
color:inherit;
text-decoration:none}

img{
display:block;
max-width:100%;
height:auto}

h1,h2,h3,p{
margin:0}

h1,h2,h3{
font-family:DreamDisplay,"Arial Narrow",sans-serif;
font-weight:700;
letter-spacing:-.025em;
line-height:.94;
text-wrap:balance}

p{
max-width:58ch}

[id]{
scroll-margin-top:6rem}

.shell{
width:var(--shell);
margin-inline:auto}

.section{
padding:clamp(5.5rem,12vw,11rem) 0}

.skip-link{
position:fixed;
z-index:4;
left:1rem;
top:-5rem;
padding:.7rem 1rem;
background:var(--ink);
color:var(--paper);
border-radius:.35rem}

.skip-link:focus{
top:1rem}

:focus-visible{
outline:3px solid var(--cyan);
outline-offset:4px}

.site-header{
position:sticky;
z-index:2;
top:0;
background:color-mix(in srgb,var(--paper) 94%,transparent);
border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);
backdrop-filter:blur(16px)}

.nav{
height:4.5rem;
display:flex;
align-items:center;
justify-content:space-between;
gap:1rem}

.brand{
display:flex;
align-items:center;
gap:.55rem;
width:auto;
height:auto;
font-weight:750;
letter-spacing:-.035em;
white-space:nowrap;
align-items:center}

.brand-glyph{
display:grid;
place-items:center;
width:2rem;
height:2rem;
border-radius:.35rem;
background:var(--cyan);
color:white;
font:700 .82rem/1 DreamMono,monospace;
letter-spacing:-.12em}

.brand-word{
font-size:1rem}

.brand-word span{
color:var(--cyan)}

.nav-links{
display:flex;
align-items:center;
gap:clamp(.9rem,2vw,1.7rem);
font-size:.88rem;
font-weight:600}

.nav-links>a:not(.nav-cta){
color:var(--muted);
transition:color .25s var(--fast)}

.nav-links>a:not(.nav-cta):hover{
color:var(--ink)}

.nav-cta{
display:inline-flex;
gap:.45rem;
align-items:center;
padding:.55rem .8rem;
color:var(--paper);
background:var(--ink);
border-radius:.45rem;
transition:transform .25s var(--fast),background .25s var(--fast)}

.nav-cta:hover{
background:var(--cyan-dark);
transform:translateY(-2px)}

.menu-button{
display:none}

.hero{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
align-items:center;
gap:clamp(2.2rem,5vw,5rem);
padding-block:clamp(5rem,9vw,8rem)}

.hero-copy{
padding-bottom:clamp(0rem,5vw,3rem)}

.kicker{
font:500 .72rem/1.3 DreamMono,monospace;
letter-spacing:.09em;
text-transform:uppercase;
color:var(--cyan);
margin-bottom:1.35rem}

.hero h1{
max-width:100%;
font-size:clamp(3.45rem,5.6vw,5.5rem);
margin-bottom:1.8rem}

.hero-summary{
max-width:36ch;
color:var(--muted);
font-size:clamp(1rem,1.4vw,1.18rem)}

.hero-actions{
display:flex;
align-items:center;
gap:1.4rem;
flex-wrap:wrap;
margin-top:2.2rem}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:.65rem;
min-height:3.25rem;
padding:.76rem 1.05rem;
font-weight:700;
font-size:.93rem;
white-space:nowrap;
border-radius:.45rem;
transition:transform .28s var(--fast),background .28s var(--fast),box-shadow .28s var(--fast)}

.button.primary{
color:var(--paper);
background:var(--cyan);
box-shadow:0 .9rem 2rem rgb(8 123 146/.17)}

.button.primary:hover{
background:var(--cyan-dark);
transform:translateY(-3px);
box-shadow:0 1.2rem 2.6rem rgb(8 123 146/.22)}

.button:active{
transform:translateY(1px) scale(.985)}

.text-link{
display:inline-flex;
align-items:center;
gap:.55rem;
font-weight:700;
border-bottom:1px solid currentColor;
padding-bottom:.2rem;
transition:color .25s var(--fast),transform .25s var(--fast)}

.text-link:hover{
color:var(--cyan);
transform:translateX(.25rem)}

.hero-visual{
position:relative;
margin:0}

.hero-visual::before{
content:"";
position:absolute;
inset:-.65rem .65rem .65rem -.65rem;
background:var(--cyan-pale);
z-index:-1}

.hero-visual img{
width:100%;
aspect-ratio:3/2;
object-fit:cover;
border-radius:var(--radius)}

.hero-visual figcaption{
max-width:32ch;
margin:.9rem 0 0 auto;
color:var(--muted);
font-size:.8rem;
text-align:right}

.signal-route{
position:absolute;
z-index:2;
height:1px;
overflow:hidden;
background:rgb(8 123 146/.45);
pointer-events:none}

.signal-route span{
position:absolute;
inset:0;
width:100%;
background:linear-gradient(90deg,transparent 0 36%,rgb(126 211 223/.3) 43%,var(--cyan) 50%,rgb(126 211 223/.3) 57%,transparent 64%);
opacity:.9;
transform:translateX(0)}

.hero-route{
top:61%;
left:7%;
width:72%;
transform:rotate(-11deg);
transform-origin:left center}

.delivery-route{
top:49%;
left:8%;
width:78%}

.capabilities{
background:var(--paper-deep)}

.capabilities-grid{
display:grid;
grid-template-columns:1.05fr .75fr .75fr;
gap:1rem;
align-items:stretch}

.section-intro{
padding:clamp(.2rem,2vw,1.5rem) clamp(0rem,2vw,2rem) 2rem 0}

.section-intro h2,.work-copy h2,.delivery-copy h2,.trust-heading h2,.contact-panel h2{
font-size:clamp(2.6rem,5vw,5.35rem);
max-width:9.5ch}

.section-intro p,.work-copy>p,.trust-heading p,.contact-panel>div>p{
color:var(--muted);
margin-top:1.35rem}

.capability{
min-height:25rem;
padding:1.8rem;
display:flex;
flex-direction:column;
justify-content:flex-end;
border-radius:var(--radius);
overflow:hidden;
transition:transform .45s var(--fast)}

.capability-ai{
background:var(--ink);
color:var(--paper)}

.capability-build{
background:var(--cyan-pale)}

.capability h3{
font-size:clamp(2rem,3.2vw,3.25rem);
margin-bottom:.85rem}

.capability>p{
font-size:.96rem}

.capability a{
margin-top:1.5rem;
font-weight:700;
font-size:.9rem}

.capability a:hover{
color:var(--cyan)}

.capability-ai a:hover{
color:#a8e6ed}

.capability-build a:hover{
color:var(--cyan-dark)}

.work-layout{
display:grid;
grid-template-columns:.8fr 1.2fr;
gap:clamp(1rem,4vw,4rem);
align-items:end}

.work-copy{
padding-bottom:clamp(0rem,4vw,2.5rem)}

.work-copy .text-link{
margin-top:2rem}

.work-photo{
margin:0;
grid-row:span 2}

.work-photo img{
width:100%;
aspect-ratio:5/4;
object-fit:cover;
border-radius:var(--radius);
filter:saturate(.75) contrast(1.04)}

.work-notes{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:.7rem}

.work-notes p{
font:500 .7rem/1.35 DreamMono,monospace;
letter-spacing:.03em;
color:var(--muted);
padding-top:.8rem;
border-top:1px solid var(--line)}

.delivery{
background:var(--paper-deep)}

.delivery-layout{
display:grid;
grid-template-columns:1.15fr .85fr;
align-items:center;
gap:clamp(2rem,7vw,8rem)}

.delivery-visual{
margin:0;
position:relative}

.delivery-visual::after{
content:"";
position:absolute;
right:-1.5rem;
bottom:-1.5rem;
width:38%;
height:32%;
background:var(--cyan);
z-index:0}

.delivery-visual img{
position:relative;
z-index:1;
width:100%;
aspect-ratio:1.58/1;
object-fit:cover;
border-radius:var(--radius)}

.delivery-list{
display:grid;
gap:1.25rem;
margin:2rem 0 0;
padding:0;
list-style:none}

.delivery-list li{
align-items:start}

.delivery-list strong{
display:block;
font-size:1.18rem;
margin-bottom:.22rem}

.delivery-list span{
display:block;
color:var(--muted);
font-size:.93rem}

.trust-layout{
display:grid;
grid-template-columns:.85fr 1.15fr;
gap:clamp(2rem,8vw,10rem)}

.trust-heading{
padding-right:1rem}

.trust-points{
display:grid;
gap:0}

.trust-points article{
padding:1.45rem 0;
border-bottom:1px solid var(--line)}

.trust-points article:first-child{
padding-top:0}

.trust-points h3{
font-size:clamp(1.65rem,2.5vw,2.35rem);
margin-bottom:.55rem}

.trust-points p{
color:var(--muted);
font-size:.96rem}

.contact{
padding-top:clamp(3rem,7vw,7rem)}

.contact-panel{
display:grid;
grid-template-columns:1fr auto;
gap:3rem;
align-items:end;
padding:clamp(2rem,6vw,5rem);
background:var(--ink);
color:var(--paper);
border-radius:var(--radius)}

.contact-panel .kicker{
color:#7ed3df}

.contact-panel>div>p{
color:#bfcbcd}

.contact-panel .button{
background:#7ed3df;
color:var(--ink);
box-shadow:none}

.contact-panel .button:hover{
background:#c2f0f3}

.site-footer{
padding:3.5rem 0 2.5rem}

.footer-layout{
display:flex;
justify-content:space-between;
gap:2rem;
align-items:flex-end}

.footer-brand p{
max-width:27ch;
color:var(--muted);
font-size:.86rem;
margin-top:.75rem}

.footer-links{
display:flex;
gap:1.2rem;
flex-wrap:wrap;
justify-content:flex-end;
font-size:.86rem;
color:var(--muted)}

.footer-links a:hover{
color:var(--cyan)}

.nav-links a[aria-current="page"]:not(.nav-cta){
color:var(--ink);
text-decoration:underline;
text-decoration-color:var(--cyan);
text-decoration-thickness:2px;
text-underline-offset:.45rem}

.page-hero{
display:grid;
align-content:start;
min-height:0;
padding-block:clamp(4.5rem,6vw,6rem) clamp(4rem,5vw,5rem);
border-bottom:1px solid var(--line)}

.page-hero h1{
max-width:14ch;
font-size:clamp(3.5rem,5.8vw,5.5rem)}

.page-hero>p:not(.kicker){
margin-top:1.7rem;
color:var(--muted);
font-size:clamp(1.05rem,1.6vw,1.25rem)}

.page-hero .button{
justify-self:start;
margin-top:2.2rem}

.service-index-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:clamp(1.25rem,4vw,5rem)}

.service-index-item{
padding:1.25rem 0 2.5rem;
min-height:25rem;
display:flex;
flex-direction:column;
justify-content:flex-end;
border-top:2px solid var(--ink)}

.service-index-item.offset{
transform:translateY(clamp(1.5rem,7vw,7rem));
border-color:var(--cyan)}

.service-index-item h2,.context-card h2,.compact-cta h2,.legal-page h1,.not-found h1{
font-size:clamp(2.7rem,4.8vw,5.25rem);
max-width:10ch}

.service-index-item>p:not(.kicker),.context-card>p,.compact-cta>p{
margin-top:1rem;
color:var(--muted)}

.service-index-item .text-link{
align-self:flex-start;
margin-top:1.7rem}

.muted-section{
background:var(--paper-deep)}

.editorial-split{
display:grid;
grid-template-columns:minmax(0,.9fr) minmax(20rem,1.1fr);
gap:clamp(3rem,10vw,11rem)}

.editorial-split h2{
max-width:9.5ch;
font-size:clamp(2.8rem,5.5vw,5.75rem)}

.stacked-copy{
align-self:end}

.stacked-copy p{
font-size:1.1rem;
color:var(--muted)}

.stacked-copy .button{
margin-top:2rem}

.stacked-list{
display:grid;
gap:0}

.stacked-list article{
padding:1.5rem 0;
border-top:1px solid var(--line)}

.stacked-list article:last-child{
border-bottom:1px solid var(--line)}

.stacked-list h3{
font-size:clamp(1.85rem,3.2vw,3rem)}

.stacked-list p{
margin-top:.55rem;
color:var(--muted)}

.compact-cta{
max-width:59rem}

.compact-cta .text-link,.compact-cta .button{
margin-top:1.8rem}

.context-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:1rem}

.context-card{
min-height:25rem;
padding:clamp(1.5rem,3vw,3rem);
display:flex;
flex-direction:column;
justify-content:flex-end;
border-radius:var(--radius);
background:#edf2f2}

.context-card.dark{
background:var(--ink);
color:var(--paper)}

.context-card.dark>p:not(.kicker){
color:#c2ced0}

.context-card.pale{
background:var(--cyan-pale)}

.image-card{
position:relative;
overflow:hidden;
isolation:isolate;
justify-content:flex-start;
padding:0}

.image-card img{
width:100%;
height:100%;
min-height:25rem;
object-fit:cover;
filter:saturate(.72) contrast(1.05)}

.image-card p{
position:absolute;
z-index:1;
right:1.5rem;
bottom:1.25rem;
max-width:20ch;
color:var(--paper);
font:500 .75rem/1.45 DreamMono,monospace;
text-align:right}

.project-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:clamp(1rem,3vw,2.5rem)}

.project-card{
display:flex;
flex-direction:column;
background:#edf2f2;
border-radius:var(--radius);
overflow:hidden}

.project-card.project-featured{
grid-column:1/-1;
display:grid;
grid-template-columns:1.15fr .85fr}

.project-card img{
width:100%;
height:clamp(17rem,31vw,28rem);
object-fit:cover;
filter:saturate(.82) contrast(1.03)}

.project-card.project-featured img{
height:100%;
min-height:32rem}

.project-card>div{
display:flex;
flex-direction:column;
justify-content:flex-end;
padding:clamp(1.5rem,3vw,3rem)}

.project-card h2{
max-width:11ch;
font-size:clamp(2.4rem,4vw,4.6rem)}

.project-card p:not(.kicker){
color:var(--muted);
margin-top:1rem}

.project-tags{
display:flex;
flex-wrap:wrap;
gap:.45rem;
margin:1.5rem 0 0;
padding:0;
list-style:none}

.project-tags li{
padding:.3rem .55rem;
border:1px solid var(--line);
font:500 .68rem/1.4 DreamMono,monospace;
color:var(--cyan-dark)}

.use-case-list{
border-top:1px solid var(--line)}

.use-case-list article{
display:grid;
grid-template-columns:4rem minmax(0,1fr) auto;
gap:1rem;
align-items:start;
padding:clamp(1.5rem,3vw,2.75rem) 0;
border-bottom:1px solid var(--line)}

.use-case-list span{
font:500 .75rem DreamMono,monospace;
color:var(--cyan)}

.use-case-list h2{
font-size:clamp(2rem,3.8vw,3.8rem)}

.use-case-list p{
margin-top:.55rem;
color:var(--muted)}

.use-case-list a{
font-size:1.5rem;
color:var(--cyan);
transition:transform .25s var(--fast)}

.use-case-list a:hover{
transform:translate(.18rem,-.18rem)}

.contact-form-section{
padding-top:0}

.form-layout{
display:grid;
grid-template-columns:.75fr 1.25fr;
gap:clamp(2rem,9vw,10rem);
align-items:start}

.form-context{
padding-top:2rem}

.form-context h2{
max-width:9ch;
font-size:clamp(2.6rem,4.5vw,4.6rem)}

.form-context>p:not(.kicker){
margin-top:1.25rem;
color:var(--muted)}

.contact-email a,.form-note a,.legal-page a{
color:var(--cyan-dark);
text-decoration:underline;
text-underline-offset:.18em}

.form-container{
padding:clamp(1.5rem,4vw,3.5rem);
background:var(--paper-deep);
border-radius:var(--radius)}

.lead-form{
display:grid;
gap:1.15rem}

.form-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:1rem}

.form-group{
display:grid;
gap:.45rem}

.form-group label{
font-size:.84rem;
font-weight:700}

.form-group input,.form-group select,.form-group textarea{
width:100%;
border:1px solid var(--line);
border-radius:.35rem;
padding:.7rem .75rem;
background:var(--paper);
color:var(--ink);
font:inherit}

.form-group textarea{
min-height:8rem;
resize:vertical}

.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
border-color:var(--cyan);
outline:2px solid rgb(8 123 146/.2)}

.form-group [aria-invalid="true"]{
border-color:#9e3b36}

.form-note,.form-status{
font-size:.78rem;
color:var(--muted)}

.form-status[data-state="error"]{
padding:.7rem .8rem;
border-left:3px solid #9e3b36;
color:#682c28;
background:#f7e8e6}

.form-status[data-state="success"]{
padding:.7rem .8rem;
border-left:3px solid var(--cyan);
color:var(--cyan-dark);
background:#e0f1f2}

.lead-form button[disabled]{
opacity:.68;
cursor:wait}

.legal-page{
padding-block:clamp(5rem,10vw,9rem)}

.legal-page h1{
margin-top:.75rem}

.legal-intro{
margin-top:1.5rem;
color:var(--muted);
font-size:1.1rem}

.legal-page section{
max-width:48rem;
margin-top:3rem}

.legal-page section h2{
font-size:clamp(2rem,3.5vw,3rem)}

.legal-page section p{
margin-top:.65rem;
color:var(--muted)}

.not-found{
min-height:calc(100vh - 15rem);
display:grid;
align-content:center;
padding-block:clamp(5rem,12vw,12rem)}

.not-found h1{
margin-top:.8rem;
max-width:9ch}

.not-found>p:not(.kicker){
margin-top:1.5rem;
color:var(--muted);
font-size:1.1rem}

.reveal{
opacity:1;
transform:none}

@media (prefers-reduced-motion:no-preference){
.js .reveal{
opacity:1;
transform:translateY(1.25rem)}

.js .reveal.is-visible{
opacity:1;
transform:translateY(0);
transition:opacity .8s var(--fast),transform .8s var(--fast)}

.js .capability.reveal.is-visible{
transition:opacity .8s var(--fast),transform .8s var(--fast)}

.js .hero-copy{
transition-delay:.06s}

.js .hero-visual{
transition-delay:.16s}

.js .hero-visual.is-visible .hero-route span{
animation:signal-sweep 1.05s var(--fast) .55s both}

.js .delivery-visual.is-visible .delivery-route span{
animation:signal-sweep 1.15s var(--fast) .15s both}

@media (hover:hover){
.capability:hover,
.js .capability.reveal.is-visible:hover{
transform:translateY(-.45rem)}
}

}

@keyframes signal-sweep{
from{
opacity:.2;
transform:translateX(-100%)}

to{
opacity:1;
transform:translateX(100%)}}

@media (max-width:1023px){
:root{
--shell:min(100% - 48px,1320px)}

.hero{
grid-template-columns:.9fr 1.1fr;
gap:2.5rem}

.capabilities-grid{
grid-template-columns:1fr 1fr}

.section-intro{
grid-column:1/-1;
max-width:38rem}

.capability{
min-height:20rem}

.trust-layout{
gap:4rem}

.contact-panel{
gap:2rem}

}

.trust-band{border-block:1px solid var(--line);background:var(--paper-deep)}
.trust-band-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;padding:1.1rem 0}.trust-band p{display:grid;gap:.2rem;font-size:.84rem;color:var(--muted)}.trust-band strong{font:500 .7rem/1.3 DreamMono,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--cyan-dark)}
@media (min-width:768px) and (max-width:1023px){.trust-band-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:2rem;color:var(--muted);font-size:.84rem}.breadcrumbs a{text-decoration:underline;text-underline-offset:.2rem}.direct-answers{padding-block:clamp(4rem,8vw,7rem)}.direct-answers h2,.faq-layout h2{font-size:clamp(2.7rem,5vw,5rem);max-width:11ch}.answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}.answer-grid article{padding:1.25rem 0;border-top:2px solid var(--cyan)}.answer-grid h3{font-size:clamp(1.5rem,2.5vw,2.25rem)}.answer-grid p{margin-top:.7rem;color:var(--muted);font-size:.92rem}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,9vw,10rem)}.faq-list{border-top:1px solid var(--line)}.faq-list details{padding:1.25rem 0;border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style-position:outside}.faq-list p{margin:.9rem 2rem 0 0;color:var(--muted)}.tony-profile{display:grid;grid-template-columns:minmax(0,.75fr) minmax(20rem,1.25fr);gap:clamp(2rem,9vw,10rem)}.tony-profile h2{font-size:clamp(2.7rem,5vw,5rem)}.tony-profile p{color:var(--muted);font-size:1.08rem}
@media (max-width:767px){
:root{
--shell:min(100% - 32px,1320px)}

.site-header{
backdrop-filter:none}

.nav{
height:4.2rem}

.brand{
font-size:.95rem}

.menu-button{
display:inline-flex;
align-items:center;
gap:.5rem;
border:0;
background:none;
color:var(--ink);
padding:.5rem;
font:500 .75rem DreamMono,monospace;
letter-spacing:.04em}

.menu-mark,.menu-mark::before{
display:block;
width:1.1rem;
height:1px;
background:currentColor;
transition:transform .25s var(--fast)}

.menu-mark::before{
content:"";
transform:translateY(.28rem)}

.menu-button[aria-expanded="true"] .menu-mark{
transform:rotate(45deg)}

.menu-button[aria-expanded="true"] .menu-mark::before{
transform:rotate(-90deg)}

.nav-links{
display:none;
position:absolute;
top:4.2rem;
left:0;
right:0;
padding:1.2rem max(1rem,calc((100% - 1320px)/2));
background:var(--paper);
border-bottom:1px solid var(--line);
flex-direction:column;
align-items:stretch;
gap:0}

.nav-links.is-open{
display:flex}

.nav-links a{
padding:.85rem 1rem}

.nav-cta{
justify-content:space-between;
margin-top:.4rem}

.hero{
min-height:auto;
grid-template-columns:1fr;
gap:2.4rem;
padding-block:3rem 4rem}

.hero-copy{
padding:0}

.hero h1{
max-width:100%;
font-size:clamp(2.85rem,12.4vw,4.75rem)}

.hero-visual::before{
inset:-.4rem .4rem .4rem -.4rem}

.capabilities-grid,.work-layout,.delivery-layout,.trust-layout,.contact-panel{
grid-template-columns:1fr}

.section-intro{
grid-column:auto;
padding-right:0}

.capability{
min-height:17rem}

.work-photo{
grid-row:auto;
grid-row-start:2}

.work-notes{
grid-row:auto}

.delivery-visual::after{
right:-.7rem;
bottom:-.7rem}

.trust-heading{
padding:0}

.contact-panel{
align-items:start;
gap:2rem}

.contact-panel .button{
justify-self:start}

.footer-layout{
align-items:flex-start;
flex-direction:column}

.footer-links{
justify-content:flex-start}

.hero-visual figcaption{
text-align:left;
margin-left:0}

.section{
padding:5.5rem 0}

}

@media (max-width:430px){
.hero-actions{
align-items:flex-start;
flex-direction:column;
gap:1rem}

.button{
width:100%}

.work-notes{
grid-template-columns:1fr}

.work-notes p{
padding-top:.65rem}

.delivery-list li{
grid-template-columns:2rem 1fr}

.footer-links{
flex-direction:column;
gap:.6rem}

}

@media (max-width:350px){
.hero{
gap:1.75rem;
padding-block:2rem 2.5rem}

.hero h1{
font-size:2.55rem;
margin-bottom:1.2rem}

.hero-summary{
font-size:.96rem}

.hero-actions{
margin-top:1.35rem}
}

@media (prefers-reduced-motion:reduce){
html{
scroll-behavior:auto}

*,*::before,*::after{
animation-duration:.01ms!important;
animation-iteration-count:1!important;
transition-duration:.01ms!important;
scroll-behavior:auto!important}

.reveal,.js .reveal{
opacity:1;
transform:none}

}

@media (max-width:767px){
.page-hero{
min-height:0;
padding-block:4rem 4.5rem}

.page-hero h1{
font-size:clamp(3.25rem,14vw,5rem)}

.service-index-grid,.editorial-split,.form-layout{
grid-template-columns:1fr}

.service-index-item{
min-height:18rem}

.service-index-item.offset{
transform:none}

.editorial-split{
gap:3rem}

.context-grid{
grid-template-columns:1fr}

.project-grid,.project-card.project-featured{
grid-template-columns:1fr}

.project-card.project-featured{
grid-column:auto}

.project-card.project-featured img{
min-height:20rem}

.context-card,.image-card img{
min-height:20rem}

.use-case-list article{
grid-template-columns:2.5rem minmax(0,1fr) auto}

.form-context{
padding-top:0}

.form-row{
grid-template-columns:1fr}

.not-found{
min-height:calc(100vh - 12rem)}

.trust-band-inner,.answer-grid,.faq-layout,.tony-profile{
grid-template-columns:1fr}

.trust-band-inner{
gap:.85rem}

.answer-grid{
gap:.5rem}

.faq-layout{
gap:2rem}

.faq-list summary{
padding-right:.5rem}

.tony-profile{
gap:1.25rem}
}
