/* All face artwork shares a 680-unit rig; only its outer uniform scale is responsive. */
.card, .card-action__pose { position: absolute; left: 0; top: 0; width: 680px; height: 680px; margin: 0; perspective: 1500px; perspective-origin: center; transform-origin: 0 0; pointer-events: none; }
.card { display: none; z-index: var(--layer-card); }
.is-enhanced .card { display: block; }
.card__rig, .card-action__rig { position: relative; width: 680px; height: 680px; transform-style: preserve-3d; transform-origin: 340px 340px; }
.card__surface, .card__edge, .card__dark, .card__shine { position: absolute; inset: 0; clip-path: inset(55px 100px 55px 100px round 4px); }
.card__surface { background: var(--paper); transform: translateZ(0); }
.card__outline { position: absolute; inset: 0; border: 1px solid var(--paper-highlight); border-radius: 5px; transform: scale(.706, .838); transform-origin: center; pointer-events: none; }
.card__edge { background: var(--paper-edge); transform: translate3d(1px, 3px, -2px); }
.card__dark { background: linear-gradient(130deg, var(--document-light), var(--document)); opacity: 0; transform: translateZ(.5px); }
.card__shadow { position: absolute; inset: 0; background: var(--paper-shadow); border-radius: 9px; box-shadow: 0 36px 75px -12px var(--paper-shadow), 0 9px 28px -10px var(--paper-shadow); transform: translate3d(10px, 27px, -28px) scale(.706, .84); }
.card__shine { z-index: 3; pointer-events: none; background: linear-gradient(132deg, rgb(255 254 249 / 18%), transparent 33%, transparent 66%, rgb(255 254 249 / 10%)); opacity: .6; transform: translateZ(5px); }
.card__face { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: translateZ(2px); transform-style: preserve-3d; pointer-events: none; color: var(--paper-ink); }
.card__face--introduction { transform: translateZ(2px); }
.photograph { position: absolute; overflow: hidden; background: var(--surface); box-shadow: inset 0 0 0 1px var(--edge-soft); }
.photograph img { width: 100%; height: 100%; object-fit: cover; }
.photograph--hero { left: 117px; top: 72px; width: 446px; height: 452px; }
.photograph--hero img { object-position: 50% 54%; }
.photograph__mat { position: absolute; inset: 0; box-shadow: inset 0 1px 3px var(--paper-shadow); pointer-events: none; }
.card__caption { position: absolute; top: 544px; left: 123px; right: 123px; }
.card__caption-title { display: block; font: 500 20px/1.2 var(--font-display); letter-spacing: -.025em; }
.card__caption-note { display: block; margin-top: 10px; color: var(--paper-soft); font-size: 9px; letter-spacing: .06em; }
.card__caption-title--mobile { display: none; }
.card, .card-action {
  --hero-action-height: calc(48px / var(--hero-scale, .5));
  --hero-action-width: calc(114px / var(--hero-scale, .5));
  --hero-caption-padding: calc(10px / var(--hero-scale, .5));
  --hero-caption-gap: calc(10px / var(--hero-scale, .5));
  --hero-caption-height: max(101px, calc(68px / var(--hero-scale, .5)));
}
.card-action__link { --ink: var(--paper-ink); position: absolute; right: calc(100px + var(--hero-caption-padding)); bottom: calc(55px + var(--hero-caption-padding)); width: var(--hero-action-width); height: var(--hero-action-height); min-height: var(--hero-action-height); padding: calc(10px / var(--hero-scale, .5)) calc(12px / var(--hero-scale, .5)); border-width: calc(1px / var(--hero-scale, .5)); font-size: calc(clamp(14px, 3.9vw, 16px) / var(--hero-scale, .5)); text-decoration-thickness: calc(1px / var(--hero-scale, .5)); transform: translateZ(2px); pointer-events: auto; }
.card-action__link:focus-visible { outline: calc(3px / var(--hero-scale, .5)) solid var(--paper-accent); outline-offset: calc(2px / var(--hero-scale, .5)); }
.card-action__link:active:not(:disabled) { transform: translateZ(2px); }
.card__caption-mark { position: absolute; right: -1px; top: 8px; height: 34px; width: 34px; color: var(--paper-accent); }

