/* Canonical component styles. Presentation values come from the presentation registry. */
*,*::before,*::after {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px
}
body {
  margin:0;
  color:var(--av-color-ink);
  background:var(--av-color-canvas);
  font:16px/1.6 var(--av-type-family);
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea,summary {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
button:disabled {
  cursor:not-allowed;
  opacity:.55
}
img,video {
  display:block;
  max-width:100%
}
h1,h2,h3,p,figure {
  margin:0
}
h1,h2,h3 {
  line-height:1.06
}
h3 {
  font-size:24px;
  letter-spacing:-.6px
}
p+p {
  margin-top:var(--av-space-sm)
}
[hidden] {
  display:none!important
}
a:hover {
  text-decoration:underline;
  text-underline-offset:5px
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible {
  outline:3px solid var(--av-color-focus);
  outline-offset:4px;
  box-shadow:0 0 0 2px var(--av-color-canvas)
}
p,li,dd {
  overflow-wrap:anywhere
}
.av-icon {
  width:20px;
  height:20px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:square;
  stroke-linejoin:miter
}
.av-frame {
  width:min(100% - clamp(48px,8vw,128px),var(--av-layout-max));
  margin-inline:auto
}
.av-section {
  padding-block:var(--av-space-section)
}
.av-section--first {
  padding-top:0
}
.av-dark {
  background:var(--av-color-ink);
  color:var(--av-color-inverse)
}
.av-surface {
  background:var(--av-color-surface)
}
.av-dark p {
  color:var(--av-color-inverse-muted)
}
.av-display {
  font-size:clamp(48px,7.8vw,112px);
  letter-spacing:-.065em;
  line-height:.94;
  font-weight:700;
  text-wrap:balance
}
.av-title {
  font-size:clamp(32px,4.2vw,64px);
  letter-spacing:-.05em;
  line-height:1.05;
  text-wrap:balance
}
.av-lead {
  font-size:clamp(18px,1.6vw,23px);
  line-height:1.5;
  max-width:38em
}
.av-eyebrow {
  font-family:var(--av-type-mono);
  font-size:12px;
  line-height:1.5;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:var(--av-space-md)
}
.av-caption {
  font-size:13px;
  color:var(--av-color-muted);
  line-height:1.6;
  margin-block:var(--av-space-sm)
}
.av-caption a {
  text-decoration:underline
}
.av-image {
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover
}
.av-button {
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  min-height:var(--av-control-height);
  padding:17px 24px;
  background:var(--av-color-ink);
  border:1px solid var(--av-color-ink);
  color:var(--av-color-inverse);
  font-weight:700;
  font-size:15px;
  line-height:1.3;
  border-radius:var(--av-shape-radius);
  text-align:left;
  transition:background .18s,color .18s
}
.av-button:hover {
  background:var(--av-color-muted);
  border-color:var(--av-color-muted);
  text-decoration:none
}
.av-button--secondary {
  background:transparent;
  color:var(--av-color-ink)
}
.av-button--secondary:hover {
  background:var(--av-color-surface);
  border-color:var(--av-color-ink)
}
.av-button--inverse {
  background:var(--av-color-canvas);
  color:var(--av-color-ink);
  border-color:var(--av-color-canvas)
}
.av-button--inverse:hover {
  background:var(--av-color-line)
}
.av-text-button {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  background:none;
  color:inherit;
  border:0;
  padding:8px 0;
  text-align:left;
  text-decoration:underline;
  text-underline-offset:5px
}
.av-inline-link {
  display:inline-flex;
  gap:24px;
  align-items:center;
  min-height:48px;
  text-decoration:underline;
  text-underline-offset:5px
}
.av-actions {
  display:flex;
  flex-wrap:wrap;
  gap:16px
}
.av-skip {
  position:fixed;
  top:-100px;
  left:24px;
  z-index:100;
  padding:16px;
  background:white;
  color:#121212
}
.av-skip:focus {
  top:10px
}
.av-preview {
  background:var(--av-color-surface);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:8px clamp(24px,4vw,64px);
  font-size:12px;
  border-bottom:1px solid var(--av-color-line);
  min-height:42px
}
.av-preview>a {
  display:flex;
  align-items:center;
  gap:8px
}
.av-preview>a .av-icon {
  width:14px;
  transform:rotate(180deg)
}
.av-preview-control {
  display:flex;
  gap:8px;
  align-items:center
}
.av-preview .av-text-button {
  font-size:12px;
  min-height:28px;
  padding:0
}
.av-preview input {
  width:16px;
  height:16px
}
.av-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:22px clamp(24px,4vw,64px);
  background:var(--av-color-ink);
  color:var(--av-color-inverse);
  position:relative;
  z-index:10
}
.av-brand {
  display:block;
  flex:none;
  width:130px
}
.av-brand img {
  width:100%;
  height:auto;
  aspect-ratio:1500/838;
  object-fit:contain
}
.av-nav {
  display:flex;
  gap:28px;
  align-items:center;
  margin-left:auto;
  font-size:14px
}
.av-nav a {
  padding-block:14px
}
.av-nav [aria-current] {
  text-decoration:underline;
  text-underline-offset:7px
}
.av-header-actions {
  display:flex;
  gap:24px;
  align-items:center
}
.av-header .av-button {
  color:var(--av-color-ink);
  background:var(--av-color-canvas);
  border-color:var(--av-color-canvas)
}
.av-bag {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:48px;
  gap:6px
}
.av-bag span {
  font:12px var(--av-type-mono)
}
.av-mobile-menu {
  display:none
}
.av-mobile-menu summary {
  min-height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  list-style:none
}
.av-mobile-menu summary::-webkit-details-marker {
  display:none
}
.av-mobile-menu nav {
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:var(--av-color-ink);
  padding:12px 24px 32px;
  display:flex;
  flex-direction:column;
  border-top:1px solid var(--av-color-muted)
}
.av-mobile-menu nav a {
  font-size:24px;
  padding:12px 0
}
.av-intro {
  padding-block:var(--av-space-xl)
}
.av-breadcrumb {
  display:flex;
  gap:12px;
  font-size:12px;
  color:var(--av-color-muted);
  margin-bottom:48px
}
.av-intro-bottom {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-top:32px
}
.av-intro-bottom p {
  max-width:670px
}
.av-section-heading {
  display:flex;
  justify-content:space-between;
  gap:48px;
  align-items:flex-end;
  margin-bottom:48px
}
.av-section-heading>div {
  max-width:780px
}
.av-section-heading>p {
  max-width:320px;
  color:var(--av-color-muted)
}
.av-home-hero {
  color:white;
  position:relative;
  background:var(--av-color-ink);
  min-height:720px;
  isolation:isolate
}
.av-home-media {
  position:absolute;
  inset:0;
  z-index:-1;
  overflow:hidden
}
.av-home-media::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.13)),linear-gradient(0deg,rgba(0,0,0,.64),transparent 35%)
}
.av-home-media img,.av-home-media video {
  height:100%;
  width:100%;
  object-fit:cover
}
.av-home-media video {
  position:absolute;
  inset:0
}
.av-home-copy {
  padding-top:72px;
  padding-bottom:100px
}
.av-home-copy .av-display {
  font-size:clamp(64px,8.8vw,126px)
}
.av-home-copy>p:not(.av-eyebrow) {
  margin-top:32px;
  font-size:18px;
  line-height:1.6
}
.av-home-copy>.av-button {
  margin-top:32px
}
.av-home-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-bottom:24px;
  font-size:13px
}
.av-home-bottom>span {
  font-family:var(--av-type-mono)
}
.av-service-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px
}
.av-service-card p {
  color:var(--av-color-muted);
  margin-top:16px
}
.av-service-card img {
  aspect-ratio:4/3
}
.av-card-heading {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  margin-top:24px
}
.av-card-heading .av-icon {
  margin-top:5px
}
.av-card-heading h2 {
  font-size:28px;
  letter-spacing:-.8px
}
.av-card-heading .av-eyebrow {
  margin-bottom:12px;
  color:var(--av-color-muted)
}
.av-card-heading h3 {
  font-size:26px
}
.av-feature {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:stretch
}
.av-feature>.av-image {
  height:100%;
  min-height:530px
}
.av-feature>div {
  padding:72px clamp(32px,5vw,80px);
  align-self:center
}
.av-feature p:not(.av-eyebrow) {
  margin-block:24px;
  max-width:30em
}
.av-work-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:48px 32px
}
.av-work-item img {
  aspect-ratio:16/10
}
.av-work-item a:hover {
  text-decoration:none
}
.av-work-item a:hover h2 {
  text-decoration:underline;
  text-underline-offset:7px
}
.av-invitation {
  padding-block:72px
}
.av-invitation>.av-frame {
  display:flex;
  gap:48px;
  align-items:center;
  justify-content:space-between
}
.av-invitation .av-button {
  flex:none
}
.av-invitation p:not(.av-eyebrow) {
  margin-top:20px
}
.av-footer {
  background:var(--av-color-ink);
  color:var(--av-color-inverse);
  padding-block:64px 24px;
  border-top:1px solid #ffffff35;
  font-size:14px
}
.av-footer-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr .6fr;
  gap:48px
}
.av-footer h2 {
  font-size:13px;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-bottom:24px
}
.av-footer p,.av-footer address {
  font-style:normal;
  color:var(--av-color-inverse-muted)
}
.av-footer .av-brand {
  width:160px;
  margin-bottom:24px
}
.av-footer a:not(.av-brand) {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:36px;
  overflow-wrap:anywhere
}
.av-footer p {
  margin-top:16px
}
.av-footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid #ffffff35;
  margin-top:48px;
  padding-top:24px;
  font-size:12px;
  color:var(--av-color-inverse-muted)
}
.av-split-hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:660px;
  background:var(--av-color-surface)
}
.av-split-copy {
  padding:64px clamp(24px,4vw,64px);
  align-self:center
}
.av-split-copy .av-display {
  font-size:clamp(46px,5.7vw,86px)
}
.av-split-copy>.av-lead {
  margin-block:32px
}
.av-split-hero>img {
  height:100%;
  min-height:660px
}
.av-editorial-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px
}
.av-editorial-grid>div>.av-button {
  margin-top:24px
}
.av-benefit-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  margin-top:72px
}
.av-benefit-grid article {
  border-top:1px solid var(--av-color-line);
  padding-top:24px
}
.av-number {
  font:13px var(--av-type-mono);
  display:block;
  margin-bottom:40px;
  color:var(--av-color-muted)
}
.av-benefit-grid h3 {
  margin-bottom:16px
}
.av-benefit-grid p {
  color:var(--av-color-muted)
}
.av-steps {
  list-style:none;
  counter-reset:steps;
  padding:0;
  margin:0
}
.av-steps li {
  counter-increment:steps;
  position:relative;
  padding:0 0 32px 48px;
  border-bottom:1px solid #ffffff35;
  margin-bottom:32px
}
.av-steps li::before {
  content:'0' counter(steps);
  font:12px var(--av-type-mono);
  position:absolute;
  left:0;
  top:4px;
  color:var(--av-color-inverse-muted)
}
.av-steps p {
  margin-top:12px
}
.av-steps li:last-child {
  margin-bottom:0
}
.av-steps--horizontal {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px
}
.av-faq {
  border-top:1px solid var(--av-color-line)
}
.av-faq details {
  border-bottom:1px solid var(--av-color-line)
}
.av-faq summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 0;
  font-size:18px;
  font-weight:700
}
.av-faq summary::-webkit-details-marker {
  display:none
}
.av-faq details[open] summary .av-icon {
  transform:rotate(45deg)
}
.av-faq details>p {
  padding:0 40px 24px 0;
  color:var(--av-color-muted)
}
.av-table-wrap {
  overflow-x:auto
}
.av-table {
  width:100%;
  border-collapse:collapse;
  text-align:left
}
.av-table caption {
  text-align:left;
  font-size:13px;
  margin-bottom:16px
}
.av-table th,.av-table td {
  padding:24px 16px 24px 0;
  border-bottom:1px solid var(--av-color-line);
  vertical-align:top
}
.av-table thead th {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em
}
.av-filter-bar {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  border-block:1px solid var(--av-color-line);
  padding-block:12px
}
.av-filter {
  border:1px solid transparent;
  background:none;
  min-height:48px;
  padding:10px 20px;
  color:var(--av-color-ink)
}
.av-filter[aria-pressed=true] {
  background:var(--av-color-ink);
  color:var(--av-color-inverse)
}
.av-filter:hover {
  border-color:var(--av-color-ink)
}
.av-result-count {
  font:12px var(--av-type-mono);
  margin-block:24px
}
.av-empty {
  text-align:center;
  padding:96px 24px;
  border-block:1px solid var(--av-color-line)
}
.av-empty h2 {
  font-size:36px;
  letter-spacing:-1px
}
.av-empty p {
  margin-block:20px 32px
}
.av-story-meta {
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin-top:40px;
  font-size:14px
}
.av-story-cover img {
  aspect-ratio:16/8;
  object-fit:cover
}
.av-story-cover figcaption {
  font-size:12px;
  padding:16px clamp(24px,4vw,64px);
  color:var(--av-color-muted)
}
.av-next-story {
  display:flex;
  justify-content:space-between;
  gap:32px;
  border-top:1px solid var(--av-color-line);
  padding-block:48px
}
.av-next-story>a {
  font-size:24px;
  font-weight:700;
  display:flex;
  align-items:center;
  gap:24px
}
.av-wide-photo img {
  aspect-ratio:16/7
}
.av-team-feature {
  display:grid;
  grid-template-columns:.8fr 1fr;
  align-items:center;
  gap:96px
}
.av-team-feature>img {
  aspect-ratio:4/5;
  max-height:650px;
  object-position:center 25%
}
.av-team-feature .av-lead {
  margin-block:24px
}
.av-team-feature .av-button {
  margin-top:32px
}
.av-art-hero>img {
  object-fit:contain;
  padding:40px;
  background:white
}
.av-info-list {
  margin:32px 0
}
.av-info-list>div {
  display:grid;
  grid-template-columns:130px 1fr;
  gap:24px;
  border-top:1px solid var(--av-color-line);
  padding-block:20px
}
.av-info-list dt {
  font-size:13px;
  color:var(--av-color-muted)
}
.av-info-list dd {
  margin:0
}
.av-info-list a {
  text-decoration:underline;
  text-underline-offset:4px
}
.av-form-layout {
  display:grid;
  grid-template-columns:.8fr 1.3fr;
  gap:100px
}
.av-form-layout aside>h2 {
  font-size:30px;
  letter-spacing:-1px;
  margin-bottom:24px
}
.av-form-layout aside>p {
  max-width:28em
}
.av-form fieldset {
  border:0;
  padding:0;
  margin:0 0 32px;
  min-width:0
}
.av-form legend {
  font:13px var(--av-type-mono);
  border-top:1px solid var(--av-color-line);
  padding:24px 0;
  width:100%;
  text-transform:uppercase;
  letter-spacing:.05em
}
.av-form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.av-field {
  min-width:0
}
.av-field label {
  display:block;
  font-size:14px;
  font-weight:700;
  margin-bottom:8px
}
.av-field input,.av-field select,.av-field textarea,.av-cart-line select {
  display:block;
  min-height:48px;
  width:100%;
  border:1px solid var(--av-color-control-border);
  background:var(--av-color-canvas);
  color:var(--av-color-ink);
  padding:12px;
  border-radius:0
}
.av-field textarea {
  resize:vertical
}
.av-field small {
  display:block;
  font-size:12px;
  color:var(--av-color-muted);
  margin-top:6px
}
.av-field [aria-invalid=true] {
  border:2px solid var(--av-color-error)
}
.av-field-error {
  font-size:13px;
  color:var(--av-color-error);
  margin-top:8px
}
.av-consent {
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-size:14px
}
.av-consent input {
  width:20px;
  height:20px;
  flex:none;
  margin-top:3px;
  accent-color:var(--av-color-ink)
}
.av-form-actions {
  margin-top:32px
}
.av-form-actions p {
  font-size:14px;
  margin-top:16px
}
.av-error-summary {
  background:var(--av-color-error-surface);
  border-left:3px solid var(--av-color-error);
  padding:24px;
  margin-bottom:24px
}
.av-error-summary h2 {
  font-size:23px
}
.av-error-summary ul {
  padding-left:20px;
  margin-bottom:0
}
.av-error-summary a {
  text-decoration:underline
}
.av-form-success {
  margin-top:32px;
  border-top:2px solid var(--av-color-success);
  padding-top:32px
}
.av-form-success>p {
  margin-top:24px
}
.av-form-success>a {
  display:block;
  margin-top:24px;
  text-decoration:underline
}
.av-notice {
  background:var(--av-color-surface);
  border-left:2px solid var(--av-color-ink);
  padding:24px;
  font-size:14px;
  margin-bottom:32px
}
.av-notice>strong {
  display:block;
  margin-bottom:8px
}
.av-notice p {
  color:var(--av-color-muted)
}
.av-notice--error {
  border-color:var(--av-color-error);
  background:var(--av-color-error-surface)
}
.av-notice--success {
  border-color:var(--av-color-success)
}
.av-contact-grid {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:80px;
  align-items:center
}
.av-contact-grid>img {
  height:100%;
  min-height:500px
}
.av-shop-layout {
  display:grid;
  grid-template-columns:200px 1fr;
  gap:64px
}
.av-shop-layout aside h2 {
  font-size:20px;
  margin-bottom:24px
}
.av-shop-layout aside>a {
  display:block;
  min-height:48px;
  text-decoration:underline
}
.av-shop-layout aside p {
  font-size:14px;
  color:var(--av-color-muted);
  margin-top:16px
}
.av-product-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px
}
.av-product-card img {
  aspect-ratio:4/5;
  object-fit:contain;
  background:var(--av-color-surface)
}
.av-product-card .av-eyebrow {
  margin-top:24px;
  margin-bottom:12px
}
.av-product-card .av-card-heading {
  margin-top:0
}
.av-product-card>p {
  margin-top:16px
}
.av-shop-editorial {
  padding-top:96px
}
.av-shop-editorial img {
  aspect-ratio:1
}
.av-shop-editorial h2 {
  font-size:40px;
  letter-spacing:-1.5px;
  margin-block:24px 12px
}
.av-product-layout {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:80px
}
.av-product-photo {
  background:var(--av-color-surface);
  align-self:start
}
.av-product-photo img {
  aspect-ratio:4/5;
  object-fit:contain
}
.av-product-info .av-title {
  font-size:56px
}
.av-price {
  font-size:26px;
  margin-block:24px
}
.av-price span {
  display:inline-block;
  font-size:12px;
  color:var(--av-color-muted);
  margin-left:12px
}
.av-product-info form {
  margin-block:32px
}
.av-product-info form>.av-button {
  width:100%;
  margin-top:24px
}
.av-product-info form>.av-field {
  max-width:140px;
  margin-top:24px
}
.av-size-options {
  border:0;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px
}
.av-size-options legend {
  margin-bottom:12px;
  font-size:14px;
  font-weight:700
}
.av-size-options label {
  position:relative;
  cursor:pointer
}
.av-size-options input {
  position:absolute;
  opacity:0;
  width:100%;
  height:100%;
  margin:0;
  cursor:pointer
}
.av-size-options span {
  display:grid;
  place-items:center;
  min-width:52px;
  height:48px;
  border:1px solid var(--av-color-line)
}
.av-size-options input:checked+span {
  background:var(--av-color-ink);
  color:var(--av-color-inverse)
}
.av-size-options input:focus-visible+span {
  outline:3px solid var(--av-color-focus);
  outline-offset:4px
}
.av-cart-layout {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:80px
}
.av-cart-line {
  display:grid;
  grid-template-columns:140px 1fr auto;
  gap:24px;
  border-top:1px solid var(--av-color-line);
  padding-top:24px;
  align-items:start
}
.av-cart-line img {
  aspect-ratio:4/5;
  object-fit:contain;
  background:var(--av-color-surface)
}
.av-cart-line h2 {
  font-size:24px
}
.av-cart-line p {
  margin-block:12px
}
.av-cart-line label {
  display:block;
  font-size:13px;
  margin-block:16px 8px
}
.av-cart-line select {
  width:80px
}
.av-order-summary {
  background:var(--av-color-surface);
  padding:32px;
  align-self:start
}
.av-order-summary h2 {
  font-size:28px;
  letter-spacing:-1px;
  margin-bottom:24px
}
.av-order-summary dl {
  margin:0
}
.av-order-summary dl>div {
  display:flex;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid var(--av-color-line);
  padding-block:16px
}
.av-order-summary dd {
  margin:0;
  font-weight:700
}
.av-order-summary>p {
  font-size:14px;
  margin-block:24px
}
.av-order-summary .av-button {
  width:100%
}
.av-bullet-list {
  padding-left:20px
}
.av-bullet-list li {
  margin-block:16px
}
.av-policy-layout {
  display:grid;
  grid-template-columns:240px 1fr;
  gap:80px
}
.av-policy-layout nav h2 {
  font-size:18px;
  margin-bottom:16px
}
.av-policy-layout nav a {
  display:block;
  min-height:48px;
  padding-block:10px;
  font-size:14px;
  text-decoration:underline
}
.av-reading {
  max-width:65ch
}
.av-reading section {
  margin-top:48px;
  scroll-margin-top:32px
}
.av-reading h2 {
  font-size:30px;
  letter-spacing:-.7px;
  margin-bottom:24px
}
.av-confirmation {
  padding-block:96px;
  max-width:1000px;
  text-align:center
}
.av-confirmation-mark {
  border:1px solid var(--av-color-line);
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  margin:32px auto
}
.av-confirmation .av-lead {
  margin:32px auto
}
.av-confirmation-details {
  max-width:650px;
  text-align:left;
  margin:48px auto
}
.av-confirmation .av-actions {
  justify-content:center
}
.av-not-found {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  padding-block:96px;
  align-items:center
}
.av-not-found .av-lead {
  margin-block:32px
}
.av-not-found>img {
  aspect-ratio:4/5
}
.av-not-found-links {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  font-size:14px;
  margin-top:32px;
  text-decoration:underline
}
@media(max-width:1100px) {
  .av-nav {
    gap:16px
  }
  .av-header {
    gap:24px
  }
  .av-header-actions {
    gap:8px
  }
  .av-header .av-button {
    gap:16px;
    padding-inline:16px
  }
  .av-footer-grid {
    grid-template-columns:1fr 1fr;
    gap:40px
  }
  .av-editorial-grid,.av-form-layout,.av-contact-grid,.av-product-layout,.av-cart-layout {
    gap:48px
  }
  .av-team-feature {
    gap:48px
  }
  .av-shop-layout {
    grid-template-columns:160px 1fr;
    gap:32px
  }
}
@media(max-width:900px) {
  .av-nav {
    display:none
  }
  .av-mobile-menu {
    display:block
  }
  .av-header-actions {
    gap:16px
  }
  .av-header {
    padding-block:16px
  }
  .av-header .av-brand {
    width:110px
  }
  .av-split-hero {
    grid-template-columns:1fr;
    min-height:0
  }
  .av-split-hero>img {
    min-height:0;
    max-height:520px;
    aspect-ratio:16/10
  }
  .av-split-copy {
    padding-block:56px
  }
  .av-split-copy .av-display {
    font-size:clamp(56px,10vw,88px)
  }
  .av-feature {
    grid-template-columns:1fr
  }
  .av-feature>.av-image {
    min-height:0;
    aspect-ratio:16/9;
    max-height:480px
  }
  .av-feature>div {
    padding-block:56px
  }
  .av-service-grid {
    gap:24px
  }
  .av-card-heading h3 {
    font-size:23px
  }
  .av-editorial-grid {
    gap:40px
  }
  .av-form-layout {
    grid-template-columns:1fr;
    gap:48px
  }
  .av-form-layout>aside {
    max-width:650px
  }
  .av-contact-grid {
    grid-template-columns:1fr
  }
  .av-contact-grid>img {
    min-height:0;
    max-height:450px
  }
  .av-team-feature {
    gap:40px
  }
  .av-product-layout {
    gap:40px
  }
  .av-product-info .av-title {
    font-size:42px
  }
  .av-cart-layout {
    grid-template-columns:1fr
  }
  .av-shop-layout {
    grid-template-columns:1fr
  }
  .av-shop-layout>aside {
    display:none
  }
  .av-policy-layout {
    grid-template-columns:180px 1fr;
    gap:40px
  }
  .av-not-found {
    gap:40px
  }
  .av-steps--horizontal {
    gap:24px
  }
  .av-steps--horizontal li {
    padding-left:32px
  }
  .av-preview {
    flex-wrap:wrap;
    gap:6px 16px
  }
  .av-preview-control {
    margin-left:auto
  }
}
@media(max-width:600px) {
  :root {
    --av-space-section:64px
  }
  .av-frame {
    width:calc(100% - 48px)
  }
  .av-header-actions>.av-button {
    display:none
  }
  .av-header-actions {
    gap:12px
  }
  .av-header .av-brand {
    width:104px
  }
  .av-header {
    padding-block:14px
  }
  .av-preview>span {
    display:none
  }
  .av-preview-control {
    font-size:11px
  }
  .av-intro {
    padding-block:40px
  }
  .av-breadcrumb {
    margin-bottom:32px
  }
  .av-intro-bottom {
    display:block;
    margin-top:24px
  }
  .av-display {
    font-size:clamp(44px,12.5vw,74px)
  }
  .av-eyebrow {
    margin-bottom:20px
  }
  .av-title {
    font-size:38px
  }
  .av-home-hero {
    min-height:660px
  }
  .av-home-copy {
    padding-top:56px;
    padding-bottom:64px
  }
  .av-home-copy .av-display {
    font-size:clamp(54px,13.3vw,80px)
  }
  .av-home-copy>p:not(.av-eyebrow) {
    font-size:16px
  }
  .av-home-media img {
    object-position:58% center
  }
  .av-home-bottom {
    flex-wrap:wrap;
    gap:12px;
    font-size:12px
  }
  .av-home-bottom>span {
    display:none
  }
  .av-home-bottom>.av-text-button {
    font-size:12px
  }
  .av-section-heading {
    display:block;
    margin-bottom:32px
  }
  .av-section-heading>p {
    margin-top:24px
  }
  .av-service-grid,.av-work-grid,.av-benefit-grid,.av-editorial-grid,.av-team-feature,.av-steps--horizontal,.av-product-layout,.av-policy-layout,.av-not-found {
    grid-template-columns:1fr
  }
  .av-service-grid {
    gap:40px
  }
  .av-service-card img {
    aspect-ratio:16/11
  }
  .av-card-heading h3 {
    font-size:27px
  }
  .av-card-heading h2 {
    font-size:25px
  }
  .av-work-grid {
    gap:40px
  }
  .av-work-item img {
    aspect-ratio:4/3
  }
  .av-invitation {
    padding-block:56px
  }
  .av-invitation>.av-frame {
    display:block
  }
  .av-invitation .av-button {
    margin-top:32px;
    width:100%
  }
  .av-footer-grid {
    grid-template-columns:1fr;
    gap:32px
  }
  .av-footer {
    padding-top:48px
  }
  .av-footer-bottom {
    flex-direction:column;
    gap:16px
  }
  .av-footer-bottom a {
    align-self:flex-start
  }
  .av-split-copy .av-display {
    font-size:clamp(43px,11.6vw,66px)
  }
  .av-split-copy {
    padding-block:40px
  }
  .av-split-hero>img {
    aspect-ratio:4/3
  }
  .av-benefit-grid {
    gap:32px;
    margin-top:48px
  }
  .av-number {
    margin-bottom:24px
  }
  .av-editorial-grid {
    gap:32px
  }
  .av-table th,.av-table td {
    font-size:13px;
    padding-right:12px
  }
  .av-filter {
    padding-inline:14px;
    font-size:14px
  }
  .av-story-meta {
    flex-direction:column;
    gap:12px;
    margin-top:24px
  }
  .av-story-cover img {
    aspect-ratio:4/3
  }
  .av-wide-photo img {
    aspect-ratio:4/3
  }
  .av-next-story {
    display:block;
    padding-block:32px
  }
  .av-next-story a {
    font-size:22px;
    margin-top:16px
  }
  .av-team-feature>img {
    max-height:500px
  }
  .av-art-hero>img {
    padding:24px;
    aspect-ratio:1
  }
  .av-form-grid {
    grid-template-columns:1fr;
    gap:20px
  }
  .av-form-actions>.av-button {
    width:100%
  }
  .av-info-list>div {
    grid-template-columns:110px 1fr;
    gap:16px
  }
  .av-form-layout {
    gap:40px
  }
  .av-product-grid {
    grid-template-columns:1fr
  }
  .av-shop-editorial {
    padding-top:8px
  }
  .av-shop-editorial img {
    aspect-ratio:16/10
  }
  .av-product-layout {
    gap:32px;
    padding-top:32px
  }
  .av-product-info .av-title {
    font-size:44px
  }
  .av-cart-line {
    grid-template-columns:90px 1fr;
    gap:20px
  }
  .av-cart-line>strong {
    grid-column:2
  }
  .av-cart-line h2 {
    font-size:23px
  }
  .av-order-summary {
    padding:24px
  }
  .av-policy-layout nav {
    border-bottom:1px solid var(--av-color-line);
    padding-bottom:24px
  }
  .av-policy-layout {
    gap:32px
  }
  .av-confirmation {
    padding-block:64px
  }
  .av-confirmation .av-actions {
    flex-direction:column
  }
  .av-confirmation .av-display {
    font-size:46px
  }
  .av-not-found {
    padding-block:48px
  }
  .av-not-found>.av-image {
    aspect-ratio:16/10
  }
  .av-not-found .av-display {
    font-size:72px
  }
  .av-notice {
    padding:20px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important
  }
}
@media print {
  .av-preview,.av-header,.av-footer,.av-button {
    display:none
  }
  .av-section {
    padding-block:24px
  }
  .av-dark {
    background:white;
    color:black
  }
  .av-frame {
    width:100%
  }
}
/* Content extremes must never force horizontal scrolling. */
h1,h2,h3 {
  overflow-wrap:anywhere
}
@media(max-width:600px) {
  .av-form-layout>aside {
    order:2
  }
}
/* Keep the skip link both available to keyboards and absent from neutral captures. */
.av-skip:not(:focus) {
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Monochrome text selection, inverted within dark chapters. */
::selection{background:var(--av-selection-background);color:var(--av-selection-text)}
:where(.av-dark,.av-footer,.av-header,.av-mobile-menu nav,.site-split-header,.site-review,.av-media-viewer,#gallery-dialog,.site-story-preview,.ds-inline-dark,.ds-cover-image,.ds-swatch--ink,.ds-journeys,.ds-command,.ds-footer)::selection,
:where(.av-dark,.av-footer,.av-header,.av-mobile-menu nav,.site-split-header,.site-review,.av-media-viewer,#gallery-dialog,.site-story-preview,.ds-inline-dark,.ds-cover-image,.ds-swatch--ink,.ds-journeys,.ds-command,.ds-footer) ::selection{background:var(--av-selection-text);color:var(--av-selection-background)}
:is(.av-button--inverse,.av-surface,.av-notice)::selection,
:is(.av-button--inverse,.av-surface,.av-notice) ::selection{background:var(--av-selection-background);color:var(--av-selection-text)}

/* Shared XPEL partner banner: product links retain card styling. */
.av-xpel-heading{display:grid;grid-template-columns:minmax(180px,1fr) 3fr;gap:48px;align-items:center;margin-bottom:40px}
.av-xpel-logo{display:block;max-width:240px}
.av-xpel-logo img{width:100%;height:auto;display:block}
.av-xpel-heading p:last-child{max-width:65ch;margin-bottom:0}
.av-xpel-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.av-xpel-product{display:flex;flex-direction:column;align-items:flex-start;color:inherit;text-decoration:none}
.av-xpel-product img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;margin-bottom:24px}
.av-xpel-product h3{margin:8px 0;font-size:24px}
.av-xpel-product p{margin:0 0 16px}
.av-xpel-product-link{margin-top:auto;font-weight:700;border-bottom:1px solid currentColor}
.av-xpel-product:hover .av-xpel-product-link{border-bottom-width:2px}
.av-xpel-credit{margin-top:32px}
@media(max-width:640px){.av-xpel-heading{grid-template-columns:1fr;gap:24px}.av-xpel-logo{max-width:160px}.av-xpel-products{grid-template-columns:1fr;gap:40px}}

/* Shared rows align related headings and prose; each wrapped row sizes itself.
   Single-column layouts retain natural document flow. No fixed text heights. */
@media(min-width:601px){
 .av-service-grid,.av-work-grid{row-gap:16px}
 .av-service-card,.av-work-item:has(>p){display:grid;grid-template-rows:subgrid;grid-row:span 3}
 .av-service-card>a,.av-work-item:has(>p)>a{display:grid;grid-template-rows:subgrid;grid-row:span 2}
 .av-service-card .av-card-heading,.av-work-item:has(>p) .av-card-heading{margin-top:8px}
 .av-service-card>p,.av-work-item>p{margin-top:0}
 .av-steps--horizontal{row-gap:12px}
 .av-steps--horizontal>li{display:grid;grid-template-rows:subgrid;grid-row:span 2;margin-bottom:0;align-content:start}
 .av-steps--horizontal>li>p{margin-top:0}
 .av-benefit-grid{row-gap:16px}
 .av-benefit-grid>article{display:grid;grid-template-rows:subgrid;grid-row:span 3}
 .av-benefit-grid .av-number,.av-benefit-grid h3{margin-bottom:0}
 .site-education-steps{row-gap:16px}
 .site-education-steps>li{display:grid;grid-template-rows:subgrid;grid-row:span 3}
 .site-education-steps>li::before,.site-education-steps h4{margin-bottom:0}
 .site-story-grid{row-gap:20px}
 .site-story-grid>article{display:grid;grid-template-rows:subgrid;grid-row:span 2}
 .site-story-grid>article:has(>.site-story-preview){grid-row:span 4}
 .site-story-grid h2,.site-story-grid h3,.site-story-grid p,.site-story-preview{margin-bottom:0}
 .site-story-grid>article>.site-text-link{align-self:start}
}
@media(min-width:641px){
 .av-xpel-products{row-gap:16px}
 .av-xpel-product{display:grid;grid-template-rows:subgrid;grid-row:span 5}
 .av-xpel-product img,.av-xpel-product .av-eyebrow,.av-xpel-product h3,.av-xpel-product p{margin:0}
 .av-xpel-product-link{margin-top:0;justify-self:start;align-self:start}
}
@media(min-width:901px){
 .site-comparison{row-gap:16px}
 .site-comparison>article{display:grid;grid-template-rows:subgrid;grid-row:span 9}
 .site-comparison>article>dl{display:grid;grid-template-rows:subgrid;grid-row:span 6;margin:0}
 .site-comparison>article>:is(h2,p),.site-comparison dt,.site-comparison dd{margin:0}
 .site-comparison>section{display:grid;grid-template-rows:subgrid;grid-row:span 3}
 .site-comparison>section>:is(h2,ul,p){margin-block:0}
}

/* Extension of the canonical static-HTML components; tokens remain authoritative. */
.site-demo{padding:8px 24px;text-align:center;background:var(--av-color-surface);font-size:12px;border-bottom:1px solid var(--av-color-line)}
.site-copy p{margin-bottom:24px}.site-copy .av-button,.site-spaced{margin-top:32px}.site-text-link{text-decoration:underline;text-underline-offset:4px}.site-text-link .av-icon{display:inline-block;vertical-align:middle}.site-copy>.site-text-link{display:block;margin-block:24px}
.site-rows section{border-top:1px solid var(--av-color-line);padding-block:24px}.site-rows h3{margin-bottom:16px}.site-rows+.av-notice{margin-top:24px}.site-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.site-comparison article{border-top:2px solid var(--av-color-ink);padding-top:24px}.site-comparison h2{font-size:32px;letter-spacing:-1px;margin-bottom:24px}.site-comparison dt{font-weight:bold;margin-top:24px}.site-comparison dd{margin:8px 0 24px}.site-gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.site-gallery img{width:100%;height:auto}.site-gallery figure:first-child{grid-column:1/-1}.site-team article{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-bottom:80px}.site-team article:nth-child(even)>img{order:2}.site-team img{aspect-ratio:4/5;object-fit:cover}.site-team p:not(.av-eyebrow){margin-block:24px}.site-anchor-nav a{display:block;text-decoration:underline;padding:14px 0;border-bottom:1px solid var(--av-color-line)}.av-reading>section:first-child{margin-top:0}.av-reading{padding-bottom:64px}.av-reading p{margin-bottom:24px}.site-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.site-consent{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--av-color-canvas);border-top:2px solid var(--av-color-ink);padding:24px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}.site-consent p{flex:1;min-width:240px}.site-consent button{padding:12px 20px;min-height:48px;background:var(--av-color-ink);color:var(--av-color-inverse);border:1px solid var(--av-color-ink)}.site-consent a{text-decoration:underline}.av-form fieldset:disabled{opacity:.6}.av-form-success:focus,.av-notice:focus,.av-error-summary:focus{outline:3px solid var(--av-color-focus);outline-offset:4px}
@media(max-width:900px){.site-comparison{grid-template-columns:1fr}.site-team article{gap:40px}.av-header .av-nav{gap:16px}}
@media(max-width:600px){.site-gallery,.site-team article{grid-template-columns:1fr;gap:24px}.site-team article:nth-child(even)>img{order:0}.site-team article{margin-bottom:64px}.site-demo{font-size:12px;text-align:left}.site-consent{gap:12px;padding:16px}.av-home-hero .av-text-button{color:var(--av-color-inverse)}}

.av-service-card p{font-size:18px;line-height:1.6}
/* Approved October revision: common visible rail and editorial additions. */
.av-header{padding-inline:max(clamp(24px,4vw,64px),calc((100vw - var(--av-layout-max))/2));gap:24px}
.av-header .av-brand,.av-footer .av-brand{position:relative;left:0}
.site-crumbs{padding-top:24px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.av-intro>.av-breadcrumb{display:none}
.site-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.site-review{border-top:2px solid var(--av-color-ink);padding-top:24px}.site-review blockquote{margin:24px 0;font-size:22px;line-height:1.5;letter-spacing:-.4px}.site-review summary{cursor:pointer;padding-block:16px;text-decoration:underline}.site-review details p{font-size:16px;margin-block:12px}
.site-pending{padding-block:24px;border-block:1px solid var(--av-color-line);font-size:15px;line-height:1.6}
.site-map h2{font-size:28px;margin-bottom:16px}.site-map>p{margin-bottom:20px}.site-map-frame{min-height:128px;margin-bottom:20px}.site-map-frame iframe{display:block;width:100%;height:320px;border:0}.site-footer-map{border-top:1px solid currentColor}.site-map .av-caption{margin-top:16px}
.site-video{background:var(--av-color-surface);padding:32px;min-height:180px}.site-video p{margin-block:20px}.site-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.site-video:has(iframe){padding:0}.site-timestamps{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:24px;font-size:15px}.site-timestamps a{text-decoration:underline}
.site-video-stills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.site-video-stills figure{margin:0}.site-video-stills img{display:block;width:100%;max-width:640px;height:auto}.site-video-stills figcaption{margin-top:12px}.site-sources{border-top:1px solid var(--av-color-line);padding-top:32px;max-width:70ch}.site-sources ul{padding-left:24px}.site-sources a{text-decoration:underline}.site-sources li{margin-block:12px}
#photo-viewer{max-width:min(95vw,1400px);max-height:94vh;padding:24px;border:0;background:var(--av-color-canvas);color:var(--av-color-ink)}#photo-viewer::backdrop{background:rgba(0,0,0,.85)}#photo-viewer img{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin-block:16px}#photo-viewer button{min-height:48px;padding:12px 20px;background:var(--av-color-ink);color:var(--av-color-inverse);border:0}#photo-viewer p{max-width:65ch}.av-reading{max-width:70ch}.site-copy p,.av-reading p{overflow-wrap:break-word}
@media(max-width:1000px){.site-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.av-header{gap:16px}.av-header .av-nav{gap:12px}}
@media(max-width:600px){.site-review-grid,.site-video-stills{grid-template-columns:1fr}.site-review-grid{gap:32px}.site-video{padding:24px}.site-crumbs{font-size:12px}.av-header{padding-inline:24px}}

.site-education figure{margin:0;align-self:start}
.site-education figcaption{margin-top:16px;line-height:1.6}
.site-education .av-lead{font-size:20px;line-height:1.65}
.site-education-steps{padding:0;list-style:none;counter-reset:install;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}
.site-education-steps li{border-top:1px solid var(--av-color-line);padding-top:24px;counter-increment:install}
.site-education-steps li:before{content:'0' counter(install);display:block;margin-bottom:16px;color:var(--av-color-muted)}
.site-education-steps h4{font-size:24px;line-height:1.25;margin-bottom:16px}
.site-education-steps p{line-height:1.7}
.site-service-questions{max-width:1100px}
.site-service-questions .av-title{max-width:22ch}
.site-layer-example{padding:32px;background:var(--av-color-surface)}
.site-layer-example>div{padding:24px;border:1px solid currentColor;margin-bottom:12px}
@media(max-width:600px){.site-education-steps{grid-template-columns:1fr}.site-education .av-lead{font-size:18px}}

.site-tint-diagram{background:var(--av-color-surface);padding:clamp(20px,4vw,48px);margin-inline:0}
.site-tint-diagram-heading h3{font-size:clamp(22px,2.4vw,30px);line-height:1.2;margin:0 0 8px}
.site-tint-diagram-heading p{color:var(--av-color-muted);font-size:16px}
.site-tint-diagram svg{display:block;width:100%;max-width:650px;height:auto;margin:24px auto;color:var(--av-color-ink)}
.site-tint-diagram svg text{font-family:Arial,Helvetica,sans-serif;font-size:23px;fill:currentColor}
.site-tint-diagram svg .site-tint-zone{font-size:18px;letter-spacing:2px}
.site-tint-diagram figcaption{font-size:16px;line-height:1.6;max-width:65ch;margin:0}
.site-tint-diagram figcaption strong{display:block;margin-bottom:4px}

.site-coverage{max-width:1000px}.site-coverage>div+div{margin-top:40px}.site-coverage .av-title{max-width:22ch}.site-coverage p{max-width:65ch}.site-next-action{margin-top:32px;padding-top:32px;border-top:1px solid var(--av-color-line)}.site-next-action h3{font-size:24px;margin-bottom:12px}.site-next-action p{max-width:60ch;margin-bottom:24px}

/* Uncropped technical illustrations retain their labels; originals stay linkable without JS. */
.site-service-diagram{margin-inline:0;padding-top:32px;border-top:1px solid var(--av-color-line)}
.site-service-diagram h3{font-size:clamp(22px,2.5vw,32px);line-height:1.2;margin:0 0 24px}
.site-service-diagram>a{display:block;max-width:1100px;margin-inline:auto}
.site-service-diagram img{display:block;width:100%;height:auto;object-fit:contain}
.site-service-diagram figcaption{max-width:85ch;margin-top:16px;line-height:1.6}
.site-service-diagram a,.site-service-photo a{border-radius:0}
.site-service-diagram figcaption a,.site-service-photo figcaption a,.site-combination p a{text-decoration:underline;text-underline-offset:.18em}
.site-service-photo>a{display:block}
.site-service-photo--small{max-width:320px}
.site-combination{padding-top:64px;border-top:1px solid var(--av-color-line)}
.site-combination>.av-lead{max-width:70ch}
.site-combination>.av-title{max-width:22ch}
.site-education .site-service-diagram{margin-top:48px}

/* Linear installation guide: each step owns its explanation, frame and quality check. */
.site-targa-guide{max-width:1000px}.site-targa-guide h1{font-size:clamp(40px,6vw,76px)}.site-targa-guide p{margin-top:24px;max-width:70ch}.site-targa-guide .site-video{margin-top:32px}.site-targa-steps{list-style:none;padding:0;margin:56px 0 0}.site-targa-steps>li{display:block;border-top:1px solid var(--av-color-line);padding-block:48px}.site-targa-steps h2{font-size:clamp(28px,4vw,40px);margin-top:16px}.site-targa-steps figure{margin-top:32px}.site-targa-steps img{width:100%;height:auto;object-fit:contain}.site-targa-steps figcaption{margin-top:12px}.site-targa-quality{border-left:3px solid var(--av-color-ink);padding-left:20px}.site-targa-cta{padding:clamp(24px,5vw,56px);margin-bottom:64px}.site-targa-cta .av-button{margin-top:32px;white-space:normal}
.site-video--embedded{padding:0;min-height:0;background:var(--av-color-ink);aspect-ratio:16/9}.site-video--embedded iframe{display:block;width:100%;height:100%;aspect-ratio:16/9;border:0}.site-targa-film{margin-bottom:48px}

@media(max-width:640px){.site-video--embedded{padding:0}}

.site-customer-project .site-review{max-width:720px;margin-top:32px}

#site-hero-video{opacity:0;transition:opacity var(--av-motion-enter) ease}#site-hero-video.is-playing{opacity:1}.site-hero-toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:inherit;border:0;padding:14px;width:48px;height:48px;flex:0 0 48px;cursor:pointer}.site-hero-toggle svg{display:block;width:20px;height:20px}.site-hero-toggle svg [hidden]{display:none}.site-hero-toggle[hidden]{display:none}.av-home-bottom{flex-wrap:wrap;gap:16px}

.site-guide-header{background:var(--av-color-surface);padding-inline:clamp(20px,4vw,48px);margin-top:32px}.site-guide-header img{margin-top:32px;aspect-ratio:16/9;object-fit:cover}.site-step-clip{display:block;width:100%;height:auto;margin-top:24px;background:#111}

/* Paired media keeps each instruction with its own evidence, in one ordered sequence. */
.site-targa-guide{max-width:var(--av-layout-max)}
.site-guide-header{max-width:1000px;margin-inline:auto}
.site-guide-header>img{max-height:420px;object-fit:cover;margin-top:32px}
.site-targa-film{max-width:1000px;margin-inline:auto}
.site-support-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--av-space-lg);margin-top:32px}
.site-support-photos .av-image{aspect-ratio:4/3;object-fit:cover}
@media(max-width:760px){.site-step-layout,.site-support-photos{grid-template-columns:minmax(0,1fr)}.site-targa-steps>li{padding-block:32px}.site-guide-header>img{max-height:300px}}

.site-guide-introduction{max-width:75ch;margin:40px auto}.site-targa-guide>.site-split-header{margin-top:32px}.site-targa-guide>.site-split-header .av-display{font-size:clamp(34px,4vw,58px)}

.site-step-video{margin-top:24px}.site-step-video summary{font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:.2em;padding-block:16px}.site-step-video[open] summary{margin-bottom:16px}

/* Shared footer: map first, inquiry second; stack in that order on compact screens. */
.site-footer-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start}
.site-footer-contact>section{min-width:0}
.site-footer-map .site-map-frame iframe{height:clamp(320px,35vw,480px)}
.site-footer-inquiry{background:var(--av-color-canvas);color:var(--av-color-ink);padding:clamp(24px,3vw,40px)}
.av-footer .site-footer-inquiry h2{font-size:28px;letter-spacing:-.5px;text-transform:none}
.av-footer .site-footer-inquiry p{color:var(--av-color-muted)}
.av-footer .site-footer-inquiry a{display:inline;min-height:0}
.site-footer-inquiry .site-text-link{color:var(--av-color-link);font-weight:700;text-decoration-line:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.site-footer-inquiry .site-text-link:hover{text-decoration-thickness:.14em}
.site-footer-inquiry .site-text-link:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.site-footer-inquiry::selection,.site-footer-inquiry ::selection{background:var(--av-selection-background);color:var(--av-selection-text)}
.site-footer-inquiry .av-form-grid{grid-template-columns:1fr}
.site-footer-inquiry .av-consent{line-height:1.6}
.site-footer-inquiry .av-button{white-space:normal}
.site-footer-inquiry .av-error-summary,.site-footer-inquiry .av-error-summary p{color:var(--av-color-ink)}
@media(max-width:900px){.site-footer-contact{grid-template-columns:1fr}.site-footer-map .site-map-frame iframe{height:360px}}
/* Article credit uses the same light/dark reading colors as its header. */
.site-article-byline a{color:var(--av-color-link);font-weight:700;text-decoration:underline;text-underline-offset:.18em}
.site-article-byline a:hover{text-decoration-thickness:.14em}
.site-split-header .site-article-byline{color:var(--av-color-inverse-muted)}
.site-split-header .site-article-byline a{color:var(--av-color-link-inverse)}

.site-split-header {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  max-width: var(--av-layout-max);
  margin-inline: auto;
  background: var(--av-color-ink);
  color: var(--av-color-inverse);
}
.site-split-header__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: clamp(var(--av-space-lg), 6vw, var(--av-space-section));
}
.site-split-header__copy .av-display { max-width: 16ch; font-size: clamp(36px, 4.6vw, 72px); line-height: 1.04; }
.site-split-header__copy .av-lead { max-width: 56ch; margin-top: var(--av-space-md); color: var(--av-color-inverse-muted); }
.site-split-header__media { min-width: 0; min-height: clamp(320px, 42vw, 600px); }
.site-split-header__media .av-image { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; }

