@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap');

:root {
  --navy: #020d17;
  --navy-2: #061522;
  --panel: #071826;
  --blue: #0798ff;
  --blue-2: #0874e8;
  --text: #f3f7fb;
  --muted: #aab5c0;
  --line: rgba(177, 205, 226, .25);
  --display: "Montserrat", Arial, sans-serif;
  --content: min(1460px, calc(100vw - 72px));
}

* { box-sizing: border-box; }
html { background: var(--navy); scroll-behavior: smooth; }
body { margin: 0; background: radial-gradient(circle at 75% 0, #0b2030 0, var(--navy) 38%); color: var(--text); font-family: var(--display); font-size: 15px; line-height: 1.65; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
::selection { background: var(--blue); color: #fff; }
.skip-link { background: #fff; color: #000; left: 16px; padding: 10px 16px; position: fixed; top: -60px; z-index: 99; }
.skip-link:focus { top: 12px; }

.site-header { align-items: center; background: rgba(2, 13, 23, .88); border-bottom: 1px solid rgba(255,255,255,.09); display: grid; gap: 42px; grid-template-columns: 300px 1fr auto; height: 196px; left: 0; padding: 0 max(60px, calc((100vw - 1664px)/2)); position: absolute; right: 0; top: 0; transition: background-color .28s ease, border-color .28s ease, box-shadow .28s ease, height .28s ease; z-index: 30; }
.site-header.sticky { -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%); background: rgba(2, 13, 23, .68); border-bottom-color: rgba(255,255,255,.14); box-shadow: 0 12px 34px rgba(0,0,0,.2); height: 108px; position: fixed; }
.brand { align-items: center; display: inline-flex; flex-direction: column; justify-content: center; line-height: 1; width: 245px; }
.brand-drone { height: 25px; margin-bottom: 3px; width: 112px; }
.brand-drone path,.brand-drone circle { fill: none; stroke: #eaf2f7; stroke-linecap: round; stroke-width: 2; }
.brand-name { font-size: 27px; font-weight: 500; letter-spacing: .34em; margin-left: .34em; }
.brand-sub { align-items: center; color: var(--blue); display: flex; font-size: 10px; gap: 10px; letter-spacing: .42em; margin-top: 7px; }
.brand-sub::before,.brand-sub::after { background: var(--blue); content: ""; height: 1px; width: 27px; }
.brand-inc { color: #b5c1cb; font-size: 8px; letter-spacing: .6em; margin-left: .6em; margin-top: 6px; }
.brand > .brand-drone,
.brand > .brand-name,
.brand > .brand-sub,
.brand > .brand-inc { clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.brand::after { aspect-ratio: 338 / 162; background: url('scene-from-above-logo-transparent.png') center / contain no-repeat; content: ""; display: block; transition: width .2s ease; width: 255px; }
.site-header.sticky .brand::after { width: 180px; }
.desktop-nav { align-items: center; display: flex; gap: clamp(22px, 2vw, 42px); justify-content: center; }
.desktop-nav>a,.services-trigger,.portfolio-trigger,.about-trigger,.pricing-trigger { background: transparent; border: 0; color: #f0f4f7; cursor: pointer; font-size: 13px; font-weight: 500; letter-spacing: .11em; padding: 30px 0 18px; position: relative; text-transform: uppercase; white-space: nowrap; }
.desktop-nav>a::after,.services-trigger::after,.portfolio-trigger::after,.about-trigger::after,.pricing-trigger::after { background: var(--blue); bottom: 5px; content: ""; height: 1px; left: 0; position: absolute; transform: scaleX(0); transition: .2s ease; width: 100%; }
.desktop-nav>a:hover,.desktop-nav>a.active,.services-trigger:hover,.services-trigger.active,.nav-services-menu.open .services-trigger,.portfolio-trigger:hover,.portfolio-trigger.active,.nav-portfolio-menu.open .portfolio-trigger,.about-trigger:hover,.about-trigger.active,.nav-about-menu.open .about-trigger,.pricing-trigger:hover,.pricing-trigger.active,.nav-pricing-menu.open .pricing-trigger { color: var(--blue); }
.desktop-nav>a:hover::after,.desktop-nav>a.active::after,.services-trigger:hover::after,.services-trigger.active::after,.nav-services-menu.open .services-trigger::after,.portfolio-trigger:hover::after,.portfolio-trigger.active::after,.nav-portfolio-menu.open .portfolio-trigger::after,.about-trigger:hover::after,.about-trigger.active::after,.nav-about-menu.open .about-trigger::after,.pricing-trigger:hover::after,.pricing-trigger.active::after,.nav-pricing-menu.open .pricing-trigger::after { transform: scaleX(1); }
.nav-services-menu,.nav-portfolio-menu,.nav-about-menu,.nav-pricing-menu { align-items: center; align-self: stretch; display: flex; position: relative; }
.services-trigger span,.portfolio-trigger span,.about-trigger span,.pricing-trigger span { display: inline-block; font-size: 12px; margin-left: 4px; transition: transform .2s ease; }
.nav-services-menu.open .services-trigger span,.nav-services-menu:hover .services-trigger span,.nav-services-menu:focus-within .services-trigger span,.nav-portfolio-menu.open .portfolio-trigger span,.nav-portfolio-menu:hover .portfolio-trigger span,.nav-portfolio-menu:focus-within .portfolio-trigger span,.nav-about-menu.open .about-trigger span,.nav-about-menu:hover .about-trigger span,.nav-about-menu:focus-within .about-trigger span,.nav-pricing-menu.open .pricing-trigger span,.nav-pricing-menu:hover .pricing-trigger span,.nav-pricing-menu:focus-within .pricing-trigger span { transform: rotate(180deg); }
.services-mega { background: rgba(3,15,25,.98); border: 1px solid rgba(161,190,211,.42); border-radius: 7px; display: grid; gap: 14px; grid-template-columns: 1fr 1fr; left: -160px; opacity: 0; padding: 26px; pointer-events: none; position: absolute; top: calc(100% - 18px); transform: translateY(9px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; visibility: hidden; width: min(780px, calc(100vw - 72px)); z-index: 40; }
.nav-services-menu:hover .services-mega,.nav-services-menu:focus-within .services-mega,.nav-services-menu.open .services-mega { opacity: 1; pointer-events: auto; transform: none; visibility: visible; }
.desktop-nav .services-mega a { background: rgba(5,20,31,.74); border: 1px solid rgba(177,205,226,.18); border-radius: 5px; padding: 16px 18px; transition: border-color .2s ease, background-color .2s ease; }
.desktop-nav .services-mega a:last-child { grid-column: auto; }
.desktop-nav .services-mega a:hover,.desktop-nav .services-mega a:focus { background: #091d2c; border-color: var(--blue); }
.desktop-nav .services-mega strong { display: block; font-size: 13px; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.desktop-nav .services-mega span { color: var(--muted); display: block; font-size: 12px; letter-spacing: 0; line-height: 1.45; margin-top: 5px; text-transform: none; white-space: normal; }
.portfolio-mega { background: rgba(3,15,25,.98); border: 1px solid rgba(161,190,211,.42); border-radius: 7px; display: grid; gap: 14px; grid-template-columns: 1fr 1fr; left: -350px; opacity: 0; padding: 28px; pointer-events: none; position: absolute; top: calc(100% - 42px); transform: translateY(9px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; visibility: hidden; width: min(825px, calc(100vw - 120px)); z-index: 40; }
.nav-portfolio-menu:hover .portfolio-mega,.nav-portfolio-menu:focus-within .portfolio-mega,.nav-portfolio-menu.open .portfolio-mega { opacity: 1; pointer-events: auto; transform: none; visibility: visible; }
.desktop-nav .portfolio-mega a { background: rgba(5,20,31,.74); border: 1px solid rgba(177,205,226,.18); border-radius: 5px; padding: 16px 18px; transition: border-color .2s ease, background-color .2s ease; }
.desktop-nav .portfolio-mega a:hover,.desktop-nav .portfolio-mega a:focus { background: #091d2c; border-color: var(--blue); }
.desktop-nav .portfolio-mega strong { display: block; font-size: 13px; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.desktop-nav .portfolio-mega span { color: var(--muted); display: block; font-size: 12px; letter-spacing: 0; line-height: 1.45; margin-top: 5px; text-transform: none; white-space: normal; }
.about-mega { background: rgba(3,15,25,.98); border: 1px solid rgba(161,190,211,.42); border-radius: 7px; display: grid; gap: 14px; grid-template-columns: 1fr 1fr; left: -240px; opacity: 0; padding: 26px; pointer-events: none; position: absolute; top: calc(100% - 18px); transform: translateY(9px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; visibility: hidden; width: min(720px, calc(100vw - 72px)); z-index: 40; }
.nav-about-menu:hover .about-mega,.nav-about-menu:focus-within .about-mega,.nav-about-menu.open .about-mega { opacity: 1; pointer-events: auto; transform: none; visibility: visible; }
.desktop-nav .about-mega a { background: rgba(5,20,31,.74); border: 1px solid rgba(177,205,226,.18); border-radius: 5px; padding: 16px 18px; transition: border-color .2s ease, background-color .2s ease; }
.desktop-nav .about-mega a:hover,.desktop-nav .about-mega a:focus { background: #091d2c; border-color: var(--blue); }
.desktop-nav .about-mega strong { display: block; font-size: 13px; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.desktop-nav .about-mega span { color: var(--muted); display: block; font-size: 12px; letter-spacing: 0; line-height: 1.45; margin-top: 5px; text-transform: none; white-space: normal; }
.pricing-mega { background: rgba(3,15,25,.98); border: 1px solid rgba(161,190,211,.42); border-radius: 7px; display: grid; gap: 14px; grid-template-columns: 1fr 1fr; left: -300px; opacity: 0; padding: 26px; pointer-events: none; position: absolute; top: calc(100% - 18px); transform: translateY(9px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; visibility: hidden; width: min(720px, calc(100vw - 72px)); z-index: 40; }
.nav-pricing-menu:hover .pricing-mega,.nav-pricing-menu:focus-within .pricing-mega,.nav-pricing-menu.open .pricing-mega { opacity: 1; pointer-events: auto; transform: none; visibility: visible; }
.desktop-nav .pricing-mega a { background: rgba(5,20,31,.74); border: 1px solid rgba(177,205,226,.18); border-radius: 5px; padding: 16px 18px; transition: border-color .2s ease, background-color .2s ease; }
.desktop-nav .pricing-mega a:hover,.desktop-nav .pricing-mega a:focus { background: #091d2c; border-color: var(--blue); }
.desktop-nav .pricing-mega strong { display: block; font-size: 13px; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.desktop-nav .pricing-mega span { color: var(--muted); display: block; font-size: 12px; letter-spacing: 0; line-height: 1.45; margin-top: 5px; text-transform: none; white-space: normal; }
.quote-button,.button { align-items: center; background: transparent; border: 1px solid var(--blue); cursor: pointer; display: inline-flex; font-size: 11px; font-weight: 500; justify-content: center; letter-spacing: .12em; min-height: 52px; padding: 0 30px; text-transform: uppercase; transition: .22s ease; }
.site-header > .quote-button { font-size: 13px; min-height: 60px; min-width: 210px; }
.quote-button:hover,.button:hover { background: var(--blue); color: #fff; }
.button.fill { background: linear-gradient(90deg, var(--blue-2), var(--blue)); border: 0; }
.button.fill:hover { filter: brightness(1.15); }
button,.button,.quote-button { border-radius: 4px; }
.menu-button { background: transparent; border: 0; cursor: pointer; display: none; height: 44px; justify-self: end; position: relative; width: 44px; }
.menu-button span { background: #fff; height: 1px; left: 8px; position: absolute; transition: .2s ease; width: 28px; }
.menu-button span:first-child { top: 16px; }.menu-button span:last-child { top: 27px; }
.menu-button[aria-expanded="true"] span:first-child { top: 22px; transform: rotate(45deg); }.menu-button[aria-expanded="true"] span:last-child { top: 22px; transform: rotate(-45deg); }
.mobile-menu { background: rgba(2,13,23,.99); inset: 0; opacity: 0; overflow-y: auto; padding: 112px 28px 30px; pointer-events: none; position: fixed; transform: translateY(-12px); transition: .25s ease; z-index: 25; }
.mobile-menu.open { opacity: 1; pointer-events: auto; transform: none; }
.mobile-menu nav { display: flex; flex-direction: column; }
.mobile-menu a { border-bottom: 1px solid var(--line); font-size: 21px; letter-spacing: .08em; padding: 12px 0; text-transform: uppercase; }
.mobile-menu .button { margin-top: 24px; }
.mobile-services,.mobile-portfolio,.mobile-about,.mobile-pricing { border-bottom: 1px solid var(--line); }
.mobile-services summary,.mobile-portfolio summary,.mobile-about summary,.mobile-pricing summary { cursor: pointer; font-size: 21px; letter-spacing: .08em; list-style: none; padding: 12px 0; text-transform: uppercase; }
.mobile-services summary::-webkit-details-marker,.mobile-portfolio summary::-webkit-details-marker,.mobile-about summary::-webkit-details-marker,.mobile-pricing summary::-webkit-details-marker { display: none; }
.mobile-services summary::after,.mobile-portfolio summary::after,.mobile-about summary::after,.mobile-pricing summary::after { color: var(--blue); content: "+"; float: right; }
.mobile-services[open] summary::after,.mobile-portfolio[open] summary::after,.mobile-about[open] summary::after,.mobile-pricing[open] summary::after { content: "−"; }
.mobile-services div,.mobile-portfolio div,.mobile-about div,.mobile-pricing div { border-left: 1px solid var(--blue); display: grid; margin: 0 0 14px 4px; padding-left: 18px; }
.mobile-menu .mobile-services a,.mobile-menu .mobile-portfolio a,.mobile-menu .mobile-about a,.mobile-menu .mobile-pricing a { border: 0; color: var(--muted); font-size: 13px; padding: 8px 0; }
.mobile-menu .mobile-services a:first-child,.mobile-menu .mobile-portfolio a:first-child,.mobile-menu .mobile-about a:first-child,.mobile-menu .mobile-pricing a:first-child { color: var(--blue); }

.hero { background-image: linear-gradient(90deg, rgba(1,10,18,.96) 0%, rgba(1,10,18,.82) 28%, rgba(1,10,18,.24) 65%, rgba(1,10,18,.18)), linear-gradient(0deg, rgba(1,10,18,.95), transparent 42%), url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2200&q=88'); background-position: center; background-size: cover; border-bottom: 1px solid var(--line); min-height: 780px; padding: 258px max(36px, calc((100vw - 1460px)/2)) 70px; position: relative; }
.hero-content { max-width: 650px; }
.eyebrow { color: var(--blue); font-size: 12px; letter-spacing: .17em; margin: 0 0 16px; text-transform: uppercase; }
h1,h2,h3 { font-weight: 500; line-height: 1.22; margin: 0; }
.hero h1 { font-size: clamp(45px, 5.2vw, 76px); letter-spacing: .055em; text-transform: uppercase; }
.hero h1 span { color: var(--blue); display: block; }
.blue-rule { background: var(--blue); height: 2px; margin: 22px 0; width: 58px; }
.hero p:not(.eyebrow) { color: #c2cbd2; font-size: 15px; max-width: 520px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 34px; }
.showreel { align-items: center; bottom: 58px; display: flex; font-size: 10px; gap: 12px; letter-spacing: .13em; position: absolute; right: max(36px, calc((100vw - 1460px)/2)); text-transform: uppercase; }
.play-icon { border: 1px solid #fff; border-radius: 50%; display: grid; height: 40px; place-items: center; width: 40px; }
.play-icon::after { border-bottom: 5px solid transparent; border-left: 8px solid #fff; border-top: 5px solid transparent; content: ""; margin-left: 2px; }

.section { padding: 80px 0; }
.section.tight { padding: 42px 0 70px; }
.container { margin-inline: auto; width: var(--content); }
.section-heading { margin: 0 auto 30px; max-width: 720px; text-align: center; }
.section-heading h2 { font-size: clamp(32px, 4vw, 48px); letter-spacing: .13em; text-transform: uppercase; }
.section-heading .blue-rule { margin: 14px auto 0; }
.section-heading p:last-child { color: var(--muted); }

.service-grid { display: grid; gap: 15px; grid-template-columns: repeat(4,1fr); }
.service-card { background-position: center; background-size: cover; border: 1px solid var(--line); min-height: 265px; overflow: hidden; padding: 28px 24px; position: relative; }
.service-card::before { background: linear-gradient(0deg, rgba(2,13,23,.98), rgba(2,13,23,.35)); content: ""; inset: 0; position: absolute; }
.service-card>* { position: relative; z-index: 2; }
.service-card .icon { color: var(--blue); font-size: 35px; }
.service-card h3 { font-size: 16px; letter-spacing: .07em; margin-top: 65px; text-transform: uppercase; }
.service-card p { color: #c1c9d0; font-size: 13px; line-height: 1.45; margin: 8px 0 18px; }
.learn { color: var(--blue); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.card-real { background-image: url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1000&q=82'); }
.card-aerial { background-image: url('https://images.unsplash.com/photo-1532562145520-b8cce2486cd2?auto=format&fit=crop&w=1000&q=82'); }
.card-commercial { background-image: url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1000&q=82'); }
.card-social { background-image: url('https://images.unsplash.com/photo-1514565131-fce0801e5785?auto=format&fit=crop&w=1000&q=82'); }
.value-strip { border: 1px solid var(--line); display: grid; grid-template-columns: repeat(4,1fr); margin-top: 25px; }
.value { align-items: center; display: grid; gap: 14px; grid-template-columns: 54px 1fr; min-height: 90px; padding: 16px 25px; }
.value+.value { border-left: 1px solid var(--line); }
.value strong { color: var(--blue); font-size: 28px; font-weight: 400; text-align: center; }
.value b { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }.value span { color: var(--muted); font-size: 11px; }

.featured-section { background: #030e18; border-top: 1px solid rgba(255,255,255,.04); padding: 90px 0 48px; }
.featured-section .section-heading h2 { font-size: clamp(38px, 4vw, 60px); font-weight: 600; }
.project-grid { display: grid; gap: 22px; grid-template-columns: repeat(4,1fr); }
.project-card { background: #06131e; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.project-image { background-image: url('featured-work-reference.png'); background-repeat: no-repeat; background-size: 457.5% auto; height: 210px; }
.project-image.work-one { background-position: 6% 31.7%; }
.project-image.work-two { background-position: 35.5% 31.7%; }
.project-image.work-three { background-position: 65.1% 31.7%; }
.project-image.work-four { background-position: 94.6% 31.7%; }
.project-copy { min-height: 225px; padding: 25px 27px; }
.project-copy h3 { font-size: 20px; font-weight: 600; letter-spacing: .035em; text-transform: uppercase; }
.project-copy p { color: #c2d2df; margin: 14px 0; }
.featured-cta { display: flex; justify-content: center; margin-top: 40px; }

.reviews-section { background: #020c15; padding: 14px 0 42px; }
.reviews-shell { background: #071927; border: 1px solid var(--line); border-radius: 7px; display: grid; gap: 28px; grid-template-columns: 235px 1fr; min-height: 220px; padding: 26px 34px; }
.reviews-summary { align-items: flex-start; border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; padding-right: 30px; }
.google-wordmark { font-size: 19px; letter-spacing: -.02em; }
.google-wordmark span:nth-child(1),.google-wordmark span:nth-child(4) { color: #4285f4; }.google-wordmark span:nth-child(2),.google-wordmark span:nth-child(6) { color: #ea4335; }.google-wordmark span:nth-child(3) { color: #fbbc05; }.google-wordmark span:nth-child(5) { color: #34a853; }
.review-stars { color: #fbbc05; font-size: 18px; letter-spacing: .12em; margin: 10px 0 2px; }
.reviews-summary small { color: var(--muted); }
.reviews-summary .learn { margin-top: 16px; }
.reviews-summary .review-button { font-size: 9px; margin-top: 13px; min-height: 42px; padding: 0 16px; }
.review-carousel { display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; min-width: 0; }
.review-track { min-height: 180px; min-width: 0; overflow: hidden; }
.review-slide { display: none; padding: 8px 34px; }
.review-slide.active { display: block; }
.review-rating { color: #fbbc04; display: block; font-size: 16px; letter-spacing: .08em; margin-bottom: 12px; }
.review-tag { border: 1px solid var(--line); border-radius: 999px; color: #dce9f2; display: inline-block; font-size: 9px; letter-spacing: .08em; margin-bottom: 12px; padding: 3px 9px; text-transform: uppercase; }
.review-quote { color: #eef6fc; font-size: clamp(15px, 1.35vw, 20px); line-height: 1.45; margin: 0; }
.review-quote::before { color: var(--blue); content: "“"; font-size: 65px; line-height: .2; margin-right: 12px; vertical-align: -20px; }
.review-author { color: var(--blue); display: block; font-size: 11px; letter-spacing: .15em; margin-top: 17px; text-transform: uppercase; }
.review-role { color: var(--muted); display: block; font-size: 10px; letter-spacing: .09em; margin-top: 3px; text-transform: uppercase; }
.carousel-button { background: transparent; border: 1px solid var(--line); border-radius: 50%; cursor: pointer; height: 40px; width: 40px; }
.carousel-button:hover:not(:disabled) { border-color: var(--blue); color: var(--blue); }
.carousel-button:disabled { cursor: default; opacity: .3; }
.carousel-status { color: #60788a; font-size: 9px; letter-spacing: .12em; margin-top: 10px; text-align: center; text-transform: uppercase; }

/* Connected brands carousel */
.brand-rail-section { background:#08131e; border-bottom:1px solid var(--blue); border-top:1px solid rgba(7,152,255,.26); overflow:hidden; padding:50px 0 42px; position:relative; }
.brand-rail-section::before { background:radial-gradient(circle at 88% -40%,rgba(23,105,163,.2),transparent 42%); content:""; inset:0; pointer-events:none; position:absolute; }
.brand-rail-heading { border-bottom:1px solid rgba(7,152,255,.65); margin-bottom:24px; padding-bottom:27px; position:relative; z-index:1; }
.brand-rail-heading .eyebrow { margin-bottom:10px; }
.brand-rail-heading h2 { font-size:clamp(28px,3vw,42px); letter-spacing:-.025em; line-height:1.1; margin:0; max-width:1050px; text-transform:none; }
.brand-rail-heading>p:last-child { color:var(--muted); font-size:15px; margin:12px 0 0; }
.logo-marquee { -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); overflow:hidden; position:relative; z-index:1; }
.logo-marquee-track { animation:sfa-logo-scroll 48s linear infinite; display:flex; width:max-content; will-change:transform; }
.logo-marquee:is(:hover,:focus-within) .logo-marquee-track { animation-play-state:paused; }
.logo-marquee-group { display:flex; flex:none; gap:18px; padding-right:18px; }
.logo-card { align-items:center; background:transparent; border:0; box-shadow:none; display:flex; height:100px; justify-content:center; padding:12px 16px; width:205px; }
.logo-card img { display:block; height:auto; max-height:68px; max-width:92%; object-fit:contain; width:auto; }
@keyframes sfa-logo-scroll { to { transform:translateX(-50%); } }

.page-hero { background-position: center; background-size: cover; min-height: 520px; padding: 245px max(36px, calc((100vw - 1460px)/2)) 65px; position: relative; }
.page-hero::before { background: linear-gradient(90deg, rgba(2,13,23,.97), rgba(2,13,23,.7) 40%, rgba(2,13,23,.12)), linear-gradient(0deg, var(--navy), transparent 45%); content: ""; inset: 0; position: absolute; }
.page-hero>* { position: relative; z-index: 2; }
.page-hero h1 { font-size: clamp(38px,5vw,66px); letter-spacing:.04em; max-width: 800px; text-transform: uppercase; }
.page-hero p:last-child { color:#c0cad2; max-width:510px; }
.hero-intelligence{background-image:linear-gradient(90deg,rgba(2,13,23,.97),rgba(2,13,23,.72) 48%,rgba(2,13,23,.2)),url('portfolio/modern-institutional-building-wide.jpg')}.intelligence-directory{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.intelligence-option{background:#04121d;border:1px solid var(--line);display:flex;flex-direction:column;min-height:300px;padding:30px;transition:border-color .2s ease,transform .2s ease}.intelligence-option:hover{border-color:var(--blue);transform:translateY(-3px)}.intelligence-option.featured{background:#0a2031;border-color:var(--blue)}.intelligence-option small{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.intelligence-option h2{font-size:20px;letter-spacing:.06em;margin:48px 0 14px;text-transform:uppercase}.intelligence-option p{color:var(--muted);font-size:14px;line-height:1.65}.intelligence-option strong{color:var(--blue);font-size:10px;letter-spacing:.11em;margin-top:auto;text-transform:uppercase}.intelligence-callout{align-items:center;background:#071725;border:1px solid var(--line);display:grid;gap:45px;grid-template-columns:1fr auto;margin-top:30px;padding:38px}.intelligence-callout h3{font-size:25px;text-transform:uppercase}.intelligence-callout p{color:var(--muted);max-width:780px}
@media(max-width:1250px){.intelligence-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.intelligence-directory,.intelligence-callout{grid-template-columns:1fr}.intelligence-option{min-height:260px;padding:26px}.intelligence-callout{padding:26px}.intelligence-callout .button{width:100%}}
.hero-services { background-image: url('https://images.unsplash.com/photo-1600585152915-d208bec867a1?auto=format&fit=crop&w=2200&q=84'); }
.hero-about { background-image: url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2200&q=84'); }
.hero-portfolio { background-image: url('https://images.unsplash.com/photo-1514924013411-cbf25faa35bb?auto=format&fit=crop&w=2200&q=84'); }
.hero-pricing { background-image: url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=84'); }
.hero-franchise { background-image: url('toronto-skyline-franchise-banner.jpg'); background-position:center 56%; }
.hero-contact { background-image: url('https://images.unsplash.com/photo-1600047509807-ba8f99d2cdde?auto=format&fit=crop&w=2200&q=84'); }
.hero-blog { background-image: url('https://images.unsplash.com/photo-1477959858617-67f85cf4f1df?auto=format&fit=crop&w=2200&q=84'); }
.hero-aerial-photo { background-image: url('https://images.unsplash.com/photo-1532562145520-b8cce2486cd2?auto=format&fit=crop&w=2200&q=84'); }
.hero-aerial-video { background-image: url('https://images.unsplash.com/photo-1527977966376-1c8408f9f108?auto=format&fit=crop&w=2200&q=84'); }
.hero-hotel { background-image: url('https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=2200&q=84'); }
.hero-real-estate { background-image: url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=2200&q=84'); }
.hero-golf { background-image: url('https://images.unsplash.com/photo-1587174486073-ae5e5cff23aa?auto=format&fit=crop&w=2200&q=84'); }
.hero-commercial { background-image: url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=2200&q=84'); }
.hero-social { background-image: url('https://images.unsplash.com/photo-1514565131-fce0801e5785?auto=format&fit=crop&w=2200&q=84'); }
.hero-team { background-image: url('https://images.unsplash.com/photo-1527977966376-1c8408f9f108?auto=format&fit=crop&w=2200&q=84'); }
.hero-areas { background-image: url('https://images.unsplash.com/photo-1514924013411-cbf25faa35bb?auto=format&fit=crop&w=2200&q=84'); }

.service-directory { display: grid; gap: 14px; grid-template-columns: repeat(2,1fr); }
.service-option { background: #061522; border: 1px solid var(--line); min-height: 142px; padding: 24px 26px; transition: border-color .2s ease, transform .2s ease; }
.service-option:hover { border-color: var(--blue); transform: translateY(-3px); }
.service-option small { color: var(--blue); display: block; font-size: 10px; letter-spacing: .12em; margin-bottom: 10px; text-transform: uppercase; }
.service-option h2,.service-option h3 { font-size: 17px; letter-spacing: .07em; text-transform: uppercase; }
.service-option p { color: var(--muted); font-size: 13px; margin: 8px 0 0; }
.service-detail-grid { align-items: start; display: grid; gap: 70px; grid-template-columns: 1.1fr .9fr; }
.service-detail-copy h2 { font-size: clamp(30px,4vw,50px); letter-spacing: .04em; text-transform: uppercase; }
.service-detail-copy p { color: var(--muted); font-size: 16px; }
.ideal-panel { background: #061522; border: 1px solid var(--line); border-top: 2px solid var(--blue); padding: 30px; }
.ideal-panel h3 { font-size: 15px; letter-spacing: .08em; text-transform: uppercase; }
.ideal-panel ul { display: grid; gap: 13px; list-style: none; margin: 22px 0 0; padding: 0; }
.ideal-panel li { border-bottom: 1px solid var(--line); color: #d0dbe3; padding-bottom: 12px; }
.ideal-panel li::before { color: var(--blue); content: "✓"; margin-right: 11px; }
.deliverable-grid { display: grid; gap: 14px; grid-template-columns: repeat(4,1fr); margin-top: 30px; }
.deliverable-card { border: 1px solid var(--line); min-height: 190px; padding: 26px; }
.deliverable-card b { color: var(--blue); font-size: 24px; font-weight: 400; }
.deliverable-card h3 { font-size: 14px; letter-spacing: .07em; margin: 22px 0 8px; text-transform: uppercase; }
.deliverable-card p { color: var(--muted); font-size: 12px; margin: 0; }
.process-strip { border: 1px solid var(--line); display: grid; grid-template-columns: repeat(3,1fr); margin-top: 26px; }
.process-step { min-height: 130px; padding: 24px; }
.process-step+.process-step { border-left: 1px solid var(--line); }
.process-step small { color: var(--blue); letter-spacing: .12em; text-transform: uppercase; }
.process-step strong { display: block; font-size: 14px; letter-spacing: .06em; margin-top: 11px; text-transform: uppercase; }
.process-step span { color: var(--muted); display: block; font-size: 12px; margin-top: 5px; }
.related-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.related-links a { border: 1px solid var(--line); color: #dce8f0; font-size: 10px; letter-spacing: .09em; padding: 10px 14px; text-transform: uppercase; }
.related-links a:hover { border-color: var(--blue); color: var(--blue); }

.about-paths { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; margin-top: 55px; }
.about-path { background: #061522; border: 1px solid var(--line); min-height: 190px; padding: 30px; transition: border-color .2s ease, transform .2s ease; }
.about-path:hover { border-color: var(--blue); transform: translateY(-3px); }
.about-path small { color: var(--blue); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.about-path h3 { font-size: 21px; letter-spacing: .08em; margin: 20px 0 8px; text-transform: uppercase; }
.about-path p { color: var(--muted); margin: 0; }
.company-intro { align-items: center; display: grid; gap: 60px; grid-template-columns: .9fr 1.1fr; }
.company-intro h2 { font-size: clamp(38px,4.5vw,62px); letter-spacing: .04em; text-transform: uppercase; }
.company-intro p { color: var(--muted); font-size: 16px; }
.company-image { background-image: linear-gradient(0deg,rgba(2,13,23,.25),transparent),url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1400&q=84'); background-position:center; background-size:cover; border:1px solid var(--line); min-height:430px; }
.mission-panel { border: 1px solid var(--line); display: grid; grid-template-columns: 1fr 2.5fr; }
.process-followup { margin-top: 28px; }
.mission-stack { border-right: 1px solid var(--line); display: grid; gap: 28px; padding: 36px; }
.mission-item { display: grid; gap: 8px; grid-template-columns: 52px 1fr; }
.mission-icon { color: var(--blue); font-size: 29px; line-height: 1; }
.mission-item h3 { font-size: 17px; letter-spacing: .07em; text-transform: uppercase; }
.mission-item p { color: var(--muted); grid-column: 2; margin: 0; }
.why-panel { padding: 36px; }
.why-panel>h2 { font-size: 22px; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.why-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 40px; }
.why-card { min-height: 250px; padding: 25px; text-align: center; }
.why-card+.why-card { border-left: 1px solid var(--line); }
.why-card b { color: var(--blue); display: block; font-size: 34px; font-weight: 400; }
.why-card h3 { font-size: 13px; letter-spacing: .07em; margin: 20px 0 9px; text-transform: uppercase; }
.why-card p { color: var(--muted); font-size: 12px; margin: 0; }
.about-process { display: grid; grid-template-columns: repeat(5,1fr); }
.about-process article { background: #061522; border: 1px solid rgba(177,205,226,.13); min-height: 260px; padding: 28px; text-align: center; }
.about-process article+article { border-left: 0; }
.about-process small,.region-card small,.industry-card small { color: var(--blue); font-size: 11px; letter-spacing: .12em; }
.about-process h3 { font-size: 18px; letter-spacing: .06em; margin: 24px 0 12px; text-transform: uppercase; }
.about-process p { color: var(--muted); font-size: 13px; }
.region-grid { display: grid; gap: 18px; grid-template-columns: repeat(3,1fr); }
.region-card,.industry-card { background:#061522; border:1px solid rgba(177,205,226,.13); min-height: 220px; padding:30px; }
.region-card h2 { font-size: 20px; letter-spacing: .06em; margin: 26px 0 12px; text-transform: uppercase; }
.region-card p,.industry-card p { color: var(--muted); margin: 0; }
.industry-grid { display: grid; gap: 16px; grid-template-columns: repeat(3,1fr); }
.industry-card { min-height: 180px; }
.industry-card h3 { font-size: 17px; letter-spacing: .05em; margin: 26px 0 10px; text-transform: uppercase; }

.service-list { border: 1px solid var(--line); }
.service-row { align-items: stretch; display: grid; grid-template-columns: .9fr 1.1fr; min-height: 230px; }
.service-row+.service-row { border-top: 1px solid var(--line); }
.service-row-copy { align-self: center; padding: 35px 42px; }
.service-row-copy h2 { font-size: 22px; letter-spacing: .08em; text-transform: uppercase; }.service-row-copy p { color: var(--muted); max-width: 500px; }.service-row-copy .icon { color: var(--blue); font-size: 33px; }
.service-row-image { background-position: center; background-size: cover; min-height: 230px; position: relative; }.service-row-image::after { background: linear-gradient(90deg, var(--navy-2), transparent 45%); content:""; inset:0; position:absolute; }

.cta-bar { align-items: center; background-image: radial-gradient(circle at 15% 0,rgba(7,152,255,.12),transparent 28%), repeating-radial-gradient(ellipse at 50% 50%,transparent 0 21px,rgba(7,152,255,.06) 22px 23px); border: 1px solid var(--line); display: grid; gap: 28px; grid-template-columns: 1fr auto; margin-top: 25px; padding: 28px 40px; }.cta-bar h3 { font-size: 20px; letter-spacing:.08em; text-transform:uppercase; }.cta-bar p { color:var(--muted); margin:2px 0 0; }
.about-vehicle-cta{background:#020a12;border-bottom:1px solid var(--line);border-top:1px solid var(--line);isolation:isolate;min-height:440px;overflow:hidden;position:relative}.about-vehicle-media{height:100%;inset:0 0 0 auto;object-fit:cover;object-position:center;position:absolute;width:68%;z-index:-2}.about-vehicle-shade{background:linear-gradient(90deg,#020a12 0%,#020a12 24%,rgba(2,10,18,.96) 35%,rgba(2,10,18,.62) 52%,rgba(2,10,18,.12) 76%),linear-gradient(0deg,rgba(2,10,18,.38),transparent 45%);inset:0;position:absolute;z-index:-1}.about-vehicle-copy{display:flex;flex-direction:column;justify-content:center;min-height:440px;padding-block:70px}.about-vehicle-copy .eyebrow{margin-bottom:15px}.about-vehicle-copy h2{font-size:clamp(30px,3.1vw,49px);letter-spacing:.035em;line-height:1.08;max-width:680px;text-transform:uppercase}.about-vehicle-copy .blue-rule{margin:28px 0 34px;width:84px}.about-vehicle-copy .button{align-self:flex-start;min-width:220px}

.portfolio-filters { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:28px; }.filter-button { background:transparent; border:1px solid transparent; color:#d8e0e6; cursor:pointer; font-size:10px; letter-spacing:.12em; padding:12px 24px; text-transform:uppercase; }.filter-button.active,.filter-button:hover { background:var(--blue-2); border-color:var(--blue); }
.portfolio-grid { display:grid; gap:7px; grid-template-columns:repeat(3,1fr); }.portfolio-item { background-position:center; background-size:cover; border:1px solid var(--line); min-height:300px; overflow:hidden; position:relative; }.portfolio-item.hidden{display:none}
.p1{background-image:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1000&q=82')}.p2{background-image:url('https://images.unsplash.com/photo-1514924013411-cbf25faa35bb?auto=format&fit=crop&w=1000&q=82')}.p3{background-image:url('https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1000&q=82')}.p4{background-image:url('https://images.unsplash.com/photo-1532562145520-b8cce2486cd2?auto=format&fit=crop&w=1000&q=82')}.p5{background-image:url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1000&q=82')}.p6{background-image:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1000&q=82')}.p7{background-image:url('https://images.unsplash.com/photo-1473448912268-2022ce9509d8?auto=format&fit=crop&w=1000&q=82')}.p8{background-image:url('https://images.unsplash.com/photo-1514565131-fce0801e5785?auto=format&fit=crop&w=1000&q=82')}.p9{background-image:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1000&q=82')}
.portfolio-photo img{height:100%;inset:0;object-fit:cover;position:absolute;transition:transform .45s ease;width:100%}.portfolio-photo:hover img{transform:scale(1.025)}

.about-grid { display:grid; gap:1px; grid-template-columns:repeat(4,1fr); }.about-card { border:1px solid var(--line); min-height:230px; padding:32px; text-align:center; }.about-card strong { color:var(--blue); display:block; font-size:35px; font-weight:400; }.about-card h3 { font-size:14px; letter-spacing:.09em; margin:22px 0 7px; text-transform:uppercase; }.about-card p { color:var(--muted); font-size:12px; }
.story-grid { align-items:center; display:grid; gap:70px; grid-template-columns:1fr 1fr; }.story-copy h2 { font-size:clamp(34px,4vw,56px); letter-spacing:.04em; text-transform:uppercase; }.story-copy p { color:var(--muted); }.story-visual { background-image:linear-gradient(0deg,rgba(2,13,23,.35),transparent),url('https://images.unsplash.com/photo-1527977966376-1c8408f9f108?auto=format&fit=crop&w=1200&q=84'); background-position:center; background-size:cover; border:1px solid var(--line); min-height:420px; }

.pricing-lead { margin: 0 auto 52px; max-width: 950px; text-align: center; }
.pricing-lead h2 { font-size: clamp(36px,4.4vw,60px); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.pricing-lead .blue-rule { margin: 20px auto; }
.pricing-lead p:last-child { color: var(--muted); }
.package-tabs { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:42px; }.package-tab { background:transparent;border:1px solid var(--line);border-radius:5px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:0;padding:15px 22px;text-transform:none}.package-tab+.package-tab{border-left:1px solid var(--line)}.package-tab.active,.package-tab:hover{background:var(--blue-2);border-color:var(--blue)}
.industry-panel-heading { margin-bottom: 26px; }
.industry-panel-heading h2 { font-size: clamp(34px,4vw,58px); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.industry-panel-heading p { color: var(--muted); margin: 7px 0 0; }
.package-grid { display:grid; gap:15px; grid-template-columns:repeat(3,1fr); }.package-grid.four { grid-template-columns:repeat(4,1fr); }.package-card { border:1px solid var(--line); display:flex; flex-direction:column; min-height:560px; padding:35px; position:relative; }.package-card.featured { background:#0a2031; border-color:var(--blue); box-shadow:0 0 35px rgba(7,152,255,.08); }.package-badge { background:var(--blue-2); font-size:9px; left:50%; letter-spacing:.12em; padding:8px 20px; position:absolute; text-transform:uppercase; top:0; transform:translate(-50%,-50%); }.package-card h3 { font-size:21px; letter-spacing:.08em; text-transform:uppercase; }.package-card>p { color:var(--muted); margin:16px 0 0}.package-card .price { font-size:38px; line-height:1; margin:28px 0 10px; }.package-card .price small { color:var(--blue); display:block; font-size:10px; letter-spacing:.12em; margin-top:12px; text-transform:uppercase; }.package-card ul { border-top:1px solid var(--line); color:#c2ccd3; display:grid; gap:13px; list-style:none; margin:20px 0 24px; padding:22px 0 0; }.package-card li::before { color:var(--blue); content:"✓"; margin-right:12px; }.package-card .turnaround { color:var(--muted); font-size:12px; letter-spacing:.03em; margin:0 0 24px}.package-card .turnaround strong { color:var(--blue); display:block; font-size:10px; letter-spacing:.13em; margin-bottom:8px; text-transform:uppercase}.package-card .button { margin-top:auto; }
.package-set { display:none; }.package-set.active { display:grid; }
.real-estate-pricing .package-card li{font-size:14px;line-height:1.45}
@media(min-width:1251px){.real-estate-pricing .package-card li{white-space:nowrap}}
.package-set.active.industry-panel { display:block; }
.real-estate-addons { border:1px solid var(--line); margin-top:28px; padding:34px 44px 42px; }
.real-estate-addons h3 { font-size:21px; letter-spacing:.08em; margin-bottom:18px; text-transform:uppercase; }
.construction-package-group+.construction-package-group{border-top:1px solid var(--line);margin-top:62px;padding-top:54px}.construction-group-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:22px}.construction-group-heading span{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.construction-group-heading h3{font-size:20px;letter-spacing:.08em;text-transform:uppercase}.construction-pricing .package-card{min-height:650px}.construction-pricing .recurring .package-card{min-height:570px}.construction-addons,.commercial-addons{margin-top:34px}.construction-addons .addon-column p,.commercial-addons .addon-column p{align-items:center;display:flex;justify-content:space-between;gap:20px}.construction-addons strong,.commercial-addons strong{color:var(--text);font-weight:600;white-space:nowrap}.construction-tax-note{color:var(--muted);font-size:13px;line-height:1.7;margin:18px 0 0;text-align:center}
.addon-grid { display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.addon-column p { border-bottom:1px solid var(--line); color:var(--muted); font-size:15px; line-height:1.5; margin:0; padding:16px 0; }
.volume-pricing { border:1px solid var(--line); margin-top:20px; padding:34px 44px 42px; }
.volume-pricing h3 { font-size:21px; letter-spacing:.06em; margin-bottom:18px; text-transform:uppercase; }
.volume-pricing-list p { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:18px; grid-template-columns:200px 1fr auto; margin:0; padding:17px 0; }
.volume-pricing-list span { color:var(--muted); font-size:15px; line-height:1.45; }
.volume-pricing-list span:first-child { color:#eef6fb; font-weight:600; }
.volume-pricing-list strong { color:var(--blue); font-size:13px; letter-spacing:.04em; text-align:right; }
.industry-panel .package-card{min-height:650px;transition:border-color .2s ease,transform .2s ease}.industry-panel .package-card:hover{border-color:rgba(7,152,255,.68);transform:translateY(-3px)}.industry-panel .package-card h3{line-height:1.25;min-height:52px}.industry-panel .package-card>p{line-height:1.58;min-height:76px}.industry-panel .package-card .price{min-height:66px}.industry-panel .package-card>.badge{background:var(--blue-2);font-size:9px;font-weight:600;left:50%;letter-spacing:.12em;padding:8px 18px;position:absolute;text-transform:uppercase;top:0;transform:translate(-50%,-50%);white-space:nowrap}.real-estate-addons,.volume-pricing,.creative-addon-panel{padding:34px 44px 42px}.real-estate-addons h3,.volume-pricing h3,.creative-addon-panel>h3{font-size:21px;letter-spacing:.08em;margin:0 0 24px;text-transform:uppercase}.real-estate-addons .addon-column p{align-items:baseline;display:flex;gap:24px;justify-content:space-between}.real-estate-addons .addon-column span{color:var(--muted)}.real-estate-addons .addon-column strong{color:var(--text);font-size:15px;font-weight:600;text-align:right;white-space:nowrap}.creative-package-group-heading h3{font-size:20px}.creative-package-card>p:not(.creative-package-tag):not(.creative-package-price):not(.creative-package-note){min-height:76px}
.custom-category { border:1px solid var(--line); display:grid; gap:28px; grid-template-columns:1fr auto; padding:38px; }
.custom-category h3 { font-size:26px; text-transform:uppercase}.custom-category p{color:var(--muted);max-width:760px}
.golf-package-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.golf-package-grid .package-card{padding:28px}.golf-package-grid .package-card h3{font-size:19px}.golf-package-grid .package-card li{font-size:13px;line-height:1.45}.golf-pricing .custom-category{margin-top:28px}
.videography-package-grid .package-card{padding:28px}.videography-package-grid .package-card h3{font-size:19px}.videography-package-grid .package-card li{font-size:13px;line-height:1.45}.videography-pricing .custom-category{margin-top:28px}
.intelligence-package-grid .package-card{min-height:690px;padding:28px}.intelligence-package-grid .package-card h3{font-size:18px;min-height:68px}.intelligence-package-grid .package-card>p{font-size:14px;min-height:92px}.intelligence-package-grid .package-card li{font-size:13px;line-height:1.45}.intelligence-addons{margin-top:34px}.intelligence-disclaimer{border-left:2px solid var(--blue);color:var(--muted);font-size:13px;line-height:1.65;margin:22px 0 0;padding:4px 0 4px 18px}
.policy-grid { display:grid; gap:15px; grid-template-columns:repeat(2,1fr) }.policy-card { border:1px solid var(--line); padding:30px }.policy-card h2 { font-size:18px; letter-spacing:.07em; text-transform:uppercase }.policy-card p,.policy-card li { color:var(--muted) }.policy-card ul { padding-left:20px }
.finder { border:1px solid var(--line); display:grid; gap:35px; grid-template-columns:.8fr 1.2fr; margin-top:35px; padding:35px; }.finder-intro h3{font-size:24px;text-transform:uppercase}.finder-intro p{color:var(--muted)}.finder-options{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.finder-choice{background:#061522;border:1px solid var(--line);cursor:pointer;padding:16px;text-align:left}.finder-choice:hover,.finder-choice.active{border-color:var(--blue)}.finder-result{background:#061522;border-left:2px solid var(--blue);display:none;grid-column:1/-1;padding:24px}.finder-result.active{display:block}.finder-result strong{color:var(--blue);font-size:21px}.faq{margin:55px auto 0;max-width:1000px}.faq h2{text-align:center;text-transform:uppercase}.faq-item{border:1px solid var(--line);margin-top:-1px}.faq-question{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;justify-content:space-between;padding:17px 22px;text-align:left;width:100%}.faq-answer{color:var(--muted);display:none;padding:0 22px 18px}.faq-item.open .faq-answer{display:block}

.franchise-grid { display:grid; gap:22px; grid-template-columns:390px 1fr; }
.location-panel,.map-panel { border:1px solid var(--line); min-height:680px; }
.location-panel { background:#04111c; padding:28px; }
.location-panel-header { align-items:end; display:flex; justify-content:space-between; }
.location-panel h2 { font-size:20px;letter-spacing:.08em;text-transform:uppercase }
.territory-count { color:var(--blue); font-size:11px; letter-spacing:.08em; text-transform:uppercase }
.search-field { background:#061522;border:1px solid var(--line);color:#fff;margin:20px 0;padding:14px;width:100% }
.search-field:focus { border-color:var(--blue); outline:0 }
.territory-list { display:grid; max-height:562px; overflow:auto; padding-right:8px; scrollbar-color:var(--blue) #061522; scrollbar-width:thin }
.territory { align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer;display:grid;gap:13px;grid-template-columns:42px 1fr;padding:13px 4px;text-align:left;width:100% }
.territory-number { border:1px solid rgba(7,152,255,.65); color:#fff; display:grid; font-size:12px; height:34px; letter-spacing:.05em; place-items:center; transition:.2s ease; width:38px }
.territory strong { color:var(--text);display:block;font-size:12px;line-height:1.45 }
.territory span:not(.territory-number) { color:var(--muted);display:block;font-size:10px;line-height:1.4;margin-top:3px }
.territory:hover strong,.territory.active strong { color:var(--blue) }
.territory.active .territory-number { background:var(--blue); border-color:var(--blue) }
.map-panel { background:radial-gradient(circle at 52% 40%,rgba(7,152,255,.12),transparent 37%),linear-gradient(25deg,#061521,#0b2231);overflow:hidden;position:relative }
.map-panel::before { background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:38px 38px;content:"";inset:0;position:absolute;transform:rotate(8deg) scale(1.2) }
.ontario-map { height:100%; inset:0; position:absolute; width:100% }
.ontario-land { fill:#0a2638; stroke:rgba(140,198,235,.52); stroke-width:2 }
.great-lake { fill:#020d17; stroke:rgba(7,152,255,.25); stroke-width:2 }
.map-guide { fill:#728a9b; font-size:13px; letter-spacing:.16em }
.map-pin { background:#07283c;border:2px solid var(--blue);border-radius:50%;box-shadow:0 0 0 4px rgba(7,152,255,.12);cursor:pointer;height:29px;left:var(--x);padding:0;position:absolute;top:var(--y);transform:translate(-50%,-50%);transition:opacity .2s ease,transform .2s ease,background-color .2s ease;width:29px;z-index:3 }
.map-pin span { display:block;font-size:9px;line-height:25px;text-align:center }
.map-pin:hover,.map-pin:focus,.map-pin.active { background:var(--blue);box-shadow:0 0 0 6px rgba(7,152,255,.18);outline:0;transform:translate(-50%,-50%) scale(1.2);z-index:4 }
.map-pin.search-hidden { opacity:.12;pointer-events:none }
.map-legend { align-items:center;color:#9fb0bd;display:flex;font-size:10px;gap:9px;left:24px;letter-spacing:.08em;position:absolute;text-transform:uppercase;top:20px;z-index:3 }
.map-legend::before { background:var(--blue);border:2px solid #bde4ff;border-radius:50%;content:"";height:13px;width:13px }
.map-card { background:rgba(2,13,23,.94);border:1px solid rgba(7,152,255,.52);bottom:22px;max-width:360px;padding:19px 22px;position:absolute;right:22px;z-index:5 }
.map-card small { color:var(--blue);display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase }
.map-card strong { display:block;font-size:17px;line-height:1.35;margin-top:6px }
.map-card p { color:var(--muted);font-size:12px;line-height:1.5;margin:7px 0 11px }
.franchise-benefits{display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-top:25px}.benefit{border:1px solid var(--line);padding:26px}.benefit strong{color:var(--blue);font-size:25px;font-weight:400}.benefit h3{font-size:14px;margin:18px 0 8px;text-transform:uppercase}.benefit p{color:var(--muted);font-size:12px}

/* Franchise locator */
.franchise-grid { grid-template-columns:430px 1fr; }
.location-panel,.map-panel { min-height:730px; }
.location-panel { display:flex; flex-direction:column; height:730px; min-height:730px; padding:32px 28px; }
.location-panel-header { align-items:flex-start; display:block; }
.location-panel h2 { font-size:27px; font-weight:600; letter-spacing:.04em; }
.locator-controls { display:grid; gap:14px; margin:24px 0 20px; }
.search-field,.service-filter { background:#061522; border:1px solid var(--line); border-radius:0; color:#eef6fb; font-size:15px; height:62px; margin:0; padding:0 18px; width:100%; }
.search-field { border-color:var(--blue); }
.search-field:focus,.service-filter:focus { border-color:var(--blue); outline:2px solid rgba(7,152,255,.16); }
.service-filter { appearance:none; background-image:linear-gradient(45deg,transparent 50%,#91a7b6 50%),linear-gradient(135deg,#91a7b6 50%,transparent 50%); background-position:calc(100% - 21px) 27px,calc(100% - 15px) 27px; background-repeat:no-repeat; background-size:6px 6px,6px 6px; }
.territory-count { color:var(--muted); display:block; font-size:14px; letter-spacing:0; margin-bottom:18px; text-transform:none; }
.territory-list { flex:1; gap:14px; max-height:none; min-height:0; overflow-y:auto; padding-right:8px; }
.territory { align-items:start; background:#051622; border:1px solid rgba(177,205,226,.24); border-radius:5px; gap:16px; grid-template-columns:48px 1fr auto; min-height:146px; padding:22px; }
.territory:hover,.territory.active { background:#07263a; border-color:var(--blue); }
.territory-number { border-radius:50%; font-size:13px; height:40px; margin:0; width:40px; }
.territory-card-copy { color:var(--muted); display:block; min-width:0; }
.territory .territory-card-copy strong { color:var(--text); font-size:16px; font-weight:600; line-height:1.35; }
.territory.active .territory-card-copy strong { color:#fff; }
.territory .territory-location,.territory .territory-email { color:var(--muted); font-size:13px; line-height:1.45; margin-top:9px; overflow-wrap:anywhere; }
.territory .territory-email + .territory-email { margin-top:2px; }
.territory-status { color:var(--blue); font-size:12px; font-weight:600; padding-top:3px; white-space:nowrap; }
.territory.unavailable .territory-status { color:#95a5b1; }
.territory.unavailable .territory-number { background:#26343e; border-color:#667784; color:#a9b6bf; }
.territory.unavailable:hover,.territory.unavailable.active { border-color:#667784; }
.map-panel { background:#071826; height:730px; min-height:730px; padding:0; }
.map-panel::before { display:none; }
#territory-map { height:100%; min-height:0; position:relative; width:100%; z-index:1; }
.leaflet-container { background:#071826; font-family:var(--display); }
.leaflet-control-zoom a { background:#061522; border-bottom-color:var(--line); color:#fff; }
.leaflet-control-zoom a:hover { background:#0a2940; color:var(--blue); }
.leaflet-control-attribution { background:rgba(2,13,23,.82) !important; color:#9fb0bd; }
.leaflet-control-attribution a { color:#61bbff; }
.territory-marker-wrap { background:transparent; border:0; }
.territory-marker { align-items:center; background:#052338; border:2px solid var(--blue); border-radius:50%; box-shadow:0 0 0 5px rgba(7,152,255,.17); color:#fff; display:flex; font-size:10px; font-weight:600; height:34px; justify-content:center; transition:.2s ease; width:34px; }
.territory-marker:hover { background:var(--blue); box-shadow:0 0 0 7px rgba(7,152,255,.2); transform:scale(1.12); }
.territory-marker.unavailable { background:#26343e; border-color:#84939d; box-shadow:0 0 0 5px rgba(132,147,157,.16); color:#d3dbe0; }
.territory-marker.unavailable:hover { background:#344651; box-shadow:0 0 0 7px rgba(132,147,157,.18); }
.leaflet-popup-content-wrapper,.leaflet-popup-tip { background:#03111c; color:#eef6fb; }
.leaflet-popup-content-wrapper { border:1px solid rgba(7,152,255,.5); border-radius:6px; box-shadow:0 12px 35px rgba(0,0,0,.4); }
.leaflet-popup-content { margin:17px 19px; max-width:280px; }
.territory-popup small { color:var(--blue); display:block; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
.territory-popup-status { border:1px solid rgba(7,152,255,.5); color:var(--blue); display:inline-block; font-size:10px; font-weight:600; letter-spacing:.08em; margin-top:7px; padding:4px 7px; text-transform:uppercase; }
.territory-popup-status.unavailable { border-color:#667784; color:#a9b6bf; }
.territory-popup strong { display:block; font-size:15px; line-height:1.35; margin-top:5px; }
.territory-popup p { color:var(--muted); font-size:12px; line-height:1.5; margin:7px 0 10px; }
.territory-popup a { color:var(--blue); font-size:11px; font-weight:600; text-transform:uppercase; }
.territory-popup-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.territory-popup .territory-popup-actions a { border:1px solid rgba(7,152,255,.55); border-radius:3px; display:inline-flex; padding:8px 10px; }
.territory-popup .territory-popup-actions a:first-child { background:var(--blue); color:#fff; }
.map-fallback { align-items:flex-start; display:flex; flex-direction:column; inset:0; justify-content:center; padding:40px; position:absolute; }
.map-fallback p { color:var(--muted); }

.contact-layout { border:1px solid var(--line); display:grid; grid-template-columns:1.3fr .7fr; }.contact-form { display:grid; gap:16px; grid-template-columns:1fr 1fr; padding:42px; scroll-margin-top:110px; }.contact-form h2 { grid-column:1/-1; font-size:21px; letter-spacing:.08em; text-transform:uppercase; }.contact-form .form-recipient-note{color:var(--muted);font-size:12px;grid-column:1/-1;margin:0 0 4px;}.contact-form .form-recipient-note a{color:var(--blue)}.contact-form label{display:flex;flex-direction:column;gap:6px}.contact-form label.full{grid-column:1/-1}.contact-form span{color:#9aabb8;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{background:#061522;border:1px solid var(--line);color:#fff;outline:none;padding:14px}.contact-form textarea{min-height:130px;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue)}.contact-form .button{justify-self:start}.contact-next{border-left:1px solid var(--line);padding:42px}.contact-next h2{font-size:21px;text-transform:uppercase}.next-step{border-left:1px solid var(--blue);padding:5px 0 24px 28px}.next-step strong{display:block;font-size:12px;text-transform:uppercase}.next-step span{color:var(--muted);font-size:11px}
.package-selection{background:#061522;border:1px solid var(--line);border-left:3px solid var(--blue);grid-column:1/-1;padding:22px 24px}.package-selection .package-selection-label{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.14em;margin:0 0 6px;text-transform:uppercase}.package-selection h3{font-size:19px;margin:0}.package-selection .package-selection-meta{color:#dce8ef;font-size:13px;margin:3px 0 8px}.package-selection .package-selection-description{color:var(--muted);font-size:12px;margin:0 0 12px}.package-selection ul{color:var(--muted);display:grid;font-size:12px;gap:4px;margin:0 0 12px;padding-left:19px}.package-selection a{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.blog-layout{display:grid;gap:28px;grid-template-columns:1fr 320px}.post-list{display:grid;gap:15px}.post-card{border:1px solid var(--line);display:grid;grid-template-columns:320px 1fr}.post-image{background-position:center;background-size:cover;min-height:220px}.post-copy{padding:28px}.post-copy small{color:var(--blue);text-transform:uppercase}.post-copy h2{font-size:20px;margin:9px 0}.post-copy p{color:var(--muted);font-size:12px}.blog-sidebar{border:1px solid var(--line);padding:25px}.blog-sidebar h3{text-transform:uppercase}.blog-sidebar a{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:12px 0}.blog-sidebar span{color:var(--blue)}

.site-footer { background:#020b13; border-top:1px solid var(--line); margin-top:0; padding:62px 0 26px; }.footer-grid { display:grid; gap:50px; grid-template-columns:1.35fr .9fr 1fr 1.15fr; }.footer-brand .brand{align-items:flex-start}.footer-brand .brand::after{width:240px}.footer-brand p{color:#bfd0dc;font-size:12px;max-width:325px}.footer-socials{display:flex;gap:12px;margin-top:25px}.footer-socials a{align-items:center;border:1px solid var(--line);border-radius:4px;color:#eef6fb;display:inline-flex;height:40px;justify-content:center;margin:0;transition:.2s ease;width:40px}.footer-socials a:hover,.footer-socials a:focus{background:#072338;border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}.footer-socials svg{fill:none;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:19px}.footer-column+.footer-column{border-left:1px solid var(--line);padding-left:50px}.footer-column h3{font-size:13px;font-weight:600;letter-spacing:.08em;margin-bottom:19px;text-transform:uppercase}.footer-column a,.footer-column span{color:#bfd0dc;display:block;font-size:12px;margin:9px 0}.footer-column a:hover{color:var(--blue)}.footer-contact{display:grid;gap:16px}.footer-contact-row{align-items:flex-start;color:#bfd0dc;display:grid;font-size:12px;gap:14px;grid-template-columns:20px minmax(0,1fr);margin:0}.footer-contact-row svg{fill:none;height:18px;margin-top:1px;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:18px}.footer-contact-row .footer-contact-copy{display:grid;gap:6px;min-width:0}.footer-contact-row .footer-contact-copy a,.footer-contact-row .footer-contact-copy span{display:block;margin:0;overflow-wrap:anywhere}.footer-bottom{align-items:center;border-top:1px solid var(--line);color:#a9becc;display:grid;font-size:10px;grid-template-columns:1fr auto 1fr;margin-top:42px;padding-top:25px}.footer-bottom b{color:var(--blue);font-weight:400;justify-self:end}.footer-legal{color:#c1d0da;text-align:center}.preview-note{color:#69808f;font-size:9px;margin-top:18px}

.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:1250px){.site-header{grid-template-columns:235px 1fr auto;padding-inline:32px}.desktop-nav{gap:16px}.desktop-nav>a,.services-trigger,.portfolio-trigger,.about-trigger,.pricing-trigger{font-size:10px}.site-header>.quote-button{min-width:150px;padding:0 18px}.portfolio-mega{left:-300px}.service-grid,.project-grid{grid-template-columns:1fr 1fr}.value-strip{grid-template-columns:1fr 1fr}.value:nth-child(3){border-left:0;border-top:1px solid var(--line)}.value:nth-child(4){border-top:1px solid var(--line)}.franchise-grid{grid-template-columns:320px 1fr}.deliverable-grid{grid-template-columns:1fr 1fr}.package-grid.four,.golf-package-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){:root{--content:min(92vw,900px)}.site-header{height:96px;padding:0 4vw;position:fixed;grid-template-columns:1fr auto}.site-header.sticky{height:88px}.brand{width:195px}.site-header .brand::after,.site-header.sticky .brand::after{width:160px}.brand-drone{height:19px}.brand-name{font-size:20px}.brand-sub{font-size:7px}.brand-inc{display:none}.desktop-nav,.site-header>.quote-button{display:none}.menu-button{display:block}.hero{min-height:700px;padding:158px 4vw 70px}.page-hero{padding:153px 4vw 55px}.showreel{display:none}.about-grid,.franchise-benefits{grid-template-columns:1fr 1fr}.story-grid,.service-detail-grid{grid-template-columns:1fr}.package-grid,.package-grid.four{grid-template-columns:1fr}.package-card{min-height:0}.franchise-grid{grid-template-columns:1fr}.location-panel,.map-panel{min-height:500px}.contact-layout{grid-template-columns:1fr}.contact-next{border-left:0;border-top:1px solid var(--line)}.footer-grid{grid-template-columns:1fr 1fr}.footer-column:nth-child(3){border-left:0;padding-left:0}.blog-layout{grid-template-columns:1fr}.blog-sidebar{display:none}.policy-grid{grid-template-columns:1fr}}
@media(max-width:680px){:root{--content:calc(100vw - 36px)}body{font-size:14px}.site-header{height:86px}.site-header.sticky{height:82px}.brand{align-items:flex-start}.site-header .brand::after,.site-header.sticky .brand::after{width:140px}.hero{background-position:62% center;min-height:680px;padding:133px 18px 60px}.hero::before{background:rgba(2,13,23,.3);content:"";inset:0;position:absolute}.hero-content{position:relative}.hero h1{font-size:42px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.page-hero{min-height:430px;padding:133px 18px 50px}.page-hero h1{font-size:37px}.section{padding:58px 0}.section-heading h2{font-size:28px}.service-grid,.project-grid,.service-directory,.deliverable-grid{grid-template-columns:1fr}.service-card{min-height:300px}.project-image{height:220px}.project-copy{min-height:0}.reviews-shell{grid-template-columns:1fr;padding:26px 18px}.reviews-summary{border-bottom:1px solid var(--line);border-right:0;padding:0 0 24px}.review-carousel{grid-template-columns:34px 1fr 34px}.review-slide{padding:8px 14px}.carousel-button{height:32px;width:32px}.value-strip{grid-template-columns:1fr}.value+.value,.value:nth-child(3){border-left:0;border-top:1px solid var(--line)}.service-row{grid-template-columns:1fr}.service-row-copy{padding:28px}.service-row-image{grid-row:1;min-height:190px}.cta-bar{align-items:stretch;grid-template-columns:1fr;padding:25px}.portfolio-grid{grid-template-columns:1fr}.portfolio-item{min-height:260px}.about-grid,.franchise-benefits{grid-template-columns:1fr}.story-visual{min-height:290px}.package-tabs{align-items:stretch;flex-direction:column}.package-tab+.package-tab{border-left:1px solid var(--line);border-top:0}.custom-category{grid-template-columns:1fr;padding:26px}.finder{grid-template-columns:1fr;padding:22px}.finder-options{grid-template-columns:1fr}.location-panel,.map-panel{min-height:470px}.map-card{bottom:20px;left:20px;right:20px}.contact-form{grid-template-columns:1fr;padding:24px}.contact-form label.full,.contact-form h2{grid-column:auto}.contact-next{padding:24px}.post-card{grid-template-columns:1fr}.process-strip{grid-template-columns:1fr}.process-step+.process-step{border-left:0;border-top:1px solid var(--line)}.footer-grid{grid-template-columns:1fr}.footer-column+.footer-column{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:24px}.footer-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:8px}.footer-legal{text-align:left}}
@media(max-width:1250px){.about-trigger{font-size:9px}.why-grid{grid-template-columns:1fr 1fr}.why-card:nth-child(3){border-left:0;border-top:1px solid var(--line)}.why-card:nth-child(4){border-top:1px solid var(--line)}.about-process{grid-template-columns:repeat(3,1fr)}.about-process article:nth-child(4){border-left:1px solid rgba(177,205,226,.13)}}
@media(max-width:1000px){.company-intro{grid-template-columns:1fr}.mission-panel{grid-template-columns:1fr}.mission-stack{border-bottom:1px solid var(--line);border-right:0}.region-grid,.industry-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.about-paths,.region-grid,.industry-grid{grid-template-columns:1fr}.company-image{min-height:290px}.company-intro h2{font-size:34px}.mission-stack,.why-panel{padding:24px}.why-grid,.about-process{grid-template-columns:1fr}.why-card+.why-card,.why-card:nth-child(3),.about-process article+article,.about-process article:nth-child(4){border-left:1px solid rgba(177,205,226,.13);border-top:0}}
@media(max-width:1000px){.about-vehicle-cta,.about-vehicle-copy{min-height:500px}.about-vehicle-media{inset:0;object-position:58% center;width:100%}.about-vehicle-shade{background:linear-gradient(90deg,rgba(2,10,18,.98) 0%,rgba(2,10,18,.9) 36%,rgba(2,10,18,.48) 72%,rgba(2,10,18,.25)),linear-gradient(0deg,rgba(2,10,18,.5),transparent 55%)}}
@media(max-width:680px){.about-vehicle-cta,.about-vehicle-copy{min-height:520px}.about-vehicle-media{object-position:62% center}.about-vehicle-shade{background:linear-gradient(90deg,rgba(2,10,18,.94),rgba(2,10,18,.55)),linear-gradient(0deg,#020a12 0%,rgba(2,10,18,.88) 28%,rgba(2,10,18,.18) 76%)}.about-vehicle-copy{justify-content:flex-end;padding:58px 0}.about-vehicle-copy .eyebrow{font-size:11px}.about-vehicle-copy h2{font-size:30px}.about-vehicle-copy h2 br{display:none}.about-vehicle-copy .blue-rule{margin:20px 0 26px}.about-vehicle-copy .button{width:100%}}
@media(max-width:1000px){.location-panel,.map-panel{height:620px;min-height:620px}.map-panel{order:0}.territory-list{flex:1;max-height:none;min-height:0}#territory-map{height:100%;min-height:0}}
@media(max-width:680px){.location-panel,.map-panel{height:500px;min-height:500px}#territory-map{height:100%;min-height:0}.location-panel{padding:24px 18px}.location-panel h2{font-size:24px}.search-field,.service-filter{font-size:14px;height:56px}.territory-list{flex:1;max-height:none;min-height:0;overflow:auto}.territory{grid-template-columns:40px 1fr;min-height:0;padding:18px}.territory-number{height:36px;width:36px}.territory-status{grid-column:2;padding-top:0}.territory .territory-card-copy strong{font-size:15px}.map-fallback{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:1000px){.brand-rail-heading h2{max-width:760px}.logo-card{height:94px;width:185px}.logo-card img{max-height:62px}}
@media(max-width:680px){.reviews-section{padding:12px 0 34px}.reviews-shell{gap:20px;padding:22px 16px}.reviews-summary{padding-bottom:20px}.review-track{min-height:165px}.review-quote{font-size:15px}.brand-rail-section{padding:38px 0 34px}.brand-rail-heading{margin-bottom:20px;padding-bottom:23px}.brand-rail-heading h2{font-size:27px}.brand-rail-heading>p:last-child{font-size:14px}.logo-marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.logo-marquee-track{animation-duration:36s}.logo-marquee-group{gap:12px;padding-right:12px}.logo-card{height:80px;padding:10px 12px;width:150px}.logo-card img{max-height:54px;max-width:90%}}
@media(prefers-reduced-motion:reduce){.logo-marquee{-webkit-mask-image:none;mask-image:none;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.logo-marquee-track{animation:none;transform:none}.logo-marquee-group[aria-hidden="true"]{display:none}}

/* SFA Creative sub-brand */
.creative-site{background:#020b12}.creative-site::before{background:repeating-radial-gradient(ellipse at 92% 8%,transparent 0 24px,rgba(7,152,255,.045) 25px 26px);content:"";height:460px;pointer-events:none;position:absolute;right:-8%;top:0;width:55%;z-index:0}.creative-site-header{background:rgba(1,10,17,.94);grid-template-columns:320px 1fr auto}.creative-brand{align-items:flex-start;display:inline-grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;line-height:.9;position:relative;width:max-content;z-index:1}.creative-logo-mark{font-size:44px;font-style:italic;font-weight:600;grid-row:1/3;letter-spacing:-.08em;margin-right:14px}.creative-logo-mark>span,.creative-logo-name+small,.creative-site h1 span,.creative-site h2 span,.creative-footer p span{color:var(--blue)}.creative-logo-name{font-size:24px;font-weight:400;letter-spacing:.28em;text-transform:uppercase}.creative-brand small{color:#a8b6c0;font-size:8px;letter-spacing:.26em;margin-top:8px;text-transform:uppercase}.creative-site-header.sticky .creative-logo-mark{font-size:35px}.creative-site-header.sticky .creative-logo-name{font-size:19px}.creative-site-header.sticky .creative-brand small{font-size:7px}.creative-nav{gap:clamp(17px,1.7vw,34px)}.creative-nav>a{font-size:12px}.creative-mobile-menu{background:rgba(1,10,17,.995)}
.creative-hero{border-bottom:1px solid var(--line);min-height:790px;overflow:hidden;padding:255px 0 82px;position:relative}.creative-hero::after,.creative-page-hero::after{background:repeating-radial-gradient(ellipse at 100% 0,transparent 0 28px,rgba(7,152,255,.075) 29px 30px);content:"";inset:0 0 auto auto;height:100%;pointer-events:none;position:absolute;width:48%;z-index:0}.creative-hero-grid{align-items:center;display:grid;gap:86px;grid-template-columns:.82fr 1.18fr;position:relative;z-index:1}.creative-hero-copy h1{font-size:clamp(46px,5vw,74px);letter-spacing:.055em;text-transform:uppercase}.creative-hero-copy>p:last-of-type{color:#bdc8d0;font-size:16px;max-width:610px}.creative-hero-visual{isolation:isolate;min-height:430px;position:relative}.creative-hero-visual::before{background:#061421;border:1px solid rgba(7,152,255,.25);content:"";inset:34px -28px -24px 45px;position:absolute;transform:rotate(-2deg);z-index:-1}.creative-hero-visual>img{border:1px solid rgba(255,255,255,.2);height:430px;object-fit:cover;width:100%}.creative-visual-card{background:rgba(2,13,23,.94);border-left:2px solid var(--blue);bottom:-28px;display:grid;left:-38px;padding:24px 30px;position:absolute;text-transform:uppercase}.creative-visual-card span{color:#b7c6cf;font-size:12px;letter-spacing:.22em}.creative-visual-card strong{color:var(--blue);font-size:22px;letter-spacing:.12em;margin-top:4px}.creative-visual-stamp{background:#061725;border:1px solid var(--blue);font-size:32px;font-style:italic;font-weight:600;letter-spacing:-.05em;padding:18px 22px;position:absolute;right:-24px;text-transform:uppercase;top:-24px}.creative-visual-stamp small{color:#b9c9d3;display:block;font-size:9px;font-style:normal;letter-spacing:.26em;margin-top:5px}
.creative-service-rail{background:#020c14;border-bottom:1px solid var(--line);border-top:1px solid rgba(7,152,255,.36);padding:28px 0}.creative-service-rail-grid{display:grid;grid-template-columns:repeat(7,1fr)}.creative-service-rail a{border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:174px;padding:18px 20px;transition:.2s ease}.creative-service-rail a:last-child{border-right:1px solid var(--line)}.creative-service-rail a:hover{background:#071a28}.creative-service-rail b{color:var(--blue);font-size:12px;letter-spacing:.12em}.creative-service-rail strong{font-size:13px;letter-spacing:.065em;margin-top:28px;text-transform:uppercase}.creative-service-rail span{color:var(--muted);font-size:12px;line-height:1.45;margin-top:8px}
.creative-solutions{background:linear-gradient(90deg,#020c14,rgba(6,21,34,.7))}.creative-split{align-items:center;display:grid;gap:80px;grid-template-columns:.8fr 1.2fr}.creative-split-copy h2,.creative-section-heading h2,.creative-portfolio-note h2{font-size:clamp(36px,4vw,58px);letter-spacing:.08em;text-transform:uppercase}.creative-split-copy p:not(.eyebrow),.creative-portfolio-note>p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:620px}.creative-split-copy .button{margin-top:24px}.creative-image-stack{display:grid;grid-template-columns:1.25fr .75fr;min-height:430px;position:relative}.creative-image-stack::before{border:1px solid var(--blue);content:"";inset:-18px 22px 22px -18px;position:absolute;z-index:0}.creative-image-stack img{height:430px;object-fit:cover;position:relative;width:100%;z-index:1}.creative-image-stack img+img{border-left:6px solid #020c14}.creative-featured{background:#010910}.creative-section-heading{margin-bottom:35px}.creative-work-preview{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.creative-work-preview a{border:1px solid rgba(255,255,255,.13);height:285px;overflow:hidden}.creative-work-preview img{height:100%;object-fit:cover;transition:transform .45s ease;width:100%}.creative-work-preview a:hover img{transform:scale(1.035)}.creative-wide-cta{background-image:linear-gradient(90deg,rgba(2,13,23,.96),rgba(2,13,23,.38)),url('portfolio/ontario-lake-aerial.jpg');background-position:center;background-size:cover;border-bottom:1px solid var(--blue);border-top:1px solid var(--blue);padding:78px 0}.creative-wide-cta>.container{align-items:center;display:flex;justify-content:space-between}.creative-wide-cta h2{font-size:clamp(34px,4vw,56px);letter-spacing:.08em;text-transform:uppercase}.creative-wide-cta .button{min-width:285px}
.creative-page-hero{background-image:linear-gradient(90deg,rgba(1,9,15,.98),rgba(1,9,15,.72) 52%,rgba(1,9,15,.28)),url('portfolio/modern-institutional-building-wide.jpg');background-position:center;background-size:cover;border-bottom:1px solid var(--line);min-height:585px;overflow:hidden;padding:260px 0 75px;position:relative}.creative-page-hero>.container{position:relative;z-index:1}.creative-page-hero h1{font-size:clamp(44px,5vw,68px);letter-spacing:.06em;max-width:960px;text-transform:uppercase}.creative-page-hero>.container>p:not(.eyebrow){color:#c0cbd2;font-size:16px;max-width:720px}.creative-portfolio-hero{background-image:linear-gradient(90deg,rgba(1,9,15,.98),rgba(1,9,15,.67) 58%,rgba(1,9,15,.25)),url('portfolio/ontario-island-community-aerial.jpg')}.creative-services-hero{background-image:linear-gradient(90deg,rgba(1,8,14,.98) 0%,rgba(1,8,14,.87) 32%,rgba(1,8,14,.22) 64%,rgba(1,8,14,.06)),url('creative/sfa-services-banner.jpg');background-position:center;background-size:cover;min-height:680px}.creative-pricing-hero{background-image:linear-gradient(90deg,rgba(1,8,14,.98) 0%,rgba(1,8,14,.86) 34%,rgba(1,8,14,.2) 66%,rgba(1,8,14,.05)),url('creative/sfa-pricing-banner.jpg');background-position:center;background-size:cover;min-height:680px}.creative-services-hero::after,.creative-pricing-hero::after{display:none}
.creative-section-nav{background:rgba(2,13,23,.96);border-bottom:1px solid rgba(7,152,255,.34);border-top:1px solid rgba(255,255,255,.08);position:sticky;top:108px;z-index:18}.creative-section-nav>.container{display:flex;justify-content:center;overflow-x:auto;scrollbar-width:none}.creative-section-nav>.container::-webkit-scrollbar{display:none}.creative-section-nav a{border-left:1px solid rgba(177,205,226,.16);color:#c8d2d9;flex:0 0 auto;font-size:11px;font-weight:600;letter-spacing:.1em;padding:18px 32px;text-transform:uppercase;transition:.2s ease}.creative-section-nav a:last-child{border-right:1px solid rgba(177,205,226,.16)}.creative-section-nav a:hover,.creative-section-nav a:focus-visible{background:#071a28;color:var(--blue)}
.creative-site[data-page="creative-pricing"] .creative-section-nav{border-bottom:0;border-top:0;padding:22px 0;position:static}.creative-site[data-page="creative-pricing"] .creative-section-nav>.container{gap:10px;justify-content:center}.creative-site[data-page="creative-pricing"] .creative-section-nav a{border:1px solid var(--line);border-radius:5px;font-size:12px;letter-spacing:0;padding:15px 22px;text-transform:none}.creative-site[data-page="creative-pricing"] .creative-section-nav a:last-child{border-right:1px solid var(--line)}.creative-site[data-page="creative-pricing"] .creative-section-nav a.active,.creative-site[data-page="creative-pricing"] .creative-section-nav a:hover,.creative-site[data-page="creative-pricing"] .creative-section-nav a:focus-visible{background:var(--blue-2);border-color:var(--blue);color:#fff}
.creative-site[data-page="creative-services"] .creative-section-nav{border-bottom:0;border-top:0;padding:22px 0;position:static}.creative-site[data-page="creative-services"] .creative-section-nav>.container{gap:10px;justify-content:center}.creative-site[data-page="creative-services"] .creative-section-nav a{border:1px solid var(--line);border-radius:5px;font-size:12px;letter-spacing:0;padding:15px 22px;text-transform:none}.creative-site[data-page="creative-services"] .creative-section-nav a:last-child{border-right:1px solid var(--line)}.creative-site[data-page="creative-services"] .creative-section-nav a.active,.creative-site[data-page="creative-services"] .creative-section-nav a:hover,.creative-site[data-page="creative-services"] .creative-section-nav a:focus-visible{background:var(--blue-2);border-color:var(--blue);color:#fff}
.creative-services-section{background:linear-gradient(180deg,#020c14,#010910)}.creative-service-group{scroll-margin-top:175px}.creative-service-group+.creative-service-group{border-top:1px solid rgba(177,205,226,.14);margin-top:78px;padding-top:78px}.creative-group-heading{align-items:end;display:grid;gap:50px;grid-template-columns:1fr minmax(320px,540px);margin-bottom:34px}.creative-group-heading h2{font-size:clamp(32px,3.6vw,52px);letter-spacing:.075em;text-transform:uppercase}.creative-group-heading>p{color:var(--muted);font-size:15px;line-height:1.7;margin:0}.creative-service-catalog{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.creative-service-catalog.two-up{grid-template-columns:repeat(2,1fr)}.creative-service-panel{background:linear-gradient(140deg,#061724,#020d17);border:1px solid var(--line);display:flex;flex-direction:column;min-height:480px;padding:34px;scroll-margin-top:180px;transition:border-color .2s ease,transform .2s ease}.creative-service-panel:hover{border-color:rgba(7,152,255,.68);transform:translateY(-3px)}.creative-service-panel>b{color:var(--blue);font-size:12px;letter-spacing:.14em}.creative-service-panel h2,.creative-service-panel h3{font-size:23px;letter-spacing:.06em;margin:24px 0 12px;text-transform:uppercase}.creative-service-panel p,.creative-service-panel li{color:var(--muted);font-size:14px}.creative-service-panel ul{border-top:1px solid var(--line);display:grid;gap:8px;list-style:none;margin:20px 0 26px;padding:20px 0 0}.creative-service-panel li::before{color:var(--blue);content:"+";margin-right:10px}.creative-service-price{align-items:end;border-top:1px solid rgba(7,152,255,.42);display:flex;justify-content:space-between;margin-top:auto;padding-top:18px}.creative-service-price span{color:#8fa0ac;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.creative-service-price strong{color:var(--blue);font-size:21px;font-weight:500}.creative-service-price:hover span{color:#fff}.creative-process-section{background:#030f19;border-top:1px solid rgba(7,152,255,.22);padding:80px 0}.creative-process{border:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.creative-process article{display:grid;gap:8px;padding:30px}.creative-process article+article{border-left:1px solid var(--line)}.creative-process small{color:var(--blue);font-size:11px;letter-spacing:.16em}.creative-process strong{font-size:18px;letter-spacing:.09em;text-transform:uppercase}.creative-process span{color:var(--muted);font-size:13px}.creative-process-section .cta-bar{margin-top:38px}
.creative-work-grid{display:grid;gap:10px;grid-auto-rows:280px;grid-template-columns:repeat(3,1fr)}.creative-work-grid figure{border:1px solid rgba(255,255,255,.13);margin:0;overflow:hidden}.creative-work-grid figure.tall{grid-row:span 2}.creative-work-grid figure.wide{grid-column:span 2}.creative-work-grid img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.creative-work-grid figure:hover img{transform:scale(1.025)}.creative-portfolio-note{align-items:end;border-left:2px solid var(--blue);display:grid;gap:0 40px;grid-template-columns:1fr auto;margin-top:48px;padding:12px 0 12px 32px}.creative-portfolio-note .eyebrow,.creative-portfolio-note h2{grid-column:1}.creative-portfolio-note>p:not(.eyebrow){grid-column:1;margin-bottom:0}.creative-portfolio-note .button{grid-column:2;grid-row:1/4}
.creative-price-grid{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.creative-price-card{background:#04121d;border:1px solid var(--line);display:flex;flex-direction:column;min-height:530px;padding:34px}.creative-price-card.featured{background:#082237;border-color:var(--blue);box-shadow:0 0 36px rgba(7,152,255,.1)}.creative-price-card h2{font-size:22px;letter-spacing:.07em;min-height:55px;text-transform:uppercase}.creative-price{color:var(--muted);font-size:13px;margin:24px 0}.creative-price strong{color:#fff;display:block;font-size:33px;font-weight:500;margin-top:5px}.creative-price-card ul{border-top:1px solid var(--line);color:var(--muted);display:grid;gap:12px;list-style:none;margin:0 0 28px;padding:24px 0 0}.creative-price-card li{font-size:13px}.creative-price-card li::before{color:var(--blue);content:"+";margin-right:9px}.creative-price-card .button{margin-top:auto}.creative-pricing-note{background:#061724;border-left:2px solid var(--blue);margin-top:30px;padding:28px 32px}.creative-pricing-note strong{font-size:18px;letter-spacing:.06em;text-transform:uppercase}.creative-pricing-note p{color:var(--muted);font-size:14px}.creative-pricing-note a{color:var(--blue);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.creative-footer{padding-top:42px}.creative-footer-row{align-items:center;display:grid;gap:38px;grid-template-columns:300px 1fr auto}.creative-footer-row nav{display:flex;flex-wrap:wrap;gap:28px;justify-content:center}.creative-footer-row nav a{color:#c3d0d8;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.creative-footer-row nav a:hover{color:var(--blue)}.creative-footer-row>p{border-left:1px solid var(--line);font-size:12px;letter-spacing:.08em;margin:0;padding-left:35px;text-transform:uppercase}.creative-footer .creative-brand{transform:scale(.82);transform-origin:left center}
@media(max-width:1250px){.creative-site-header{grid-template-columns:255px 1fr auto}.creative-site-header>.quote-button{min-width:150px}.creative-nav{gap:14px}.creative-nav>a{font-size:9px}.creative-service-rail-grid{grid-template-columns:repeat(4,1fr)}.creative-service-rail a:nth-child(5){border-top:1px solid var(--line)}.creative-service-rail a:nth-child(n+5){border-top:1px solid var(--line)}.creative-price-grid{grid-template-columns:repeat(2,1fr)}.creative-footer-row{grid-template-columns:240px 1fr}.creative-footer-row>p{display:none}}
@media(max-width:1000px){.creative-site-header{grid-template-columns:1fr auto}.creative-site-header .creative-brand{transform:scale(.8);transform-origin:left center}.creative-hero{padding:160px 0 70px}.creative-hero-grid,.creative-split{grid-template-columns:1fr}.creative-hero-grid{gap:60px}.creative-hero-visual{min-height:360px}.creative-hero-visual>img{height:360px}.creative-service-rail-grid{grid-template-columns:repeat(2,1fr)}.creative-service-rail a{border-top:1px solid var(--line)}.creative-service-catalog{grid-template-columns:repeat(2,1fr)}.creative-service-panel:nth-child(7){grid-column:auto}.creative-work-preview{grid-template-columns:repeat(2,1fr)}.creative-page-hero{min-height:500px;padding:175px 0 65px}.creative-work-grid{grid-template-columns:repeat(2,1fr)}.creative-portfolio-note{align-items:start;grid-template-columns:1fr}.creative-portfolio-note .button{grid-column:1;grid-row:auto;margin-top:24px;width:max-content}.creative-footer-row{grid-template-columns:1fr}.creative-footer-row nav{justify-content:flex-start}}
@media(max-width:680px){.creative-site::before{width:100%}.creative-site-header .creative-brand{transform:scale(.7)}.creative-hero{min-height:0;padding:135px 0 58px}.creative-hero-copy h1{font-size:39px}.creative-hero-copy>p:last-of-type,.creative-page-hero p:last-child{font-size:15px}.creative-hero-visual{min-height:285px}.creative-hero-visual>img{height:285px}.creative-hero-visual::before{inset:18px -12px -14px 18px}.creative-visual-card{bottom:-18px;left:10px;padding:16px 20px}.creative-visual-card strong{font-size:16px}.creative-visual-stamp{font-size:22px;right:8px;top:-16px}.creative-service-rail-grid,.creative-service-catalog,.creative-price-grid{grid-template-columns:1fr}.creative-service-rail a{min-height:130px}.creative-service-rail strong{margin-top:16px}.creative-split{gap:42px}.creative-split-copy h2,.creative-section-heading h2,.creative-portfolio-note h2{font-size:32px}.creative-image-stack{grid-template-columns:1fr;min-height:370px}.creative-image-stack img{height:250px}.creative-image-stack img+img{border-left:0;border-top:5px solid #020c14;height:150px}.creative-work-preview{grid-template-columns:1fr 1fr}.creative-work-preview a{height:180px}.creative-wide-cta{padding:58px 0}.creative-wide-cta>.container{align-items:flex-start;flex-direction:column;gap:28px}.creative-wide-cta h2{font-size:31px}.creative-wide-cta .button{min-width:0;width:100%}.creative-page-hero{min-height:450px;padding:145px 0 55px}.creative-page-hero h1{font-size:37px}.creative-service-panel{padding:28px 24px}.creative-process{grid-template-columns:1fr}.creative-process article+article{border-left:0;border-top:1px solid var(--line)}.creative-work-grid{grid-auto-rows:220px;grid-template-columns:1fr}.creative-work-grid figure.tall{grid-row:span 1}.creative-work-grid figure.wide{grid-column:span 1}.creative-portfolio-note{padding-left:22px}.creative-price-card{min-height:0;padding:28px 24px}.creative-footer-row nav{display:grid;gap:14px;grid-template-columns:1fr 1fr}.creative-footer .creative-brand{transform:scale(.72)}.creative-footer .footer-bottom{margin-top:30px}}
@media(max-width:680px){.creative-site[data-page="creative-pricing"] .creative-section-nav>.container{justify-content:flex-start}.creative-site[data-page="creative-pricing"] .creative-section-nav{padding:14px 0}}
@media(max-width:680px){.creative-site[data-page="creative-services"] .creative-section-nav>.container{justify-content:flex-start}.creative-site[data-page="creative-services"] .creative-section-nav{padding:14px 0}}

/* SFA Creative landing — art direction based on the approved brand concept */
.sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}
.creative-landing{background:#01080e}
.creative-landing::before{display:none}
.creative-landing .creative-site-header{background:rgba(1,8,14,.93);height:138px;padding-inline:max(46px,calc((100vw - 1540px)/2))}
.creative-landing .creative-site-header.sticky{height:96px}
.creative-landing .creative-site-header .creative-brand{transform:scale(1.08);transform-origin:left center}
.creative-landing .creative-site-header.sticky .creative-brand{transform:scale(.88)}
.creative-landing .creative-hero{background:#020a10;border-bottom:1px solid rgba(7,152,255,.55);height:auto;min-height:855px;overflow:hidden;padding:205px 0 72px;position:relative}
.creative-landing .creative-hero::after{background:linear-gradient(90deg,#020a10 0%,rgba(2,10,16,.98) 35%,rgba(2,10,16,.15) 63%,rgba(2,10,16,.08) 100%);height:100%;inset:0;position:absolute;width:100%;z-index:1}
.creative-landing .creative-topography{background:repeating-radial-gradient(ellipse at 18% 2%,transparent 0 25px,rgba(7,152,255,.07) 26px 27px);height:390px;left:-5%;opacity:.72;pointer-events:none;position:absolute;top:0;width:48%;z-index:2}
.creative-landing .creative-hero-art{inset:138px 0 0 32%;position:absolute}
.creative-landing .creative-hero-art::after{background:linear-gradient(90deg,#020a10 0%,rgba(2,10,16,.82) 17%,transparent 50%),linear-gradient(0deg,#020a10 0%,transparent 19%);content:"";inset:0;position:absolute}
.creative-landing .creative-hero-art img{height:100%;object-fit:cover;object-position:center;width:100%}
.creative-landing .creative-hero-grid{display:block;position:relative;z-index:3}
.creative-landing .creative-hero-copy{max-width:590px;padding-top:38px}
.creative-hero-brand{display:grid;line-height:.78;margin-bottom:34px;width:max-content}
.creative-hero-brand strong{font-size:clamp(74px,7vw,116px);font-style:italic;font-weight:750;letter-spacing:-.105em;text-shadow:0 3px 18px rgba(255,255,255,.08)}
.creative-hero-brand strong span{background:linear-gradient(145deg,#76cfff,#0798ff 58%,#005ea8);-webkit-background-clip:text;background-clip:text;color:transparent}
.creative-hero-brand b{font-size:clamp(30px,3.25vw,51px);font-weight:300;letter-spacing:.18em;line-height:1.05;margin-left:3px;text-transform:uppercase}
.creative-hero-brand small{color:#d1d8dd;font-size:9px;letter-spacing:.4em;margin:11px 0 0 5px;text-transform:uppercase}
.creative-landing .creative-hero-copy .blue-rule{margin:0 0 26px;width:72px}
.creative-landing .creative-hero-copy h1{font-size:clamp(28px,2.5vw,42px);font-weight:400;letter-spacing:.12em;line-height:1.18;text-transform:uppercase}
.creative-landing .creative-hero-copy h1 span{display:inline}
.creative-landing .creative-hero-copy>p{color:#c2ccd3;font-size:16px;line-height:1.65;max-width:500px}
.creative-landing .creative-hero-copy>.button{gap:24px;margin-top:24px}
.creative-hero-pillars{align-items:center;color:#e4ebf0;display:flex;font-size:9px;gap:0;letter-spacing:.32em;margin-top:31px;text-transform:uppercase}
.creative-hero-pillars span+span::before{color:#667681;content:"|";margin:0 17px}
.creative-landing .creative-service-rail{background:#020b12;border-bottom:1px solid rgba(255,255,255,.16);border-top:0;padding:31px 0 32px}
.creative-landing .creative-service-rail-grid{grid-template-columns:repeat(7,1fr)}
.creative-landing .creative-service-rail a{background:transparent;border-color:rgba(255,255,255,.13);min-height:190px;padding:16px 23px}
.creative-landing .creative-service-rail a:hover{background:rgba(8,37,57,.58)}
.creative-landing .creative-service-rail svg{fill:none;height:34px;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35;width:34px}
.creative-landing .creative-service-rail strong{font-size:13px;line-height:1.25;margin-top:22px}
.creative-landing .creative-service-rail span{font-size:12px;line-height:1.45;margin-top:9px}
.creative-landing .creative-solutions{background:#030c12;border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;padding:0}
.creative-landing .creative-split{align-items:stretch;gap:0;grid-template-columns:.72fr 1.28fr;min-height:570px;width:100%}
.creative-landing .creative-split-copy{align-self:center;margin-left:max(46px,calc((100vw - 1540px)/2));max-width:510px;padding:76px 68px 76px 0}
.creative-landing .creative-split-copy h2,.creative-landing .creative-section-heading h2{font-size:clamp(29px,3.1vw,47px);font-weight:400;letter-spacing:.1em;line-height:1.18}
.creative-landing .creative-split-copy p:not(.eyebrow){font-size:16px;line-height:1.6}
.creative-landing .creative-split-copy .button{gap:28px;margin-top:18px}
.creative-device-visual{min-height:570px;overflow:hidden;position:relative}
.creative-device-visual::after{background:linear-gradient(90deg,#030c12 0%,transparent 20%);content:"";inset:0;position:absolute}
.creative-device-visual img{height:100%;object-fit:cover;object-position:center;width:100%}
.creative-landing .creative-featured{background:#01080e;padding:64px 0 70px}
.creative-landing .creative-section-heading{margin-bottom:28px}
.creative-landing .creative-section-heading .blue-rule{margin-top:15px}
.creative-landing .creative-work-preview{gap:16px}
.creative-landing .creative-work-preview a{border:0;height:auto;overflow:visible}
.creative-landing .creative-work-preview img{aspect-ratio:1.42;height:auto;object-fit:cover}
.creative-landing .creative-work-preview a>span{display:grid;margin-top:12px}
.creative-landing .creative-work-preview strong{font-size:13px;letter-spacing:.09em;text-transform:uppercase}
.creative-landing .creative-work-preview small{color:#aab9c3;font-size:12px;margin-top:3px}
.creative-featured-actions{display:flex;justify-content:center;margin-top:34px}
.creative-featured-actions .button{gap:24px}
.creative-landing .creative-wide-cta{background-image:linear-gradient(90deg,rgba(2,13,23,.95),rgba(2,13,23,.64) 48%,rgba(2,13,23,.2)),url('portfolio/ontario-lake-aerial.jpg');background-position:center 46%;min-height:295px;padding:74px 0}
.creative-landing .creative-wide-cta h2{font-size:clamp(30px,3.25vw,50px);font-weight:400}
.creative-landing .creative-wide-cta .button{gap:28px}
.creative-landing .creative-footer{background:#01080d}
.creative-footer-row{grid-template-columns:300px minmax(420px,1fr) auto}.creative-footer-center{border-left:1px solid var(--line);border-right:1px solid var(--line);display:grid;gap:40px;grid-template-columns:.8fr 1.2fr;padding:4px 42px}.creative-footer-center small{color:#728897;display:block;font-size:10px;font-weight:700;letter-spacing:.18em;margin-bottom:12px;text-transform:uppercase}.creative-footer-row .creative-footer-center nav{display:grid;gap:8px;grid-template-columns:repeat(3,max-content);justify-content:start}.creative-footer-contact{display:grid;gap:7px}.creative-footer-contact a{color:#c3d0d8;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.creative-footer-contact a:first-of-type{font-size:12px;letter-spacing:.03em;text-transform:none}.creative-footer-contact a:last-child{color:var(--blue);margin-top:3px}.creative-footer-contact a:hover{color:#fff}@media(max-width:1250px){.creative-footer-center{border-right:0}.creative-footer-row{grid-template-columns:240px 1fr}}@media(max-width:1000px){.creative-footer-center{border-left:0;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;padding:28px 0 0}}@media(max-width:680px){.creative-footer-center{gap:28px;grid-template-columns:1fr}.creative-footer-row .creative-footer-center nav{grid-template-columns:1fr 1fr 1fr}}

@media(max-width:1250px){
  .creative-landing .creative-site-header{grid-template-columns:245px 1fr auto;padding-inline:4vw}
  .creative-landing .creative-site-header .creative-brand{transform:scale(.9)}
  .creative-landing .creative-service-rail-grid{grid-template-columns:repeat(4,1fr)}
  .creative-landing .creative-service-rail a:nth-child(n+5){border-top:1px solid rgba(255,255,255,.13)}
  .creative-landing .creative-split-copy{margin-left:4vw}
}
@media(max-width:1000px){
  .creative-landing .creative-site-header{height:96px}
  .creative-landing .creative-site-header.sticky{height:88px}
  .creative-landing .creative-site-header .creative-brand{transform:scale(.78)}
  .creative-landing .creative-hero{min-height:800px;padding:145px 0 340px}
  .creative-landing .creative-hero-art{bottom:0;height:390px;inset:auto 0 0 12%}
  .creative-landing .creative-hero-art::after{background:linear-gradient(180deg,#020a10 0%,transparent 26%),linear-gradient(90deg,#020a10 0%,transparent 22%)}
  .creative-landing .creative-hero-copy{max-width:560px;padding-top:18px}
  .creative-landing .creative-split{grid-template-columns:1fr;min-height:0}
  .creative-landing .creative-split-copy{margin:0;max-width:none;padding:70px 6vw 45px}
  .creative-device-visual{min-height:430px}
}
@media(max-width:680px){
  .creative-landing .creative-site-header .creative-brand{transform:scale(.68)}
  .creative-landing .creative-hero{padding:126px 0 260px}
  .creative-landing .creative-hero-art{height:285px;left:0}
  .creative-landing .creative-hero-copy{padding-top:10px}
  .creative-hero-brand{margin-bottom:25px}
  .creative-hero-brand strong{font-size:68px}
  .creative-hero-brand b{font-size:28px}
  .creative-hero-brand small{font-size:6px}
  .creative-landing .creative-hero-copy h1{font-size:27px}
  .creative-landing .creative-hero-copy>p{font-size:15px}
  .creative-hero-pillars{font-size:7px;letter-spacing:.2em;overflow:hidden}
  .creative-hero-pillars span+span::before{margin:0 9px}
  .creative-landing .creative-service-rail{overflow:hidden;padding:22px 0}
  .creative-landing .creative-service-rail-grid{display:grid;grid-auto-columns:190px;grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;width:calc(100% - 18px)}
  .creative-landing .creative-service-rail a{border-top:0!important;min-height:175px;scroll-snap-align:start}
  .creative-landing .creative-split-copy{padding:58px 18px 35px}
  .creative-device-visual{min-height:300px}
  .creative-device-visual::after{background:linear-gradient(180deg,#030c12 0%,transparent 25%)}
  .creative-landing .creative-featured{padding:52px 0}
  .creative-landing .creative-work-preview{display:grid;grid-auto-columns:82vw;grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory}
  .creative-landing .creative-work-preview a{scroll-snap-align:start}
  .creative-landing .creative-work-preview img{aspect-ratio:1.45}
  .creative-landing .creative-wide-cta{min-height:330px}
}
@media(prefers-reduced-motion:reduce){
  .creative-landing .creative-work-preview img{transition:none}
}

/* Approved SFA Creative logo lockup */
.creative-brand{align-items:initial;display:block;grid-template-columns:none;grid-template-rows:none;line-height:1;width:270px}
.creative-brand img{display:block;height:auto;width:100%}
.creative-site-header.sticky .creative-brand{width:205px}
.creative-landing .creative-site-header .creative-brand{transform:none;width:250px}
.creative-landing .creative-site-header.sticky .creative-brand{transform:none;width:190px}
.creative-hero-brand{display:block;line-height:1;width:min(430px,100%)}
.creative-hero-brand img{display:block;height:auto;width:100%}
@media(max-width:1000px){
  .creative-site-header .creative-brand,.creative-landing .creative-site-header .creative-brand,.creative-site-header.sticky .creative-brand,.creative-landing .creative-site-header.sticky .creative-brand{transform:none;width:185px}
}
@media(max-width:680px){
  .creative-site-header .creative-brand,.creative-landing .creative-site-header .creative-brand,.creative-site-header.sticky .creative-brand,.creative-landing .creative-site-header.sticky .creative-brand{transform:none;width:160px}
  .creative-hero-brand{width:min(330px,100%)}
}

/* SFA Creative featured-work carousel and complete pricing menu */
.creative-featured-heading{align-items:end;display:grid;gap:42px;grid-template-columns:1fr minmax(320px,560px);margin-bottom:30px}
.creative-featured-heading .creative-section-heading{margin:0}
.creative-featured-heading>p{color:#aab9c3;font-size:16px;line-height:1.65;margin:0 0 6px}
.creative-work-carousel{position:relative}
.creative-work-preview{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;padding:0 2px 14px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}
.creative-work-preview::-webkit-scrollbar{display:none}
.creative-work-preview .creative-work-card{flex:0 0 calc((100% - 48px)/4);min-width:0;scroll-snap-align:start}
.creative-work-image{background:#061521;display:block;overflow:hidden;position:relative}
.creative-landing .creative-work-preview a>.creative-work-image{display:block;margin-top:0}
.creative-landing .creative-work-preview .creative-work-image img{aspect-ratio:1.42;display:block;height:auto;object-fit:cover;transition:filter .35s ease,transform .5s ease;width:100%}
.creative-work-preview .creative-work-card:hover .creative-work-image img{filter:brightness(1.05);transform:scale(1.035)}
.creative-work-card.branding img,
.creative-work-card.print img,
.creative-work-card.social img,
.creative-work-card.web img,
.creative-work-card.real-estate img,
.creative-work-card.development img{object-position:center}
.creative-work-arrow{align-items:center;background:rgba(2,13,23,.92);border:1px solid rgba(7,152,255,.65);border-radius:50%;color:#eaf5ff;cursor:pointer;display:flex;font-family:Arial,sans-serif;font-size:33px;height:46px;justify-content:center;line-height:1;padding:0;position:absolute;top:calc(50% - 48px);transition:background-color .2s ease,border-color .2s ease,transform .2s ease;width:46px;z-index:3}
.creative-work-arrow:hover,.creative-work-arrow:focus-visible{background:#0798ff;border-color:#0798ff;transform:scale(1.04)}
.creative-work-arrow.previous{left:-23px}.creative-work-arrow.next{right:-23px}
.creative-pricing-jump{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.creative-pricing-jump .button{min-width:220px}
#packages,#service-menu{scroll-margin-top:95px}
.creative-package-section{background:#020c14}
.creative-service-menu{background:#010910;border-top:1px solid rgba(255,255,255,.08)}
.creative-pricing-heading{align-items:end;display:grid;gap:56px;grid-template-columns:1fr minmax(330px,560px);margin-bottom:42px}
.creative-pricing-heading h2{font-size:clamp(34px,4vw,56px);font-weight:500;letter-spacing:.08em;line-height:1.12;text-transform:uppercase}
.creative-pricing-heading h2 span{color:var(--blue)}
.creative-pricing-heading>p{color:var(--muted);font-size:16px;line-height:1.65;margin:0 0 8px}
.creative-package-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
.creative-package-grid.creative-package-showcase{grid-template-columns:repeat(4,minmax(0,1fr))}
.creative-package-group+.creative-package-group{border-top:1px solid rgba(177,205,226,.15);margin-top:64px;padding-top:64px}.creative-package-group-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:22px}.creative-package-group-heading span{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.creative-package-group-heading h3{font-size:20px;letter-spacing:.09em;text-transform:uppercase}.creative-package-grid.property-packages{grid-template-columns:repeat(2,minmax(0,1fr))}
.creative-package-card{background:#020d17;border:1px solid var(--line);display:flex;flex-direction:column;min-height:650px;padding:35px;position:relative;transition:border-color .2s ease,transform .2s ease}.creative-package-card:hover{border-color:rgba(7,152,255,.68);transform:translateY(-3px)}
.creative-package-card.featured{background:#0a2031;border-color:var(--blue);box-shadow:0 0 35px rgba(7,152,255,.1)}
.creative-package-card.featured::before{background:var(--blue);content:"";height:2px;left:-1px;position:absolute;right:-1px;top:-1px}
.creative-package-badge{background:var(--blue-2);font-size:9px;font-weight:600;left:50%;letter-spacing:.12em;padding:8px 20px;position:absolute;text-transform:uppercase;top:0;transform:translate(-50%,-50%);white-space:nowrap}
.creative-package-tag{color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.14em;margin:0 0 22px;text-transform:uppercase}
.creative-package-card h2{font-size:25px;letter-spacing:.06em;line-height:1.2;margin:0;min-height:60px;text-transform:uppercase}
.creative-package-price{color:#fff;font-size:35px;font-weight:500;letter-spacing:.02em;margin:22px 0 16px}.creative-package-price small{color:var(--blue);display:block;font-size:11px;font-weight:700;letter-spacing:.12em;margin-top:5px;text-transform:uppercase}
.creative-package-card>p:not(.creative-package-tag):not(.creative-package-price):not(.creative-package-note){color:#b8c6cf;font-size:15px;line-height:1.58;margin:0 0 22px}
.creative-package-card ul{border-top:1px solid var(--line);display:grid;gap:11px;list-style:none;margin:0 0 24px;padding:23px 0 0}
.creative-package-card li{color:#bdc9d1;font-size:14px;line-height:1.45}
.creative-package-card li::before{color:var(--blue);content:"✓";margin-right:10px}
.creative-package-note{color:#75c8ff;font-size:13px;line-height:1.48;margin:0 0 24px}
.creative-package-card .button{margin-top:auto;width:100%}
.creative-addon-panel{border:1px solid var(--line);padding:34px 44px 42px}.creative-addon-panel>h3{font-size:21px;letter-spacing:.08em;margin:0 0 24px;text-transform:uppercase}.creative-rate-grid{display:grid;gap:12px;grid-template-columns:1fr}
.creative-rate-card{background:transparent;border:0;padding:0;scroll-margin-top:110px}
.creative-rate-card:nth-child(1),.creative-rate-card:nth-child(4),.creative-rate-card:nth-child(7){background:transparent;border-color:transparent}
.creative-rate-card h3{border-bottom:1px solid rgba(7,152,255,.75);color:var(--blue);font-size:16px;letter-spacing:.09em;margin:0;padding:19px 0 13px;text-transform:uppercase}
.creative-rate-card>div{align-items:baseline;border-bottom:1px solid rgba(255,255,255,.075);display:flex;gap:24px;justify-content:space-between;padding:14px 0}
.creative-rate-card>div:last-child{border-bottom:0;padding-bottom:0}
.creative-rate-card span{color:#c1ccd4;font-size:15px;line-height:1.4}
.creative-rate-card strong{color:#fff;font-size:15px;font-weight:600;text-align:right;white-space:nowrap}
.creative-service-menu .creative-pricing-note{margin-top:38px}
@media(max-width:1180px){
  .creative-work-preview .creative-work-card{flex-basis:calc((100% - 32px)/3)}
  .creative-package-grid,.creative-package-grid.property-packages,.creative-package-grid.creative-package-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .creative-featured-heading,.creative-pricing-heading,.creative-group-heading{gap:15px;grid-template-columns:1fr}
  .creative-featured-heading>p,.creative-pricing-heading>p{max-width:640px}
  .creative-landing .creative-work-preview{display:flex;grid-auto-columns:none;grid-auto-flow:row;grid-template-columns:none}
  .creative-work-preview .creative-work-card{flex-basis:calc((100% - 16px)/2)}
  .creative-work-arrow{display:none}
  .creative-service-catalog,.creative-service-catalog.two-up,.creative-package-grid,.creative-package-grid.property-packages,.creative-package-grid.creative-package-showcase,.creative-rate-grid{grid-template-columns:1fr}
  .creative-package-card{min-height:0}
  .creative-service-panel{min-height:0}.creative-section-nav{top:88px}.creative-section-nav>.container{justify-content:flex-start}.creative-package-group-heading{align-items:flex-start;flex-direction:column;gap:5px}
}
@media(max-width:560px){
  .creative-pricing-jump{display:grid}.creative-pricing-jump .button{min-width:0;width:100%}
  .creative-work-preview .creative-work-card{flex-basis:84vw}
  .creative-package-card{padding:27px 23px}.creative-addon-panel{padding:26px 22px 30px}
  .creative-package-card h2{font-size:22px;min-height:0}
  .creative-rate-card>div{align-items:flex-start;gap:18px}
  .creative-rate-card span,.creative-rate-card strong{font-size:14px}
  .creative-services-hero,.creative-pricing-hero{background-position:58% center;min-height:590px}.creative-services-hero{background-position:61% center}.creative-page-hero>.container>p:not(.eyebrow){max-width:92%}.creative-section-nav{top:82px}.creative-section-nav a{padding:15px 20px}.creative-service-group+.creative-service-group{margin-top:55px;padding-top:55px}.creative-process-section{padding:58px 0}
}
@media(prefers-reduced-motion:reduce){.creative-work-preview{scroll-behavior:auto}}
@media(max-width:680px){.real-estate-addons{padding:26px 22px 30px}.addon-grid{grid-template-columns:1fr}.addon-column+.addon-column p:first-child{border-top:1px solid var(--line)}.addon-column p{font-size:14px;padding:14px 0}.real-estate-addons .addon-column p{align-items:flex-start;flex-direction:column;gap:5px}.industry-panel .package-card h3,.industry-panel .package-card>p,.industry-panel .package-card .price,.creative-package-card>p:not(.creative-package-tag):not(.creative-package-price):not(.creative-package-note){min-height:0}}
@media(max-width:680px){.construction-group-heading{align-items:flex-start;display:grid;gap:9px}.construction-pricing .package-card,.construction-pricing .recurring .package-card{min-height:0}.construction-addons .addon-column p,.commercial-addons .addon-column p{align-items:flex-start;flex-direction:column;gap:5px}.construction-package-group+.construction-package-group{margin-top:42px;padding-top:38px}}
@media(max-width:1180px){.intelligence-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.intelligence-package-grid{grid-template-columns:1fr}.intelligence-package-grid .package-card,.intelligence-package-grid .package-card h3,.intelligence-package-grid .package-card>p{min-height:0}}
@media(max-width:900px){.volume-pricing-list p{align-items:start;grid-template-columns:1fr}.volume-pricing-list strong{text-align:left}}
@media(max-width:680px){.volume-pricing{padding:26px 22px 30px}.volume-pricing h3{font-size:18px}.volume-pricing-list p{gap:6px}.volume-pricing-list span{font-size:14px}}
.creative-pricing-hero{background-image:linear-gradient(90deg,rgba(1,8,14,.98) 0%,rgba(1,8,14,.88) 32%,rgba(1,8,14,.18) 64%,rgba(1,8,14,.03)),url('creative/sfa-pricing-banner-v2.jpg')}
.creative-services-hero{background-image:linear-gradient(90deg,rgba(1,8,14,.98) 0%,rgba(1,8,14,.89) 31%,rgba(1,8,14,.2) 63%,rgba(1,8,14,.04)),url('creative/sfa-services-banner-v2.jpg')}

/* Main pricing banner: retain the complete supplied artwork at every width. */
.main-pricing-banner{position:relative;margin-top:196px;background:#020d17;border-bottom:1px solid var(--line)}
.main-pricing-banner>img{width:100%;height:auto}
.pricing-banner-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.main-pricing-banner{margin-top:96px}}
@media(max-width:680px){.main-pricing-banner{margin-top:86px}.pricing-banner-copy{position:static;width:auto;height:auto;margin:0;padding:25px 18px 30px;overflow:visible;clip:auto;white-space:normal}.pricing-banner-copy h1{font-size:36px;line-height:1.1;margin:0 0 15px;text-transform:uppercase}.pricing-banner-copy p{font-size:16px;color:var(--muted);margin:10px 0 0}.pricing-banner-copy .pricing-banner-tagline{color:var(--text);border-left:3px solid var(--blue);padding-left:12px}}

/* Creative pricing artwork with real, accessible package navigation. */
.creative-pricing-artwork{margin-top:196px;background:#020d17;border-bottom:1px solid var(--line)}
.creative-pricing-artwork>img{width:100%;height:auto}
.creative-banner-actions{padding-block:22px 28px}
.creative-banner-actions .creative-pricing-jump{margin-top:0}
.creative-banner-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1000px){.creative-pricing-artwork{margin-top:96px}}
@media(max-width:680px){.creative-pricing-artwork{margin-top:86px}.creative-banner-copy{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.creative-banner-copy h1{font-size:34px;line-height:1.1;margin:0 0 14px;text-transform:uppercase}.creative-banner-copy p{font-size:16px;color:var(--muted);margin:0 0 24px}.creative-banner-actions .creative-pricing-jump{display:grid}}

/* Overlay the working buttons directly on the supplied pricing banner. */
.creative-pricing-artwork{position:relative}
.creative-pricing-artwork .creative-banner-actions{position:absolute;left:5.9%;bottom:5%;width:auto;max-width:88%;padding:0;margin:0}
.creative-banner-actions .creative-pricing-jump{gap:12px}
.creative-banner-actions .button{min-width:0;min-height:44px;padding:12px 22px;background:rgba(2,13,23,.9)}
.creative-banner-actions .button.fill{background:var(--blue)}
@media(max-width:1100px){.creative-pricing-artwork .creative-banner-actions{bottom:3%}.creative-banner-actions .button{padding:8px 15px;font-size:12px}}
@media(max-width:680px){.creative-pricing-artwork{padding-bottom:145px}.creative-pricing-artwork .creative-banner-actions{left:18px;right:18px;bottom:20px;width:auto;max-width:none}.creative-banner-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.creative-banner-actions .creative-pricing-jump{gap:10px}.creative-banner-actions .button{font-size:14px;min-height:46px}}

/* Service hero: full artwork with the existing interactive service link. */
.creative-services-artwork{position:relative;margin-top:196px;background:#020d17;border-bottom:1px solid var(--line)}
.creative-services-artwork>img{width:100%;height:auto}
.services-banner-actions{position:absolute;left:5.9%;top:12%}
.services-banner-actions .creative-pricing-jump{margin:0}
.services-banner-actions .button{min-height:44px;min-width:0;padding:12px 24px}
@media(max-width:1000px){.creative-services-artwork{margin-top:96px}.services-banner-actions{top:10%}.services-banner-actions .button{padding:10px 18px;font-size:12px}}
@media(max-width:680px){.creative-services-artwork{margin-top:86px;padding-bottom:86px}.services-banner-actions{top:auto;bottom:20px;left:18px;right:18px}.services-banner-actions .creative-pricing-jump{display:block}.services-banner-actions .button{width:100%;font-size:14px;min-height:46px}}

/* New supplied SFA Creative logo; frame out spare black space and blend into navy. */
.creative-brand img,.creative-hero-brand img{width:100%;height:auto;aspect-ratio:5.6 / 1;object-fit:cover;object-position:center;mix-blend-mode:screen}

.creative-brand img,.creative-hero-brand img{mix-blend-mode:normal;aspect-ratio:5.2 / 1}

/* Responsive refinement for phones and tablets. */
.services-mobile-copy{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1000px){
 .creative-footer-row{grid-template-columns:minmax(0,1fr)}
 .creative-footer-center{min-width:0}
 .creative-footer-contact a,.footer-column a{overflow-wrap:anywhere}
 .site-header{column-gap:18px}
 .mobile-menu{visibility:hidden}.mobile-menu.open{visibility:visible}
 .menu-button{min-width:44px;min-height:44px}
 .creative-site-header .creative-brand,.creative-landing .creative-site-header .creative-brand,.creative-site-header.sticky .creative-brand,.creative-landing .creative-site-header.sticky .creative-brand{width:min(260px,65vw);transform:none}
 .creative-section-nav{position:static}
 .creative-section-nav>.container{flex-wrap:wrap;overflow:visible;justify-content:flex-start}
 .creative-section-nav a{flex:1 1 30%;padding:14px 10px;font-size:14px;letter-spacing:.02em;text-align:center;white-space:normal}
}
@media(max-width:680px){
 body{font-size:16px}
 .container,.container>*{min-width:0}
 .creative-landing .site-header{height:86px}.creative-landing .site-header.sticky{height:82px}
 .button{white-space:normal;text-align:center;min-height:46px;max-width:100%}
 .main-pricing-banner,.creative-pricing-artwork,.creative-services-artwork{margin-top:86px;padding-bottom:0}
 .creative-pricing-artwork .creative-banner-actions{position:relative;left:auto;right:auto;bottom:auto;width:auto;max-width:none;margin:0;padding:24px 18px 28px}
 .creative-banner-copy,.services-mobile-copy{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}
 .creative-banner-copy h1,.services-mobile-copy h1{font-size:clamp(28px,8vw,36px);line-height:1.12;letter-spacing:.02em;margin:0 0 14px;text-transform:uppercase}
 .creative-banner-copy p,.services-mobile-copy p{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 24px}
 .services-mobile-copy{padding:24px 18px 0}
 .services-banner-actions{position:relative;top:auto;bottom:auto;left:auto;right:auto;padding:0 18px 28px}
 .creative-pricing-jump{display:grid;grid-template-columns:minmax(0,1fr)}
 .creative-banner-actions .button,.services-banner-actions .button{width:100%;font-size:14px;min-height:46px}
 .creative-landing .creative-hero{display:flex;flex-direction:column;min-height:0;padding:116px 0 0}
 .creative-landing .creative-hero-grid{order:1}
 .creative-landing .creative-hero-art{position:relative;inset:auto;order:2;width:100%;height:auto;aspect-ratio:1.78;margin-top:24px}
 .creative-landing .creative-hero-copy{padding-top:0;max-width:100%}
 .creative-landing .creative-hero-copy h1{font-size:clamp(28px,7.8vw,38px);letter-spacing:.015em;overflow-wrap:normal}
 .creative-landing .creative-hero-copy>p{font-size:16px}
 .creative-hero-pillars{font-size:12px;letter-spacing:.05em;flex-wrap:wrap}
 .creative-landing .creative-service-rail-grid{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;width:var(--content);overflow:visible}
 .creative-landing .creative-service-rail a{min-width:0;padding:18px 12px;min-height:170px}
 .creative-service-rail strong{font-size:14px;overflow-wrap:break-word}.creative-service-rail span{font-size:14px}
 .creative-device-visual{min-height:0}.creative-device-visual img{height:auto;min-height:0;object-fit:contain;width:100%}
 .creative-footer-row{gap:24px}.creative-footer .creative-brand{transform:none;width:min(280px,100%)}
 .creative-footer-contact a{font-size:14px!important;letter-spacing:0}
 .creative-rate-card>div{flex-wrap:wrap;gap:6px}.creative-rate-card strong{white-space:normal;text-align:left}
 .contact-form input,.contact-form select,.contact-form textarea{font-size:16px;width:100%;min-width:0}
 .contact-form span{font-size:13px}.contact-form .form-recipient-note{grid-column:1/-1;font-size:14px;overflow-wrap:anywhere}
 .package-tab{font-size:14px;min-height:46px}.package-tab+.package-tab{border-top:1px solid var(--line)}
 .package-card,.creative-package-card{min-width:0;overflow-wrap:break-word}
 .mobile-menu a{min-height:44px}.mobile-menu .mobile-services a,.mobile-menu .mobile-portfolio a,.mobile-menu .mobile-about a,.mobile-menu .mobile-pricing a{font-size:14px}
 [id]{scroll-margin-top:98px}
}
@media(max-width:360px){.creative-service-rail-grid{grid-template-columns:1fr!important}.creative-section-nav a{flex-basis:45%}.creative-footer-row .creative-footer-center nav{grid-template-columns:1fr 1fr}.creative-hero-pillars span+span::before{margin:0 5px}}

/* Mobile banners use their supplied lettering without duplicate copy. */
@media(max-width:680px){
 .pricing-banner-copy,.creative-banner-copy,.services-mobile-copy{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}
 .services-banner-actions{padding-top:20px}
 body[data-page="creative-pricing"] .creative-section-nav{position:static;background:transparent;border:0;padding:58px 0 0}
 body[data-page="creative-pricing"] .creative-section-nav>.container{display:flex;flex-direction:column;align-items:stretch;gap:10px;overflow:visible}
 body[data-page="creative-pricing"] .creative-section-nav a{flex:none;display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--line);border-radius:5px;background:transparent;padding:15px 22px;font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.65}
 body[data-page="creative-pricing"] .creative-section-nav a.active,body[data-page="creative-pricing"] .creative-section-nav a:hover,body[data-page="creative-pricing"] .creative-section-nav a:focus-visible{background:var(--blue-2);border-color:var(--blue);color:var(--text)}
 body[data-page="creative-pricing"] .creative-package-section{padding-top:42px}
 body[data-page="creative-pricing"] .creative-package-grid{grid-template-columns:minmax(0,1fr)}
}

.creative-pricing-artwork>img{display:block;position:relative;width:100%;height:auto;aspect-ratio:3 / 1;object-fit:contain;visibility:visible;opacity:1}

/* Mobile navigation: separate menu labels from action-button typography. */
@media(max-width:1000px){
 .mobile-menu nav>a,.mobile-menu summary{font-size:16px;line-height:1.45;letter-spacing:.045em;padding:12px 0;min-height:46px;white-space:normal;overflow-wrap:break-word}
 .mobile-menu .mobile-services a,.mobile-menu .mobile-portfolio a,.mobile-menu .mobile-about a,.mobile-menu .mobile-pricing a{font-size:14px;line-height:1.5;letter-spacing:.025em;padding:10px 0;min-height:44px}
 .mobile-menu a.button,.mobile-menu a.quote-button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-width:0;min-height:48px;height:auto;margin-top:24px;padding:14px 22px;font-size:14px;line-height:1.4;letter-spacing:.04em;text-align:center;white-space:normal;border:1px solid var(--blue)}
 .mobile-menu{padding-bottom:calc(30px + env(safe-area-inset-bottom,0px))}
}

/* Keep supplied banner compositions intact; size the frame to the artwork. */
.main-pricing-banner,.creative-pricing-artwork,.creative-services-artwork{height:auto;min-height:0;overflow:hidden}
.main-pricing-banner>img,.creative-pricing-artwork>img,.creative-services-artwork>img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:680px){
 .creative-pricing-artwork .creative-banner-actions{padding:14px 18px 18px}
 .services-banner-actions{padding:14px 18px 18px}
}

/* Creative portfolio: equal square tiles at every breakpoint. */
.creative-portfolio-hero{background-image:linear-gradient(90deg,rgba(1,9,15,.98),rgba(1,9,15,.72) 58%,rgba(1,9,15,.35)),url('creative/portfolio/sp-nutrition-pair.jpg')}
.creative-product-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:18px;align-items:start}
.creative-product-gallery figure{grid-column:auto;min-width:0}
.creative-product-gallery img{display:block;width:100%;height:auto;object-fit:contain;transition:none}
.creative-product-gallery figure:hover img{transform:none}
@media(max-width:1000px){.creative-product-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.creative-product-gallery figure,.creative-product-gallery figure:nth-child(n+4){grid-column:auto}}
@media(max-width:680px){.creative-product-gallery{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:18px}}

/* Use repair only at the perimeter: retain original product labels and photography. */
.portfolio-restored-photo{position:relative;overflow:hidden;aspect-ratio:1 / 1}
.creative-product-gallery .portfolio-original-photo{position:relative;z-index:1;clip-path:inset(2%);mask-image:linear-gradient(to right,transparent 2%,#000 3%,#000 97%,transparent 98%),linear-gradient(to bottom,transparent 2%,#000 3%,#000 97%,transparent 98%);mask-composite:intersect;width:100%;height:100%;object-fit:cover}
.creative-product-gallery .portfolio-edge-repair{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}


/* Construction uses the shared pricing-card and add-on layout. */
.construction-pricing .package-card li{white-space:normal}
.construction-addon-description{display:block;font-size:13px;line-height:1.6;margin-top:8px;color:var(--muted)}
.construction-addons .addon-column p{align-items:flex-start}
.construction-delivery-notes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:34px;padding:20px 0}
.construction-delivery-notes summary{cursor:pointer;font-size:16px;font-weight:600;color:var(--text)}
.construction-delivery-notes dl{margin:24px 0 0;display:grid;gap:20px}
.construction-delivery-notes dt{font-size:15px;font-weight:600;margin-bottom:6px}
.construction-delivery-notes dd{margin:0;color:var(--muted);font-size:14px;line-height:1.7}

/* Compact construction comparison cards; detailed scopes remain inside each card. */
.construction-pricing .construction-one-time-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.construction-pricing .package-grid{align-items:start}
.construction-pricing .package-card,.construction-pricing .recurring .package-card{padding:24px 18px;min-height:0;min-width:0}
.construction-pricing .package-card h3{font-size:17px;line-height:1.3;letter-spacing:.025em;min-height:66px;margin:0}
.construction-pricing .package-card>p:not(.turnaround){font-size:14px;line-height:1.5;min-height:84px;margin:12px 0 0}
.construction-pricing .package-card .price{font-size:30px;margin:22px 0 10px;white-space:nowrap}
.construction-pricing .construction-card-summary{gap:10px;min-height:211px;margin-bottom:18px}
.construction-pricing .package-card li{font-size:14px;line-height:1.5}
.construction-pricing .package-card li::before{margin-right:6px}
.construction-card-details{border-top:1px solid var(--line);padding-top:14px;margin-bottom:20px;font-size:14px}
.construction-card-details summary{cursor:pointer;color:var(--blue);font-size:14px;line-height:1.5}
.construction-card-details ul{border:0;margin:16px 0;padding:0}
.construction-pricing .construction-card-details .turnaround{font-size:14px;margin-bottom:0}
.construction-pricing .package-card .button{min-width:0;width:100%;padding:13px 8px;font-size:13px}
.construction-summary-note{font-size:13px;color:var(--muted);margin:22px 0;line-height:1.6}
@media(max-width:1250px){.construction-pricing .construction-one-time-grid,.construction-pricing .package-grid.four{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.construction-pricing .construction-one-time-grid,.construction-pricing .package-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.construction-pricing .construction-one-time-grid,.construction-pricing .package-grid.four{grid-template-columns:minmax(0,1fr)}.construction-pricing .package-card,.construction-pricing .recurring .package-card{padding:26px}.construction-pricing .package-card h3,.construction-pricing .package-card>p:not(.turnaround),.construction-pricing .construction-card-summary{min-height:0}.construction-pricing .package-card h3{font-size:21px}}

/* Mobile territory directory: prevent grid rows from compressing their content. */
.territory-list{grid-auto-rows:max-content;align-content:start;overflow-x:hidden;scrollbar-gutter:stable}
.territory-list:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:680px){
 .franchise-grid,.location-panel,.map-panel{min-width:0}
 .location-panel{height:auto;min-height:0;padding:22px 14px}
 .locator-controls{flex-shrink:0;min-width:0}
 .search-field,.service-filter{width:100%;min-width:0;font-size:16px}
 .location-panel .territory-list{display:grid;flex:none;height:440px;height:clamp(340px,58svh,520px);max-height:none;gap:12px;padding-right:6px;overflow-y:auto;-webkit-overflow-scrolling:touch}
 .territory{grid-template-columns:36px minmax(0,1fr);gap:8px 12px;padding:16px 12px;min-height:0;align-items:start}
 .territory .territory-card-copy strong{font-size:16px;line-height:1.45;overflow-wrap:break-word}
 .territory .territory-location,.territory .territory-email{font-size:14px;line-height:1.55;margin-top:8px}
 .territory .territory-status{grid-column:2;font-size:14px;line-height:1.4;margin-top:3px;white-space:normal}
 .territory-number{width:34px;height:34px}
 .territory-popup p,.territory-popup a{font-size:14px}
}

/* SEO preview: preserve SFA's silver, electric-blue and cinematic visual identity. */
body{font-size:16px}.hero p:not(.eyebrow),.page-hero p:last-child{font-size:16px}.button,.quote-button{font-size:14px;letter-spacing:.06em}.learn{font-size:14px}.desktop-nav>a,.desktop-nav button{font-size:14px}.seo-logo-caption{padding-top:26px;text-align:center}.seo-logo-caption .eyebrow{margin-bottom:0}.brand-rail-section{padding-top:0}.seo-intelligence{background:#031320;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.seo-editorial{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;margin-bottom:46px}.seo-editorial h2,.seo-areas h2{font-size:clamp(30px,3.5vw,48px);line-height:1.2;letter-spacing:.02em}.seo-editorial p{color:#bacbd7;max-width:620px}.seo-editorial img{width:100%;height:360px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.seo-editorial .button{margin-top:16px}.seo-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.seo-link-grid>a{display:block;padding:28px;border:1px solid var(--line);border-radius:6px;background:rgba(10,29,43,.65);transition:border-color .2s,background .2s}.seo-link-grid>a:hover,.seo-link-grid>a:focus-visible{border-color:var(--blue);background:#092438}.seo-link-grid small{color:#8bbbd8;font-size:14px}.seo-link-grid h3{font-size:23px;margin:18px 0 12px}.seo-link-grid p{color:#becbd4;font-size:16px;margin:0}.seo-areas .section-heading{max-width:800px}.seo-areas .related-links{margin-top:28px}.seo-faq{background:#020c15}.seo-faq details{border-top:1px solid var(--line);padding:23px 0}.seo-faq details:last-child{border-bottom:1px solid var(--line)}.seo-faq summary{font-size:18px;cursor:pointer;color:#f1f6fa}.seo-faq details p{color:#bacbd7;max-width:900px;margin:18px 0 0}.seo-spaced{margin-top:65px}.service-detail-grid+.seo-editorial{margin-top:65px}.seo-breadcrumb{font-size:14px;color:#a9bfcd;margin-bottom:25px}.seo-breadcrumb a:hover{color:var(--blue)}.seo-page-hero .hero-actions{position:relative}.seo-page-hero h1{max-width:1040px}.seo-final{padding-top:24px}.footer-column a,.footer-column span,.footer-brand p{font-size:14px}.card-aerial{background-image:url('portfolio/construction-development-wide.jpg')}.hero{background-image:linear-gradient(90deg,rgba(1,10,18,.96),rgba(1,10,18,.8) 35%,rgba(1,10,18,.16)),linear-gradient(0deg,rgba(1,10,18,.9),transparent 48%),url('portfolio/ontario-lake-aerial.jpg')}.hero h1{font-size:clamp(38px,4.5vw,67px);letter-spacing:.035em}.hero-content{max-width:820px}.hero p:not(.eyebrow){max-width:620px}.hero-real-estate{background-image:url('portfolio/grand-home-exterior.jpg')}.hero-areas{background-image:url('portfolio/fenelon-falls-aerial.jpg')}.card-real{background-image:url('portfolio/waterfront-living-room.jpg')}.card-commercial{background-image:url('portfolio/modern-institutional-building-wide.jpg')}.card-social{background-image:url('portfolio/goreskis-marina-aerial.jpg')}
@media(max-width:1100px){.seo-editorial{gap:32px}.desktop-nav{gap:15px}.site-header>.quote-button{min-width:150px;padding:0 20px}}
@media(max-width:1000px){.seo-editorial{grid-template-columns:1fr}.seo-editorial img{height:320px}.seo-link-grid{grid-template-columns:1fr}.seo-page-hero h1{font-size:clamp(34px,6vw,52px)}}
@media(max-width:680px){body{font-size:16px}.hero h1{font-size:36px;line-height:1.2;letter-spacing:.02em}.hero{min-height:670px}.seo-editorial{gap:28px;margin-bottom:30px}.seo-editorial img{height:250px}.seo-link-grid>a{padding:24px}.seo-faq summary{font-size:17px}.seo-breadcrumb{line-height:1.6}.mobile-menu a,.mobile-menu summary{font-size:16px}.seo-page-hero .hero-actions{flex-direction:column}.seo-page-hero .button{width:100%}.service-detail-grid{gap:30px}}
@media(prefers-reduced-motion:reduce){.logo-marquee-track{animation:none}}

/* Balanced menu rows and aligned homepage card actions. */
.desktop-nav .services-mega a:last-child:nth-child(odd){grid-column:1 / -1;text-align:center}
.services-mega{max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain}
body[data-page="home"] .service-card{display:flex;flex-direction:column}
body[data-page="home"] .service-card .learn{margin-top:auto;padding-top:4px}
body[data-page="home"] .hero-actions .button{min-width:220px}
body[data-page="home"] .brand-rail-section{border-top:1px solid var(--line)}

/* Province-wide coverage and evenly balanced area actions. */
.seo-area-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.seo-area-actions a{display:flex;justify-content:center;align-items:center;text-align:center;min-height:54px;margin:0}
.seo-region-grid h3{font-size:22px;line-height:1.35}
.region-card[id]{scroll-margin-top:150px}
@media(max-width:680px){.seo-area-actions{grid-template-columns:1fr}.region-card[id]{scroll-margin-top:110px}}

/* Homepage banner: architectural aerial from the SFA portfolio. */
body[data-page="home"] .hero{background-image:linear-gradient(90deg,rgba(1,10,18,.94) 0%,rgba(1,10,18,.82) 30%,rgba(1,10,18,.27) 58%,rgba(1,10,18,.05) 100%),linear-gradient(0deg,rgba(1,10,18,.8),transparent 42%),url('portfolio/modern-institutional-building-wide.jpg');background-position:center 55%}
@media(max-width:680px){body[data-page="home"] .hero{background-position:62% center;background-image:linear-gradient(90deg,rgba(1,10,18,.85),rgba(1,10,18,.52)),linear-gradient(0deg,rgba(1,10,18,.72),transparent 70%),url('portfolio/modern-institutional-building-wide.jpg')}}

/* Direct service pricing destinations. */
#pricing-packages{scroll-margin-top:160px}
.service-pricing-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.service-pricing-actions .button{min-width:180px}
@media(max-width:680px){#pricing-packages{scroll-margin-top:105px}.service-pricing-actions{display:grid;grid-template-columns:1fr}.service-pricing-actions .button{width:100%;min-width:0}}

/* Cinematic waterfront brand banner, generated for SFA. */
body[data-page="home"] .hero{background-image:linear-gradient(90deg,rgba(1,10,18,.63),rgba(1,10,18,.35) 38%,rgba(1,10,18,.02) 66%),linear-gradient(0deg,rgba(1,10,18,.6),transparent 42%),url('sfa-waterfront-hero-v2.png');background-position:center;background-size:cover}
body[data-page="home"] .hero h1{font-size:clamp(44px,5.5vw,82px);line-height:1.12;letter-spacing:.025em}
body[data-page="home"] .hero p:not(.eyebrow){max-width:620px;line-height:1.75;color:#e0e7ed}
@media(max-width:680px){body[data-page="home"] .hero{background-position:67% center;background-image:linear-gradient(90deg,rgba(1,10,18,.78),rgba(1,10,18,.48)),linear-gradient(0deg,rgba(1,10,18,.65),transparent 75%),url('sfa-waterfront-hero-v2.png') }body[data-page="home"] .hero h1{font-size:42px;letter-spacing:.01em}}

/* Keep package inquiry button labels on one line. */
.package-card .button,.creative-package-card .button{white-space:nowrap;min-width:0;padding-left:12px;padding-right:12px;font-size:14px;letter-spacing:.02em;line-height:1.3;justify-content:center;text-align:center}

/* Restore the original modern-home banner photograph. */
body[data-page="home"] .hero{background-image:linear-gradient(90deg,rgba(1,10,18,.94) 0%,rgba(1,10,18,.8) 28%,rgba(1,10,18,.22) 65%,rgba(1,10,18,.16)),linear-gradient(0deg,rgba(1,10,18,.88),transparent 42%),url('sfa-original-home-hero.jpg');background-position:center}
@media(max-width:680px){body[data-page="home"] .hero{background-position:62% center;background-image:linear-gradient(90deg,rgba(1,10,18,.8),rgba(1,10,18,.48)),linear-gradient(0deg,rgba(1,10,18,.65),transparent 75%),url('sfa-original-home-hero.jpg')}}
