/* SAS November 2026 refinement. Loaded last so existing editable styles remain intact. */
:root{--section-space:clamp(42px,4.8vw,72px)}
.studio-site .section{padding-block:var(--section-space)}
.studio-site .section-heading{margin-bottom:30px;gap:20px}
.studio-site .section-heading h2{margin-bottom:12px}
.studio-site .eyebrow{margin-bottom:13px}
.studio-site .section-heading p{line-height:1.65}
.studio-site .button{min-height:44px;padding:10px 17px;font-size:12px;gap:14px;border-radius:999px;line-height:1.4;white-space:normal;text-align:center}
.studio-site .button .icon{width:17px;height:17px}
.studio-site .hero-actions .button,.studio-site .hero-actions .button-outline{min-height:47px;padding:11px 18px;min-width:0;border-radius:999px;gap:14px}
.studio-site .cta-inner .button{padding:11px 20px;min-width:0;min-height:49px;align-self:center;border-radius:999px}
.studio-site .header-cta{border-radius:999px!important;min-height:40px!important;padding:9px 16px!important;gap:12px!important}
.studio-site .mobile-nav-cta{border-radius:999px!important;min-height:45px!important;padding:10px 18px!important}
.studio-site .product-request .button{min-height:45px}
.studio-site .form-finish .button{min-height:46px}
/* Give tall display-letter glyphs adequate line-height and a safe text box.
   Previously the oversized, tightly spaced heading could clip at the edges
   of the overflow-hidden hero at certain viewport widths. */
.studio-site .hero-copy h1,
.studio-site .hero-copy .hero-title{
  max-width:min(100%,780px);
  font-size:clamp(49px,5.65vw,86px);
  line-height:1.16;
  letter-spacing:-.046em;
  text-wrap:balance;
  overflow-wrap:break-word;
  padding-block:.05em;
}
.studio-site .hero-inner{min-height:clamp(605px,53vw,750px)}
.studio-site .hero-copy{padding:124px 0 119px}
.studio-site .hero-kicker{margin-bottom:22px}
.studio-site .hero-copy h1,.studio-site .hero-copy .hero-title{margin-bottom:20px}
.studio-site .hero-desc{margin-bottom:27px;line-height:1.75}
.studio-site .page-hero-copy{min-height:315px;padding:42px 0 43px}
.studio-site .page-hero h1{margin-bottom:14px}
.studio-site .page-hero .breadcrumbs{margin-top:20px}
.studio-site .cta-inner{padding-block:49px;gap:32px}
.studio-site .cta-inner h2{margin-bottom:14px}
.studio-site .footer-grid{padding:38px 0 42px;gap:clamp(22px,3vw,43px)}
.studio-site .footer-grid h3{margin-bottom:14px}
.studio-site .footer-logo{margin-bottom:13px}
.studio-site .footer-bottom{padding:18px 0}
.studio-site .approach-section{min-height:475px}
.studio-site .approach-grid{min-height:475px;padding:40px 0}
.studio-site .approach-copy{padding:32px clamp(27px,3.5vw,49px)}
.studio-site .process-section .section-heading{margin-bottom:29px}
.studio-site .process-card,.studio-site .process-card+.process-card{padding-top:24px;padding-bottom:11px}
.studio-site .product-detail{padding-block:46px 65px}
.studio-site .catalog-head-grid{min-height:285px;padding-block:45px}
.studio-site .catalog-introduction{margin-bottom:28px}
.studio-site .aviation-service-heading{padding:18px 0 47px}
.studio-site .aviation-service-heading .eyebrow{margin-top:17px}
.studio-site .about-page-body .about-content h2{margin-bottom:16px}
.studio-site .about-page-body .about-content .about-lead{margin-bottom:15px}
.studio-site .about-page-body .about-content p{line-height:1.74;margin-bottom:13px}
.studio-site .contact-info-card{padding:17px 0}
.studio-site .enquiry-panel .form-heading{margin-bottom:18px}
.studio-site .form-heading h2{margin-bottom:12px}
.studio-site .field{margin-bottom:15px}

