/* Home update: alignment only; original typography, spacing and card styles remain. */
html body.home-page main#top #work .work-heading{
 justify-content:center!important;text-align:center!important;
}
html body.home-page main#top :is(#work-title,#services-title),
html body.home-page main#top :is(#work-title,#services-title) :is(span,.motion-line,.title-word-mask,.title-word){
 text-align:center!important;margin-inline:auto!important;justify-content:center!important;justify-items:center!important;
}
html body.home-page main#top #services.home-expertise .expertise-row,
html body.home-page main#top #services.home-expertise .expertise-row p{
 text-align:center!important;
}
html body.home-page main#top #services.home-expertise .expertise-row h3{
 justify-items:center!important;text-align:center!important;
}
html body.home-page main#top #services.home-expertise .expertise-row h3 .expertise-title-regular{
 margin-inline:auto!important;justify-self:center!important;transform-origin:center!important;
}
html body.home-page main#top #work .work-slider-toolbar{
 margin-inline:auto!important;justify-content:center!important;
}
html body.home-page main#top #work .work-caption-layer,
html body.home-page main#top #work .work-slide-caption,
html body.home-page main#top #work .work-slide-caption :is(h3,p,a){text-align:center!important;}
html body.home-page main#top #home-trust h2#home-trust-title,
html body.home-page main#top #home-trust h2#home-trust-title :is(span,.motion-line,.title-word-mask,.title-word){
 text-align:center!important;
}

/* Keep the Figma paragraph lines across desktop and tablet; fit to their container. */
@media(min-width:600px){
 html body.home-page main#top #about,
 html body.home-page main#top section.home-belief.page-section{
  container-type:inline-size;
 }
 html body.home-page main#top #about #studio-title.studio-description,
 html body.home-page main#top section.home-belief.page-section p{
  font-size:min(var(--large-reading-size),4.8cqw)!important;
  line-height:1.1718!important;
  width:100%!important;max-width:100%!important;
  white-space:nowrap!important;text-wrap:wrap;
 }
 html body.home-page main#top #about #studio-title .intro-line-break{
  display:inline!important;
 }
 html body.home-page main#top #about #studio-title .intro-line-break br{
  display:block!important;
 }
 html body.home-page main#top #about #studio-title .home-mobile-copy-break,
 html body.home-page main#top section.home-belief.page-section .home-mobile-copy-break{
  display:none!important;
 }
 html body.home-page main#top section.home-belief.page-section p[data-scroll-copy]>span{
  display:block!important;white-space:nowrap!important;
 }
}
/* One continuous desktop size curve, including the previously larger 1440px layout. */
@media(min-width:1101px){
 html body.home-page main#top #about #studio-title.studio-description,
 html body.home-page main#top section.home-belief.page-section p{
  font-size:min(clamp(2.1rem,calc(3.3vw - 0.25rem),3.71rem),4.8cqw)!important;
 }
}