.site-editorial-rows {
  width: min(100%, var(--av-layout-max));
  padding-inline: clamp(24px, 4vw, 64px);
  margin-inline: auto;
}
.site-editorial-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(var(--av-space-lg), 7vw, var(--av-space-section));
  align-items: center;
  padding-block: clamp(var(--av-space-xl), 7vw, var(--av-space-section));
}
.site-editorial-row:first-child { padding-top: var(--av-space-lg); }
.site-editorial-row__copy { max-width: 62ch; }
.site-editorial-row__copy h2 { max-width: 24ch; margin-bottom: var(--av-space-md); font-size: clamp(28px, 3.3vw, 44px); line-height: 1.12; letter-spacing: -0.035em; }
.site-editorial-row__copy h2 a { color: inherit; text-decoration: none; }
.site-editorial-row__copy h2 a:hover { text-decoration: underline; text-underline-offset: 0.12em; }
.site-editorial-row__lead { margin-bottom: var(--av-space-sm); font-size: 18px; line-height: 1.55; }
.site-editorial-row__copy > p:not(.site-editorial-row__lead) { max-width: 60ch; }
.site-editorial-row__image-link { display: block; }
.site-editorial-row__media { min-width: 0; margin: 0; }
.site-editorial-row__media .av-image { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.site-editorial-row__media .av-caption { margin-top: var(--av-space-sm); }
.site-editorial-row:nth-child(even) .site-editorial-row__copy { grid-column: 2; grid-row: 1; }
.site-editorial-row:nth-child(even) .site-editorial-row__media { grid-column: 1; grid-row: 1; }
.site-editorial-row .site-text-link { display: inline-block; margin-top: var(--av-space-md); }

.site-media-explanation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
  gap: clamp(var(--av-space-lg), 6vw, var(--av-space-section));
  align-items: center;
  margin-block: var(--av-space-section);
  padding-block: var(--av-space-lg);
  border-block: 1px solid var(--av-color-line);
}
@media (min-width: 761px) {
  .site-media-explanation--image-first { grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr); }
  .site-media-explanation--image-first .site-media-explanation__copy { grid-column: 2; grid-row: 1; }
  .site-media-explanation--image-first .site-media-explanation__media { grid-column: 1; grid-row: 1; }
}
.site-media-explanation__copy { max-width: 62ch; }
.site-media-explanation__copy :is(h2,h3) { max-width: 28ch; margin-bottom: var(--av-space-sm); font-size: clamp(22px, 2.5vw, 32px); line-height: 1.2; }
.site-media-explanation__copy p { line-height: 1.7; }
.site-media-explanation__media { min-width: 0; margin: 0; }
.site-media-explanation__media > a { display: block; width: fit-content; max-width: 100%; margin-inline: auto; }
.site-media-explanation__media .av-image { display: block; width: auto; max-width: 100%; max-height: 400px; height: auto; object-fit: contain; }
.site-media-explanation__media figcaption { max-width: 64ch; margin-top: var(--av-space-sm); line-height: 1.6; }
.site-media-explanation__media figcaption a { display: inline-block; margin-top: var(--av-space-xs); }
.site-media-explanation__media a:focus-visible,
.site-editorial-row__image-link:focus-visible { outline: 3px solid var(--av-color-focus); outline-offset: 4px; }

