:root {
  --ink: #0e1f18;
  --pine: #163b2c;
  --signal: #c99a3f;
  --paper: #fbfaf6;
  --canvas: #eef0e6;
  --line: rgba(14, 31, 24, 0.16);
  --muted-ink: #55655c;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-family: 'Inter', sans-serif; letter-spacing: 0; }
body::selection { background: var(--signal); color: var(--ink); }
.container { width: min(1280px, calc(100% - 48px)); }
.site-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid rgba(255,255,255,0.14); background: rgba(14, 31, 24,0.98); backdrop-filter: blur(14px); }
.navbar { min-height: 78px; display: grid; grid-template-columns: 170px 1fr auto; align-items: center; gap: 28px; }
.brand { width: auto; }
.logo-header { display: block; width: 102px; height: auto; }
.primary-nav { justify-self: center; display: flex; align-items: center; gap: 0; }
.primary-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 27px 16px 24px;
  color: rgba(255,255,255,0.72);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.primary-nav a::before {
  content: attr(data-index);
  color: var(--signal);
  font-size: 0.56rem;
  letter-spacing: 0.12em;
  opacity: 0.95;
}
.primary-nav a::after {
  content: '';
  position: absolute;
  right: 17px;
  bottom: 18px;
  left: 17px;
  height: 2px;
  background: var(--signal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 260ms cubic-bezier(.16,1,.3,1);
}
.primary-nav a:hover, .primary-nav a[aria-current='page'] { color: #fff; }
.primary-nav a:hover::after, .primary-nav a[aria-current='page']::after { transform: scaleX(1); }
.nav-actions { display: flex; justify-content: flex-end; gap: 8px; }
.mobile-toggle { min-height: 38px; width: 38px; border: 1px solid rgba(255,255,255,0.25); border-radius: 14px; background: transparent; color: #fff; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }

.home-hero, .services-hero, .work-hero, .contact-hero, .ticket-reframed-hero, .privacy-reframed-hero, .terms-reframed-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--ink); color: #fff; }
.home-hero::after, .services-hero::after, .work-hero::after, .contact-hero::after, .ticket-reframed-hero::after, .privacy-reframed-hero::after, .terms-reframed-hero::after { content: ''; position: absolute; z-index: -1; top: 0; right: 8%; width: 1px; height: 100%; background: rgba(255,255,255,0.14); box-shadow: -40vw 0 0 rgba(255,255,255,0.04); }
.home-hero-grid, .services-hero-grid, .work-hero-grid, .contact-hero-grid, .ticket-reframed-hero-grid { min-height: min(78vh, 760px); padding-top: 48px; padding-bottom: 56px; }
.home-hero-copy h1, .services-hero-copy h1, .work-hero-copy h1, .contact-hero-copy h1, .ticket-reframed-hero-copy h1, .privacy-reframed-hero h1, .terms-reframed-hero h1 { margin: 18px 0 28px; color: #fff; font-family: 'Fraunces', serif; font-size: clamp(3.8rem, 7.5vw, 8.2rem); font-weight: 600; letter-spacing: 0; line-height: 0.84; }
.home-hero-copy h1 em, .services-hero-copy h1 em, .work-hero-copy h1 em, .contact-hero-copy h1 em, .ticket-reframed-hero-copy h1 em, .privacy-reframed-hero h1 em, .terms-reframed-hero h1 em { color: var(--signal); font-family: 'Inter', sans-serif; font-weight: 400; }
.home-hero-description, .services-hero-copy > p, .work-hero-copy > p, .contact-hero-copy > p, .ticket-reframed-hero-copy > p { color: rgba(255,255,255,0.72) !important; font-size: 0.96rem; line-height: 1.75; }
.home-overline, .services-overline, .work-overline, .contact-overline, .ticket-result-overline { color: var(--signal); font-size: 0.67rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.home-hero-meta, .services-hero-meta, .work-hero-meta, .contact-hero-meta, .ticket-reframed-meta { color: rgba(255,255,255,0.52); font-size: 0.64rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.home-mark-frame, .services-hero-mark > div, .work-hero-mark > div, .contact-hero-mark > div, .ticket-reframed-mark > div { border: 1px solid rgba(255,255,255,0.28); background: var(--pine); }
.home-primary-link, .services-close-link, .work-close-link, .home-final-link { border: 1px solid var(--signal); background: var(--signal); color: var(--ink); }

.home-services, .home-statement, .home-planner, .home-process, .services-paths, .work-feature, .work-supporting, .contact-reframed-main, .ticket-reframed-main, .privacy-reframed-main, .terms-reframed-main { border-top: 1px solid var(--line); background: var(--paper); }
.home-services-grid, .home-statement-grid, .home-planner-grid, .home-process-grid, .services-paths-grid, .work-feature-grid, .contact-reframed-grid, .ticket-reframed-grid { padding-top: clamp(68px, 10vw, 136px); padding-bottom: clamp(68px, 10vw, 136px); }
.home-section-intro h2, .home-statement h2, .home-planner-intro h2, .home-process h2, .services-section-intro h2, .work-feature-copy h2, .contact-reframed-rail h2 { color: var(--ink); font-family: 'Fraunces', serif; font-size: clamp(2.2rem, 4.3vw, 4.8rem); font-weight: 600; letter-spacing: 0; line-height: 0.94; }
.home-service-list, .services-path-list { border-top: 2px solid var(--ink); }
.home-service-item, .services-path { border-color: var(--line) !important; border-radius: 0 !important; background: transparent !important; }
.home-service-item:hover, .services-path:hover { border-color: var(--signal) !important; background: #fffdf8 !important; }
.home-service-item strong, .services-path h3, .work-study h2 { color: var(--ink); font-family: 'Fraunces', serif; letter-spacing: 0; }
.home-planner { background: var(--canvas); }
.home-matcher-form, .contact-reframed-form, .ticket-portal-access { border: 1px solid var(--line); border-radius: 0 !important; background: #fffdf8; box-shadow: none; }
.home-matcher-step, .contact-reframed-group { border-color: var(--line) !important; border-radius: 0 !important; }

.work-feature-art, .work-study-art { border-radius: 0 !important; }
.work-feature-art { background: var(--ink) !important; }
.work-study--form .work-study-art { background: var(--signal) !important; color: var(--ink) !important; }
.work-study--flow .work-study-art { background: var(--pine) !important; }
.work-close, .services-close { background: var(--ink) !important; }
.work-close h2, .services-close h2 { color: #fff !important; font-family: 'Fraunces', serif; letter-spacing: 0; }

.contact-reframed-rail, .ticket-portal-steps { border-right-color: var(--line) !important; }
.contact-reframed-notes > div, .ticket-portal-steps li { border-color: var(--line) !important; border-radius: 0 !important; background: transparent !important; }
.field input, .field select, .field textarea { border: 1px solid var(--line) !important; border-radius: 0 !important; background: #fffdf8 !important; color: var(--ink) !important; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--signal) !important; box-shadow: 4px 4px 0 rgba(239, 106, 76,0.24) !important; }
.btn { border-radius: 0 !important; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.btn-primary { background: var(--ink) !important; }
.btn-primary:hover { background: var(--pine) !important; }

.ticket-portal-access, .ticket-timeline-card, .ticket-expectation-card, .ticket-summary-card, .ticket-hero-card { border-radius: 0 !important; box-shadow: none !important; }
.ticket-portal-access-head, .ticket-reframed-result-hero { background: var(--ink) !important; }
.ticket-summary-card { border-color: var(--line) !important; background: #fffdf8 !important; }
.ticket-timeline-card, .ticket-expectation-card { border-color: var(--line) !important; background: #fffdf8 !important; }

.privacy-summary, .terms-summary { border: 1px solid var(--line); background: #fffdf8; }
.privacy-summary > div, .terms-summary > div { border-radius: 0 !important; }
.privacy-reframed-main article, .terms-reframed-main article { border-color: var(--line); }

.site-footer { border-top: 1px solid rgba(255,255,255,0.14); background: var(--ink); }
.footer-grid { padding-top: 58px; }
.footer-column h4 { color: var(--signal); font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; }
.footer-column p, .footer-column a, .footer-bottom { color: rgba(255,255,255,0.68); }
.footer-column a:hover { color: #fff; }

.home-service-item, .services-path, .work-study, .ticket-summary-card, .privacy-summary > div, .terms-summary > div { transition: transform 260ms cubic-bezier(.16,1,.3,1), border-color 260ms ease, background-color 260ms ease, box-shadow 260ms ease; }
.home-service-item:hover, .services-path:hover, .work-study:hover, .ticket-summary-card:hover { transform: translateY(-5px); box-shadow: 0 18px 34px rgba(14, 31, 24,0.1) !important; }
.home-mark-frame img, .services-hero-mark img, .work-hero-mark img, .contact-hero-mark img, .ticket-reframed-mark img { transition: transform 520ms cubic-bezier(.16,1,.3,1); }
.home-mark-frame:hover img, .services-hero-mark:hover img, .work-hero-mark:hover img, .contact-hero-mark:hover img, .ticket-reframed-mark:hover img { transform: scale(1.06) rotate(-1deg); }

@keyframes rebuildIntro { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes rebuildMark { from { opacity: 0; transform: translateX(26px) scale(.94); } to { opacity: 1; transform: translateX(0) scale(1); } }
.has-motion main > section:first-child > .container > .intro-layer { animation: rebuildIntro 580ms var(--intro-delay, 0ms) cubic-bezier(.16,1,.3,1) both; }
.has-motion main > section:first-child > .container > .intro-mark { animation-name: rebuildMark; animation-duration: 680ms; }

@media (max-width: 820px) {
  .navbar { grid-template-columns: 1fr auto; min-height: 68px; }
  .primary-nav { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; }
  .primary-nav a { flex: 1; padding: 14px 7px; text-align: center; font-size: 0.6rem; }
  .primary-nav a::before { right: 7px; bottom: 7px; left: 7px; }
  .navbar:has(.primary-nav.is-open) { padding-bottom: 8px; }
  .home-hero-grid, .services-hero-grid, .work-hero-grid, .contact-hero-grid, .ticket-reframed-hero-grid { min-height: 0; padding-top: 68px; padding-bottom: 68px; }
  .home-hero-copy h1, .services-hero-copy h1, .work-hero-copy h1, .contact-hero-copy h1, .ticket-reframed-hero-copy h1 { font-size: clamp(3.4rem, 15vw, 5.8rem); }
  .contact-reframed-rail, .ticket-portal-steps { border-right: 0 !important; border-bottom: 1px solid var(--line); padding-bottom: 30px; }
}

@media (max-width: 900px) {
  .site-header { z-index: 120; }
  .navbar { position: relative; grid-template-columns: 1fr auto; min-height: 70px; }
  .mobile-toggle { display: grid !important; place-items: center; }
  .primary-nav { position: absolute; top: 70px; right: 0; left: 0; display: grid !important; gap: 0; margin: 0; padding: 12px 24px 22px; border-bottom: 1px solid rgba(255,255,255,0.16); background: var(--ink); box-shadow: 0 20px 44px rgba(12, 8, 14,0.32); opacity: 0; pointer-events: none; transform: translateY(-10px); transition: opacity 180ms ease, transform 180ms ease; }
  .primary-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .primary-nav a { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,0.12); color: rgba(255,255,255,0.78); text-align: left; }
  .primary-nav a:last-child { border-bottom: 0; }
  .primary-nav a::before { display: block; order: 2; color: var(--signal); content: '↗'; font-size: 1rem; }
  .primary-nav a::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

/* The search belongs to the header: its wrapper lives inside the sticky menu. */
.site-header { overflow: visible; }

/* Unified studio system */
:root {
  --ink: #0e1f18;
  --pine: #163b2c;
  --signal: #c99a3f;
  --paper: #fbfaf6;
  --canvas: #eef0e6;
  --line: rgba(14, 31, 24, 0.14);
  --muted-ink: #55655c;
  --content-width: 1100px;
}

body { background: var(--paper); color: var(--ink); font-family: 'Inter', sans-serif; line-height: 1.55; }
.container { width: min(var(--content-width), calc(100% - 56px)); }
.site-header { background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.16); box-shadow: none; }
.navbar { min-height: 76px; grid-template-columns: 150px 1fr auto; gap: 24px; }
.brand { width: 108px; }
.logo-header { width: 108px; }
.primary-nav { gap: 4px; }
.primary-nav a { padding: 28px 14px 25px; font-size: .62rem; letter-spacing: .12em; }
.primary-nav a::before { content: none; }
.primary-nav a::after { right: 14px; bottom: 17px; left: 14px; height: 2px; }
.nav-actions { gap: 8px; }
.mobile-toggle { min-height: 34px; border: 1px solid rgba(255,255,255,.22); color: #fff; font-size: .59rem; letter-spacing: .12em; }

.home-hero, .services-hero, .work-hero, .contact-hero, .ticket-reframed-hero, .privacy-reframed-hero, .terms-reframed-hero { background: var(--ink); }
.home-hero-grid, .services-hero-grid, .work-hero-grid, .contact-hero-grid, .ticket-reframed-hero-grid { min-height: 570px; padding: 58px 0 66px; }
.home-hero-grid { grid-template-columns: 126px minmax(0, 1fr) 250px; gap: 42px; }
.home-hero-grid { align-items: start; }
.home-hero-meta { align-self: start; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 14px; height: max-content; }
.home-hero-copy h1, .services-hero-copy h1, .work-hero-copy h1, .contact-hero-copy h1, .ticket-reframed-hero-copy h1, .privacy-reframed-hero h1, .terms-reframed-hero h1 { max-width: 9ch; margin: 20px 0 24px; font-size: clamp(4rem, 7.2vw, 7rem); line-height: .86; }
.home-hero-description, .services-hero-copy > p, .work-hero-copy > p, .contact-hero-copy > p, .ticket-reframed-hero-copy > p { max-width: 42ch; font-size: .88rem; line-height: 1.7; }
.home-hero-meta, .services-hero-meta, .work-hero-meta, .contact-hero-meta, .ticket-reframed-meta { padding-top: 8px; font-size: .57rem; line-height: 1.6; }
.home-mark-frame, .services-hero-mark > div, .work-hero-mark > div, .contact-hero-mark > div, .ticket-reframed-mark > div { display: grid; place-items: center; min-height: 216px; background: var(--pine); }
.home-mark-frame img, .services-hero-mark img, .work-hero-mark img, .contact-hero-mark img, .ticket-reframed-mark img { width: 142px; }
.home-primary-link, .services-close-link, .work-close-link, .home-final-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; padding: 13px 16px; font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.home-services-grid, .home-statement-grid, .home-planner-grid, .home-process-grid, .services-paths-grid, .work-feature-grid, .contact-reframed-grid, .ticket-reframed-grid { padding-top: 88px; padding-bottom: 88px; }
.home-services-grid { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 84px; }
.home-section-intro h2, .home-statement h2, .home-planner-intro h2, .home-process h2, .services-section-intro h2, .work-feature-copy h2, .contact-reframed-rail h2 { margin: 18px 0 0; font-size: clamp(2.5rem, 4.5vw, 4.8rem); line-height: .92; }
.home-service-list, .services-path-list { border-top: 2px solid var(--ink); }
.home-service-item, .services-path { min-height: 100px; padding: 24px 0; }
.home-service-item strong, .services-path h3, .work-study h2 { font-size: 1.05rem; }
.home-service-item p, .services-path p { margin: 7px 0 0; color: var(--muted-ink); font-size: .76rem; }
.home-statement-grid { display: grid; grid-template-columns: 180px minmax(0, 700px); gap: 74px; }
.home-statement h2 { margin: 0; font-size: clamp(2.8rem, 5vw, 5.2rem); }
.home-statement p { max-width: 48ch; margin: 26px 0; color: var(--muted-ink); font-size: .9rem; }
.home-planner { background: var(--canvas); }
.home-planner-grid { display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); gap: 72px; }
.home-planner-intro p { max-width: 28ch; color: var(--muted-ink); font-size: .84rem; }
.home-matcher-form, .contact-reframed-form, .ticket-portal-access { background: #fffdf8; }
.home-matcher-step { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 22px 24px; }
.home-submit { width: 100%; padding: 18px 24px; background: var(--signal); color: var(--ink); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-process-grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 88px; }
.home-process ol { border-top: 2px solid var(--ink); }
.home-process li { display: grid; grid-template-columns: 40px 1fr; gap: 16px; padding: 21px 0; border-bottom: 1px solid var(--line); }
.home-process li strong { font-size: .9rem; }
.home-process li p { max-width: 42ch; margin: 6px 0 0; color: var(--muted-ink); font-size: .74rem; }
.home-final-link { grid-column: 1 / -1; min-height: 76px; margin-top: 18px; background: var(--signal); color: var(--ink); }
.home-final-link strong { font-family: 'Fraunces', serif; font-size: clamp(1.5rem, 3vw, 2.4rem); font-weight: 600; }

/* Homepage art direction */
.home-hero { background: var(--ink); }
.home-hero::before {
  content: 'SAJW / 26';
  position: absolute;
  right: -0.04em;
  bottom: -0.22em;
  color: rgba(255,255,255,0.035);
  font-family: 'Fraunces', serif;
  font-size: clamp(11rem, 28vw, 27rem);
  font-weight: 600;
  letter-spacing: -0.08em;
  line-height: .7;
  pointer-events: none;
  white-space: nowrap;
}
.home-hero-grid { position: relative; z-index: 1; }
.home-hero-copy { align-self: center; padding: 28px 0 12px; }
.home-hero-copy h1 { max-width: 8ch; font-size: clamp(4.4rem, 8vw, 8rem); line-height: .81; }
.home-hero-description { max-width: 37ch; }
.home-primary-link { box-shadow: 6px 6px 0 rgba(239, 106, 76,.22); transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease; }
.home-primary-link:hover, .home-primary-link:focus-visible { background: #f0805f; box-shadow: 2px 2px 0 rgba(239, 106, 76,.22); transform: translate(4px, 4px); }
.home-mark-frame { position: relative; min-height: 280px; overflow: hidden; background: var(--pine); }
.home-mark-frame::before, .home-mark-frame::after { content: ''; position: absolute; background: rgba(255,255,255,.18); }
.home-mark-frame::before { top: 0; bottom: 0; left: 50%; width: 1px; }
.home-mark-frame::after { top: 50%; right: 0; left: 0; height: 1px; }
.home-mark-frame img { position: relative; z-index: 1; width: 126px; }
.home-mark-number, .home-mark-label { position: absolute; z-index: 1; color: rgba(255,255,255,.72); font-size: .55rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.home-mark-number { top: 18px; left: 18px; color: var(--signal); font-family: 'Fraunces', serif; font-size: 2.8rem; letter-spacing: -.08em; line-height: 1; }
.home-mark-label { right: 18px; bottom: 18px; }
.home-mark-caption { display: grid; gap: 8px; padding-top: 16px; }
.home-mark-caption p { max-width: 25ch; margin: 0; color: rgba(255,255,255,.62); font-size: .7rem; line-height: 1.6; }
.home-scroll-note { display: flex; align-items: center; justify-content: space-between; width: min(var(--content-width), calc(100% - 56px)); margin: 0 auto; padding: 14px 0 15px; border-top: 1px solid rgba(14, 31, 24,.16); color: var(--muted-ink); font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home-scroll-note b { color: var(--signal); font-size: 1rem; }

.contact-reframed-grid { grid-template-columns: 300px minmax(0, 1fr); gap: 64px; }
.contact-reframed-rail h2 { font-size: clamp(2.5rem, 4vw, 4.3rem); }
.contact-reframed-notes { margin-top: 34px; }
.contact-reframed-notes > div { padding: 15px 0; }
.contact-reframed-details { margin-top: 32px; color: var(--muted-ink); font-size: .7rem; }
.contact-reframed-form-head { padding: 16px 22px; }
.contact-reframed-group { padding: 30px 22px; }
.field label { margin-bottom: 7px; font-size: .6rem; letter-spacing: .1em; }
.field input, .field select, .field textarea { min-height: 44px; padding: 10px 12px; }
.site-footer { background: var(--ink); }
.footer-grid { padding: 64px 0 46px; }
.logo-footer { width: 108px; }

@media (max-width: 900px) {
  .navbar { grid-template-columns: 1fr auto; }
  .primary-nav { top: 76px; }
  .home-hero-grid, .services-hero-grid, .work-hero-grid, .contact-hero-grid, .ticket-reframed-hero-grid { min-height: 0; padding: 64px 0; }
  .home-hero-grid { grid-template-columns: 1fr 220px; }
  .home-hero-meta { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; gap: 16px; height: max-content; }
  .home-hero-copy { grid-column: 1; }
  .home-hero-mark { grid-column: 2; grid-row: 2; }
  .home-hero-copy { align-self: start; }
  .home-services-grid, .home-planner-grid, .home-process-grid { grid-template-columns: 1fr; gap: 44px; }
  .home-statement-grid { grid-template-columns: 1fr; gap: 28px; }
  .home-statement-index { display: flex; justify-content: space-between; }
  .contact-reframed-grid { grid-template-columns: 1fr; gap: 48px; }
}

@media (max-width: 600px) {
  .container { width: min(var(--content-width), calc(100% - 36px)); }
  .logo-header { width: 96px; }
  .home-hero-grid, .services-hero-grid, .work-hero-grid, .contact-hero-grid, .ticket-reframed-hero-grid { padding: 48px 0 56px; }
  .home-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .home-hero-meta { display: grid; grid-template-columns: 1fr 1fr; }
  .home-hero-meta span:last-child { grid-column: 1 / -1; }
  .home-hero-mark { grid-column: auto; grid-row: auto; max-width: 260px; }
  .home-hero-copy h1 { font-size: clamp(3.5rem, 15vw, 5.5rem); }
  .home-mark-frame { min-height: 240px; }
  .home-scroll-note { width: min(var(--content-width), calc(100% - 36px)); }
  .home-hero-copy h1, .services-hero-copy h1, .work-hero-copy h1, .contact-hero-copy h1, .ticket-reframed-hero-copy h1 { max-width: 8ch; margin-top: 16px; font-size: clamp(3.2rem, 13vw, 4.8rem); line-height: .9; }
  .home-services-grid, .home-statement-grid, .home-planner-grid, .home-process-grid, .contact-reframed-grid { padding-top: 62px; padding-bottom: 62px; }
  .home-section-intro h2, .home-statement h2, .home-planner-intro h2, .home-process h2, .contact-reframed-rail h2 { font-size: clamp(2.5rem, 13vw, 4rem); }
  .home-statement-index { display: grid; gap: 12px; }
  .home-final-link { align-items: flex-start; flex-direction: column; gap: 8px; }
  .form-row { grid-template-columns: 1fr; }
  .footer-grid { gap: 34px; }
}

.contract-sign-page { min-height: 100vh; background: var(--paper); color: var(--ink); }
.contract-sign-hero { position: relative; overflow: hidden; background: var(--ink); color: #fff; }
.contract-sign-hero-grid { min-height: 430px; padding: 58px 0 66px; }
.contract-sign-hero h1 { margin: 20px 0 24px; font-size: clamp(3.5rem, 6.5vw, 6.4rem); line-height: .88; }
.contract-sign-hero h1 em { color: var(--signal); }
.contract-sign-mark { border: 1px solid rgba(255,255,255,.24); background: var(--pine); }
.contract-sign-mark img { width: 150px; }
.contract-sign-main { border-top: 1px solid var(--line); }
.contract-sign-layout { padding: 78px 0 110px; gap: 72px; }
.contract-sign-aside { color: var(--muted-ink); }
.contract-sign-aside > span, .contract-sign-card-head > div > span, .contract-status { color: var(--signal); }
.contract-sign-card { border: 1px solid var(--line); background: #fffdf8; box-shadow: none; }
.contract-sign-card-head { padding: 24px 26px; border-bottom: 1px solid var(--line); background: var(--canvas); }
.contract-sign-card-head h2 { color: var(--ink); }
.contract-summary { border-bottom-color: var(--line); }
.contract-text { border-top-color: var(--line); background: #fffdf8; }
.contract-sign-form { border-top-color: var(--line); }
.contract-sign-form .btn-primary { background: var(--ink); }

@media (max-width: 600px) {
  .contract-sign-hero-grid { min-height: 0; padding: 48px 0 56px; }
  .contract-sign-layout { padding: 56px 0 72px; }
  .contract-sign-hero h1 { font-size: clamp(3.2rem, 13vw, 4.8rem); }
}

/* Shared layouts for the remaining page families */
.services-hero-grid, .work-hero-grid, .contact-hero-grid, .ticket-reframed-hero-grid,
.privacy-reframed-hero-grid, .terms-reframed-hero-grid, .manage-desk-hero-grid {
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr) 250px;
  gap: 42px;
  align-items: end;
}
.services-paths-grid, .work-supporting-grid, .privacy-document-grid, .terms-document-grid,
.manage-desk-grid, .ticket-reframed-grid { display: grid; gap: 64px; }
.services-paths-grid { grid-template-columns: 250px minmax(0, 1fr); }
.services-close-grid, .work-close-grid { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding: 76px 0; }
.services-close h2, .work-close h2 { margin: 16px 0 0; font-size: clamp(2.7rem, 5vw, 5rem); line-height: .92; }
.services-close h2 em, .work-close h2 em { color: var(--signal); font-family: 'Inter', sans-serif; font-weight: 400; }
.work-feature-grid { grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); }
.work-supporting-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.work-supporting-head { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.work-supporting-head h2 { margin: 14px 0 0; font-size: clamp(2.4rem, 4vw, 4rem); line-height: .94; }
.privacy-reframed-hero-grid, .terms-reframed-hero-grid { min-height: 430px; }
.privacy-reframed-summary, .terms-reframed-summary { padding: 0 0 76px; }
.privacy-summary, .terms-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.privacy-document-grid, .terms-document-grid { grid-template-columns: 220px minmax(0, 1fr); padding: 76px 0 110px; }
.privacy-document-index, .terms-document-index { position: sticky; top: 110px; align-self: start; }
.privacy-document-index nav, .terms-document-index nav { display: grid; gap: 10px; margin-top: 24px; }
.privacy-document, .terms-document { max-width: 720px; }
.legal-content { font-size: .9rem; line-height: 1.75; }
.legal-content h2 { margin: 42px 0 12px; font-family: 'Fraunces', serif; font-size: 1.7rem; line-height: 1; }
.ticket-reframed-grid, .manage-desk-grid { grid-template-columns: 250px minmax(0, 1fr); }
.ticket-portal-steps, .manage-desk-rail { align-self: start; }
.ticket-portal-access, .manage-desk-workspace { min-width: 0; }
.ticket-portal-access-head, .manage-desk-workspace-head { padding: 18px 22px; }
.ticket-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.manage-desk-intro-grid { min-height: 430px; }
.not-found-studio { min-height: 620px; display: grid; grid-template-columns: 180px minmax(0, 1fr) 260px; gap: 64px; align-items: center; padding-top: 76px; padding-bottom: 96px; }
.not-found-number { color: var(--signal); font-family: 'Fraunces', serif; font-size: clamp(5rem, 13vw, 12rem); line-height: .8; }
.not-found-studio-copy h1 { margin: 18px 0 24px; font-family: 'Fraunces', serif; font-size: clamp(3rem, 5.4vw, 5.8rem); line-height: .88; }
.not-found-studio-copy h1 em { color: var(--signal); font-family: 'Inter', sans-serif; font-weight: 400; }

@media (max-width: 900px) {
  .services-hero-grid, .work-hero-grid, .contact-hero-grid, .ticket-reframed-hero-grid,
  .privacy-reframed-hero-grid, .terms-reframed-hero-grid, .manage-desk-hero-grid { grid-template-columns: 1fr 220px; }
  .services-hero-meta, .work-hero-meta, .contact-hero-meta, .ticket-reframed-meta, .privacy-reframed-meta, .terms-reframed-meta, .manage-desk-hero-meta { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 16px; }
  .services-hero-copy, .work-hero-copy, .contact-hero-copy, .ticket-reframed-hero-copy, .privacy-reframed-copy, .terms-reframed-copy, .manage-desk-hero-copy { grid-column: 1; }
  .services-hero-mark, .work-hero-mark, .contact-hero-mark, .ticket-reframed-mark, .privacy-reframed-mark, .terms-reframed-mark, .manage-desk-hero-mark { grid-column: 2; grid-row: 2; }
  .services-paths-grid, .work-feature-grid, .work-supporting-grid, .privacy-document-grid, .terms-document-grid, .manage-desk-grid, .ticket-reframed-grid { grid-template-columns: 1fr; }
  .privacy-document-index, .terms-document-index { position: static; }
  .not-found-studio { grid-template-columns: 140px 1fr; }
  .not-found-studio-actions { grid-column: 2; }
}

@media (max-width: 600px) {
  .services-hero-grid, .work-hero-grid, .contact-hero-grid, .ticket-reframed-hero-grid,
  .privacy-reframed-hero-grid, .terms-reframed-hero-grid, .manage-desk-hero-grid { grid-template-columns: 1fr; }
  .services-hero-meta, .work-hero-meta, .contact-hero-meta, .ticket-reframed-meta, .privacy-reframed-meta, .terms-reframed-meta, .manage-desk-hero-meta { display: grid; grid-template-columns: 1fr 1fr; }
  .services-hero-mark, .work-hero-mark, .contact-hero-mark, .ticket-reframed-mark, .privacy-reframed-mark, .terms-reframed-mark, .manage-desk-hero-mark { grid-column: auto; grid-row: auto; max-width: 260px; }
  .services-close-grid, .work-close-grid { display: grid; gap: 28px; padding: 60px 0; }
  .privacy-summary, .terms-summary, .ticket-summary-grid { grid-template-columns: 1fr; }
  .privacy-document-grid, .terms-document-grid, .manage-desk-grid, .ticket-reframed-grid { padding-top: 62px; padding-bottom: 72px; }
  .not-found-studio { min-height: 0; grid-template-columns: 1fr; gap: 32px; padding-top: 62px; padding-bottom: 72px; }
  .not-found-studio-actions { grid-column: auto; }
}

/* Services art direction */
.services-hero { background: var(--pine); }
.services-hero::before {
  content: 'OFFER / 03';
  position: absolute;
  right: -0.06em;
  bottom: -0.18em;
  color: rgba(255,255,255,.045);
  font-family: 'Fraunces', serif;
  font-size: clamp(10rem, 25vw, 24rem);
  font-weight: 600;
  letter-spacing: -.1em;
  line-height: .7;
  pointer-events: none;
  white-space: nowrap;
}
.services-hero-grid { position: relative; z-index: 1; }
.services-hero-copy { align-self: center; padding: 22px 0; }
.services-hero-copy h1 { max-width: 8ch; font-size: clamp(4.4rem, 8vw, 8rem); line-height: .81; }
.services-hero-copy > p { max-width: 38ch; }
.services-hero-mark { align-self: center; }
.services-hero-mark > div { position: relative; min-height: 280px; overflow: hidden; background: var(--ink); }
.services-hero-mark > div::before, .services-hero-mark > div::after { content: ''; position: absolute; background: rgba(255,255,255,.17); }
.services-hero-mark > div::before { top: 0; bottom: 0; left: 50%; width: 1px; }
.services-hero-mark > div::after { top: 50%; right: 0; left: 0; height: 1px; }
.services-hero-mark > div::marker { display: none; }
.services-hero-mark img { position: relative; z-index: 1; width: 126px; }
.services-hero-mark > span { display: block; padding-top: 16px; color: var(--signal); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.services-hero-mark > p { max-width: 25ch; margin: 8px 0 0; color: rgba(255,255,255,.64); font-size: .7rem; line-height: 1.6; }
.services-paths { position: relative; }
.services-paths::before { content: ''; position: absolute; top: 0; right: 8%; bottom: 0; width: 1px; background: rgba(14, 31, 24,.07); }
.services-section-intro p { max-width: 25ch; margin-top: 26px; color: var(--muted-ink); font-size: .84rem; }
.services-path { position: relative; display: grid; grid-template-columns: 60px minmax(0, 1.15fr) minmax(190px, .85fr); gap: 28px; padding: 30px 0; }
.services-path-number { color: var(--signal); font-family: 'Fraunces', serif; font-size: 1.6rem; line-height: 1; }
.services-path-main > span { color: var(--muted-ink); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.services-path-main h3 { margin: 11px 0 0; font-size: clamp(1.6rem, 2.5vw, 2.35rem); line-height: .95; }
.services-path-main p { max-width: 38ch; margin-top: 14px; line-height: 1.65; }
.services-path-detail { padding-left: 20px; border-left: 1px solid var(--line); }
.services-path-detail strong { color: var(--signal); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.services-path-detail p { margin: 9px 0 15px; font-size: .72rem; line-height: 1.55; }
.services-path-detail ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; color: var(--muted-ink); font-size: .68rem; }
.services-path-detail li::before { content: '+ '; color: var(--signal); font-weight: 800; }
.services-path:hover .services-path-number { transform: translateX(5px); transition: transform 180ms ease; }

@media (max-width: 900px) {
  .services-hero-copy { align-self: start; }
  .services-path { grid-template-columns: 44px minmax(0, 1fr); gap: 20px; }
  .services-path-detail { grid-column: 2; padding-top: 18px; padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 600px) {
  .services-hero-copy h1 { font-size: clamp(3.5rem, 15vw, 5.5rem); }
  .services-hero-mark > div { min-height: 240px; }
  .services-path { grid-template-columns: 1fr; gap: 14px; }
  .services-path-detail { grid-column: auto; }
}

/* Work art direction */
.work-hero { background: #203f3a; }
.work-hero::before {
  content: 'WORK / 03';
  position: absolute;
  right: -0.05em;
  bottom: -0.18em;
  color: rgba(255,255,255,.045);
  font-family: 'Fraunces', serif;
  font-size: clamp(11rem, 27vw, 26rem);
  font-weight: 600;
  letter-spacing: -.1em;
  line-height: .7;
  pointer-events: none;
  white-space: nowrap;
}
.work-hero-grid { position: relative; z-index: 1; }
.work-hero-copy { align-self: center; padding: 22px 0; }
.work-hero-copy h1 { max-width: 8ch; font-size: clamp(4.4rem, 8vw, 8rem); line-height: .81; }
.work-hero-copy > p { max-width: 38ch; }
.work-hero-mark { align-self: center; }
.work-hero-mark > div { position: relative; min-height: 280px; overflow: hidden; background: var(--ink); }
.work-hero-mark > div::before, .work-hero-mark > div::after { content: ''; position: absolute; background: rgba(255,255,255,.17); }
.work-hero-mark > div::before { top: 0; bottom: 0; left: 50%; width: 1px; }
.work-hero-mark > div::after { top: 50%; right: 0; left: 0; height: 1px; }
.work-hero-mark img { position: relative; z-index: 1; width: 126px; }
.work-hero-mark > span { display: block; padding-top: 16px; color: var(--signal); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.work-hero-mark > p { max-width: 25ch; margin: 8px 0 0; color: rgba(255,255,255,.64); font-size: .7rem; line-height: 1.6; }
.work-feature { background: var(--paper); }
.work-feature-grid { align-items: stretch; gap: 0; }
.work-feature-art { position: relative; min-height: 500px; overflow: hidden; background: var(--signal) !important; }
.work-feature-art::before { content: ''; position: absolute; top: 14%; right: 12%; width: 68%; height: 68%; border: 1px solid rgba(14, 31, 24,.45); border-radius: 50%; box-shadow: 0 0 0 34px rgba(14, 31, 24,.08), 0 0 0 68px rgba(14, 31, 24,.06); }
.work-feature-art::after { content: ''; position: absolute; top: 50%; right: 0; left: 0; height: 1px; background: rgba(14, 31, 24,.35); }
.work-feature-art span { position: relative; z-index: 1; font-family: 'Fraunces', serif; font-size: clamp(5rem, 13vw, 11rem); letter-spacing: -.09em; }
.work-feature-art small { position: absolute; z-index: 1; right: 20px; bottom: 18px; font-size: .6rem; font-weight: 800; letter-spacing: .12em; }
.work-feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 48px clamp(28px, 5vw, 72px); border: 1px solid var(--line); border-left: 0; }
.work-feature-copy h2 { max-width: 9ch; margin-top: 16px; font-size: clamp(2.4rem, 4.7vw, 5rem); line-height: .9; }
.work-feature-copy p { max-width: 38ch; margin: 24px 0; color: var(--muted-ink); font-size: .86rem; }
.work-feature-copy dl { display: grid; grid-template-columns: repeat(2, minmax(110px, 1fr)); gap: 26px; width: 100%; margin: 0 0 30px; padding-top: 18px; border-top: 1px solid var(--line); }
.work-feature-copy dt { color: var(--signal); font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.work-feature-copy dd { margin: 7px 0 0; font-size: .72rem; }
.work-link { display: inline-flex; align-items: center; gap: 20px; color: var(--ink); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.work-link b { color: var(--signal); font-size: 1rem; }
.work-supporting { background: var(--canvas); }
.work-supporting-head { align-items: end; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.work-supporting-head p { max-width: 25ch; margin: 0; color: var(--muted-ink); font-size: .78rem; }
.work-study { border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.work-study-art { min-height: 250px; }
.work-study > div:last-child { padding: 26px 24px 30px; }
.work-study > div:last-child > span { color: var(--muted-ink); font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.work-study h2 { margin: 12px 0 0; font-size: clamp(1.55rem, 2.4vw, 2.3rem); line-height: .95; }
.work-study p { margin: 15px 0 24px; color: var(--muted-ink); font-size: .78rem; }

@media (max-width: 900px) {
  .work-hero-copy { align-self: start; }
  .work-feature-art { min-height: 360px; }
  .work-feature-copy { border-top: 0; border-left: 1px solid var(--line); }
}

@media (max-width: 600px) {
  .work-hero-copy h1 { font-size: clamp(3.5rem, 15vw, 5.5rem); }
  .work-hero-mark > div { min-height: 240px; }
  .work-feature-copy { padding: 38px 24px 42px; }
  .work-feature-art { min-height: 280px; }
  .work-supporting-head { display: grid; gap: 18px; }
  .work-feature-copy dl { gap: 14px; }
}

/* Contact art direction */
.contact-hero { background: #362c4a; }
.contact-hero::before {
  content: 'OPEN / 01';
  position: absolute;
  right: -0.05em;
  bottom: -0.18em;
  color: rgba(255,255,255,.045);
  font-family: 'Fraunces', serif;
  font-size: clamp(10rem, 24vw, 23rem);
  font-weight: 600;
  letter-spacing: -.1em;
  line-height: .7;
  pointer-events: none;
  white-space: nowrap;
}
.contact-hero-grid { position: relative; z-index: 1; }
.contact-hero-copy { align-self: center; padding: 22px 0; }
.contact-hero-copy h1 { max-width: 8ch; font-size: clamp(4.4rem, 8vw, 8rem); line-height: .81; }
.contact-hero-copy > p { max-width: 38ch; }
.contact-hero-mark { align-self: center; }
.contact-hero-mark > div { position: relative; min-height: 280px; overflow: hidden; background: var(--ink); }
.contact-hero-mark > div::before, .contact-hero-mark > div::after { content: ''; position: absolute; background: rgba(255,255,255,.17); }
.contact-hero-mark > div::before { top: 0; bottom: 0; left: 50%; width: 1px; }
.contact-hero-mark > div::after { top: 50%; right: 0; left: 0; height: 1px; }
.contact-hero-mark img { position: relative; z-index: 1; width: 126px; }
.contact-hero-mark > span { display: block; padding-top: 16px; color: var(--signal); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact-hero-mark > p { max-width: 25ch; margin: 8px 0 0; color: rgba(255,255,255,.64); font-size: .7rem; line-height: 1.6; }
.contact-reframed-main { background: var(--paper); }
.contact-reframed-grid { align-items: start; }
.contact-reframed-rail { position: sticky; top: 112px; min-height: 520px; }
.contact-reframed-rail h2 { max-width: 9ch; font-size: clamp(2.8rem, 4.5vw, 4.9rem); line-height: .9; }
.contact-reframed-notes { margin-top: 18px; }
.contact-reframed-notes > div { padding: 18px 0; }
.contact-reframed-details { margin-top: auto; }
.contact-reframed-form { position: relative; overflow: hidden; max-width: none; border: 1px solid var(--line); background: #fffdf8; }
.contact-reframed-form::before { content: 'BRIEF / 02'; position: absolute; top: 20px; right: 22px; color: rgba(14, 31, 24,.32); font-size: .58rem; font-weight: 800; letter-spacing: .12em; }
.contact-reframed-form-head { padding: 22px 26px; background: var(--canvas); border-bottom: 1px solid var(--line); }
.contact-reframed-form-head > span { color: var(--ink); font-family: 'Fraunces', serif; font-size: 1.25rem; letter-spacing: 0; text-transform: none; }
.contact-reframed-form-head p { max-width: 24ch; font-size: .68rem; }
.contact-reframed-group { margin: 0; padding: 30px 26px; }
.contact-reframed-group legend { margin-bottom: 24px; font-size: 1.35rem; }
.contact-reframed-form .field label { color: var(--muted-ink); }
.contact-reframed-form .field input, .contact-reframed-form .field select, .contact-reframed-form .field textarea { background: #fffdf8 !important; }
.contact-reframed-submit { margin: 0 26px; padding: 26px 0 30px; border-top: 1px solid var(--line); }
.contact-reframed-submit .btn { background: var(--ink) !important; box-shadow: 5px 5px 0 rgba(239, 106, 76,.3); transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease; }
.contact-reframed-submit .btn:hover, .contact-reframed-submit .btn:focus-visible { background: var(--pine) !important; box-shadow: 2px 2px 0 rgba(239, 106, 76,.3); transform: translate(3px, 3px); }

@media (max-width: 900px) {
  .contact-hero-copy { align-self: start; }
  .contact-reframed-rail { position: static; min-height: 0; }
}

@media (max-width: 600px) {
  .contact-hero-copy h1 { font-size: clamp(3.5rem, 15vw, 5.5rem); }
  .contact-hero-mark > div { min-height: 240px; }
  .contact-reframed-form::before { position: static; display: block; padding: 18px 26px 0; }
  .contact-reframed-form-head { padding-top: 12px; }
  .contact-reframed-group { padding: 28px 20px; }
  .contact-reframed-submit { margin: 0 20px; display: grid; align-items: start; }
  .contact-reframed-submit .btn { width: 100%; }
}

/* Site-wide finishing system */
:root {
  --ink: #0e1f18;
  --pine: #163b2c;
  --signal: #c99a3f;
  --paper: #fbfaf6;
  --canvas: #eef0e6;
  --line: rgba(14, 31, 24,.16);
  --muted-ink: #55655c;
  --content-width: 1120px;
}
body { background: var(--paper); color: var(--ink); font-family: 'Inter', sans-serif; }
::selection { background: var(--signal); color: var(--ink); }
:focus-visible { outline: 2px solid var(--signal); outline-offset: 4px; }
.site-header { border-bottom: 1px solid rgba(255,255,255,.14); }
.site-footer { margin-top: 0; }
.site-footer a, .site-footer p { font-size: .76rem; }
.site-footer .footer-bottom { font-size: .64rem; letter-spacing: .04em; }
.privacy-reframed-hero, .terms-reframed-hero { background: #36413e; }
.privacy-reframed-hero::before, .terms-reframed-hero::before { content: 'READ / 04'; position: absolute; right: -.05em; bottom: -.18em; color: rgba(255,255,255,.045); font-family: 'Fraunces',serif; font-size: clamp(10rem,24vw,23rem); font-weight: 600; letter-spacing: -.1em; line-height: .7; pointer-events: none; white-space: nowrap; }
.privacy-reframed-hero-grid, .terms-reframed-hero-grid { position: relative; z-index: 1; }
.privacy-document, .terms-document { max-width: 760px; }
.privacy-document h2, .terms-document h2 { padding-top: 10px; border-top: 1px solid var(--line); }
.privacy-summary, .terms-summary { border: 0; border-top: 2px solid var(--ink); background: transparent; }
.privacy-summary > div, .terms-summary > div { padding: 22px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.privacy-summary > div:last-child, .terms-summary > div:last-child { border-right: 0; }
.ticket-reframed-hero, .manage-desk-hero { background: #234967; }
.ticket-reframed-hero::before, .manage-desk-hero::before { content: 'STATUS / 05'; position: absolute; right: -.05em; bottom: -.18em; color: rgba(255,255,255,.05); font-family: 'Fraunces',serif; font-size: clamp(9rem,22vw,21rem); font-weight: 600; letter-spacing: -.1em; line-height: .7; pointer-events: none; white-space: nowrap; }
.ticket-reframed-hero-grid, .manage-desk-hero-grid { position: relative; z-index: 1; }
.ticket-reframed-main, .manage-desk-main { background: var(--canvas); }
.ticket-portal-access, .manage-desk-workspace { border: 1px solid var(--line); background: #fffdf8; box-shadow: 6px 6px 0 rgba(14, 31, 24,.07); }
.ticket-portal-access-head, .manage-desk-workspace-head { background: var(--ink) !important; }
.ticket-portal-access .btn-primary, .manage-desk-workspace .btn-primary { background: var(--signal) !important; color: var(--ink) !important; }
.not-found-studio-page { background: var(--paper); }
.not-found-studio { position: relative; overflow: hidden; }
.not-found-studio::before { content: '404'; position: absolute; right: -.03em; bottom: -.08em; color: rgba(14, 31, 24,.05); font-family: 'Fraunces',serif; font-size: clamp(14rem,32vw,30rem); font-weight: 600; line-height: .7; pointer-events: none; }
.not-found-studio > * { position: relative; z-index: 1; }
.not-found-studio-copy h1 { color: var(--ink); }
.not-found-studio-copy p { color: var(--muted-ink); }
.not-found-number { color: var(--signal); }
.not-found-studio-actions { border-left-color: var(--line); }
.not-found-search input { background: var(--paper); border-color: var(--line); color: var(--ink); }
.not-found-search input::placeholder { color: var(--muted-ink); }
.not-found-search .btn { background: var(--signal) !important; color: var(--ink) !important; }
.not-found-studio-copy > span, .not-found-search label { color: var(--pine); }
.not-found-studio-actions nav { border-top-color: var(--line); }
.not-found-studio-actions nav a { border-bottom-color: var(--line); color: var(--ink); }
.not-found-studio { grid-template-columns: minmax(140px, 0.28fr) minmax(0, 1fr) minmax(240px, 0.45fr); gap: clamp(32px, 5vw, 68px); }
.not-found-number { align-self: center; max-width: 1.5ch; color: var(--signal); font-size: clamp(5rem, 10vw, 9.5rem); letter-spacing: -0.06em; text-align: center; }
.not-found-studio-copy { max-width: 560px; }
.not-found-studio-actions { padding-left: clamp(24px, 3vw, 42px); }
@media (max-width: 900px) {
  .not-found-studio { grid-template-columns: 140px minmax(0, 1fr); }
  .not-found-studio-actions { grid-column: 2; }
}
@media (max-width: 600px) {
  .not-found-studio { grid-template-columns: 1fr; gap: 32px; padding-top: 62px; padding-bottom: 72px; }
  .not-found-number { max-width: none; font-size: clamp(5rem, 24vw, 8rem); text-align: left; }
  .not-found-studio-actions { grid-column: auto; padding: 24px 0 0; border-top: 1px solid var(--line); border-left: 0; }
}
.contract-sign-page { background: var(--paper); }
.contract-sign-hero { background: #362c4a; }
.contract-sign-hero::before { content: 'SIGN / 06'; position: absolute; right: -.05em; bottom: -.18em; color: rgba(255,255,255,.045); font-family: 'Fraunces',serif; font-size: clamp(10rem,24vw,23rem); font-weight: 600; letter-spacing: -.1em; line-height: .7; pointer-events: none; white-space: nowrap; }
.contract-sign-hero-grid { position: relative; z-index: 1; }
.contract-sign-card { border: 1px solid var(--line); background: #fffdf8; box-shadow: 6px 6px 0 rgba(14, 31, 24,.07); }
.contract-sign-card-head { background: var(--canvas); }
.contract-sign-form .btn-primary { background: var(--signal) !important; color: var(--ink) !important; }

/* Final rhythm pass */
.home-hero-copy h1, .services-hero-copy h1, .work-hero-copy h1, .contact-hero-copy h1 { max-width: 12ch; }
.home-hero-copy h1 em, .services-hero-copy h1 em, .work-hero-copy h1 em, .contact-hero-copy h1 em { letter-spacing: 0; }
.home-hero::before, .services-hero::before, .work-hero::before, .contact-hero::before, .privacy-reframed-hero::before, .terms-reframed-hero::before, .ticket-reframed-hero::before, .manage-desk-hero::before, .contract-sign-hero::before { letter-spacing: 0; }
.home-service-item, .services-path, .work-study, .ticket-portal-access, .manage-desk-workspace, .contract-sign-card { transition: transform 220ms cubic-bezier(.16,1,.3,1), border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease; }
.home-service-item:hover, .services-path:hover, .work-study:hover, .ticket-portal-access:hover, .manage-desk-workspace:hover, .contract-sign-card:hover { transform: translateY(-4px); box-shadow: 7px 7px 0 rgba(14, 31, 24,.08); }
.services-path:hover .services-path-number { color: var(--ink); }
.home-hero, .services-hero, .work-hero, .contact-hero, .ticket-reframed-hero, .privacy-reframed-hero, .terms-reframed-hero, .contract-sign-hero { scroll-margin-top: 80px; }
.home-hero, .services-hero, .work-hero, .contact-hero, .ticket-reframed-hero, .contract-sign-hero { background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 72px 72px; animation: heroGridDrift 24s linear infinite; }
.home-mark-frame, .services-hero-mark > div, .work-hero-mark > div, .contact-hero-mark > div, .ticket-reframed-mark > div, .contract-sign-mark { transform: perspective(700px) rotateX(var(--tilt-y, 0deg)) rotateY(var(--tilt-x, 0deg)); transform-style: preserve-3d; transition: transform 400ms cubic-bezier(.16,1,.3,1); }
.home-mark-frame::after, .services-hero-mark > div::after, .work-hero-mark > div::after, .contact-hero-mark > div::after, .ticket-reframed-mark > div::after, .contract-sign-mark::after { animation: markScan 7s ease-in-out infinite; }
@keyframes heroGridDrift { from { background-position: 0 0, 0 0; } to { background-position: 72px 72px, 72px 72px; } }
@keyframes markScan { 0%, 100% { opacity: .18; } 50% { opacity: .42; } }

@media (prefers-reduced-motion: reduce) {
  .home-hero, .services-hero, .work-hero, .contact-hero, .ticket-reframed-hero, .contract-sign-hero { animation: none; }
  .home-mark-frame, .services-hero-mark > div, .work-hero-mark > div, .contact-hero-mark > div, .ticket-reframed-mark > div, .contract-sign-mark { transform: none; }
  .home-mark-frame::after, .services-hero-mark > div::after, .work-hero-mark > div::after, .contact-hero-mark > div::after, .ticket-reframed-mark > div::after, .contract-sign-mark::after { animation: none; }
}

@media (max-width: 900px) {
  .privacy-summary, .terms-summary { grid-template-columns: 1fr; }
  .privacy-summary > div, .terms-summary > div { border-right: 0; }
}

/* Homepage structural redesign */
.home-hero { min-height: min(820px, calc(100vh - 76px)); }
.home-hero-grid { min-height: min(740px, calc(100vh - 76px)); grid-template-columns: 110px minmax(0, 1fr) 270px; gap: 52px; }
.home-hero-copy { max-width: 680px; }
.home-hero-copy h1 { font-size: clamp(4.8rem, 8.8vw, 9rem); }
.home-hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 28px; }
.home-secondary-link { display: inline-flex; align-items: center; gap: 10px; color: rgba(255,255,255,.64); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: color 180ms ease, transform 180ms ease; }
.home-secondary-link b { color: var(--signal); font-size: 1rem; }
.home-secondary-link:hover, .home-secondary-link:focus-visible { color: #fff; transform: translateY(3px); }
.home-scroll-note { position: relative; z-index: 2; background: var(--paper); }
.home-signal-strip { position: relative; overflow: hidden; border-top: 1px solid rgba(14, 31, 24,.16); border-bottom: 1px solid rgba(14, 31, 24,.16); background: var(--signal); }
.home-signal-strip::after { content: 'SAJW'; position: absolute; right: -.03em; bottom: -.2em; color: rgba(14, 31, 24,.08); font-family: 'Fraunces',serif; font-size: clamp(8rem,20vw,18rem); font-weight: 600; line-height: .7; pointer-events: none; }
.home-signal-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); }
.home-signal-intro, .home-signal-item { min-height: 148px; padding: 26px 24px 24px 0; }
.home-signal-item { padding-left: 24px; border-left: 1px solid rgba(14, 31, 24,.2); }
.home-signal-intro strong { display: block; max-width: 8ch; margin-top: 12px; font-family: 'Fraunces',serif; font-size: clamp(1.7rem,3vw,3rem); line-height: .9; }
.home-signal-item > span { color: rgba(14, 31, 24,.62); font-family: 'Fraunces',serif; font-size: 1.1rem; }
.home-signal-item strong { display: block; margin-top: 18px; font-size: .8rem; }
.home-signal-item p { max-width: 17ch; margin: 7px 0 0; color: rgba(14, 31, 24,.68); font-size: .68rem; line-height: 1.5; }
.home-services { border-top: 0; }
.home-services-grid { padding-top: 110px; }
.home-service-item::before { content: ''; position: absolute; top: 0; left: 0; width: 0; height: 2px; background: var(--signal); transition: width 300ms cubic-bezier(.16,1,.3,1); }
.home-service-item:hover::before, .home-service-item:focus-visible::before { width: 100%; }

@media (max-width: 900px) {
  .home-hero { min-height: 0; }
  .home-hero-grid { min-height: 0; }
  .home-signal-grid { grid-template-columns: 1fr 1fr; }
  .home-signal-intro { grid-column: 1 / -1; min-height: auto; padding: 28px 0; }
  .home-signal-item:nth-child(3) { border-left: 0; }
}

@media (max-width: 600px) {
  .home-hero-grid { grid-template-columns: 1fr; }
  .home-hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .home-hero-copy h1 { max-width: 100%; font-size: clamp(3.2rem, 13vw, 5rem); line-height: .86; }
  .home-hero-meta { width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .home-hero-meta span { min-width: 0; overflow-wrap: anywhere; }
  .home-signal-grid { grid-template-columns: 1fr; }
  .home-signal-intro { grid-column: auto; }
  .home-signal-intro, .home-signal-item { min-height: 0; padding: 22px 0; border-left: 0; border-top: 1px solid rgba(14, 31, 24,.2); }
  .home-signal-intro { border-top: 0; }
}

@media (max-width: 600px) {
  .home-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .home-hero-copy { width: 100%; max-width: none; }
  .home-hero-copy h1 { width: 100%; max-width: none; }
  .home-hero-meta { width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .home-hero-meta span { min-width: 0; overflow-wrap: anywhere; }
}

/* Keep the menu above the drawer while it unfolds beneath it. */
.site-header { z-index: 300; }

/* Header search drawer */
.nav-actions { position: relative; }
@keyframes searchDrawerIn { from { opacity: 0; transform: translateY(-105%) scaleY(.94); } to { opacity: 1; transform: translateY(0) scaleY(1); } }
@keyframes searchContentIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes searchContentSwoosh { from { transform: translateY(-8px); } to { transform: translateY(0); } }

/* Spacing pass */
.home-hero { min-height: min(700px, calc(100vh - 76px)); }
.home-hero-grid { min-height: min(620px, calc(100vh - 76px)); }
.home-services-grid, .home-statement-grid, .home-planner-grid, .home-process-grid { padding-top: 82px; padding-bottom: 82px; }
.home-signal-intro, .home-signal-item { min-height: 126px; padding-top: 22px; padding-bottom: 20px; }
.home-signal-item strong { margin-top: 12px; }

@media (max-width: 900px) {
  .home-hero { min-height: 0; }
  .home-hero-grid { min-height: 0; gap: 34px; }
}

@media (max-width: 600px) {
  .home-hero-grid { gap: 30px; padding-top: 42px; padding-bottom: 46px; }
  .home-hero-copy h1 { margin-bottom: 18px; }
  .home-hero-actions { margin-top: 22px; }
  .home-mark-frame { min-height: 220px; }
  .home-signal-intro, .home-signal-item { min-height: 0; padding-top: 17px; padding-bottom: 17px; }
  .home-signal-item strong { margin-top: 7px; }
  .home-signal-item p { margin-top: 4px; }
  .home-services-grid, .home-statement-grid, .home-planner-grid, .home-process-grid { padding-top: 58px; padding-bottom: 58px; }
}

/* Search: single clean implementation (supersedes any earlier iterations). */
.nav-actions { position: relative; }
.site-search-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  min-width: 100px;
  padding: 0 14px 0 32px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 14px;
  background: rgba(255,255,255,0.04);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: left;
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}
.site-search-trigger::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 13px;
  width: 9px;
  height: 9px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  transform: translateY(-65%);
}
.site-search-trigger::after {
  content: '';
  position: absolute;
  top: calc(50% + 4px);
  left: 22px;
  width: 6px;
  height: 1.5px;
  background: currentColor;
  transform: rotate(45deg);
  transform-origin: left center;
}
.site-search-trigger:hover, .site-search-trigger:focus-visible { border-color: var(--signal); background: rgba(239, 106, 76,0.12); }
.site-search-trigger.is-active { border-color: var(--signal); background: var(--signal); color: var(--ink); }

.site-search-popover {
  position: fixed;
  inset: 78px 0 0;
  z-index: 400;
  display: flex;
  justify-content: flex-end;
  padding: 20px max(24px, calc((100vw - var(--content-width)) / 2)) 20px;
  background: rgba(16, 11, 18, 0.5);
  backdrop-filter: blur(5px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
}
.site-search-popover[hidden] { display: none; }
.site-search-popover.is-open { opacity: 1; pointer-events: auto; }

/* A light card reads clearly over any page background, dark hero or otherwise. */
.site-search-dialog {
  width: min(460px, 100%);
  max-height: min(640px, calc(100vh - 118px));
  overflow: auto;
  padding: 28px 28px 24px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--signal);
  border-radius: 14px;
  background: #fffdf8;
  color: var(--ink);
  box-shadow: 0 30px 70px rgba(12, 8, 14,0.38);
  transform: translateY(-16px) scale(0.97);
  opacity: 0;
  transition: transform 320ms cubic-bezier(0.16,1,0.3,1), opacity 220ms ease;
}
.site-search-popover.is-open .site-search-dialog { transform: translateY(0) scale(1); opacity: 1; }

.site-search-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.site-search-kicker, .site-search-index { display: block; white-space: nowrap; color: var(--pine); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.site-search-head h2 { margin: 8px 0 0; color: var(--ink); font-family: 'Fraunces', serif; font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 600; line-height: 0.95; }
.site-search-head-actions { display: grid; justify-items: end; gap: 10px; }
.site-search-close { padding: 0; border: 0; background: none; color: var(--ink); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; }
.site-search-close:hover, .site-search-close:focus-visible { color: var(--signal); }

.site-search-intro { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 16px; color: var(--muted-ink); font-size: 0.72rem; }
.site-search-intro p { margin: 0; }
.site-search-intro span { padding: 3px 7px; border: 1px solid var(--line); color: var(--pine); font-size: 0.6rem; font-weight: 700; }

.site-search-input-wrap { display: block; margin-top: 16px; }
.site-search-input-wrap > span { display: block; margin-bottom: 7px; color: var(--pine); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.site-search-field { display: flex; align-items: center; min-height: 56px; border: 1px solid var(--line); background: var(--paper); transition: border-color 180ms ease, box-shadow 180ms ease; }
.site-search-field:focus-within { border-color: var(--signal); box-shadow: 4px 4px 0 rgba(239, 106, 76,0.18); }
.site-search-field i { flex: 0 0 12px; width: 12px; height: 12px; margin-left: 15px; border: 1.5px solid var(--signal); border-radius: 50%; position: relative; }
.site-search-field i::after { content: ''; position: absolute; right: -5px; bottom: -3px; width: 6px; height: 1.5px; background: var(--signal); transform: rotate(45deg); }
.site-search-input-wrap input { flex: 1; min-width: 0; min-height: 54px; padding: 12px; border: 0; background: transparent; color: var(--ink); font-family: 'Fraunces', serif; font-size: 0.9rem; }
.site-search-input-wrap input:focus { outline: 0; }
.site-search-input-wrap input::placeholder { color: var(--muted-ink); }
.site-search-input-wrap input::-webkit-search-cancel-button,
.site-search-input-wrap input::-webkit-search-decoration { -webkit-appearance: none; appearance: none; }
.site-search-field button { width: 26px; height: 26px; margin-right: 8px; border: 0; background: none; color: var(--muted-ink); font-size: 1.3rem; line-height: 1; cursor: pointer; }
.site-search-field button:hover, .site-search-field button:focus-visible { color: var(--signal); }
.site-search-field kbd { margin-right: 13px; padding: 4px 6px; border: 1px solid var(--line); color: var(--muted-ink); font-family: 'Inter', sans-serif; font-size: 0.56rem; }

.site-search-suggestions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 16px; }
.site-search-suggestions > span { margin-right: 2px; color: var(--muted-ink); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.site-search-suggestions button { display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--line); background: var(--canvas); color: var(--ink); font-size: 0.63rem; font-weight: 700; cursor: pointer; transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease; }
.site-search-suggestions button b { color: var(--signal); font-weight: 400; transition: transform 180ms ease; }
.site-search-suggestions button:hover, .site-search-suggestions button:focus-visible { border-color: var(--ink); background: var(--ink); color: #fff; }
.site-search-suggestions button:hover b, .site-search-suggestions button:focus-visible b { transform: translate(2px, -2px); }

.site-search-intelligence { display: flex; gap: 12px; margin-top: 18px; padding: 13px 14px; border-left: 2px solid var(--signal); background: var(--canvas); }
.site-search-intelligence span { flex: none; color: var(--pine); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.site-search-intelligence p { margin: 0; color: var(--muted-ink); font-size: 0.72rem; line-height: 1.5; }

.site-search-count { margin: 18px 0 8px; color: var(--pine); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.site-search-results { display: grid; gap: 0; }
.site-search-result { position: relative; display: grid; gap: 4px; padding: 14px 24px 14px 4px; border-top: 1px solid var(--line); cursor: pointer; transition: background-color 180ms ease, padding-left 180ms ease, box-shadow 180ms ease; }
.site-search-result::after { content: '↗'; position: absolute; top: 14px; right: 4px; color: var(--signal); font-size: 1rem; opacity: 0; transition: opacity 180ms ease, transform 180ms ease; transform: translate(-3px, 3px); }
.site-search-result:hover, .site-search-result:focus-visible { padding-left: 12px; background: #fff8eb; box-shadow: inset 3px 0 0 var(--signal); outline: 0; }
.site-search-result:hover::after, .site-search-result:focus-visible::after { opacity: 1; transform: translate(0, 0); }
.site-search-result-meta { color: var(--signal); font-size: 0.56rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.site-search-result strong { color: var(--ink); font-family: 'Fraunces', serif; font-size: 0.94rem; font-weight: 600; }
.site-search-result span:last-child { color: var(--muted-ink); font-size: 0.72rem; line-height: 1.5; }
.site-search-empty { margin: 0; padding: 20px 0; color: var(--muted-ink); font-size: 0.78rem; }

.site-search-footer { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--muted-ink); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }

body.search-open { overflow: hidden; }

@media (max-width: 600px) {
  .site-search-trigger { min-width: 90px; }
  .site-search-popover { inset: 68px 0 0; padding: 0; align-items: stretch; }
  .site-search-dialog { width: 100%; max-height: none; height: calc(100vh - 68px); padding: 26px 20px 22px; border-top-width: 3px; }
  .site-search-field kbd { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .site-search-popover, .site-search-dialog { transition: none !important; }
  .site-search-result::after { transition: none !important; }
}