/* One owner for every Home invitation, including its text, arrow and underline. */
html body.home-page main#top .question-link{
 display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
 align-items:center!important;justify-content:center!important;
 width:100%!important;max-width:100%!important;
 font-family:Helixa,sans-serif!important;font-size:var(--invitation-question-size)!important;
 line-height:1.333333!important;column-gap:.75rem!important;row-gap:.75rem!important;
 text-align:center!important;
}
html body.home-page main#top .question-link>:is(span,p){
 display:block!important;font:400 var(--invitation-question-size)/1.333333 Helixa,sans-serif!important;
 letter-spacing:0!important;line-height:1.333333!important;
 margin:0!important;padding:0!important;position:relative;top:-.125rem;
 align-self:center!important;text-align:center!important;
}
html body.home-page main#top :is(#about,#home-trust,.why) .question-link>a.line-link{
 display:inline-flex!important;align-items:center!important;align-self:center!important;
 font:900 var(--invitation-link-size)/1.333333 Helixa,sans-serif!important;letter-spacing:.04em!important;
 min-height:0!important;height:auto!important;
 margin:0!important;padding:0!important;position:relative!important;top:auto!important;
 width:max-content!important;max-width:100%!important;gap:.75em!important;text-align:center!important;
}
html body.home-page main#top :is(#about,#home-trust,.why) .question-link>a.line-link::after{
 top:auto!important;bottom:calc(-.25em - .125rem)!important;
}
html body.home-page main#top :is(#about,#home-trust,.why) .question-link>a.line-link img{
 width:var(--invitation-arrow-size)!important;height:var(--invitation-arrow-size)!important;
 min-width:var(--invitation-arrow-size)!important;max-width:var(--invitation-arrow-size)!important;
 flex:0 0 var(--invitation-arrow-size)!important;
}
@media(min-width:1600px){html body.home-page main#top .question-link{column-gap:.7rem!important;}}
@media(max-width:599px){
 html body.home-page main#top :is(#about,#home-trust,.why) .question-link{display:flex!important;margin:2rem auto 0!important;padding:0!important;justify-content:center!important;}
 html body.home-page main#top .question-link>:is(span,p){display:none!important;}
}

/* Hero copy/button use one continuous rhythm rather than the 1366px padding switch. */
@media(min-width:600px){
 html body.home-page main#top .hero .hero-details{
  gap:clamp(1.25rem,calc(1.25vw + .25rem),1.75rem)!important;
 }
 html body.home-page main#top .hero .hero-details p.hero-intro{
  margin-block:0!important;padding-block:0!important;line-height:1.333333!important;
 }
 html body.home-page main#top .hero .hero-details .button.artocea-cta.artocea-cta{
  --hero-button-padding:clamp(1.125rem,calc(2.5vw - .75rem),1.5rem);
  font:900 .9375rem/1.5rem Helixa,sans-serif!important;letter-spacing:.06em!important;
  padding:var(--hero-button-padding) 1.5rem var(--hero-button-padding) 1.75rem!important;
  min-height:calc(1.5rem + var(--hero-button-padding) + var(--hero-button-padding))!important;
  height:auto!important;margin-top:0!important;border-radius:.75rem!important;
 }
}

/* Work capabilities follow the service listing; project names keep their own scale. */
@media(min-width:600px){
 html body.home-page main#top #work .work-project-services{font-size:1.125rem!important;}
 html body.home-page main#top #work .work-slider-toolbar{margin-top:2rem!important;}
 html body.home-page main#top .why-grid .why-copy{container-type:inline-size;}
 html body.home-page main#top .why-grid .why-copy p{font-size:min(clamp(1rem,1.15vw,1.25rem),5cqw)!important;}
 html body.home-page main#top .why-grid .why-desktop-copy-line{display:block;white-space:nowrap;}
}
@media(min-width:600px) and (max-width:760px){
 html body.home-page main#top #work .work-project-services{font-size:1rem!important;}
}
@media(min-width:761px) and (max-width:1600px){
 html body.home-page main#top #work .work-project-services{font-size:var(--compact-copy)!important;}
}
@media(min-width:1601px){
 html body.home-page main#top #work .work-project-services{font-size:clamp(1rem,1.125vw,1.3125rem)!important;}
}

/* Preserve the authored Figma break before and after the title animation wraps it. */
html body.home-page main#top .stories-heading #testimonials-title,
html body.home-page main#top .stories-heading #testimonials-title :is(.motion-line,.motion-line>span,.title-word-mask,.title-word){
 white-space:nowrap!important;
 overflow-wrap:normal!important;
 word-break:normal!important;
}

/* Client-slider heading shares Home's centered section-title alignment. */
html body.home-page main#top .clients-heading{
 justify-content:center!important;
 text-align:center!important;
}
html body.home-page main#top #clients-title,
html body.home-page main#top #clients-title :is(span,.motion-line,.title-word-mask,.title-word){
 text-align:center!important;
 margin-inline:auto!important;
 justify-content:center!important;
 justify-items:center!important;
}

/* Card titles stay fixed on large desktops, slightly below the Figma size. */
@media(min-width:1600px){
 html body.home-page main#top .why-grid .why-copy h3{font-size:1.875rem!important;}
}

.home-mobile-title-break{display:none;}
@media(max-width:599px){
 .home-mobile-title-break{display:block;}
 html body.home-page main#top :is(#home-trust-title,#work-title,#clients-title),
 html body.home-page main#top :is(#home-trust-title,#work-title,#clients-title) :is(.motion-line,.motion-line>span,.title-word-mask,.title-word){white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;}
}

