/* Flow Corporate Studio structured homepage runtime. */
.spf-corporate-composed-home{background:var(--spf-bg);color:var(--spf-text)}
.spf-corp-section{position:relative;overflow:hidden;background:var(--spf-bg);color:var(--spf-text)}
.spf-corp-section.tone-surface{background:var(--spf-surface)}
.spf-corp-section.tone-dark{background:var(--spf-dark);color:#fff}
.spf-corp-section.tone-accent{background:var(--spf-accent);color:#fff}
.spf-corp-section.tone-gradient{background:linear-gradient(135deg,var(--spf-dark),var(--spf-accent));color:#fff}
.spf-corp-section.tone-transparent{background:transparent}
.spf-corp-section.spacing-none{padding-block:0}.spf-corp-section.spacing-compact{padding-block:clamp(32px,5vw,56px)}.spf-corp-section.spacing-normal{padding-block:clamp(56px,7vw,92px)}.spf-corp-section.spacing-generous{padding-block:clamp(76px,10vw,132px)}
.spf-corp-section.height-compact>.spf-section-inner{min-height:360px}.spf-corp-section.height-standard>.spf-section-inner{min-height:520px}.spf-corp-section.height-tall>.spf-section-inner{min-height:680px}.spf-corp-section.height-viewport>.spf-section-inner{min-height:min(90vh,860px)}
.spf-section-inner{width:min(calc(100% - 2*var(--spf-gutter-desktop)),var(--spf-container));margin-inline:auto;position:relative;z-index:2}.spf-corp-section.width-narrow>.spf-section-inner{max-width:860px}.spf-corp-section.width-wide>.spf-section-inner{width:min(calc(100% - 2*var(--spf-gutter-desktop)),1440px)}.spf-corp-section.width-full>.spf-section-inner{width:100%;max-width:none}
.spf-corp-section.align-center{text-align:center}.spf-corp-section.align-end{text-align:end}.spf-corp-section.valign-start>.spf-section-inner{align-items:start}.spf-corp-section.valign-center>.spf-section-inner{align-items:center}.spf-corp-section.valign-end>.spf-section-inner{align-items:end}
.spf-section-kicker{margin:0 0 10px;color:var(--spf-accent);font-weight:800;font-size:.8rem;letter-spacing:.04em}.tone-dark .spf-section-kicker,.tone-gradient .spf-section-kicker,.tone-accent .spf-section-kicker{color:rgba(255,255,255,.82)}
.spf-section-title{margin:0;max-width:16ch;font-size:clamp(var(--spf-type-h2-mobile,24px),5.3vw,calc(var(--spf-type-h1,48px) * 1.05));line-height:var(--spf-line-heading,1.1)}.align-center .spf-section-title{margin-inline:auto}.spf-section-lead{max-width:62ch;margin:18px 0 0;color:var(--spf-muted);font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.8}.align-center .spf-section-lead{margin-inline:auto}.tone-dark .spf-section-lead,.tone-gradient .spf-section-lead,.tone-accent .spf-section-lead{color:rgba(255,255,255,.76)}
.flow-button.is-outline{background:transparent;color:inherit;border-color:currentColor}.spf-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.align-center .spf-hero-actions{justify-content:center}
.spf-hero-grid,.spf-about-grid,.spf-cta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:clamp(32px,6vw,90px)}.layout-split-left .spf-hero-content,.layout-media-left .spf-hero-content,.layout-image-left .spf-about-content{order:2}.layout-split-left .spf-hero-media,.layout-media-left .spf-hero-media,.layout-image-left .spf-about-media{order:1}
.spf-hero-title{max-width:12ch;margin:0;font-size:clamp(var(--spf-type-h1-mobile,34px),7.2vw,calc(var(--spf-type-h1,48px) * 1.55));line-height:.94}.align-center .spf-hero-title{margin-inline:auto}.spf-hero-lead{max-width:55ch;margin:20px 0 0;color:var(--spf-muted);font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.8}.tone-dark .spf-hero-lead,.tone-gradient .spf-hero-lead,.tone-accent .spf-hero-lead{color:rgba(255,255,255,.78)}
.layout-centered .spf-hero-grid{grid-template-columns:1fr;text-align:center}.layout-centered .spf-hero-content{max-width:980px;margin-inline:auto}.layout-centered .spf-hero-media{max-width:980px;margin-inline:auto}.layout-full-cover,.layout-video-cover{min-height:680px}.layout-full-cover .spf-section-inner,.layout-video-cover .spf-section-inner{width:100%;min-height:inherit}.layout-full-cover .spf-hero-media,.layout-video-cover .spf-hero-media{position:absolute;inset:0;margin:0;border-radius:0}.layout-full-cover .spf-hero-media:after,.layout-video-cover .spf-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,20,.8),rgba(10,10,20,.22))}.layout-full-cover .spf-hero-overlay,.layout-video-cover .spf-hero-overlay{display:flex;align-items:center;min-height:inherit;width:min(calc(100% - 2*var(--spf-gutter-desktop)),var(--spf-container));margin-inline:auto;position:relative;z-index:2;color:#fff}.layout-full-cover .spf-hero-lead,.layout-video-cover .spf-hero-lead{color:rgba(255,255,255,.82)}
.spf-hero-media,.spf-about-media,.spf-cta-media{position:relative;margin:0;overflow:hidden;border-radius:var(--spf-radius);background:var(--spf-surface);box-shadow:var(--spf-shadow)}.spf-section-media__image,.spf-hero-media video,.spf-about-media video,.spf-cta-media video{width:100%;height:100%;display:block;object-fit:cover}.fit-contain .spf-section-media__image,.fit-contain video{object-fit:contain}.aspect-16-9{aspect-ratio:16/9}.aspect-4-3{aspect-ratio:4/3}.aspect-3-2{aspect-ratio:3/2}.aspect-1-1{aspect-ratio:1}.aspect-9-16{aspect-ratio:9/16}.aspect-auto{aspect-ratio:auto}
.spf-inline-stats{display:flex;gap:24px;flex-wrap:wrap;margin-top:30px}.spf-inline-stats>div{display:grid;gap:3px}.spf-inline-stats strong{font-size:clamp(1.45rem,3vw,2.5rem)}.spf-inline-stats span{color:var(--spf-muted);font-size:.88rem}.tone-dark .spf-inline-stats span,.tone-gradient .spf-inline-stats span,.tone-accent .spf-inline-stats span{color:rgba(255,255,255,.68)}
.spf-service-grid,.spf-work-grid,.spf-stat-grid,.spf-team-grid,.spf-process-grid,.spf-testimonial-grid,.spf-branch-grid,.spf-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px}.layout-cards-4 .spf-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.layout-icon-list .spf-service-grid,.layout-split-list .spf-service-grid{grid-template-columns:1fr 1fr}.spf-service-card,.spf-stat-grid article,.spf-team-grid article,.spf-process-grid article,.spf-branch-grid article,.spf-blog-grid article{padding:26px;border:1px solid var(--spf-border);border-radius:var(--spf-radius);background:var(--spf-bg);box-shadow:var(--spf-shadow)}.tone-dark .spf-service-card,.tone-dark .spf-stat-grid article,.tone-dark .spf-process-grid article{background:color-mix(in srgb,var(--spf-dark) 88%,#fff);border-color:rgba(255,255,255,.12)}.spf-service-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:22px;border-radius:12px;background:var(--spf-accent-soft);color:var(--spf-accent);font-weight:900}.spf-service-card h3,.spf-work-card h3,.spf-team-grid h3,.spf-process-grid h3,.spf-branch-grid h3,.spf-blog-grid h3{margin:0 0 10px;font-size:var(--spf-type-h3,22px)}.spf-service-card p,.spf-work-card p,.spf-team-grid p,.spf-process-grid p,.spf-branch-grid p,.spf-blog-grid p{color:var(--spf-muted);line-height:1.7}.spf-card-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--spf-radius) - 5px);margin-bottom:18px}
.spf-work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.spf-work-card{overflow:hidden;border:1px solid var(--spf-border);border-radius:var(--spf-radius);background:var(--spf-bg);box-shadow:var(--spf-shadow)}.spf-work-card.is-featured{grid-column:span 2}.spf-work-image,.spf-work-art{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:linear-gradient(135deg,var(--spf-dark),var(--spf-accent))}.spf-work-card.is-featured .spf-work-image,.spf-work-card.is-featured .spf-work-art{aspect-ratio:16/8}.spf-work-body{padding:24px}.spf-work-category{margin:0 0 8px!important;color:var(--spf-accent)!important;font-size:.78rem;font-weight:800;text-transform:uppercase}.spf-work-result{display:block;margin-top:14px;font-size:1.15rem}.spf-card-link{display:inline-block;margin-top:16px;font-weight:800;text-decoration:none}
.layout-mosaic .spf-work-grid{grid-template-columns:1.15fr .85fr}.layout-mosaic .spf-work-card:first-child{grid-row:span 2}.layout-result-cards .spf-work-image,.layout-result-cards .spf-work-art{display:none}.layout-result-cards .spf-work-result{font-size:clamp(1.8rem,4vw,3.2rem);color:var(--spf-accent)}
.spf-stat-grid article strong{display:block;font-size:clamp(2.4rem,5vw,5rem);line-height:1}.spf-stat-grid article h3{margin:10px 0 6px}.layout-band .spf-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:26px;background:var(--spf-dark);border-radius:var(--spf-radius)}.layout-band .spf-stat-grid article{background:transparent;border:0;box-shadow:none;color:#fff}.layout-band .spf-stat-grid article p{color:rgba(255,255,255,.7)}
.spf-client-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:30px}.spf-client-grid>*{min-height:100px;display:grid;place-items:center;padding:16px;border:1px solid var(--spf-border);border-radius:var(--spf-radius-sm);background:var(--spf-bg);font-weight:850;text-decoration:none;color:inherit}.spf-client-logo{max-width:140px;max-height:62px;width:auto;height:auto;object-fit:contain}.layout-logo-strip .spf-client-grid{display:flex;overflow:auto}.layout-logo-strip .spf-client-grid>*{min-width:190px}
.spf-highlight{display:inline-flex;margin-top:22px;padding:10px 14px;border-radius:999px;background:var(--spf-accent-soft);color:var(--spf-accent);font-weight:800}.layout-minimal .spf-about-grid{grid-template-columns:1fr}.layout-minimal .spf-about-media{display:none}
.spf-team-image{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:calc(var(--spf-radius) - 4px);margin-bottom:18px}.spf-avatar-placeholder{display:grid;place-items:center;aspect-ratio:4/5;border-radius:calc(var(--spf-radius) - 4px);margin-bottom:18px;background:linear-gradient(135deg,var(--spf-accent-soft),var(--spf-surface));font-size:4rem;font-weight:900;color:var(--spf-accent)}.spf-team-role{color:var(--spf-accent)!important;font-weight:800}
.spf-process-grid article>span{display:block;margin-bottom:20px;color:var(--spf-accent);font-weight:900}.layout-horizontal .spf-process-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.layout-numbered .spf-process-grid article>span{font-size:3.2rem;line-height:1}.layout-vertical .spf-process-grid{grid-template-columns:1fr}.layout-vertical .spf-process-grid article{display:grid;grid-template-columns:80px 1fr;column-gap:20px}
.spf-testimonial-grid figure{margin:0;padding:30px;border:1px solid var(--spf-border);border-radius:var(--spf-radius);background:var(--spf-bg);box-shadow:var(--spf-shadow)}.spf-testimonial-grid blockquote{margin:0 0 20px;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.65}.spf-testimonial-grid figcaption{display:grid;gap:3px}.spf-testimonial-grid figcaption span{color:var(--spf-muted)}.spf-testimonial-avatar{width:54px;height:54px;object-fit:cover;border-radius:50%;margin-bottom:16px}.layout-quote .spf-testimonial-grid{grid-template-columns:1fr}.layout-quote .spf-testimonial-grid figure{max-width:900px}.layout-quote .spf-testimonial-grid blockquote{font-size:clamp(1.7rem,3vw,2.5rem)}
.spf-faq-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,90px)}.layout-full .spf-faq-layout{grid-template-columns:1fr}.spf-faq-list details{border-top:1px solid var(--spf-border);padding:18px 0}.spf-faq-list details:last-child{border-bottom:1px solid var(--spf-border)}.spf-faq-list summary{cursor:pointer;font-weight:800}.spf-faq-list p{color:var(--spf-muted);line-height:1.75}
.spf-branch-grid ul{list-style:none;margin:18px 0 0;padding:0}.spf-branch-grid li+li{margin-top:7px}.spf-blog-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:calc(var(--spf-radius) - 5px);margin-bottom:18px}.spf-blog-grid h3 a{text-decoration:none;color:inherit}
.spf-cta-grid{padding:clamp(34px,5vw,64px);border-radius:var(--spf-radius);background:var(--spf-dark);color:#fff}.spf-cta-grid .spf-section-lead{color:rgba(255,255,255,.76)}.layout-wide .spf-cta-grid,.layout-dark-card .spf-cta-grid{grid-template-columns:1fr}.layout-wide .spf-cta-media,.layout-dark-card .spf-cta-media{display:none}
@media(max-width:980px){.spf-hero-grid,.spf-about-grid,.spf-cta-grid,.spf-faq-layout{grid-template-columns:1fr}.spf-service-grid,.spf-work-grid,.spf-stat-grid,.spf-team-grid,.spf-process-grid,.spf-testimonial-grid,.spf-branch-grid,.spf-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-horizontal .spf-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spf-client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.spf-work-card.is-featured{grid-column:1/-1}}
@media(max-width:640px){.spf-section-inner{width:min(calc(100% - 2*var(--spf-gutter-mobile)),var(--spf-container))}.spf-service-grid,.spf-work-grid,.spf-stat-grid,.spf-team-grid,.spf-process-grid,.spf-testimonial-grid,.spf-branch-grid,.spf-blog-grid,.layout-horizontal .spf-process-grid{grid-template-columns:1fr}.spf-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spf-hero-title{font-size:clamp(var(--spf-type-h1-mobile,34px),15vw,calc(var(--spf-type-h1,48px) * 1.35))}.spf-section-title{font-size:clamp(var(--spf-type-h2-mobile,24px),11vw,var(--spf-type-h1,48px))}}


/* Shared optional CTA beneath Corporate sections. */
.spf-section-action{width:min(calc(100% - 2*var(--spf-gutter-desktop)),var(--spf-container));margin:30px auto 0;position:relative;z-index:3}.spf-section-action.align-start{text-align:start}.spf-section-action.align-center{text-align:center}.spf-section-action.align-end{text-align:end}.spf-section-action__link.is-text-link{display:inline-flex;align-items:center;gap:5px;color:var(--spf-accent);font-weight:800;text-decoration:none}.spf-section-action__link.is-text-link:hover{text-decoration:underline}.tone-dark .spf-section-action__link.is-text-link,.tone-accent .spf-section-action__link.is-text-link,.tone-gradient .spf-section-action__link.is-text-link{color:inherit}.spf-section-action .flow-button{display:inline-flex}
@media(max-width:640px){.spf-section-action{width:min(calc(100% - 2*var(--spf-gutter-mobile)),var(--spf-container));margin-top:24px}}
