/* Shared responsive layout: phone, tablet portrait/landscape and desktop. */
.wrap{width:100%}.hero>*{min-width:0}.hero h1{font-size:clamp(2.35rem,5.4vw,5rem);letter-spacing:-.045em;overflow-wrap:normal}.navlinks{flex-wrap:wrap}.contact-links{display:flex;flex-direction:column;gap:12px;min-width:260px}.contact-links .button{white-space:normal;min-height:48px;font-size:15px;gap:20px}.contact .line-contact{background:transparent;color:#172011;border:1px solid #708653}.button{min-height:46px}.contact h2{overflow-wrap:anywhere}.contact-links a:focus-visible{outline-color:#172011}.portfolio-section{max-width:880px;margin-inline:auto;padding-top:38px}.portfolio-title{margin-bottom:18px}.portfolio-title h2{font-size:28px}.gallery-slide img{height:clamp(220px,34vw,390px)}.gallery-slide figcaption{padding:12px 18px}.gallery-controls{padding:9px 18px}.gallery-controls button{min-height:44px}.gallery-track{max-width:100%;overscroll-behavior-x:contain}.project-categories{justify-content:center}.portfolio-section+.contact{margin-top:48px}.contact{scroll-margin-top:24px}.service{min-width:0}
@media(min-width:701px) and (max-width:1100px){.wrap{padding-inline:32px}.nav{gap:16px;flex-wrap:wrap;padding-block:20px}.navcta{display:none}.navlinks{gap:20px}.hero{grid-template-columns:1fr 1fr;gap:28px;padding-top:50px}.hero h1{font-size:clamp(2.4rem,5.15vw,3.5rem)}.hero p{font-size:16px}.hero .secondary{display:table;margin:18px 0 0}.ai-visual{min-height:360px}.visual-bottom strong{font-size:20px}.visual-top>span{font-size:11px;letter-spacing:.8px}.strip{flex-wrap:wrap;justify-content:flex-start;gap:14px 25px}.section-title{gap:24px}.section-title h2{font-size:32px}.section-title p{max-width:290px}.services{grid-template-columns:repeat(2,minmax(0,1fr))}.service:first-child{grid-column:span 2}.contact{padding:32px;gap:28px}.contact h2{font-size:29px}.contact-links{min-width:240px}.projects-heading h1{font-size:64px}.gallery-slide img{height:340px}footer{flex-wrap:wrap;gap:12px}}
@media(max-width:700px){.wrap{padding-inline:20px}.hero h1{font-size:clamp(2.35rem,9.4vw,3.5rem)}.hero .secondary{margin:18px 0 0;display:table}.ai-visual{min-height:320px}.visual-bottom strong{font-size:21px}.services{grid-template-columns:minmax(0,1fr)}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.contact{padding:25px;gap:20px}.contact h2{font-size:27px}.contact-links{min-width:0;margin-top:24px}.contact .contact-links .button{margin-top:0;width:100%;font-size:14px;padding:12px 15px}.portfolio-section{padding-top:30px}.portfolio-title h2{font-size:23px;line-height:1.35}.portfolio-title{gap:12px}.gallery-slide img{height:clamp(180px,55vw,290px)}.gallery-slide figcaption{font-size:14px;padding:12px}.gallery-controls{padding:8px 12px}.project-categories{justify-content:flex-start;gap:8px}.project-categories a{min-height:44px;display:flex;align-items:center}.projects-heading h1{font-size:clamp(2.45rem,10vw,3.4rem);letter-spacing:-.04em}.menu{min-height:44px}.navlinks.open{gap:12px 20px}.navlinks a{padding-block:8px}.service{padding:24px}.work-teaser h2{font-size:28px}}
@media(max-width:380px){.wrap{padding-inline:16px}.hero h1{font-size:2.2rem}.steps{grid-template-columns:1fr}.ai-visual{min-height:290px}.contact{padding:20px}.contact h2{font-size:24px}.visual-top>span{letter-spacing:.4px}.portfolio-title h2{font-size:21px}}