/* Trusted uses the shared section-H2 typography, including its title gradient. */
html body.home-page main#top #home-trust h2#home-trust-title{
 font-family:'GC Gudlak',sans-serif!important;
 font-size:var(--section-h2-size,2.25rem)!important;
 font-weight:500!important;
 line-height:1.25!important;
 letter-spacing:.02em!important;
 background:var(--title-gradient)!important;
 background-clip:text!important;
 -webkit-background-clip:text!important;
 color:transparent!important;
 -webkit-text-fill-color:transparent!important;
}
@media(max-width:599px){
 html body.home-page main#top :is(#services,#work,#home-trust,.clients,.founder) h2:is(#services-title,#work-title,#home-trust-title,#clients-title,#founder-title){
  font-size:1.75rem!important;
  line-height:1.25!important;
 }
}

/* One title treatment for Trusted and the other Home section headings. */
html body.home-page main#top :is(#home-trust,#work,#services,.clients) h2:is(#home-trust-title,#work-title,#services-title,#clients-title){
 font-family:'GC Gudlak',sans-serif!important;
 font-size:var(--section-h2-size,2.25rem)!important;
 font-weight:500!important;
 line-height:1.25!important;
 letter-spacing:.02em!important;
 background:var(--title-gradient)!important;
 background-clip:text!important;
 -webkit-background-clip:text!important;
 color:transparent!important;
 -webkit-text-fill-color:transparent!important;
}
html body.home-page main#top :is(#home-trust,#work,#services,.clients) h2:is(#home-trust-title,#work-title,#services-title,#clients-title) :is(.motion-line,.motion-line>span,.title-word-mask,.title-word){
 font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;
}
@media(max-width:599px){
 html body.home-page main#top :is(#home-trust,#work,#services,.clients) h2:is(#home-trust-title,#work-title,#services-title,#clients-title){font-size:1.75rem!important;}
}

@media(min-width:1024px) and (max-width:1599px){
 html body.home-page main#top .why-grid .why-copy h3{font-size:calc(clamp(1.5rem,5.8cqw,2.5rem) - .125rem)!important;}
}
@media(max-width:1023px){
 html body.home-page main#top .why-grid .why-copy h3{font-size:calc(clamp(1.625rem,2.222222vw,2rem) - .125rem)!important;}
}
@media(max-width:599px){
 html body.home-page main#top .why-grid .why-copy h3{font-size:1.875rem!important;}
}

/* Bring the card titles slightly closer to their labels. */
html body.home-page main#top .why-grid .why-copy h3{margin-top:-.25rem!important;}

/* Slightly tighter spacing between the four cards. */
html body.home-page main#top .why .why-grid{gap:1rem!important;}

/* Slightly smaller orange-panel description on mobile. */
@media(max-width:599px){
 html body.home-page main#top #approach.philosophy .philosophy-description{font-size:1.125rem!important;line-height:1.4!important;width:95%!important;max-width:95%!important;}
}

@media(max-width:599px){
 html body.home-page main#top #founder.founder.page-section .founder-copy h2#founder-title{
  font-size:1.75rem!important;
  line-height:1.25!important;
 }
 html body.home-page main#top #founder.founder.page-section .founder-copy h2#founder-title :is(span,.motion-line,.title-word-mask,.title-word){font-size:inherit!important;line-height:inherit!important;}
}

@media(max-width:599px){
 html body.home-page main#top #founder.founder.page-section .founder-copy>p:not(.eyebrow){
  width:98%!important;
  max-width:98%!important;
 }
}

/* Bring the founder CTA underline two pixels closer to its text. */
html body.home-page main#top #founder .founder-copy>a.line-link::after{
 bottom:-.25em!important;
}

/* Center the founder copy and CTA on mobile; portrait placement stays unchanged. */
@media(max-width:599px){
 html body.home-page main#top #founder.founder.page-section .founder-copy{ text-align:center!important; }
 html body.home-page main#top #founder.founder.page-section .founder-copy :is(h2#founder-title,p,h2#founder-title span){text-align:center!important;margin-inline:auto!important;}
 html body.home-page main#top #founder.founder.page-section .founder-copy>a.line-link{display:flex!important;width:fit-content!important;margin-inline:auto!important;justify-content:center!important;}
}