@media (max-width: 760px) {
  .site-split-header { grid-template-columns: minmax(0, 1fr); }
  .site-split-header__copy { padding: var(--av-space-lg) clamp(24px, 6vw, 40px); }
  .site-split-header__media { min-height: 0; aspect-ratio: 16 / 10; }
  .site-split-header__media .av-image { min-height: 0; }
  .site-editorial-row,
  .site-editorial-row:nth-child(even) { grid-template-columns: minmax(0, 1fr); gap: var(--av-space-md); padding-block: var(--av-space-lg); }
  .site-editorial-row:nth-child(even) .site-editorial-row__copy,
  .site-editorial-row:nth-child(even) .site-editorial-row__media { grid-column: 1; grid-row: auto; }
  .site-media-explanation { grid-template-columns: minmax(0, 1fr); gap: var(--av-space-md); margin-block: var(--av-space-lg); }
  .site-media-explanation__media .av-image { max-height: none; }
}

.site-step-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.site-targa-steps .site-step-media figure{margin-top:0}
.site-step-media{min-width:0}
.site-step-media video{display:block;width:100%;height:auto}

@media(max-width:760px){.site-step-layout{grid-template-columns:minmax(0,1fr)}}

/* Guide links show navigation, not an in-place video playback control. */
.site-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--av-space-lg);row-gap:var(--av-space-lg);margin-block:var(--av-space-lg)}
.site-story-grid article{display:grid;gap:var(--av-space-sm);min-width:0;align-content:start}
.site-story-grid h3{font-size:28px;line-height:1.15;letter-spacing:-.7px;margin:0}
.site-story-grid p{margin:0}
.site-story-grid .site-text-link{display:inline-block;min-height:48px;padding-block:12px}
.site-story-preview{position:relative;display:block;overflow:hidden;background:var(--av-color-ink);color:var(--av-color-inverse)}
.site-story-preview img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.site-story-preview__action{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;background:var(--av-color-ink);color:var(--av-color-inverse);font-weight:700;font-size:16px;line-height:1.4}
.site-story-preview:focus-visible{outline:3px solid var(--av-color-focus);outline-offset:4px}
.site-story-preview:is(:hover,:focus-visible) .site-story-preview__action{text-decoration:underline;text-underline-offset:4px}
@media(min-width:761px){.site-story-grid>article{grid-template-rows:subgrid;grid-row:span 4}}
@media(max-width:760px){.site-story-grid{grid-template-columns:minmax(0,1fr)}}