.folio__head, .folio__foot { position: absolute; left: 49px; right: 49px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.folio__head { top: 129px; font-size: 9px; letter-spacing: .04em; color: var(--paper-soft); }
.photograph--folio { top: 158px; left: 49px; width: 582px; height: 331px; }
.photograph--folio img { object-position: 50% 65%; }
.folio__tracing { position: absolute; inset: 0; overflow: hidden; background: var(--trace-ground); clip-path: inset(0 100% 0 0); }
.folio__tracing-grid { position: absolute; inset: 0; background-image: linear-gradient(var(--grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px); background-size: 25px 25px; }
.folio__tracing img { position: absolute; inset: 0; filter: grayscale(1) brightness(.34); }
.folio__tracing-label { position: absolute; left: 16px; bottom: 13px; padding: 4px 7px; border-radius: 2px; background: var(--trace-ground); color: var(--trace-ink); font-size: 9px; letter-spacing: .025em; }
.folio__scan { position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: var(--trace-ink); opacity: .8; }
.folio__foot { top: 512px; align-items: baseline; }
.folio__foot > span:first-child { font: 500 18px/1.2 var(--font-display); letter-spacing: -.025em; }
.folio__foot > span:last-child { font-size: 7px; letter-spacing: .06em; color: var(--paper-soft); }

.materials__head { position: absolute; top: 106px; left: 80px; right: 80px; display: flex; justify-content: space-between; align-items: baseline; gap: 20px; }
.materials__head > span:first-child { font-size: 9px; letter-spacing: .04em; color: var(--paper-soft); }
.materials__head > span:last-child { font: 500 18px/1.2 var(--font-display); letter-spacing: -.025em; }
.specimen { position: absolute; left: 100px; top: 200px; width: 176px; height: 296px; background: var(--paper); padding: 6px; transform-style: preserve-3d; box-shadow: 0 14px 26px -8px var(--paper-shadow), 0 3px 5px -2px var(--paper-shadow); }
.specimen--texture { left: 252px; top: 190px; }.specimen--contrast { left: 405px; top: 204px; }
.specimen img { width: 164px; height: 232px; object-fit: cover; }
.specimen--warmth img { object-position: 72% center; }
.specimen--contrast { background: var(--document); color: var(--document-ink); }
.specimen__edge { position: absolute; inset: 0; border: 1px solid var(--paper-highlight); box-shadow: inset 0 1px 2px var(--paper-highlight); pointer-events: none; }
.specimen__label { padding: 12px 6px 0; }
.specimen__label span { display: block; font-size: 13px; line-height: 1.1; font-weight: 500; }
.specimen__label small { display: block; font-size: 7px; line-height: 1.2; letter-spacing: .07em; opacity: .85; margin-top: 8px; }
.materials__foot { position: absolute; top: 556px; left: 80px; right: 80px; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.materials__foot > span:first-child { font: 500 17px/1.2 var(--font-display); letter-spacing: -.025em; }
.materials__foot > span:last-child { font-size: 7px; letter-spacing: .06em; color: var(--paper-soft); }

.card__face--consulting { color: var(--document-ink); }
.report { position: absolute; left: 115px; top: 60px; width: 450px; height: 560px; padding: 32px 34px; display: flex; flex-direction: column; gap: 20px; }
.report__head { color: var(--document-soft); font-size: 16px; line-height: 1.4; }
.report__title { font: 500 56px/1.08 var(--font-display); letter-spacing: -.04em; }
.report__title .text-accent { color: var(--document-accent); }
.report__scope { margin: 0; border-top: 1px solid var(--document-rule); }
.report__scope > div { display: grid; gap: 4px; padding: 12px 0; border-bottom: 1px solid var(--document-rule); }
.report__scope dt { font-size: 24px; line-height: 1.25; font-weight: 500; }
.report__scope dd { margin: 0; font-size: 17px; line-height: 1.4; color: var(--document-soft); }
.report__foot { margin-top: auto; font-size: 14px; line-height: 1.4; color: var(--document-soft); }

.correspondence { position: absolute; left: 70px; top: 165px; width: 540px; height: 350px; display: flex; flex-direction: column; align-items: center; justify-content: center; background-image: radial-gradient(ellipse at 50% 0, var(--paper-highlight), transparent 75%); }
.correspondence::before { content: ""; position: absolute; inset: 13px; border: 1px solid var(--edge-soft); pointer-events: none; }
.correspondence__mark { width: 46px; height: 46px; color: var(--paper-accent); }
.correspondence__brand { color: var(--paper-accent); font-size: 22px; line-height: 1; letter-spacing: -.055em; margin-top: 7px; }
.correspondence__brand .mark__dot { color: var(--paper-accent); }
.correspondence__line { margin: 22px 0 21px; font: 500 26px/1.2 var(--font-display); letter-spacing: -.025em; }
.correspondence__email { margin-top: 16px; font-size: 11px; letter-spacing: 0; color: var(--paper-soft); }
.card__contact { pointer-events: auto; font-size: 13px; min-height: 54px; gap: 30px; padding-left: 25px; }
.card__contact:focus-visible { outline-color: var(--paper-accent); outline-offset: 6px; }
.card__face[inert] .card__contact { pointer-events: none; }

.photograph[data-failed]::after { content: "Architectural image unavailable"; position: absolute; left: 16px; right: 16px; bottom: 16px; padding: 10px; background: var(--paper); color: var(--paper-ink); font: 500 12px/1.4 var(--font-text); }
img[data-failed] { opacity: 0; }
.specimen:has(img[data-failed]) { background: var(--surface); }
@media (max-width: 799px) {
  .photograph--hero { height: calc(553px - var(--hero-caption-height)); }
  .card__caption { top: auto; bottom: calc(55px + var(--hero-caption-padding)); left: calc(100px + var(--hero-caption-padding)); right: calc(100px + var(--hero-caption-padding) + var(--hero-action-width) + var(--hero-caption-gap)); height: var(--hero-action-height); display: flex; align-items: flex-start; justify-content: center; flex-direction: column; }
  .card__caption-title:not(.card__caption-title--mobile), .card__caption-note { display: none; }
  .card__caption-title--mobile { display: block; font-size: calc(13px / var(--hero-scale, .5)); line-height: 1.3; }
  .report { justify-content: center; gap: 24px; }
  .report__head, .report__foot, .report__scope dd { display: none; }
  .report__title { font-size: max(56px, calc(20px / var(--card-scale, .5))); }
  .report__scope dt { font-size: max(26px, calc(14px / var(--card-scale, .5))); }
  .report__scope > div { padding-block: 16px; }
  .card__contact { min-height: max(54px, calc(44px / var(--card-scale, .5))); font-size: max(13px, calc(11px / var(--card-scale, .5))); }
  .card__contact .button__icon { width: max(38px, calc(27px / var(--card-scale, .5))); height: max(38px, calc(27px / var(--card-scale, .5))); }
  .card__contact .button__icon svg { width: 22px; height: 22px; }
}
@media (prefers-reduced-motion: reduce) { html:not([data-view-choice="animated"]) .card { display: none !important; } }