/* One mobile line-button style, shared by invitations and the founder. */
@media(max-width:599px){
 html body.home-page main#top :is(#about,#home-trust,#founder,.why) :is(.question-link,.founder-copy)>a.line-link{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  font:900 1rem/1.75rem Helixa,sans-serif!important;
  letter-spacing:.04rem!important;text-transform:uppercase!important;
  width:max-content!important;max-width:100%!important;min-height:0!important;height:auto!important;
  margin-inline:auto!important;padding:0 0 .375rem!important;gap:1rem!important;position:relative!important;top:auto!important;
 }
 html body.home-page main#top :is(#about,#home-trust,#founder,.why) :is(.question-link,.founder-copy)>a.line-link::after{
  top:auto!important;bottom:0!important;height:1px!important;background:#ff933c!important;
 }
 html body.home-page main#top :is(#about,#home-trust,#founder,.why) :is(.question-link,.founder-copy)>a.line-link img{
  width:1.5rem!important;height:1.5rem!important;min-width:1.5rem!important;max-width:1.5rem!important;flex:0 0 1.5rem!important;
 }
}

/* Keep restored mobile links clear of the block above them. */
@media(max-width:599px){
 html body.home-page main#top #home-trust .intro-studio-link.question-link,
 html body.home-page main#top .why .why-contact.question-link{
  margin-top:1rem!important;
 }
}

/* Actual internal spacing cannot collapse against the preceding card block. */
@media(max-width:599px){
 html body.home-page main#top #hero-statement #home-trust .intro-studio-link.question-link,
 html body.home-page main#top #hero-statement #about .intro-studio-link.question-link,
 html body.home-page main#top section.why.page-section:has(#why-title) .why-contact.work-contact.question-link{
  margin-top:0!important;
  padding-top:3rem!important;
  position:static!important;
 }
}

/* Tablet portrait hero copy and CTA share the artwork's horizontal center. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top .hero .hero-details{
  left:40px!important;right:40px!important;width:auto!important;max-width:none!important;
  align-items:center!important;text-align:center!important;gap:1.75rem!important;
 }
 html body.home-page main#top .hero .hero-details p.hero-intro{
  margin-inline:auto!important;text-align:center!important;white-space:nowrap!important;
 }
 html body.home-page main#top .hero .hero-details p.hero-intro *{text-align:inherit!important;}
 html body.home-page main#top .hero .hero-details .hero-mobile-copy-break{display:block!important;}
 html body.home-page main#top .hero .hero-details .button.artocea-cta{margin-inline:auto!important;align-self:center!important;}
}

@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top .hero .hero-details .button.artocea-cta.artocea-cta{
  padding-top:1.375rem!important;
  padding-bottom:1.375rem!important;
  min-height:4.25rem!important;
 }
}

@media(max-width:599px){
 html body.home-page main#top .hero .hero-details .button.artocea-cta.artocea-cta{
  padding-left:1.625rem!important;
  padding-right:1.375rem!important;
 }
}

/* Tablet reading copy: four pixels larger with five percent more leading. */
@media(min-width:600px) and (max-width:1100px){
 html body.home-page main#top #about #studio-title.studio-description,
 html body.home-page main#top section.home-belief.page-section p{
  font-size:calc(min(var(--large-reading-size),4.8cqw) + .25rem)!important;
  line-height:1.23039!important;
 }
}

