/* Original quiet studio stamps and public information pages. Shared by web/Mini. */
.site-footer.sw-site-footer {
  display: block;
  margin-top: clamp(3rem, 8vw, 6rem);
  padding: 1.4rem 0 .4rem;
  border-top: 1px solid var(--sw-line, #ccd4db);
  color: var(--sw-ink, #202c37);
}
.sw-footer-top, .sw-footer-legal, .sw-footer-credits {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .7rem 1.3rem;
}
.sw-footer-top { justify-content: space-between; gap: 1.4rem; }
.sw-footer-name { margin: 0; font-size: clamp(1.3rem, 4vw, 2rem); font-weight: 700; letter-spacing: -.065em; }
.sw-footer-legal { margin-top: 1.3rem; font-size: .75rem; color: var(--sw-muted, #61727d); }
.sw-footer-legal nav { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; }
.sw-site-footer .sw-footer-legal a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.sw-credit {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  min-height: 48px;
  padding: .55rem .8rem;
  border: 1px solid var(--sw-line, #ccd4db);
  border-radius: .6rem;
  background: linear-gradient(130deg, #f8fafb99, #dce4e766);
  text-decoration: none;
  font-size: .8rem;
  letter-spacing: -.015em;
}
.sw-credit-copy { display: grid; gap: .1rem; }
.sw-credit-copy small { font-size: .62rem; font-weight: 400; color: var(--sw-muted, #61727d); }
.sw-credit-copy strong { font-weight: 600; }
.sw-credit-mark { font-size: .7rem; letter-spacing: -.08em; padding: .4rem .35rem; border: 1px solid currentColor; border-radius: 50%; }
.sw-credit--name { min-height: 40px; background: transparent; border-color: transparent; color: var(--sw-muted, #61727d); }
.sw-site-footer a:focus-visible, .site-info a:focus-visible { outline: 2px solid #376a91; outline-offset: 4px; }
.sw-site-footer a:hover { color: #376a91; }
.site-info { max-width: 58rem; margin: 2rem auto 4rem; }
.site-info-heading { margin: 0 0 3rem; }
.site-info-kicker { font-size: .7rem; letter-spacing: .2em; color: var(--sw-muted, #61727d); }
.site-info h1 { font-size: clamp(1.5rem, 7vw, 5rem); font-weight: 500; line-height: 1.05; letter-spacing: -.065em; margin: 1rem 0; overflow-wrap: break-word; text-wrap: balance; }
.site-info-intro { max-width: 42rem; font-size: 1.05rem; line-height: 1.6; color: var(--sw-muted, #61727d); }
.site-info-content { max-width: 44rem; }
.site-info-content section { margin: 0 0 2rem; }
.site-info h2 { font-size: 1.15rem; font-weight: 600; letter-spacing: -.025em; margin: 0 0 .6rem; }
.site-info-content p { line-height: 1.75; font-size: .95rem; overflow-wrap: anywhere; margin: .5rem 0; }
.site-info-sources { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .75rem; }
.site-info-end { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 3rem; }
.site-info-end > a { min-height: 44px; display: inline-flex; align-items: center; font-size: .85rem; }
.site-info-action { display: inline-flex; align-items: center; gap: 1.2rem; min-height: 44px; padding: .5rem 0; border-bottom: 1px solid currentColor; text-decoration: none; }
.site-info-action > span { transition: transform .2s ease; }
.site-info-action:hover > span { transform: translate(2px, -2px); }
@media (prefers-reduced-motion: reduce) { .site-info-action > span { transition: none; } }
.site-info--studio { max-width: 70rem; margin-top: clamp(2rem, 6vw, 5rem); }
.site-info--studio .site-info-content { max-width: none; }
.studio-heading { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); padding-bottom: clamp(2.5rem, 6vw, 5rem); border-bottom: 1px solid var(--sw-line, #ccd4db); }
.site-info--studio h1 { font-size: clamp(3.7rem, 7.8vw, 7rem); line-height: .97; letter-spacing: -.075em; max-width: 9ch; }
.studio-position { font-size: clamp(1.25rem, 2.4vw, 1.8rem); letter-spacing: -.035em; margin: 1.5rem 0 .8rem; }
.studio-heading .site-info-intro { max-width: 32rem; font-size: 1rem; }
.studio-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .9rem 1.6rem; margin-top: 1.8rem; }
.studio-service-link, .studio-example-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; font-size: .85rem; text-decoration: none; }
.site-info--studio .site-info-action { color: var(--sw-ink, #202c37); min-height: 48px; font-size: clamp(1.1rem, 2vw, 1.5rem); letter-spacing: -.035em; }
.studio-emblem { position: relative; isolation: isolate; overflow: hidden; min-height: 350px; border-radius: 1rem; background: linear-gradient(145deg, #172c3a, #344852 65%, #52636a); color: #e4edf0; }
.studio-emblem-index { position: absolute; top: 1.4rem; inset-inline-start: 1.5rem; font-size: .7rem; letter-spacing: .2em; }
.studio-emblem-name { position: absolute; inset-inline-end: 1.5rem; bottom: 1.4rem; text-align: end; font-size: 1.5rem; line-height: 1; letter-spacing: -.06em; }
.studio-plane { position: absolute; left: -22%; top: 30%; width: 140%; height: 42%; border: 1px solid #dce8ec88; transform: rotate(-28deg) skewX(25deg); border-radius: 1px; background: linear-gradient(150deg, #e2ecec15, transparent); }
.studio-plane--two { top: 39%; }
.studio-plane--three { top: 48%; }
.site-info--studio .site-info-content > section { margin: 0 0 clamp(3rem, 7vw, 5rem); }
.site-info--studio h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.15; letter-spacing: -.045em; font-weight: 500; margin-bottom: 1.8rem; }
.site-info--studio h3 { font-size: 1.1rem; line-height: 1.3; letter-spacing: -.025em; font-weight: 600; margin: 0 0 1rem; overflow-wrap: anywhere; }
.studio-services { scroll-margin-top: 2rem; }
.studio-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.studio-service-group { border: 1px solid var(--sw-line, #ccd4db); border-radius: .7rem; padding: 1.4rem; background: linear-gradient(145deg, #fbfcfc99, #e5ebee66); }
.site-info-content .studio-service-group { margin: 0; }
.site-info-content .studio-section-number { margin: 0 0 2rem; font-size: .7rem; color: var(--sw-muted, #61727d); letter-spacing: .1em; }
.studio-service-group ul { padding: 0; margin: 0; list-style: none; }
.studio-service-group li { padding: .8rem 0; border-top: 1px solid var(--sw-line, #ccd4db); font-size: .85rem; line-height: 1.6; overflow-wrap: anywhere; }
.studio-admin-note { margin-top: 1.2rem; padding: 1.5rem; border-inline-start: 2px solid #738e9b; background: #e8eef166; border-radius: .5rem; border-start-start-radius: 0; border-end-start-radius: 0; }
.studio-services-copy { white-space: pre-line; }
.studio-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.studio-format-grid > div { padding-top: 1.2rem; border-top: 1px solid var(--sw-line, #ccd4db); }
.site-info-content .studio-format-grid p, .site-info-content .studio-process p { color: var(--sw-muted, #61727d); font-size: .9rem; }
.studio-example { padding: clamp(1.5rem, 4vw, 3rem); border-radius: .85rem; background: linear-gradient(130deg, #dde7eb, #f4f7f8); }
.studio-example > p:not(.site-info-kicker) { max-width: 48rem; }
.studio-example .studio-example-link { margin-top: .6rem; border-bottom: 1px solid #7b919e; }
.studio-process ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; list-style: none; padding: 0; margin: 0; }
.studio-step-number { display: inline-flex; align-items: center; justify-content: center; width: 2.3rem; height: 2.3rem; margin-bottom: 1.2rem; border: 1px solid var(--sw-line, #ccd4db); border-radius: 50%; font-size: .7rem; color: var(--sw-muted, #61727d); }
.studio-contact { border-top: 1px solid var(--sw-line, #ccd4db); padding-top: 2.5rem; }
.site-info--studio .site-info-content > .studio-contact { margin-bottom: 1.5rem; }
.studio-contact > p { max-width: 42rem; }
.site-info-content .studio-separation { color: var(--sw-muted, #61727d); font-size: .75rem; margin-top: 1.4rem; }
.site-info--studio .site-info-end { margin-top: 0; }
@media (max-width: 800px) {
  .studio-heading { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .site-info--studio h1 { max-width: none; font-size: clamp(3.7rem, 12vw, 6rem); }
  .studio-emblem { min-height: 190px; }
  .studio-plane { left: -10%; top: 0; width: 120%; height: 65%; }
  .studio-plane--two { top: 18%; }
  .studio-plane--three { top: 36%; }
  .studio-services-grid, .studio-format-grid, .studio-process ol { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .site-info-content .studio-section-number { margin-bottom: 1.1rem; }
  .studio-service-group { padding: 1.25rem; }
  .studio-process li { padding-bottom: 1rem; border-bottom: 1px solid var(--sw-line, #ccd4db); }
  .studio-process li:last-child { border-bottom: 0; }
}
@media (max-width: 560px) {
  .sw-footer-top { align-items: flex-start; }
  .sw-footer-credits { gap: .35rem; }
  .sw-footer-legal { gap: .5rem; }
  .sw-footer-legal > span { width: 100%; }
  .site-info { margin-top: 1.4rem; }
  .site-info-heading { margin-bottom: 2rem; }
}
/* In-flow contact links keep the approved page cap and transparent brand layer. */
.sw-contact-block{width:100%;padding-block:clamp(24px,4vw,48px);border-block:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;text-align:start}
.sw-contact-heading p{margin:0 0 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.8}
.sw-contact-block a{color:inherit;text-decoration:none;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.sw-contact-support{font-size:clamp(19px,2.3vw,30px);line-height:1.25;max-width:28ch}
html[data-site-shell] .editorial-footer .sw-contact-support{font-size:clamp(20px,2.3vw,30px);line-height:1.25;display:flex;justify-content:space-between;gap:20px;min-height:52px}
html[data-site-shell] .editorial-footer .sw-contact-channels a,html[data-site-shell] .editorial-footer .sw-contact-pending{font-size:14px;display:flex;min-height:44px}
.sw-contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:4px}
.sw-contact-channels a,.sw-contact-pending{font-size:14px;min-height:44px;border-bottom:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:space-between;gap:8px}
.sw-contact-pending{color:#bbb;cursor:default}
.sw-contact-pending small{font-size:11px;letter-spacing:.04em}
.sw-contact-block a:hover{text-decoration:underline;text-underline-offset:5px}
.sw-contact-block a:focus-visible{outline:2px solid #d9ffb1;outline-offset:4px}
@media(max-width:600px){.sw-contact-block{grid-template-columns:minmax(0,1fr);gap:20px}.sw-contact-channels{column-gap:16px}.sw-contact-channels a,.sw-contact-pending{font-size:13px}}
