/* Incremental refinements; original structure, copy and artwork retained. */
@font-face{font-family:'SN Pro';src:url('assets/fonts/SNPro-Regular.ttf') format('truetype');font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:'SN Pro';src:url('assets/fonts/SNPro-Italic.ttf') format('truetype');font-weight:200 900;font-style:italic;font-display:swap}
:root{font-family:'SN Pro',Arial,sans-serif}
.restored-site,.home-page .hero,.case-page,.case-page .subpage-header,.case-page .site-footer{font-family:'SN Pro',Arial,sans-serif}
input,textarea,button{font-family:inherit}
.restored-section{padding-block:72px;gap:28px}
.restored-section h2{font-size:clamp(34px,3.15vw,48px);line-height:1.12;font-weight:500;letter-spacing:-1.1px;text-wrap:balance}
.restored-section h3{font-weight:550;line-height:1.22;text-wrap:balance}
.restored-section p{line-height:1.65}
.page-introduction{padding-block:64px;gap:24px}
.page-introduction h1{font-size:clamp(42px,4.6vw,68px);line-height:1.08;font-weight:500;max-width:1100px;text-wrap:balance}
.page-introduction>p{max-width:82ch}
.original-intro{padding-bottom:40px}.original-intro>p{max-width:74ch}
.recognition{padding-block:36px 52px}.recognition-grid{gap:24px 32px}.recognition-item{gap:10px}.badge-art,.badge-art img{height:112px}.google-art img:first-child{height:78px}
.stats{padding-block:40px 24px}.stats dl{gap:24px}.stats dl>div{gap:8px;padding-left:24px;border-left:2px solid var(--cloud-teal)}
.stats dt{font-size:clamp(38px,3.4vw,50px);font-weight:550;line-height:1.1}
.stats+.source-approach{padding-top:32px}.source-approach{align-items:center;gap:40px}.source-approach>div{gap:20px}.source-approach>img{width:min(100%,480px);height:auto;object-fit:contain;border-radius:0;box-shadow:none;justify-self:center}
.call-section{padding-block:48px;gap:20px}.client-grid{gap:24px}.client-grid img{height:150px}.clients>p{max-width:96ch}
.specialties{background:linear-gradient(180deg,#fff,var(--surface-secondary));padding-bottom:64px}.specialties>p{max-width:88ch}
.specialty-grid{gap:48px 32px;padding-top:20px;align-items:stretch}
.specialty-card{position:relative;isolation:isolate;background:transparent;padding:36px 32px 30px;gap:18px;margin-top:22px}
.specialty-card::before,.specialty-card::after{content:'';position:absolute;z-index:-1;background:#fff;pointer-events:none}
.specialty-card::before{inset:0;border-radius:44% 50% 36px 36px / 48px 56px 36px 36px;box-shadow:0 14px 32px #18383a0b}
.specialty-card::after{width:65%;height:85px;left:16%;top:-22px;border-radius:50% 55% 0 0 / 70% 80% 0 0}
.specialty-card:nth-child(2)::before,.specialty-card:nth-child(2)::after,.specialty-card:nth-child(3)::before,.specialty-card:nth-child(3)::after{background:var(--cloud-teal)}
.specialty-icon{width:56px;height:56px;align-self:center}.specialty-card .text-link{margin-top:auto;padding-top:4px}
.specialty-card h3{max-width:100%;width:100%;text-align:center;align-self:center}.specialty-card p{max-width:60ch}
.catalogue-section{position:relative;overflow:hidden}.catalogue-section>h2{padding-right:80px}
.catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;position:relative;z-index:1}
.catalogue-grid article{gap:16px}.catalogue-image{height:230px;border-radius:64px 16px 64px 16px;box-shadow:0 10px 24px #18383a12;transition:transform .35s ease,box-shadow .35s ease}
.catalogue-grid article:nth-child(even) .catalogue-image{border-radius:16px 64px 16px 64px}
.catalogue-grid h3{font-size:25px;line-height:1.2}
.catalogue-rocket{position:absolute;width:56px;height:98px;right:var(--content-pad);top:34px;transform:rotate(18deg);opacity:.8}
.source-article{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
.article-copy{display:flex;flex-direction:column;gap:18px;max-width:68ch}
.source-article h2{font-size:clamp(32px,2.7vw,42px)}
.source-article.locations-article{grid-template-columns:minmax(0,1fr);gap:32px}.locations-article h2{max-width:1000px}
.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.location-grid p{border-top:2px solid var(--cloud-teal);padding-top:18px}.location-grid p:last-child{border:0;padding-top:0}
.benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}.benefits>div{gap:14px;border-top:2px solid var(--cloud-teal);padding-top:20px}
.benefits h3{font-size:25px}.review>div{gap:18px}.review-controls{margin-top:24px}
.questions-restored .faq-list summary{font-size:23px}.faq-list details{padding-block:20px}.questions-restored .faq-list p{max-width:88ch;margin-top:16px}
.profiles-grid{gap:40px 32px}.profile-bio{gap:18px}.field{gap:10px}.contact-form,.newsletter-form{gap:20px}
.site-footer{padding:0;gap:24px;background:#fff;overflow:hidden}
.footer-launch{height:290px;position:relative;isolation:isolate;background:var(--brand-teal);overflow:hidden}
.footer-logo{position:absolute;left:var(--content-pad);top:30px;width:min(34%,330px);aspect-ratio:740/356;z-index:3;display:block}
.footer-logo .wordmark{width:100%;height:100%}
.footer-rocket{position:absolute;width:104px;height:auto;right:calc(20.8% - 52px);bottom:21%;transform:rotate(12deg);z-index:2}
.footer-cloud{position:absolute;bottom:-1px;left:0;width:100%;height:40%;object-fit:fill;transform-origin:80% 100%;z-index:1}
.footer-content,.footer-policies,.site-footer>.copyright{margin-inline:var(--content-pad)}
.footer-content{padding-top:8px;gap:48px;grid-template-columns:1.2fr 1fr}.footer-content>p{max-width:66ch;line-height:1.6}.footer-contact{gap:12px}.footer-policies{gap:24px}.site-footer>.copyright{padding-bottom:32px}
.case-study{padding-block:64px}.case-page .site-footer{font-family:'SN Pro',Arial,sans-serif}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.catalogue-grid article:hover .catalogue-image{transform:translateY(-5px);box-shadow:0 16px 30px #18383a20}.specialty-card{transition:transform .3s ease}.specialty-card:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:no-preference){
 .catalogue-section.has-entered .catalogue-grid article{animation:service-arrive .7s cubic-bezier(.22,.7,.22,1) both;animation-delay:calc(var(--service-index)*75ms)}
 .catalogue-section.has-entered .catalogue-rocket{animation:service-launch 1.2s cubic-bezier(.22,.7,.22,1) both}
 @keyframes service-arrive{from{transform:translateY(24px);opacity:.35}to{transform:none;opacity:1}}
 @keyframes service-launch{from{transform:translate(-80px,100px) rotate(18deg);opacity:0}to{transform:rotate(18deg);opacity:.8}}
}
@media(max-width:1100px){.catalogue-image{height:200px}.source-article{gap:32px}.catalogue-grid{gap:28px 24px}.catalogue-grid h3{font-size:23px}}
@media(min-width:701px) and (max-width:900px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-article{grid-template-columns:minmax(0,1fr)}.footer-logo{width:38%}.footer-content{gap:32px}}
@media(max-width:700px){
 .restored-section{padding-block:44px;gap:24px}.restored-section h2{font-size:34px;letter-spacing:-.8px}.restored-section h3{font-size:25px}.page-introduction h1{font-size:44px}.page-introduction{padding-block:40px}
 .original-intro{padding-bottom:24px}.recognition{padding-top:24px}.recognition-grid{gap:24px}.badge-art,.badge-art img{height:90px}.google-art img:first-child{height:58px}
 .stats{padding-block:30px 16px}.stats dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stats dl>div{padding-left:12px;gap:8px}.stats dt{font-size:34px}.stats dd{font-size:14px;line-height:1.4}.stats+.source-approach{padding-top:24px}
 .source-approach{gap:24px}.source-approach>img{width:min(100%,420px);height:auto}.call-section{padding-block:36px}
 .client-grid img{height:110px}.specialty-grid{gap:38px;padding-top:12px}.specialty-card{padding:28px 24px 26px;gap:16px}.specialty-card::after{height:65px;top:-18px}.specialty-card:nth-child(3)::before,.specialty-card:nth-child(3)::after{background:#fff}.specialty-card:nth-child(4)::before,.specialty-card:nth-child(4)::after{background:var(--cloud-teal)}
 .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.catalogue-grid article{gap:12px}.catalogue-image{height:170px;border-radius:40px 10px 40px 10px}.catalogue-grid article:nth-child(even) .catalogue-image{border-radius:10px 40px 10px 40px}.catalogue-grid h3{font-size:20px;line-height:1.2;text-wrap:initial}.catalogue-rocket{width:40px;height:70px;top:24px}
 .source-article{grid-template-columns:minmax(0,1fr);gap:24px}.article-copy{gap:16px}.location-grid{grid-template-columns:minmax(0,1fr);gap:20px}.benefits{grid-template-columns:minmax(0,1fr);gap:24px}
 .questions-restored .faq-list summary{font-size:22px}.profiles-grid{gap:36px}.profile-bio{margin-top:20px}
 .footer-launch{height:260px}.footer-logo{width:54%;max-width:250px;top:25px}.footer-rocket{width:70px;right:calc(18% - 35px);bottom:25%;transform:rotate(0deg)}.footer-cloud{height:35%}.footer-content{grid-template-columns:minmax(0,1fr);gap:24px}.footer-content>p{font-size:17px}.footer-contact nav{gap:10px 16px}.site-footer{gap:22px}.site-footer>.copyright{padding-bottom:24px}
 .case-study{padding-block:40px}
}
@media(max-width:360px){.catalogue-grid{grid-template-columns:minmax(0,1fr)}.catalogue-image{height:210px}.stats dl{gap:8px}.stats dl>div{padding-left:8px}.stats dt{font-size:30px}.stats dd{font-size:13px}.page-introduction h1{font-size:40px}}
@media print{.footer-launch{height:220px}.specialty-card{break-inside:avoid}.source-article{break-inside:avoid}}

/* Annotation fixes: full original artwork, static white footer, shared About language. */
.home-page main>.growth-banner{display:grid;padding:0;background:#acd7d9;background-image:none;gap:0;isolation:isolate}
.growth-art{display:block;width:100%;height:auto;grid-area:1/1}
.growth-copy{grid-area:1/1;z-index:1;align-self:center;margin-left:var(--content-pad);width:58%;display:flex;flex-direction:column;gap:20px;padding-block:24px}
.growth-copy h2{font-size:clamp(30px,3vw,48px);text-wrap:initial}
.about-page .page-introduction{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px 48px;align-items:start}
.about-page .page-introduction h1{grid-row:1/span 2;align-self:center;justify-self:center;text-align:center}.about-page .page-introduction h2,.about-page .page-introduction>p{grid-column:2}
.about-page .page-introduction h2{font-size:clamp(30px,2.8vw,42px)}
.about-page #team{background:linear-gradient(#fff,var(--surface-secondary))}
.about-page .profiles-grid{gap:48px 32px;padding-top:20px;align-items:stretch;grid-auto-rows:auto}
.about-page .team-profile{position:relative;isolation:isolate;margin-top:20px;padding:32px;border-radius:44% 48% 30px 30px / 44px 50px 30px 30px;background:#fff;box-shadow:0 12px 28px #18383a09}
.about-page .team-profile::before{content:'';position:absolute;z-index:-1;left:18%;top:-20px;width:64%;height:72px;border-radius:50% 55% 0 0;background:inherit}
.about-page .team-profile:nth-child(2),.about-page .team-profile:nth-child(3),.about-page .team-profile:nth-child(6){background:var(--cloud-teal)}
.about-page .profile-identity{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.about-page .profile-portrait{width:148px;height:148px;aspect-ratio:1;object-fit:contain;border-radius:50%}
.about-page .profile-identity>div{align-items:center;gap:10px}.about-page .profile-identity h2{font-size:28px}.about-page .profile-identity p{max-width:34ch;min-height:52px}
.about-page .profile-bio{margin-top:22px;gap:18px}.about-page .profile-bio p{font-size:17px;line-height:1.65}
.about-page .call-section{background:var(--surface-secondary);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 40px;padding-block:44px}
.about-page .call-section>h2,.about-page .call-section>p{grid-column:1;max-width:70ch}
.about-page .call-section>.text-link{grid-column:2;grid-row:1/span 2;align-self:center}
.about-page .recognition{padding-block:30px;border-bottom:1px solid var(--line)}
.about-page .recognition-grid{align-items:start;gap:24px}
.about-page .recognition-item{align-items:center;text-align:center;gap:12px}
.about-page .badge-art{width:100%;max-width:240px;height:80px;justify-content:center}
.about-page .badge-art img{height:80px}.about-page .google-art img:first-child{height:50px}.about-page .google-art .rating-stars{height:22px}
.about-page .recognition-item p{font-size:14px;line-height:1.5;max-width:26ch}
.about-page .site-footer{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.about-page .footer-launch{grid-column:1/-1;height:210px}
.about-page .footer-logo{width:230px;top:22px}.about-page .footer-rocket{width:80px;right:calc(20.8% - 40px);bottom:20%}
.about-page .footer-content{grid-column:1/-1;padding-top:0}
.about-page .footer-content>p{font-size:16px;max-width:66ch}.about-page .footer-contact{gap:10px}
.about-page .footer-policies{align-self:end;margin-right:0;padding-bottom:26px}
.about-page .site-footer>.copyright{justify-self:end;margin-left:0;padding-bottom:26px;text-align:right}
.subpage-header{background:var(--brand-teal)}
@media(max-width:900px){
 .home-page main>.growth-banner{display:flex;flex-direction:column;padding:32px var(--content-pad) 0;gap:12px}
 .growth-copy{width:100%;margin:0;padding:0;gap:18px}.growth-copy h2{font-size:34px}
 .growth-art{width:calc(100% + 2*var(--content-pad));max-width:none;margin-inline:calc(-1*var(--content-pad))}
}
@media(max-width:700px){
 .about-page .page-introduction{display:flex;gap:20px}.about-page .page-introduction h1{align-self:stretch;text-align:left}.about-page .page-introduction h2{font-size:32px}
 .about-page .team-profile{padding:28px 24px}.about-page .profiles-grid{gap:38px;padding-top:12px;grid-auto-rows:auto}
 .about-page .team-profile:nth-child(n){background:#fff}.about-page .team-profile:nth-child(even){background:var(--cloud-teal)}
 .about-page .profile-portrait{width:136px;height:136px}.about-page .profile-identity p{min-height:0}
 .about-page .call-section{display:flex;padding-block:36px;gap:18px}.about-page .call-section>h2,.about-page .call-section>p{max-width:100%}
 .about-page .call-section>.text-link{align-self:start}
 .about-page .recognition-grid.three-badges{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .about-page .badge-art,.about-page .badge-art img{height:58px}.about-page .google-art img:first-child{height:32px}.about-page .google-art .rating-stars{height:18px}
 .about-page .recognition-item p{font-size:12px;line-height:1.5}
 .about-page .footer-launch{height:200px}.about-page .footer-logo{width:52%;max-width:210px;top:20px}.about-page .footer-rocket{width:64px;right:calc(18% - 32px);bottom:22%}
 .about-page .footer-policies,.about-page .site-footer>.copyright{grid-column:1/-1;margin-inline:var(--content-pad);justify-self:start;text-align:left;padding-bottom:0}
 .about-page .site-footer>.copyright{padding-bottom:24px}
}

/* Text audit: one hierarchy, readable measures, and balanced natural wrapping. */
.restored-section>p,.page-introduction>p{max-width:75ch;text-wrap:pretty}
.restored-section p,.case-study p,.site-footer p{text-wrap:pretty}
.case-heading h1{font-size:clamp(42px,4.6vw,68px);line-height:1.12;font-weight:500;max-width:1100px;letter-spacing:-1px;text-wrap:balance}
.case-study h2{font-size:clamp(34px,3.15vw,48px);line-height:1.12;font-weight:500;letter-spacing:-1.1px;text-wrap:balance}
.case-heading>p{max-width:75ch}.case-story{max-width:72ch}
.portfolio .project-card h2{font-size:26px;line-height:1.24;font-weight:550;letter-spacing:0;text-wrap:balance}
.questions-restored .faq-list summary,.catalogue-grid h3{text-wrap:balance}
.recognition-item{align-items:center;text-align:center}.recognition-item p{max-width:28ch;text-wrap:balance}
@media(min-width:701px) and (max-width:1100px){
 .portfolio .project-card h2{min-height:2.48em}
 .project-card-copy>p{min-height:52px}
}
@media(max-width:700px){
 .case-heading h1{font-size:44px;line-height:1.12}
 .portfolio .project-card h2{font-size:25px}
}
@media(max-width:360px){.case-heading h1{font-size:40px}}

/* Visitor-facing controls and spacing for the clean website handoff. */
.site-header,.hero-bottom{justify-content:flex-end}
.email-instructions{font-size:16px;line-height:1.6}
.newsletter-signup{align-self:start}

/* Established Gage website credit, kept separate from the client copyright. */
.dev-credit{padding:14px var(--content-pad);border-top:1px solid var(--line);background:#fff;color:var(--ink)}
.dev-credit__inner{display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px;line-height:1.4}
.dev-credit a{display:inline-flex;align-items:center;min-height:40px;padding:4px;opacity:.85}
.dev-credit a:hover,.dev-credit a:focus-visible{opacity:1}
.dev-credit img{display:block;height:32px;width:auto;max-width:100%}

/* Mobile: keep the hero, rocket and clouds as one visual composition. */
@media(max-width:700px){
  .home-page .hero{height:min(100svh,780px);min-height:700px}
  .home-page .hero-content{top:clamp(88px,11svh,115px)}
  .home-page .hero-copy{margin-top:20px}
  .home-page .hero-copy h1{font-size:clamp(26px,6.5vw,33px);line-height:1.17}
  .home-page .hero-copy p{margin-top:16px}
  .home-page .hero-copy .button{margin-top:19px}
  .home-page .rocket{width:clamp(104px,28vw,126px);right:clamp(12px,5vw,30px);bottom:8%}
  .home-page .cloud{height:16%}
}
@media(max-width:360px){
  .home-page .hero{min-height:720px}
  .home-page .rocket{width:103px}
}