/* Tablet portrait uses the same authored section-heading breaks as mobile. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top :is(#home-trust-title,#work-title,#clients-title) :is(.home-mobile-title-break,.trust-mobile-break){display:block!important;}
 html body.home-page main#top :is(#home-trust-title,#work-title,#clients-title),
 html body.home-page main#top :is(#home-trust-title,#work-title,#clients-title) :is(.motion-line,.motion-line>span,.title-word-mask,.title-word){white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;}
}

/* Four card titles are six pixels larger on tablet portrait. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top .why-grid .why-copy h3{font-size:calc(clamp(1.625rem,2.222222vw,2rem) + .25rem)!important;}
}
@media(min-width:1024px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top .why-grid .why-copy h3{font-size:calc(clamp(1.5rem,5.8cqw,2.5rem) + .25rem)!important;}
}

/* Tablet portrait work project titles: four pixels larger. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top #work .work-slide-caption h3{font-size:calc(clamp(1.53125rem,calc(.90625rem + 1.25vw),2rem) + .25rem)!important;max-width:85%!important;margin-inline:auto!important;}
}

/* Tablet portrait invitations and founder CTA grow together by ten percent. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top{
  --invitation-question-size:clamp(1.299375rem,calc(1.6270837vw - .165rem),1.7875rem);
  --invitation-link-size:clamp(.928125rem,1.03125vw,1.2375rem);
  --invitation-arrow-size:clamp(1.299375rem,calc(1.16875vw + .2475rem),1.65rem);
 }
 html body.home-page main#top #founder.founder.page-section .founder-copy>a.line-link{font-size:var(--invitation-link-size)!important;}
}

/* Center the complete Home founder section on tablet portrait. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top #founder.founder.page-section{justify-items:center;align-items:center;}
 html body.home-page main#top #founder.founder.page-section .founder-photo{margin-inline:auto!important;align-self:center!important;justify-self:center!important;}
 html body.home-page main#top #founder.founder.page-section .founder-copy{text-align:center!important;}
 html body.home-page main#top #founder.founder.page-section .founder-copy :is(h2,p){text-align:center!important;margin-inline:auto!important;}
 html body.home-page main#top #founder.founder.page-section .founder-copy>a.line-link{margin-inline:auto!important;}
 html body.home-page main#top #founder.founder.page-section .founder-copy>p:not(.eyebrow){font-size:1.5rem!important;}
}
@media(min-width:1024px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top #founder.founder.page-section .founder-copy>p:not(.eyebrow){font-size:calc(clamp(1.125rem,3.7cqw,1.875rem) + .25rem)!important;}
}

/* Give the Services heading more breathing room on tablet portrait. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top #services #services-title{
  margin-top:0!important;
  line-height:1.3!important;
 }
 html body.home-page main#top #services #services-title :is(span,.motion-line,.title-word-mask,.title-word){line-height:inherit!important;}
}

/* Keep every animated founder-title line centered on tablet portrait. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top #founder.founder.page-section .founder-copy #founder-title,
 html body.home-page main#top #founder.founder.page-section .founder-copy #founder-title :is(span,.motion-line,.title-word-mask,.title-word){
  text-align:center!important;
 }
 html body.home-page main#top #founder.founder.page-section .founder-copy #founder-title{
  width:100%!important;max-width:100%!important;margin-inline:auto!important;
 }
 html body.home-page main#top #founder.founder.page-section .founder-copy #founder-title .motion-line{
  display:block!important;width:100%!important;margin-inline:auto!important;
 }
}

/* Slightly narrower centered founder reading copy on tablet portrait. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top #founder.founder.page-section .founder-copy>p:not(.eyebrow){
  width:90%!important;max-width:90%!important;margin-inline:auto!important;
  white-space:normal!important;overflow-wrap:break-word!important;
 }
}

@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top #founder.founder.page-section .founder-copy #founder-title :is(.motion-line,.title-word-mask){
  width:100%!important;text-align:center!important;justify-content:center!important;
 }
 html body.home-page main#top #founder.founder.page-section .founder-copy .founder-copy-break{display:none!important;}
}

/* Center the reveal surface itself, rather than only its text alignment. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top #founder.founder.page-section .founder-copy h2#founder-title .motion-line{
  display:flex!important;justify-content:center!important;align-items:center!important;
 }
 html body.home-page main#top #founder.founder.page-section .founder-copy h2#founder-title .title-word-mask{
  display:block!important;width:fit-content!important;max-width:100%!important;margin-inline:auto!important;
 }
 html body.home-page main#top #founder.founder.page-section .founder-copy h2#founder-title .title-word{
  display:block!important;text-align:center!important;
 }
}

/* Put the requested extra gap on the section, independent of heading margins. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top>section#services.home-expertise.page-section{
  padding-top:18rem!important;
 }
}
@media(min-width:600px) and (max-width:760px) and (orientation:portrait){
 html body.home-page main#top>section#services.home-expertise.page-section{
  padding-top:8.5rem!important;
 }
}

/* Extra clearance below the Home client marquee on tablet portrait. */
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){
 html body.home-page main#top .clients .client-rows.figma-client-rows{
  padding-bottom:1rem!important;
 }
}
