:root { --ink: #000; --paper: #fff; --accent: #b300ff; --line: #ddd; --muted: #6a6a6a; --max: 1320px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0px; font-family: Arial, Helvetica, sans-serif; color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button, a, input, textarea, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
button { cursor: pointer; }
button:disabled { cursor: default; }
img { display: block; max-width: 100%; }
svg { display: block; }
::selection { background: var(--accent); color: white; }
.wrap { width: min(var(--max),calc(100% - 104px)); margin: auto; }
.skip { position: fixed; left: 20px; top: -90px; z-index: 100; background: white; color: black; padding: 15px; }
.skip:focus { top: 12px; }
.site-header { height: 96px; background: rgb(0, 0, 0); color: rgb(255, 255, 255); border-bottom: 1px solid rgba(255, 255, 255, 0.15); position: relative; z-index: 30; }
.header-inner { height: 100%; display: flex; align-items: center; gap: 32px; }
.brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand img { width: 44px; height: 44px; object-fit: contain; }
.wordmark { font-size: 24px; font-weight: 700; letter-spacing: -1.2px; }
.wordmark span { color: var(--accent); }
.main-nav { display: flex; align-items: center; gap: 29px; margin-left: auto; font-size: 14px; }
.main-nav a { padding: 10px 0px; }
.main-nav a:hover { color: rgb(217, 139, 255); }
.header-actions { display: flex; align-items: center; gap: 22px; font-size: 13px; }
.client-link { color: rgb(183, 183, 183); }
.small-cta { background: white; color: black; padding: 14px 18px; font-weight: 700; display: flex; gap: 25px; align-items: center; }
.small-cta:hover { background: var(--accent); color: white; }
.arrow { font-size: 20px; font-weight: 400; }
.menu-toggle { display: none; border: 1px solid rgb(85, 85, 85); background: none; color: white; padding: 9px 12px; }
.hero { background: rgb(0, 0, 0); color: rgb(255, 255, 255); padding: 58px 0px 34px; }
.eyebrow { font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase; font-weight: 700; display: flex; align-items: center; gap: 11px; }
.eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.hero-grid { display: grid; grid-template-columns: 1.24fr 1fr; gap: 64px; align-items: center; padding: 34px 0px 56px; }
.hero h1 { font-size: clamp(68px, 7.2vw, 104px); line-height: 0.99; font-weight: 700; letter-spacing: -6px; margin: 0px 0px 30px; }
.hero h1 em { font-style: normal; color: var(--accent); }
.hero-copy { max-width: 460px; color: rgb(189, 189, 189); font-size: 17px; line-height: 1.65; margin: 0px 0px 30px; }
.button-row { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; }
.btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 52px; padding: 14px 20px; border: 1px solid transparent; background: var(--accent); color: white; font-size: 14px; font-weight: 700; transition: background 0.18s, transform 0.18s; }
.btn:hover { background: rgb(138, 0, 199); transform: translateY(-2px); }
.btn.secondary { background: white; border-color: rgb(221, 221, 221); color: black; }
.btn.secondary:hover { background: rgb(241, 241, 241); }
.text-link { font-size: 14px; display: inline-flex; gap: 18px; align-items: center; border-bottom: 1px solid; padding-bottom: 6px; }
.media-slot { position: relative; overflow: hidden; background: rgb(244, 244, 244); isolation: isolate; }
.hero-media { height: 486px; background: rgb(17, 17, 17); outline: rgb(54, 54, 54) solid 1px; outline-offset: -1px; }
.hero-media::before { content: ""; position: absolute; width: 310px; height: 310px; left: 50%; top: 50%; transform: translate(-50%, -50%); border: 1px solid rgba(179, 0, 255, 0.5); border-radius: 50%; z-index: -1; }
.hero-media::after { content: ""; position: absolute; inset: 32px; border: 1px solid rgba(255, 255, 255, 0.07); z-index: -1; }
.frame-mark { position: absolute; width: 20px; height: 20px; border-color: var(--accent); border-style: solid; z-index: 2; }
.frame-mark.tl { top: 16px; left: 16px; border-width: 2px 0px 0px 2px; }
.frame-mark.br { bottom: 16px; right: 16px; border-width: 0px 2px 2px 0px; }
.slot-top { position: absolute; left: 26px; top: 26px; right: 26px; display: flex; justify-content: space-between; align-items: center; color: rgb(165, 165, 165); font-size: 10px; letter-spacing: 1.3px; text-transform: uppercase; }
.slot-top .live { display: flex; align-items: center; gap: 7px; }
.slot-top .live::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }
.slot-center { position: absolute; inset: 0px; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; padding: 45px; z-index: 1; pointer-events: none; }
.slot-center .plus { font-size: 62px; font-weight: 400; line-height: 1; color: var(--accent); margin-bottom: 14px; }
.slot-center strong { font-weight: 400; font-size: 22px; line-height: 1.35; color: rgb(255, 255, 255); }
.slot-center small { color: rgb(136, 136, 136); font-size: 11px; margin-top: 12px; }
.slot-action { position: absolute; left: 26px; bottom: 24px; border: 0px; background: rgb(255, 255, 255); color: rgb(0, 0, 0); padding: 11px 14px; font-size: 11px; font-weight: 700; z-index: 4; display: flex; gap: 24px; align-items: center; }
.slot-action:hover { background: var(--accent); color: white; }
.media-slot > img.uploaded { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.media-slot.has-image .slot-center, .media-slot.has-image .slot-top { display: none; }
.media-slot.has-image .slot-action { opacity: 0; transition: opacity 0.2s; }
.media-slot.has-image:hover .slot-action, .media-slot.has-image:focus-within .slot-action { opacity: 1; }
.hero-bottom { display: flex; justify-content: space-between; gap: 25px; border-top: 1px solid rgba(255, 255, 255, 0.15); padding-top: 22px; color: rgb(153, 153, 153); font-size: 11px; letter-spacing: 0.5px; }
.hero-bottom .scroll { display: flex; gap: 16px; color: white; }
.section { padding: 108px 0px; }
.section-label { display: flex; gap: 14px; align-items: center; font-size: 11px; font-weight: 700; letter-spacing: 1.8px; text-transform: uppercase; margin-bottom: 29px; }
.section-label .number { color: var(--accent); font-size: 12px; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 50px; }
.section h2 { font-size: clamp(34px, 4.3vw, 60px); letter-spacing: -2.7px; line-height: 1.05; margin: 0px; font-weight: 600; }
.section h2 .light { color: rgb(133, 133, 133); }
.section-head p { max-width: 350px; font-size: 15px; line-height: 1.7; color: rgb(102, 102, 102); margin: 0px; }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgb(204, 204, 204); }
.service { padding: 30px 26px 29px 0px; border-bottom: 1px solid rgb(204, 204, 204); position: relative; min-height: 207px; }
.service:not(:nth-child(3n+1)) { padding-left: 27px; border-left: 1px solid rgb(204, 204, 204); }
.service-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 31px; }
.service-num { font-size: 11px; color: rgb(119, 119, 119); }
.service-arrow { display: flex; align-items: center; justify-content: center; width: 29px; height: 29px; border: 1px solid rgb(204, 204, 204); border-radius: 50%; font-size: 16px; transition: 0.2s; }
.service h3 { font-size: 23px; line-height: 1.18; letter-spacing: -0.65px; margin: 0px 0px 12px; }
.service p { max-width: 290px; font-size: 13px; line-height: 1.65; color: rgb(102, 102, 102); margin: 0px; }
.service:hover .service-arrow { background: var(--accent); border-color: var(--accent); color: white; transform: rotate(45deg); }
.works { background: rgb(245, 245, 245); }
.works-head-note { max-width: 330px; font-size: 13px; color: rgb(102, 102, 102); line-height: 1.6; }
.work-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 36px; align-items: start; }
.work-card:nth-child(2) { margin-top: 85px; }
.work-card .media-slot { height: 405px; background: rgb(229, 229, 229); }
.work-card:nth-child(2) .media-slot { height: 320px; background: rgb(218, 218, 218); }
.work-card .slot-center strong { color: rgb(119, 119, 119); font-size: 20px; }
.work-card .slot-center small { color: rgb(119, 119, 119); }
.work-card .slot-action { left: 20px; bottom: 20px; }
.work-card .slot-top { color: rgb(119, 119, 119); left: 20px; top: 20px; }
.work-meta { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; }
.work-meta h3 { margin: 0px; font-size: 22px; letter-spacing: -0.6px; font-weight: 500; }
.work-meta p { font-size: 12px; color: rgb(119, 119, 119); margin: 8px 0px 0px; }
.work-meta > span { font-size: 20px; color: rgb(119, 119, 119); }
.work-footer { display: flex; justify-content: flex-end; margin-top: 35px; }
.studio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.studio h2 { font-size: clamp(34px, 4vw, 56px); max-width: 510px; }
.studio-copy { padding-top: 40px; }
.studio-copy > p { font-size: 18px; line-height: 1.7; letter-spacing: -0.2px; margin: 0px 0px 25px; }
.studio .placeholder-note { font-size: 12px; line-height: 1.7; color: rgb(119, 119, 119); border-left: 2px solid var(--accent); padding-left: 17px; margin: 29px 0px; }
.studio-links { display: flex; gap: 30px; flex-wrap: wrap; }
.process { background: rgb(0, 0, 0); color: white; }
.process .section-head p { color: rgb(153, 153, 153); }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 55px; }
.step { padding: 0px 24px 0px 0px; border-right: 1px solid rgba(255, 255, 255, 0.19); }
.step:not(:first-child) { padding-left: 24px; }
.step:last-child { border: 0px; }
.step-num { display: block; color: var(--accent); font-size: 14px; margin-bottom: 30px; }
.step h3 { font-size: 22px; letter-spacing: -0.7px; margin: 0px 0px 15px; }
.step p { color: rgb(170, 170, 170); font-size: 13px; line-height: 1.7; margin: 0px; }
.process-foot { border-top: 1px solid rgba(255, 255, 255, 0.19); margin-top: 48px; padding-top: 25px; display: flex; align-items: center; justify-content: space-between; gap: 25px; color: rgb(170, 170, 170); font-size: 13px; }
.process-foot a { color: white; }
.knowledge-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 26px; }
.knowledge-item { padding: 25px 0px; border-top: 1px solid rgb(204, 204, 204); }
.knowledge-item > span { color: rgb(102, 102, 102); font-size: 10px; letter-spacing: 1px; text-transform: uppercase; }
.knowledge-item h3 { font-size: 23px; letter-spacing: -0.6px; line-height: 1.25; margin: 27px 0px 22px; max-width: 330px; }
.knowledge-item small { color: rgb(119, 119, 119); font-size: 12px; }
.faq-layout { display: grid; grid-template-columns: 0.7fr 1fr; gap: 100px; }
.faq-list { border-top: 1px solid rgb(204, 204, 204); }
.faq-list details { border-bottom: 1px solid rgb(204, 204, 204); padding: 23px 0px; }
.faq-list summary { list-style: none; cursor: pointer; font-size: 17px; display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.faq-list summary::after { content: "+"; font-size: 25px; color: var(--accent); line-height: 1; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list p { color: rgb(102, 102, 102); line-height: 1.7; font-size: 14px; padding-right: 35px; margin: 17px 0px 0px; }
.contact { background: var(--accent); color: white; padding: 82px 0px; }
.contact-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 80px; align-items: end; }
.contact h2 { font-size: clamp(44px, 5.7vw, 78px); letter-spacing: -3.7px; line-height: 1.02; margin: 0px 0px 30px; font-weight: 600; }
.contact p { font-size: 15px; line-height: 1.7; max-width: 400px; margin: 0px 0px 25px; color: rgb(255, 255, 255); }
.contact .btn { background: white; color: black; min-width: 220px; }
.contact .btn:hover { background: rgb(0, 0, 0); color: white; }
.contact-label { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 700; margin-bottom: 32px; }
.contact-data { padding: 22px 0px 0px; border-top: 1px solid rgba(255, 255, 255, 0.44); font-size: 12px; line-height: 1.7; color: white; }
.site-footer { background: black; color: white; padding: 48px 0px 20px; }
.footer-top { display: flex; justify-content: space-between; align-items: start; gap: 50px; padding-bottom: 45px; }
.footer-links { display: flex; gap: 45px; font-size: 12px; }
.footer-links div { display: flex; flex-direction: column; gap: 14px; }
.footer-links a { color: rgb(170, 170, 170); }
.footer-links a:hover { color: white; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.15); padding-top: 20px; display: flex; justify-content: space-between; color: rgb(136, 136, 136); font-size: 10px; gap: 30px; line-height: 1.5; }
.preview-pill { position: fixed; bottom: 18px; right: 18px; z-index: 50; display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: white; color: black; border: 1px solid rgb(221, 221, 221); box-shadow: rgba(0, 0, 0, 0.067) 0px 4px 20px; font-size: 11px; }
.preview-pill button { background: none; border: 0px; color: rgb(107, 0, 153); font-size: 11px; font-weight: 700; padding: 3px; }
.preview-pill::before { content: ""; width: 6px; height: 6px; background: var(--accent); border-radius: 50%; }
dialog { border: 1px solid rgb(221, 221, 221); padding: 0px; max-width: 600px; width: calc(100% - 36px); max-height: 85vh; overflow: auto; color: black; background: white; }
dialog::backdrop { background: rgba(0, 0, 0, 0.733); backdrop-filter: blur(5px); }
.dialog-inner { padding: 38px; }
.dialog-close { position: absolute; right: 14px; top: 10px; border: 0px; background: none; font-size: 27px; }
.dialog-inner h2 { font-size: 30px; letter-spacing: -1px; margin: 12px 0px 18px; }
.dialog-inner p, .dialog-inner li { font-size: 14px; line-height: 1.7; color: rgb(102, 102, 102); }
.dialog-inner ul { padding-left: 20px; }
.dialog-inner .btn { margin-top: 18px; }
.field { display: block; margin: 19px 0px; font-size: 13px; font-weight: 700; }
.field input, .field textarea { display: block; width: 100%; margin-top: 8px; padding: 12px; border: 1px solid rgb(204, 204, 204); border-radius: 0px; background: white; color: black; font-size: 14px; }
.dialog-note { background: rgb(245, 245, 245); padding: 14px; border-left: 2px solid var(--accent); font-size: 12px !important; }
.status-message { font-size: 12px; color: rgb(85, 85, 85); max-width: 500px; }
.sub-hero { background: black; color: white; padding: 35px 0px 76px; }
.breadcrumbs { display: flex; gap: 12px; flex-wrap: wrap; color: rgb(170, 170, 170); font-size: 12px; margin-bottom: 62px; }
.breadcrumbs a { color: white; }
.sub-hero h1 { font-size: clamp(44px, 6.5vw, 88px); letter-spacing: -4px; line-height: 1.04; margin: 0px 0px 30px; max-width: 1000px; }
.sub-hero p { max-width: 670px; color: rgb(187, 187, 187); font-size: 18px; line-height: 1.7; }
.sub-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 100px; }
.sub-copy h2 { font-size: 34px; letter-spacing: -1.2px; margin: 50px 0px 18px; }
.sub-copy h2:first-child { margin-top: 0px; }
.sub-copy p, .sub-copy li { font-size: 16px; line-height: 1.8; color: rgb(85, 85, 85); }
.sub-copy ul { padding-left: 20px; }
.sub-copy a { color: rgb(115, 0, 165); text-decoration: underline; }
.sub-aside { border-top: 3px solid var(--accent); padding-top: 24px; height: max-content; position: sticky; top: 40px; }
.sub-aside h2 { font-size: 24px; letter-spacing: -0.5px; }
.sub-aside p { font-size: 14px; line-height: 1.7; color: rgb(102, 102, 102); }
.sub-aside a { display: block; padding: 13px 0px; border-bottom: 1px solid rgb(221, 221, 221); font-size: 14px; }
.related-links { display: flex; flex-wrap: wrap; gap: 15px; }
.related-links a { font-size: 13px; }
.file-input { display: none; }
@media (min-width: 1600px) {
  .hero-grid { padding: 48px 0px 65px; }
  .hero-media { height: 530px; }
  .hero { padding-top: 75px; }
}
@media (max-width: 1150px) {
  .wrap { width: calc(100% - 64px); }
  .main-nav { gap: 17px; }
  .header-actions { gap: 15px; }
  .client-link { display: none; }
  .hero-grid { gap: 36px; }
  .hero h1 { font-size: 83px; letter-spacing: -4.7px; }
  .hero-media { height: 450px; }
  .service h3 { font-size: 21px; }
  .studio-grid { gap: 50px; }
  .faq-layout { gap: 65px; }
}
@media (max-width: 900px) {
  .site-header { height: 80px; }
  .header-inner { gap: 20px; }
  .main-nav { display: none; position: absolute; top: 80px; left: 0px; right: 0px; background: black; padding: 25px 32px; border-top: 1px solid rgb(51, 51, 51); flex-direction: column; align-items: stretch; gap: 10px; }
  .main-nav.is-open { display: flex; }
  .menu-toggle { display: block; margin-left: auto; }
  .header-actions { margin-left: 0px; }
  .hero-grid { gap: 30px; grid-template-columns: 1.1fr 1fr; }
  .hero h1 { font-size: 68px; letter-spacing: -4px; }
  .hero-copy { font-size: 15px; }
  .hero-media { height: 400px; }
  .hero-bottom { font-size: 10px; }
  .section { padding: 78px 0px; }
  .section-head { gap: 30px; }
  .section h2 { font-size: 44px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .service:not(:nth-child(3n+1)) { padding-left: 0px; border-left: 0px; }
  .service:nth-child(2n) { padding-left: 25px; border-left: 1px solid rgb(204, 204, 204); }
  .work-grid { gap: 25px; }
  .work-card .media-slot { height: 335px; }
  .work-card:nth-child(2) .media-slot { height: 275px; }
  .work-meta h3 { font-size: 19px; }
  .studio-grid { gap: 40px; }
  .steps { grid-template-columns: 1fr 1fr; gap: 35px; }
  .step:nth-child(2) { border: 0px; }
  .step:nth-child(3) { padding-left: 0px; }
  .step-num { margin-bottom: 20px; }
  .knowledge-item h3 { font-size: 20px; }
  .faq-layout { grid-template-columns: 1fr; gap: 35px; }
  .contact-grid { gap: 40px; }
  .contact h2 { font-size: 60px; }
  .sub-layout { gap: 50px; }
}
@media (max-width: 650px) {
  html { scroll-padding-top: 25px; }
  .wrap { width: calc(100% - 40px); }
  .site-header { height: 74px; }
  .header-inner { gap: 15px; }
  .brand img { width: 35px; height: 35px; }
  .wordmark { font-size: 21px; letter-spacing: -1px; }
  .header-actions { display: none; }
  .main-nav { top: 74px; padding: 25px 20px; }
  .menu-toggle { font-size: 12px; border-color: rgb(85, 85, 85); }
  .hero { padding: 33px 0px 25px; }
  .eyebrow { font-size: 9px; letter-spacing: 1.2px; gap: 8px; }
  .hero-grid { grid-template-columns: 1fr; gap: 35px; padding: 27px 0px 30px; }
  .hero h1 { font-size: clamp(64px, 16.5vw, 95px); letter-spacing: -4px; line-height: 1.02; margin-bottom: 25px; }
  .hero-copy { font-size: 15px; line-height: 1.7; max-width: 370px; margin-bottom: 25px; }
  .button-row { gap: 24px; }
  .btn { font-size: 13px; min-height: 50px; padding: 13px 16px; gap: 24px; }
  .text-link { font-size: 12px; gap: 13px; }
  .hero-media { height: 350px; }
  .hero-media::before { width: 245px; height: 245px; }
  .slot-center strong { font-size: 21px; }
  .hero-bottom { flex-direction: column; gap: 17px; line-height: 1.6; }
  .hero-bottom .scroll { display: none; }
  .section { padding: 60px 0px; }
  .section-label { font-size: 10px; letter-spacing: 1.4px; margin-bottom: 23px; }
  .section-head { display: block; margin-bottom: 33px; }
  .section h2 { font-size: 39px; letter-spacing: -1.8px; line-height: 1.08; }
  .section-head p { font-size: 14px; max-width: 350px; margin-top: 23px; }
  .services-grid { grid-template-columns: 1fr; }
  .service { min-height: 0px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; padding: 23px 0px !important; border-left: 0px !important; }
  .service-top { grid-column: 1 / -1; margin-bottom: 17px; }
  .service h3 { font-size: 21px; line-height: 1.2; margin: 0px; }
  .service p { font-size: 12px; line-height: 1.65; }
  .work-grid { grid-template-columns: 1fr; gap: 35px; }
  .work-card:nth-child(2) { margin: 0px; }
  .work-card .media-slot { height: 300px; }
  .work-card:nth-child(2) .media-slot { height: 265px; }
  .work-meta h3 { font-size: 20px; }
  .work-footer { margin-top: 27px; }
  .studio-grid { grid-template-columns: 1fr; gap: 0px; }
  .studio-copy { padding-top: 30px; }
  .studio-copy > p { font-size: 16px; }
  .studio-links { gap: 25px; }
  .steps { gap: 27px 20px; margin-top: 35px; }
  .step { padding-right: 15px; }
  .step:not(:first-child) { padding-left: 0px; border: 0px; }
  .step:first-child, .step:nth-child(3) { border-right: 1px solid rgb(51, 51, 51); }
  .step h3 { font-size: 19px; letter-spacing: -0.5px; }
  .step p { font-size: 12px; }
  .step-num { margin-bottom: 18px; }
  .process-foot { display: block; font-size: 12px; margin-top: 35px; }
  .process-foot a { margin-top: 18px; }
  .knowledge-grid { grid-template-columns: 1fr; gap: 0px; }
  .knowledge-item { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 22px 0px; }
  .knowledge-item > span { grid-column: 1 / -1; }
  .knowledge-item h3 { margin: 8px 0px; font-size: 22px; max-width: 320px; }
  .knowledge-item small { grid-column: 1 / -1; }
  .faq-layout { gap: 30px; }
  .faq-list summary { font-size: 16px; line-height: 1.4; }
  .faq-list p { font-size: 13px; padding-right: 15px; }
  .contact { padding: 60px 0px; }
  .contact-grid { grid-template-columns: 1fr; gap: 30px; }
  .contact h2 { font-size: 53px; letter-spacing: -2.8px; }
  .contact p { font-size: 14px; }
  .contact-label { font-size: 10px; margin-bottom: 24px; }
  .footer-top { display: block; padding-bottom: 35px; }
  .footer-links { margin-top: 35px; justify-content: space-between; gap: 25px; }
  .footer-bottom { flex-direction: column; gap: 10px; padding-bottom: 35px; }
  .preview-pill { bottom: 10px; right: 10px; padding: 8px 11px; font-size: 10px; gap: 8px; }
  .preview-pill button { font-size: 10px; }
  .dialog-inner { padding: 30px 23px; }
  .sub-hero { padding: 25px 0px 50px; }
  .breadcrumbs { font-size: 11px; margin-bottom: 38px; }
  .sub-hero h1 { font-size: 49px; letter-spacing: -2.7px; }
  .sub-hero p { font-size: 16px; }
  .sub-layout { grid-template-columns: 1fr; gap: 40px; }
  .sub-copy h2 { font-size: 29px; margin-top: 36px; letter-spacing: -1px; }
  .sub-copy p, .sub-copy li { font-size: 15px; }
  .sub-aside { position: static; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, ::before, ::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
}
.plain-info { background: none; color: rgb(170, 170, 170); border: 0px; padding: 0px; font-size: 10px; text-align: left; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; }
.people { border-top: 1px solid rgb(221, 221, 221); }
.people-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.person-photo { height: 360px; background: rgb(240, 240, 240); }
.person-photo .slot-center strong { color: rgb(119, 119, 119); font-size: 18px; }
.person-photo .slot-center small { color: rgb(119, 119, 119); }
.person-photo .slot-action { left: 18px; bottom: 18px; }
.person-meta { display: flex; gap: 15px; padding-top: 24px; align-items: baseline; }
.person-index { font-size: 10px; color: rgb(129, 0, 184); }
.person-meta h3 { font-size: 23px; font-weight: 500; letter-spacing: -0.6px; margin: 0px; }
.person-meta p { font-size: 12px; color: rgb(119, 119, 119); margin: 9px 0px 0px; }
.person-detail { border-top: 1px solid rgb(221, 221, 221); font-size: 12px; color: rgb(119, 119, 119); line-height: 1.7; margin: 20px 0px 0px; padding-top: 15px; }
.people-note { display: flex; align-items: center; gap: 11px; margin-top: 35px; font-size: 11px; color: rgb(119, 119, 119); }
.people-note .dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent); flex-shrink: 0; }
@media (max-width: 900px) {
  .people-grid { gap: 22px; }
  .person-photo { height: 285px; }
  .person-meta h3 { font-size: 20px; }
}
@media (max-width: 650px) {
  .people-grid { grid-template-columns: 1fr; gap: 35px; }
  .person-photo { height: 350px; }
  .person-meta h3 { font-size: 23px; }
  .people-note { align-items: start; line-height: 1.7; }
  .people-note .dot { margin-top: 6px; }
}
.portfolio-index { border-top: 1px solid rgb(204, 204, 204); padding: 20px 0px 30px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.portfolio-index > span, .project-type { font-size: 10px; letter-spacing: 1.3px; }
.project-gallery { grid-template-columns: 1fr 1fr; gap: 64px 36px; }
.project-gallery .work-card:nth-child(n) { margin: 0px; min-width: 0px; }
.project-gallery .work-card:nth-child(n) .media-slot { height: auto; aspect-ratio: 4 / 3; background: rgb(227, 227, 227); }
.project-gallery .work-card:nth-child(4n+2) .media-slot { background: rgb(217, 217, 217); }
.project-gallery .work-card:nth-child(2n) { padding-top: 70px; }
.project-type { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 14px; text-transform: uppercase; }
.project-type > span:first-child { color: rgb(121, 0, 173); }
.work-meta h3 a { display: flex; justify-content: space-between; gap: 20px; }
.work-meta h3 a:hover { color: rgb(121, 0, 173); }
.project-context { font-size: 13px; line-height: 1.65; color: rgb(102, 102, 102); max-width: 400px; margin: 15px 0px; }
.project-service { font-size: 11px; border-bottom: 1px solid rgb(170, 170, 170); padding-bottom: 5px; display: inline-flex; gap: 18px; }
.project-service:hover { color: rgb(121, 0, 173); }
.expanded-works .work-footer { margin-top: 55px; }
.project-story { background: rgb(0, 0, 0); color: white; }
.story-heading { display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; align-items: end; margin-bottom: 45px; }
.story-heading > p { font-size: 15px; color: rgb(170, 170, 170); line-height: 1.7; max-width: 350px; justify-self: end; }
.project-story .light { color: rgb(136, 136, 136); }
.project-story figure, .studio-photo { margin: 0px; min-width: 0px; }
.story-main .media-slot { height: auto; aspect-ratio: 2.2 / 1; background: rgb(22, 22, 22); }
.project-story .media-slot .slot-center strong { color: rgb(170, 170, 170); }
.project-story figcaption { font-size: 11px; color: rgb(136, 136, 136); line-height: 1.6; margin-top: 13px; }
.story-details { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 32px; margin-top: 45px; }
.story-details .media-slot { height: auto; aspect-ratio: 3 / 4; background: rgb(22, 22, 22); }
.story-details .slot-center { padding: 25px; }
.story-details .slot-center strong { font-size: 18px; }
.story-details .slot-top { left: 17px; right: 17px; top: 17px; }
.story-details .slot-action { left: 17px; bottom: 17px; gap: 12px; }
.story-kicker { font-size: 9px; letter-spacing: 1.6px; color: rgb(188, 70, 239); }
.story-brief h3 { font-size: 32px; letter-spacing: -1px; font-weight: 500; line-height: 1.1; margin: 24px 0px 30px; }
.story-brief dl { margin: 0px 0px 25px; }
.story-brief dl > div { border-top: 1px solid rgb(51, 51, 51); padding: 14px 0px; display: grid; grid-template-columns: 64px 1fr; gap: 13px; }
.story-brief dt { font-size: 11px; color: rgb(170, 170, 170); }
.story-brief dd { font-size: 12px; line-height: 1.6; margin: 0px; color: rgb(204, 204, 204); }
.story-brief .text-link { font-size: 12px; }
.studio-photo { grid-column: 1 / -1; margin-top: 10px; }
.studio-photo .media-slot { height: auto; aspect-ratio: 2.5 / 1; background: rgb(239, 239, 239); }
.studio-photo .slot-center strong { color: rgb(119, 119, 119); }
.studio-photo figcaption { font-size: 11px; color: rgb(119, 119, 119); margin-top: 13px; line-height: 1.6; }
.case-notice { font-size: 10px; letter-spacing: 1px; border-left: 2px solid var(--accent); background: rgb(244, 244, 244); padding: 17px; margin-bottom: 35px; }
.sub-copy > .media-slot { height: auto; aspect-ratio: 4 / 3; margin: 35px 0px; background: rgb(238, 238, 238); }
.sub-copy > .media-slot .slot-center strong { color: rgb(119, 119, 119); }
.case-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 35px 20px; margin-bottom: 65px; }
.case-overview .media-slot { height: auto !important; aspect-ratio: 4 / 3; }
.case-overview .work-card { margin: 0px !important; }
.case-overview .slot-center { padding: 15px; }
.case-overview .slot-center strong { font-size: 15px; }
.case-overview .work-meta h3 { font-size: 18px; margin: 0px; }
.case-overview .work-meta h3 a { text-decoration: none; color: rgb(0, 0, 0); }
.case-overview .slot-action { left: 12px; bottom: 12px; font-size: 10px; padding: 9px; gap: 10px; }
.case-overview .slot-top { top: 12px; left: 12px; right: 12px; font-size: 8px; }
.case-overview .project-service { font-size: 10px; }
.case-overview .project-type { font-size: 9px; }
@media (max-width: 900px) {
  .project-gallery { gap: 45px 25px; }
  .project-gallery .work-card:nth-child(2n) { padding-top: 40px; }
  .story-heading { gap: 35px; }
  .story-details { grid-template-columns: 1fr 1fr; gap: 25px; }
  .story-brief { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 35px; }
  .story-brief .story-kicker { grid-column: 1 / -1; }
  .story-brief h3 { margin: 12px 0px; }
  .story-brief dl { grid-area: 2 / 2 / 4; }
  .studio-photo { margin-top: 15px; }
  .studio-photo .media-slot { aspect-ratio: 2 / 1; }
}
@media (max-width: 650px) {
  .portfolio-index { align-items: start; flex-direction: column; padding-bottom: 25px; gap: 20px; }
  .project-gallery { grid-template-columns: 1fr; gap: 40px; }
  .project-gallery .work-card:nth-child(n) { padding-top: 0px; }
  .project-gallery .work-card:nth-child(n) .media-slot { aspect-ratio: 4 / 3; }
  .project-type { font-size: 9px; }
  .project-context { font-size: 12px; }
  .work-meta h3 a { line-height: 1.3; }
  .story-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
  .story-heading > p { justify-self: start; font-size: 14px; margin: 0px; max-width: 100%; }
  .story-main .media-slot { aspect-ratio: 4 / 3; }
  .story-details { gap: 30px 14px; margin-top: 30px; }
  .story-details .media-slot { aspect-ratio: 3 / 4; }
  .story-details .slot-center strong { font-size: 14px; }
  .story-details .slot-center small, .story-details .slot-top { display: none; }
  .story-details .slot-center .plus { font-size: 42px; }
  .story-details .slot-action { left: 8px; right: 8px; bottom: 10px; font-size: 9px; justify-content: space-between; padding: 9px; gap: 4px; }
  .story-brief { display: block; }
  .story-kicker { font-size: 9px; }
  .story-brief h3 { font-size: 30px; margin: 20px 0px; }
  .story-brief dl > div { grid-template-columns: 65px 1fr; }
  .studio-photo { margin-top: 35px; }
  .studio-photo .media-slot { aspect-ratio: 4 / 3; }
  .case-overview { grid-template-columns: 1fr; }
  .project-service { font-size: 11px; }
}
.brands { padding: 58px 0px 64px; background: rgb(255, 255, 255); border-bottom: 1px solid rgb(221, 221, 221); }
.brands-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 32px; }
.brands-kicker { font-size: 9px; letter-spacing: 1.8px; font-weight: 700; color: rgb(121, 0, 173); }
.brands-heading h2 { font-size: 27px; font-weight: 500; letter-spacing: -0.9px; line-height: 1.2; margin: 14px 0px 0px; }
.brands-note { font-size: 11px; color: rgb(119, 119, 119); line-height: 1.6; }
.brand-logos { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); border-top: 1px solid rgb(221, 221, 221); border-left: 1px solid rgb(221, 221, 221); }
.logo-slot { aspect-ratio: 2.5 / 1; background: white; border-right: 1px solid rgb(221, 221, 221); border-bottom: 1px solid rgb(221, 221, 221); display: flex; align-items: center; justify-content: center; min-width: 0px; }
.logo-placeholder { font-size: 20px; letter-spacing: 3px; font-weight: 700; color: rgb(187, 187, 187); padding-bottom: 10px; }
.logo-slot .slot-action { background: transparent; bottom: 12px; left: 50%; transform: translateX(-50%); padding: 5px 8px; gap: 12px; color: rgb(119, 119, 119); font-size: 10px; white-space: nowrap; }
.logo-slot .slot-action:hover { color: rgb(121, 0, 173); background: rgb(247, 239, 251); }
.logo-slot > img.uploaded { object-fit: contain; padding: 26px 40px; }
.logo-slot.has-image .logo-placeholder { display: none; }
.logo-slot.has-image .slot-action { background: white; border: 1px solid rgb(221, 221, 221); bottom: 8px; z-index: 4; }
.logo-slot.has-image:focus-within .slot-action, .logo-slot.has-image:hover .slot-action { opacity: 1; }
@media (max-width: 900px) {
  .logo-slot > img.uploaded { padding: 22px 24px; }
  .logo-slot { aspect-ratio: 2 / 1; }
  .brands-heading h2 { font-size: 24px; }
}
@media (max-width: 650px) {
  .brands { padding: 38px 0px 42px; }
  .brands-heading { display: block; margin-bottom: 25px; }
  .brands-heading h2 { font-size: 25px; max-width: 300px; }
  .brands-note { display: block; margin-top: 15px; font-size: 10px; }
  .brand-logos { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .logo-slot { aspect-ratio: 1.9 / 1; }
  .logo-placeholder { font-size: 17px; letter-spacing: 2px; }
  .logo-slot > img.uploaded { padding: 20px; }
  .logo-slot .slot-action { bottom: 7px; font-size: 9px; }
}
.brands-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0px 0px 18px; }
.brands-scroll-note { font-size: 11px; color: rgb(119, 119, 119); }
.brands-buttons { display: flex; gap: 8px; }
.brands-buttons button { border: 1px solid rgb(221, 221, 221); background: white; color: rgb(0, 0, 0); height: 36px; min-width: 36px; padding: 0px 12px; font-size: 12px; }
.brands-buttons button:hover { border-color: rgb(121, 0, 173); color: rgb(121, 0, 173); }
.brands-buttons [data-brands="pause"] { min-width: 90px; }
.brand-logos { display: flex; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: rgb(179, 0, 255) rgb(238, 238, 238); border-right: 1px solid rgb(221, 221, 221); padding-bottom: 9px; touch-action: pan-x pan-y; }
.brand-logos .logo-slot { flex: 0 0 calc(25% - 1px); min-width: 200px; aspect-ratio: 2.5 / 1; }
.brand-logos:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
@media (max-width: 900px) {
  .brand-logos .logo-slot { flex-basis: 32%; min-width: 190px; }
}
@media (max-width: 650px) {
  .brands-controls { gap: 12px; align-items: center; }
  .brands-scroll-note { font-size: 10px; max-width: 130px; line-height: 1.6; }
  .brands-buttons { gap: 5px; }
  .brands-buttons button { height: 34px; min-width: 30px; padding: 0px 8px; font-size: 10px; }
  .brands-buttons [data-brands="pause"] { min-width: 75px; }
  .brand-logos .logo-slot { flex-basis: 65%; min-width: 180px; aspect-ratio: 2.1 / 1; }
}
.brand-logos { scrollbar-width: none; padding-bottom: 0px; }
.brand-logos::-webkit-scrollbar { display: none; width: 0px; height: 0px; }
@media (prefers-reduced-motion: reduce) {
  .brand-logos { overflow-x: visible; flex-wrap: wrap; }
  .brand-logos .logo-slot { flex: 1 0 24%; }
}
@media (max-width: 650px) and (prefers-reduced-motion: reduce) {
  .brand-logos .logo-slot { flex-basis: 49%; min-width: 0px; }
}
.brand-logos, .brand-logos .logo-slot { border: 0px; }
.photography-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 55px 35px; }
.photo-category { min-width: 0px; }
.photo-category > .media-slot { aspect-ratio: 4 / 3; background: rgb(237, 237, 237); }
.photo-category .slot-center strong { color: rgb(119, 119, 119); }
.photo-category-copy { padding-top: 24px; }
.photo-category-num { font-size: 10px; color: rgb(121, 0, 173); letter-spacing: 1.5px; }
.photo-category-copy h2 { font-size: 30px; letter-spacing: -1px; line-height: 1.15; margin: 16px 0px; }
.photo-category-copy h2 a { display: flex; align-items: start; justify-content: space-between; gap: 30px; }
.photo-category-copy h2 a:hover { color: rgb(121, 0, 173); }
.photo-category-copy p { font-size: 14px; color: rgb(102, 102, 102); line-height: 1.75; max-width: 530px; margin-bottom: 22px; }
.photo-category:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; gap: 45px; border-top: 1px solid rgb(221, 221, 221); padding-top: 45px; }
.photo-category:last-child .photo-category-copy { align-self: center; padding-top: 0px; }
.photo-category:last-child > .media-slot { aspect-ratio: 4 / 3; }
.photo-overview-contact { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.photo-overview-contact h2 { font-size: 40px; }
.photo-overview-contact p { font-size: 15px; line-height: 1.7; color: rgb(102, 102, 102); max-width: 650px; }
.photo-overview-contact .btn { flex-shrink: 0; }
.photo-question { border-top: 1px solid rgb(221, 221, 221); border-bottom: 1px solid rgb(221, 221, 221); padding: 20px 0px; }
.photo-question summary { cursor: pointer; font-size: 16px; line-height: 1.5; }
.photo-question p { font-size: 14px !important; }
@media (max-width: 900px) {
  .photo-category-copy h2 { font-size: 25px; }
  .photo-category:last-child { gap: 28px; }
  .photo-overview-contact { display: block; }
  .photo-overview-contact .btn { margin-top: 15px; }
}
@media (max-width: 650px) {
  .photography-grid { grid-template-columns: 1fr; gap: 40px; }
  .photo-category:last-child { display: block; grid-column: auto; padding-top: 0px; border-top: 0px; }
  .photo-category:last-child .photo-category-copy { padding-top: 24px; }
  .photo-category-copy h2 { font-size: 28px; }
  .photo-category-copy p { font-size: 14px; }
  .photo-overview-contact h2 { font-size: 34px; }
}
.main-nav { height: 100%; }
.services-dropdown { height: 100%; display: flex; align-items: center; }
.services-trigger { display: flex; align-items: center; gap: 8px; padding: 10px 0px; background: none; border: 0px; color: inherit; font-size: inherit; }
.services-trigger:hover, .services-trigger[aria-expanded="true"] { color: rgb(217, 139, 255); }
.services-trigger > span { transition: transform 0.15s; }
.services-trigger[aria-expanded="true"] > span { transform: rotate(180deg); }
.services-panel[hidden] { display: none !important; }
.services-panel { position: absolute; left: 50%; transform: translateX(-50%); top: calc(100% - 1px); width: min(1120px, 100% - 64px); background: white; color: black; border-top: 3px solid var(--accent); box-shadow: rgba(0, 0, 0, 0.133) 0px 18px 35px; padding: 27px 32px 33px; z-index: 40; }
.services-panel-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid rgb(221, 221, 221); padding-bottom: 20px; margin-bottom: 25px; }
.services-panel-top > span { font-size: 9px; letter-spacing: 1.6px; color: rgb(121, 0, 173); font-weight: 700; }
.services-panel-top > a { font-size: 11px !important; padding: 0px !important; }
.services-panel-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 30px; }
.services-panel-group { min-width: 0px; }
.services-panel-group:not(:first-child) { border-left: 1px solid rgb(221, 221, 221); padding-left: 28px; }
.main-nav .services-panel a { color: black; line-height: 1.4; }
.main-nav .services-panel a:hover { color: rgb(121, 0, 173); }
.main-nav .services-group-title { display: flex; justify-content: space-between; align-items: center; font-size: 25px; font-weight: 600; letter-spacing: -0.8px; padding: 0px; }
.photography-nav > p { font-size: 12px; line-height: 1.6; color: rgb(119, 119, 119); margin: 12px 0px 20px; }
.photography-nav-links { display: grid; grid-template-columns: 1fr; gap: 2px; }
.main-nav .photography-nav-links a { font-size: 13px; padding: 9px 12px; background: rgb(247, 247, 247); border-left: 2px solid transparent; }
.main-nav .photography-nav-links a:hover { background: rgb(245, 233, 251); border-left-color: var(--accent); }
.main-nav .services-all-photo { display: flex; align-items: center; justify-content: space-between; font-size: 11px; margin-top: 17px; padding: 4px 0px; }
.services-group-label { margin: 3px 0px 24px; font-size: 9px; letter-spacing: 1.5px; color: rgb(119, 119, 119); font-weight: 700; }
.main-nav .services-category-link { display: block; padding: 0px 0px 21px; margin-bottom: 20px; border-bottom: 1px solid rgb(238, 238, 238); }
.services-category-link strong { display: block; font-size: 16px; font-weight: 600; letter-spacing: -0.3px; }
.services-category-link > span { display: block; font-size: 11px; color: rgb(119, 119, 119); line-height: 1.7; margin-top: 8px; }
.services-panel-group .services-category-link:last-child { margin-bottom: 0px; border-bottom: 0px; padding-bottom: 0px; }
@media (max-width: 900px) {
  .main-nav { height: auto; max-height: calc(100dvh - 80px); overflow-y: auto; }
  .services-dropdown { display: block; height: auto; }
  .services-trigger { width: 100%; justify-content: space-between; padding: 10px 0px; font-size: 14px; }
  .services-panel { position: static; transform: none; width: 100%; box-shadow: none; padding: 22px 20px; margin: 12px 0px 18px; }
  .services-panel-grid { grid-template-columns: 1fr 1fr; gap: 25px; }
  .photography-nav { grid-column: 1 / -1; }
  .services-panel-group:not(:first-child) { padding: 23px 0px 0px; border-left: 0px; border-top: 1px solid rgb(221, 221, 221); }
  .photography-nav-links { grid-template-columns: 1fr 1fr; gap: 5px; }
  .services-panel-top { align-items: start; gap: 15px; }
  .services-panel-top > span { font-size: 8px; line-height: 1.6; }
  .main-nav .services-panel-top > a { font-size: 10px !important; flex-shrink: 0; }
  .services-panel-group > p.services-group-label { font-size: 9px; margin-bottom: 20px; }
  .main-nav .services-group-title { font-size: 25px; }
}
@media (max-width: 650px) {
  .main-nav { max-height: calc(100dvh - 74px); }
  .services-panel { padding: 20px 15px; }
  .services-panel-grid { grid-template-columns: 1fr; gap: 24px; }
  .photography-nav { grid-column: auto; }
  .photography-nav-links { grid-template-columns: 1fr; }
  .main-nav .photography-nav-links a { padding: 11px 10px; }
  .services-panel-top > span { max-width: 130px; }
  .services-category-link strong { font-size: 16px; }
  .services-panel-top { margin-bottom: 22px; }
  .services-trigger { font-size: 14px; }
}
.service-catalog-nav { display: grid; grid-template-columns: 245px minmax(0px, 1fr); gap: 35px; }
.service-tabs { display: flex; flex-direction: column; gap: 4px; border-right: 1px solid rgb(221, 221, 221); padding-right: 25px; }
.service-tab { display: flex; align-items: center; justify-content: space-between; gap: 15px; border: 0px; background: rgb(247, 247, 247); color: rgb(34, 34, 34); text-align: left; padding: 13px 12px; font-size: 13px; line-height: 1.4; }
.service-tab > span:last-child { font-size: 9px; color: rgb(136, 136, 136); white-space: nowrap; }
.service-tab[aria-selected="true"] { background: rgb(0, 0, 0); color: white; }
.service-tab[aria-selected="true"] > span:last-child { color: rgb(217, 139, 255); }
.service-tab:hover { background: rgb(241, 227, 248); color: rgb(121, 0, 173); }
.service-tab[aria-selected="true"]:hover { background: rgb(0, 0, 0); color: white; }
.service-category-panel[hidden] { display: none !important; }
.service-category-panel { min-height: 340px; min-width: 0px; }
.main-nav .service-category-heading { display: flex; justify-content: space-between; font-size: 29px; font-weight: 600; letter-spacing: -1px; padding: 0px; gap: 20px; }
.service-category-panel > p { font-size: 12px; line-height: 1.75; color: rgb(119, 119, 119); margin: 14px 0px 24px; max-width: 600px; }
.service-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.main-nav .service-choice { display: flex; align-items: center; justify-content: space-between; padding: 16px 15px; background: rgb(247, 247, 247); gap: 16px; min-height: 56px; font-size: 13px; line-height: 1.5; }
.service-choice strong { font-weight: 500; }
.main-nav .service-choice:hover { background: rgb(243, 229, 250); }
.main-nav .service-category-all { display: flex; justify-content: space-between; padding: 18px 0px 0px; font-size: 11px; border-top: 1px solid rgb(221, 221, 221); margin-top: 24px; }
.catalog-note { padding: 18px 22px; border-left: 2px solid var(--accent); background: rgb(246, 246, 246); font-size: 13px; line-height: 1.8; color: rgb(102, 102, 102); margin: 0px 0px 40px; }
.catalog-note a { color: rgb(121, 0, 173); text-decoration: underline; }
.catalog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px 35px; }
.catalog-card { min-width: 0px; }
.catalog-card > .media-slot { aspect-ratio: 4 / 3; background: rgb(238, 238, 238); }
.catalog-card .slot-center strong { color: rgb(119, 119, 119); }
.catalog-card > div:last-child { padding-top: 24px; }
.catalog-card h2 { font-size: 30px; letter-spacing: -1px; margin: 16px 0px; line-height: 1.15; }
.catalog-card h2 a { display: flex; justify-content: space-between; gap: 20px; }
.catalog-card h2 a:hover { color: rgb(121, 0, 173); }
.catalog-card p { font-size: 14px; color: rgb(102, 102, 102); line-height: 1.8; margin: 0px 0px 22px; }
@media (max-width: 900px) {
  .service-catalog-nav { grid-template-columns: 190px minmax(0px, 1fr); gap: 20px; }
  .service-tabs { padding-right: 15px; }
  .service-tab { font-size: 12px; padding: 12px 9px; }
  .service-choices { grid-template-columns: 1fr; }
  .service-category-panel { min-height: 0px; }
  .main-nav .service-category-heading { font-size: 25px; }
  .main-nav .service-choice { padding: 13px; font-size: 12px; }
  .catalog-card h2 { font-size: 26px; }
}
@media (max-width: 650px) {
  .service-catalog-nav { display: block; }
  .service-tabs { display: grid; grid-template-columns: 1fr 1fr; border-right: 0px; border-bottom: 1px solid rgb(221, 221, 221); padding: 0px 0px 20px; margin-bottom: 23px; gap: 6px; }
  .service-tab { font-size: 11px; min-height: 44px; padding: 10px; gap: 8px; }
  .service-tab > span:last-child { font-size: 8px; }
  .main-nav .service-category-heading { font-size: 25px; }
  .service-category-panel > p { font-size: 12px; margin: 12px 0px 20px; }
  .service-choices { grid-template-columns: 1fr; }
  .catalog-grid { grid-template-columns: 1fr; gap: 38px; }
  .catalog-card h2 { font-size: 28px; }
  .catalog-note { font-size: 12px; padding: 15px 17px; }
}

