@charset "UTF-8";
:root {
  color-scheme: light;
  --cream: #f4f1e9;
  --paper: #fbfaf6;
  --ink: #202321;
  --muted: #777a73;
  --teal: #1d7169;
  --teal-dark: #145c56;
  --line: rgba(32, 35, 33, .18);
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --sans: "Avenir Next", Avenir, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
a:focus-visible { outline: 3px solid var(--teal); outline-offset: 5px; }
.skip-link { position: absolute; z-index: 10; left: 1rem; top: 1rem; padding: .8rem 1rem; color: white; background: var(--ink); transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.section-shell { width: min(1120px, calc(100% - 96px)); margin-inline: auto; }
.site-header { height: 86px; padding-inline: max(48px, calc((100vw - 1120px) / 2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.wordmark { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; font-size: 11px; font-weight: 760; letter-spacing: .13em; }
.wordmark-mark,.signoff-mark { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; color: var(--cream); background: var(--teal); font-family: var(--serif); font-size: 19px; font-weight: 400; letter-spacing: 0; }
.wordmark-light { font-weight: 420; margin-left: 4px; }
.site-nav { display: flex; align-items: center; gap: 34px; font-size: 12px; }
.site-nav a,.footer-inner a { text-decoration: none; }
.site-nav a:not(.nav-contact):hover,.footer-inner a:hover { color: var(--teal); }
.nav-contact { border: 1px solid var(--ink); padding: 11px 15px; transition: background .2s,color .2s; }
.nav-contact:hover { color: var(--cream); background: var(--ink); }
.nav-contact span { padding-left: 9px; }
.hero { min-height: 610px; display: grid; grid-template-columns: 1.12fr .88fr; align-items: center; position: relative; padding-top: 32px; padding-bottom: 64px; }
.hero-copy { z-index: 1; padding-block: 46px; }
.eyebrow { margin: 0; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .13em; line-height: 1.6; text-transform: uppercase; }
.status-dot { display: inline-block; width: 7px; height: 7px; margin: 0 8px 1px 0; border-radius: 50%; background: var(--teal); }
h1,h2,h3,p { margin-top: 0; }
.hero h1 { margin: 32px 0 20px; font-family: var(--serif); font-size: clamp(64px, 8.2vw, 108px); font-weight: 400; letter-spacing: -.075em; line-height: .93; }
h1 em,h2 em { color: var(--teal); font-weight: 400; }
.hero-lede { max-width: 410px; margin-bottom: 30px; color: #555a55; font-size: 16px; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 18px; padding: 0 18px; text-decoration: none; font-size: 12px; font-weight: 600; transition: transform .2s,background .2s; }
.button:hover { transform: translateY(-2px); }
.button-dark { color: var(--cream); background: var(--ink); }
.button-dark:hover { background: var(--teal-dark); }
.text-link { text-decoration: none; font-size: 12px; }
.text-link span { margin-left: 6px; color: var(--teal); }
.hero-art { position: relative; height: 425px; overflow: hidden; background: #e6e2d7; }
.art-sun { position: absolute; width: 190px; height: 190px; top: 105px; left: 50%; border-radius: 50%; background: var(--teal); transform: translateX(-50%); }
.art-orbit { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(32,35,33,.55); border-radius: 50%; transform: translate(-50%,-50%) rotate(-32deg); }
.orbit-one { width: 360px; height: 180px; }
.orbit-two { width: 260px; height: 390px; transform: translate(-50%,-50%) rotate(34deg); }
.art-line { position: absolute; height: 1px; left: 8%; right: 8%; background: rgba(32,35,33,.25); }
.line-one { top: 29%; }.line-two { bottom: 27%; }
.art-label { position: absolute; font-size: 8px; letter-spacing: .16em; }
.label-top { left: 8%; top: 8%; }.label-bottom { right: 8%; bottom: 8%; }
.art-star { position: absolute; top: 44%; left: 48%; color: #f4f1e9; font-size: 42px; }
.hero-bottom { position: absolute; bottom: 17px; left: 0; right: 0; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; border-top: 1px solid var(--line); padding-top: 14px; color: var(--muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.hero-bottom span:nth-child(2) { text-align: center; }.hero-bottom a { justify-self: end; font-size: 16px; text-decoration: none; }
.intro-band { background: var(--teal); color: var(--paper); }
.intro-inner { min-height: 260px; display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 42px; }
.intro-band .eyebrow { color: rgba(255,255,255,.7); }
.intro-statement { max-width: 690px; margin: 0; font-family: var(--serif); font-size: clamp(28px, 4vw, 43px); letter-spacing: -.04em; line-height: 1.25; }
.intro-statement span { color: #c8ded6; font-style: italic; }
.content-section { padding-block: 120px; }
.section-heading { max-width: 710px; margin-bottom: 56px; }
.section-number { float: right; color: var(--muted); font-size: 9px; letter-spacing: .12em; }
.section-heading h2,.about-inner h2,.contact-inner h2 { margin: 26px 0 16px; font-family: var(--serif); font-size: clamp(43px, 6vw, 69px); font-weight: 400; letter-spacing: -.06em; line-height: .99; }
.section-summary { max-width: 470px; margin: 22px 0 0; color: #666a64; font-size: 14px; line-height: 1.8; }
.service-list { border-top: 1px solid var(--line); }
.service-row { min-height: 100px; display: grid; grid-template-columns: 64px minmax(190px, .8fr) 1.2fr 24px; align-items: center; gap: 22px; border-bottom: 1px solid var(--line); }
.service-index,.project-kicker,.process-num { color: var(--teal); font-size: 10px; letter-spacing: .1em; }
.service-row h3 { margin: 0; font-family: var(--serif); font-size: 24px; font-weight: 400; letter-spacing: -.03em; }
.service-row p { max-width: 400px; margin: 0; color: #686b65; font-size: 12px; line-height: 1.7; }
.service-arrow { color: var(--teal); font-size: 17px; }
.work-section { background: var(--paper); }
.work-heading { margin-bottom: 60px; }
.project { display: grid; grid-template-columns: 1.08fr .92fr; gap: 70px; align-items: center; padding-block: 28px 58px; }
.project + .project { border-top: 1px solid var(--line); padding-top: 64px; }
.project-visual { height: 330px; position: relative; overflow: hidden; }
.project-essence { padding-bottom: 0; }
.project-copy { max-width: 390px; }
.project-kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 21px; text-transform: uppercase; }
.project-kicker span { color: var(--muted); }
.project-copy h3 { margin-bottom: 15px; font-family: var(--serif); font-size: 34px; font-weight: 400; letter-spacing: -.04em; }
.project-copy > p:not(.project-kicker) { color: #666a64; font-size: 13px; line-height: 1.8; }
.project-copy .project-note { display: inline-block; margin: 5px 0 0; padding-top: 12px; border-top: 1px solid var(--line); color: var(--teal-dark) !important; font-size: 10px !important; letter-spacing: .04em; }
.project-carousel { height: 430px; display: flex; flex-direction: column; justify-content: flex-end; background: #181a18; color: var(--cream); }
.project-carousel > video { flex: 1 1 auto; min-height: 0; display: block; width: 100%; height: calc(100% - 52px); background: #181a18; object-fit: contain; }
.reel-controls { flex: 0 0 48px; display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 12px; padding: 0 13px; border-top: 1px solid rgba(244,241,233,.2); }
.reel-controls button { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(244,241,233,.55); border-radius: 50%; color: var(--cream); background: transparent; font: inherit; font-size: 17px; cursor: pointer; }
.reel-controls button:hover:not(:disabled) { color: var(--ink); background: var(--cream); }
.reel-controls button:disabled { opacity: .45; cursor: not-allowed; }
.reel-controls p { margin: 0; color: #d4d6ce; text-align: center; font-size: 10px; line-height: 1.4; }
.analytics-concept { display: grid; grid-template-columns: minmax(180px, .65fr) 1.35fr; align-items: center; gap: 26px; margin: 28px 0 0; padding: 28px; border: 1px solid var(--line); background: var(--cream); }
.analytics-concept-heading h3 { margin: 10px 0 0; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.analytics-chart { display: block; width: 100%; height: auto; }
.analytics-concept figcaption { grid-column: 1 / -1; color: #666a64; font-size: 11px; line-height: 1.6; }
.process-section { padding-bottom: 130px; }
.process-list { max-width: 800px; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.process-list li { display: grid; grid-template-columns: 70px 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.process-num { padding-top: 4px; }
.process-list h3 { margin: 0 0 7px; font-family: var(--serif); font-size: 23px; font-weight: 400; }
.process-list p { max-width: 490px; margin: 0; color: #686b65; font-size: 12px; line-height: 1.7; }
.about-section { background: #e8e5db; }
.about-inner { min-height: 570px; padding-block: 104px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 90px; align-content: center; }
.about-inner > .eyebrow { grid-column: 1 / -1; margin-bottom: 16px; }
.about-inner h2 { margin-top: 10px; }
.about-copy { align-self: center; padding-top: 16px; }
.about-copy p { max-width: 445px; color: #555a55; font-size: 14px; line-height: 1.9; }
.about-copy p:first-child { color: var(--ink); font-family: var(--serif); font-size: 22px; line-height: 1.5; }
.about-signoff { grid-column: 2; display: flex; align-items: center; gap: 13px; margin-top: 19px; font-size: 11px; line-height: 1.5; }
.signoff-mark { width: 36px; height: 36px; font-size: 22px; }
.about-signoff small { color: var(--muted); font-size: 9px; }
.contact-section { background: var(--ink); color: var(--cream); }
.contact-inner { min-height: 570px; padding-block: 104px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.contact-inner .eyebrow { width: 100%; color: #a4a9a2; }
.contact-inner .section-number { color: #a4a9a2; }
.contact-inner h2 { margin-block: 38px 18px; font-size: clamp(55px, 8vw, 91px); }
.contact-inner h2 em { color: #85b9ac; }
.contact-inner > p:not(.eyebrow):not(.contact-meta) { max-width: 390px; color: #c0c2bb; font-size: 14px; line-height: 1.8; }
.contact-email-prompt { margin: 16px 0 0; color: #c0c2bb; font-size: 13px; line-height: 1.7; }
.contact-email { color: #d0e2d9; font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.contact-email:hover { color: white; }
.contact-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: min(100%, 430px); margin-top: 22px; }
.contact-channel { min-height: 58px; display: flex; align-items: center; gap: 11px; padding: 9px 12px; border: 1px solid rgba(244,241,233,.4); color: var(--cream); text-decoration: none; transition: border-color .2s, background .2s; }
.contact-channel:hover { border-color: #85b9ac; background: rgba(133,185,172,.1); }
.contact-channel svg { flex: 0 0 20px; width: 20px; height: 20px; color: #a8cfc3; }
.contact-channel > span { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.contact-channel strong { font-size: 11px; font-weight: 650; }
.contact-channel > span > span { color: #c0c2bb; font-size: 9px; line-height: 1.4; }
.contact-form { width: min(100%, 760px); margin-top: 42px; padding-top: 30px; border-top: 1px solid rgba(244,241,233,.25); }
.contact-form-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.contact-form-heading h3 { margin: 0; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.contact-form-heading p { margin: 0; color: #a4a9a2; font-size: 10px; }
.form-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; }
.form-field { min-width: 0; display: flex; flex-direction: column; gap: 7px; color: #e3e3dc; font-size: 11px; line-height: 1.4; }
.form-field > span { display: inline; color: #a8cfc3; }
.form-field small { color: #a4a9a2; font-size: 10px; }
.form-field input,.form-field textarea { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid rgba(244,241,233,.38); border-radius: 0; color: var(--cream); background: #242724; font: 400 16px/1.5 var(--sans); }
.form-field textarea { min-height: 112px; resize: vertical; }
.form-field input::placeholder,.form-field textarea::placeholder { color: #979d96; opacity: 1; }
.form-field input:focus-visible,.form-field textarea:focus-visible { outline: 3px solid #85b9ac; outline-offset: 2px; }
.form-field-wide { grid-column: 1 / -1; }
.form-privacy-note { max-width: 650px; margin: 16px 0 0; color: #a4a9a2; font-size: 10px; line-height: 1.7; }
.form-submit-row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 18px; }
.form-submit { min-height: 46px; display: inline-flex; align-items: center; gap: 14px; padding: 0 17px; border: 0; color: var(--ink); background: var(--cream); font: 600 12px var(--sans); cursor: pointer; }
.form-submit:hover { background: #c8ded6; }
.form-submit:disabled { opacity: .65; cursor: wait; }
.form-status { margin: 0; color: #c8ded6; font-size: 12px; line-height: 1.6; }
.contact-meta { margin: 20px 0 0; color: #a4a9a2; font-size: 10px; letter-spacing: .07em; }
.site-footer { background: #181a18; color: #c1c4bd; }
.footer-inner { min-height: 95px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 10px; }
.footer-wordmark { color: var(--cream); font-size: 9px; }
.footer-wordmark .wordmark-mark { width: 25px; height: 25px; font-size: 16px; }
.footer-inner p { margin: 0; color: #93978f; }
.footer-inner > a:not(.wordmark) { color: #c1c4bd; }
.footer-inner small { color: #93978f; font-size: 9px; }
@media (max-width: 760px) {
  .section-shell { width: min(100% - 42px, 600px); }
  .site-header { height: auto; min-height: 74px; padding: 17px 21px 0; align-items: flex-start; flex-direction: column; gap: 15px; }
  .site-nav { width: 100%; justify-content: space-between; gap: 13px; padding-bottom: 14px; font-size: 10px; }
  .nav-contact { padding: 8px 10px; white-space: nowrap; }
  .hero { min-height: unset; grid-template-columns: 1fr; padding-top: 29px; padding-bottom: 54px; }
  .hero-copy { padding-block: 27px 35px; }
  .hero h1 { margin-top: 25px; font-size: clamp(62px, 16vw, 92px); }
  .hero-lede { max-width: 360px; font-size: 14px; }
  .hero-art { height: min(76vw, 350px); min-height: 260px; }
  .art-sun { width: 150px; height: 150px; }
  .orbit-one { width: 88%; height: 48%; }.orbit-two { width: 65%; height: 90%; }
  .hero-bottom { bottom: 14px; }
  .intro-inner { min-height: unset; grid-template-columns: 1fr; gap: 17px; padding-block: 44px; }
  .intro-statement { font-size: clamp(29px, 7vw, 40px); }
  .content-section { padding-block: 82px; }
  .section-heading { margin-bottom: 38px; }
  .section-heading h2,.about-inner h2 { font-size: clamp(43px, 12vw, 60px); }
  .section-number { font-size: 8px; }
  .service-row { min-height: unset; grid-template-columns: 32px 1fr 18px; gap: 10px; padding-block: 19px; }
  .service-row h3 { font-size: 21px; }
  .service-row p { grid-column: 2; grid-row: 2; font-size: 11px; }
  .service-arrow { grid-column: 3; grid-row: 1; }
  .project,.project + .project { grid-template-columns: 1fr; gap: 27px; padding-block: 20px 42px; }
  .project + .project { padding-top: 43px; }
  .project-visual { height: min(74vw, 340px); min-height: 245px; }
  .project-carousel { height: min(112vw, 430px); min-height: 365px; }
  .analytics-concept { grid-template-columns: 1fr; gap: 17px; margin-top: 18px; padding: 20px; }
  .analytics-concept figcaption { grid-column: 1; }
  .project-copy h3 { font-size: 30px; }
  .process-section { padding-bottom: 85px; }
  .process-list li { grid-template-columns: 42px 1fr; gap: 13px; padding-block: 20px; }
  .about-inner { min-height: unset; grid-template-columns: 1fr; padding-block: 80px; gap: 0; }
  .about-inner > .eyebrow { grid-column: 1; }
  .about-inner h2 { margin-bottom: 20px; }
  .about-copy { padding-top: 0; }
  .about-copy p:first-child { font-size: 20px; }
  .about-signoff { grid-column: 1; margin-top: 8px; }
  .contact-inner { min-height: 490px; padding-block: 79px; }
  .contact-inner h2 { margin-block: 32px 18px; font-size: clamp(56px, 14vw, 78px); }
  .contact-email-prompt { max-width: 100%; }
  .contact-channels { width: 100%; }
  .contact-form { margin-top: 34px; padding-top: 25px; }
  .form-fields { grid-template-columns: 1fr; gap: 15px; }
  .form-field-wide { grid-column: 1; }
  .contact-form-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .footer-inner { min-height: unset; display: grid; grid-template-columns: 1fr 1fr; padding-block: 25px; gap: 17px 12px; }
  .footer-inner p { text-align: right; }
  .footer-inner > a:not(.wordmark) { justify-self: end; }
}
@media (max-width: 380px) {
  .site-nav { gap: 8px; font-size: 9px; }
  .nav-contact { padding: 7px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .section-number { max-width: 120px; text-align: right; }
  .contact-channels { max-width: 260px; grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.hero-art{background:var(--ink);border-radius:0 44% 0 0}.hero-art .art-label{z-index:5;color:var(--cream)}.label-top{top:7%;left:7%}.label-bottom{right:7%;bottom:7%}.float-card{position:absolute;overflow:hidden;box-shadow:0 17px 36px rgba(10,14,12,.28);animation:card-float 7s ease-in-out infinite;translate:0 0}.float-card small,.float-card>span{font-size:8px;letter-spacing:.12em}.site-card{z-index:2;left:8%;top:19%;width:47%;height:48%;padding:12px;background:var(--paper);color:var(--ink);transform:rotate(-5deg);animation-delay:-1.6s}.mock-browser{height:15px;display:flex;gap:4px;border-bottom:1px solid var(--line);margin:-2px -2px 12px;padding-bottom:6px}.mock-browser i{width:5px;height:5px;border-radius:50%;background:#aaa99f}.site-card small{font-size:7px;letter-spacing:.15em}.site-card strong{display:block;margin-top:11px;font:clamp(14px,2vw,22px)/1.02 var(--serif);letter-spacing:-.05em}.site-card strong em{color:var(--teal);font-weight:400}.mock-lines{display:block;width:72%;height:20px;margin-top:12px;border-top:1px solid #c8c5bb;border-bottom:1px solid #c8c5bb;opacity:.6}.video-card,.essence-card{display:flex;flex-direction:column;padding:5px;background:#f6f3eb}.video-card img,.essence-card img{display:block;min-height:0;flex:1;width:100%;object-fit:cover;object-position:center}.video-card>span,.essence-card>span{padding:7px 3px 3px;color:var(--ink);font-size:6px;white-space:nowrap}.video-card{z-index:3;right:8%;top:16%;width:31%;height:54%;transform:rotate(5deg);animation-delay:-3.2s}.essence-card{z-index:4;left:7%;bottom:11%;width:31%;height:42%;transform:rotate(-8deg);animation-delay:-4.1s}.campaign-card{z-index:5;right:11%;bottom:12%;width:43%;height:25%;padding:13px;background:#d7e9df;color:var(--ink);transform:rotate(4deg);animation-delay:-2.5s}.campaign-card small,.analytics-card small{display:block;font-size:7px;letter-spacing:.14em}.campaign-card strong,.analytics-card strong{display:block;margin-top:10px;font:clamp(13px,1.8vw,19px)/1.1 var(--serif)}.campaign-mark{position:absolute;right:10px;bottom:7px;color:var(--teal);font-size:19px!important}.analytics-card{z-index:2;left:37%;bottom:4%;width:34%;height:18%;padding:10px;background:#e7e2d7;color:var(--teal)}.analytics-card strong{margin-top:5px;font-size:clamp(10px,1.4vw,14px)}.analytics-card svg{width:100%;height:27px;margin-top:3px}.video-card{animation-delay:-2s}@keyframes card-float{0%,100%{translate:0 0}50%{translate:0 -10px}}@media(max-width:800px){.site-card{padding:10px}.mock-lines{height:13px;margin-top:8px}.campaign-card{padding:10px}.video-card>span,.essence-card>span{font-size:5px}.analytics-card{padding:7px}}@media(prefers-reduced-motion:reduce){.float-card{animation:none}}
.hero-visual-stack{display:grid;gap:16px;align-self:center}.hero-art{height:330px;min-height:260px;display:grid;place-items:center;padding:24px;background:var(--ink);border-radius:0 45% 0 0;color:var(--cream)}.hero-art>span{max-width:300px;text-align:center;font-size:clamp(17px,2.2vw,25px);font-weight:600;letter-spacing:.1em;line-height:1.6}.hero-capabilities{display:grid;gap:11px;padding:0 7px}.capability-frame{position:relative;min-height:70px;display:grid;grid-template-columns:50px 1fr;align-items:center;gap:14px;padding:11px 15px;border:1px solid rgba(32,35,33,.28);background:var(--paper);box-shadow:0 5px 0 rgba(29,113,105,.13),0 14px 24px rgba(32,35,33,.1);animation:capability-float 5.6s ease-in-out infinite;translate:0 0}.capability-frame:nth-child(2){margin-inline:13px 0;background:#dcebe4;animation-delay:-1.8s}.capability-frame:nth-child(3){margin-inline:0 13px;background:#e8e2d7;animation-delay:-3.2s}.capability-frame>span:last-child{font-family:var(--serif);font-size:clamp(15px,1.7vw,20px);line-height:1.2}.capability-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(29,113,105,.3);background:rgba(29,113,105,.08);color:var(--teal)}.capability-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-video svg path:last-child{fill:currentColor;stroke:none}@keyframes capability-float{0%,100%{translate:0 0}50%{translate:0 -5px}}@media(max-width:800px){.hero-visual-stack{gap:13px}.hero-art{height:min(70vw,330px);min-height:245px;padding:18px}.hero-art>span{font-size:clamp(16px,5vw,22px)}.hero-capabilities{gap:9px;padding-inline:3px}.capability-frame{min-height:66px;padding:10px 12px;grid-template-columns:44px 1fr;gap:11px}.capability-icon{width:38px;height:38px}.capability-frame>span:last-child{font-size:16px}}@media(max-width:380px){.capability-frame>span:last-child{font-size:14px}}@media(prefers-reduced-motion:reduce){.capability-frame{animation:none}}
.hero-visual-stack{display:block}.hero-art{height:420px;min-height:350px;padding:27px 22px 17px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;background:var(--ink);border-radius:0 45% 0 0;color:var(--cream)}.hero-capabilities{display:grid;gap:10px;width:100%}.capability-frame{position:relative;min-height:72px;display:grid;grid-template-columns:46px 1fr;align-items:center;gap:14px;padding:10px 13px;border:1px solid rgba(32,35,33,.28);background:var(--paper);color:var(--ink);box-shadow:0 5px 0 rgba(29,113,105,.18),0 14px 23px rgba(0,0,0,.16);animation:capability-float 5.2s ease-in-out infinite;translate:0 0}.capability-frame:nth-child(2){margin-left:13px;background:#dcebe4;animation-delay:-1.7s}.capability-frame:nth-child(3){margin-right:12px;background:#e8e2d7;animation-delay:-3.1s}.capability-frame>span:last-child{font-family:var(--serif);font-size:clamp(15px,1.7vw,19px);line-height:1.2}.capability-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(29,113,105,.3);background:rgba(29,113,105,.08);color:var(--teal)}.capability-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-video svg path:last-child{fill:currentColor;stroke:none}.art-tagline{display:block;text-align:center;font-size:9px!important;font-weight:500!important;letter-spacing:.16em!important;line-height:1.4!important;color:#b9d8cc}@keyframes capability-float{0%,100%{translate:0 0}50%{translate:0 -4px}}@media(max-width:800px){.hero-art{height:365px;min-height:340px;padding:24px 17px 15px;gap:13px}.hero-capabilities{gap:9px}.capability-frame{min-height:68px;grid-template-columns:42px 1fr;gap:11px;padding:9px 10px}.capability-icon{width:36px;height:36px}.capability-icon svg{width:24px;height:24px}.capability-frame>span:last-child{font-size:16px}.art-tagline{font-size:8px!important}}@media(max-width:380px){.hero-art{height:350px;min-height:330px;padding-inline:13px}.capability-frame{min-height:65px;grid-template-columns:38px 1fr;gap:9px}.capability-frame>span:last-child{font-size:14px}}@media(prefers-reduced-motion:reduce){.capability-frame{animation:none}}
/* Sculptural hero artwork and its accessible service labels. */
.hero-visual-stack{width:100%;min-width:0}.hero-art{position:relative;width:min(100%,450px);height:425px;justify-self:end;overflow:hidden;background:#171918;border-radius:0 45% 0 0}.hero-sculpture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-service-label{position:absolute;z-index:1;display:block;max-width:43%;font-family:var(--serif);font-size:clamp(14px,1.8vw,21px);font-weight:500;line-height:1.1;letter-spacing:-.025em;text-wrap:balance}.website-label{top:21%;left:9%;color:#202321}.video-label{top:49%;left:9%;color:#f4f1e9}.analytics-label{top:76%;left:9%;color:#202321}@media(max-width:800px){.hero-art{width:min(100%,450px);height:min(100vw,425px);min-height:260px;justify-self:center}.hero-service-label{font-size:clamp(14px,4vw,19px);max-width:44%}}@media(max-width:380px){.hero-service-label{font-size:14px;max-width:46%}}