/* Shared reading links: generated into the site, catalog and original homepage. */
:root { --av-inline-color: var(--av-color-link); }
:where(.av-dark,.av-footer,.ds-inline-dark,.legacy-home) { --av-inline-color: var(--av-color-link-inverse); }
:where(.av-surface,.section-light,.ds-inline-light) { --av-inline-color: var(--av-color-link); }
:where(p,figcaption) a:not(.av-button,.button):not(:is(nav,header,footer,li,h1,h2,h3,h4,h5,h6) a):not(:has(img)) {
  color: var(--av-inline-color);
  font-weight: 700;
  text-decoration-line: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
  text-decoration-skip-ink: auto;
}
:where(p,figcaption) a:not(.av-button,.button):not(:is(nav,header,footer,li,h1,h2,h3,h4,h5,h6) a):not(:has(img)):hover {
  text-decoration-thickness: .14em;
}
:where(p,figcaption) a:not(.av-button,.button):not(:is(nav,header,footer,li,h1,h2,h3,h4,h5,h6) a):not(:has(img)):focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}

/* Shared motion: content is visible before JavaScript and never depends on an entrance. */
@keyframes av-enter {from{opacity:.65;transform:translateY(var(--av-motion-distance))}to{opacity:1;transform:none}}
@keyframes av-dialog-enter {from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
 .av-motion-enter{animation:av-enter var(--av-motion-enter) var(--av-motion-ease) both}
 :where(.av-button,.av-text-button,.site-review,summary){transition:background-color var(--av-motion-fast) ease,border-color var(--av-motion-fast) ease,color var(--av-motion-fast) ease}
 :where(.av-button,.av-text-button,.av-card-heading) .av-icon{transition:transform var(--av-motion-fast) var(--av-motion-ease)}
 :where(.av-button,.av-text-button):is(:hover,:focus-visible) .av-icon,.av-work-item a:is(:hover,:focus-visible) .av-icon{transform:translateX(3px)}
 :where([data-lightbox],.site-gallery figure>a,.av-work-item>a,.site-story-preview,.av-service-card>a,.ds-scene>a){display:block;overflow:hidden}
 :where([data-lightbox],.site-gallery figure>a,.av-work-item>a,.site-story-preview,.av-service-card>a,.ds-scene>a) img{transition:transform var(--av-motion-enter) var(--av-motion-ease)}
 dialog[open]{animation:av-dialog-enter var(--av-motion-fast) var(--av-motion-ease)}
 dialog[open]::backdrop{animation:av-backdrop-enter var(--av-motion-fast) ease}
 details[open]>:not(summary){animation:av-enter var(--av-motion-fast) var(--av-motion-ease)}
 @media(hover:hover) and (pointer:fine){
 :where([data-lightbox],.site-gallery figure>a,.av-work-item>a,.site-story-preview,.av-service-card>a,.ds-scene>a):hover img{transform:scale(1.02)}
 }
}
@keyframes av-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Selected Google reviews: recognizable review anatomy, not an aggregate widget. */
.site-reviews .av-section-heading p{color:var(--av-color-review-muted)}
.site-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.site-review{display:flex;flex-direction:column;background:var(--av-color-review-card);border:1px solid var(--av-color-review-border);border-radius:var(--av-review-radius);padding:24px;min-width:0;color:#e8eaed}
.site-review-person{display:flex;gap:12px;align-items:center}.site-review-person>div{min-width:0;flex:1}.site-review-person h3{font-size:16px;line-height:1.4;letter-spacing:0;margin:0}.site-review-person h3 a{color:inherit;text-decoration:none}.site-review-person h3 a:hover{text-decoration:underline}.site-review-person p{font-size:12px;color:var(--av-color-review-muted);margin:4px 0 0}.site-review-avatar{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;background:#3c4043;color:#e8eaed;font-size:16px}.site-review-source{font-size:12px;color:var(--av-color-review-muted)}
.site-review-rating{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 12px;font-size:12px;color:var(--av-color-review-muted)}.site-review-stars{color:var(--av-color-review-stars);font-size:18px;letter-spacing:1px}
.site-review blockquote,.site-review-text{font-size:16px;line-height:1.6;margin:0;font-weight:400;letter-spacing:0}.site-review-text summary{list-style:none;cursor:pointer;display:block;font-size:16px;font-weight:400;padding:0;border:0}.site-review-text summary::-webkit-details-marker{display:none}.site-review-text summary::after{content:none}.site-review-expand{display:block;color:var(--av-color-link-inverse);font-weight:700;text-decoration:underline;padding-block:12px;min-height:48px}.site-review-less,.site-review-text[open] .site-review-more,.site-review-text[open] .site-review-excerpt{display:none}.site-review-text[open] .site-review-less{display:inline}
.site-review-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:16px}.site-review-photos a{display:block;border-radius:6px;overflow:hidden}.site-review-photos img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.site-review-original{display:inline-block;margin-top:auto;font-size:14px;min-height:48px;padding-top:18px}

@media(max-width:1100px){.site-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.site-review-grid{grid-template-columns:1fr}.site-review{padding:20px}}

.site-review-text[open]{display:flex;flex-direction:column}.site-review-text[open] summary{order:2}

.site-review .site-review-text summary,.site-review .site-review-text summary:hover,.site-review .site-review-excerpt{text-decoration:none}.site-review-expand{text-decoration:none}

.site-review-carousel{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-inline:contain;padding-bottom:16px}
.site-review-carousel .site-review-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;align-items:stretch}
.site-review-carousel .site-review{scroll-snap-align:start}
.site-review-controls{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:16px}
.site-review-controls[hidden]{display:none}
.site-review-controls button{background:transparent;color:inherit;border:1px solid currentColor;border-radius:50%;width:48px;height:48px;cursor:pointer}
.site-review-controls button:disabled{opacity:.4;cursor:default}
@media(max-width:1000px){.site-review-carousel .site-review-grid{grid-auto-columns:calc((100% - 24px)/2)}}
@media(max-width:640px){.site-review-carousel .site-review-grid{grid-auto-columns:100%}}