/* Company story: editorial sections, not repetitive rounded feature cards. */
.about-values-section{background:#f1f4f5}
.about-values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:2px solid var(--navy)}
.about-value{padding:25px clamp(26px,4vw,55px) 5px 0;min-width:0}
.about-value+.about-value{border-left:1px solid #cfd8dc;padding-left:clamp(26px,4vw,55px)}
.about-value-index{color:#8e7448;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:850;display:block;margin-bottom:21px}
.about-value h2{font-size:clamp(31px,3.6vw,50px);letter-spacing:-.055em;font-weight:750;color:var(--deep);margin:0 0 17px}
.about-value p{max-width:550px;white-space:pre-line;font-size:15px;line-height:1.85;color:#465d6d;margin:0}
.about-journey-section{background:#0b2336;color:#f0f4f5}
.about-journey-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr);gap:clamp(40px,9vw,140px);align-items:start}
.about-journey-heading h2{font-size:clamp(40px,5vw,69px);font-weight:730;letter-spacing:-.06em;line-height:1.05;margin:0 0 24px;color:#fff}
.about-journey-heading .eyebrow{color:#d1b780}
.about-journey-accent{display:block;width:78px;height:2px;background:var(--gold)}
.about-journey-copy{border-top:1px solid rgba(255,255,255,.23);padding-top:21px}
.about-journey-copy p{font-size:15px;line-height:1.88;color:#cbd8e0;margin-bottom:20px}
.about-journey-copy p:last-child{margin-bottom:0}
.about-partners-section{background:#fff;border-top:1px solid #e3e9ed}
.about-partners-heading h2{font-size:clamp(32px,4vw,55px)}
.partners-static-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.partner-logo-item{min-width:0;min-height:122px;display:flex;align-items:center;justify-content:center;background:#f8fafb;border:1px solid #e4eaf0;padding:14px;transition:border-color .25s,background .25s}
a.partner-logo-item:hover,a.partner-logo-item:focus-visible{border-color:#bca472;background:#fff}
.partner-logo-item img{display:block;width:100%;height:83px;object-fit:contain;max-width:185px;filter:none}
.partners-viewport{--partner-gap:18px;overflow:hidden;position:relative}
.partners-viewport:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.partners-viewport:before,.partners-viewport:after{content:"";position:absolute;top:0;bottom:0;width:32px;z-index:2;pointer-events:none}
.partners-viewport:before{left:0;background:linear-gradient(90deg,#fff,transparent)}
.partners-viewport:after{right:0;background:linear-gradient(270deg,#fff,transparent)}
.partners-marquee-track{display:flex;width:max-content;gap:var(--partner-gap);animation:sas-partner-marquee 38s linear infinite}
.partners-marquee-group{display:flex;flex:0 0 auto;gap:var(--partner-gap)}
.partners-marquee-group .partner-logo-item{flex:0 0 auto;width:calc((min(1320px, calc(100vw - clamp(32px,7vw,112px))) - 90px) / 6)}
.partners-viewport:hover .partners-marquee-track,.partners-viewport:focus-within .partners-marquee-track{animation-play-state:paused}
@keyframes sas-partner-marquee{to{transform:translateX(calc(-50% - 9px))}}

/* Contact address + embedded map with CMS override and no JS / API key dependency. */
.contact-map-section{background:#f1f4f5;border-top:1px solid #e1e7ec}
.contact-map-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:27px}
.contact-map-intro>div{max-width:720px}
.contact-map-intro h2{font-size:clamp(32px,4.1vw,54px);line-height:1.1;font-weight:750;letter-spacing:-.055em;color:var(--deep);margin:0 0 12px}
.contact-map-intro p{font-size:14px;line-height:1.7;color:#566b7b;margin:0}
.contact-map-intro .button{white-space:nowrap;flex:none}
.contact-map-frame{height:clamp(305px,35vw,445px);border:1px solid #cbd6de;background:#dfe7ea;overflow:hidden}
.contact-map-frame iframe{display:block;width:100%;height:100%;border:0}
.contact-map-address{display:flex;align-items:center;gap:11px;padding:18px 0 0;color:#476071;font-size:13px}
.contact-map-address strong{display:block;color:#102638;font-size:13px}
.contact-map-address span span{display:block}
.contact-map-pin{color:#a88036;flex:none}
.contact-map-pin .icon{width:23px;height:23px}

@media(max-width:1100px){
 .studio-site .hero-inner{min-height:630px}
 .studio-site .hero-copy{padding:118px 0 110px}
 .studio-site .hero-copy h1,.studio-site .hero-copy .hero-title{font-size:clamp(48px,6.1vw,73px)}
 .studio-site .about-page-body .about-grid{gap:38px}
 .studio-site .footer-grid{padding:34px 0 35px}
}
@media(max-width:760px){
 :root{--section-space:clamp(34px,6vw,49px)}
 .studio-site .section-heading{margin-bottom:23px}
 .studio-site .page-hero-copy{min-height:275px;padding-block:39px}
 .studio-site .hero-inner{min-height:590px}
 .studio-site .hero-copy{padding:108px 0 105px}
 .studio-site .hero-copy h1,.studio-site .hero-copy .hero-title{font-size:clamp(39px,8.6vw,59px);line-height:1.17;letter-spacing:-.04em}
 .studio-site .cta-inner{padding-block:43px;gap:20px}
 .studio-site .cta-inner .button{align-self:flex-start}
 .studio-site .approach-section,.studio-site .approach-grid{min-height:0}
 .studio-site .approach-grid{padding:0 0 32px}
 .studio-site .process-card,.studio-site .process-card+.process-card{padding:20px 0}
 .studio-site .aviation-service-heading{padding:18px 0 39px}
 .studio-site .product-detail{padding-block:35px 49px}
 .about-values-grid{grid-template-columns:1fr}
 .about-value{padding:15px 0 25px}
 .about-value+.about-value{padding:25px 0 0;border-left:0;border-top:1px solid #cfd8dc}
 .about-value h2{margin-bottom:12px}
 .about-journey-layout{grid-template-columns:1fr;gap:24px}
 .partners-static-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .partner-logo-item{min-height:100px;padding:10px}
 .partner-logo-item img{height:70px}
 .partners-marquee-group .partner-logo-item{width:calc((100vw - clamp(32px,7vw,112px) - 36px) / 3)}
 .contact-map-intro{align-items:start;flex-direction:column;gap:15px}
 .contact-map-frame{height:340px}
}
@media(max-width:560px){
 .studio-site .hero-inner{min-height:545px}
 .studio-site .hero-copy{padding:100px 0 92px}
 .studio-site .hero-copy h1,.studio-site .hero-copy .hero-title{font-size:clamp(34px,9vw,48px);line-height:1.2;letter-spacing:-.038em}
 .studio-site .hero-copy h1,.studio-site .hero-copy .hero-title{margin-bottom:15px}
 .studio-site .hero-actions .button,.studio-site .hero-actions .button-outline{min-height:44px;padding:10px 14px;font-size:11px}
 .studio-site .page-hero-copy{min-height:250px;padding-block:35px}
 .studio-site .footer-grid{padding:30px 0 34px}
 .partners-static-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .partners-marquee-group .partner-logo-item{width:calc((100vw - clamp(32px,7vw,112px) - 18px) / 2)}
 .contact-map-frame{height:290px}
 .contact-map-intro .button{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.partners-marquee-track{animation:none;transform:none}.partners-viewport{overflow-x:auto}.partners-viewport:before,.partners-viewport:after{display:none}}
/* Exact partner slots for tablet/mobile; the shared design container narrows at 560px. */
@media(max-width:1020px) and (min-width:561px){
 .partners-static-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .partners-marquee-group .partner-logo-item{width:calc((100vw - clamp(32px,7vw,112px) - 36px) / 3)}
}
@media(max-width:760px){
 /* Prevent the earlier decorative 16px about-photo border from widening mobile pages. */
 .studio-site .about-page-body .about-photo-wrap:after{inset:12px 0 0 12px}
}
@media(max-width:560px){
 .partners-marquee-group .partner-logo-item{width:calc((100vw - 36px - 18px) / 2)}
}
