@font-face { font-family: FrankRuhl; src: url('/assets/frank-ruhl-variable.woff') format('woff'); font-weight: 300 900; font-display: swap; }
/* Full website canvases; hardware is reserved for mobile products. */
.project-card {
  grid-template-columns: minmax(250px, 27%) minmax(0, 1fr);
  height: min(680px, calc(100svh - 134px));
  min-height: 570px;
  border-radius: 10px;
  margin-bottom: 80px;
  box-shadow: 0 12px 32px #1522180a;
}
.project-copy { padding: 28px; }
.project-description > h3 { font-size: clamp(38px, 4vw, 61px); font-weight: 500; }
.project-description > p:not(.project-type) { font-size: 16px; line-height: 1.85; }
.project-description ul { display: block; margin: 23px 0; }
.project-description li { border: 0; border-radius: 0; padding: 6px 0; font-size: 12px; }
.project-description li::before { content: '↖'; margin-inline-end: 10px; opacity: .65; }
.project-type { line-height: 1.7; }
.project-open { min-height: 48px; }
.project-bottom-label { font-size: 8px; letter-spacing: .08em; opacity: .65; }
.project-web-canvas { height: 100%; width: 100%; container-type: inline-size; overflow: hidden; }
.project-web-canvas .preview-nav { padding: 4cqw 5cqw; }
.project-web-canvas .frame-preview { min-height: 0; height: 100%; }
.project-web-canvas .frame-preview > img { object-position: 45% center; }
.project-web-canvas .frame-preview .preview-nav bdi { font: 5cqw/1 Arial, sans-serif; letter-spacing: -.06em; }
.project-web-canvas .frame-preview .preview-nav span { font-size: 1.4cqw; }
.project-web-canvas .frame-preview-title { font: 300 11cqw/1.1 PlexHebrew, Arial, sans-serif; right: 5cqw; bottom: 12cqw; letter-spacing: -.04em; }
.project-web-canvas .frame-preview-title span { display: block; margin-top: 3cqw; font: 400 2cqw/1.6 ProjectSans, Arial, sans-serif; letter-spacing: 0; }
.project-web-canvas .frame-preview-bottom { inset-inline: 5cqw; bottom: 4cqw; padding-top: 2cqw; font-size: 1.4cqw; }
.project-web-canvas .frame-preview-bottom bdi { font-size: 1.3cqw; }
.project-web-canvas .shop-preview { color: #453828; background: #f4eee3; }
.project-web-canvas .shop-preview .preview-nav { padding: 3.5cqw 4cqw; border-color: #cfc4b3; }
.project-web-canvas .shop-preview .preview-nav > span { display: block; font-size: 1.3cqw; }
.project-web-canvas .shop-preview .preview-nav bdi { font: 3.6cqw/1 Georgia, serif; letter-spacing: .08em; }
.project-web-canvas .shop-preview-main { display: grid; grid-template-columns: 1fr 1fr; position: relative; }
.project-web-canvas .shop-preview-main > img { position: static; height: 100%; object-fit: cover; }
.project-web-canvas .shop-preview-copy { padding: 4cqw; min-height: 0; justify-content: center; background: none; }
.project-web-canvas .shop-preview-copy h3 { font: 400 6.7cqw/1.12 FrankRuhl, Georgia, serif; margin: 3cqw 0; }
.project-web-canvas .shop-preview-copy p { font-size: 1.7cqw; line-height: 1.8; max-width: 25ch; margin-bottom: 2cqw; }
.project-web-canvas .shop-preview-copy .tiny-en { display: block; font-size: 1.1cqw; }
.project-web-canvas .mock-link { font-size: 1.6cqw; padding-block: 1.5cqw; border-bottom: 1px solid #a79276; }
.project-web-canvas .shop-preview-product { border-block: 1px solid #cfc4b3; padding: 2cqw 0; margin: 1cqw 0 2cqw; width: 100%; max-width: none; }
.project-web-canvas .shop-preview-product > span { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 1.7cqw; color: #453828; }
.project-web-canvas .shop-preview-product bdi { font-size: 1.7cqw; white-space: nowrap; }
.project-web-canvas .shop-preview-product small { display: block; font-size: 1.3cqw; color: #74634d; margin-top: .5cqw; }
.project-web-canvas .shop-preview-strip { padding: 2.5cqw 4cqw; font-size: 1.4cqw; border-color: #cfc4b3; }
.project-web-canvas .shop-preview-strip bdi { display: block; font-size: 1.1cqw; }
.project-web-canvas .signal-preview { grid-template-columns: 19% minmax(0, 1fr); font-family: ProjectSans, Arial, sans-serif; background: #f1f3f6; color: #263448; }
.project-web-canvas .signal-preview > aside { display: flex; flex-direction: column; height: auto; padding: 4cqw 2cqw; gap: 4cqw; background: #202c3a; color: #dbe2e9; }
.project-web-canvas .signal-preview > aside > bdi { font-size: 3cqw; color: #f6f7f8; margin: 0 0 2cqw; }
.project-web-canvas .signal-preview > aside > span { font-size: 1.4cqw; padding: 1cqw; }
.project-web-canvas .signal-preview > aside > .signal-nav-active { background: #ffffff13; color: #fff; padding: 1.3cqw 1cqw; margin: 0; border-radius: 4px; }
.project-web-canvas .signal-preview > aside > small { display: block; font-size: 1.2cqw; color: #acb8c9; margin-top: auto; }
.project-web-canvas .signal-preview-main { padding: 5cqw 3.5cqw; }
.project-web-canvas .signal-preview-header h3 { font-size: 3.4cqw; }
.project-web-canvas .signal-preview-header small { font-size: 1.3cqw; color: #566579; }
.project-web-canvas .signal-date { font-size: 1.3cqw; background: #fff; border-color: #d5dce3; }
.project-web-canvas .signal-numbers { margin-top: 3cqw; gap: 1.4cqw; }
.project-web-canvas .signal-numbers > div { padding: 2cqw 1.5cqw; border-color: #dbe1e7; background: #fff; }
.project-web-canvas .signal-numbers strong { font-size: 4cqw; font-weight: 500; color: #27394f; }
.project-web-canvas .signal-numbers span, .project-web-canvas .signal-numbers small { font-size: 1.2cqw; color: #536478; }
.project-web-canvas .signal-graph { margin-top: 2cqw; padding: 2.5cqw; background: #fff; border-color: #dbe1e7; }
.project-web-canvas .signal-graph > div { font-size: 1.6cqw; }
.project-web-canvas .signal-graph > div > span { font-size: 1.1cqw; }
.project-web-canvas .signal-graph svg { height: 17cqw; margin-top: 3cqw; }
.project-web-canvas .preview-chart-line { stroke: #4b6c8b; }
.project-web-canvas .signal-graph svg > path:not(.preview-chart-line) { fill: #dfe8ed; }
.project-web-canvas .signal-preview-rows { display: block; margin-top: 2.5cqw; font-size: 1.6cqw; }
.project-web-canvas .signal-preview-rows > div { padding: 1.5cqw 0; font-size: 1.35cqw; border-color: #d9e0e6; }
.project-web-canvas .signal-preview-rows i { background: #e2ece5; color: #425e4b; }
.visual-open-hint { z-index: 4; background: #f7f5eccf; color: #25301f; backdrop-filter: blur(8px); border: 1px solid #fff8; }
.project-moment .project-visual { padding: 0; min-height: 0; background: #ded8cc; }
.moment-scene { position: relative; height: 100%; min-height: 590px; width: 100%; display: grid; place-items: center; overflow: hidden; background: #ded8cc; }
.moment-scene::before { content: ''; position: absolute; width: 76%; height: 140%; right: -32%; top: -10%; background: #f2ede3; transform: rotate(-24deg); }
.moment-scene-copy { position: absolute; top: 10%; left: 7%; color: #69674f; z-index: 0; }
.moment-scene-copy > bdi { display: block; font: 400 clamp(26px, 3.9vw, 58px)/.96 Georgia, serif; letter-spacing: -.06em; }
.moment-scene-copy > span { display: block; font-size: 12px; margin-top: 18px; }
.moment-scene-note { position: absolute; bottom: 6%; inset-inline: 7%; display: flex; justify-content: space-between; gap: 16px; font-size: 10px; color: #625d4f; }
.project-moment .moment-preview { width: 280px; justify-self: center; margin-inline-end: 23%; }
.moment-preview .moment-preview-screen { background: #f8f4eb; padding-bottom: 5cqw; }
.moment-preview .moment-preview-nav { padding: 2.5cqw 7cqw 4cqw; min-height: 13cqw; }
.moment-preview .moment-preview-nav > bdi { font: 11cqw/1 Georgia, serif; color: #48533e; }
.moment-preview .moment-preview-nav > span { font-size: 3cqw; color: #675f50; }
.moment-preview-cover { flex-shrink: 0; height: 52cqw; position: relative; overflow: hidden; margin: 2cqw 5cqw 0; border-radius: 12px; background: #b8a380; }
.moment-preview-cover img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.moment-preview-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 20%, #26241966); }
.moment-preview-cover > span { position: absolute; z-index: 1; top: 5cqw; right: 5cqw; color: #fff9ed; font: 400 9cqw/1.03 FrankRuhl, Georgia, serif; }
.moment-preview-cover em { font-style: normal; }
.moment-preview .moment-preview-copy { padding: 5cqw 7cqw 6cqw; }
.moment-preview .moment-preview-copy .tiny-en { font-size: 2.4cqw; letter-spacing: .08em; color: #72644f; direction: ltr; text-align: right; }
.moment-preview .moment-preview-copy h3 { font-size: 8cqw; margin: 2cqw 0 3cqw; line-height: 1.2; }
.moment-preview-service { padding: 2cqw 0; margin-bottom: 3cqw; }
.moment-preview-service small, .moment-preview-service > bdi, .moment-preview .moment-preview-date small { color: #6a6956; }
.moment-preview .moment-preview-days > span { padding: 1.5cqw 1cqw; }
.moment-preview .moment-preview-days b { font-size: 5.5cqw; }
.moment-preview .moment-preview-slots { margin-top: 3cqw; }
.moment-preview .moment-preview-slots > span { padding: 2.5cqw 1cqw; }
.moment-preview .moment-preview-cta { margin-top: 4cqw; padding: 3.8cqw 4cqw; border-radius: 8px; background: #46563b; }
.opening-phone .moment-preview-copy { padding: 5cqw 7cqw 6cqw; }
.opening-phone .moment-preview h3 { font-size: 8cqw; }

/* The desktop demo is the website itself. Phone mode retains its hardware. */
.demo-dialog { max-width: 1720px; width: calc(100% - 24px); height: calc(100svh - 24px); border-radius: 10px; }
.demo-dialog-toolbar { padding-block: 12px; }
.demo-dialog-controls [hidden] { display: none; }
.demo-dialog-stage[data-mode=desktop] { padding: 0; background: #f6f3ec; overflow: hidden; scrollbar-gutter: auto; }
.demo-dialog-stage[data-mode=desktop]::after { display: none; }
.demo-dialog-stage[data-mode=desktop] .preview-device { margin: 0; padding: 0; filter: none; width: 100%; height: 100%; }
.demo-dialog-stage[data-mode=desktop] .device-cabinet { position: relative; width: 100%; height: 100%; aspect-ratio: auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.demo-dialog-stage[data-mode=desktop] .device-screen { position: relative; inset: auto; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; border: 0; box-shadow: none; }
.demo-dialog-stage[data-mode=desktop] .device-glass, .demo-dialog-stage[data-mode=desktop] .phone-side { display: none; }
.demo-dialog-stage[data-mode=desktop] .active-demo-frame { position: absolute; inset: 0; max-width: none; border: 0; border-radius: 0; transform: none; }
.demo-dialog-stage[data-mode=mobile] { background: #e4e0d7; }
.demo-dialog-note { padding: 8px 18px; font-size: 11px; }
.demo-open-page { min-height: 32px; display: flex; align-items: center; gap: 10px; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }

@media (max-width: 1100px) {
  .project-card { grid-template-columns: 29% minmax(0, 1fr); min-height: 550px; }
  .project-copy { padding: 24px; }
  .project-description > h3 { font-size: 42px; }
  .project-description > p:not(.project-type) { font-size: 15px; }
  .project-moment .moment-preview { width: 250px; }
}
@media (max-width: 900px) {
  .project-card { position: relative; top: auto; min-height: 510px; height: auto; margin-bottom: 40px; }
  .project-copy { padding: 24px 20px; }
  .project-visual { min-height: 510px; }
  .project-description > h3 { font-size: 34px; }
  .project-description > p:not(.project-type) { font-size: 14px; }
  .project-description li { font-size: 11px; }
  .moment-scene-copy > bdi { font-size: 37px; }
  .project-moment .moment-preview { width: 245px; margin-inline-end: 18%; }
}
@media (max-width: 650px) {
  .project-card { display: flex; height: auto; min-height: 0; border-radius: 10px; margin-bottom: 34px; }
  .project-visual { height: auto; min-height: 0; aspect-ratio: 1.13; }
  .project-copy { padding: 22px 24px 26px; }
  .project-description { padding-top: 24px; }
  .project-description > h3 { font-size: 44px; }
  .project-description > p:not(.project-type) { font-size: 16px; max-width: 34ch; }
  .project-description ul { display: flex; gap: 10px 18px; margin-block: 18px; }
  .project-description li { font-size: 11px; padding: 0; }
  .project-description li::before { display: none; }
  .project-web-canvas .frame-preview .preview-nav span { font-size: 2.2cqw; }
  .project-web-canvas .frame-preview .preview-nav bdi { font-size: 6.5cqw; }
  .project-web-canvas .frame-preview-title { font-size: 13cqw; bottom: 16cqw; }
  .project-web-canvas .frame-preview-title span { font-size: 3cqw; }
  .project-web-canvas .frame-preview-bottom, .project-web-canvas .frame-preview-bottom bdi { font-size: 1.8cqw; bottom: 5cqw; }
  .project-web-canvas .shop-preview .preview-nav { padding: 4cqw; }
  .project-web-canvas .shop-preview .preview-nav bdi { font-size: 4.6cqw; }
  .project-web-canvas .shop-preview .preview-nav > span { font-size: 1.8cqw; }
  .project-web-canvas .shop-preview-copy h3 { font-size: 8cqw; }
  .project-web-canvas .shop-preview-copy p { font-size: 2.3cqw; }
  .project-web-canvas .shop-preview-copy .tiny-en { font-size: 1.7cqw; }
  .project-web-canvas .mock-link { font-size: 2.2cqw; }
  .project-web-canvas .shop-preview-product > span, .project-web-canvas .shop-preview-product bdi { font-size: 2.3cqw; }
  .project-web-canvas .shop-preview-product small { font-size: 1.9cqw; }
  .project-web-canvas .shop-preview-strip { font-size: 2cqw; padding: 3cqw 4cqw; }
  .project-web-canvas .signal-preview { grid-template-columns: 19% minmax(0, 1fr); }
  .project-web-canvas .signal-preview > aside > span { font-size: 2.1cqw; }
  .project-web-canvas .signal-preview > aside > small { font-size: 1.8cqw; }
  .project-web-canvas .signal-preview-header h3 { font-size: 4.5cqw; }
  .project-web-canvas .signal-preview-header small, .project-web-canvas .signal-date { font-size: 1.9cqw; }
  .project-web-canvas .signal-numbers { margin-top: 4cqw; }
  .project-web-canvas .signal-numbers strong { font-size: 5cqw; }
  .project-web-canvas .signal-numbers span, .project-web-canvas .signal-numbers small { font-size: 1.8cqw; }
  .project-web-canvas .signal-graph { margin-top: 3cqw; }
  .project-web-canvas .signal-graph > div { font-size: 2.4cqw; }
  .project-web-canvas .signal-graph > div > span { font-size: 1.8cqw; }
  .project-web-canvas .signal-graph svg { height: 24cqw; }
  .project-web-canvas .signal-preview-rows { font-size: 2.2cqw; }
  .project-web-canvas .signal-preview-rows > div { font-size: 2cqw; }
  .project-moment .project-visual { aspect-ratio: auto; height: 650px; min-height: 0; }
  .moment-scene { min-height: 0; }
  .moment-scene-copy { top: 24px; left: 7%; }
  .moment-scene-copy > bdi { font-size: 28px; }
  .moment-scene-copy > span { font-size: 10px; margin-top: 12px; }
  .project-moment .moment-preview { width: min(245px, 66%); margin-inline-end: 0; margin-top: 90px; }
  .moment-scene-note { font-size: 8px; bottom: 4%; }
  .demo-dialog { width: calc(100% - 8px); height: calc(100svh - 8px); border-radius: 8px; }
  .demo-dialog-toolbar { padding: 10px; gap: 8px; }
  .demo-dialog-note { gap: 10px; font-size: 9px; padding: 5px 10px; }
  .demo-dialog-note > span:first-child { max-width: 56%; }
}
@media (prefers-reduced-motion: reduce) {
  .project-card, .moment-preview { transform: none !important; }
  .project-visual *, .demo-dialog * { transition: none !important; }
}

/* Keep the comparison choices centered at every viewport width. */
.comparison-foot { justify-content: center; align-items: center; }
.comparison-controls { justify-content: center; flex-wrap: wrap; }
.difference-bottom { justify-content: center; align-items: center; }
/* REP: a complete training-club canvas, with the same identity as its live page. */
.rep-preview{height:100%;display:flex;flex-direction:column;background:#191d23;color:#f2f1eb;font-family:Rep,Assistant,Arial,sans-serif}
.rep-preview-nav{display:flex;justify-content:space-between;align-items:center;direction:ltr;gap:2cqw;background:#f2f1eb;color:#191b1e;padding:2.2cqw 4cqw}
.rep-preview-nav>bdi{font:900 italic 6cqw/.9 Arial,sans-serif;letter-spacing:-.08em}.rep-preview-nav>span{font-size:1.5cqw;direction:rtl}.rep-preview-nav>strong{font-size:1.5cqw;background:#2549ef;color:white;padding:1.4cqw 2cqw;font-weight:500;direction:rtl}
.rep-preview-hero{position:relative;flex:1;min-height:0;isolation:isolate;overflow:hidden}.rep-preview-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:38% center;z-index:-3}.rep-preview-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(270deg,#10151da6,transparent 80%);z-index:-2}.rep-preview-copy{position:absolute;right:5%;top:13%;width:55%;}.rep-preview-copy>bdi{font-size:1.2cqw;letter-spacing:.06em}.rep-preview-copy h3{font:700 7.8cqw/1.12 Assistant,Arial,sans-serif;letter-spacing:-.04em;margin:2.6cqw 0}.rep-preview-copy>span{display:block;font-size:1.8cqw;margin-bottom:2.8cqw}.rep-preview-copy>strong{display:inline-block;background:#2549ef;color:white;font-size:1.7cqw;padding:1.7cqw 2.5cqw;font-weight:500}.rep-preview-mark{position:absolute;bottom:5%;left:4%;font:900 italic 17cqw/.8 Arial,sans-serif;letter-spacing:-.1em;z-index:-1;color:#f2f1ebd9}.rep-preview-strip{padding:2.4cqw 4cqw;display:flex;justify-content:space-between;align-items:center;background:#2549ef;color:#fff;font-size:2.4cqw}.rep-preview-strip i{font-size:2.2cqw;font-style:normal}.rep-preview-strip bdi{font-size:1.2cqw;letter-spacing:.08em}.project-rep .project-copy{background:#e4e7ed}.project-rep .project-description h3{font-family:Arial,sans-serif;font-weight:800;font-style:italic;letter-spacing:-.05em}
.search-chart-legend li:nth-child(3) i{background:#a9c5d2}.search-measurement>strong{display:block;margin-bottom:9px;color:inherit}.search-chart-legend{flex-wrap:wrap}

/* Connected search strategy: a shared introduction, three disciplines, one next step. */
.search-section-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"kicker kicker" "title lead" "details chart" "summary action";column-gap:clamp(40px,6vw,90px);row-gap:28px;align-items:start}
.search-copy{display:contents}
.search-copy>.section-kicker{grid-area:kicker;margin:0;color:#596c4e;font-size:12px;letter-spacing:.07em}
.search-copy>h2{grid-area:title;margin:0;font-size:clamp(48px,4.8vw,69px);line-height:1.12}
.search-lead{grid-area:lead;align-self:center;max-width:510px;color:#4f6045;font-size:19px;line-height:1.8}
.search-explained{grid-area:details;margin:22px 0 0;max-width:none;border-bottom:1px solid #c4ceba}
.search-explained>div{padding-block:25px}
.search-explained dt{gap:21px;color:#30452c}
.search-explained dt>bdi{color:#576e45;font-weight:500;font-size:23px}
.search-explained dt>span{font-size:19px;font-weight:600}
.search-explained dd{color:#54634b;font-size:15px;line-height:1.8;margin-top:10px}
.search-growth{grid-area:chart;align-self:center;margin-top:22px}
.search-chart-surface{padding:30px 30px 25px}
.search-chart-header>span,.search-chart-legend>li{color:#c1cbb8}
.search-chart-axis{color:#b4c1a7}
.search-chart-footer{color:#c5d3b7}
.search-growth>figcaption{color:#5c6e51;font-size:11px}
.search-measurement{grid-area:summary;max-width:none;margin:12px 0 0;font-size:14px;line-height:1.8;color:#54634b}
.search-measurement>strong{color:#30452c;font-size:19px;font-weight:600;margin-bottom:8px}
.search-copy>.inline-link{grid-area:action;align-self:center;justify-self:end;margin:15px 0 0;color:#30452c}
@media(max-width:900px){.search-section-grid{grid-template-columns:1fr;grid-template-areas:"kicker" "title" "lead" "details" "chart" "summary" "action";row-gap:25px}.search-copy>h2{font-size:60px}.search-lead{max-width:610px}.search-explained{margin:5px 0 0}.search-growth{margin-top:4px;max-width:100%}.search-measurement{max-width:650px}.search-copy>.inline-link{justify-self:start;margin-top:0}}
@media(max-width:650px){.search-section-grid{row-gap:22px}.search-copy>h2{font-size:clamp(43px,11vw,59px)}.search-lead{font-size:17px;line-height:1.8}.search-explained>div{padding-block:23px}.search-explained dt{gap:15px}.search-explained dt>bdi{width:46px;font-size:22px}.search-explained dt>span{font-size:17px}.search-explained dd{margin-inline-start:0;margin-inline-end:0;font-size:15px;line-height:1.8}.search-chart-surface{padding:23px 18px 21px}.search-chart-header{gap:12px}.search-chart-legend{gap:12px}.search-measurement{font-size:14px;margin:4px 0 0}.search-measurement>strong{font-size:18px}.search-copy>.inline-link{font-size:16px}}
@media(max-width:650px){.rep-preview-nav{padding-block:3cqw}.rep-preview-nav>span{font-size:1.9cqw}.rep-preview-nav>strong{font-size:1.9cqw}.rep-preview-nav>bdi{font-size:7cqw}.rep-preview-copy{top:12%;width:62%}.rep-preview-copy h3{font-size:10cqw}.rep-preview-copy>bdi{font-size:1.6cqw}.rep-preview-copy>span{font-size:2.2cqw}.rep-preview-copy>strong{font-size:2.4cqw;padding:2cqw 3cqw}.rep-preview-strip{font-size:3cqw;padding-block:3cqw}.rep-preview-strip bdi{font-size:1.7cqw}.rep-preview-mark{font-size:19cqw}}

/* Public service navigation, reusing the portfolio typography and colors. */
.service-title-link{color:inherit;text-decoration:none;display:inline-flex;align-items:baseline;gap:17px}.service-title-link>span{font-family:Arial,sans-serif;font-size:19px;transition:transform .2s}.service-title-link:hover>span{transform:translate(-3px,-3px)}.service-title-link:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.project-story-link{display:inline-flex;gap:14px;align-items:center;padding:12px 0 0;color:inherit;font-size:13px;line-height:1.5;text-decoration:none}.project-story-link:hover{text-decoration:underline;text-underline-offset:5px}
.footer-service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:35px 0;border-bottom:1px solid #4a5b40}.footer-service-links h3{font-family:Assistant,Arial,sans-serif;font-size:15px;font-weight:500;color:#cbd8bd;margin:0 0 13px}.footer-service-links a{display:block;width:fit-content;max-width:100%;font-size:14px;line-height:1.8;min-height:34px;padding:4px 0;color:#d3dfc7;text-decoration:none}.footer-service-links a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:650px){.footer-service-links{grid-template-columns:1fr 1fr;gap:26px 20px;padding:30px 0}.footer-service-links h3{font-size:14px}.footer-service-links a{font-size:14px;min-height:40px}.project-story-link{font-size:13px}}
@media(prefers-reduced-motion:reduce){.service-title-link>span{transition:none}.service-title-link:hover>span{transform:none}}

.pricing-detail-title{color:inherit;text-decoration:none}.pricing-detail-title:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
/* Let the work and copy carry the layout; remove repeated decorative markers. */
.project-copy{justify-content:center}.project-description li::before{content:none}.project-story-link{gap:0}.services-reading{border-top:0}.service-entry{border-bottom:0;padding-block:24px}.services-intro>p:last-of-type{color:#52614a}.service-entry>.service-copy{color:#52614a}.inline-link>.arrow-icon{display:none}.about-bio{padding-top:46px}.contact-answers article+article{border-top:0}.contact-answers article{padding-block:19px}.project-story-link{border-bottom:0;text-decoration:underline;text-underline-offset:6px}
@media(max-width:650px){.about-photo-column{display:block}.about-photo-column>.section-kicker{margin-bottom:26px}.about-portrait{width:min(320px,85%)}.about-bio{padding-top:0}.service-entry{padding-block:20px}.contact-answers article+article{border-top:0}}
/* Keep the original headline, but bring the work into the first screen. */
.hero.hero-with-work{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:'intro visual' 'title visual' 'actions visual' 'rule rule';gap:0 5%;padding-top:40px;min-height:0;padding-bottom:12px}.hero-with-work .hero-topline{grid-area:intro;margin:0 0 27px}.hero-with-work .intro-name{font-size:20px}.hero.hero-with-work h1{grid-area:title;font-size:clamp(70px,7.7vw,117px);line-height:1.06;letter-spacing:-.045em;align-self:start;margin:0}.hero-with-work .hero-bottom{grid-area:actions;display:block;margin:28px 0 0;align-self:start}.hero-with-work .hero-bottom>p{font-size:18px;line-height:1.8;max-width:40ch}.hero-with-work .hero-links{margin-top:26px;justify-content:start;gap:25px}.hero-with-work .hero-links .pill-button{background:var(--lime);color:#20271f;border-color:transparent;min-height:52px;padding:13px 24px;font-size:17px}.hero-with-work .hero-links .pill-button:hover{background:#b6e55e}.hero-with-work .quiet-link{font-size:14px}.hero-with-work .hero-rule{grid-area:rule;margin-top:34px;padding-top:18px;border-top:0;min-height:44px}.hero-with-work .opening-showcase{grid-area:visual;position:relative;width:100%;height:580px;min-height:0;max-height:none;align-self:stretch;border-radius:7px;overflow:hidden}.hero-with-work .opening-media{height:100%;width:100%}.hero-with-work .opening-image{object-position:50% center}.hero-with-work .opening-brand{top:25px;right:27px;left:27px;align-items:center}.hero-with-work .opening-brand bdi{font-size:29px}.hero-with-work .opening-brand>span{font-size:11px}.hero-with-work .opening-title{font-size:62px;top:100px;right:27px;text-shadow:0 1px 8px #0003}.hero-with-work .opening-title>span{font-size:17px;margin-top:7px}.hero-with-work .opening-phone{width:164px;height:332px;left:23px;top:auto;bottom:23px;border-width:5px;border-radius:28px;transform:rotate(-6deg);box-shadow:12px 16px 35px #0005}.hero-with-work .opening-play{bottom:58px;right:26px;left:auto;min-height:45px;padding:11px 16px;font-size:13px;gap:12px;backdrop-filter:blur(8px)}.hero-with-work .opening-play .arrow-icon{width:19px;height:19px}.hero-with-work .opening-caption{bottom:20px;right:27px;left:auto;border:0;padding:0;font-size:10px}.hero-with-work .opening-caption>bdi{display:none}
@media(min-width:1500px){.hero-with-work .opening-showcase{height:630px}.hero.hero-with-work{padding-top:48px}.hero-with-work .hero-bottom{margin-top:35px}.hero-with-work .hero-bottom>p{font-size:20px}.hero-with-work .opening-phone{width:194px;height:395px;bottom:25px;left:25px}.hero-with-work .opening-title{font-size:76px;top:110px}.hero-with-work .opening-play{font-size:15px;bottom:65px}}
@media(max-width:1100px){.hero.hero-with-work{gap:0 4%;padding-top:33px}.hero.hero-with-work h1{font-size:clamp(62px,7.7vw,84px)}.hero-with-work .intro-name{font-size:18px}.hero-with-work .hero-topline{margin-bottom:24px}.hero-with-work .hero-bottom>p{font-size:17px}.hero-with-work .opening-showcase{height:540px}.hero-with-work .opening-title{font-size:52px;right:23px;top:95px}.hero-with-work .opening-title>span{font-size:15px}.hero-with-work .opening-phone{width:144px;height:292px;left:17px;bottom:25px}.hero-with-work .opening-play{right:21px;bottom:57px;font-size:12px;gap:8px;padding-inline:12px}.hero-with-work .opening-caption{right:21px;font-size:9px}.hero-with-work .opening-brand{right:23px;left:23px}.hero-with-work .opening-brand>span{display:none}}
@media(max-width:760px){.hero.hero-with-work{display:flex;flex-direction:column;padding-top:28px;padding-bottom:0;gap:0;min-height:0}.hero-with-work .hero-topline{margin-bottom:19px;align-self:stretch}.hero-with-work .intro-name{font-size:18px}.hero.hero-with-work h1{font-size:clamp(58px,11.3vw,84px);line-height:1.04;letter-spacing:-.04em;align-self:stretch}.hero-with-work .hero-bottom{margin-top:22px;align-self:stretch}.hero-with-work .hero-bottom>p{font-size:17px;line-height:1.8;max-width:42ch}.hero-with-work .hero-links{margin-top:20px;gap:25px}.hero-with-work .hero-links .pill-button{font-size:16px;min-height:49px;padding-inline:22px}.hero-with-work .hero-rule{order:5;align-self:stretch;margin-top:15px;padding-top:5px;font-size:9px;min-height:39px}.hero-with-work .opening-showcase{margin-top:30px;height:460px;min-height:0;width:100%;align-self:stretch}.hero-with-work .opening-title{font-size:56px;top:83px}.hero-with-work .opening-title>span{font-size:17px}.hero-with-work .opening-brand bdi{font-size:26px}.hero-with-work .opening-phone{width:150px;height:305px;bottom:17px;left:19px}.hero-with-work .opening-play{bottom:51px;right:21px;font-size:12px}.hero-with-work .opening-caption{right:22px;bottom:17px}.hero-with-work .opening-phone .moment-preview{height:100%}}
@media(max-width:400px){.hero.hero-with-work h1{font-size:clamp(49px,13.8vw,56px)}.hero-with-work .hero-bottom>p{font-size:16px}.hero-with-work .opening-showcase{height:420px}.hero-with-work .opening-title{font-size:45px;right:20px}.hero-with-work .opening-phone{width:134px;height:277px;left:16px;bottom:16px}.hero-with-work .opening-play{font-size:11px;padding-inline:11px;right:17px;gap:7px}.hero-with-work .opening-caption{font-size:8px;right:18px}.hero-with-work .opening-brand{right:20px;left:20px}.hero-with-work .hero-links .pill-button{font-size:15px}}
@media(prefers-reduced-motion:reduce){.hero-with-work .opening-phone{transform:none}}
