@font-face {
  font-family:"Garet Heavy";
  src:url('/fonts/Garet-Heavy.woff2') format('woff2');
  font-weight:850;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:"Kaushan Script";
  src:url('/fonts/KaushanScript-Regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:"DM Sans";
  src:url('/fonts/DMSans-Variable.woff2') format('woff2');
  font-weight:100 1000;
  font-style:normal;
  font-display:swap
}
:root {
  --paper:#faf8f2;
  --ink:#171717;
  --orange:#ff6500;
  --orange-text:#b74100;
  --line:#d8d4cb;
  --muted:#66635e;
  --garet:"Garet Heavy",sans-serif;
  --script:"Kaushan Script",cursive;
  --body:"DM Sans",sans-serif
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  font-size:18px;
  line-height:1.5;
  font-synthesis:none
}
body:has(dialog[open]) {
  overflow:hidden
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button,input,textarea {
  font:inherit
}
button {
  color:inherit;
  cursor:pointer
}
button {
  border:0;
  background:none
}
a {
  color:inherit;
  text-decoration:none
}
p,h1,h2,h3,figure,dl,dd {
  margin:0
}
p+p {
  margin-top:12px
}
img {
  display:block;
  width:100%;
  height:auto
}
h1,h2,h3 {
  font-family:var(--garet);
  font-weight:850;
  letter-spacing:-.035em
}
h1,h2 {
  line-height:1.08
}
h2 {
  font-size:clamp(42px,5.3vw,78px)
}
h3 {
  font-size:clamp(21px,1.9vw,28px);
  line-height:1.22
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid currentColor;
  outline-offset:6px
}
::selection {
  background:var(--orange);
  color:var(--ink)
}
.wrap {
  width:calc(100% - 96px);
  max-width:1360px;
  margin-inline:auto
}
.section {
  padding-block:100px
}
.eyebrow {
  font-size:12px;
  font-weight:600;
  letter-spacing:.25em;
  text-transform:uppercase;
  margin-bottom:22px
}
.script {
  font-family:var(--script);
  font-weight:400;
  letter-spacing:0;
  color:var(--orange);
  display:inline-block;
  line-height:1.3;
  padding-right:.1em
}
.underline {
  position:relative
}
.underline:after {
  content:"";
  position:absolute;
  height:5px;
  background:currentColor;
  left:8%;
  right:5%;
  bottom:.02em;
  border-radius:70% 35% 60% 40%;
  transform:rotate(-2deg)
}
.intro {
  font-size:21px;
  line-height:1.5;
  margin-top:27px;
  margin-bottom:36px;
  max-width:1080px
}
.small {
  font-size:15px
}
.center {
  text-align:center
}
.accent {
  color:var(--orange)
}
.dark {
  background:var(--ink);
  color:var(--paper)
}
.orange {
  background:var(--orange);
  color:var(--ink)
}
.number {
  font-family:var(--garet);
  font-weight:850;
  font-size:27px;
  color:var(--orange-text);
  line-height:1.2
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  background:var(--orange);
  color:var(--ink);
  padding:18px 25px;
  min-height:58px;
  font-weight:600;
  font-size:17px;
  line-height:1.3;
  transition:background .2s,transform .2s
}
.button>span,.text-link>span {
  font-size:24px;
  line-height:1
}
.button:hover {
  background:#ed5b00;
  transform:translateY(-2px)
}
.button.outline {
  border:1.5px solid var(--ink);
  background:transparent
}
.button.outline:hover {
  background:var(--ink);
  color:var(--paper)
}
.text-link {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid currentColor;
  padding:4px 0;
  font-size:17px;
  line-height:1.5;
  text-align:left;
  flex-shrink:0;
  transition:gap .2s
}
.text-link:hover {
  gap:23px
}
.text-link>span {
  color:var(--orange-text)
}
.dark .text-link>span {
  color:var(--orange)
}
.section-bottom {
  margin-top:40px;
  padding-top:23px;
  border-top:1px solid currentColor;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px
}
.section-bottom p {
  font-size:17px
}
.section-bottom .small {
  font-size:15px;
  margin-top:7px
}
.section-bottom h3+p {
  margin-top:8px
}
.align-end {
  justify-content:flex-end
}
.header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-block:20px;
  border-bottom:1px solid var(--ink);
  gap:30px
}
.brand {
  display:inline-flex;
  align-items:center;
  width:172px;
  flex:0 0 auto
}
.brand img {
  display:block;
  width:100%;
  height:auto
}
.desktop-nav {
  display:flex;
  align-items:center;
  gap:32px;
  font-size:15px;
  font-weight:500
}
.desktop-nav>a:not(.nav-cta):hover {
  box-shadow:0 1px var(--orange)
}
.nav-cta {
  background:var(--ink);
  color:var(--paper);
  padding:13px 20px;
  display:flex;
  align-items:center;
  gap:15px
}
.nav-cta:hover {
  background:var(--orange);
  color:var(--ink)
}
.menu-toggle {
  display:none
}
.skip-link {
  position:fixed;
  top:10px;
  left:15px;
  z-index:100;
  background:var(--ink);
  color:white;
  padding:15px;
  transform:translateY(-150%)
}
.skip-link:focus {
  transform:translateY(0)
}
.hero-heading {
  padding-top:24px;
  position:relative;
  z-index:1
}
.hero-heading .eyebrow {
  margin-bottom:12px;
  font-size:11px;
  letter-spacing:.22em
}
.hero-heading h1 {
  font-size:clamp(60px,8.45vw,128px);
  letter-spacing:-.045em;
  line-height:1.04
}
.hero-heading .script {
  font-size:1.06em;
  line-height:1.1
}
.hero-heading .underline:after {
  height:6px;
  bottom:-.045em
}
.hero-photo {
  position:relative;
  margin-top:10px;
  isolation:isolate
}
.hero-photo img {
  aspect-ratio:2.5;
  object-fit:contain;
  mix-blend-mode:multiply;
  max-height:600px
}
.photo-caption {
  font-size:11px;
  letter-spacing:.055em;
  font-weight:500;
  text-align:right;
  padding:6px 12px;
  color:var(--muted)
}
.hero-photo .photo-caption {
  position:absolute;
  bottom:7px;
  right:36px;
  background:var(--paper)
}
.hero-photo .hero-actions {
  position:absolute;
  z-index:2;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  width:max-content;
  margin:0;
  padding:0
}
.hero-photo .hero-actions .button {
  min-height:48px;
  padding:13px 17px;
  font-size:15px
}
.social-proof {
  border-top:1px solid var(--ink);
  padding:8px 0 0
}
.logo-caption {
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:17px;
  padding-inline:45px
}
.logo-caption p {
  font-size:16px
}
.marquee {
  overflow:hidden;
  margin-top:2px;
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)
}
.marquee-track {
  display:flex;
  width:max-content;
  animation:marquee 40s linear infinite
}
.logo-group {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:100px;
  min-width:0;
  padding:18px 100px 18px 0
}
.client-logo {
  display:grid;
  place-items:center;
  flex:0 0 150px;
  width:150px;
  height:112px;
  margin:0
}
.client-logo img {
  display:block;
  width:auto;
  height:88px;
  max-width:100%;
  max-height:calc(100% - 16px);
  object-fit:contain;
  object-position:center
}
.client-logo--burkardt img {
  transform:none;
  clip-path:circle(50%)
}
.hero-actions {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:35px;
  margin-top:30px
}
.problem-layout {
  display:grid;
  grid-template-columns: .8fr 1.2fr;
  gap:55px
}
#probleme {
  padding-top:40px;
  padding-bottom:45px
}
#drehtag {
  padding-top:45px
}
#probleme .section-bottom {
  margin-top:24px;
  padding-top:16px;
  justify-content:flex-end
}
.problem-intro {
  border-right:1px solid var(--ink);
  padding-right:35px
}
.problem-intro h2 {
  font-size:clamp(65px,7.8vw,110px);
  line-height:1
}
.problem-intro .script {
  font-size:.72em;
  display:block;
  line-height:1.18;
  margin-top:7px
}
.camera-photo {
  width:90%;
  max-width:390px;
  margin:20px auto 0;
  mix-blend-mode:multiply;
  aspect-ratio:1.9;
  object-fit:contain
}
.problems {
  list-style:none;
  margin:0;
  padding:0
}
.problems li {
  display:grid;
  grid-template-columns:44px 1fr;
  gap:23px;
  border-bottom:1px solid var(--line);
  padding:24px 0
}
.problems li:first-child {
  padding-top:0
}
.problems li:last-child {
  border:0;
  padding-bottom:0
}
.problems h3 {
  font-size:clamp(22px,1.95vw,28px)
}
.problems p {
  margin-top:9px
}
.shoot-layout {
  display:grid;
  grid-template-columns:1.08fr 1fr;
  gap:36px
}
.shoot-main {
  position:relative
}
.shoot-main img {
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:center
}
.image-label {
  position:absolute;
  left:12px;
  bottom:12px;
  background:rgba(23,23,23,.88);
  color:var(--paper);
  padding:5px 9px;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase
}
.shoot-main>.image-label {
  top:12px;
  bottom:auto
}
.format-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px 22px
}
.format-image {
  position:relative
}
.format-image img {
  aspect-ratio:1.7;
  object-fit:cover
}
.format-card h3 {
  font-size:21px;
  margin-top:12px
}
.format-card p {
  font-size:16px;
  margin-top:5px
}
.demo-note {
  font-size:12px;
  letter-spacing:.06em;
  margin:28px 0 24px;
  color:#c5c1b9
}
.project-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:25px
}
.project-image {
  display:block;
  position:relative;
  padding:0;
  width:100%;
  overflow:hidden
}
.project-image img {
  aspect-ratio: .95;
  object-fit:cover;
  transition:transform .35s
}
.project-image:hover img {
  transform:scale(1.025)
}
.project-open {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:58px;
  height:58px;
  border:1px solid white;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(23,23,23,.48);
  color:white;
  font-size:28px
}
.project-image:hover .project-open {
  background:var(--orange);
  color:var(--ink);
  border-color:var(--orange)
}
.project-card h3 {
  font-size:25px;
  line-height:1.3;
  margin:19px 0 15px
}
.project-card dt {
  color:var(--orange);
  font-weight:600;
  margin-top:12px
}
.project-card dd {
  font-size:17px;
  margin-top:2px
}
.services {
  list-style:none;
  padding:0;
  margin:10px 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:66px;
  position:relative
}
.services:before {
  content:"";
  position:absolute;
  left:50%;
  top:25px;
  bottom:25px;
  width:1px;
  background:var(--line)
}
.services li {
  display:grid;
  grid-template-columns:40px 1fr;
  gap:18px;
  padding:28px 0;
  border-bottom:1px solid var(--line)
}
.services li:nth-last-child(-n+2) {
  border-bottom:0
}
.services h3 {
  font-size:23px
}
.services h3 a {
  font:inherit;
  letter-spacing:inherit;
  padding:0 34px 0 0;
  position:relative;
  text-align:left;
  width:100%
}
.services h3 a>span {
  position:absolute;
  right:0;
  top:-3px;
  color:var(--orange-text);
  font-family:var(--body);
  font-size:28px;
  font-weight:400;
  transition:transform .2s
}
.services h3 a:hover>span {
  transform:translate(3px,-3px)
}
.services p {
  font-size:17px;
  margin-top:10px
}
.team-layout {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:10px;
  align-items:center
}
.team-copy {
  z-index:1
}
.team-copy h2 {
  font-size:clamp(48px,5.3vw,76px);
  line-height:1.07
}
.orange .script {
  color:var(--ink);
  line-height:1.17
}
.team-copy>p:not(.eyebrow) {
  margin-top:25px;
  max-width:480px;
  font-size:19px
}
.team-copy .button {
  margin-top:25px
}
.team-photo {
  margin-right:-30px;
  margin-left:-35px;
  position:relative
}
.team-photo img {
  mix-blend-mode:multiply;
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 97%,transparent)
}
.team-photo .photo-caption {
  color:var(--ink)
}
.team-values {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:35px;
  border-top:1px solid var(--ink);
  margin-top:32px;
  padding-top:28px
}
.team-values>div+div {
  border-left:1px solid var(--ink);
  padding-left:35px
}
.team-values h3 {
  font-size:29px
}
.team-values p {
  margin-top:12px;
  font-size:18px
}
.process {
  max-width:1120px
}
.process h2 {
  font-size:clamp(42px,5.1vw,74px)
}
.phases {
  list-style:none;
  margin:60px 0 32px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:23px
}
.phases li {
  position:relative;
  display:grid;
  grid-template-columns:64px 1fr;
  gap:34px
}
.phases li:not(:last-child):after {
  content:"";
  position:absolute;
  left:31px;
  top:62px;
  bottom:-25px;
  width:2px;
  background:var(--orange);
  z-index:-1
}
.phase-number {
  display:grid;
  place-items:center;
  background:var(--orange);
  color:var(--ink);
  width:64px;
  height:64px;
  border-radius:50%;
  font-family:var(--garet);
  font-weight:850;
  font-size:26px
}
.phase-body {
  border:1px solid #b9b5ad;
  border-radius:7px;
  padding:30px 34px
}
.phase-body h3 {
  font-size:clamp(24px,3.1vw,43px)
}
.phase-body>p {
  margin-top:13px;
  font-size:18px
}
.phase-body .phase-tags {
  color:var(--orange-text);
  font-weight:600;
  font-size:16px;
  margin-top:19px
}
.faq {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:70px
}
.faq h2 {
  font-size:clamp(70px,7vw,100px);
  line-height:1
}
.faq .intro {
  margin:32px 0 25px;
  font-size:24px
}
.faq>div>p:not(.eyebrow,.intro) {
  font-size:17px
}
.faq-list {
  border-top:1px solid var(--ink)
}
.faq details {
  border-bottom:1px solid var(--ink)
}
.faq summary {
  list-style:none;
  cursor:pointer;
  font-family:var(--garet);
  font-size:23px;
  letter-spacing:-.03em;
  line-height:1.3;
  padding:25px 40px 25px 0;
  position:relative
}
.faq summary::-webkit-details-marker {
  display:none
}
.faq-icon {
  position:absolute;
  right:0;
  top:29px;
  width:22px;
  height:22px
}
.faq-icon:before,.faq-icon:after {
  position:absolute;
  content:"";
  background:var(--orange-text);
  width:20px;
  height:2px;
  top:10px;
  left:0
}
.faq-icon:after {
  transform:rotate(90deg)
}
details[open] .faq-icon:after {
  transform:rotate(0)
}
.faq-answer {
  padding:0 32px 25px 0;
  font-size:18px
}
.todo-tag {
  color:var(--orange-text);
  font-size:12px;
  font-weight:600;
  letter-spacing:.03em
}
.contact {
  padding-bottom:70px;
  overflow:hidden
}
.contact-layout {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:10px;
  align-items:center
}
.contact-layout--single {
  grid-template-columns:1fr
}
.contact-copy {
  z-index:1
}
.contact h2 {
  font-size:clamp(45px,5.25vw,76px)
}
.contact .intro {
  max-width:630px;
  font-size:20px
}
.check-list {
  list-style:none;
  padding:0;
  margin:25px 0 30px
}
.check-list li {
  position:relative;
  padding-left:34px;
  margin-top:12px;
  font-size:18px
}
.check-list li:before {
  content:"✓";
  color:var(--orange);
  font-weight:600;
  font-size:24px;
  position:absolute;
  left:0;
  top:-4px
}
.contact-actions {
  display:flex;
  align-items:center;
  gap:28px;
  flex-wrap:wrap
}
.contact-copy>.small {
  margin-top:10px
}
.inquiry-compass {
  width:100%;
  max-width:540px;
  justify-self:end;
  padding:27px;
  border:1px solid rgba(250,248,242,.28);
  background:rgba(250,248,242,.06);
  color:var(--paper)
}
.compass-topline { display:flex; align-items:baseline; justify-content:space-between; gap:16px }
.compass-topline .eyebrow { color:var(--orange); margin:0; }
.compass-count { margin:0; color:#d5cec2; font-size:13px; white-space:nowrap; }
.compass-progress { height:2px; margin:16px 0 25px; background:rgba(250,248,242,.24); overflow:hidden; }
.compass-progress span { display:block; width:25%; height:100%; background:var(--orange); transition:width .25s ease; }
.compass-step { min-width:0; margin:0; padding:0; border:0; }
.compass-step legend { max-width:23ch; padding:0; font-family:var(--garet); font-size:clamp(24px,2.2vw,31px); font-weight:850; line-height:1.08; letter-spacing:-.035em; }
.compass-description { margin:13px 0 0; color:#d5cec2; font-size:15px; line-height:1.45; }
.compass-options { display:grid; gap:10px; margin-top:22px; }
.compass-options--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.compass-options--contact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.compass-option { min-height:82px; padding:15px; border:1px solid rgba(250,248,242,.28); color:var(--paper); background:transparent; text-align:left; transition:border-color .18s,background .18s,color .18s,transform .18s; }
.compass-option strong { display:block; font-size:16px; line-height:1.2; }
.compass-options--contact .compass-option strong { white-space:nowrap; font-size:15px; }
.compass-option span { display:block; margin-top:6px; color:#d5cec2; font-size:12px; line-height:1.32; }
.compass-option:hover,.compass-option:focus-visible { border-color:var(--orange); transform:translateY(-2px); }
.compass-option[aria-pressed="true"] { border-color:var(--orange); background:var(--orange); color:var(--ink); }
.compass-option[aria-pressed="true"] span { color:#3c200e; }
.compass-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:22px; }
.compass-fields label { display:grid; gap:7px; color:#d5cec2; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.compass-fields input,.compass-fields textarea { width:100%; border:1px solid rgba(250,248,242,.35); border-radius:0; padding:12px; color:var(--paper); background:transparent; font:inherit; font-size:15px; text-transform:none; letter-spacing:0; }
.compass-fields input:focus,.compass-fields textarea:focus { outline:2px solid var(--orange); outline-offset:2px; border-color:var(--orange); }
.compass-message { grid-column:1 / -1; }
.compass-fields textarea { resize:vertical; min-height:88px; }
.compass-fields textarea::placeholder { color:#b6afa3; }
.compass-summary h3 { margin:5px 0 9px; font-size:clamp(29px,2.6vw,37px); }
.compass-summary h4 { margin:23px 0 0; font-family:var(--garet); font-size:22px; letter-spacing:-.03em; }
.compass-summary > p:not(.eyebrow) { margin:0; color:#d5cec2; font-size:15px; line-height:1.45; }
.compass-summary dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; margin:22px 0 0; }
.compass-summary dl > div { min-width:0; padding:11px 0; border-top:1px solid rgba(250,248,242,.22); }
.compass-summary dl > div:last-child { grid-column:1 / -1; }
.compass-summary .compass-summary-message { grid-column:1 / -1; }
.compass-summary dt { color:var(--orange); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.compass-summary dd { margin:5px 0 0; overflow-wrap:anywhere; font-size:15px; line-height:1.35; }
.compass-hint { min-height:20px; margin:15px 0 0; color:#ffb17b; font-size:13px; }
.compass-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:10px; }
.compass-actions .button { min-height:49px; padding:12px 17px; font-size:15px; }
.compass-back { color:var(--paper); font-size:14px; }
.compass-back > span { color:var(--orange); }
.compass-note { margin:14px 0 0; color:#b6afa3; font-size:11px; line-height:1.45; }
.compass-final-note { margin-top:16px !important; color:#d5cec2; font-size:12px !important; }
.inquiry-compass [hidden] { display:none !important; }
.chair-photo {
  margin-right:-30px;
  margin-left:-60px
}
.chair-photo img {
  mix-blend-mode:lighten;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 90%,transparent)
}
.footer {
  padding-block:35px 24px
}
.footer-main {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px
}
.footer .brand {
  width:172px
}
.footer .small {
  margin-top:12px;
  font-size:13px
}
.footer-contact {
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:14px;
  font-size:14px
}
.footer-contact a {
  text-decoration:underline;
  text-underline-offset:4px
}
.footer nav {
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  font-size:14px
}
.footer a:hover {
  color:var(--orange-text)
}
.footer .legal-links {
  gap:22px
}
.footer-bottom {
  border-top:1px solid var(--line);
  display:flex;
  gap:25px;
  justify-content:space-between;
  margin-top:30px;
  padding-top:19px;
  font-size:11px;
  color:var(--muted)
}
.contact-page {
  min-height:calc(100vh - 160px);
  display:grid;
  align-items:center;
  padding-block:110px
}
.contact-page h1 {
  max-width:850px;
  font-family:var(--garet);
  font-size:clamp(48px,7vw,104px);
  line-height:.95;
  letter-spacing:-.055em;
  margin:0
}
.contact-page .intro {
  max-width:610px;
  margin:32px 0 0
}
.contact-page-actions {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px
}
.contact-page .button.secondary {
  background:transparent;
  border:1px solid rgba(250,248,242,.62);
  color:var(--paper)
}
.contact-page .button.secondary:hover {
  background:var(--paper);
  border-color:var(--paper);
  color:var(--ink)
}
.contact-address {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:32px;
  font-size:18px
}
.contact-address span { color:var(--orange); font-weight:700 }
.contact-address a { text-decoration:underline; text-underline-offset:5px }
.contact-page .small { margin-top:22px }
dialog {
  border:1px solid var(--line);
  border-radius:0;
  padding:0;
  background:var(--paper);
  color:var(--ink);
  max-width:680px;
  width:calc(100% - 40px);
  max-height:88dvh;
  overscroll-behavior:contain
}
dialog::backdrop {
  background:rgba(12,12,12,.7);
  backdrop-filter:blur(5px)
}
.dialog-inner {
  padding:44px;
  position:relative
}
.dialog-close {
  position:absolute;
  right:12px;
  top:7px;
  font-size:34px;
  width:44px;
  height:44px;
  line-height:1
}
.dialog-inner>.eyebrow {
  padding-right:30px
}
.dialog-inner h2 {
  font-size:38px;
  line-height:1.13;
  margin-bottom:24px;
  overflow-wrap:anywhere
}
.dialog-inner p {
  font-size:17px
}
.dialog-inner>.button {
  margin-top:22px
}
.notice {
  padding:20px;
  background:#eeeae0;
  border-left:3px solid var(--orange);
  margin:23px 0;
  font-size:16px
}
.notice strong {
  font-weight:600
}
.notice p {
  margin-top:8px
}
.detail-list {
  padding-left:20px
}
.detail-list li {
  margin-top:15px
}
.detail-list p {
  margin-top:3px
}
.dialog-photo {
  aspect-ratio:1.7;
  object-fit:cover;
  margin-bottom:20px
}
.dialog-projects {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
  margin-bottom:24px
}
.dialog-inner dt {
  font-weight:600;
  color:var(--orange-text);
  margin-top:12px
}
.dialog-inner dd {
  font-size:17px
}
.mobile-menu {
  max-width:none;
  width:100%;
  height:100dvh;
  max-height:100dvh;
  border:0;
  margin:0;
  padding:24px;
  inset:0
}
.mobile-menu-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--ink);
  padding-bottom:22px
}
.mobile-menu-head button {
  font-size:36px;
  width:44px;
  height:44px;
  line-height:1
}
.mobile-menu nav {
  display:flex;
  flex-direction:column;
  gap:0;
  margin:35px 0
}
.mobile-menu nav>a:not(.button) {
  font-family:var(--garet);
  font-size:32px;
  letter-spacing:-.03em;
  padding:15px 0;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between
}
.mobile-menu nav .button {
  margin-top:30px
}
.legal-page {
  max-width:900px;
  min-height:65vh
}
.legal-page h1 {
  font-size:clamp(40px,6vw,76px)
}
.legal-page h2 {
  font-size:26px;
  margin:30px 0 16px
}
.legal-page .button {
  margin-top:28px
}
.font-proof {
  max-width:1100px
}
.font-proof h1 {
  font-size:clamp(36px,5vw,66px)
}
.font-proof>p {
  margin-top:24px
}
.font-proof article {
  padding:35px 0;
  border-bottom:1px solid var(--line)
}
.font-proof article h2 {
  font-family:var(--body);
  font-size:20px;
  font-weight:600;
  letter-spacing:0;
  margin-bottom:20px
}
.proof-heavy {
  font-family:var(--garet);
  font-weight:850
}
.proof-script {
  font-family:var(--script);
  font-weight:400;
  color:var(--orange);
  line-height:1.5
}
.proof-body {
  font-family:var(--body);
  font-weight:400
}
.proof-heavy,.proof-script,.proof-body {
  font-size:clamp(24px,3.5vw,48px)
}
.font-state {
  font-size:14px;
  color:var(--muted)
}
.noscript-notice {
  padding:20px;
  background:var(--ink);
  color:var(--paper);
  font-size:16px
}
.font-error {
  background:#ffe1cd;
  color:var(--ink);
  padding:15px;
  text-align:center;
  font-size:15px
}
:root {
  --orange-heading:#ef5700
}
.script,.proof-script {
  color:var(--orange-heading)
}
.dark .script {
  color:var(--orange)
}
.orange .script {
  color:var(--ink)
}
.nav-cta:focus-visible {
  outline-color:var(--ink)
}
.dark .button:focus-visible {
  outline-color:var(--paper)
}
.team-photo img {
  mix-blend-mode:normal;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 96%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 94%,transparent);
  mask-composite:intersect
}
.format-image img {
  object-position:center 25%
}
.format-card:nth-child(4) img {
  object-position:center 45%
}
@keyframes marquee {
  to {
    transform:translateX(-50%)
  }
}
@media(min-width:1600px) {
  .hero-photo {
    max-width:1600px;
    margin-inline:auto
  }
}
@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 64px)
  }
  .desktop-nav {
    gap:20px
  }
  .desktop-nav>a:first-child {
    display:none
  }
  .nav-cta {
    font-size:13px;
    padding:12px
  }
  .section {
    padding-block:75px
  }
  .problem-layout {
    gap:32px
  }
  .problem-intro {
    padding-right:24px
  }
  .problems li {
    gap:12px;
    grid-template-columns:32px 1fr;
    padding-block:19px
  }
  .problems h3 {
    font-size:21px
  }
  .problems p {
    font-size:17px
  }
  .shoot-layout {
    gap:24px
  }
  .format-grid {
    gap:22px 18px
  }
  .format-card h3 {
    font-size:18px
  }
  .services {
    column-gap:45px
  }
  .services li {
    gap:12px;
    grid-template-columns:33px 1fr
  }
  .services h3 {
    font-size:20px
  }
  .team-values h3 {
    font-size:23px
  }
  .team-values p {
    font-size:17px
  }
  .faq {
    gap:40px
  }
  .faq summary {
    font-size:21px
  }
  .project-card h3 {
    font-size:22px
  }
  .footer-main {
    align-items:flex-start;
    flex-wrap:wrap
  }
  .footer nav {
    gap:20px
  }
  .contact-actions {
    gap:18px
  }
  .contact .button {
    font-size:15px
  }
  .team-copy>p:not(.eyebrow) {
    font-size:17px
  }
  .team-photo {
    margin-right:0
  }
  .team-layout {
    grid-template-columns:1fr 1.05fr
  }
  .contact-layout {
    grid-template-columns:1.4fr .85fr
  }
  .chair-photo {
    margin-right:0
  }
}
@media(max-width:800px) {
  .wrap {
    width:calc(100% - 40px)
  }
  .header {
    padding-block:18px
  }
  .desktop-nav {
    display:none
  }
  .brand {
    width:150px
  }
  .menu-toggle {
    display:flex;
    align-items:center;
    gap:13px;
    font-size:15px;
    min-height:44px;
    padding:5px 0 5px 12px
  }
  .menu-toggle span {
    font-size:23px
  }
  .hero-heading {
    padding-top:23px
  }
  .hero-heading .eyebrow {
    font-size:10px;
    line-height:1.7;
    letter-spacing:.16em;
    max-width:520px
  }
  .hero-heading h1 {
    font-size:8.3vw
  }
  .hero-photo {
    margin-top:20px
  }
  .hero-photo img {
    aspect-ratio:2.2;
    object-fit:cover
  }
  .hero-photo .photo-caption {
    font-size:9px;
    right:10px;
    bottom:0;
    padding:3px 6px
  }
  .hero-photo .hero-actions {
    bottom:20px;
    gap:20px
  }
  .logo-caption {
    flex-direction:column;
    gap:4px
  }
  .logo-caption p {
    font-size:15px
  }
  .logo-group {
    min-width:0;
    gap:38px;
    padding-right:38px
  }
  .client-logo {
    flex-basis:126px;
    width:126px;
    height:96px
  }
  .social-proof {
    padding-bottom:30px
  }
  .hero-actions {
    gap:25px
  }
  .section {
    padding-block:65px
  }
  .problem-layout {
    grid-template-columns:.75fr 1.25fr;
    gap:24px
  }
  .problem-intro h2 {
    font-size:60px
  }
  .problem-intro .eyebrow {
    font-size:10px;
    letter-spacing:.16em
  }
  .problem-intro {
    padding-right:20px
  }
  .problems h3 {
    font-size:19px
  }
  .problems p {
    font-size:16px
  }
  .problems li {
    grid-template-columns:29px 1fr;
    gap:8px
  }
  .number {
    font-size:23px
  }
  .section-bottom {
    gap:22px;
    align-items:flex-start
  }
  .section-bottom p {
    font-size:16px
  }
  .section-bottom h3 {
    font-size:23px
  }
  .shoot-layout {
    grid-template-columns:1fr
  }
  .shoot-main img {
    height:auto;
    min-height:0;
    aspect-ratio:1.8;
    object-position:center
  }
  .format-grid {
    gap:27px
  }
  .format-card h3 {
    font-size:23px
  }
  .format-card p {
    font-size:17px
  }
  .project-grid {
    gap:18px
  }
  .project-card h3 {
    font-size:20px
  }
  .project-card dd,.project-card dt {
    font-size:15px
  }
  .services li {
    grid-template-columns:28px 1fr;
    gap:10px
  }
  .services h3 {
    font-size:20px
  }
  .services p {
    font-size:16px
  }
  .team-layout {
    grid-template-columns:1fr
  }
  .team-copy {
    max-width:640px
  }
  .team-copy h2 {
    font-size:60px
  }
  .team-copy .script br {
    display:none
  }
  .team-copy>p:not(.eyebrow) {
    max-width:600px;
    font-size:18px
  }
  .team-photo {
    max-width:700px;
    margin:0 -5px
  }
  .team-photo img {
    mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)
  }
  .team-values {
    gap:20px
  }
  .team-values>div+div {
    padding-left:20px
  }
  .team-values h3 {
    font-size:22px
  }
  .team-values p {
    font-size:16px
  }
  .phases li {
    grid-template-columns:52px 1fr;
    gap:20px
  }
  .phase-number {
    width:52px;
    height:52px;
    font-size:23px
  }
  .phases li:not(:last-child):after {
    left:25px;
    top:52px
  }
  .phase-body {
    padding:25px
  }
  .phase-body h3 {
    font-size:28px
  }
  .phase-body>p {
    font-size:17px
  }
  .phase-body .phase-tags {
    font-size:15px
  }
  .faq {
    grid-template-columns:1fr;
    gap:40px
  }
  .faq h2 {
    font-size:65px
  }
  .faq h2 br {
    display:none
  }
  .faq .intro br {
    display:none
  }
  .faq .intro {
    font-size:22px;
    margin-top:24px;
    margin-bottom:18px
  }
  .faq summary {
    font-size:23px
  }
  .contact h2 {
    font-size:48px
  }
  .contact-layout {
    grid-template-columns:1.4fr .8fr
  }
  .chair-photo {
    margin-left:-90px;
    opacity:.85
  }
  .contact .intro {
    font-size:18px
  }
  .check-list li {
    font-size:16px
  }
  .footer-main {
    gap:27px
  }
  .footer-bottom {
    flex-wrap:wrap;
    gap:10px 25px
  }
  .footer .brand {
    width:150px
  }
}
@media(max-width:580px) {
  body {
    font-size:16px
  }
  .wrap {
    width:calc(100% - 40px)
  }
  .section {
    padding-block:56px
  }
  .eyebrow {
    font-size:10px;
    letter-spacing:.19em;
    margin-bottom:20px
  }
  h2 {
    font-size:42px;
    line-height:1.08
  }
  .underline:after {
    height:3px
  }
  .hero-heading h1 {
    font-size:clamp(40px,11.25vw,65px);
    line-height:1.04
  }
  .hero-heading h1 .script {
    display:block;
    font-size:1.45em;
    line-height:1.2;
    margin-left:18%;
    margin-top:0
  }
  .hero-heading .eyebrow {
    font-size:9px;
    max-width:340px;
    letter-spacing:.17em;
    margin-bottom:20px
  }
  .hero-heading h1 .underline:after {
    height:4px;
    bottom:.025em
  }
  .hero-photo {
    margin-top:8px
  }
  .hero-photo img {
    height:300px;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center
  }
  .hero-photo .photo-caption {
    position:static;
    text-align:center;
    font-size:9px;
    padding:7px 3px
  }
  .hero-photo .hero-actions {
    left:14px;
    right:14px;
    bottom:14px;
    transform:none;
    width:auto;
    flex-direction:row;
    justify-content:center;
    gap:13px;
    padding:7px 9px
  }
  .hero-photo .hero-actions .button {
    width:auto;
    min-height:44px;
    padding:11px 14px;
    font-size:13px
  }
  .hero-photo .hero-actions .text-link {
    font-size:13px
  }
  .social-proof {
    padding:8px 0 20px
  }
  .logo-caption {
    padding-inline:25px
  }
  .logo-caption p {
    font-size:14px
  }
  .marquee {
    margin-top:4px
  }
  .logo-group {
    min-width:0;
    gap:38px;
    padding:8px 38px 8px 0
  }
  .client-logo {
    flex-basis:106px;
    width:106px;
    height:84px
  }
  .hero-actions {
    flex-direction:column;
    gap:17px;
    margin-top:24px
  }
  .button {
    font-size:16px;
    padding:17px 20px;
    gap:20px;
    min-height:56px
  }
  .hero-actions .button {
    width:100%
  }
  .text-link {
    font-size:16px
  }
  .problem-layout {
    grid-template-columns:1fr;
    gap:20px
  }
  .problem-intro {
    border:0;
    padding:0;
    position:relative
  }
  .problem-intro h2 {
    font-size:60px;
    line-height:.98
  }
  .problem-intro .script {
    font-size:43px;
    line-height:1.2;
    margin-top:12px
  }
  .camera-photo {
    position:absolute;
    width:145px;
    height:100px;
    right:-5px;
    bottom:5px;
    margin:0
  }
  .problems li {
    grid-template-columns:32px 1fr;
    gap:12px;
    padding:22px 0
  }
  .problems li:first-child {
    padding-top:22px;
    border-top:1px solid var(--line)
  }
  .problems h3 {
    font-size:22px
  }
  .problems p {
    font-size:16px;
    margin-top:8px
  }
  .section-bottom {
    flex-direction:column;
    gap:20px;
    margin-top:30px;
    padding-top:22px
  }
  .section-bottom .button {
    width:100%
  }
  .intro {
    font-size:18px;
    margin-top:23px;
    margin-bottom:27px
  }
  .shoot-main img {
    aspect-ratio:1.25
  }
  .shoot-layout {
    gap:26px
  }
  .format-grid {
    gap:25px 17px
  }
  .format-image img {
    aspect-ratio:1.25
  }
  .format-card h3 {
    font-size:19px;
    line-height:1.2
  }
  .format-card p {
    font-size:16px;
    line-height:1.5
  }
  .format-card .image-label {
    font-size:9px;
    bottom:6px;
    left:6px;
    padding:3px 6px
  }
  .section-bottom .small {
    font-size:16px
  }
  .demo-note {
    font-size:11px;
    margin-top:24px
  }
  .project-grid {
    grid-template-columns:1fr;
    gap:38px
  }
  .project-image img {
    aspect-ratio:1.08
  }
  .project-card h3 {
    font-size:27px;
    margin-top:18px
  }
  .project-card dl {
    display:grid;
    grid-template-columns:90px 1fr;
    row-gap:12px
  }
  .project-card dt,.project-card dd {
    font-size:16px;
    margin:0
  }
  .project-card dt {
    padding-top:0
  }
  .project-image .image-label {
    font-size:10px
  }
  .align-end {
    align-items:flex-end
  }
  .services {
    grid-template-columns:1fr;
    column-gap:0;
    margin-top:0
  }
  .services:before {
    display:none
  }
  .services li {
    padding:24px 0;
    grid-template-columns:30px 1fr;
    gap:13px
  }
  .services li:nth-last-child(2) {
    border-bottom:1px solid var(--line)
  }
  .services h3 {
    font-size:23px
  }
  .services p {
    font-size:16px;
    margin-top:9px
  }
  .services h3 a {
    padding-right:27px
  }
  .services h3 a>span {
    font-size:25px
  }
  .team-copy h2 {
    font-size:51px
  }
  .team-copy .script br {
    display:block
  }
  .team-copy>p:not(.eyebrow) {
    font-size:17px
  }
  .team-photo {
    margin:24px -10px 0
  }
  .team-photo .photo-caption {
    font-size:9px;
    text-align:center
  }
  .team-values {
    grid-template-columns:1fr;
    gap:23px;
    padding-top:25px
  }
  .team-values>div+div {
    border-left:0;
    padding-left:0;
    border-top:1px solid rgba(23,23,23,.35);
    padding-top:23px
  }
  .team-values h3 {
    font-size:27px
  }
  .team-values p {
    font-size:17px;
    margin-top:8px
  }
  .process h2 {
    font-size:36px
  }
  .process h2 .script {
    font-size:1.01em;
    white-space:nowrap
  }
  .process .eyebrow {
    font-size:9px;
    letter-spacing:.16em
  }
  .phases {
    margin-top:38px;
    gap:20px
  }
  .phases li {
    grid-template-columns:38px 1fr;
    gap:11px
  }
  .phase-number {
    width:38px;
    height:38px;
    font-size:18px
  }
  .phases li:not(:last-child):after {
    left:18px;
    top:38px
  }
  .phase-body {
    padding:20px 16px;
    border-radius:5px
  }
  .phase-body h3 {
    font-size:23px;
    line-height:1.22;
    overflow-wrap:anywhere
  }
  .phase-body>p {
    font-size:16px;
    line-height:1.5;
    margin-top:12px
  }
  .phase-body .phase-tags {
    font-size:13px;
    line-height:1.7;
    margin-top:15px
  }
  .process .button {
    width:100%
  }
  .faq {
    gap:32px
  }
  .faq h2 {
    font-size:58px
  }
  .faq h2 br {
    display:block
  }
  .faq h2 .script {
    font-size:1.17em
  }
  .faq .intro {
    font-size:21px;
    max-width:260px
  }
  .faq summary {
    font-size:21px;
    padding-block:24px;
    padding-right:30px
  }
  .faq-answer {
    font-size:16px;
    padding-right:15px
  }
  .faq-icon {
    right:0;
    top:26px
  }
  .contact {
    padding-bottom:25px
  }
  .contact-layout {
    grid-template-columns:1fr;
    gap:0
  }
  .contact h2 {
    font-size:41px
  }
  .contact .intro {
    font-size:18px;
    margin-top:27px
  }
  .check-list li {
    font-size:16px
  }
  .contact-actions {
    align-items:flex-start;
    gap:19px;
    flex-direction:column
  }
  .contact-actions .button {
    width:100%;
    font-size:16px
  }
  .contact-copy>.small {
    font-size:13px
  }
  .chair-photo {
    margin:25px 0 0;
    max-width:350px;
    justify-self:center;
    opacity:1
  }
  .chair-photo img {
    max-height:410px;
    object-fit:contain
  }
  .inquiry-compass { max-width:none; justify-self:stretch; margin-top:30px; padding:22px; }
  .compass-options--contact { grid-template-columns:1fr; }
  .footer {
    padding-block:30px 24px
  }
  .footer-main {
    display:grid;
    grid-template-columns:1fr;
    gap:28px
  }
  .footer nav {
    gap:12px 23px;
    font-size:14px
  }
  .footer-bottom {
    font-size:10px;
    flex-direction:column;
    gap:8px;
    margin-top:25px
  }
  .dialog-inner {
    padding:45px 23px 26px
  }
  .dialog-inner h2 {
    font-size:30px
  }
  .dialog-inner p {
    font-size:16px
  }
  .dialog-inner .button {
    width:100%
  }
  .dialog-inner>.eyebrow {
    font-size:9px
  }
  .notice {
    padding:16px
  }
  .legal-page h1 {
    font-size:38px
  }
  .legal-page .notice {
    margin-top:25px
  }
  .font-proof h1 {
    font-size:35px
  }
  .font-proof article h2 {
    font-size:20px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
  .marquee-track {
    transform:none
  }
  .marquee {
    overflow:auto;
    mask-image:none
  }
  .marquee .logo-group {
    min-width:0;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px 35px
  }
  .marquee-track {
    width:100%
  }
  .marquee .logo-group[aria-hidden] {
    display:none
  }
}

/* Stronger Kaushan accents: retain the genuine Regular face, enhance its ink visually. */
.script { -webkit-text-stroke:.018em currentColor; paint-order:stroke fill; }
.script.underline { -webkit-text-stroke:.045em currentColor; }
h2 .script.underline { font-size:1.12em; }
.underline:after { height:.065em; }
.hero-heading h1 { font-size:clamp(60px,7.8vw,119px); }
.hero-heading h1 .script { font-size:1.38em; line-height:1.15; }
.hero-heading .underline:after { height:.055em; bottom:0; }
.hero-photo { margin-top:24px; }
.header { position:relative; z-index:10; }
.service-menu summary { cursor:pointer; list-style:none; padding:12px 0; display:flex; align-items:center; gap:7px; }
summary::-webkit-details-marker { display:none; }
.service-menu[open] summary > span { transform:rotate(180deg); }
.service-dropdown { position:absolute; top:calc(100% - 10px); right:0; width:min(800px,100%); padding:32px; background:var(--paper); border:1px solid var(--line); box-shadow:0 24px 48px #17171720; }
.service-dropdown .eyebrow { color:var(--muted); margin-bottom:14px; }
.service-menu-grid { display:grid; grid-template-columns:1fr 1fr; gap:4px 24px; }
.service-menu-grid a { display:flex; flex-direction:column; padding:13px 10px; border-radius:3px; }
.service-menu-grid strong { font-size:15px; }
.service-menu-grid span { font-size:13px; font-weight:400; margin-top:4px; color:var(--muted); }
.menu-overview { display:block; border-top:1px solid var(--line); padding-top:18px; margin-top:16px; }
.mobile-services { border-bottom:1px solid var(--line); }
.mobile-services summary { font-family:var(--garet); font-size:27px; padding:16px 0; cursor:pointer; display:flex; justify-content:space-between; }
.mobile-services a { display:block; padding:13px 5px; font-size:16px; }
.mobile-services a span { display:block; font-size:13px; color:var(--muted); margin-top:4px; }
.mobile-menu { overflow-y:auto; }
.services h3 a { display:block; }
.service-hero { padding-block:32px 64px; }
.breadcrumbs { display:flex; gap:14px; font-size:14px; color:var(--muted); margin-bottom:48px; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:4px; }
.service-hero h1 { font-size:clamp(48px,6.4vw,94px); max-width:1100px; }
.service-hero h1 .script { font-size:1.3em; }
.service-hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-top:28px; }
.service-hero-bottom .intro { max-width:650px; }
.service-hero-bottom .button { flex-shrink:0; }
.draft-note { font-size:13px; color:var(--muted); border-top:1px solid var(--line); padding-top:18px; }
.service-fit h2 { font-size:clamp(30px,3.4vw,49px); max-width:1080px; line-height:1.25; margin-bottom:32px; }
.service-deliverables { list-style:none; padding:0; margin:50px 0; }
.service-deliverables li { display:grid; grid-template-columns:90px 1fr; gap:30px; border-top:1px solid var(--line); padding:30px 0; }
.service-deliverables p { margin-top:12px; max-width:760px; }
.service-question { background:#f0ece2; padding:32px; border-left:5px solid var(--orange); }
.service-question p { margin-top:14px; }
.service-page .process { border-bottom:1px solid var(--line); }
.related-links { margin-top:40px; }
.related-links a { display:flex; justify-content:space-between; gap:24px; padding:25px 0; border-top:1px solid var(--line); font-family:var(--garet); font-size:clamp(20px,2.3vw,32px); }
.related-links small { display:block; font-family:var(--body); font-size:16px; color:var(--muted); margin-top:8px; }
.related-links a > span:last-child { color:var(--orange-text); }
@media (hover:hover) and (pointer:fine) {
  .service-menu-grid a:hover { background:#eee9dd; }
  .related-links a:hover > span:first-child,.services h3 a:hover { color:var(--orange-text); }
}
@media (prefers-reduced-motion:no-preference) {
  .button,.nav-cta { transition:transform 180ms cubic-bezier(.23,1,.32,1),background-color 180ms; }
  .button:active,.nav-cta:active { transform:scale(.97); }
  .reveal-pending { opacity:0; transform:translateY(24px); }
  .reveal-in { animation:section-arrive 650ms cubic-bezier(.23,1,.32,1) both; }
  .service-menu[open] .service-dropdown { animation:menu-arrive 180ms cubic-bezier(.23,1,.32,1); transform-origin:top center; }
  @keyframes section-arrive { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
  @keyframes menu-arrive { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
}
@media (max-width:1100px) {
 .service-hero-bottom { align-items:flex-start; flex-direction:column; gap:0; margin-bottom:30px; }
}
@media (max-width:800px) {
 .hero-heading h1 { font-size:8vw; }
 .service-hero { padding-top:18px; }
 .breadcrumbs { margin-bottom:32px; }
 .service-deliverables li { grid-template-columns:48px 1fr; gap:18px; }
 .service-question { padding:24px; }
}
@media (max-width:580px) {
 .hero-heading h1 { font-size:11.25vw; }
 .hero-heading h1 .script { font-size:1.78em; margin-left:8%; line-height:1.22; }
 .hero-heading h1 .underline:after { height:.055em; bottom:.025em; }
 .hero-photo { margin-top:16px; }
 h2 .script.underline { font-size:1.04em; }
 .service-hero h1 { font-size:clamp(38px,10vw,56px); overflow-wrap:break-word; }
 .service-hero h1 .script { font-size:1.25em; }
 .service-hero .eyebrow { letter-spacing:.12em; }
 .service-fit h2 { font-size:28px; }
}
.service-menu-grid a[aria-current="page"],.mobile-services a[aria-current="page"] { background:#eee9dd; box-shadow:inset 3px 0 var(--orange); }

/* Mobile opening: a compact, left-aligned three-line headline. */
@media (max-width:580px) {
  .services { grid-template-columns:minmax(0,1fr); }
  .services li { grid-template-columns:30px minmax(0,1fr); }
  .services h3 { hyphens:auto; overflow-wrap:anywhere; }
  #projects-title { font-size:clamp(35px,10.5vw,42px); }
  .hero-heading { padding-top:20px; }
  .hero-heading .eyebrow { max-width:300px; margin-bottom:18px; }
  .hero-heading h1 { font-size:11.25vw; line-height:1.07; }
  .hero-heading h1 .script {
    width:fit-content;
    font-size:1.65em;
    line-height:1.08;
    margin:-.12em 0 0;
    transform:none;
  }
  .hero-photo { margin-top:8px; }
  .hero-photo img {
    height:clamp(280px,84vw,365px);
    object-position:center;
    mask-image:linear-gradient(to bottom,transparent,#000 9%);
  }
  .hero-photo .photo-caption { padding-block:10px; }
}

/* One-time decorative scroll details, separate from content visibility. */
@media (prefers-reduced-motion:no-preference) {
  .script.underline.scroll-detail-seen:after {
    transform-origin:left center;
    animation:draw-underline 700ms cubic-bezier(.23,1,.32,1) 100ms backwards;
  }
  .shoot-main,.project-image { overflow:clip; }
  .shoot-main.scroll-detail-seen img,.project-image.scroll-detail-seen img {
    animation:photo-settle 1100ms cubic-bezier(.23,1,.32,1) backwards;
  }
  @keyframes draw-underline {
    from { transform:rotate(-2deg) scaleX(0); }
    to { transform:rotate(-2deg) scaleX(1); }
  }
  @keyframes photo-settle {
    from { transform:scale(1.045); }
    to { transform:scale(1); }
  }
}

.project-controls { display:none; }
[data-gallery-clone] { display:none; }
@media (max-width:580px) {
  [data-gallery-clone] { display:block; }
  .project-card.reveal-pending { opacity:1; transform:none; }
  .project-grid {
    position:relative;
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:82%;
    gap:12px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    scrollbar-color:var(--orange) #363636;
    padding:8px 6px;
    margin-inline:-6px;
  }
  .project-grid::-webkit-scrollbar { display:none; }
  .project-card { min-width:0; scroll-snap-align:center; }
  .project-card h3 { font-size:24px; margin:20px 0; }
  .project-card dl { display:block; }
  .project-card dt { font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin:16px 0 5px; }
  .project-card dd { font-size:16px; line-height:1.5; max-width:29ch; }
  .gallery-ready .project-card:not(.is-current) h3,
  .gallery-ready .project-card:not(.is-current) dl { opacity:0; }
  .project-controls:not([hidden]) { display:flex; justify-content:center; margin-top:20px; }
  .project-position { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .project-controls > div { display:flex; gap:14px; }
  .project-controls button { display:grid; place-items:center; width:48px; height:48px; border:1px solid #77736d; border-radius:50%; font-size:23px; }
  .project-controls .project-next { background:var(--orange); border-color:var(--orange); color:var(--ink); }
  #projekte .section-bottom { margin-top:28px; padding-top:24px; align-items:center; }
  .project-controls button:disabled { opacity:.3; cursor:default; }
  .project-controls button:not(:disabled):active { background:var(--orange); color:var(--ink); }
}

/* Social Media: dedicated editorial service page and reusable production diagram. */
.social-service-hero { padding-block:30px 32px; }
.social-service-hero .breadcrumbs { margin-bottom:40px; flex-wrap:wrap; }
.social-hero-grid { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,1fr); gap:64px; align-items:center; }
.social-hero-copy h1 { font-size:clamp(52px,5.7vw,84px); line-height:1.04; }
.social-hero-copy h1 .script { font-size:1.2em; line-height:1.15; }
.social-hero-copy .intro { font-size:22px; margin:30px 0 16px; max-width:560px; }
.social-hero-copy > p:not(.intro):not(.eyebrow) { max-width:510px; }
.social-hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-top:30px; }
.social-location { font-size:12px; letter-spacing:.07em; margin-top:26px; color:var(--muted); }
.social-service-hero .draft-note { margin-top:40px; }
.social-page-nav { display:flex; flex-wrap:wrap; gap:12px 36px; padding-block:20px 28px; font-size:15px; }
.social-page-nav a { padding-block:8px; border-bottom:1px solid var(--line); }
.social-statement h2 { max-width:960px; }
.statement-copy { display:grid; grid-template-columns:1fr 1fr; gap:60px; max-width:1080px; margin-top:44px; color:#d8d4cb; }
.statement-copy p+p { margin:0; }
.social-section-intro { display:grid; grid-template-columns:1.4fr 1fr; gap:70px; align-items:end; margin-bottom:48px; }
.social-section-intro > p { max-width:410px; padding-bottom:10px; }
.social-format-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.social-format-grid figure { position:relative; overflow:hidden; }
.social-format-grid img { aspect-ratio:.9; object-fit:cover; }
.format-index { position:absolute; left:20px; top:12px; font-family:var(--garet); font-size:48px; color:white; text-shadow:0 2px 20px #17171780; }
.social-format-grid figcaption { position:absolute; bottom:10px; left:12px; background:var(--ink); color:var(--paper); padding:4px 8px; font-size:10px; }
.social-format-grid h3 { font-size:31px; margin:22px 0 12px; }
.social-format-grid p { max-width:360px; }
.social-media-note { font-size:12px; color:var(--muted); margin-top:28px; }
.social-care { background:#eee9df; }
.social-care-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }
.social-care-heading > p:not(.eyebrow) { margin:30px 0; max-width:390px; }
.care-list { list-style:none; padding:0; margin:0; }
.care-list li { display:grid; grid-template-columns:45px minmax(0,1fr); gap:22px; border-top:1px solid #c9c3b8; padding:26px 0; }
.care-list li:first-child { padding-top:0; border:0; }
.care-list h3 { font-size:25px; margin-bottom:12px; }
.shared-columns { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:45px; }
.shared-columns article { padding-top:24px; border-top:2px solid var(--ink); }
.shared-columns article:last-child { border-color:var(--orange); }
.shared-label { font-size:12px; color:var(--muted); }
.shared-columns h3 { margin:15px 0; font-size:30px; }
.social-question { display:flex; flex-wrap:wrap; gap:16px 40px; align-items:center; margin-top:40px; padding:24px; background:#eee9df; }
.social-service-page .process { border-top:1px solid var(--line); }
.social-service-page .faq { border-top:1px solid var(--line); }
.social-service-page .social-related { border-top:1px solid var(--line); }
.content-flow { background:#f3efe6; border:1px solid #d8d0c1; padding:28px; border-radius:12px; min-width:0; }
.content-flow > figcaption { display:flex; flex-wrap:wrap; gap:4px 16px; justify-content:space-between; margin-bottom:25px; }
.content-flow .eyebrow { margin:0; font-size:10px; letter-spacing:.16em; }
.flow-demo { font-size:10px; color:var(--muted); }
.flow-stages { display:grid; gap:25px; }
.flow-stage { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; align-items:center; }
.flow-step { text-align:left; display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:8px 0; font-size:11px; font-weight:600; min-height:44px; }
.flow-number { color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; }
.flow-step[aria-pressed="true"] { color:var(--orange-text); }
.flow-step[aria-pressed="true"] .flow-number { color:var(--orange-text); }
.flow-visual { position:relative; min-width:0; }
.flow-stage:not(:last-child) .flow-visual:after { content:""; position:absolute; width:1px; height:18px; background:repeating-linear-gradient(to bottom,#bcb2a3 0 3px,transparent 3px 6px); left:50%; top:calc(100% + 4px); }
.flow-shoot { display:flex; align-items:center; gap:10px; background:var(--ink); color:var(--paper); padding:12px 14px; border-radius:5px; font-size:11px; }
.flow-shoot > svg { width:23px; height:23px; flex-shrink:0; }
.flow-shoot .flow-tie { fill:var(--orange); width:11px; height:24px; margin-left:auto; }
.flow-timeline { position:relative; padding:8px 0; overflow:hidden; }
.timeline-track,.timeline-audio { display:flex; gap:4px; padding:4px; background:#e5ded1; border-radius:3px; }
.timeline-track i { height:16px; background:#a99478; flex:1; border-radius:2px; }
.timeline-track i:nth-child(2) { background:var(--orange); flex:.6; }
.timeline-track i:nth-child(3) { flex:1.4; background:#c4b294; }
.timeline-audio { background:none; margin-top:3px; gap:20px; }
.timeline-audio i { height:5px; background:#c6b9a4; flex:1; }
.timeline-ruler { height:6px; margin-top:5px; background:repeating-linear-gradient(to right,#aa9b83 0 1px,transparent 1px 12.5%); border-top:1px solid #aa9b83; }
.timeline-playhead { position:absolute; width:100%; top:0; bottom:0; pointer-events:none; }
.timeline-playhead:before { content:""; height:100%; width:1px; background:var(--ink); position:absolute; left:0; }
.timeline-playhead span { position:absolute; top:0; left:-3px; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid var(--ink); }
.flow-clips { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.flow-clip { position:relative; overflow:hidden; border-radius:5px; }
.flow-clip img { aspect-ratio:.63; width:100%; height:auto; object-fit:cover; }
.flow-clip > span { position:absolute; bottom:6px; left:4px; right:4px; text-align:center; font-size:9px; background:var(--paper); color:var(--ink); font-weight:600; padding:3px 1px; }
.flow-calendar { padding:10px 12px; background:var(--paper); border:1px solid #cfc5b5; border-radius:5px; }
.calendar-head,.calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; text-align:center; }
.calendar-head { font-size:8px; color:var(--muted); border-bottom:1px solid var(--line); padding-bottom:7px; margin-bottom:10px; }
.calendar-days i { display:block; width:6px; height:6px; border-radius:50%; background:#ded7cb; margin:auto; }
.calendar-days i.scheduled { background:var(--orange); }
.flow-play { font-size:11px; padding:8px 10px; min-height:36px; border:1px solid #a79b88; border-radius:4px; color:var(--ink); }
.flow-play[hidden] { display:none; }
.flow-compact { margin-top:45px; padding:30px; }
.flow-compact .flow-stages { grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; align-items:start; }
.flow-compact .flow-stage { display:block; }
.flow-compact .flow-step { flex-direction:row; gap:10px; align-items:center; margin-bottom:10px; font-size:13px; }
.flow-compact .flow-clips { max-width:210px; margin:auto; }
.flow-compact .flow-clip img { aspect-ratio:1; }
.flow-compact .flow-stage:not(:last-child) .flow-visual:after { display:none; }
@media (hover:hover) and (pointer:fine) {
 .flow-step:hover { color:var(--orange-text); }
 .flow-play:hover { background:#e5ded1; }
 .social-page-nav a:hover { border-color:var(--orange); }
}
@media (max-width:1100px) {
 .social-hero-grid { gap:35px; }
 .social-hero-copy h1 { font-size:6vw; }
 .content-flow { padding:22px; }
 .flow-stage { grid-template-columns:92px minmax(0,1fr); gap:10px; }
 .flow-step { font-size:10px; }
 .flow-shoot { font-size:10px; padding:10px; gap:7px; }
 .social-care-grid { gap:45px; }
 .social-section-intro { gap:35px; }
}
@media (max-width:800px) {
 .social-hero-grid { grid-template-columns:minmax(0,1fr); gap:38px; }
 .social-hero-copy h1 { font-size:clamp(55px,9vw,75px); }
 .social-hero-copy .intro { max-width:600px; }
 .content-flow { max-width:620px; width:100%; margin-inline:auto; padding:28px; }
 .flow-stage { grid-template-columns:105px minmax(0,1fr); gap:20px; }
 .flow-step { font-size:12px; }
 .flow-clip img { aspect-ratio:.85; }
 .flow-compact .flow-stages { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .social-section-intro,.social-care-grid { grid-template-columns:minmax(0,1fr); }
 .social-section-intro > p { max-width:600px; }
 .social-format-grid { gap:18px; }
 .social-format-grid h3 { font-size:24px; }
 .social-format-grid p { font-size:16px; }
 .format-index { font-size:36px; }
 .statement-copy,.shared-columns { gap:30px; }
 .shared-columns h3 { font-size:25px; }
}
@media (max-width:580px) {
 .social-service-hero { padding-top:16px; }
 .social-service-hero .breadcrumbs { font-size:12px; gap:8px; margin-bottom:30px; }
 .social-hero-copy h1 { font-size:clamp(38px,11.6vw,68px); }
 .social-hero-copy h1 .script { font-size:1.34em; line-height:1.15; }
 .social-hero-copy .intro { font-size:19px; margin-top:24px; }
 .social-hero-actions { gap:20px; margin-top:25px; }
 .social-hero-actions .button { width:100%; padding-inline:14px; }
 .social-location { font-size:10px; }
 .social-service-hero .draft-note { font-size:11px; margin-top:25px; }
 .content-flow { padding:18px; }
 .content-flow > figcaption { flex-direction:column; gap:6px; margin-bottom:15px; }
 .flow-stages { gap:24px; }
 .flow-stage { display:block; }
 .flow-step { flex-direction:row; gap:9px; align-items:center; font-size:11px; padding:4px 0; min-height:44px; margin-bottom:6px; }
 .flow-shoot { font-size:11px; padding:12px; }
 .flow-clips { gap:8px; }
 .flow-clip img { aspect-ratio:.8; }
 .flow-clip > span { font-size:9px; }
 .flow-stage:not(:last-child) .flow-visual:after { height:12px; top:calc(100% + 4px); }
 .flow-play { min-height:44px; }
 .flow-compact .flow-stages { grid-template-columns:minmax(0,1fr); gap:24px; }
 .flow-compact .flow-clips { max-width:none; }
 .flow-compact .flow-clip img { aspect-ratio:1.1; }
 .social-page-nav { gap:4px 20px; font-size:13px; }
 .social-service-page h2 { font-size:clamp(32px,9.6vw,44px); }
 .social-service-page h2 .script.underline { font-size:1.04em; }
 .statement-copy { grid-template-columns:minmax(0,1fr); gap:18px; margin-top:32px; }
 .social-section-intro { gap:22px; margin-bottom:32px; }
 .social-format-grid { grid-template-columns:minmax(0,1fr); gap:38px; }
 .social-format-grid img { aspect-ratio:1.15; }
 .social-format-grid h3 { font-size:28px; margin:18px 0 10px; }
 .social-format-grid p { font-size:16px; }
 .care-list li { grid-template-columns:30px minmax(0,1fr); gap:15px; }
 .care-list h3 { font-size:23px; }
 .shared-columns { grid-template-columns:minmax(0,1fr); gap:30px; margin-top:30px; }
 .social-question { padding:20px; margin-top:30px; }
 .social-question .text-link { font-size:15px; }
}

/* A lean production diagram, followed by a dedicated place for finished work. */
.content-flow > figcaption { align-items:center; gap:14px; }
.flow-caption-copy { display:flex; flex-direction:column; gap:6px; }
.flow-play { flex-shrink:0; min-height:44px; font-size:11px; padding:8px 10px; }
.flow-step { cursor:default; }
.flow-step:hover { color:inherit; }
.flow-clip video { display:block; width:100%; aspect-ratio:.63; object-fit:cover; }
.video-showcase-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.showcase-media { position:relative; overflow:hidden; border-radius:6px; }
.showcase-media img,.showcase-media video { display:block; width:100%; aspect-ratio:9/14; object-fit:cover; background:#252525; }
.video-pending { position:absolute; bottom:14px; left:14px; right:14px; padding:10px 12px; background:var(--paper); color:var(--ink); text-align:center; font-size:13px; }
.video-kind { color:var(--orange); font-size:11px; letter-spacing:.09em; margin:22px 0 8px; }
.video-showcase h3 { font-size:27px; }
.video-disclosure { color:#bcb8b0; font-size:12px; margin-top:30px; }
.social-statement .statement-copy { color:var(--muted); }
.social-formats { border-top:1px solid var(--line); }
.topic-number { display:block; font-family:var(--garet); font-size:40px; color:var(--orange-text); border-top:1px solid var(--line); padding-top:22px; }
@media (max-width:800px) {
 .video-showcase-grid { gap:20px; }
 .video-showcase h3 { font-size:23px; }
 .flow-clip video { aspect-ratio:.85; }
}
@media (max-width:580px) {
 .content-flow > figcaption { flex-direction:row; align-items:center; }
 .content-flow .eyebrow { font-size:9px; letter-spacing:.1em; }
 .flow-play { font-size:10px; padding-inline:8px; }
 .flow-clip video { aspect-ratio:.8; }
 .video-showcase-grid { grid-template-columns:minmax(0,1fr); gap:36px; }
 .showcase-media { max-width:340px; margin-inline:auto; }
 .video-showcase h3 { font-size:26px; }
}

/* Decision-led Social Media page: scope, contribution, fit and transparent costs. */
.video-description { margin-top:12px; font-size:16px; color:#c9c5bd; max-width:35ch; }
.responsibility-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.responsibility-grid article { padding:36px 40px 36px 0; }
.responsibility-grid article+article { border-left:1px solid var(--line); padding-left:40px; padding-right:0; }
.responsibility-grid article+article .eyebrow { color:var(--orange-text); }
.responsibility-grid h3 { font-size:32px; }
.responsibility-grid ul,.offer-summary ul { list-style:none; margin:25px 0 0; padding:0; }
.responsibility-grid li,.offer-summary li { position:relative; padding:12px 0 12px 20px; }
.responsibility-grid li:before,.offer-summary li:before { content:""; position:absolute; width:5px; height:5px; background:var(--orange); left:0; top:23px; }
.relief-note { font-size:13px; max-width:850px; margin-top:22px; color:var(--muted); }
.social-start { background:#eee9df; }
.social-start-phases { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 60px; margin:45px 0 0; }
.social-start-phases li { grid-template-columns:44px minmax(0,1fr); gap:20px; }
.social-start-phases li:not(:last-child):after { display:none; }
.social-start-phases .phase-number { width:44px; height:44px; font-size:18px; }
.social-start-phases .phase-body { padding:7px 0 0; border:0; border-radius:0; }
.social-start-phases h3 { font-size:25px; }
.social-start-phases .phase-body > p { font-size:17px; }
.support-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:40px; }
.support-options article { display:flex; flex-direction:column; border-top:3px solid var(--ink); padding-top:25px; }
.support-options article:first-child { border-color:var(--orange); }
.support-tag { color:var(--muted); font-size:12px; margin-bottom:18px; }
.support-options h3 { font-size:30px; }
.support-options p { margin:22px 0 28px; }
.support-options .text-link { font-size:16px; margin-top:auto; align-self:flex-start; }
.social-cost { background:#eee9df; }
.cost-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:70px; align-items:start; }
.cost-layout h2 { font-size:clamp(42px,4.9vw,70px); }
.cost-layout .intro { font-size:19px; }
.cost-factors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.cost-factors > div { border-top:1px solid #c9c3b8; padding-top:16px; }
.cost-factors dt { font-weight:600; margin-bottom:7px; }
.cost-factors dd { font-size:16px; color:#565149; }
.offer-summary { background:var(--ink); color:var(--paper); padding:35px; border-radius:7px; }
.offer-summary h3 { font-size:34px; }
.offer-summary ul { margin:25px 0; font-size:16px; }
.offer-summary .button { width:100%; padding-inline:16px; font-size:15px; }
.offer-summary .button:focus-visible { outline-color:var(--paper); }
.offer-summary > p:last-child { color:#bdb8ae; font-size:12px; margin-top:18px; }
@media(max-width:1100px) {
 .cost-layout { gap:35px; }
 .offer-summary { padding:26px; }
 .support-options { gap:22px; }
 .support-options h3 { font-size:25px; }
 .social-start-phases { gap:30px; }
}
@media(max-width:800px) {
 .cost-layout { grid-template-columns:minmax(0,1fr); }
 .offer-summary { max-width:600px; }
 .support-options { grid-template-columns:minmax(0,1fr); gap:30px; }
 .support-options h3 br { display:none; }
 .support-options p { margin:16px 0 20px; }
 .responsibility-grid h3 { font-size:26px; }
 .responsibility-grid article { padding-right:24px; }
 .responsibility-grid article+article { padding-left:24px; }
 .social-start-phases h3 { font-size:22px; }
}
@media(max-width:580px) {
 .responsibility-grid { grid-template-columns:minmax(0,1fr); }
 .responsibility-grid article,.responsibility-grid article+article { border-left:0; padding:26px 0; }
 .responsibility-grid article+article { border-top:1px solid var(--line); }
 .responsibility-grid h3 { font-size:28px; }
 .responsibility-grid li { font-size:16px; }
 .social-start-phases { grid-template-columns:minmax(0,1fr); gap:28px; margin-top:32px; }
 .social-start-phases li { grid-template-columns:36px minmax(0,1fr); gap:15px; }
 .social-start-phases .phase-number { width:36px; height:36px; font-size:16px; }
 .social-start-phases .phase-body { padding-top:4px; }
 .social-start-phases h3 { font-size:22px; }
 .social-start-phases .phase-body > p { font-size:16px; }
 .cost-factors { grid-template-columns:minmax(0,1fr); gap:20px; }
 .offer-summary { padding:24px; }
 .offer-summary h3 { font-size:29px; }
 .offer-summary .button { font-size:14px; padding-inline:10px; }
 .social-support h2 { font-size:clamp(29px,8.6vw,42px); }
}

/* Focused service explorer replaces the long task list. */
.social-service-page .section { padding-block:76px; }
.social-service-page .section h2 { font-size:clamp(36px,4.1vw,59px); }
.social-service-page .social-service-hero { padding-bottom:52px; }
.social-service-page .social-section-intro { gap:40px; margin-bottom:34px; }
.social-service-page .social-section-intro h2 br { display:none; }
.social-service-page .video-showcase .showcase-media { max-width:350px; margin-inline:auto; }
.social-service-page .video-showcase .video-kind,.social-service-page .video-showcase h3,.social-service-page .video-description { max-width:350px; margin-inline:auto; }
.social-service-page .video-showcase .video-kind { margin-top:18px; margin-bottom:8px; }
.social-service-page .video-description { margin-top:10px; }
.care-explorer-heading { display:grid; grid-template-columns:1.3fr 1fr; gap:50px; align-items:end; margin-bottom:32px; }
.care-explorer-heading > p { max-width:440px; font-size:17px; }
.care-tabs:not([hidden]) { display:flex; position:relative; border-bottom:1px solid #c9c3b8; overflow-x:auto; scrollbar-width:thin; }
.care-tabs button { flex:1 0 auto; display:flex; gap:12px; align-items:center; min-height:68px; padding:14px 18px; border-bottom:3px solid transparent; font-weight:600; }
.care-tabs button span { font-size:11px; color:var(--muted); font-variant-numeric:tabular-nums; }
.care-tabs button[aria-selected="true"] { border-color:var(--orange); color:#873000; background:#e7dfd2; }
.care-tabs button:focus-visible { outline-offset:-5px; }
.care-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:54px; align-items:center; padding-top:32px; min-height:340px; }
.care-panel[hidden] { display:none; }
.care-panel-copy h3 { font-size:clamp(25px,2.5vw,35px); max-width:510px; }
.care-panel-copy > p:not(.eyebrow) { font-size:18px; margin-top:20px; max-width:530px; }
.care-panel-copy .eyebrow { font-size:11px; margin-bottom:15px; }
.care-panel-tags { font-size:12px; margin-top:25px; padding-top:18px; border-top:1px solid #cec5b8; color:var(--muted); }
.care-panel-visual { background:var(--paper); border:1px solid #d2c9ba; border-radius:6px; overflow:hidden; min-width:0; }
.care-panel-visual > div { padding:28px; min-height:285px; }
.visual-kicker { font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); margin-bottom:18px; }
.visual-note { font-size:10px; color:var(--muted); margin-top:18px; }
.care-planning > div { display:flex; gap:18px; padding:12px 0; border-bottom:1px solid var(--line); font-size:17px; font-weight:600; }
.care-planning > div span { font-size:12px; color:var(--orange-text); }
.care-shoot { position:relative; }
.care-shoot img { height:285px; object-fit:cover; }
.care-shoot figcaption { position:absolute; bottom:12px; left:14px; background:var(--paper); padding:4px 8px; font-size:10px; }
.edit-preview { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; height:138px; background:var(--ink); color:var(--paper); }
.edit-preview span { font-family:var(--garet); font-size:24px; }
.edit-preview small { background:var(--orange); padding:2px 8px; color:var(--ink); font-size:11px; }
.edit-tracks { display:flex; gap:5px; margin-top:16px; }
.edit-tracks i { height:17px; background:#c4b294; flex:1; border-radius:2px; }
.edit-tracks i:nth-child(2),.edit-tracks i:nth-child(4) { background:var(--orange); flex:.6; }
.publish-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 0; border-bottom:1px solid var(--line); font-size:15px; }
.publish-row b { font-size:11px; font-weight:400; border:1px solid #cfc5b5; padding:4px 8px; border-radius:20px; }
.care-learn > div { border-top:1px solid var(--line); padding:12px 0; }
.care-learn span { display:block; font-size:11px; color:var(--muted); }
.care-learn strong { font-size:17px; }
@media(max-width:800px) {
 .care-explorer-heading { grid-template-columns:minmax(0,1fr); gap:20px; }
 .care-panel { gap:28px; }
 .care-tabs button { font-size:15px; padding-inline:16px; }
 .care-panel-visual > div { padding:20px; }
}
@media(max-width:580px) {
 .social-service-page .section { padding-block:52px; }
 .social-service-page .section h2 { font-size:clamp(30px,8.7vw,43px); }
 .social-service-page .social-service-hero { padding-bottom:34px; }
 .care-tabs button { min-height:58px; padding:12px 15px; gap:8px; }
 .care-panel { grid-template-columns:minmax(0,1fr); gap:24px; padding-top:24px; }
 .care-panel-visual { order:2; }
 .care-panel-copy { min-height:255px; }
 .care-panel-copy h3 { font-size:25px; }
 .care-panel-copy > p:not(.eyebrow) { font-size:16px; margin-top:16px; }
 .care-panel-tags { margin-top:20px; font-size:11px; }
 .care-panel-visual > div { min-height:260px; }
 .care-shoot img { height:260px; }
 .care-planning > div { font-size:15px; }
 .publish-row { font-size:13px; }
}

/* Videos speak for themselves; explanations stay above the media. */
.video-intro { max-width:850px; margin:0 auto 42px; text-align:center; }
.video-intro .eyebrow { color:var(--orange); }
.social-service-page .video-intro h2 { font-size:clamp(34px,3.7vw,54px); }
.video-intro > p:not(.eyebrow) { max-width:700px; margin:25px auto 0; color:#cbc7bf; font-size:18px; }
.video-preview-note { display:block; font-size:11px; color:#aaa59b; margin-top:14px; }
.social-service-page .video-showcase-grid { display:flex; gap:24px; justify-content:center; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; padding:5px 5px 14px; }
.video-showcase-grid article { flex:0 0 min(27%,290px); min-width:0; scroll-snap-align:center; }
.social-service-page .video-showcase .showcase-media { max-width:none; border-radius:14px; }
.showcase-media img,.showcase-media video { aspect-ratio:9/16; }
.social-audience { background:var(--paper); border-bottom:1px solid var(--line); }
.audience-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; align-items:center; }
.audience-layout .intro { font-size:20px; margin:25px 0 15px; }
.audience-layout > div > p:last-child { color:var(--muted); font-size:17px; max-width:580px; }
.audience-diagram { min-width:0; }
.audience-diagram > figcaption { width:fit-content; max-width:90%; margin:auto; padding:15px 23px; font-size:15px; font-weight:600; background:var(--ink); color:var(--paper); border-radius:5px; }
.audience-branches { height:49px; position:relative; margin-inline:24%; }
.audience-branches:before { content:""; position:absolute; height:25px; width:2px; background:var(--orange); left:50%; }
.audience-branches:after { content:""; position:absolute; top:24px; left:0; right:0; height:25px; border:2px solid var(--orange); border-bottom:0; }
.audience-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.audience-cards > div { padding:25px; background:#eee9df; border-radius:6px; }
.audience-cards > div:last-child { background:#ffecd9; }
.audience-cards .eyebrow { font-size:10px; display:block; margin-bottom:17px; }
.audience-cards h3 { font-size:25px; }
.audience-cards p { font-size:16px; margin-top:17px; }
.handoff-head { display:grid; grid-template-columns:1fr 1fr; gap:80px; font-size:12px; text-transform:uppercase; letter-spacing:.13em; padding-bottom:20px; }
.handoff-head span:last-child { color:var(--orange-text); }
.handoff-row { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:26px 0; border-top:1px solid var(--line); }
.handoff-row > div:first-child { padding-left:46px; position:relative; }
.handoff-number { position:absolute; left:0; top:3px; font-family:var(--garet); font-size:17px; color:#9a9387; }
.handoff-row h3 { font-size:24px; }
.handoff-row p { font-size:17px; margin-top:10px; max-width:470px; }
.handoff-arrow { position:absolute; left:calc(50% - 20px); top:36px; color:var(--orange-text); font-size:24px; }
.social-start-journey .social-start-phases { grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; margin-top:45px; }
.social-start-journey .social-start-phases li { display:block; }
.social-start-journey .social-start-phases .phase-number { margin-bottom:20px; position:relative; z-index:1; }
.social-start-journey .social-start-phases li:not(:last-child):after { display:block; z-index:0; left:54px; right:-20px; width:auto; height:1px; top:22px; bottom:auto; background:#c9c0b0; }
.social-start-journey .phase-body h3 { font-size:23px; }
.social-start-journey .phase-body { padding:0; }
.social-expectations { display:grid; grid-template-columns:1fr 1fr; gap:70px; border-top:1px solid #c9c0b0; margin-top:45px; padding-top:35px; }
.social-expectations .eyebrow { font-size:10px; margin-bottom:15px; }
.social-expectations h3 { font-size:27px; }
.social-expectations p:not(.eyebrow) { font-size:16px; color:var(--muted); margin-top:17px; max-width:490px; }
.social-expectations ul { list-style:none; margin:0; padding:0; }
.social-expectations li { padding:0 0 15px 18px; border-left:2px solid #cfc5b5; margin-bottom:12px; }
.social-expectations li:last-child { margin:0; padding-bottom:0; }
.social-expectations strong { font-size:15px; }
.social-expectations li span { display:block; font-size:14px; color:var(--muted); margin-top:4px; }
@media(prefers-reduced-motion:no-preference) {
 .diagram-entered .audience-branches:after { transform-origin:center top; animation:branch-draw 850ms cubic-bezier(.23,1,.32,1) backwards; }
 .diagram-entered .audience-cards > div { animation:diagram-card 600ms cubic-bezier(.23,1,.32,1) 200ms backwards; }
 .diagram-entered .audience-cards > div:last-child { animation-delay:350ms; }
 .diagram-entered .handoff-arrow { animation:handoff-arrow 800ms cubic-bezier(.23,1,.32,1) backwards; }
 .diagram-entered .handoff-row:nth-child(3) .handoff-arrow { animation-delay:150ms; }
 .diagram-entered .handoff-row:nth-child(4) .handoff-arrow { animation-delay:300ms; }
 .social-start-journey .diagram-entered li:not(:last-child):after { transform-origin:left; animation:journey-line 1s cubic-bezier(.23,1,.32,1) backwards; }
 .social-start-journey .diagram-entered li:nth-child(2):after { animation-delay:200ms; }
 .social-start-journey .diagram-entered li:nth-child(3):after { animation-delay:400ms; }
 @keyframes branch-draw { from {opacity:.2;transform:scaleX(.3);} to {opacity:1;transform:scaleX(1);} }
 @keyframes diagram-card { from {opacity:.3;transform:translateY(8px);} to {opacity:1;transform:translateY(0);} }
 @keyframes handoff-arrow { from {opacity:.2;transform:translateX(-12px);} to {opacity:1;transform:translateX(0);} }
 @keyframes journey-line { from {transform:scaleX(0);} to {transform:scaleX(1);} }
}
@media(max-width:1100px) {
 .audience-layout { gap:35px; }
 .audience-cards { gap:12px; }
 .audience-cards > div { padding:20px; }
 .audience-cards h3 { font-size:21px; }
 .social-start-journey .social-start-phases { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
 .social-start-journey .social-start-phases li:nth-child(2):after { display:none; }
}
@media(max-width:800px) {
 .audience-layout { grid-template-columns:minmax(0,1fr); gap:35px; }
 .audience-diagram { max-width:600px; width:100%; margin:auto; }
 .handoff-head,.handoff-row { gap:45px; }
 .handoff-row h3 { font-size:21px; }
 .handoff-row > div:first-child { padding-left:32px; }
 .handoff-arrow { left:calc(50% - 13px); }
 .social-expectations { gap:30px; }
}
@media(max-width:580px) {
 .social-service-page .video-showcase-grid { justify-content:flex-start; gap:16px; }
 .video-showcase-grid article { flex-basis:82%; }
 .video-intro { margin-bottom:28px; }
 .social-service-page .video-intro h2 { font-size:clamp(29px,8.3vw,42px); }
 .video-intro > p:not(.eyebrow) { font-size:16px; margin-top:22px; }
 .video-preview-note { font-size:10px; }
 .audience-cards > div { padding:18px 14px; }
 .audience-cards h3 { font-size:19px; }
 .audience-cards p { font-size:14px; }
 .audience-diagram > figcaption { font-size:13px; }
 .handoff-head { font-size:10px; gap:35px; }
 .handoff-row { gap:35px; padding-block:22px; }
 .handoff-row > div:first-child { padding-left:0; }
 .handoff-number { display:none; }
 .handoff-row h3 { font-size:18px; }
 .handoff-row p { font-size:14px; }
 .handoff-arrow { font-size:20px; left:calc(50% - 9px); top:24px; }
 .social-start-journey .social-start-phases { grid-template-columns:minmax(0,1fr); gap:26px; }
 .social-start-journey .social-start-phases li { display:grid; grid-template-columns:36px minmax(0,1fr); gap:18px; }
 .social-start-journey .social-start-phases .phase-number { margin:0; }
 .social-start-journey .social-start-phases li:not(:last-child):after { display:block; left:18px; top:46px; bottom:-16px; right:auto; width:1px; height:auto; }
 .social-start-journey .phase-body { padding-top:4px; }
 .social-start-journey .phase-body h3 { font-size:22px; }
 .social-expectations { grid-template-columns:minmax(0,1fr); gap:25px; margin-top:32px; padding-top:28px; }
 .social-expectations h3 { font-size:24px; }
}
@media(max-width:580px) and (prefers-reduced-motion:no-preference) {
 .social-start-journey .diagram-entered li:not(:last-child):after { transform-origin:top; animation-name:journey-line-vertical; }
 @keyframes journey-line-vertical { from {transform:scaleY(0);} to {transform:scaleY(1);} }
}
.audience-cards h3,.audience-cards p,.handoff-row h3,.handoff-row p { overflow-wrap:anywhere; hyphens:auto; }

.social-service-page .video-showcase-grid { scrollbar-width:none; }
.video-showcase-grid::-webkit-scrollbar { display:none; }
.support-comparison { gap:32px; }
.support-comparison article { min-width:0; }
.support-comparison .support-need { color:var(--orange-text); font-size:14px; font-weight:600; margin:0 0 20px; min-height:44px; }
.support-comparison h3 { font-size:clamp(24px,2.2vw,32px); min-height:78px; hyphens:auto; overflow-wrap:anywhere; }
.support-comparison .support-fit { margin:15px 0 24px; min-height:105px; font-size:17px; }
.support-comparison dl { margin:0 0 30px; }
.support-comparison dl > div { border-top:1px solid var(--line); padding:18px 0; }
.support-comparison dt { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:8px; }
.support-comparison dd { font-size:15px; margin:0; }
.support-comparison .text-link { font-size:14px; }
@media(max-width:800px) {
 .support-comparison { grid-template-columns:minmax(0,1fr); }
 .support-comparison h3,.support-comparison .support-need,.support-comparison .support-fit { min-height:0; }
 .support-comparison dl { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:20px; }
}
@media(max-width:430px) {
 .support-comparison dl { grid-template-columns:minmax(0,1fr); gap:0; }
}
.social-support h2 { hyphens:auto; overflow-wrap:anywhere; }
/* Clear section rhythm on the Social Media service page. */
.social-service-page .social-care { background:var(--paper); }
.social-service-page .care-panel-visual { background:#eee9df; }
.social-service-page .social-audience { background:#eee9df; border-bottom:0; }
.social-service-page .audience-cards > div { background:var(--paper); }
.social-service-page .audience-cards > div:last-child { background:#ffecd9; }
.social-service-page .social-start { background:var(--ink); color:var(--paper); --muted:#c7c1b7; }
.social-start-journey > .wrap > .eyebrow { color:var(--orange); }
.social-start-journey .phase-body > p { color:#d3cec5; }
.social-start-journey .script { color:var(--orange); }
.social-start-journey .social-expectations { border-color:#48443e; }
.social-start-journey .social-expectations li { border-color:#65594a; }
.social-start-journey .social-start-phases li:not(:last-child):after { background:#65594a; }
.social-service-page .social-support { background:#eee9df; }
.social-service-page .social-support h2 { hyphens:none; }
.social-service-page .social-support h2 br { display:block; }
.social-service-page .faq { border-top:0; }

/* Approved interaction refinement: stable link geometry across all pages. */
.text-link,.text-link:hover { gap:16px; transition:none; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .text-link > span { transition:transform 180ms cubic-bezier(.23,1,.32,1); }
 .text-link:hover > span { transform:translateX(3px); }
}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce) {
 .button:hover { transform:none; }
}

/* One shoot, four outcomes: original illustrations for the homepage. */
.shoot-output { margin-top:44px; }
.shoot-origin { position:relative; display:flex; align-items:center; gap:16px; width:max-content; max-width:100%; margin:0 auto 48px; padding:18px 24px; background:var(--ink); color:var(--paper); border-radius:8px; }
.shoot-origin svg { width:32px; height:24px; color:var(--orange); flex:none; }
.shoot-origin strong,.shoot-origin span { display:block; }
.shoot-origin strong { font-size:18px; }
.shoot-origin span { font-size:13px; opacity:.8; margin-top:3px; }
.shoot-origin:after { content:""; position:absolute; top:100%; left:50%; height:26px; border-left:1px solid var(--orange); }
.shoot-results { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; position:relative; }
.shoot-results:before { content:""; position:absolute; top:-22px; left:calc((100% - 84px)/8); right:calc((100% - 84px)/8); border-top:1px solid var(--orange); }
.shoot-result { position:relative; min-width:0; text-align:center; }
.shoot-result:before { content:""; position:absolute; top:-22px; left:50%; height:20px; border-left:1px solid var(--orange); }
.shoot-illustration { aspect-ratio:260/190; display:grid; place-items:center; }
.shoot-illustration svg { width:100%; max-width:260px; height:auto; overflow:visible; }
.shoot-result-label { margin:12px 0 10px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }
.shoot-result h3 { font-size:clamp(18px,1.65vw,26px); line-height:1.25; }
.shoot-result p { font-size:15px; line-height:1.6; max-width:230px; margin:10px auto 0; }
.shoot-finish { margin-top:40px; padding-top:28px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1.25fr; gap:48px; }
.shoot-finish .eyebrow { font-size:10px; margin-bottom:12px; }
.shoot-finish h3 { font-size:clamp(24px,2.4vw,36px); line-height:1.25; }
.shoot-finish p { font-size:16px; }
.shoot-finish .small { font-size:13px; color:var(--muted); margin-top:12px; }
.shoot-finish .text-link { margin-top:18px; }

@media(max-width:520px) {
  .inquiry-compass { padding:20px; }
  .compass-topline { align-items:flex-start; flex-direction:column; gap:6px; }
  .compass-options--two,.compass-fields,.compass-summary dl { grid-template-columns:1fr; }
  .compass-option { min-height:66px; }
  .compass-actions { align-items:stretch; flex-direction:column-reverse; }
  .compass-actions .button { width:100%; }
  .compass-back { align-self:flex-start; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .shoot-shift,.shoot-playhead { transition:transform 300ms ease; }
 .shoot-result:hover .shoot-shift { transform:translateY(-5px); }
 .shoot-result:hover .shoot-playhead { transform:translateX(40px); }
}
@media(max-width:700px) {
 .shoot-results { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }
 .shoot-results:before { left:calc((100% - 16px)/4); right:calc((100% - 16px)/4); }
 .shoot-result:nth-child(n+3):before { display:none; }
 .shoot-result h3 { font-size:19px; }
 .shoot-result p { font-size:14px; }
 .shoot-finish { grid-template-columns:1fr; gap:20px; }
 .shoot-origin { padding:15px 18px; }
}

/* Homepage video reel: same visual language as the service showcase. */
.home-videos .video-intro h2 { font-size:clamp(32px,3.7vw,54px); }
.home-video-window { overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.home-video-track { display:flex; width:max-content; animation:home-video-loop 65s linear infinite; }
.home-video-group,.home-video-set { display:flex; flex-shrink:0; }
.home-video-set { gap:24px; padding-right:24px; }
.home-video-card { width:clamp(220px,24vw,290px); flex:none; }
.home-video-card .showcase-media { border-radius:14px; }
.home-video-card img,.home-video-card video { width:100%; aspect-ratio:9/16; object-fit:cover; }
@keyframes home-video-loop { to { transform:translateX(-50%); } }
@media(max-width:580px) {
 .home-video-card { width:220px; }
 .home-video-set { gap:16px; padding-right:16px; }
 .home-video-track { margin-left:calc((100vw - 40px - 220px)/2); }
}
@media(prefers-reduced-motion:reduce) {
 .home-video-track { animation:none; margin-left:0; }
 .home-video-window { overflow-x:auto; scroll-snap-type:x mandatory; }
 .home-video-card { scroll-snap-align:center; }
 .home-video-group[aria-hidden],.home-video-set[aria-hidden] { display:none; }
}

.home-video-window.is-interactive { cursor:grab; touch-action:pan-y; user-select:none; }
.home-video-window.is-dragging { cursor:grabbing; }
.home-video-window.is-interactive .home-video-track { animation:none; will-change:transform; }
.home-video-window img { -webkit-user-drag:none; }
.home-video-window:focus-visible { outline:2px solid var(--orange); outline-offset:6px; }
@media(prefers-reduced-motion:reduce) {
 .home-video-window.is-interactive { touch-action:auto; }
 .home-video-window.is-interactive .home-video-track { will-change:auto; }
}

/* Independent service compositions; shared type and spacing follow PariScale. */
.specialist-page { --sand:#eee9df; }
.specialist-page > main > .breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; padding-block:28px; font-size:12px; }
.editorial-section { padding-block:88px; }
.specialist-page h1 { font-size:clamp(52px,6.5vw,96px); line-height:1.02; letter-spacing:-.055em; }
.specialist-page h2 { font-size:clamp(34px,3.9vw,58px); line-height:1.12; }
.specialist-page h3 { font-size:26px; line-height:1.18; }
.specialist-page h1,.specialist-page h2,.specialist-page h3 { overflow-wrap:anywhere; }
.specialist-page p { text-wrap:pretty; }
.specialist-page .lead { font-size:22px; line-height:1.55; }
.specialist-page .script { letter-spacing:0; }
.editorial-actions { display:flex; align-items:flex-start; flex-direction:column; gap:20px; }
.editorial-actions .button { white-space:normal; text-align:left; }
.editorial-photo { margin:0; position:relative; overflow:hidden; }
.editorial-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.editorial-photo figcaption { position:absolute; bottom:12px; left:12px; max-width:calc(100% - 24px); color:var(--paper); background:#171717e8; padding:5px 9px; font-size:10px; line-height:1.5; }
.tone-sand { background:var(--sand); }
.tone-ink { background:var(--ink); color:var(--paper); --muted:#cbc5bb; --line:#49443e; }
.tone-ink .eyebrow,.tone-ink .script { color:var(--orange); }
.tone-ink p { color:#d5cec2; }
.editorial-small { font-size:12px; color:var(--muted); margin-top:25px; }
.editorial-tie { fill:currentColor; width:32px; height:70px; }
.editorial-process .process-editorial-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.process-editorial-layout > div > p:last-child { max-width:360px; margin-top:24px; font-size:17px; }
.editorial-process ol { list-style:none; margin:0; padding:0; }
.editorial-process li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:24px; position:relative; padding-bottom:36px; }
.editorial-process li:last-child { padding-bottom:0; }
.editorial-process li:not(:last-child):before { content:''; position:absolute; top:50px; bottom:10px; left:19px; width:1px; background:#bdb2a2; }
.editorial-step { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--orange); font-family:var(--garet); font-size:15px; }
.editorial-process h3 { font-size:25px; padding-top:4px; }
.editorial-process li p { font-size:17px; margin-top:12px; }
.editorial-faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }
.editorial-faq details { border-top:1px solid var(--line); }
.editorial-faq details:last-child { border-bottom:1px solid var(--line); }
.editorial-faq summary { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:23px 0; font-size:19px; font-weight:600; list-style:none; cursor:pointer; }
.editorial-faq summary::-webkit-details-marker { display:none; }
.editorial-faq summary span { font-size:24px; font-weight:400; }
.editorial-faq [open] summary span { transform:rotate(45deg); }
.editorial-faq details p { padding:0 32px 24px 0; font-size:17px; }
.editorial-closing { background:var(--ink); color:var(--paper); }
.editorial-closing .wrap { display:grid; grid-template-columns:1.2fr 1fr; gap:24px 100px; }
.editorial-closing .eyebrow { grid-column:1/-1; color:var(--orange); margin:0; }
.editorial-closing .script { color:var(--orange); }
.editorial-closing h2 { font-size:clamp(42px,4.5vw,68px); }
.editorial-closing .wrap > div > p:first-child { font-size:20px; color:#d5cec2; margin-bottom:25px; }
.editorial-closing .editorial-actions > .text-link { display:none; }
.editorial-closing .text-link { margin-top:22px; }
.editorial-closing .small { margin-top:20px; color:#b6afa3; font-size:12px; }
.editorial-related { display:flex; align-items:center; flex-wrap:wrap; gap:18px 30px; padding-block:30px; }
.editorial-related > span { color:var(--muted); font-size:12px; margin-right:auto; }
.editorial-related a { font-size:14px; border-bottom:1px solid var(--line); padding-bottom:5px; }
/* Performance: a typographic opening, comparison, readiness and budget. */
.ads-hero { padding-top:36px; }
.ads-hero h1 { max-width:1080px; }
.ads-hero-bottom { display:grid; grid-template-columns:1.4fr 1fr; gap:100px; align-items:center; margin-top:40px; }
.ads-hero-bottom .lead { max-width:700px; }
.ads-route { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); margin-top:55px; padding-top:25px; font-size:16px; }
.ads-route i { color:var(--orange-text); font-style:normal; font-size:26px; }
.ads-difference { display:grid; grid-template-columns:1.1fr 1fr; gap:90px; }
.ads-difference > div > p:not(.eyebrow) { font-size:18px; margin:25px 0; }
.editorial-comparison { margin:0; }
.editorial-comparison > div { border-top:3px solid var(--ink); padding-top:25px; }
.editorial-comparison > div + div { margin-top:35px; border-color:var(--orange); }
.editorial-comparison dt { font-family:var(--garet); font-size:27px; margin-bottom:14px; }
.editorial-comparison dd { margin:0; font-size:18px; }
.readiness-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:100px; margin-top:40px; }
.readiness-grid > div > p + p { margin-top:20px; font-size:17px; }
.editorial-question-list { list-style:none; padding:0; margin:0; }
.editorial-question-list li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:20px; padding:0 0 25px; margin-bottom:25px; border-bottom:1px solid var(--line); }
.editorial-question-list li:last-child { margin-bottom:0; }
.editorial-question-list li > span { font-size:13px; color:var(--orange-text); }
.editorial-question-list p { margin-top:12px; font-size:17px; }
.budget-ledger { display:grid; grid-template-columns:1fr 80px 1fr; gap:40px; margin-top:55px; }
.budget-ledger article > span { display:block; font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--orange); margin-bottom:22px; }
.budget-ledger h3 { font-size:35px; }
.budget-ledger p { margin-top:22px; font-size:18px; max-width:490px; }
.budget-plus { font-size:60px; align-self:center; color:var(--orange); text-align:center; }
.budget-note { font-size:13px; margin-top:36px; padding-top:24px; border-top:1px solid var(--line); max-width:1050px; }
.ads-material { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:center; }
.ads-material .editorial-photo { aspect-ratio:1.15; }
.ads-material p:not(.eyebrow) { font-size:18px; margin-top:22px; }
.ads-material .text-link { margin-top:25px; }
/* Recruiting: people first, followed by the applicant's questions and journey. */
.recruiting-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:65px; align-items:center; padding-block:25px 75px; }
.recruiting-hero h1 { font-size:clamp(48px,5.6vw,82px); }
.recruiting-hero h1 .script { display:block; width:fit-content; }
.recruiting-hero .lead { font-size:20px; margin:30px 0; }
.recruiting-cover { aspect-ratio:.82; }
.employer-section { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; }
.employer-questions article { border-top:1px solid var(--line); padding:23px 0; }
.employer-questions article:first-child { padding-top:0; border:0; }
.employer-questions article > span { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--orange); }
.employer-questions h3 { margin-top:12px; }
.employer-questions p { margin-top:13px; font-size:17px; }
.recruiting-content { display:grid; grid-template-columns:1.1fr 1fr; gap:75px; align-items:center; }
.recruiting-photo-pair { display:grid; grid-template-columns:1.2fr .8fr; gap:16px; align-items:end; }
.recruiting-photo-pair .editorial-photo:first-child { height:450px; }
.recruiting-photo-pair .editorial-photo:last-child { height:300px; margin-bottom:35px; }
.recruiting-photo-pair figcaption { font-size:8px; bottom:8px; left:8px; padding:4px; }
.recruiting-content p:not(.eyebrow) { margin-top:24px; }
.recruiting-content .text-link { margin-top:24px; }
.applicant-route { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.applicant-route > div > p:last-child { margin-top:25px; font-size:18px; }
.applicant-route ol { list-style:none; margin:0; padding:0; }
.applicant-route li { padding:0 0 27px 28px; border-left:2px solid #d0c2ae; position:relative; }
.applicant-route li:before { content:''; position:absolute; width:10px; height:10px; border-radius:50%; background:var(--orange); left:-6px; top:9px; }
.applicant-route li:last-child { padding-bottom:0; }
.applicant-route li > span { font-family:var(--garet); font-size:27px; }
.applicant-route li p { margin-top:10px; font-size:18px; }
.recruiting-brief { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:40px; }
.recruiting-brief > div { border-top:2px solid var(--ink); padding-top:23px; }
.recruiting-brief > div:last-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:35px; border-color:var(--orange); }
.recruiting-brief p { font-size:18px; margin-top:17px; }
.recruiting-brief > div:last-child p { margin-top:0; }
/* Film: large imagery and generous media space. */
.video-editorial-hero { padding-block:30px 50px; }
.video-editorial-hero h1 { font-size:clamp(54px,7vw,106px); }
.video-editorial-hero > div { display:grid; grid-template-columns:1.35fr 1fr; gap:100px; margin-top:35px; align-items:center; }
.cinema-cover { position:relative; }
.cinema-cover .editorial-photo { aspect-ratio:2.25; }
.cinema-note { position:absolute; right:20px; top:20px; background:var(--ink); color:var(--paper); padding:9px 15px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.film-formats { display:grid; grid-template-columns:1fr 1.2fr; gap:90px; }
.film-format-list article { display:grid; grid-template-columns:25px 1fr; gap:12px 20px; padding-block:24px; border-top:1px solid var(--line); }
.film-format-list article:first-child { padding-top:0; border-top:0; }
.film-format-list article > span { font-size:12px; color:var(--orange-text); padding-top:5px; }
.film-format-list p { grid-column:2; font-size:18px; }
.specialist-page .video-showcase-grid { display:flex; justify-content:center; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.specialist-page .video-showcase-grid article { scroll-snap-align:center; }
.specialist-page .video-showcase .showcase-media { border-radius:12px; }
.shoot-editorial { display:grid; grid-template-columns:1fr 1fr; gap:75px; align-items:center; }
.shoot-editorial .editorial-photo { aspect-ratio:1.1; }
.shoot-editorial p:not(.eyebrow) { margin-top:25px; }
.edit-story { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-top:45px; }
.edit-story > div { border-top:3px solid var(--orange); padding-top:20px; }
.edit-story span { font-family:var(--garet); font-size:26px; }
.edit-story p { margin-top:15px; font-size:17px; }
.specialist-3 .editorial-process { background:var(--paper); border-bottom:1px solid var(--line); }
/* Web: bold dark opening and an honest self-project rather than fake clients. */
.web-hero { padding-block:70px; }
.web-hero h1 { max-width:1150px; }
.web-hero-bottom { display:grid; grid-template-columns:1.4fr 1fr; gap:100px; margin-top:40px; align-items:center; }
.web-project-heading { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:28px; }
.web-project-heading .eyebrow { margin:0; }
.web-project-heading > span { font-size:12px; color:var(--muted); }
.own-project { position:relative; display:block; background:#eee9df; padding:35px 65px 0; overflow:hidden; }
.own-project > div { background:var(--paper); padding:25px 35px 0; }
.own-project-brand { font-family:var(--garet); font-size:20px; letter-spacing:-.06em; }
.own-project-brand b { color:var(--orange); }
.own-project strong { display:block; font-family:var(--garet); font-size:clamp(30px,4vw,61px); line-height:1.08; margin:25px 0 20px; letter-spacing:-.04em; }
.own-project em { font-family:var(--script); color:var(--orange-text); font-weight:400; letter-spacing:0; }
.own-project img { width:100%; display:block; }
.own-project-open { position:absolute; right:25px; bottom:25px; background:var(--ink); color:var(--paper); padding:15px 22px; font-size:14px; }
.web-project-caption { display:grid; grid-template-columns:1fr 1fr; gap:75px; margin-top:35px; align-items:start; }
.web-project-caption h2 { font-size:38px; }
.web-project-caption p { font-size:18px; }
.web-choice-pair { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:40px; }
.web-choice-pair article { border-top:3px solid var(--ink); padding-top:25px; }
.web-choice-pair article:last-child { border-color:var(--orange); }
.web-choice-pair article > span { font-size:12px; color:var(--muted); }
.web-choice-pair h3 { margin:15px 0 20px; font-size:32px; }
.web-choice-pair p { font-size:18px; }
.web-choice-pair ul { list-style:none; margin:25px 0 0; padding:0; }
.web-choice-pair li { border-top:1px solid #d4c8b7; padding-block:12px; font-size:16px; }
.web-principles-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px 70px; margin-top:45px; }
.web-principles-grid article { border-top:1px solid var(--line); padding-top:22px; display:grid; grid-template-columns:35px 1fr; gap:14px 18px; }
.web-principles-grid article > span { color:var(--orange-text); font-size:13px; }
.web-principles-grid p { grid-column:2; font-size:18px; }
.web-launch .wrap { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.web-launch ul { list-style:none; margin:0; padding:0; }
.web-launch li { font-size:18px; border-bottom:1px solid var(--line); padding:20px 0 20px 28px; position:relative; }
.web-launch li:before { content:'✓'; color:var(--orange); position:absolute; left:0; }
/* Coaching: a human learning page, with practical expandable prompts. */
.coaching-hero { background:var(--orange); padding-block:65px; }
.coaching-hero .wrap { display:grid; grid-template-columns:1.3fr 1fr; gap:25px 80px; align-items:center; }
.coaching-hero .eyebrow { grid-column:1/-1; }
.coaching-hero h1 { font-size:clamp(50px,6vw,88px); }
.coaching-ink-script { font-family:var(--script); display:inline-block; letter-spacing:0; line-height:1.4; }
.coaching-hero .button { background:var(--ink); color:var(--paper); }
.coaching-hero .lead { font-size:22px; margin-bottom:32px; }
.coaching-topics { display:grid; grid-template-columns:1fr 1.1fr; gap:100px; }
.coaching-topics > div > p:last-child { margin-top:25px; font-size:18px; }
.coaching-topic-list details,.automation-options details { border-top:1px solid var(--line); }
.coaching-topic-list details:last-child,.automation-options details:last-child { border-bottom:1px solid var(--line); }
.coaching-topic-list summary,.automation-options summary { display:flex; gap:17px; align-items:center; font-weight:600; font-size:20px; list-style:none; padding-block:24px; cursor:pointer; }
.coaching-topic-list summary::-webkit-details-marker,.automation-options summary::-webkit-details-marker { display:none; }
.coaching-topic-list summary > span,.automation-options summary > span { font-size:12px; color:var(--orange-text); }
.coaching-topic-list summary b,.automation-options summary b { margin-left:auto; font-size:24px; font-weight:400; }
.coaching-topic-list [open] summary b,.automation-options [open] summary b { transform:rotate(45deg); }
.coaching-topic-list details > div,.automation-options details > div { padding:0 0 25px 32px; }
.coaching-topic-list h3 { font-size:24px; margin-bottom:15px; }
.coaching-topic-list p,.automation-options p { font-size:17px; }
.coaching-topic-list .coaching-prompt { padding:18px; background:var(--sand); margin-top:22px; border-left:2px solid var(--orange); }
.coaching-before-after { display:grid; grid-template-columns:1fr 70px 1.3fr; gap:35px; margin-top:45px; align-items:center; }
.coaching-before-after > div { border-top:2px solid var(--ink); padding-top:25px; }
.coaching-before-after > div:last-child { border-color:var(--orange); }
.coaching-before-after > div > span { font-size:12px; text-transform:uppercase; letter-spacing:.07em; }
.coaching-before-after > div > p { font-family:var(--garet); font-size:30px; line-height:1.25; margin-top:20px; }
.coaching-before-after > span { font-size:40px; color:var(--orange-text); text-align:center; }
.coaching-fit > div { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.coaching-fit > div > div > p + p { margin-top:22px; font-size:18px; }
.coaching-fit .text-link { margin-top:25px; }
/* Print: physical, overlapping typography studies, not a software panel. */
.print-editorial-hero { padding-block:35px 55px; }
.print-editorial-hero > div { display:grid; grid-template-columns:1.3fr 1fr; gap:100px; align-items:center; margin-top:35px; }
.print-gallery { overflow:hidden; padding:50px 0 30px; }
.print-collection { position:relative; height:540px; max-width:1000px; margin:auto; }
.print-poster { position:absolute; left:6%; top:15px; width:40%; height:470px; background:var(--ink); color:var(--paper); transform:rotate(-5deg); padding:32px; }
.print-poster > span { font-size:9px; letter-spacing:.11em; }
.print-poster strong { font-family:var(--garet); font-size:clamp(35px,4vw,58px); line-height:1.1; display:block; margin-top:40px; }
.print-poster em { font-family:var(--script); font-style:normal; color:var(--orange); }
.print-poster svg { position:absolute; bottom:36px; right:30px; color:var(--orange); }
.print-poster small { position:absolute; bottom:30px; font-size:9px; }
.print-flyer { position:absolute; left:49%; top:0; width:34%; height:365px; background:var(--orange); padding:30px; transform:rotate(6deg); }
.print-flyer > span { font-family:var(--garet); font-size:24px; letter-spacing:-.05em; }
.print-flyer strong { font-family:var(--garet); display:block; font-size:35px; line-height:1.12; margin-top:40px; }
.print-flyer svg { width:25px; margin-top:20px; }
.print-flyer small { display:block; font-size:9px; position:absolute; bottom:22px; }
.print-business { position:absolute; right:1%; bottom:25px; width:42%; height:185px; background:var(--paper); transform:rotate(-4deg); padding:28px; box-shadow:0 8px 25px #17171715; }
.print-business strong { font-family:var(--garet); letter-spacing:-.06em; font-size:33px; }
.print-business strong span { color:var(--orange-text); }
.print-business svg { position:absolute; right:26px; top:27px; color:var(--orange-text); width:20px; }
.print-business small { position:absolute; left:28px; bottom:25px; font-size:9px; }
.print-gallery .editorial-small { text-align:center; }
.print-place-list { margin-top:40px; }
.print-place-list article { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; border-top:1px solid var(--line); padding-block:30px; }
.print-place-list article > span { font-family:var(--script); color:var(--orange-text); font-size:34px; }
.print-place-list p { margin-top:17px; font-size:18px; }
.brand-ingredients { display:flex; gap:30px; flex-wrap:wrap; margin:40px 0 30px; }
.brand-ingredients span { font-size:24px; border-bottom:2px solid var(--orange); padding-bottom:12px; }
.print-system .wrap > p:last-child { max-width:750px; font-size:20px; }
.print-handover { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.print-handover dl { margin:28px 0 0; }
.print-handover dl > div { padding:20px 0; border-top:1px solid var(--line); }
.print-handover dt { font-weight:600; font-size:18px; }
.print-handover dd { margin:9px 0 0; font-size:17px; }
/* Automation: real tasks, suitability and human responsibility. */
.automation-hero { padding-top:35px; }
.automation-hero h1 { font-size:clamp(48px,6.2vw,92px); max-width:1300px; }
.automation-hero > div { display:grid; grid-template-columns:1.4fr 1fr; gap:100px; align-items:center; margin-top:40px; }
.automation-principle { font-size:15px; border-top:1px solid var(--line); padding-top:25px; margin-top:45px; }
.automation-case-grid { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:45px; }
.automation-case-grid article { border-top:2px solid var(--ink); padding-top:24px; }
.automation-case-grid article:last-child { grid-column:1/-1; border-color:var(--orange); display:grid; grid-template-columns:1fr 1fr; column-gap:45px; }
.automation-case-grid article > span { font-size:12px; color:var(--muted); margin-bottom:15px; display:block; }
.automation-case-grid article p { font-size:18px; margin-top:20px; }
.automation-case-grid article small { font-size:13px; color:var(--muted); display:block; margin-top:20px; }
.automation-case-grid article:last-child > span { grid-column:1; }
.automation-case-grid article:last-child > h3 { grid-column:1; }
.automation-case-grid article:last-child > p { grid-column:2; grid-row:1/3; margin:0; }
.automation-case-grid article:last-child > small { grid-column:2; }
.automation-decision { display:grid; grid-template-columns:1fr 1.2fr; gap:100px; }
.automation-decision > div > p:last-child { font-size:18px; margin-top:25px; }
.automation-options strong { display:block; font-size:12px; color:var(--orange-text); text-transform:uppercase; margin:20px 0 8px; }
.automation-boundary-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px 75px; margin-top:40px; }
.automation-boundary-grid article { border-top:1px solid var(--line); padding-top:24px; }
.automation-boundary-grid p { font-size:18px; margin-top:20px; }
.automation-prep > div { display:grid; grid-template-columns:1fr 1fr; gap:90px; margin-top:35px; }
.automation-prep ul { margin:0; padding-left:20px; }
.automation-prep li { font-size:18px; margin-bottom:15px; }
@media(hover:hover) and (pointer:fine) {
 .editorial-faq summary:hover,.coaching-topic-list summary:hover,.automation-options summary:hover { color:var(--orange-text); }
 .editorial-related a:hover { color:var(--orange-text); }
 .own-project:hover .own-project-open { background:var(--orange); color:var(--ink); }
}
@media(max-width:1100px) {
 .specialist-page h1 { font-size:clamp(48px,6.3vw,80px); }
 .editorial-section { padding-block:70px; }
 .ads-difference,.ads-material,.employer-section,.recruiting-content,.applicant-route,.film-formats,.shoot-editorial,.print-handover,.automation-decision,.coaching-topics,.coaching-fit > div,.editorial-process .process-editorial-layout,.editorial-faq { gap:45px; }
 .ads-hero-bottom,.readiness-grid,.video-editorial-hero > div,.web-hero-bottom,.print-editorial-hero > div,.automation-hero > div,.automation-prep > div { gap:50px; }
 .recruiting-hero { gap:40px; }
 .recruiting-hero h1 { font-size:clamp(44px,5.4vw,70px); }
 .coaching-hero .wrap { gap:25px 45px; }
 .budget-ledger { gap:20px; grid-template-columns:1fr 50px 1fr; }
 .edit-story { grid-template-columns:1fr 1fr; }
 .print-poster strong { font-size:45px; }
 .print-flyer strong { font-size:30px; }
 .editorial-closing .wrap { gap:25px 50px; }
}
@media(max-width:800px) {
 .specialist-page .lead { font-size:20px; }
 .editorial-section { padding-block:60px; }
 .ads-hero-bottom,.ads-difference,.readiness-grid,.ads-material,.employer-section,.recruiting-content,.applicant-route,.film-formats,.shoot-editorial,.video-editorial-hero > div,.web-hero-bottom,.web-project-caption,.web-launch .wrap,.coaching-hero .wrap,.coaching-topics,.coaching-fit > div,.print-editorial-hero > div,.print-handover,.automation-hero > div,.automation-decision,.automation-prep > div,.editorial-process .process-editorial-layout,.editorial-faq { grid-template-columns:1fr; gap:30px; }
 .recruiting-hero { grid-template-columns:1fr; gap:35px; }
 .recruiting-hero h1 { font-size:clamp(48px,8vw,70px); }
 .recruiting-cover { aspect-ratio:1.35; }
 .recruiting-photo-pair { max-width:620px; }
 .ads-material .editorial-photo,.shoot-editorial .editorial-photo { aspect-ratio:1.5; }
 .ads-route { font-size:13px; gap:12px; }
 .web-project-caption h2 { font-size:38px; }
 .own-project { padding:25px 30px 0; }
 .web-choice-pair { gap:30px; }
 .web-choice-pair h3 { font-size:26px; }
 .web-principles-grid { gap:35px; }
 .coaching-hero h1 { max-width:680px; }
 .coaching-before-after { grid-template-columns:1fr 40px 1.2fr; gap:20px; }
 .coaching-before-after > div > p { font-size:24px; }
 .coaching-hero .eyebrow { grid-column:auto; }
 .print-collection { height:440px; }
 .print-poster { height:375px; padding:22px; width:42%; left:3%; }
 .print-poster strong { font-size:35px; }
 .print-flyer { height:300px; padding:22px; width:37%; }
 .print-flyer strong { font-size:27px; margin-top:30px; }
 .print-business { height:155px; padding:22px; }
 .print-business strong { font-size:27px; }
 .print-business svg { width:16px; right:20px; }
 .print-place-list article { grid-template-columns:.65fr 1fr; gap:30px; }
 .editorial-closing .wrap { grid-template-columns:1fr; }
 .editorial-closing .eyebrow { grid-column:auto; }
 .editorial-closing .wrap > div { max-width:620px; }
}
@media(max-width:580px) {
 .specialist-page > main > .breadcrumbs { font-size:11px; gap:8px; padding-block:22px; }
 .editorial-section { padding-block:48px; }
 .specialist-page h1,.recruiting-hero h1,.video-editorial-hero h1,.coaching-hero h1,.automation-hero h1 { font-size:clamp(38px,10.5vw,60px); line-height:1.08; }
 .specialist-page h2 { font-size:clamp(29px,8.5vw,42px); }
 .specialist-page h3 { font-size:23px; }
 .specialist-page .lead { font-size:18px; }
 .specialist-page .eyebrow { font-size:10px; line-height:1.7; }
 .specialist-page h1,.specialist-page h2,.specialist-page h3 { hyphens:auto; }
 .specialist-page .script { hyphens:none; }
 .editorial-actions .button { font-size:15px; padding:17px 20px; }
 .editorial-actions .text-link { font-size:14px; }
 .ads-hero,.automation-hero { padding-top:22px; }
 .ads-hero-bottom,.video-editorial-hero > div,.web-hero-bottom,.print-editorial-hero > div,.automation-hero > div { margin-top:28px; }
 .ads-route { flex-direction:column; align-items:flex-start; gap:9px; margin-top:32px; padding-top:22px; }
 .ads-route i { transform:rotate(90deg); font-size:22px; }
 .editorial-comparison dt { font-size:24px; }
 .editorial-comparison dd,.ads-difference > div > p:not(.eyebrow),.editorial-question-list p { font-size:16px; }
 .readiness-grid { margin-top:28px; }
 .budget-ledger { grid-template-columns:1fr; gap:24px; margin-top:32px; }
 .budget-ledger h3 { font-size:29px; }
 .budget-ledger p { font-size:17px; margin-top:17px; }
 .budget-plus { text-align:left; font-size:35px; line-height:1; }
 .budget-note { font-size:12px; }
 .recruiting-hero { padding-block:20px 48px; }
 .recruiting-cover { aspect-ratio:1; }
 .recruiting-hero .lead { font-size:18px; margin-block:25px; }
 .recruiting-photo-pair .editorial-photo:first-child { height:290px; }
 .recruiting-photo-pair .editorial-photo:last-child { height:220px; margin-bottom:20px; }
 .recruiting-photo-pair { gap:12px; }
 .recruiting-brief { grid-template-columns:1fr; gap:28px; }
 .recruiting-brief > div:last-child { grid-column:auto; display:block; }
 .recruiting-brief > div:last-child p { margin-top:17px; }
 .recruiting-brief p,.applicant-route li p,.recruiting-content p:not(.eyebrow) { font-size:17px; }
 .video-editorial-hero,.print-editorial-hero { padding-block:20px 35px; }
 .cinema-cover .editorial-photo { aspect-ratio:1.35; }
 .cinema-note { right:10px; top:10px; padding:6px 9px; font-size:9px; }
 .film-format-list p { font-size:17px; }
 .specialist-page .video-showcase-grid { justify-content:flex-start; gap:16px; }
 .specialist-page .video-showcase-grid article { flex-basis:82%; }
 .edit-story { gap:25px 20px; }
 .edit-story span { font-size:21px; }
 .edit-story p { font-size:15px; }
 .web-hero { padding-block:45px; }
 .web-project-heading { display:block; }
 .web-project-heading > span { display:block; margin-top:10px; font-size:11px; }
 .own-project { padding:18px 15px 40px; }
 .own-project > div { padding:18px 15px 0; }
 .own-project strong { font-size:28px; margin-block:20px; }
 .own-project-open { right:15px; bottom:12px; padding:9px 13px; font-size:12px; }
 .web-choice-pair,.web-principles-grid { grid-template-columns:1fr; }
 .web-choice-pair h3 { font-size:27px; }
 .web-choice-pair p,.web-principles-grid p,.web-project-caption p { font-size:17px; }
 .web-project-caption h2 { font-size:31px; }
 .web-launch li { font-size:16px; }
 .coaching-hero { padding-block:40px; }
 .coaching-ink-script { line-height:1.5; }
 .coaching-topic-list summary,.automation-options summary { font-size:18px; gap:12px; }
 .coaching-topic-list details > div,.automation-options details > div { padding-left:25px; }
 .coaching-before-after { grid-template-columns:1fr; gap:22px; }
 .coaching-before-after > span { text-align:left; transform:rotate(90deg); width:35px; }
 .coaching-before-after > div > p { font-size:25px; }
 .print-gallery { padding-top:30px; }
 .print-collection { height:380px; }
 .print-poster { top:20px; height:280px; width:52%; padding:16px; }
 .print-poster > span { font-size:6px; }
 .print-poster strong { font-size:clamp(22px,5.7vw,31px); margin-top:27px; }
 .print-poster svg { width:17px; right:18px; bottom:23px; height:40px; }
 .print-poster small { font-size:6px; bottom:18px; }
 .print-flyer { left:55%; top:10px; width:42%; height:230px; padding:16px; }
 .print-flyer > span { font-size:17px; }
 .print-flyer strong { font-size:clamp(18px,4.5vw,25px); margin-top:25px; }
 .print-flyer svg { height:40px; width:17px; margin-top:14px; }
 .print-flyer small { font-size:6px; bottom:16px; }
 .print-business { right:6%; bottom:25px; width:65%; height:115px; padding:20px; }
 .print-business strong { font-size:25px; }
 .print-business svg { width:13px; height:40px; top:20px; right:17px; }
 .print-business small { font-size:6px; bottom:18px; left:20px; }
 .print-place-list article { grid-template-columns:1fr; gap:16px; }
 .print-place-list article > span { font-size:30px; }
 .brand-ingredients { flex-direction:column; gap:20px; align-items:flex-start; margin-top:30px; }
 .brand-ingredients span { font-size:22px; }
 .print-system .wrap > p:last-child { font-size:18px; }
 .automation-case-grid { grid-template-columns:1fr; gap:30px; }
 .automation-case-grid article:last-child { display:block; grid-column:auto; }
 .automation-case-grid article:last-child > p { margin-top:20px; }
 .automation-case-grid article p { font-size:17px; }
 .automation-boundary-grid { grid-template-columns:1fr; gap:28px; }
 .automation-boundary-grid p,.automation-prep li { font-size:17px; }
 .editorial-process li { grid-template-columns:34px minmax(0,1fr); gap:16px; padding-bottom:30px; }
 .editorial-step { width:34px; height:34px; font-size:13px; }
 .editorial-process li:not(:last-child):before { left:16px; top:43px; }
 .editorial-process h3 { font-size:21px; }
 .editorial-process li p { font-size:16px; }
 .editorial-faq summary { font-size:17px; padding-block:20px; gap:18px; }
 .editorial-faq details p { font-size:16px; padding-right:16px; }
 .editorial-closing h2 { font-size:36px; }
 .editorial-closing .wrap > div > p:first-child { font-size:18px; }
 .editorial-related { gap:14px 25px; }
 .editorial-related > span { flex-basis:100%; }
 .editorial-related a { font-size:13px; }
}
.coaching-topic-list summary b,.automation-options summary b,.editorial-faq summary > span { flex:0 0 24px; width:24px; height:24px; line-height:24px; text-align:center; }
.coaching-topic-list [open] summary b,.automation-options [open] summary b,.editorial-faq [open] summary > span { transform:none; font-size:0; }
.coaching-topic-list [open] summary b:after,.automation-options [open] summary b:after,.editorial-faq [open] summary > span:after { content:'×'; font-size:24px; }
@media(max-width:580px) { .specialist-page h2 br { display:none; } }
/* Service-specific eye-catchers: open compositions, no shared demo window. */
.service-art-hero { padding:40px 0 65px; }
.art-hero-layout { display:grid; grid-template-columns:1.05fr 1fr; grid-template-rows:auto auto auto auto; column-gap:70px; align-items:start; }
.art-hero-layout > .eyebrow,.art-hero-layout > h1,.art-hero-layout > .lead,.art-hero-layout > .editorial-actions { grid-column:1; }
.art-hero-layout > .eyebrow { margin-bottom:22px; }
.specialist-page .art-hero-layout h1 { font-size:clamp(45px,4.9vw,72px); line-height:1.08; }
.art-hero-layout > .lead { font-size:20px; margin-top:25px; }
.art-hero-layout > .editorial-actions { margin-top:27px; }
.hero-art { grid-column:2; grid-row:1/5; align-self:center; min-width:0; margin:0; }
.hero-art-stage { position:relative; height:440px; width:100%; color:var(--ink); }
.hero-art figcaption { font-size:10px; color:var(--muted); margin-top:20px; text-align:center; }
.hero-art img { display:block; width:100%; height:100%; object-fit:cover; }
.hero-art strong { font-family:var(--garet); line-height:1.12; }
.hero-art em { font-family:var(--script); font-style:normal; font-weight:400; }
.hero-art .editorial-tie { width:25px; height:55px; }
.art-hero-web { background:var(--ink); color:var(--paper); }
.art-hero-web .script,.art-hero-web .eyebrow { color:var(--orange); }
.art-hero-web .lead,.art-hero-web figcaption { color:#cfc8bd; }
.art-hero-coach { background:var(--orange); }
.art-hero-coach .button { background:var(--ink); color:var(--paper); }
.art-hero-coach figcaption { color:var(--ink); }
.ha-ad { position:absolute; left:3%; top:15px; width:56%; height:350px; background:var(--ink); color:var(--paper); transform:rotate(-5deg); overflow:hidden; }
.ha-ad > span { position:absolute; left:16px; top:16px; padding:5px 8px; background:var(--paper); color:var(--ink); font-size:8px; letter-spacing:.1em; }
.ha-ad img { height:100%; }
.ha-ad strong { position:absolute; bottom:14px; left:12px; right:12px; padding:14px; background:var(--ink); font-size:22px; }
.ha-target { position:absolute; right:0; top:0; width:40%; aspect-ratio:1; border:1px solid #d7c4ad; border-radius:50%; background:#f4e9d8; }
.ha-target i { position:absolute; inset:18%; border:1px solid #cfac84; border-radius:50%; }
.ha-target i:nth-child(2) { inset:36%; border-color:var(--orange); }
.ha-target b { display:grid; position:absolute; inset:0; place-items:center; color:var(--orange-text); }
.ha-target b .editorial-tie { height:38px; width:18px; }
.ha-target > span { position:absolute; top:100%; left:0; right:0; text-align:center; padding-top:12px; font-size:12px; }
.ha-ad-note { position:absolute; right:0; bottom:22px; font-family:var(--garet); font-size:22px; line-height:1.15; }
.ha-ad-note > span { display:block; font-size:55px; color:var(--orange-text); margin-bottom:12px; }
.ha-team { position:absolute; left:0; top:0; width:72%; height:350px; }
.ha-team > span,.ha-work > span { position:absolute; bottom:12px; left:10px; right:10px; font-size:12px; padding:8px; background:var(--paper); text-align:center; }
.ha-work { position:absolute; right:0; bottom:35px; width:42%; height:230px; border:7px solid var(--paper); transform:rotate(5deg); }
.ha-team-caption { position:absolute; left:0; bottom:0; font-size:17px; }
.ha-team-caption em { font-size:26px; color:var(--orange-text); }
.ha-film-main { position:absolute; left:0; top:30px; right:0; height:280px; }
.ha-film-main > span { position:absolute; top:14px; left:15px; font-size:9px; color:var(--paper); background:var(--ink); padding:6px 9px; letter-spacing:.1em; }
.ha-film-detail { position:absolute; right:12px; top:0; width:31%; height:255px; border:6px solid var(--paper); transform:rotate(6deg); }
.ha-film-detail span { position:absolute; bottom:8px; left:4px; right:4px; background:var(--paper); padding:6px; font-size:11px; }
.ha-edit { position:absolute; bottom:20px; width:100%; display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.ha-edit > span { font-size:13px; }
.ha-edit > div { grid-column:1/-1; display:flex; gap:5px; }
.ha-edit i { height:20px; flex:1; background:#d4c2a8; }
.ha-edit i:nth-child(2) { flex:2; background:var(--orange); }
.ha-edit i:last-child { background:var(--ink); }
.ha-desktop { position:absolute; left:0; top:20px; width:92%; padding:22px 22px 0; background:var(--paper); border-bottom:12px solid #b9b1a4; transform:rotate(-3deg); }
.ha-brand { font-family:var(--garet); font-size:15px; letter-spacing:-.05em; }
.ha-brand b { color:var(--orange-text); }
.ha-desktop strong { display:block; font-size:29px; margin:20px 0 14px; }
.ha-desktop em,.ha-mobile em { color:var(--orange-text); }
.ha-desktop img { height:155px; }
.ha-mobile { position:absolute; right:0; bottom:25px; width:30%; background:var(--paper); border:6px solid #4a4742; border-radius:18px; overflow:hidden; padding:20px 8px 8px; transform:rotate(6deg); }
.ha-mobile .ha-brand { font-size:10px; }
.ha-mobile strong { display:block; font-size:16px; margin:14px 0; }
.ha-mobile img { height:140px; object-position:50%; }
.ha-web-label { position:absolute; left:8px; bottom:0; color:var(--paper); font-size:15px; }
.ha-web-label em { font-size:26px; color:var(--orange); }
.ha-notebook { position:absolute; top:0; left:3%; width:75%; background:var(--paper); padding:30px; transform:rotate(-5deg); box-shadow:6px 6px 0 #17171715; }
.ha-notebook > span { font-size:9px; letter-spacing:.1em; }
.ha-notebook > strong { font-size:29px; display:block; margin:22px 0; }
.ha-notebook > div > span { display:block; padding:12px 0; border-bottom:1px solid var(--line); font-size:15px; }
.ha-notebook > em { display:block; margin-top:22px; color:var(--orange-text); font-size:28px; }
.ha-coach-photo { position:absolute; right:0; bottom:0; width:48%; height:200px; transform:rotate(7deg); border:8px solid var(--paper); background:var(--paper); padding-bottom:24px; }
.ha-coach-photo > span { font-size:9px; position:absolute; bottom:5px; left:0; right:0; text-align:center; }
.ha-poster { position:absolute; left:4%; top:15px; width:48%; height:360px; padding:24px; background:var(--ink); color:var(--paper); transform:rotate(-6deg); }
.ha-poster > span { font-size:8px; }
.ha-poster strong { font-size:35px; display:block; margin-top:30px; }
.ha-poster em { color:var(--orange); font-size:1.2em; }
.ha-poster svg { position:absolute; bottom:24px; right:24px; color:var(--orange); }
.ha-flyer { position:absolute; right:1%; top:5px; width:42%; height:290px; padding:23px; transform:rotate(7deg); background:var(--orange); }
.ha-flyer > span { font-family:var(--garet); font-size:19px; letter-spacing:-.06em; }
.ha-flyer strong { display:block; margin-top:30px; font-size:27px; }
.ha-flyer svg { margin-top:25px; }
.ha-business { position:absolute; right:3%; bottom:0; width:61%; height:140px; background:var(--paper); border:1px solid var(--line); padding:24px; transform:rotate(-5deg); }
.ha-business strong { font-size:28px; letter-spacing:-.06em; }
.ha-business strong span { color:var(--orange-text); }
.ha-business svg { position:absolute; right:24px; top:23px; color:var(--orange-text); width:16px !important; height:38px !important; }
.ha-business small { position:absolute; left:24px; bottom:22px; font-size:7px; }
.ha-inputs { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; padding-top:8px; }
.ha-inputs > span { padding:12px 16px; border:1px solid #cdbfa9; background:#eee9df; font-size:13px; transform:rotate(-3deg); }
.ha-inputs > span:nth-child(2) { transform:rotate(4deg); }
.ha-flow-line { width:1px; height:45px; background:var(--orange); margin:0 auto; }
.ha-processing { position:relative; background:var(--ink); color:var(--paper); padding:25px 25px 25px 65px; width:88%; margin:0 auto; }
.ha-processing svg { position:absolute; left:20px; top:30px; color:var(--orange); }
.ha-processing > span { font-size:11px; color:#c9bead; }
.ha-processing strong { display:block; font-size:27px; margin-top:12px; }
.ha-flow-arrow { font-size:33px; color:var(--orange-text); text-align:center; line-height:1.5; }
.ha-approval { display:flex; align-items:center; gap:15px; width:85%; margin:0 auto; border-bottom:2px solid var(--orange); padding-bottom:15px; }
.ha-approval > span { width:40px; height:40px; border-radius:50%; background:var(--orange); display:grid; place-items:center; font-size:23px; flex-shrink:0; }
.ha-approval > div { font-size:11px; }
.ha-approval strong { display:block; font-family:var(--body); font-size:16px; margin-top:4px; }
@media(prefers-reduced-motion:no-preference) {
 .hero-art-stage.diagram-entered { animation:diagram-card 650ms cubic-bezier(.23,1,.32,1) backwards; }
}
@media(max-width:1100px) {
 .art-hero-layout { column-gap:40px; }
 .specialist-page .art-hero-layout h1 { font-size:clamp(41px,4.9vw,60px); }
 .hero-art-stage { height:400px; }
 .ha-ad { height:310px; }
 .ha-team { height:310px; }
 .ha-team-caption { font-size:15px; }
 .ha-team-caption em { font-size:23px; }
 .ha-film-main { height:250px; }
 .ha-film-detail { height:220px; }
 .ha-notebook { padding:22px; }
 .ha-notebook > strong { font-size:25px; }
 .ha-notebook > div > span { font-size:13px; }
 .ha-desktop { padding:18px 18px 0; }
 .ha-desktop strong { font-size:25px; }
 .ha-mobile { width:33%; }
 .ha-mobile strong { font-size:14px; }
 .ha-poster { padding:20px; height:325px; }
 .ha-poster strong { font-size:29px; }
 .ha-flyer { height:270px; padding:20px; }
 .ha-flyer strong { font-size:23px; }
 .ha-business { padding:20px; height:125px; }
 .ha-business strong { font-size:24px; }
}
@media(max-width:800px) {
 .service-art-hero { padding-block:25px 48px; }
 .art-hero-layout { grid-template-columns:1fr; }
 .art-hero-layout > * { grid-column:1; }
 .hero-art { grid-row:auto; width:100%; max-width:550px; margin:30px auto 0; }
 .specialist-page .art-hero-layout h1 { font-size:clamp(42px,7.5vw,66px); }
 .hero-art-stage { height:420px; }
 .art-hero-layout > .lead { margin-top:28px; }
 .ha-ad { height:340px; }
 .ha-team { height:330px; }
}
@media(max-width:580px) {
 .specialist-page .art-hero-layout h1 { font-size:clamp(36px,10vw,53px); }
 .art-hero-layout > .lead { font-size:18px; }
 .hero-art-stage { height:340px; }
 .hero-art figcaption { font-size:9px; margin-top:17px; }
 .ha-ad { height:275px; }
 .ha-ad > span { font-size:6px; left:8px; top:8px; padding:4px; }
 .ha-ad strong { font-size:17px; padding:9px; left:8px; right:8px; }
 .ha-target > span { font-size:10px; }
 .ha-ad-note { font-size:17px; bottom:8px; }
 .ha-ad-note > span { font-size:43px; }
 .ha-team { height:260px; }
 .ha-work { height:180px; bottom:40px; }
 .ha-team > span,.ha-work > span { font-size:9px; left:5px; right:5px; padding:6px; }
 .ha-team-caption { font-size:14px; }
 .ha-team-caption em { font-size:22px; }
 .ha-film-main { height:210px; }
 .ha-film-detail { width:35%; height:190px; }
 .ha-film-detail span { font-size:9px; }
 .ha-edit { bottom:10px; }
 .ha-desktop { top:20px; padding:14px 14px 0; }
 .ha-desktop strong { font-size:22px; margin:15px 0 10px; }
 .ha-desktop img { height:120px; }
 .ha-mobile { bottom:30px; width:34%; border-width:4px; padding:15px 5px 5px; border-radius:12px; }
 .ha-mobile strong { font-size:12px; }
 .ha-mobile img { height:90px; }
 .ha-mobile .ha-brand { font-size:8px; }
 .ha-web-label { font-size:13px; bottom:0; }
 .ha-web-label em { font-size:22px; }
 .ha-notebook { padding:19px; width:82%; }
 .ha-notebook > span { font-size:7px; }
 .ha-notebook > strong { font-size:23px; margin:17px 0; }
 .ha-notebook > div > span { font-size:12px; padding:9px 0; }
 .ha-notebook > em { font-size:23px; margin-top:16px; }
 .ha-coach-photo { height:145px; width:43%; border-width:5px; }
 .ha-coach-photo > span { font-size:7px; }
 .ha-poster { height:270px; padding:17px; }
 .ha-poster > span { font-size:6px; }
 .ha-poster strong { font-size:25px; margin-top:24px; }
 .ha-poster svg { width:18px; height:40px; bottom:18px; right:18px; }
 .ha-flyer { height:220px; padding:15px; }
 .ha-flyer > span { font-size:15px; }
 .ha-flyer strong { font-size:20px; margin-top:25px; }
 .ha-flyer svg { width:18px; height:40px; margin-top:18px; }
 .ha-business { height:105px; padding:18px; }
 .ha-business strong { font-size:23px; }
 .ha-business svg { right:15px; top:18px; width:12px !important; height:30px !important; }
 .ha-business small { left:18px; bottom:18px; font-size:6px; }
 .ha-inputs { gap:6px; padding-top:0; }
 .ha-inputs > span { font-size:10px; padding:9px 12px; }
 .ha-flow-line { height:30px; }
 .ha-processing { padding:20px 15px 20px 50px; width:95%; }
 .ha-processing svg { width:18px; height:40px; left:15px; }
 .ha-processing strong { font-size:23px; }
 .ha-approval { width:95%; gap:12px; }
 .ha-approval strong { font-size:14px; }
 .ha-flow-arrow { font-size:28px; }
}
.hero-art strong { overflow-wrap:anywhere; hyphens:auto; }
@media(max-width:360px) { .ha-flyer strong { font-size:18px; } }
@media(max-width:580px) {
 .ha-ad-note { width:39%; font-size:15px; bottom:12px; }
 .ha-ad-note > span { font-size:32px; margin-bottom:8px; }
}
@media(max-width:580px) { .ha-poster strong { font-size:clamp(20px,5.5vw,25px); hyphens:none; } }
/* Photo-free explanatory graphics for the service introductions. */
.diagram-icon { width:34px; height:34px; flex-shrink:0; }
.hero-art-stage:has(.graphic-ad),.hero-art-stage:has(.graphic-job),.hero-art-stage:has(.graphic-camera),.hero-art-stage:has(.graphic-desktop),.hero-art-stage:has(.graphic-coach-plan) { height:420px; }
.graphic-kicker { display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:20px; }
.graphic-lines { display:grid; gap:8px; margin-block:20px; }
.graphic-lines i { height:6px; background:#d8cfc1; border-radius:5px; }
.graphic-lines i:nth-child(2) { width:82%; }
.graphic-lines i:last-child { width:58%; }
.graphic-ad { position:absolute; left:0; top:5px; width:56%; border:1px solid #d6caba; padding:24px; border-radius:12px; background:var(--paper); }
.graphic-message { background:var(--ink); color:var(--paper); padding:22px 17px; border-radius:5px; }
.graphic-message .editorial-tie { color:var(--orange); height:45px; margin-bottom:15px; }
.graphic-message strong { display:block; font-size:23px; }
.graphic-caption { font-size:10px; color:var(--muted); }
.graphic-audience { position:absolute; right:0; top:30px; width:37%; text-align:center; padding:25px 10px; background:#f1e6d5; border-radius:50% 50% 12px 12px; }
.graphic-audience .diagram-icon { width:54px; height:54px; color:var(--orange-text); margin:auto; }
.graphic-audience > span { display:block; font-size:13px; margin-top:15px; }
.audience-dots { display:flex; justify-content:center; gap:7px; margin-top:20px; }
.audience-dots i { width:7px; height:7px; background:#c2b39e; border-radius:50%; }
.audience-dots i:nth-child(3) { background:var(--orange); }
.graphic-route { position:absolute; right:17%; top:245px; color:var(--orange-text); font-size:48px; }
.graphic-contact { position:absolute; bottom:0; right:0; display:flex; align-items:center; gap:16px; padding:20px; border:1px solid #d6caba; border-bottom:3px solid var(--orange); border-radius:8px; background:var(--paper); }
.graphic-contact > .diagram-icon { color:var(--orange-text); }
.graphic-contact span { font-size:11px; display:block; margin-bottom:6px; }
.graphic-contact strong { font-family:var(--body); font-size:17px; }
.graphic-job { display:flex; align-items:center; gap:18px; background:var(--ink); color:var(--paper); padding:22px; width:80%; margin:auto; border-radius:8px; }
.graphic-job .diagram-icon { color:var(--orange); }
.graphic-job span { display:block; font-size:11px; margin-bottom:7px; color:#c7bdaa; }
.graphic-job strong { font-size:23px; }
.graphic-branch { height:60px; width:52%; border:1px solid var(--orange); border-bottom:0; border-top:0; margin:0 auto; position:relative; }
.graphic-branch:before { content:''; position:absolute; top:28px; left:0; right:0; border-top:1px solid var(--orange); }
.graphic-branch { border-left:0; border-right:0; }
.graphic-branch:after { content:''; position:absolute; left:50%; top:0; height:28px; border-left:1px solid var(--orange); }
.graphic-job-pair { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.graphic-job-pair > div { background:#eee9df; border-radius:8px; padding:23px; }
.graphic-job-pair > div:last-child { background:#fbe8d5; }
.graphic-job-pair strong { display:block; font-size:20px; margin-top:16px; }
.graphic-job-pair span { display:block; font-size:12px; margin-top:12px; }
.graphic-job-contact { display:flex; justify-content:center; align-items:center; gap:15px; margin-top:25px; font-size:14px; }
.graphic-job-contact .diagram-icon { color:var(--orange-text); }
.graphic-camera { display:flex; align-items:center; justify-content:center; gap:14px; font-size:17px; }
.graphic-camera .diagram-icon { color:var(--orange-text); }
.graphic-film-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:22px; padding:14px 0; border-block:8px dashed #d6c7b2; }
.graphic-film-strip > div { background:#eee9df; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; height:120px; }
.graphic-film-strip > div:nth-child(2) { background:#fbe3c7; }
.graphic-film-strip span { font-size:12px; }
.graphic-film-strip .editorial-tie { color:var(--orange-text); width:18px; height:34px; }
.graphic-timeline { margin-top:24px; }
.graphic-timeline > span { font-size:11px; }
.graphic-timeline > div { display:flex; gap:5px; margin-top:10px; }
.graphic-timeline i { flex:1; background:#c4b295; height:18px; border-radius:3px; }
.graphic-timeline i:nth-child(2) { background:var(--orange); flex:2; }
.graphic-outputs { display:flex; align-items:end; justify-content:center; gap:35px; margin-top:22px; }
.graphic-outputs > div { display:flex; align-items:center; gap:8px; color:var(--paper); background:var(--ink); padding:12px; border-radius:5px; font-size:12px; }
.graphic-outputs .diagram-icon { width:24px; height:24px; color:var(--orange); }
.graphic-desktop { position:absolute; top:15px; left:0; width:85%; border:7px solid #655e55; background:var(--paper); border-radius:12px; padding:24px; }
.graphic-web-title { display:flex; align-items:center; gap:15px; justify-content:space-between; }
.graphic-web-title strong { font-size:27px; }
.graphic-web-title .editorial-tie { color:var(--orange-text); width:17px; height:38px; }
.graphic-web-blocks { display:flex; gap:8px; }
.graphic-web-blocks i { background:#e8dcc9; height:44px; flex:1; border-radius:4px; }
.graphic-web-cta { display:block; background:var(--orange); padding:10px 12px; margin-top:20px; font-size:10px; width:fit-content; }
.graphic-phone { position:absolute; width:30%; top:120px; right:0; border:5px solid #655e55; border-radius:20px; padding:20px 14px; background:var(--paper); }
.graphic-phone > span:first-child { font-size:10px; display:block; margin-bottom:17px; }
.graphic-phone .editorial-tie { color:var(--orange-text); width:17px; height:35px; }
.graphic-phone-action { display:block; margin-top:20px; height:14px; background:var(--orange); border-radius:3px; }
.graphic-web-note { position:absolute; bottom:0; left:5px; color:var(--paper); font-size:15px; }
.graphic-web-note em { font-size:26px; color:var(--orange); }
.graphic-coach-question { position:absolute; top:0; left:0; display:flex; gap:13px; align-items:center; background:var(--ink); color:var(--paper); padding:16px 20px; border-radius:12px 12px 12px 0; }
.graphic-coach-question .diagram-icon { color:var(--orange); }
.graphic-coach-question > span { font-size:18px; }
.graphic-coach-plan { position:absolute; right:0; top:95px; width:87%; border-radius:8px; padding:25px; background:var(--paper); }
.graphic-coach-plan > .diagram-icon { position:absolute; top:24px; right:23px; color:var(--orange-text); }
.graphic-coach-plan > span { display:block; font-size:11px; padding-right:40px; }
.graphic-coach-plan strong { display:block; font-size:28px; margin-top:18px; }
.graphic-coach-plan ol { margin:20px 0 0; padding-left:18px; }
.graphic-coach-plan li { font-size:14px; padding:5px 0; }
.graphic-coach-result { position:absolute; bottom:0; left:0; display:flex; align-items:center; gap:15px; font-size:12px; }
.graphic-coach-result strong { font-family:var(--body); font-size:17px; }
@media(max-width:1100px) {
 .graphic-ad { padding:18px; }
 .graphic-message { padding:17px 12px; }
 .graphic-message strong { font-size:20px; }
 .graphic-job-pair > div { padding:18px; }
 .graphic-job-pair strong { font-size:18px; }
 .graphic-web-title strong { font-size:23px; }
}
@media(max-width:580px) {
 .hero-art-stage:has(.graphic-ad),.hero-art-stage:has(.graphic-job),.hero-art-stage:has(.graphic-camera),.hero-art-stage:has(.graphic-desktop),.hero-art-stage:has(.graphic-coach-plan) { height:355px; }
 .graphic-ad { width:56%; padding:12px; }
 .graphic-kicker { font-size:8px; margin-bottom:14px; }
 .graphic-message { padding:14px 9px; }
 .graphic-message strong { font-size:16px; }
 .graphic-message .editorial-tie { height:30px; width:15px; }
 .graphic-lines { margin-block:16px; gap:6px; }
 .graphic-lines i { height:5px; }
 .graphic-caption { font-size:8px; }
 .graphic-audience { width:38%; padding:18px 7px; }
 .graphic-audience .diagram-icon { width:38px; height:38px; }
 .graphic-audience > span { font-size:10px; }
 .audience-dots { gap:4px; }
 .audience-dots i { width:5px; height:5px; }
 .graphic-route { top:210px; font-size:35px; }
 .graphic-contact { padding:14px; gap:10px; }
 .graphic-contact strong { font-size:14px; }
 .graphic-job { width:95%; padding:17px; gap:12px; }
 .graphic-job strong { font-size:19px; }
 .graphic-job-pair { gap:12px; }
 .graphic-job-pair > div { padding:16px 12px; }
 .graphic-job-pair strong { font-size:17px; }
 .graphic-job-pair span { font-size:11px; }
 .graphic-branch { height:45px; }
 .graphic-branch:before { top:22px; }
 .graphic-branch:after { height:22px; }
 .graphic-job-contact { font-size:11px; gap:10px; margin-top:18px; }
 .graphic-camera { font-size:15px; }
 .graphic-film-strip { gap:8px; padding-block:10px; border-width:6px; }
 .graphic-film-strip > div { height:95px; gap:10px; }
 .graphic-film-strip span { font-size:10px; }
 .graphic-outputs { gap:16px; }
 .graphic-outputs > div { padding:9px; gap:5px; font-size:10px; }
 .graphic-desktop { padding:15px; border-width:5px; }
 .graphic-web-title strong { font-size:19px; }
 .graphic-web-title .editorial-tie { width:13px; height:28px; }
 .graphic-web-blocks { gap:5px; }
 .graphic-web-blocks i { height:32px; }
 .graphic-web-cta { font-size:8px; padding:8px; }
 .graphic-phone { padding:15px 9px; border-width:4px; top:110px; width:32%; }
 .graphic-web-note em { font-size:23px; }
 .graphic-coach-question { padding:13px 15px; gap:10px; }
 .graphic-coach-question > span { font-size:15px; }
 .graphic-coach-plan { top:80px; padding:18px; width:93%; }
 .graphic-coach-plan > span { font-size:9px; }
 .graphic-coach-plan strong { font-size:23px; }
 .graphic-coach-plan ol { margin-top:14px; }
 .graphic-coach-plan li { font-size:12px; }
 .graphic-coach-plan > .diagram-icon { width:25px; height:25px; top:18px; right:15px; }
 .graphic-coach-result strong { font-size:15px; }
}

/* Performance: independent campaign story, explanatory artwork and quiet pacing. */
.pm-page .pm-section-head { max-width:790px; margin-bottom:44px; }
.pm-page .pm-section-head > p:last-child { max-width:650px; font-size:19px; margin-top:24px; }
.pm-page .pm-split { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.pm-split > div > p:not(.eyebrow) { font-size:18px; margin-top:24px; }
.pm-services { display:grid; grid-template-columns:1.15fr 1fr; gap:22px; }
.pm-services article { min-width:0; border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; }
.pm-service-copy { padding:30px; }
.pm-index { display:block; font-size:12px; letter-spacing:.08em; color:var(--orange-text); margin-bottom:18px; }
.pm-service-copy p { margin-top:16px; font-size:17px; }
.pm-graphic { background:#eee9df; min-height:185px; margin-top:auto; padding:26px; display:flex; flex-direction:column; justify-content:center; gap:20px; }
.pm-message { display:flex; align-items:center; gap:24px; }
.pm-message .editorial-tie { color:var(--orange); width:25px; height:54px; }
.pm-message strong { font-family:var(--garet); font-size:24px; line-height:1.15; }
.pm-tags { display:flex; gap:10px; }
.pm-tags span { padding:6px 13px; background:var(--paper); border-radius:30px; font-size:12px; }
.pm-mini-ads { display:flex; gap:12px; }
.pm-mini-ads > span { flex:1; background:var(--ink); color:var(--orange); padding:16px 12px; border-radius:5px; font-size:13px; }
.pm-mini-ads strong { display:block; margin-top:15px; color:var(--paper); font-size:15px; }
.pm-graphic-caption { font-size:12px; color:#5c554b; }
.pm-route,.pm-learn { display:flex; align-items:center; gap:8px; }
.pm-route span,.pm-learn span { padding:13px 10px; background:var(--paper); border-radius:5px; font-size:13px; flex:1; text-align:center; }
.pm-route i,.pm-learn i { color:var(--orange-text); font-style:normal; }
.pm-services article:last-child .pm-graphic { background:var(--ink); }
.pm-services article:last-child .pm-graphic-caption { color:#ccc5ba; }
.pm-variants { margin:0; min-width:0; }
.pm-source { display:flex; align-items:center; gap:20px; width:max-content; max-width:100%; margin:auto; background:var(--paper); padding:22px 28px; border:1px solid #d7cbb9; border-radius:10px; }
.pm-source .editorial-tie { color:var(--orange); width:20px; height:44px; }
.pm-source span { display:block; font-size:12px; margin-bottom:6px; }
.pm-source strong { font-size:21px; }
.pm-branches { height:64px; position:relative; margin:0 16.66%; border-top:0; }
.pm-branches:before { content:''; position:absolute; height:32px; top:0; left:50%; border-left:2px solid var(--orange); }
.pm-branches:after { content:''; position:absolute; top:32px; left:0; right:0; border-top:2px solid var(--orange); }
.pm-branches i { position:absolute; top:32px; bottom:0; border-left:2px solid var(--orange); left:0; }
.pm-branches i:nth-child(2) { left:50%; }.pm-branches i:nth-child(3) { left:100%; }
.pm-variant-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.pm-variant-cards > div { padding:24px 16px; background:var(--ink); color:var(--paper); border-radius:8px; }
.pm-variant-cards > div > span { display:block; color:var(--orange); font-family:var(--garet); font-size:35px; margin-bottom:25px; }
.pm-variant-cards strong { font-size:16px; }.pm-variant-cards p { font-size:13px; margin-top:12px; color:#ccc5ba; }
.pm-variant-cards i { display:block; height:5px; background:#5c554b; border-radius:3px; margin-top:18px; }.pm-variant-cards i + i { margin-top:6px; width:65%; }
.pm-variants figcaption { margin-top:18px; text-align:center; font-size:11px; color:#645b50; }
.pm-evaluation { list-style:none; padding:0; margin:0; }
.pm-evaluation li { display:grid; grid-template-columns:42px 1fr; gap:20px; border-top:1px solid var(--line); padding:26px 0; }
.pm-evaluation li > span { color:var(--orange-text); font-size:13px; padding-top:5px; }
.pm-evaluation h3 { font-size:24px; }.pm-evaluation p { margin-top:12px; font-size:17px; }
.pm-fit { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.pm-fit article { border-top:2px solid var(--orange); padding-top:25px; display:flex; flex-direction:column; }
.pm-fit .pm-index { color:var(--orange); letter-spacing:0; font-size:13px; }
.pm-fit h3 { font-size:28px; }.pm-fit p { margin:20px 0 28px; font-size:17px; }
.pm-fit .text-link { margin-top:auto; align-self:flex-start; font-size:14px; }
.pm-budget-root { background:var(--ink); color:var(--paper); padding:22px; text-align:center; border-radius:8px; font-weight:700; width:80%; margin:auto; }
.pm-budget-arms { display:flex; justify-content:space-around; font-size:38px; color:var(--orange-text); }
.pm-budget-parts { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pm-budget-parts article { background:var(--sand); padding:25px; border-top:3px solid var(--orange); border-radius:0 0 8px 8px; }
.pm-budget-parts article > span { font-size:12px; color:var(--orange-text); }.pm-budget-parts h3 { font-size:24px; margin-top:16px; }.pm-budget-parts p { font-size:15px; margin-top:16px; }
@keyframes pm-arrive { from { opacity:.35; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:no-preference) {
 .pm-page .diagram-entered .pm-variant-cards > div,.pm-page .diagram-entered .pm-mini-ads > span,.pm-page .pm-evaluation.diagram-entered li,.pm-page .diagram-entered .pm-budget-parts article { animation:pm-arrive .65s cubic-bezier(.23,1,.32,1) both; }
 .pm-page .diagram-entered .pm-variant-cards > div:nth-child(2),.pm-page .diagram-entered .pm-mini-ads > span:nth-child(2),.pm-page .pm-evaluation.diagram-entered li:nth-child(2),.pm-page .diagram-entered .pm-budget-parts article:nth-child(2) { animation-delay:.12s; }
 .pm-page .diagram-entered .pm-variant-cards > div:nth-child(3),.pm-page .diagram-entered .pm-mini-ads > span:nth-child(3),.pm-page .pm-evaluation.diagram-entered li:nth-child(3) { animation-delay:.24s; }
}
@media(max-width:1000px) {
 .pm-page .pm-split { gap:36px; }.pm-fit { gap:22px; }.pm-variant-cards > div { padding:18px 10px; }.pm-budget-parts article { padding:20px 16px; }
}
@media(max-width:760px) {
 .pm-page .pm-split,.pm-services,.pm-fit { grid-template-columns:1fr; }
 .pm-page .pm-split { gap:40px; }.pm-service-copy { padding:25px; }
 .pm-fit { gap:35px; }.pm-fit p { margin:16px 0 20px; }
 .pm-graphic { min-height:170px; }.pm-page .pm-section-head { margin-bottom:32px; }
 .pm-page .editorial-section { padding-block:64px; }
 .pm-budget-parts h3 { font-size:22px; }
}
@media(max-width:380px) {
 .pm-graphic { padding:18px; }.pm-route span,.pm-learn span { font-size:11px; padding:12px 5px; }
 .pm-variant-cards { gap:7px; }.pm-variant-cards strong { font-size:13px; }.pm-variant-cards p { font-size:12px; }
 .pm-budget-parts { grid-template-columns:1fr; }.pm-budget-arms { display:none; }.pm-budget-root { width:100%; margin-bottom:16px; }
}
@media (prefers-reduced-motion:no-preference) {
 .pm-page .editorial-process .diagram-entered li { animation:pm-arrive .6s cubic-bezier(.23,1,.32,1) both; }
 .pm-page .editorial-process .diagram-entered li:nth-child(2) { animation-delay:.1s; }
 .pm-page .editorial-process .diagram-entered li:nth-child(3) { animation-delay:.2s; }
 .pm-page .editorial-process .diagram-entered li:nth-child(4) { animation-delay:.3s; }
}
@media(max-width:580px) {
 .pm-page .art-hero-layout h1 { hyphens:none; overflow-wrap:normal; font-size:clamp(30px,8.2vw,44px); }
 .pm-page .graphic-message strong { font-size:clamp(13px,3.8vw,20px); hyphens:none; overflow-wrap:normal; }
}

/* Regional campaign area: original schematic, not a geographic boundary or delivery guarantee. */
.pm-region-map { display:block; width:100%; height:auto; max-height:330px; overflow:visible; }
.pm-map-river { fill:none; stroke:#b5c4c2; stroke-width:5; stroke-linecap:round; }
.pm-map-water { fill:#637a77; font-size:16px; font-style:italic; }
.pm-map-radius { fill:#ff650015; stroke:var(--orange-text); stroke-width:1.8; stroke-dasharray:6 7; }
.pm-map-radius-line { stroke:var(--orange-text); stroke-width:1; opacity:.4; }
.pm-map-city circle { fill:var(--ink); stroke:var(--paper); stroke-width:2; }
.pm-map-city text { fill:var(--ink); font-family:var(--body); font-size:23px; font-weight:700; }
.pm-map-district { fill:#65513d; font-size:20px; font-weight:500; }
.pm-map-pin path { fill:var(--orange); }.pm-map-pin circle { fill:var(--paper); }
.pm-map-north { fill:#7a7368; font-size:12px; }
@media(prefers-reduced-motion:no-preference) {
 .diagram-entered .pm-map-radius { transform-origin:259px 149px; animation:pm-region-reveal 1.2s cubic-bezier(.23,1,.32,1) both; }
 @keyframes pm-region-reveal { from { opacity:0; transform:scale(.72); } to { opacity:1; transform:scale(1); } }
}
@media(max-width:580px) {
 .pm-region-map { width:calc(100% + 20px); max-width:none; margin-inline:-10px; }
}
@media(min-width:761px) {
 .pm-services article:nth-child(-n+2) .pm-graphic { min-height:380px; }
}
/* Explanatory campaign artwork, matched to the regional map. */
.pm-story-art { display:block; width:100%; height:auto; max-height:330px; overflow:visible; }
.ps-paper { fill:#faf8f2; stroke:#d4c8b7; stroke-width:1.5; }
.ps-label { font-size:13px; letter-spacing:1px; fill:#655b4e; font-weight:600; }
.ps-bold { font-size:20px; font-weight:700; fill:#171717; }
.ps-white { fill:#faf8f2; }
.ps-line { fill:none; stroke:#c5bba9; stroke-width:4; stroke-linecap:round; }
.ps-guide { fill:none; stroke:#c5bba9; stroke-dasharray:4 6; }
.ps-connector { fill:none; stroke:#b74100; stroke-width:2; stroke-dasharray:5 5; }
.ps-loop { fill:none; stroke:#ff6500; stroke-width:2; stroke-linecap:round; }
.pm-services article:nth-child(n+3) .pm-graphic { min-height:360px; }
@media(prefers-reduced-motion:no-preference) {
 .diagram-entered .ps-entrance { animation:ps-appear .8s cubic-bezier(.23,1,.32,1) both; }
 .diagram-entered .ps-later { animation-delay:.2s; }
 @keyframes ps-appear { from { opacity:0; } to { opacity:1; } }
}
@media(max-width:760px) {
 .pm-services article:nth-child(n+3) .pm-graphic { min-height:0; }
 .pm-story-art { width:calc(100% + 20px); max-width:none; margin-inline:-10px; }
}
@media(min-width:761px) {
 .pm-services article:nth-child(n) .pm-graphic { height:420px; min-height:420px; }
}
/* Individual service stories: drawings remain readable with or without motion. */
.story-page .story-split { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.story-page .story-split > div > p:not(.eyebrow) { font-size:18px; margin-top:24px; }
.story-illustration { margin:0; padding:25px; background:#eee9df; border-radius:12px; min-width:0; }
.story-illustration svg { display:block; width:100%; height:auto; }
.story-illustration figcaption { font-size:12px; margin-top:16px; color:#655b4e; text-align:center; }
.sg-box { fill:#faf8f2; stroke:#cbbfac; stroke-width:1.5; }
.sg-label { fill:#655b4e; font-size:14px; font-weight:500; }
.sg-strong { fill:#171717; font-size:19px; font-weight:700; }
.sg-lines { stroke:#cabda8; stroke-width:4; stroke-linecap:round; fill:none; }
.sg-orange-line { stroke:#b74100; stroke-width:2; fill:none; }
.sg-audio { stroke:#9c8060; stroke-width:2; fill:none; }
.story-pair { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:38px; }
.story-pair > article { padding:28px; border-top:2px solid var(--orange); background:var(--paper); }
.story-pair h3 { margin-bottom:18px; }.story-pair p { font-size:17px; }
.story-pair .text-link { display:inline-flex; margin-top:22px; }
.story-notes { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:36px; }
.story-notes > div { border-top:1px solid var(--line); padding-top:23px; }
.story-notes h3 { font-size:24px; }.story-notes p { margin-top:14px; font-size:17px; }
.story-page .story-media-heading { text-align:center; max-width:780px; margin:0 auto 38px; }
.story-media-heading > p:last-child { margin-top:25px; }
.story-feature-film { border:1px solid #595047; border-radius:10px; background:#24211c; padding:30px; max-width:1000px; margin:auto; }
.story-feature-film .story-illustration { background:transparent; padding:0; max-width:570px; margin:auto; }
.story-feature-film .story-illustration figcaption { color:#cbc5bb; }
.story-feature-film > p { color:#cbc5bb; text-align:center; margin-top:20px; font-size:14px; }
.story-page .tone-ink .story-pair article { background:#26231f; }
.story-page .tone-ink .story-pair p { color:#d5cec2; }
.story-page .tone-ink .story-pair h3 { color:var(--paper); }
.story-page .story-choice-art { margin-top:25px; }
.story-page .story-choice-art .story-illustration { padding:15px; }
@media(prefers-reduced-motion:no-preference) {
 .diagram-entered .sg-sequence { animation:sg-reveal .7s cubic-bezier(.23,1,.32,1) var(--sg-delay,0s) both; }
 .story-page .editorial-process .diagram-entered li { animation:pm-arrive .6s cubic-bezier(.23,1,.32,1) both; }
 .story-page .editorial-process .diagram-entered li:nth-child(2) { animation-delay:.1s; }
 .story-page .editorial-process .diagram-entered li:nth-child(3) { animation-delay:.2s; }
 .story-page .editorial-process .diagram-entered li:nth-child(4) { animation-delay:.3s; }
 @keyframes sg-reveal { from { opacity:0; } to { opacity:1; } }
}
@media(max-width:900px) { .story-page .story-split { gap:35px; }.story-notes { gap:20px; } }
@media(max-width:760px) {
 .story-page .story-split,.story-pair,.story-notes { grid-template-columns:1fr; }
 .story-page .editorial-section { padding-block:64px; }.story-illustration { padding:18px; }
 .story-pair > article { padding:24px 20px; }.story-page .story-feature-film { padding:20px; }
 .story-page h1 { hyphens:none; overflow-wrap:normal; }.story-page .story-split { gap:35px; }
}
.story-web .story-split .web-principles-grid { grid-template-columns:1fr; gap:22px; margin-top:0; }
.story-web .story-split .web-principles-grid article { gap:12px; }
.story-web .story-split .web-principles-grid h3 { font-size:24px; }
@media(max-width:580px) {
 .story-page .art-hero-layout h1 { font-size:clamp(29px,8.2vw,44px); }
}
@media(max-width:580px) {
 .story-page h2 { hyphens:none; font-size:clamp(28px,7.5vw,36px); }
}

.story-print .print-place-list { margin-top:0; }
.story-print .print-place-list article { grid-template-columns:1fr; gap:12px; }

/* Pointer-only illustration responses. Individual transforms preserve SVG placement
   and existing entry transforms; leaving the drawing returns to its resting state. */
.diagram-hover-trace { fill:none; stroke:#ff6500; stroke-width:3; stroke-linecap:round; stroke-dasharray:9 91; opacity:0; pointer-events:none; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 [data-social-diagram] :is(.hover-fan-left,.hover-fan-right,.hover-phone,.hover-playhead,.graphic-phone,.ha-flyer,.ha-business,.graphic-film-strip > div,.graphic-outputs > div,.graphic-job-pair > div,.graphic-coach-result,.pm-variant-cards > div,.pm-map-radius) {
  transition:translate 280ms cubic-bezier(.23,1,.32,1),rotate 280ms cubic-bezier(.23,1,.32,1),scale 350ms cubic-bezier(.23,1,.32,1);
 }
 [data-social-diagram]:hover .hover-fan-left { translate:-5px -3px; rotate:-2deg; }
 [data-social-diagram]:hover .hover-fan-right { translate:5px -3px; rotate:2deg; }
 [data-social-diagram]:hover :is(.hover-phone,.graphic-phone) { translate:0 -7px; }
 [data-social-diagram]:hover .hover-playhead { translate:35px 0; }
 [data-social-diagram]:hover .pm-map-radius { scale:1.04; transform-origin:259px 149px; }
 [data-social-diagram]:hover .ha-flyer { translate:-4px -5px; rotate:-2deg; }
 [data-social-diagram]:hover .ha-business { translate:5px -4px; rotate:2deg; }
 [data-social-diagram]:hover .graphic-film-strip > div:first-child { translate:-3px -4px; }
 [data-social-diagram]:hover .graphic-film-strip > div:last-child { translate:3px -4px; }
 [data-social-diagram]:hover .graphic-outputs > div { translate:0 -3px; }
 [data-social-diagram]:hover .graphic-job-pair > div:first-child { translate:-4px 0; }
 [data-social-diagram]:hover .graphic-job-pair > div:last-child { translate:4px 0; }
 [data-social-diagram]:hover .graphic-coach-result { translate:0 -5px; }
 [data-social-diagram]:hover .pm-variant-cards > div:first-child { translate:-3px -4px; rotate:-1deg; }
 [data-social-diagram]:hover .pm-variant-cards > div:last-child { translate:3px -4px; rotate:1deg; }
 [data-social-diagram]:hover .diagram-hover-trace { animation:diagram-trace 1.2s cubic-bezier(.45,0,.55,1) both; }
 @keyframes diagram-trace { 0% { opacity:0; stroke-dashoffset:10; } 12% { opacity:1; } 85% { opacity:1; } 100% { opacity:0; stroke-dashoffset:-100; } }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 [data-social-diagram] :is(.ha-processing .editorial-tie,.audience-dots i) { transition:translate 280ms cubic-bezier(.23,1,.32,1); }
 [data-social-diagram]:hover .ha-processing .editorial-tie { translate:0 -4px; }
 [data-social-diagram]:hover .audience-dots i:nth-child(odd) { translate:0 -3px; }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .audience-diagram .audience-cards > div,.handoff-row .handoff-arrow { transition:translate 280ms cubic-bezier(.23,1,.32,1); }
 .audience-diagram:hover .audience-cards > div:first-child { translate:-3px -3px; }
 .audience-diagram:hover .audience-cards > div:last-child { translate:3px -3px; }
 .handoff-row:hover .handoff-arrow { translate:5px 0; }
}
.recruit-compare-intro { max-width:790px; font-size:19px; margin:26px 0 38px; }
.recruit-compare { border:1px solid #d4c8b7; border-radius:12px; overflow:hidden; }
.recruit-compare-head,.recruit-compare-row { display:grid; grid-template-columns:1fr 1fr; }
.recruit-compare-head > div { padding:28px; font-family:var(--garet); font-size:25px; background:#e5ded2; }
.recruit-compare-head > div:last-child { background:var(--ink); color:var(--paper); border-top:4px solid var(--orange); padding-top:24px; }
.recruit-compare-head span { display:block; font-family:inherit; font-size:13px; font-weight:400; margin-top:12px; }
.recruit-compare-row > div { padding:25px 28px; border-top:1px solid #d4c8b7; background:var(--paper); }
.recruit-compare-row > div:last-child { background:#f5e8d9; }
.recruit-compare-row h3 { font-size:21px; }.recruit-compare-row p { font-size:17px; margin-top:12px; }
.recruit-mobile-label { display:none; }
.recruit-compare-takeaway { font-family:var(--garet); font-size:25px; max-width:850px; margin-top:32px; }
@media(max-width:580px) {
 .recruit-compare-head { display:none; }.recruit-compare-row { grid-template-columns:1fr; }
 .recruit-compare-row > div { padding:23px; }.recruit-compare-row + .recruit-compare-row { border-top:4px solid #d4c8b7; }
 .recruit-mobile-label { display:block; color:var(--orange-text); font-size:12px; margin-bottom:12px; }
 .recruit-compare-takeaway { font-size:22px; }
}
.web-seo-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px; }
.web-seo-grid article { background:var(--paper); border:1px solid #d4c8b7; border-radius:10px; padding:28px; }
.web-seo-grid article > span { display:block; color:var(--orange-text); font-size:13px; margin-bottom:17px; }
.web-seo-grid h3 { font-size:25px; }.web-seo-grid p { margin-top:18px; font-size:17px; }
.web-seo-scope { margin-top:30px; padding-top:26px; border-top:1px solid #d4c8b7; max-width:900px; }
.web-seo-scope h3 { font-size:23px; }.web-seo-scope p { margin-top:15px; font-size:16px; }
@media(max-width:650px) { .web-seo-grid { grid-template-columns:1fr; }.web-seo-grid article { padding:23px; } }

.recruit-discovery-heading { max-width:1100px; }
.recruit-discovery-heading h2 > span { display:block; }
.recruit-discovery-heading > p:last-child { max-width:740px; margin-top:26px; font-size:19px; }
.recruit-discovery-layout { display:grid; grid-template-columns:1fr 1.08fr; gap:48px; align-items:center; margin-top:38px; }
.recruit-discovery-visual { background:var(--paper); border:1px solid #d4c8b7; border-radius:16px; padding:24px 12px; }
.recruit-discovery-visual .story-illustration { background:transparent; padding:12px; }
.recruit-discovery-visual > p { border-top:1px solid #ded6c9; margin:20px 16px 0; padding-top:18px; text-align:center; font-size:16px; }
.recruit-discovery-visual > p strong { display:block; }
.recruit-discovery-points { list-style:none; margin:0; padding:0; }
.recruit-discovery-points li { display:grid; grid-template-columns:38px 1fr; gap:16px; padding:24px 0; border-bottom:1px solid #d4c8b7; }
.recruit-discovery-points li:first-child { padding-top:0; }
.recruit-discovery-points li:last-child { border-bottom:0; padding-bottom:0; }
.recruit-discovery-number { color:var(--orange-text); font-weight:700; font-size:15px; padding-top:5px; }
.recruit-discovery-points h3 { font-size:25px; line-height:1.2; }
.recruit-discovery-points p { margin-top:12px; font-size:17px; }
@media(max-width:800px) {
 .recruit-discovery-layout { grid-template-columns:1fr; gap:32px; }
 .recruit-discovery-visual { width:100%; max-width:520px; margin:auto; }
 .recruit-discovery-heading h2 { max-width:650px; }
}
@media(max-width:500px) {
 .recruit-discovery-heading > p:last-child { font-size:17px; margin-top:22px; }
 .recruit-discovery-heading h2 > span + span { margin-top:10px; }
 .recruit-discovery-layout { margin-top:28px; }
 .recruit-discovery-visual { padding:16px 4px; }
 .recruit-discovery-points li { grid-template-columns:26px 1fr; gap:10px; }
 .recruit-discovery-points h3 { font-size:23px; }
 .recruit-discovery-points p { font-size:16px; }
}
.coaching-carousel { margin-top:44px; min-width:0; }
.coaching-carousel-bar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:20px; }
.coaching-carousel-bar > p { font-size:16px; font-weight:600; }
.coaching-carousel-controls { display:flex; gap:10px; }
.coaching-carousel-controls[hidden] { display:none; }
.coaching-carousel-controls button { width:46px; height:46px; border:1px solid var(--ink); border-radius:50%; background:transparent; color:var(--ink); font-size:25px; cursor:pointer; }
.coaching-carousel-controls button:disabled { opacity:.3; cursor:default; }
.coaching-carousel-controls button:active:not(:disabled) { transform:scale(.96); }
.coaching-modules { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/2.65); gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:4px 2px 20px; scrollbar-width:thin; scrollbar-color:var(--orange) transparent; }
.coaching-modules article { display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:12px; background:#f2eee5; scroll-snap-align:start; min-width:0; }
.coaching-card-number { display:block; color:var(--orange-text); font-size:13px; font-weight:600; margin-bottom:24px; }
.coaching-modules h3 { font-size:25px; line-height:1.2; margin-bottom:20px; }
.coaching-modules article > p { font-size:17px; }
.coaching-modules .coaching-module-result { border-top:1px solid var(--line); padding-top:18px; margin-top:auto; font-size:15px; color:#655b4e; }
.coaching-modules article > p:not(:last-child) { padding-bottom:26px; }
@media(max-width:1000px) { .coaching-modules { grid-auto-columns:44%; } }
@media(max-width:650px) {
 .coaching-carousel { margin-top:30px; }
 .coaching-carousel-bar { gap:12px; }
 .coaching-carousel-bar > p { max-width:160px; font-size:15px; }
 .coaching-modules { grid-auto-columns:88%; gap:16px; }
 .coaching-modules article { padding:23px; }
 .coaching-modules h3 { font-size:23px; }
 .coaching-modules article > p { font-size:16px; }
 .coaching-modules .coaching-module-result { font-size:14px; }
}
.brand-motif { margin:0; min-width:0; }
.brand-motif img { display:block; width:100%; height:auto; object-fit:contain; }
.brand-motif figcaption { margin-top:12px; font-size:12px; line-height:1.5; text-align:center; color:#655b4e; }
.tone-ink .brand-motif figcaption,.editorial-closing .brand-motif figcaption { color:#b6afa3; }
.editorial-closing.film-motif-closing .film-motif-layout { grid-template-columns:1.1fr .9fr; gap:55px; align-items:center; }
.film-motif-copy h2 { margin-block:24px; }
.film-motif-copy > p:not(.eyebrow):not(.small) { font-size:20px; color:#d5cec2; max-width:590px; }
.brand-motif-chair { max-width:510px; justify-self:center; }
.brand-motif-chair img { max-height:640px; mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 90%,transparent); mask-composite:intersect; }
@media(max-width:800px) {
 .brand-motif-layout,.editorial-closing.film-motif-closing .film-motif-layout { grid-template-columns:1fr; gap:30px; }
 .brand-motif { width:100%; max-width:540px; justify-self:center; }
 .brand-motif-chair { max-width:340px; }
 .brand-motif-chair img { max-height:400px; }
 .film-motif-copy > p:not(.eyebrow):not(.small) { font-size:18px; }
}

.editorial-closing .film-motif-copy > p.eyebrow { font-size:12px; color:var(--orange); margin-bottom:0; }
.editorial-closing.film-motif-closing .wrap > .film-motif-copy > .eyebrow { font-size:12px; color:var(--orange); margin:0; }
.film-motif-closing .editorial-actions { margin-top:26px; }

@media(max-width:800px) { .editorial-closing.film-motif-closing .film-motif-layout { grid-template-columns:1fr; gap:30px; } }

/* Approved coaching typography and spacing, with shared service rhythm. */
.story-page .story-split { gap:48px; }
.story-page .story-split > div > p:not(.eyebrow) { font-size:17px; line-height:1.6; max-width:55ch; }
.story-page .story-split h2 { text-wrap:balance; }
.story-page #lernthemen .story-split { grid-template-columns:1.2fr 1fr; gap:40px; align-items:center; }
.story-page #lernthemen { padding-block:68px; }
.story-page #lernthemen .coaching-topic-heading { font-size:clamp(32px,3.3vw,49px); letter-spacing:-.04em; line-height:1.15; }
.coaching-topic-heading > span { display:block; }
.story-page #lernthemen .story-split > div > p:last-child { font-size:15px; color:#655b4e; margin-top:16px; }
#lernthemen .story-illustration { padding:22px; border-radius:10px; }
.coaching-carousel { margin-top:34px; }
.coaching-modules { grid-auto-columns:calc((100% - 44px)/2.55); gap:22px; }
.coaching-modules article { padding:26px; background:#f3efe6; }
.coaching-modules h3 { font-size:23px; line-height:1.25; letter-spacing:-.035em; hyphens:none; text-wrap:balance; }
.coaching-card-number { margin-bottom:18px; }
.coaching-modules article > p:not(:last-child) { padding-bottom:22px; }
.coaching-carousel-controls button { display:grid; place-items:center; line-height:1; border-color:#9d9487; }
.coaching-carousel-controls button:focus-visible { outline:2px solid #b74100; outline-offset:4px; }
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .coaching-carousel-controls button:not(:disabled) { transition:background-color 180ms ease,color 180ms ease,transform 140ms ease; }
 .coaching-carousel-controls button:not(:disabled):hover { background:#171717; color:#faf8f2; }
}
@media(max-width:800px) {
 .story-page .story-split,.story-page #lernthemen .story-split { grid-template-columns:1fr; gap:26px; }
 .story-page #lernthemen .coaching-topic-heading { font-size:clamp(28px,6.9vw,40px); }
 .coaching-modules { grid-auto-columns:76%; gap:16px; }
}
@media(max-width:500px) {
 .coaching-modules { grid-auto-columns:89%; }
 .story-page #lernthemen { padding-block:42px; }
 .coaching-modules h3 { font-size:22px; }
 .coaching-modules article { padding:22px; }
}

/* Still team portrait tucked into the headline's transparent lower space. */
.hero-title-line { display:block; }
.hero-heading h1 { font-size:clamp(58px,8.6vw,132px); line-height:.88; letter-spacing:-.055em; }
.hero-title-line:first-child { font-size:1.2em; line-height:.94; }
.hero-title-line + .hero-title-line { margin-top:-.18em; white-space:nowrap; }
.hero-heading h1 .script { font-size:1.32em; line-height:1; margin-left:-.03em; top:.065em; }
.hero-photo--team { width:calc(100% - 96px); max-width:1360px; margin:clamp(-220px,-14vw,-90px) auto 0; z-index:2; pointer-events:none; }
.hero-photo--team .hero-actions { position:static; width:auto; transform:none; margin:0; padding:18px 16px 22px; justify-content:center; pointer-events:auto; }
.hero-photo--team .hero-actions .button { width:auto; min-height:46px; padding:12px 17px; font-size:14px; }
.hero-photo--team .hero-actions .hero-whatsapp { background:transparent; border:1px solid var(--ink); color:var(--ink); }
.hero-photo--team .hero-actions .hero-whatsapp:hover { background:var(--ink); color:var(--paper); }
.hero-scene { position:relative; width:100%; aspect-ratio:2 / 1; overflow:hidden; -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 80px),rgba(0,0,0,.85) calc(100% - 52px),rgba(0,0,0,.35) calc(100% - 24px),transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 80px),rgba(0,0,0,.85) calc(100% - 52px),rgba(0,0,0,.35) calc(100% - 24px),transparent 100%); }
.hero-team-still { position:absolute; inset:0; transform:scale(1.08); transform-origin:58% bottom; }
.hero-photo--team .hero-scene img { position:absolute; inset:0; display:block; width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:cover; object-position:center bottom; mix-blend-mode:normal; mask-image:none; }
@media(min-width:701px) {
 .hero-photo--team .hero-scene {
  -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.04) .4%,rgba(0,0,0,.16) .8%,rgba(0,0,0,.36) 1.2%,rgba(0,0,0,.62) 1.7%,rgba(0,0,0,.82) 2.3%,rgba(0,0,0,.94) 3%,rgba(0,0,0,.99) 3.7%,#000 4.5%,#000 95.5%,rgba(0,0,0,.99) 96.3%,rgba(0,0,0,.94) 97%,rgba(0,0,0,.82) 97.7%,rgba(0,0,0,.62) 98.3%,rgba(0,0,0,.36) 98.8%,rgba(0,0,0,.16) 99.2%,rgba(0,0,0,.04) 99.6%,transparent 100%),linear-gradient(to bottom,#000 0%,#000 calc(100% - 80px),transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.04) .4%,rgba(0,0,0,.16) .8%,rgba(0,0,0,.36) 1.2%,rgba(0,0,0,.62) 1.7%,rgba(0,0,0,.82) 2.3%,rgba(0,0,0,.94) 3%,rgba(0,0,0,.99) 3.7%,#000 4.5%,#000 95.5%,rgba(0,0,0,.99) 96.3%,rgba(0,0,0,.94) 97%,rgba(0,0,0,.82) 97.7%,rgba(0,0,0,.62) 98.3%,rgba(0,0,0,.36) 98.8%,rgba(0,0,0,.16) 99.2%,rgba(0,0,0,.04) 99.6%,transparent 100%),linear-gradient(to bottom,#000 0%,#000 calc(100% - 80px),transparent 100%);
  -webkit-mask-composite:source-in; mask-composite:intersect;
 }
}
.hero-photo--team .hero-frame-left { transform:scale(.78); transform-origin:left bottom; }
.hero-photo--team .hero-frame-right { transform:scale(.78); transform-origin:right bottom; }
.hero-title-copy { display:inline-block; position:relative; top:-.14em; }
@media(max-width:1100px) {
 .hero-photo--team { width:calc(100% - 64px); }
}
@media(prefers-reduced-motion:no-preference) {
 .hero-title-line:first-child { animation:hero-title-enter 650ms cubic-bezier(.23,1,.32,1) both; }
 .hero-title-copy { animation:hero-title-enter 650ms cubic-bezier(.23,1,.32,1) 120ms both; }
 .hero-heading h1 .script { animation:hero-word-enter 650ms cubic-bezier(.23,1,.32,1) 260ms backwards; }
 .hero-heading h1 .script.underline:after { transform-origin:left center; animation:draw-underline 750ms cubic-bezier(.23,1,.32,1) 450ms backwards; }
 @keyframes hero-title-enter { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
 @keyframes hero-word-enter { from { opacity:0; } to { opacity:1; } }
}
@media(max-width:580px) {
 .hero-heading h1 { font-size:14vw; line-height:.91; letter-spacing:-.065em; }
 .hero-title-copy { top:0; }
 .hero-title-line:first-child { font-size:1em; line-height:.98; }
 .hero-title-line + .hero-title-line { margin-top:0; white-space:normal; }
 .hero-heading h1 .script { display:block; font-size:1.8em; line-height:1.04; margin:0 0 0 .035em; top:0; }
 .hero-photo--team { width:100%; margin-top:-110px; }
 .hero-scene { aspect-ratio:.94 / 1; }
 .hero-team-still { transform:scale(1.1); transform-origin:58% bottom; }
 .hero-person-left { transform:translateX(7%); }
 .hero-photo--team .hero-scene .hero-person-right { object-position:72% bottom; transform:none; }
 .hero-person-center { transform:translateX(-1%); }
 .hero-photo--team .hero-actions { gap:10px; padding:14px 12px 18px; }
 .hero-photo--team .hero-actions .button { min-height:44px; padding:10px 11px; font-size:12px; gap:10px; }
 .hero-photo--team .hero-scene img { object-position:61% bottom; }
 .hero-photo--team .hero-scene .hero-frame-left,
 .hero-photo--team .hero-scene .hero-frame-right { object-fit:contain; object-position:center bottom; transform:none; }
}
.home-services { background:#efe8dc; }
.legal-document { overflow-wrap:anywhere; }
.legal-document h1 { font-size:clamp(26px,4vw,48px); line-height:1.2; margin-bottom:40px; hyphens:auto; }
.legal-document-body { font-size:17px; line-height:1.75; }
.legal-document-body h2, .legal-document-body h3 { font-family:var(--body); font-weight:650; font-size:21px; line-height:1.4; margin:40px 0 18px; }
.legal-document-body h3 { font-size:19px; margin-top:28px; }
.legal-document-body p { margin:0 0 20px; }
@media(max-width:600px) { .legal-document-body { font-size:16px; }.legal-document-body h2 { font-size:19px; } }
.mobile-menu nav > a:not(.button), .mobile-services > summary {
 font-family:var(--body); font-size:24px; font-weight:500;
 line-height:1.35; letter-spacing:0; padding:16px 0;
}
.mobile-services > a, .mobile-services > a strong {
 font-family:var(--body); font-size:16px; font-weight:500; line-height:1.4;
}
.hero-art-auto .hero-art-stage { height:auto; }
.ai-system-scene { container-type:inline-size; padding:24px 20px 18px; background:#eee8dd; border:1px solid #d9d0c2; border-radius:12px; box-shadow:0 24px 50px -35px #46321e60; }
.ai-system-topline { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:9px; letter-spacing:.12em; margin-bottom:28px; }
.ai-system-example { font-size:9px; letter-spacing:0; border:1px solid #c5bbaa; padding:5px 7px; border-radius:4px; }
.ai-system-inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ai-system-inputs > div { min-width:0; padding:16px 5px 12px; background:var(--paper); border:1px solid #d3c9b9; border-radius:6px; text-align:center; box-shadow:0 4px 0 #dfd6c8; }
.ai-system-inputs svg { width:28px; height:28px; display:block; margin:0 auto 9px; }
.ai-system-inputs strong { display:block; font-size:clamp(11px,2.8cqw,16px); }
.ai-system-inputs span { display:block; font-size:clamp(8px,2cqw,11px); margin-top:5px; color:#665e53; }
.ai-system-wires { display:block; width:100%; height:55px; overflow:visible; stroke:#b8a790; stroke-width:1.5; }
.ai-system-wires .ai-system-signal { stroke:var(--orange); stroke-width:3; stroke-dasharray:12 260; animation:ai-system-route 5s linear infinite; }
.ai-system-hub { position:relative; display:flex; align-items:center; gap:6cqw; padding:5cqw 6cqw; background:var(--ink); color:var(--paper); border-radius:8px; box-shadow:0 9px 0 #d6cbbb; }
.ai-system-chip { flex:0 0 20%; aspect-ratio:1; padding:8px; border:1px dashed #ff690090; border-radius:9px; transform:rotate(-7deg); }
.ai-system-chip span { display:grid; place-items:center; width:100%; height:100%; background:var(--orange); color:var(--ink); border-radius:5px; font-family:var(--garet); font-weight:900; font-size:7cqw; }
.ai-system-kicker { display:block; font-size:clamp(7px,1.8cqw,10px); letter-spacing:.1em; color:#ff9a50; margin-bottom:12px; }
.ai-system-hub strong { display:block; font-family:var(--garet); font-size:clamp(17px,4.4cqw,28px); line-height:1.12; letter-spacing:-.04em; }
.ai-system-hub p { font-size:clamp(10px,2.4cqw,13px); line-height:1.5; margin:13px 0 0; color:#d2cbbf; }
.ai-system-port { position:absolute; top:-5px; left:calc(50% - 5px); width:10px; height:10px; background:var(--orange); border:2px solid var(--ink); border-radius:50%; }
.ai-system-outlet { height:30px; width:50%; border-right:2px solid var(--orange); }
.ai-system-tasks { border:1px solid #d3c9b9; border-radius:6px; background:var(--paper); padding:0 16px; }
.ai-system-taskheading { display:flex; align-items:center; justify-content:space-between; padding:13px 0; font-size:clamp(8px,1.9cqw,10px); letter-spacing:.06em; }
.ai-system-taskheading > span:last-child { color:var(--orange); font-size:20px; }
.ai-system-tasks > div:not(:first-child) { display:flex; gap:8px; align-items:center; border-top:1px solid #ded6ca; padding:12px 0; font-size:clamp(10px,2.5cqw,13px); }
.ai-system-tasks i { font-style:normal; color:#b84600; }
.ai-system-tasks small { margin-left:auto; padding:4px 6px; background:#eee8dd; border-radius:3px; font-size:clamp(8px,1.9cqw,10px); white-space:nowrap; }
.ai-system-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:5px; margin-top:20px; font-size:clamp(10px,2.4cqw,13px); }
.ai-system-footer > span { color:#6a6053; }
@keyframes ai-system-route { to { stroke-dashoffset:-272; } }
@media(prefers-reduced-motion:reduce) { .ai-system-wires .ai-system-signal { animation:none; } }
@media(max-width:600px) { .ai-system-scene { padding:18px 12px 15px; }.ai-system-topline { font-size:8px; letter-spacing:.06em; margin-bottom:22px; }.ai-system-inputs { gap:7px; }.ai-system-tasks { padding:0 10px; }.ai-system-tasks > div:not(:first-child) { gap:5px; } }
.ai-hero-flow { padding:16px 0; }
.ai-flow-source { display:flex; gap:14px; align-items:center; background:var(--paper); border:1px solid #cfc5b7; padding:20px; }
.ai-flow-source span:not(.ai-flow-icon),.ai-flow-engine span { display:block; font-size:11px; margin-bottom:8px; }
.ai-flow-source strong { font-size:16px; }
.ai-flow-icon svg { width:30px; height:30px; }
.ai-flow-connector { text-align:center; font-size:28px; color:var(--orange); padding:8px; }
.ai-flow-engine { display:flex; align-items:center; gap:22px; background:var(--ink); color:var(--paper); padding:28px; }
.ai-flow-engine strong { font-size:24px; }
.ai-chip { display:grid; place-items:center; width:64px; height:64px; flex-shrink:0; border:1px solid var(--orange); outline:1px dashed #ff690060; outline-offset:5px; color:var(--orange); font-family:var(--garet); font-size:27px; }
.ai-flow-branches { height:36px; display:grid; grid-template-columns:repeat(3,1fr); margin:0 16%; border-top:1px solid #b4a58f; transform:translateY(18px); }
.ai-flow-branches i { border-left:1px solid #b4a58f; height:18px; }
.ai-flow-branches i:nth-child(2) { justify-self:center; transform:translateY(-18px); height:36px; }
.ai-flow-branches i:last-child { justify-self:end; }
.ai-flow-outputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ai-flow-outputs > div { text-align:center; background:#eee9df; border:1px solid #d4c9b9; padding:16px 5px; }
.ai-flow-outputs svg { display:block; width:27px; height:27px; margin:0 auto 12px; }
.ai-flow-outputs strong { display:block; font-size:12px; }
.ai-flow-outputs span { display:block; margin-top:6px; font-size:10px; }
.ai-flow-result { font-size:13px; text-align:center; margin:22px 0 0; }
.ai-agency-page .art-hero-auto { padding-bottom:42px; }
.ai-advantage-layout,.ai-usecases,.ai-solution { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.ai-advantage-layout h2 { margin-bottom:28px; }
.ai-advantage-layout p,.ai-usecases > div > p,.ai-solution p { font-size:18px; line-height:1.65; }
.ai-work-compare { border-top:1px solid #ffffff40; }
.ai-work-compare > div { padding:24px 0; border-bottom:1px solid #ffffff40; }
.ai-work-compare > div > span { font-weight:700; font-size:19px; }
.ai-work-compare > div:last-child > span { color:var(--orange); }
.ai-work-compare ul { list-style:none; margin:16px 0 0; padding:0; }
.ai-work-compare li { padding:7px 0 7px 24px; position:relative; font-size:15px; }
.ai-work-compare li::before { content:'–'; position:absolute; left:0; }
.ai-work-compare > div:last-child li::before { content:'✓'; color:var(--orange); }
.ai-usecase-list details { border-top:1px solid var(--line); }
.ai-usecase-list details:last-child { border-bottom:1px solid var(--line); }
.ai-usecase-list summary { display:flex; align-items:center; gap:16px; padding:22px 0; list-style:none; cursor:pointer; font-size:20px; font-weight:700; }
.ai-usecase-list summary::-webkit-details-marker { display:none; }
.ai-usecase-list summary > span { font-size:12px; color:var(--orange-text); }
.ai-usecase-list summary b { margin-left:auto; flex-shrink:0; }
.ai-usecase-list [open] summary b { transform:rotate(45deg); }
.ai-usecase-list details > div { padding:0 0 26px 32px; }
.ai-usecase-list p { font-size:16px; line-height:1.6; }
.ai-usecase-list details strong { font-size:15px; color:var(--orange-text); }
.ai-solution h2,.ai-usecases h2 { margin-bottom:26px; }
.ai-solution .text-link { margin-top:16px; }
.ai-solution-points { list-style:none; margin:0; padding:0; }
.ai-solution-points li { display:flex; gap:20px; padding:24px 0; border-top:1px solid var(--line); }
.ai-solution-points li > span { color:var(--orange-text); font-size:13px; }
.ai-solution-points p { font-size:16px; margin:12px 0 0; }
.ai-start { list-style:none; padding:0; margin:40px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.ai-start li { border-top:2px solid var(--orange); padding-top:20px; }
.ai-start li > span { font-size:12px; color:var(--orange-text); }
.ai-start h3 { margin-top:18px; font-size:23px; }
.ai-start p { font-size:16px; line-height:1.6; margin-top:16px; }
@media(max-width:900px) {
 .ai-advantage-layout,.ai-usecases,.ai-solution { grid-template-columns:1fr; gap:32px; }
 .ai-start { grid-template-columns:1fr 1fr; }
}
@media(max-width:580px) {
 .ai-flow-engine { padding:22px 18px; gap:18px; }
 .ai-flow-engine strong { font-size:20px; }
 .ai-chip { width:44px; height:50px; font-size:22px; }
 .ai-flow-source { padding:16px; }
 .ai-flow-source strong { font-size:14px; }
 .ai-flow-outputs { gap:6px; }
 .ai-flow-outputs strong { font-size:10px; }
 .ai-flow-outputs span { font-size:9px; }
 .ai-start { grid-template-columns:1fr; gap:20px; }
 .ai-usecase-list summary { font-size:18px; }
 .ai-advantage-layout p,.ai-usecases > div > p,.ai-solution p { font-size:16px; }
}
.hero-art-print .hero-art-stage { height:auto; }
.print-mock-scene { position:relative; width:100%; aspect-ratio:1.16; container-type:inline-size; isolation:isolate; }
.print-mock-scene::before { content:''; position:absolute; inset:14% 0 1%; background:radial-gradient(ellipse at center,#dfd5c4 0,transparent 70%); z-index:-1; }
.print-mock-brand { display:block; font-family:var(--garet); font-size:4cqw; letter-spacing:-.07em; line-height:1; }
.print-mock-brand b { color:var(--orange); }
.print-mock-poster { position:absolute; top:3%; left:4%; width:47%; aspect-ratio:.707; padding:1.6cqw; background:linear-gradient(135deg,#57534d,#1c1b19 30%,#44403a); transform:rotate(-7deg); box-shadow:1px 2px 0 #777066,3px 4px 0 #292722,9px 15px 20px #51432933; }
.print-poster-sheet { position:relative; height:100%; background:#f8f3e9; padding:4cqw; box-shadow:inset 0 0 0 1px #c1b6a5,inset 3px 4px 6px #65574930; overflow:hidden; }
.print-poster-sheet::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(120deg,#ffffff30,transparent 45%,#ffffff12); }
.print-poster-sheet > strong { display:block; font-size:5.5cqw; margin-top:6cqw; letter-spacing:-.06em; }
.print-poster-sheet em { color:var(--orange-text); font-size:1.4em; }
.print-poster-symbol { position:absolute; right:4cqw; bottom:7cqw; }
.print-poster-symbol .editorial-tie { width:5cqw; height:12cqw; color:var(--orange); }
.print-poster-sheet small { position:absolute; bottom:3cqw; left:4cqw; font-size:1.1cqw; letter-spacing:.12em; }
.print-object-label { position:absolute; left:0; top:calc(100% + 2cqw); font-family:var(--body); font-size:2cqw; font-weight:500; letter-spacing:.05em; color:var(--ink); white-space:nowrap; }
.print-mock-flyer { position:absolute; right:5%; top:9%; width:35%; aspect-ratio:.707; padding:3cqw; color:var(--paper); background:linear-gradient(108deg,#262522,#171715 65%,#34302a); transform:rotate(9deg); box-shadow:1px 1px 0 #f8f3e9,3px 3px 0 #c9c0b0,5px 5px 0 #f8f3e9,10px 16px 20px #51432938; }
.print-mock-flyer .print-mock-brand { font-size:3cqw; }
.print-flyer-category { display:block; font-size:1.1cqw; letter-spacing:.1em; margin-top:5cqw; }
.print-mock-flyer > strong { display:block; font-size:3.8cqw; margin-top:2cqw; }
.print-mock-flyer em { font-size:1.6em; color:var(--orange); }
.print-flyer-rule { width:7cqw; border-top:2px solid var(--orange); margin:3cqw 0 2cqw; }
.print-mock-flyer p { font-size:1.55cqw; line-height:1.5; margin:0; }
.print-flyer-footer { display:block; margin-top:3cqw; font-size:1.3cqw; line-height:1.8; }
.print-mock-card-back { position:absolute; left:34%; bottom:6%; width:45%; aspect-ratio:1.545; background:var(--orange); transform:rotate(-12deg); box-shadow:2px 3px 0 #ba4c0c,6px 10px 16px #51432925; display:grid; place-items:center; }
.print-mock-card-back .editorial-tie { width:4cqw; height:9cqw; }
.print-mock-card { position:absolute; right:3%; bottom:3%; width:45%; aspect-ratio:1.545; padding:3.5cqw; background:linear-gradient(115deg,#fffdf7,#ede7dc); border:1px solid #e0d7c9; transform:rotate(-3deg); box-shadow:1px 2px 0 #c6bdac,2px 3px 0 #f9f5e9,5px 10px 18px #51432938; }
.print-mock-card .print-mock-brand { font-size:4.5cqw; }
.print-card-role { display:block; font-size:1cqw; letter-spacing:.1em; margin-top:1.5cqw; }
.print-card-address { position:absolute; left:3.5cqw; bottom:3cqw; font-size:1.4cqw; line-height:1.7; }
.print-mock-card > .editorial-tie { position:absolute; right:3cqw; bottom:3cqw; width:2.3cqw; height:5cqw; color:var(--orange); }
.hero-art-print figcaption { margin-top:28px; }
.hero-art-coach .hero-art-stage { height:auto; }
.coach-journey { padding:22px 0; }
.coach-journey-label { font-size:10px; letter-spacing:.13em; margin:0 0 22px; }
.coach-journey-step { position:relative; display:flex; gap:18px; align-items:center; padding:22px; margin-bottom:16px; background:var(--paper); border:1px solid #191919; }
.coach-journey-step:not(:last-child)::after { content:''; position:absolute; width:2px; height:17px; background:var(--ink); left:43px; bottom:-18px; }
.coach-step-icon { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border-radius:50%; background:#eee9df; }
.coach-step-icon svg { width:28px; height:28px; }
.coach-journey-step > div > span { display:block; font-size:11px; margin-bottom:8px; }
.coach-journey-step strong { display:block; font-size:22px; }
.coach-journey-step p { font-size:13px; line-height:1.5; margin:10px 0 0; }
.coach-journey-finish { background:var(--ink); color:var(--paper); margin-bottom:0; }
.coach-journey-finish .coach-step-icon { background:var(--orange); color:var(--ink); }
@media(max-width:580px) {
 .coach-journey-step { padding:18px 14px; gap:12px; }
 .coach-journey-step strong { font-size:19px; }
 .coach-journey-step:not(:last-child)::after { left:35px; }
}
.pm-page .art-hero-ads { padding-bottom:24px; }
.pm-page .art-hero-ads + #anzeigen { padding-top:40px; }
@media(max-width:800px) {
 .pm-page .art-hero-ads { padding-bottom:18px; }
 .pm-page .art-hero-ads + #anzeigen { padding-top:26px; }
}
.hero-art-ads .hero-art-stage { height:auto; }
.ads-demo { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:24px; padding:12px 0; }
.ads-post { background:var(--paper); border:1px solid #cfc5b7; border-radius:12px; overflow:hidden; transform:rotate(-3deg); }
.ads-post-header { display:flex; align-items:center; gap:8px; padding:14px 10px; font-size:12px; }
.ads-post-header > span:last-child { margin-left:auto; }
.ads-post-header strong,.ads-post-header small { display:block; }
.ads-post-header small { font-size:10px; margin-top:3px; color:#635c52; }
.ads-avatar { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#191919; flex-shrink:0; }
.ads-avatar svg { width:12px; height:23px; fill:var(--orange); }
.ads-post-creative { position:relative; background:#191919; color:var(--paper); padding:26px 18px 44px; }
.ads-post-creative > span:first-child { font-size:9px; letter-spacing:.12em; }
.ads-post-creative > strong { display:block; margin-top:18px; font-family:var(--garet); font-size:clamp(28px,3vw,46px); line-height:1.08; letter-spacing:-.05em; }
.ads-post-creative em { color:var(--orange); font-style:normal; }
.ads-play { position:absolute; right:18px; bottom:18px; display:grid; place-items:center; width:34px; height:34px; border:1px solid #817d75; border-radius:50%; font-size:12px; }
.ads-post-action { padding:12px; font-size:10px; display:grid; gap:8px; }
.ads-post-action > span:last-child { background:var(--orange); padding:10px; text-align:center; font-size:12px; font-weight:700; }
.ads-status { font-size:11px; font-weight:700; color:#3c6445; }
.ads-delivery h3 { font-size:clamp(21px,2.2vw,30px); line-height:1.1; margin:16px 0 12px; }
.ads-delivery > p { font-size:14px; line-height:1.5; margin:0 0 24px; }
.ads-target,.ads-destination { display:flex; align-items:center; gap:10px; padding:14px 10px; border:1px solid #cfc5b7; background:var(--paper); }
.ads-target svg,.ads-destination svg { width:28px; height:28px; flex-shrink:0; }
.ads-target strong,.ads-destination strong { display:block; font-size:12px; }
.ads-target span,.ads-destination span { display:block; font-size:10px; margin-top:4px; }
.ads-next { text-align:center; color:var(--orange); font-size:26px; padding:4px; }
.ads-growth { margin-top:18px; }
.ads-growth svg { display:block; width:100%; height:62px; }
.ads-growth p { margin:6px 0 0; font-size:12px; line-height:1.5; text-align:center; }
@media(max-width:580px) {
 .ads-demo { gap:18px; grid-template-columns:1fr; max-width:360px; margin:auto; }
 .ads-post { margin:6px 16px; }
 .ads-post-creative > strong { font-size:38px; }
 .ads-delivery { padding-top:12px; }
 .ads-delivery > p { margin-bottom:16px; }
}
.care-graphic svg { display:block; width:100%; height:auto; font-family:inherit; }
.care-graphic .visual-kicker { margin-bottom:14px; }
.care-graphic .visual-note { margin:12px 0 0; }
.support-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:38px; }
.support-path { display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); background:var(--paper); }
.support-path-top { display:flex; align-items:center; gap:14px; margin-bottom:28px; font-size:14px; font-weight:700; }
.support-path-number { display:grid; place-items:center; width:42px; height:42px; background:var(--ink); color:var(--paper); }
.support-path:first-child .support-path-number { background:var(--orange); color:var(--ink); }
.support-path h3 { font-size:clamp(23px,2.1vw,31px); line-height:1.15; }
.support-path > p { font-size:16px; line-height:1.6; margin:18px 0 28px; }
.support-map { list-style:none; padding:0; margin:auto 0 30px; display:grid; gap:8px; }
.support-map li { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px 10px; background:#eee9df; border-left:3px solid #b4aa9a; font-size:12px; }
.support-map li.by-pariscale { border-left-color:var(--orange); background:#ffe4cb; }
.support-map strong { font-size:12px; }
.support-path .text-link { align-self:flex-start; font-size:14px; }
.support-help { margin:28px 0 0; font-size:15px; }
.support-help a { text-underline-offset:4px; }
@media(max-width:900px) {
 .support-paths { grid-template-columns:1fr; }
 .support-path { padding:24px; }
 .support-path-top { margin-bottom:20px; }
 .support-map { margin-top:0; }
}
.team-photo--real { min-height:clamp(400px,40vw,590px); overflow:hidden; }
.team-photo--real .team-real-group { position:absolute; inset:0; transform:scale(1.28); transform-origin:62% bottom; }
.team-photo--real .team-real-group img { position:absolute; inset:0; width:100%; height:100%; max-height:none; object-fit:cover; object-position:62% bottom; mix-blend-mode:normal; mask-image:none; }
@media(max-width:800px) {
 .team-photo--real { min-height:325px; margin:-76px -5px 0; }
 .team-photo--real .team-real-group { transform:scale(1.22); transform-origin:61% bottom; }
 .team-photo--real .team-real-group img { object-position:61% bottom; }
}
@media(max-width:580px) {
 .team-photo--real { min-height:300px; margin:-54px -10px 0; }
}
.references-section { background:var(--paper); }
.reference-row { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(28px,5vw,80px); align-items:center; padding-block:56px; }
.reference-row + .reference-row { border-top:1px solid var(--line); }
.reference-copy h3 { font-size:clamp(28px,3vw,44px); line-height:1.13; margin-bottom:24px; }
.reference-copy p { max-width:50ch; }
.reference-copy .text-link { margin-top:24px; }
.reference-copy .reference-start { margin-top:24px; }
.reference-result { margin-block:28px; display:flex; flex-direction:column; gap:6px; }
.reference-result strong { font-family:var(--garet); font-size:clamp(32px,4vw,54px); letter-spacing:-.05em; color:var(--orange-text); }
.reference-result span,.reference-image-note { font-size:13px; color:var(--muted); line-height:1.5; }
.mattis-results { margin-block:28px; padding-left:22px; border-left:3px solid var(--orange); }
.mattis-results .mattis-timeframe { font-family:var(--garet); font-size:clamp(24px,2.7vw,36px); line-height:1.15; letter-spacing:-.04em; }
.mattis-results .reference-result { margin-block:14px 22px; }
.mattis-results .mattis-cooperations { display:flex; align-items:baseline; gap:10px; margin:0; font-family:var(--garet); font-size:clamp(22px,2.3vw,30px); line-height:1.2; letter-spacing:-.035em; }
.mattis-cooperations > span { color:var(--orange-text); flex-shrink:0; }
.mattis-cooperations strong { min-width:0; font-weight:850; hyphens:auto; }
/* Crop only the phone status bar; keep the supplied screenshots unchanged. */
.reference-compare { width:100%; max-width:560px; justify-self:center; --compare-split:50%; }
.reference-compare-images { position:relative; isolation:isolate; aspect-ratio:1170 / 1480; overflow:hidden; border-radius:14px; background:#0b1015; border:1px solid #34383b; }
.reference-compare-layer { position:absolute; inset:0; overflow:hidden; }
.reference-compare-layer img { display:block; width:100%; height:auto; max-width:none; transform:translateY(-5.5%); }
.reference-compare-layer::after { content:""; position:absolute; left:2%; right:2%; top:41%; height:11%; background:rgba(11,16,21,.2); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); pointer-events:none; }
.reference-compare-after::after { top:59%; height:12%; }
.reference-compare-after { clip-path:inset(0 0 0 var(--compare-split)); }
.reference-compare-divider { position:absolute; top:0; bottom:0; left:var(--compare-split); width:2px; transform:translateX(-50%); background:var(--paper); pointer-events:none; }
.reference-compare-divider > span { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:46px; height:46px; border-radius:50%; border:2px solid var(--paper); color:var(--paper); background:#171717; font-size:27px; line-height:1; }
.reference-compare-labels { position:absolute; inset:auto 12px 12px; display:flex; justify-content:space-between; gap:8px; pointer-events:none; }
.reference-compare-labels span { padding:8px 10px; border:1px solid #777; background:#171717e8; color:#fff; border-radius:4px; font-size:11px; font-weight:700; }
.reference-compare-range { position:absolute; inset:0; margin:0; width:100%; height:100%; opacity:0; cursor:ew-resize; touch-action:pan-y; }
.reference-compare-images:has(.reference-compare-range:focus-visible) { outline:3px solid var(--orange); outline-offset:4px; }
.reference-compare-images:has(.reference-compare-range:focus-visible) .reference-compare-divider > span { background:var(--orange); color:var(--ink); }
.reference-event { position:relative; overflow:hidden; min-height:350px; background:#171717; color:var(--paper); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; padding:40px; }
.reference-event img { width:138px; height:138px; border-radius:50%; }
.reference-event--logo img { width:min(240px,62%); height:auto; aspect-ratio:1; }
.reference-event > span { font-family:var(--garet); font-size:clamp(20px,2.2vw,30px); text-align:center; }
.reference-event small { color:#c9c1b6; font-size:12px; }
.reference-lola-only { display:flex; align-items:center; justify-content:center; padding:40px 0; }
.reference-lola-only img { width:180px; max-width:55%; height:auto; aspect-ratio:1; border-radius:50%; }
.reference-detail > .eyebrow { margin-top:44px; }
.reference-detail h1 { font-size:clamp(40px,5.5vw,78px); }
.reference-detail .reference-copy h2 { font-size:26px; margin:28px 0 14px; }
@media(max-width:800px) {
 .reference-row { grid-template-columns:1fr; gap:30px; padding-block:38px; }
 .reference-event { min-height:300px; }
}
@media(max-width:520px) {
}

/* Shared contact form: give the copy and the form room to breathe. */
.direct-contact { margin-block:26px 20px; }
.direct-contact > p { font-size:16px; line-height:1.6; color:#d5cec2; margin:0 0 18px; }
.direct-contact-actions { display:flex; flex-wrap:wrap; gap:14px; }
.direct-contact-actions .button { font-size:15px; padding:15px 18px; gap:14px; min-height:52px; }
.direct-contact-actions .button.secondary { background:transparent; border:1px solid rgba(250,248,242,.62); color:var(--paper); }
.direct-contact-actions .button.secondary:hover { background:var(--paper); color:var(--ink); }
@media(min-width:801px) and (max-width:1000px) {
 .desktop-nav { gap:14px; font-size:14px; }
 .header .brand { width:150px; }
 .desktop-nav .nav-cta { gap:8px; font-size:12px; }
}
.contact-layout,
.editorial-closing.film-motif-closing .film-motif-layout {
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:clamp(28px,4vw,64px);
 align-items:start;
}
.contact-layout > *, .film-motif-layout > * { min-width:0; }
.contact-page h1 { font-size:clamp(40px,4.6vw,68px); line-height:1.1; letter-spacing:-.045em; }
.contact-page .intro { font-size:18px; line-height:1.65; margin-top:28px; }
.contact-page-actions .button { font-size:15px; padding:15px 18px; gap:14px; min-height:52px; }
.inquiry-compass { max-width:600px; margin-top:0; padding:clamp(22px,2.5vw,36px); }
.inquiry-compass .compass-topline { flex-wrap:wrap; gap:8px 16px; }
.inquiry-compass .compass-topline .eyebrow { font-size:10px; letter-spacing:.16em; }
.inquiry-compass .compass-step legend { line-height:1.2; font-size:clamp(23px,2.1vw,30px); }
.inquiry-compass .compass-options--contact { grid-template-columns:1fr; }
.inquiry-compass .compass-options--contact .compass-option {
 display:grid; grid-template-columns:90px minmax(0,1fr); align-items:center; gap:12px; min-height:64px;
}
.inquiry-compass .compass-options--contact .compass-option span { margin:0; }
.inquiry-compass .compass-fields { grid-template-columns:minmax(0,1fr); gap:16px; }
.inquiry-compass .compass-fields label { text-transform:none; letter-spacing:0; font-size:14px; line-height:1.5; }
.inquiry-compass .compass-fields input,.inquiry-compass .compass-fields textarea { font-size:16px; min-height:48px; }
.inquiry-compass .compass-summary dl { grid-template-columns:minmax(0,1fr); }
.inquiry-compass .compass-summary dl > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:12px; }
.inquiry-compass .compass-summary dd { margin:0; }
.inquiry-compass .compass-hint:empty { min-height:0; margin:0; }
.inquiry-compass .compass-actions { margin-top:26px; }
.inquiry-compass .compass-actions .text-link { margin-top:0; }
.inquiry-compass .compass-next { margin-left:auto; }
.inquiry-compass .compass-option { min-width:0; }
@media(max-width:850px) {
 .contact-layout,.editorial-closing.film-motif-closing .film-motif-layout { grid-template-columns:minmax(0,1fr); gap:36px; }
 .inquiry-compass { max-width:none; }
 .contact-page { padding-block:64px; }
}
@media(max-width:520px) {
 .inquiry-compass .compass-summary dl > div { grid-template-columns:1fr; gap:5px; }
 .inquiry-compass .compass-topline { flex-direction:row; }
 .inquiry-compass .compass-actions { flex-direction:row; flex-wrap:wrap; }
 .inquiry-compass .compass-actions .button { width:auto; margin-left:auto; }
 .inquiry-compass .compass-options--contact .compass-option { grid-template-columns:80px minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
 .inquiry-compass .compass-progress span,.inquiry-compass .compass-option { transition:none; }
 .inquiry-compass .compass-option:hover { transform:none; }
}

@media(max-width:600px) {
 .care-tabs:not([hidden]) {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  overflow:visible;
  border-bottom:0;
 }
 .care-tabs button {
  min-width:0;
  min-height:54px;
  padding:12px;
  gap:8px;
  font-size:15px;
  border:1px solid var(--line);
  border-bottom:3px solid var(--line);
  text-align:left;
 }
 .care-tabs button[aria-selected="true"] {
  border-color:var(--orange);
 }
}

/* Tighter section-heading rhythm on the mobile homepage. */
@media(max-width:600px) {
 .home-page main h2 { line-height:1.02; }
 .home-page main h2 .script { line-height:1.12; }
 .home-page .problem-intro h2 { line-height:.95; }
 .home-page .problem-intro h2 .script { margin-top:3px; line-height:1.08; }
}

/* social-compact-start */
.social-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; list-style:none; padding:30px 0 0; margin:32px 0 0; border-top:1px solid var(--line); }
.social-benefits strong { display:block; font-size:19px; margin-bottom:10px; }
.social-benefits span { display:block; font-size:16px; line-height:1.55; }
.social-compact-steps { list-style:none; padding:0; margin:35px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.social-compact-steps li { border-top:1px solid var(--line); padding-top:18px; }
.social-compact-steps li > span { color:var(--orange-text); font-size:14px; }
.social-compact-steps h3 { font-size:24px; margin:14px 0; }
.social-compact-steps p { font-size:17px; line-height:1.6; }
@media(max-width:600px) {
 .social-compact .section { padding-block:48px; }
 .social-compact .social-hero-grid { gap:24px; }
 .social-compact .social-hero-copy h1 { font-size:clamp(37px,11vw,56px); }
 .social-compact .social-hero-copy h1 .script { font-size:1em; }
 .social-compact .content-flow { display:none; }
 .social-benefits { grid-template-columns:1fr; gap:20px; margin-top:24px; padding-top:24px; }
 .social-benefits strong { font-size:18px; margin-bottom:5px; }
 .social-compact-steps { grid-template-columns:1fr; gap:24px; }
 .social-compact-steps h3 { margin:8px 0; }
 .social-compact .care-panel { min-height:0; gap:22px; }
 .social-compact .care-panel-visual { display:block; }
 .social-compact .care-panel-visual > div { min-height:0; padding:16px; }
 .social-compact .care-graphic svg { max-height:160px; }
 .social-compact .care-planning > div { padding-block:8px; }
 .social-compact .care-panel-visual .visual-kicker { margin-bottom:10px; }
 .social-compact .care-panel-visual .visual-note { margin-top:10px; }
 .social-compact .care-panel-copy > p:not(.eyebrow) { margin-top:12px; font-size:17px; }
 .social-compact .care-panel-tags { margin-top:16px; padding-top:12px; }
}
/* social-compact-end */

/* compact-services-start */
.compact-service .service-art-hero { padding-bottom:32px; }
.compact-benefits { padding-bottom:56px; }
.compact-benefits ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:26px 0 0; margin:0; border-top:1px solid var(--line); list-style:none; }
.compact-benefits h2 { font-family:var(--body); font-size:20px; font-weight:650; line-height:1.3; letter-spacing:0; margin-bottom:10px; }
.compact-benefits p { font-size:17px; line-height:1.55; }
.compact-deliverables { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:60px; align-items:start; }
.compact-deliverables > div > p:not(.eyebrow) { margin-top:22px; max-width:42ch; font-size:18px; }
.compact-task-list details { border-bottom:1px solid var(--line); }
.compact-task-list details:first-child { border-top:1px solid var(--line); }
.compact-task-list summary { display:flex; align-items:center; gap:14px; padding:22px 0; cursor:pointer; list-style:none; font-size:20px; font-weight:600; }
.compact-task-list summary::-webkit-details-marker { display:none; }
.compact-task-number { color:var(--orange-text); font-size:12px; font-weight:500; }
.compact-task-list summary > b { margin-left:auto; flex-shrink:0; font-size:22px; font-weight:400; }
.compact-task-list details[open] summary > b { transform:rotate(45deg); }
.compact-task-list details > p { font-size:17px; line-height:1.65; padding:0 28px 22px; margin:0; }
.compact-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; list-style:none; padding:0; margin:34px 0 0; }
.compact-steps li { border-top:1px solid var(--line); padding-top:20px; }
.compact-steps li > span { color:var(--orange-text); font-size:14px; }
.compact-steps h3 { font-size:24px; margin:14px 0; overflow-wrap:anywhere; }
.compact-steps p { font-size:17px; line-height:1.6; }
.compact-context h2 { max-width:22ch; font-size:clamp(30px,4vw,52px); }
.compact-context > p:last-child { max-width:65ch; font-size:19px; line-height:1.65; margin-top:24px; }
@media(max-width:800px) {
 .compact-deliverables { grid-template-columns:1fr; gap:28px; }
 .compact-steps { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:600px) {
 .compact-service .editorial-section { padding-block:44px; }
 .compact-service .art-hero-layout { row-gap:18px; }
 .compact-service .art-hero-layout > .eyebrow { grid-row:1; margin-bottom:0; }
 .compact-service .art-hero-layout > h1 { grid-row:2; }
 .compact-service .art-hero-layout > .lead { grid-row:3; margin-top:0; }
 .compact-service .art-hero-layout > .editorial-actions { grid-row:4; margin-top:0; }
 .compact-service .art-hero-layout > .hero-art { grid-row:5; }
 .compact-service .art-hero-layout h1 { font-size:clamp(34px,10vw,48px); line-height:1.1; overflow-wrap:anywhere; hyphens:auto; }
 .compact-service .art-hero-layout h1 .script { font-size:1em; line-height:1.15; }
 .compact-service .art-hero-layout .lead { font-size:18px; line-height:1.55; }
 .compact-service .hero-art { max-width:340px; margin-top:8px; }
 .compact-benefits { padding-bottom:36px; }
 .compact-benefits ul { grid-template-columns:1fr; gap:20px; }
 .compact-benefits h2 { font-size:18px; margin-bottom:5px; }
 .compact-benefits p { font-size:16px; }
 .compact-service h2 { overflow-wrap:anywhere; hyphens:auto; }
 .compact-task-list summary { font-size:17px; padding:17px 0; gap:10px; }
 .compact-task-list details > p { padding:0 0 18px; font-size:16px; }
 .compact-steps h3 { font-size:22px; margin:8px 0; }
 .compact-context > p:last-child { font-size:17px; }
 .compact-service .editorial-closing h2 { font-size:clamp(30px,8.5vw,42px); }
}
/* compact-services-end */

.compact-service-coach .art-hero-coach h1 .script { color:#fff; }
.compact-service-coach .art-hero-coach { background:#df5100; }
.social-offer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:28px; }
.social-offer-grid article { border-top:1px solid var(--ink); padding-top:20px; }
.social-offer-grid h3 { font-size:clamp(22px,2vw,28px); }
.compass-final-note a { color:inherit; text-decoration:underline; }
.legal-toc { margin-block:28px 42px; border-block:1px solid #b8b0a3; padding:18px 0; }
.legal-toc summary { cursor:pointer; font-weight:600; }
.legal-toc ol { padding-left:22px; }
.legal-toc li { margin:10px 0; }
.legal-toc a { font-size:15px; }
.legal-document-body :is(h2,h3) { scroll-margin-top:24px; }
.legal-document-body a { overflow-wrap:anywhere; }
.hero-visual { position:relative; }
.ai-image-label { position:absolute; right:12px; bottom:8px; z-index:5; padding:3px 7px; margin:0; border-radius:3px; background:rgba(250,248,242,.92); color:#49443d; font:400 11px/1.4 'DM Sans',sans-serif; letter-spacing:.02em; }
.team-photo--real .ai-image-label { right:8px; bottom:8px; }
@media(max-width:700px) {
 .social-offer-grid { grid-template-columns:1fr; gap:18px; }
 .compact-service-coach .art-hero-layout h1 { hyphens:none; overflow-wrap:normal; font-size:clamp(30px,9vw,44px); }
 .social-compact-steps h3 { overflow-wrap:break-word; hyphens:auto; }
}
@media(max-width:360px) {
 .header > .text-link { white-space:normal; font-size:13px; text-align:right; min-width:0; }
 .header > .brand { max-width:55%; flex-shrink:1; }
}
.compact-service-ads .pm-section-head { max-width:790px; margin-bottom:32px; }
.compact-service-ads .pm-section-head > p:last-child { margin-top:20px; font-size:18px; }

.consent-settings { appearance:none; background:none; border:0; padding:0; color:inherit; font:inherit; text-align:left; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }

/* CCM19: compact light banner; scoped to the first consent panel. */
.ccm-root #ccm-widget { font-family:"DM Sans",Arial,sans-serif; }
.ccm-root #ccm-widget .ccm-modal-inner {
  height:auto !important;
  min-height:0 !important;
  max-height:85vh !important;
  max-height:85dvh !important;
  background:#faf8f2 !important;
  color:#191919 !important;
}
.ccm-root #ccm-widget .ccm-modal--body {
  height:auto !important;
  min-height:0 !important;
  padding:24px 24px 8px !important;
  background:#faf8f2 !important;
}
.ccm-root #ccm-widget .ccm-widget--text {
  min-height:0 !important;
  height:auto !important;
  margin:0 0 8px !important;
  padding:0 !important;
}
.ccm-root #ccm-widget .ccm-inner-overflow { height:auto !important; padding:0 !important; }
.ccm-root #ccm-widget .ccm-widget--title { font-size:18px !important; line-height:1.2 !important; margin:0 0 6px !important; }
.ccm-root #ccm-widget .ccm--p { font-size:14px !important; line-height:1.4 !important; margin:0 !important; }
.ccm-root #ccm-widget .ccm-widget--buttons { margin:0 !important; padding:0 !important; gap:8px; }
.ccm-root #ccm-widget .ccm-widget--buttons button { min-height:44px; min-width:0; flex:1 1 0 !important; margin:0 !important; font-family:inherit; font-size:14px; }
.ccm-root #ccm-widget .ccm-modal--footer { padding:6px 24px 8px !important; margin:0 !important; background:#faf8f2 !important; }
.ccm-root #ccm-widget .ccm-modal--footer a { color:#191919 !important; }
@media (max-width:600px) {
  .ccm-root #ccm-widget .ccm-modal--body { padding:32px 16px 10px !important; }
  .ccm-root #ccm-widget .ccm-modal--footer { padding:8px 16px 12px !important; }
  .ccm-root #ccm-widget .ccm-widget--buttons { display:grid !important; grid-template-columns:1fr 1fr; }
  .ccm-root #ccm-widget .ccm-widget--buttons button { width:100% !important; }
  .ccm-root #ccm-widget .ccm-widget--buttons [data-ccm-modal="ccm-control-panel"] { grid-row:2; grid-column:1 / -1; }
}

/* SEO block 1: compact offer context, preserving hero artwork and motion. */
.hero-photo--team .hero-offer-summary { max-width: 780px; margin: 12px auto 0; padding: 0 20px; font-size: 17px; line-height: 1.5; text-align: center; }
.social-reference-note { margin-top: 28px; padding-top: 24px; padding-bottom: 24px; border-top: 1px solid var(--line, #d8d3c9); border-bottom: 1px solid var(--line, #d8d3c9); }
.social-reference-note p { max-width: 850px; margin: 10px 0 0; }
.social-related-services { margin-bottom: 18px; }
@media (max-width: 600px) {
 .hero-photo--team .hero-offer-summary { font-size: 15px; line-height: 1.5; padding: 0 20px; text-align: left; }
 .social-compact .social-hero-copy h1 { font-size: clamp(34px, 9.6vw, 56px); overflow-wrap: normal; }
}

.social-reference-note { display: flex; align-items: center; gap: 28px; }
.social-reference-logo { flex: 0 0 auto; width: 96px; height: 96px; object-fit: cover; border-radius: 50%; }
.social-reference-copy { min-width: 0; }
@media (max-width: 600px) {
 .social-reference-note { flex-direction: column; align-items: flex-start; gap: 16px; }
 .social-reference-logo { width: 72px; height: 72px; }
}

/* Contextual links for the distinct service topics. */
.service-related { padding-bottom: 40px; }
.service-related > p { max-width: 70ch; }
.service-related ul { display: flex; flex-wrap: wrap; gap: 12px 28px; padding: 0; margin: 16px 0 0; list-style: none; }
.service-related a { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 600px) { .service-related ul { flex-direction: column; } }

/* Keep service introductions close to the breadcrumb navigation. */
.specialist-page > main > .breadcrumbs { margin-bottom: 0; padding-block: 24px 12px; }
.compact-service .service-art-hero { padding-top: 24px; }
.compact-service .art-hero-layout { grid-template-rows: min-content min-content min-content 1fr; }
@media (max-width: 600px) {
 .specialist-page > main > .breadcrumbs { padding-block: 18px 10px; }
 .compact-service .service-art-hero { padding-top: 18px; }
 .compact-service .art-hero-layout { grid-template-rows: auto; }
}

/* Editorial and regional pages: readable, compact, shared brand. */
.guide-page { padding-bottom: 64px; }
.guide-page .breadcrumbs { margin-bottom: 0; padding-block: 24px 12px; flex-wrap: wrap; }
.guide-hero { padding-block: 28px 40px; max-width: 1100px; }
.guide-hero h1 { font-size: clamp(2.35rem, 5.6vw, 5.5rem); line-height: 1.06; overflow-wrap: anywhere; margin: 18px 0 24px; }
.guide-hero h1 .script { display: block; color: #c44500; margin-top: 10px; }
.guide-hero .intro { max-width: 800px; }
.guide-hero .button { margin-top: 12px; }
.guide-contents { display: flex; flex-wrap: wrap; gap: 12px 24px; border-block: 1px solid #cfcac0; padding: 24px 0; }
.guide-contents strong { width: 100%; }
.guide-contents a, .guide-body a, .guide-inline-link a { text-decoration: underline; text-underline-offset: 4px; }
.guide-body { max-width: 980px; }
.guide-body section { padding-block: 38px; border-bottom: 1px solid #d8d3c9; scroll-margin-top: 30px; }
.guide-body h2, .guide-closing h2 { font-size: clamp(1.6rem, 3vw, 2.65rem); line-height: 1.16; margin: 0 0 22px; overflow-wrap: anywhere; }
.guide-body p { max-width: 76ch; line-height: 1.7; margin: 14px 0; }
.guide-checklist { padding-left: 24px; }
.guide-checklist li { line-height: 1.65; padding-left: 6px; margin-bottom: 18px; }
.guide-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 26px 0; }
.guide-cards article { background: #eee9df; padding: 24px; }
.guide-cards h3 { font-size: 1.15rem; line-height: 1.3; }
.guide-cards p { font-size: 1rem; }
.guide-closing { background: #eee9df; margin-top: 40px; padding: 32px; }
.guide-closing p { max-width: 68ch; }
.guide-inline-link { padding-top: 24px; padding-bottom: 16px; }
.footer-main { flex-wrap: wrap; }
.guide-footer-links { display: flex; flex-direction: column; gap: 12px; }
@media(max-width:700px) {
 .guide-hero { padding-block: 16px 28px; }
 .guide-body section { padding-block: 28px; }
 .guide-cards { grid-template-columns: 1fr; gap: 12px; }
 .guide-contents { flex-direction: column; gap: 14px; }
 .guide-closing { padding: 24px 20px; }
 .guide-hero h1 .script { margin-top: 6px; }
}

/* Visual guides share the site's editorial rhythm and palette. */
.guide-page { padding-bottom:0; }
.guide-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:48px; max-width:none; padding-block:24px 56px; }
.guide-hero h1 { font-size:clamp(2.3rem,4.25vw,4.6rem); letter-spacing:-.055em; }
.guide-hero h1 .script { color:var(--orange); letter-spacing:-.035em; font-size:.85em; line-height:1.25; }
.guide-hero .intro { font-size:clamp(1rem,1.35vw,1.15rem); line-height:1.65; }
.guide-hero .content-flow { width:100%; min-width:0; margin:0; }
.guide-body { max-width:none; }
.guide-body .guide-band { padding-block:64px; border:0; }
.guide-section-heading { max-width:900px; margin-bottom:30px; }
.guide-section-heading h2 { max-width:23ch; font-size:clamp(1.8rem,3.4vw,3.3rem); letter-spacing:-.045em; }
.guide-section-copy { max-width:1100px; }
.guide-section-copy > p { max-width:78ch; }
.guide-band--dark { background:var(--ink); color:var(--paper); }
.guide-band--dark .eyebrow { color:var(--orange); }
.guide-band--dark .guide-cards article { background:#282826; color:var(--paper); border:1px solid #54544d; }
.guide-band--dark a { color:inherit; }
.guide-band--orange { background:var(--orange); color:var(--ink); }
.guide-band--orange a { color:var(--ink); }
.guide-band--orange .guide-cards article { background:var(--paper); }
.guide-band--dark .guide-checklist { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 40px; counter-reset:check; }
.guide-band--dark .guide-checklist li { padding:22px 0 22px 42px; margin:0; border-top:1px solid #54544d; position:relative; }
.guide-band--dark .guide-checklist li:before { content:'✓'; position:absolute; left:0; color:var(--orange); font-size:24px; }
.guide-cards article { border-top:3px solid var(--orange); }
.guide-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:30px 0 40px; }
.guide-process > div { position:relative; padding:24px; background:var(--paper); color:var(--ink); display:grid; grid-template-columns:1fr auto; align-items:start; gap:20px; }
.guide-process svg { width:54px; height:54px; }
.guide-process strong { grid-column:1/-1; font-size:1.05rem; }
.guide-step { font-size:13px; font-weight:700; }
.guide-closing { margin:0; padding:64px 0; background:var(--ink); color:var(--paper); }
.guide-closing h2 { font-size:clamp(2.4rem,5vw,4.8rem); }
.guide-closing .script { color:var(--orange); }
.guide-closing .button { margin-top:20px; }
.region-visual { position:relative; margin:0; min-height:460px; padding:30px 20px 20px; background:#eee9df; overflow:hidden; isolation:isolate; }
.region-visual > .eyebrow { position:relative; z-index:2; text-align:center; font-size:11px; }
.region-orbit { position:absolute; width:380px; height:380px; border:1px dashed #bcb5a8; border-radius:50%; top:70px; left:50%; transform:translateX(-50%); z-index:-1; }
.region-phone { border:8px solid var(--ink); border-radius:30px; background:var(--paper); width:210px; min-height:310px; padding:18px; margin:28px auto 18px; transform:rotate(-5deg); }
.region-phone > svg { width:25px; height:25px; margin-bottom:10px; }
.region-phone strong,.region-phone > span { display:block; font-size:19px; line-height:1.3; }
.region-video { background:var(--orange); margin-top:18px; padding:25px 8px; text-align:center; }
.region-video > span { font-size:35px; display:block; }
.region-video small { font-size:10px; font-weight:700; }
.region-lines i { display:block; margin-top:12px; height:5px; background:#d4cdbf; }
.region-lines i:last-child { width:65%; }
.region-badge { display:flex; gap:10px; align-items:center; position:absolute; z-index:3; background:var(--ink); color:var(--paper); padding:15px; box-shadow:0 10px 25px #0002; font-size:13px; }
.region-badge svg { width:36px; height:36px; color:var(--orange); }
.region-badge-plan { left:12px; top:128px; transform:rotate(-7deg); }
.region-badge-camera { right:12px; bottom:105px; transform:rotate(6deg); }
.region-visual figcaption { font-size:12px; text-align:center; padding-top:10px; }
@media(prefers-reduced-motion:no-preference) {
 .region-phone { animation:guide-phone-in 1.2s ease-out both; }
 .region-badge { animation:guide-badge-in 1s ease-out both; }
 .region-badge-camera { animation-delay:.25s; }
 .guide-process svg { animation:guide-icon-in 1s ease-out both; }
}
@keyframes guide-phone-in { from { opacity:0; translate:0 20px; } to { opacity:1; translate:0 0; } }
@keyframes guide-badge-in { from { opacity:0; scale:.85; } to { opacity:1; scale:1; } }
@keyframes guide-icon-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1000px) {
 .guide-hero { gap:28px; }
 .region-badge { padding:10px; font-size:11px; gap:6px; }
 .region-badge svg { width:26px; }
}
@media(max-width:760px) {
 .guide-hero { grid-template-columns:1fr; padding-block:18px 36px; gap:32px; }
 .guide-hero h1 { font-size:clamp(2.25rem,8.8vw,3.5rem); }
 .guide-body .guide-band { padding-block:38px; }
 .guide-band--dark .guide-checklist { grid-template-columns:1fr; }
 .guide-process { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .guide-process > div { padding:18px; gap:14px; }
 .guide-process strong { font-size:.95rem; }
 .guide-process svg { width:42px; height:42px; }
 .guide-closing { padding:40px 0; }
 .region-visual { min-height:430px; }
}

.guide-hero-promise { border-left:3px solid var(--orange); padding-left:16px; margin:22px 0 0; font-size:1rem; line-height:1.55; max-width:52ch; }

.guide-section-copy.faq { display:block; }