.company-contact-links{display:flex;flex-direction:column;margin:0 0 30px}.company-contact-links>a{display:grid;grid-template-columns:1fr auto;gap:8px 18px;padding:22px 0;border-bottom:1px solid currentColor}.company-contact-links>a>span:first-child{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;grid-column:1/-1}.company-contact-links strong{font-size:clamp(20px,2.2vw,31px);font-weight:500;letter-spacing:-.6px;overflow-wrap:anywhere}.company-contact-links>a>span:last-child{font-size:24px}.contact-address-short{padding-bottom:25px}.contact-address-short>span{display:block;font-size:11px;line-height:1.7}.contact-address-short address{font-style:normal;line-height:1.6;font-size:18px;margin:12px 0}.contact-address-short>span:last-child{font-size:10px;opacity:.9}.footer-company{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;border-top:1px solid #333;padding:30px 0;color:#aaa;font-size:11px;line-height:1.8}.footer-company strong{color:white;font-size:13px}.footer-company p{max-width:470px;margin:10px 0 0}.footer-company>div:nth-child(2){display:flex;flex-direction:column;gap:10px}.footer-company a{color:white;overflow-wrap:anywhere}.footer-company address{font-style:normal;color:white;margin-bottom:13px}.company-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.company-page-grid>div{min-width:0}.company-page-grid .company-contact-links{margin-top:30px}.company-page-card{padding:35px;background:#f5f5f5}.company-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#666;line-height:1.6}.company-legal-name p{font-size:19px;line-height:1.6;margin:15px 0 28px}.company-numbers{display:flex;gap:45px;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:20px 0;margin:0 0 28px}.company-numbers dt{font-size:10px;letter-spacing:1px;color:#666;margin-bottom:8px}.company-numbers dd{margin:0;font-size:17px}.company-address address{font-size:18px;font-style:normal;line-height:1.7;margin:15px 0 20px}.company-address address>span{font-size:12px;color:#666}.company-admin-note{font-size:10px!important;line-height:1.7!important;color:#777;overflow-wrap:anywhere}.company-admin-note a{text-decoration:underline;color:#7900ad}.contact-page-hint{font-size:12px;color:#666;line-height:1.8;margin-top:20px;max-width:380px}@media(max-width:900px){.company-page-grid{gap:35px}.company-page-card{padding:25px}.company-contact-links strong{font-size:25px}.footer-company{gap:25px;grid-template-columns:1.3fr 1fr}.footer-company>div:last-child{grid-column:1/-1}}@media(max-width:650px){.company-page-grid{grid-template-columns:1fr;gap:40px}.company-page-card{padding:25px 20px}.company-contact-links strong{font-size:25px}.company-page-grid .company-contact-links{margin-top:20px}.footer-company{grid-template-columns:1fr;gap:23px}.footer-company>div:last-child{grid-column:auto}.company-numbers{gap:30px}.company-legal-name p{font-size:17px}.contact-address-short address{font-size:17px}}

.contact-grid>div{min-width:0}@media(max-width:650px){.contact h2{font-size:clamp(36px,10.8vw,53px)}}

@media(max-width:650px){.sub-hero h1{font-size:clamp(35px,11vw,49px)}}

/* Offer overview, quote and verified-reference slots */
.offer-family{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;padding:44px 0;border-bottom:1px solid #ddd}.offer-family:first-child{padding-top:0}.offer-family h2{font-size:clamp(28px,3.7vw,46px);line-height:1.1;margin:20px 0}.offer-family h2 a{text-decoration:none;color:inherit}.offer-family p{max-width:380px;color:#656565}.offer-specialties{display:grid;align-content:center}.offer-specialties a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #e8e8e8;color:inherit;text-decoration:none;font-weight:600}.offer-specialties a:hover{color:#8700bf}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.guide-card{padding:30px 0;border-top:2px solid #b300ff}.guide-card h2{font-size:30px;line-height:1.15;margin:26px 0}.guide-card h2 a{color:inherit;text-decoration:none}.guide-card p{color:#656565;line-height:1.7}.quote-section{background:#f3f0f6}.quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.quote-layout h2{font-size:clamp(40px,5.5vw,76px);line-height:1.03;letter-spacing:-.045em;margin:0 0 24px}.quote-layout>div>p{max-width:440px;line-height:1.7;margin-bottom:30px}.quote-points{list-style:none;padding:0;margin:0 0 28px}.quote-points li{display:flex;gap:28px;padding:22px 0;border-bottom:1px solid #d9d1de}.quote-points li>span{color:#8700bf;font-size:13px}.quote-points h3{margin:0 0 8px}.quote-points p{margin:0;line-height:1.6;color:#626262}.reference-placeholder{display:flex;gap:42px;border-top:1px solid #ddd;padding-top:36px}.reference-mark{font-size:130px;line-height:1;color:#b300ff}.reference-placeholder h3{font-size:clamp(24px,3vw,36px);margin:8px 0 20px}.reference-placeholder p{max-width:650px;line-height:1.7;color:#656565}.guide-all{margin-top:32px}@media(max-width:800px){.offer-family,.quote-layout{grid-template-columns:1fr;gap:24px}.guide-grid{grid-template-columns:1fr}.reference-placeholder{gap:20px}.reference-mark{font-size:80px}.offer-family{padding:32px 0}}

.company-socials{display:flex;flex-wrap:wrap;gap:12px 24px;margin:22px 0 28px}.company-socials a{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding:5px 0}.company-socials a:hover{opacity:.7}.company-socials a:focus-visible{outline:2px solid currentColor;outline-offset:5px}.footer-company .company-socials{margin:5px 0 0;gap:8px 20px}.footer-company .company-socials a{font-size:11px}

/* Compact footer: all company information in one shared column. */
.site-footer{padding:38px 0 22px}.footer-top{display:grid;grid-template-columns:minmax(260px,390px) auto;gap:50px;align-items:start;padding-bottom:28px}.footer-identity{min-width:0}.footer-identity>.brand{margin-bottom:18px}.footer-company{display:flex;flex-direction:column;gap:13px;border:0;padding:0;font-size:12px;line-height:1.65;color:#b6b2bc}.footer-company p.footer-legal{max-width:350px;margin:0;font-size:11px;line-height:1.7;color:#aaa5b2}.footer-company address{margin:0;color:#d8d4dd;font-size:12px}.footer-company>.footer-registration{display:flex;flex-direction:column;gap:0;font-size:11px;color:#aaa5b2}.footer-company>.footer-contact{display:flex;flex-direction:column;gap:4px}.footer-company>.company-socials{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0}.footer-company .company-socials a{font-size:12px;border:0;padding:0;gap:10px}.footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-top:12px;font-size:12px}.footer-links div{gap:12px}.footer-bottom{padding-top:17px;gap:20px}.footer-company>div:last-child{grid-column:auto}@media(max-width:900px){.footer-top{grid-template-columns:minmax(220px,320px) 1fr;gap:35px}.footer-links{grid-template-columns:1fr 1fr;gap:25px 20px;margin:0}.footer-company{gap:13px}}@media(max-width:650px){.footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:24px}.footer-links{padding-top:24px;border-top:1px solid #28242c;grid-template-columns:1fr 1fr;margin:0}.footer-company{max-width:350px;gap:12px}.footer-bottom{gap:8px;padding-bottom:35px}}
/* Editorial service families: shared site chrome, specific material slots. */
.service-hero{background:#08070a;color:white;padding:30px 0 0}.service-hero .breadcrumbs{margin-bottom:50px}.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:70px;align-items:center}.service-hero h1{font-size:clamp(40px,5.6vw,78px);letter-spacing:-.055em;line-height:1.04;margin:24px 0}.service-hero h1 span{color:#bc5ce5}.service-hero .eyebrow{font-size:10px}.service-lead{max-width:580px;font-size:16px;line-height:1.8;color:#aaa1b2;margin:0 0 30px}.service-hero .text-link{color:#ddd}.service-image{margin:0;min-width:0}.service-image .media-slot{min-height:0;aspect-ratio:4/3}.service-image figcaption{display:flex;justify-content:space-between;gap:15px;font-size:10px;line-height:1.5;padding-top:13px;color:#817589}.service-hero-image{transform:rotate(2deg)}.service-hero-image .media-slot{background:#19121f;aspect-ratio:4/4.4}.service-hero-image figcaption{color:#8c7c99}.service-hero-baseline{border-top:1px solid #302637;margin-top:55px;padding:18px 0;display:flex;justify-content:space-between;gap:20px;color:#8c8097;font-size:9px;letter-spacing:1px;text-transform:uppercase}.service-output-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.service-output-cards article{border-top:2px solid #b300ff;padding:25px 0 10px}.service-output-cards .eyebrow{color:#9051a9;font-size:10px}.service-output-cards h3{font-size:clamp(20px,2vw,28px);font-weight:500;line-height:1.35;letter-spacing:-.6px;margin:25px 0 0}.service-draft-note{font-size:11px;color:#948799;margin:30px 0 0}.service-gallery-section{background:#f5f2f7}.service-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:35px;align-items:end}.service-gallery .service-image:first-child .media-slot{aspect-ratio:4/3}.service-gallery .service-image:nth-child(2) .media-slot{aspect-ratio:3/4}.service-gallery .media-slot{background:#e5dfeb;color:#665171}.service-gallery .slot-center small{color:#8d7a98}.service-case-link{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:40px;padding-top:20px;border-top:1px solid #dcd2e3}.service-case-link p{font-size:13px;color:#85708f}.service-brief{background:#121015;color:white}.service-brief-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.service-brief h2{font-size:clamp(38px,4.4vw,62px);line-height:1.05;letter-spacing:-.045em;margin:25px 0}.service-brief p{color:#a99bb2;line-height:1.8;font-size:14px}.service-brief .text-link{color:white;display:inline-block;margin-top:24px}.service-brief ol{list-style:none;padding:0;margin:0}.service-brief li{display:flex;gap:30px;border-top:1px solid #382a41;padding:24px 0}.service-brief li>span{font-size:11px;color:#ce6dff;padding-top:4px}.service-brief li p{margin:0}.service-conditions{display:grid;grid-template-columns:1fr 1fr;gap:100px}.service-conditions h2,.service-related h2{font-size:clamp(34px,3.8vw,54px);line-height:1.1;letter-spacing:-.04em;margin:24px 0}.service-conditions p{font-size:14px;line-height:1.8;color:#7f6e89;max-width:500px}.service-answers details{border-top:1px solid #ded5e4;padding:20px 0}.service-answers summary{cursor:pointer;font-weight:600;font-size:15px;line-height:1.5;padding-right:15px}.service-answers p{font-size:13px}.service-answers a{color:#8500ba;text-decoration:underline}.service-related{background:#f6f3f8}.service-related-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:25px 0 35px}.service-related-list a{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #ddd2e4;color:#302237;font-size:16px}.service-related-list a:hover{color:#9100cf}.service-end{background:#b300ff;color:white;padding:60px 0}.service-end>.wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.service-end h2{font-size:clamp(38px,4.5vw,64px);line-height:1.05;letter-spacing:-.045em;margin:20px 0 0}.service-end .btn{background:white;color:#171019}.service-editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 40px}.service-editorial-card{min-width:0}.service-editorial-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:center}.service-editorial-copy{padding-top:25px}.service-editorial-copy .eyebrow{color:#9c74ae;font-size:10px}.service-editorial-copy h3{font-size:clamp(27px,3vw,43px);letter-spacing:-.04em;line-height:1.15;margin:20px 0}.service-editorial-copy p{font-size:14px;line-height:1.8;color:#82718c;max-width:520px;margin-bottom:25px}.service-family-filmy-reklamowe .service-hero-image .media-slot{aspect-ratio:16/11}.service-family-strony-internetowe .service-hero-image{transform:rotate(-2deg)}.service-family-strony-internetowe .service-hero-image .media-slot{aspect-ratio:5/4;border-top:18px solid #35213f}.service-family-dron .service-hero-image .media-slot{aspect-ratio:1}.service-family-branding .service-hero-image{transform:rotate(-3deg)}.service-family-prowadzenie-social-media .service-hero-image .media-slot{aspect-ratio:4/5}.service-family-kampanie-reklamowe .service-hero-image .media-slot{aspect-ratio:1}@media(max-width:1000px){.service-hero-grid{gap:35px}.service-hero h1{font-size:clamp(36px,5.8vw,65px)}.service-brief-grid,.service-conditions{gap:45px}.service-output-cards{gap:22px}.service-editorial-card:first-child{gap:30px}}@media(max-width:700px){.service-hero{padding-top:24px}.service-hero .breadcrumbs{margin-bottom:30px}.service-hero-grid{grid-template-columns:1fr;gap:35px}.service-hero h1{font-size:clamp(37px,10.8vw,62px)}.service-lead{font-size:14px}.service-hero-image{transform:none;max-width:100%;width:100%}.service-hero-image .media-slot{aspect-ratio:4/3}.service-hero-baseline{margin-top:35px;flex-wrap:wrap;gap:8px 20px;font-size:8px}.service-hero-baseline span:last-child{display:none}.service-output-cards{grid-template-columns:1fr;gap:10px}.service-output-cards article{padding:20px 0}.service-output-cards h3{font-size:23px;margin-top:15px}.service-gallery{gap:25px;grid-template-columns:1fr}.service-gallery .service-image:nth-child(2){max-width:82%;margin-left:auto;width:100%}.service-gallery .service-image:nth-child(2) .media-slot{aspect-ratio:4/3}.service-case-link{align-items:start;flex-direction:column;gap:8px;margin-top:25px}.service-brief-grid,.service-conditions{grid-template-columns:1fr;gap:35px}.service-brief .text-link{margin-top:10px}.service-related-list{grid-template-columns:1fr}.service-related-list a{font-size:15px}.service-end>.wrap{align-items:start;flex-direction:column;gap:30px}.service-editorial-grid{grid-template-columns:1fr;gap:40px}.service-editorial-card:first-child{grid-column:auto;display:block}.service-editorial-copy{padding-top:20px}.service-image figcaption{font-size:9px}.service-family-branding .service-hero-image,.service-family-strony-internetowe .service-hero-image{transform:none}}

.service-hero h1 .service-name{display:block;font-size:13px;line-height:1.6;font-weight:500;letter-spacing:.04em;color:#b99ac9;margin-bottom:20px}
/* Shop and client account belong to the main AsodiumArt website. */
.main-nav>a.nav-shop{display:inline-flex;align-items:center;gap:9px;border:1px solid #b300ff;border-radius:5px;padding:7px 12px;color:#dd93ff;background:#b300ff1c}.main-nav>a.nav-shop:hover{background:#b300ff;color:white}.main-nav>a.nav-shop:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.home-shop{background:#17101f;color:white;padding:85px 0}.home-shop-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}.home-shop h2{font-size:clamp(38px,4.7vw,66px);line-height:1.07;letter-spacing:-.045em;margin:25px 0}.home-shop h2 span{color:#cb69ff}.home-shop p{font-size:15px;line-height:1.8;color:#aa98b5;max-width:510px}.home-shop .btn{margin:18px 0 0;background:#b300ff;color:white}.home-shop-image{position:relative}.home-shop-image .media-slot{aspect-ratio:4/3;min-height:0;background:#24152f}.shop-image-label{display:block;font-size:9px;letter-spacing:1.5px;color:#937ba0;padding-top:12px}.home-shop .access-note,.access-note{font-size:11px;line-height:1.7;color:#8d7b98}.home-panel{background:#f2edf6;padding:60px 0}.home-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.home-panel h2{font-size:clamp(36px,4vw,54px);line-height:1.07;letter-spacing:-.04em;margin:20px 0}.home-panel p{font-size:14px;color:#7b6c86;max-width:480px;line-height:1.8}.home-panel-actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px}.home-panel-actions .access-note{max-width:340px}.account-entry{background:#f4f0f7;padding:48px 0 80px}.account-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.account-intro .breadcrumbs{margin-bottom:65px}.account-intro h1{font-size:clamp(40px,4.5vw,66px);line-height:1.06;letter-spacing:-.045em;margin:25px 0}.account-intro>p{max-width:460px;font-size:16px;line-height:1.8;color:#80708b}.account-intro ul{list-style:none;padding:0;margin:30px 0}.account-intro li{padding:9px 0;font-size:13px;color:#63506f}.account-intro li:before{content:'↗';color:#a000df;margin-right:15px}.login-card{background:white;padding:36px;border:1px solid #e4dbe9;border-radius:12px;max-width:520px;width:100%;margin:25px 0}.login-card h2{font-size:32px;letter-spacing:-1px;margin:18px 0 12px}.login-card>p{font-size:13px;line-height:1.8;color:#8b7897}.login-demo-notice{font-size:11px;background:#f5ecfa;border-left:2px solid #b300ff;padding:13px 15px;line-height:1.7;color:#80528e;margin:24px 0}.login-card fieldset{padding:0;margin:0;border:0;min-width:0}.login-card label{display:flex;flex-direction:column;gap:8px;font-size:12px;margin:18px 0}.login-card input{font:inherit;border:1px solid #ded4e5;border-radius:5px;padding:12px;background:#f8f6fa;color:#9b8da5;width:100%;min-width:0}.login-card fieldset .btn{width:100%;opacity:.5;cursor:not-allowed;margin-top:5px;justify-content:center}.login-divider{border-top:1px solid #e7deed;margin:28px 0 20px;padding-top:18px;color:#b09abb;font-size:9px;letter-spacing:1.5px}.login-card>.text-link{font-size:13px}.login-card .access-note{margin-top:20px;font-size:10px}.account-entry-grid>*{min-width:0}@media(max-width:950px){.home-shop-grid{gap:35px}.account-entry-grid{gap:35px}.login-card{padding:25px}.home-panel-grid{gap:35px}}@media(max-width:650px){.home-shop{padding:55px 0}.home-shop-grid,.home-panel-grid,.account-entry-grid{grid-template-columns:1fr;gap:30px}.home-shop h2{font-size:39px}.home-shop p{font-size:14px}.home-panel{padding:45px 0}.home-panel-actions{gap:16px}.account-entry{padding:28px 0 50px}.account-intro .breadcrumbs{margin-bottom:30px}.account-intro h1{font-size:40px}.login-card{margin:0;max-width:none}.account-intro>p{font-size:14px}.main-nav>a.nav-shop{align-self:flex-start}.main-nav .nav-client-mobile{display:block}}@media(min-width:901px){.main-nav .nav-client-mobile{display:none}}

.account-intro .breadcrumbs,.account-intro .breadcrumbs a{color:#786784}.account-intro .breadcrumbs a:hover{color:#8500b8}

/* Use only the supplied A symbol as the brand mark. */
.site-header .brand,.site-footer .brand{gap:0}.site-header .brand img{width:48px;height:48px}.site-footer .brand img{width:50px;height:50px}@media(max-width:650px){.site-header .brand img{width:42px;height:42px}}

/* Decorative rotation with a stable visible offer and no layout shift between phrases. */
.hero-rotator{font-size:clamp(42px,5.8vw,80px);font-weight:650;line-height:1.04;letter-spacing:-.055em;margin:18px 0 22px}.hero-rotator-fixed{display:block}.hero-rotator-window{display:flex;align-items:flex-start;min-height:2.15em;margin-top:6px;color:#b300ff;max-width:100%;overflow:hidden}#hero-service-word{display:block;transition:opacity .2s ease,transform .2s ease;overflow-wrap:normal}#hero-service-word.is-changing{opacity:0;transform:translateY(10px)}.hero h1.hero-offer-title{font-size:clamp(16px,1.5vw,20px);font-weight:500;line-height:1.5;letter-spacing:-.02em;margin:0 0 16px;color:#e6ddea}.hero-motion-toggle{border:0;background:none;color:#998ba3;font:inherit;font-size:10px;padding:5px 0;cursor:pointer;display:flex;gap:10px;align-items:center;margin:0 0 15px}.hero-motion-toggle[hidden]{display:none}.hero-motion-toggle:hover{color:white}.hero-motion-toggle:focus-visible{outline:2px solid #b300ff;outline-offset:5px}@media(max-width:650px){.hero-rotator{font-size:clamp(42px,11.5vw,65px);margin:20px 0}.hero h1.hero-offer-title{font-size:16px}.hero-offer-title br{display:none}.hero-rotator-window{min-height:2.2em}}@media(prefers-reduced-motion:reduce){#hero-service-word{transition:none}}

/* Compact single-line service rotation, without a visible playback control. */
.hero-rotator{margin-bottom:18px}.hero-rotator-window{min-height:0;height:1.12em;align-items:center;margin-top:2px}#hero-service-word{white-space:nowrap;line-height:1.08;max-width:100%;transition:opacity .15s ease,transform .15s ease}.hero-motion-toggle{display:none}@media(max-width:650px){.hero-rotator-window{min-height:0;height:1.12em}.hero-rotator{margin-bottom:18px}}@media(prefers-reduced-motion:reduce){#hero-service-word{transition:none}}

.wp-site-blocks{padding:0}.wp-block-post-content{margin:0}.wp-site-blocks>header,.wp-site-blocks>footer{margin:0}.wp-block-asodium-layout{margin-block:0}.asodium-editor-layout{border:1px dashed #d9c6e7;padding:12px;margin:8px 0}.asodium-editor-caption{font-size:10px;color:#876093;letter-spacing:1px}.asodium-editor-text{min-height:20px}.asodium-editor-media{padding:25px;background:#f4eff7;border:1px dashed #ae83c7;text-align:center}.asodium-editor-media img{max-width:100%;max-height:350px;object-fit:contain}.wp-block-asodium-media .media-slot{min-height:220px}.asodium-media-image{position:relative;width:100%;height:100%;min-height:inherit;aspect-ratio:inherit;object-fit:cover;display:block}.media-slot:has(>.asodium-media-image){padding:0;overflow:hidden}.brand>.wp-block-asodium-logo{display:flex}.woocommerce-area{max-width:1320px;padding:60px 42px;margin:auto}.woocommerce-area h1{font-size:42px;line-height:1.1;margin:0 0 30px}.woocommerce-area .woocommerce{margin:30px 0}.account-message{border-left:3px solid #b300ff;padding:18px;background:#f6eefb;margin:25px 0}.woocommerce-area input:not([type=checkbox]){padding:12px;border:1px solid #d9ccdf}.woocommerce-area button,.woocommerce-area .button{background:#b300ff;color:white;padding:12px 18px;border:0}.woocommerce-area label{display:block}.woocommerce-area a{text-decoration:underline}.woocommerce-area .woocommerce-MyAccount-navigation ul{padding:0;list-style:none}.woocommerce-area .woocommerce-MyAccount-navigation li{padding:10px 0}.woocommerce-area .woocommerce-MyAccount-content{min-width:0}@media(max-width:650px){.woocommerce-area{padding:40px 22px}.woocommerce-area h1{font-size:34px}}

.account-shortcuts,.aa-panel-nav{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0 35px}.account-shortcuts a,.aa-panel-nav a{padding:10px 15px;background:#f1e8f8;border:1px solid #e0cde9;border-radius:6px;text-decoration:none;font-size:13px;color:#762894}.client-dashboard>section{padding:35px 0;border-top:1px solid #e6dceb}.client-dashboard h2{font-size:30px;margin:10px 0 25px}.aa-projects,.aa-assets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.aa-project-card,.aa-file{display:block;border:1px solid #e0d4e8;background:#faf7fc;padding:25px;border-radius:12px;text-decoration:none!important}.aa-project-card h2{font-size:24px}.aa-project-card p,.aa-file p{color:#82708e;font-size:13px}.aa-notice,.aa-empty{background:#f4edf8;padding:22px;border-left:3px solid #b300ff;margin:20px 0}.aa-form{margin:20px 0;max-width:750px}.aa-form label{display:flex;flex-direction:column;gap:7px;font-size:13px}.aa-form input:not([type=checkbox]),.aa-form textarea,.aa-form select{width:100%;padding:12px;border:1px solid #d7c8e0;border-radius:5px;background:white;font:inherit}.aa-form .button{background:#b300ff;color:white;padding:12px 18px;border:0;border-radius:5px}.aa-check{display:flex!important;flex-direction:row!important;gap:10px}.aa-honey{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.aa-message{background:#f7f1fa;padding:20px;margin:18px 0;border-radius:8px}.client-dashboard details{border-top:1px solid #e0d3e8;padding:20px 0}.client-dashboard summary{font-weight:600;cursor:pointer}.login-card #loginform label{font-size:12px;display:block}.login-card #loginform input:not([type=checkbox]){width:100%;padding:12px;margin-top:7px}.login-card .login-submit input{background:#b300ff;color:white;border:0;padding:12px!important;cursor:pointer}.login-card .login-remember input{width:auto}.woocommerce .products li.product{border:1px solid #e4d9eb;padding:20px!important;border-radius:10px}.woocommerce .products li.product img{object-fit:contain}.woocommerce table.shop_table{border-color:#dfd4e7;border-radius:8px}.woocommerce a.button,.woocommerce button.button{background:#b300ff!important;color:white!important}.woocommerce .woocommerce-MyAccount-navigation ul{list-style:none;padding:0}.woocommerce .woocommerce-MyAccount-navigation li a{display:block;padding:10px 12px;border-bottom:1px solid #e3d9e9}.woocommerce .woocommerce-MyAccount-content{overflow-x:auto}@media(max-width:650px){.aa-projects,.aa-assets{grid-template-columns:1fr}.client-dashboard h2{font-size:25px}}