/* Dark, image-first viewer. The frame never adds a white mat around the image. */
.av-media-viewer,#photo-viewer.av-media-viewer{margin:auto;padding:8px;width:min(94vw,1120px);max-width:94vw;max-height:94dvh;overflow:auto;border:1px solid var(--av-color-review-border);background:var(--av-color-ink);color:var(--av-color-inverse);box-shadow:none}
.av-media-viewer::backdrop{background:rgb(0 0 0/.88)}
.av-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;padding-inline:8px}
.av-media-viewer button,#photo-viewer.av-media-viewer button{min-width:48px;min-height:48px;padding:8px;background:transparent;border:0;color:inherit;font:inherit;cursor:pointer}
.av-media-viewer button:focus-visible{outline:2px solid var(--av-color-link-inverse);outline-offset:-3px;box-shadow:none}
.av-viewer-stage{position:relative;display:flex;justify-content:center;align-items:center;background:var(--av-color-ink)}
.av-media-viewer .av-viewer-stage>img,#photo-viewer.av-media-viewer .av-viewer-stage>img{display:block;width:100%;height:min(66dvh,760px);max-height:66dvh;max-width:100%;object-fit:contain;margin:0}
.av-media-viewer [data-photo-prev],.av-media-viewer [data-photo-next],#photo-viewer.av-media-viewer [data-photo-prev],#photo-viewer.av-media-viewer [data-photo-next]{position:absolute;z-index:1;top:calc(50% - 24px);font-size:36px;line-height:1;background:rgb(18 18 18/.75)}
.av-media-viewer [data-photo-prev]{left:0}.av-media-viewer [data-photo-next]{right:0}
.av-media-viewer .av-viewer-caption,#photo-viewer.av-media-viewer .av-viewer-caption{font-size:14px;line-height:1.45;margin:12px 8px;max-width:none;color:var(--av-color-inverse-muted)}
.av-viewer-thumbs{display:flex;gap:6px;overflow-x:auto;padding:4px;max-width:100%;scrollbar-width:thin}
.av-media-viewer .av-viewer-thumbs button,#photo-viewer.av-media-viewer .av-viewer-thumbs button{flex:0 0 64px;padding:3px;border:2px solid transparent;min-height:54px}
.av-media-viewer .av-viewer-thumbs button[aria-current=true]{border-color:var(--av-color-inverse)}
.av-media-viewer .av-viewer-thumbs img,#photo-viewer.av-media-viewer .av-viewer-thumbs img{display:block;width:54px;height:44px;object-fit:cover;margin:0}
@media(max-width:600px){.av-media-viewer,#photo-viewer.av-media-viewer{width:96vw;max-width:96vw;padding:4px}.av-media-viewer .av-viewer-stage>img,#photo-viewer.av-media-viewer .av-viewer-stage>img{height:55dvh;max-height:55dvh}}
/* Original concept has one work-section gallery with its existing scoped controls. */
#gallery-dialog{padding:8px;border:1px solid var(--av-color-review-border);background:var(--av-color-ink);color:var(--av-color-inverse);width:min(94vw,1120px);box-shadow:none}
#gallery-dialog .dialog-heading{padding:0 8px;min-height:48px}#gallery-dialog .dialog-heading h2{font-size:16px;letter-spacing:0}#gallery-dialog .section-label{display:none}#gallery-dialog>img{max-height:66dvh;background:var(--av-color-ink);object-fit:contain}#gallery-dialog .gallery-bottom{padding:12px 8px;gap:12px}#gallery-dialog .icon-button{border-radius:0;min-width:48px;min-height:48px;border:0}#gallery-dialog::backdrop{background:rgb(0 0 0/.88)}

.av-media-viewer [hidden],#photo-viewer.av-media-viewer [hidden]{display:none}
