/* Release one: editorial work, transparent packages, accessible enquiry. */
:root { --fg-2: #bab8b5; --fg-3: #a4a29f; --fg-4: #92918d; }
[data-theme="light"] { --fg-2:#55534d; --fg-3:#65625b; --fg-4:#6c695f; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
:where(a,button,summary):focus-visible { outline:2px solid var(--gold-lite); outline-offset:5px; }
:where(.input,.select,.textarea) { font-size:16px; }
.field__label { text-transform:none; letter-spacing:0; font-size:.9rem; color:var(--fg-2); }
.hero__title { max-width:12ch; font-size:clamp(3.1rem,6.4vw,6.2rem); line-height:1.02; }
.hero__lead { max-width:48ch; }
.hero-proof { margin-top:24px; border:1px solid var(--line-2); border-radius:18px; overflow:hidden; background:var(--ink-3); }
.hero-proof picture { display:block; aspect-ratio:8/5; }
.hero-proof img { width:100%; height:100%; object-fit:contain; }
.hero-proof a>span { display:grid; grid-template-columns:1fr auto; gap:5px 12px; padding:20px 24px; font-size:.8rem; color:var(--fg-2); }
.hero-proof strong { grid-column:1; font-size:1.12rem; color:var(--fg); font-weight:500; }
.hero-proof svg { grid-column:2; grid-row:1/3; align-self:center; width:22px; }
.project-showcase { display:grid; gap:clamp(48px,7vw,100px); }
.project-feature { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:clamp(24px,4vw,60px); align-items:center; }
.project-feature:nth-child(even) { grid-template-columns:minmax(0,1fr) minmax(0,1.65fr); }
.project-feature:nth-child(even) .project-feature__image { order:2; }
.project-feature__image { display:block; aspect-ratio:8/5; background:var(--ink-3); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.project-feature__image picture,.project-feature__image img { display:block; width:100%; height:100%; object-fit:contain; }
.project-feature__body { display:grid; gap:20px; min-width:0; }
.project-feature__category { display:flex; flex-wrap:wrap; gap:16px; color:var(--fg-3); font-size:.85rem; }
.project-feature__category span { margin-left:auto; }
.project-feature h3 { font-size:clamp(1.7rem,3vw,2.65rem); letter-spacing:-.04em; line-height:1.1; }
.project-feature__links { display:flex; gap:12px 24px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:18px; font-size:.9rem; }
.project-feature__links a { min-height:44px; }
.project-showcase--compact { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.project-showcase--compact .project-feature { grid-template-columns:minmax(0,1fr); align-content:start; gap:24px; }
.project-showcase--compact .project-feature__image { order:0; }
.project-showcase--compact h3 { font-size:clamp(1.6rem,2.6vw,2.25rem); }
.collection-nav { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:42px; }
.collection-nav a { display:inline-flex; align-items:center; gap:14px; padding:12px 18px; border:1px solid var(--line-2); border-radius:30px; min-height:44px; }
.collection-nav span { color:var(--fg-3); }
.portfolio-intro .pagehead__title { font-size:clamp(2.65rem,5.3vw,5.2rem); max-width:15ch; }
.portfolio-intro .person__media { max-width:420px; justify-self:end; width:100%; border-radius:180px 180px 18px 18px; }
.decision { border-top:1px solid var(--line-2); padding-top:20px; display:grid; align-content:start; gap:18px; }
.decision>span { color:var(--gold-lite); font-size:.85rem; }
.decision .lead { font-size:clamp(1.1rem,1.6vw,1.35rem); }
.pricing-intro__grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:clamp(32px,6vw,80px); align-items:center; }
.pricing-intro .pagehead__title { font-size:clamp(2.9rem,5.5vw,5.4rem); margin:20px 0 28px; }
.pricing-guide { border-block:1px solid var(--line-2); padding:28px 0; }
.pricing-guide>a { display:grid; grid-template-columns:1fr auto; gap:5px 14px; padding:22px 0; border-bottom:1px solid var(--line); }
.pricing-guide>a:last-child { border:0; padding-bottom:0; }
.pricing-guide strong { font-size:1.2rem; font-weight:500; }
.pricing-guide span { grid-column:1; color:var(--fg-2); font-size:.95rem; }
.pricing-guide svg { width:20px; grid-column:2; grid-row:1/3; align-self:center; }
.pricing-tabs { gap:10px; }
.pricing-panel__intro { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.plan--compare { border-radius:16px; gap:24px; padding:28px; }
.plan--compare:hover { transform:none; }
.plan--compare .plan__fit { min-height:3.5em; font-size:.93rem; line-height:1.5; color:var(--fg-2); margin-bottom:20px; }
.plan--compare .plan__amount { font-size:clamp(1.55rem,2.25vw,2.15rem); line-height:1.2; }
.plan--compare .checklist { min-height:150px; align-content:start; }
.plan__facts { display:grid; gap:12px; border-block:1px solid var(--line); padding:16px 0; font-size:.9rem; }
.plan__facts>div { display:flex; gap:12px; justify-content:space-between; }
.plan__facts dt { color:var(--fg-2); }
.plan__facts dd { text-align:right; max-width:55%; }
.plan__details { font-size:.9rem; line-height:1.65; }
.plan__details summary { cursor:pointer; min-height:44px; padding:10px 0; font-weight:500; }
.plan__details p { color:var(--fg-2); margin-top:12px; }
.pricing-proof { display:grid; grid-template-columns:160px minmax(0,1fr) 24px; gap:24px; align-items:center; margin-top:32px; border-block:1px solid var(--line); padding:24px 0; }
.pricing-proof picture { display:block; }
.pricing-proof img { aspect-ratio:8/5; object-fit:contain; border-radius:8px; }
.pricing-proof>span { display:grid; gap:8px; }
.pricing-proof strong { font-weight:500; font-size:1.15rem; }
.pricing-proof span>span:last-child { color:var(--fg-2); font-size:.9rem; }
.pricing-proof svg { width:24px; }
.scope-note { margin-top:32px; padding:26px 0; border-top:1px solid var(--line-2); display:grid; gap:14px; max-width:85ch; color:var(--fg-2); }
.scope-note h3,.scope-note h4 { color:var(--fg); }
.agreement-grid article { display:grid; gap:16px; align-content:start; border-top:1px solid var(--line-2); padding-top:24px; }
.agreement-grid p { color:var(--fg-2); }
.brief-selection { border:1px solid var(--line-3); border-radius:12px; padding:20px; background:var(--fill-2); display:grid; gap:12px; }
.brief-review { border:1px solid var(--line-2); padding:24px; border-radius:14px; display:grid; gap:20px; }
.brief-review pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:.93rem; color:var(--fg-2); max-height:340px; overflow:auto; }
.brief-review .row a,.brief-review .row button { min-height:44px; }
.brief-error { color:#ffafac; }
.form .field__label .muted { font-size:.8rem; }
.lb-btn { width:44px; height:44px; }
.lightbox { height:100dvh; }
.lightbox__info,.lightbox__frame { min-width:0; }
.lightbox__info { overflow-wrap:anywhere; }
.inquiry__item { min-height:60px; }
@media (min-width:981px) { .plan--compare { grid-template-rows:auto auto 1fr auto auto; } }
@media (max-width:980px) {
 .pricing-intro__grid { grid-template-columns:1fr; }
 .plan--compare .checklist { min-height:0; }
 .plan--compare .plan__fit { min-height:0; }
}
@media (max-width:760px) {
 .project-feature,.project-feature:nth-child(even),.project-showcase--compact { grid-template-columns:minmax(0,1fr); }
 .project-feature:nth-child(even) .project-feature__image { order:0; }
 .project-feature__body { gap:14px; }
 .project-showcase { gap:52px; }
 .hero-proof { margin-top:12px; }
 .portfolio-intro .person__media { justify-self:center; max-width:320px; }
 .pricing-proof { grid-template-columns:92px minmax(0,1fr); gap:16px; }
 .pricing-proof>svg { display:none; }
 .pricing-proof .eyebrow { font-size:.7rem; }
 .pricing-tabs { flex-wrap:nowrap; overflow:auto; padding:8px 4px 16px; scroll-padding-inline:12px; }
 .pricing-tabs .chip { flex:none; }
 .plan--compare { padding:24px; }
 .plan--compare .plan__amount { font-size:1.85rem; }
 .brief-review { padding:18px; }
 .brief-review .row { display:grid; }
 .brief-review .row>* { width:100%; justify-content:center; }
 .lightbox__stage { padding-bottom:20px; }
 .lightbox__frame { height:auto; }
}
/* Keep floating controls clear of form typing and modal navigation. */
body:has(input:focus,textarea:focus,select:focus) .fabs,
body:has(.lightbox.is-open,.drawer.is-open) .fabs { visibility:hidden; }
@media (prefers-reduced-motion:reduce) {
 .project-feature *, .hero-proof * { transition:none!important; }
}

[data-theme="light"] .seg__btn[aria-pressed="true"] { color:#f4f1ea; }

.case-responsive {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:60px;align-items:center}.case-phone{max-width:310px;justify-self:center;margin:0}.case-phone picture{display:block;border:8px solid var(--ink-4);border-radius:30px;overflow:hidden;box-shadow:var(--shadow-lg)}.case-phone img{display:block;width:100%;height:auto}.case-phone figcaption{font-size:.8rem;color:var(--fg-3);text-align:center;margin-top:16px}@media(max-width:760px){.case-responsive{grid-template-columns:1fr;gap:32px}.case-phone{max-width:280px}}
body:has(form:focus-within, .brief-review:not([hidden])) .fabs { visibility:hidden; }
html { scroll-padding-bottom:90px; }

/* Keep installed-app controls clear of home indicators and display cutouts. */
.fabs {
  right: max(clamp(14px, 2.4vw, 26px), env(safe-area-inset-right));
  bottom: calc(clamp(14px, 2.4vw, 26px) + env(safe-area-inset-bottom));
}
/* Match artwork cards: edge-to-edge screenshots with readable overlay captions. */
.reel__card--ui { padding: 0; }
.reel__card--ui > picture { display: block; }
.reel__card--ui img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  border-radius: 0;
}
.reel__label { background: linear-gradient(transparent, rgba(8,8,11,.94)); }
@media (max-width: 860px) {
  .reel__label { font-size: .72rem; }
  .reel__client { font-size: .8rem; }
  .reel__card { will-change: auto; }
}

/* Preserve the complete wide e-commerce interface without stretching it. */
.reel__card--contain img { object-fit: contain; object-position: center; }
