/* Corresponding case chapters share one editorial system. No font imports. */
body #about { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; align-content:center; column-gap:clamp(24px,4vw,64px); row-gap:clamp(20px,3.5svh,36px); padding:clamp(24px,4svh,48px) clamp(24px,5vw,76px); min-height:100svh; }
body #about[hidden] { display:none; }
body #about .about-copy { min-width:0; max-width:44ch; }
body #about .faya-eyebrow { margin:0 0 24px; font-size:.63rem; line-height:1.4; font-weight:700; letter-spacing:.16em; color:var(--theme-muted,#8f8f8f) !important; }
body #about .about-copy p { margin:0; font-size:clamp(.95rem,1.3vw,1.1rem); line-height:1.45; overflow-wrap:break-word; }
body #about .about-copy p + p { margin-top:16px; }
body #about .character-stage { min-width:0; min-height:0; width:100%; padding:0 0 24px; order:0; }
body #about .character-frame { min-width:0; width:min(100%,78svh); max-width:800px; isolation:isolate; }
body #about .character-frame::before { content:''; position:absolute; left:50%; top:50%; height:100%; aspect-ratio:1; max-width:100%; transform:translate(-50%,-50%); border:1px solid var(--theme-line,#e5e0d9); border-radius:12px; background:#f2eee8; pointer-events:none; z-index:0; }
body #about .character-frame canvas { position:relative; z-index:1; }
body #about .platform { width:90%; min-width:0; bottom:0; }
body #about .about-bring { grid-column:1 / -1; min-width:0; }
body #about .about-highlights { grid-column:1 / -1; min-width:0; }
body #about .about-highlights-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
body #about .about-highlights .highlight-category { margin-bottom:10px; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:var(--theme-muted,#8f8f8f) !important; }
body #about .about-highlights .highlight-year { margin-top:14px; font-size:.72rem; color:var(--theme-muted,#938990) !important; }
@media(max-width:760px) { body #about .about-highlights-grid { grid-template-columns:1fr; } }
body #about .about-bring-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body #about .about-bring-grid.about-highlights-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:760px) { body #about .about-bring-grid.about-highlights-grid { grid-template-columns:1fr; } }
body #about .about-bring-card { min-width:0; padding:20px 18px; border:1px solid var(--theme-line,#e5e0d9); border-radius:12px; background:var(--theme-surface,#f6f3ee); transition:transform 260ms cubic-bezier(.2,.7,.3,1),background-color 260ms ease,border-color 260ms ease,box-shadow 260ms ease; }
body #about .about-reveal-pending { opacity:0; translate:0 22px; }
body #about .about-bring-card:focus-visible { outline:2px solid #a3979b; outline-offset:4px; background:#fcfaf6; border-color:#cec5bd; box-shadow:0 12px 28px rgba(50,43,47,.08); transform:translateY(-5px); }
@media(hover:hover) and (pointer:fine) {@media (hover:hover) and (pointer:fine) {
  body #about .about-bring-card:hover { background:#fcfaf6; border-color:#cec5bd; box-shadow:0 12px 28px rgba(50,43,47,.08); transform:translateY(-5px); }}
}
@media(prefers-reduced-motion:reduce) {
  body #about .about-reveal-pending { opacity:1; translate:none; }
  body #about .about-bring-card { transition:none; }@media (hover:hover) and (pointer:fine) {
  body #about .about-bring-card:is(:hover,:focus-visible) { transform:none; }}
}
body #about .about-bring-card h3 { margin:0 0 12px; font-size:.95rem; line-height:1.35; font-weight:500; letter-spacing:-.015em; color:var(--theme-ink,#4b4b4e) !important; overflow-wrap:break-word; }
body #about .about-bring-card p { margin:0; font-size:.8125rem; line-height:1.5; color:var(--theme-muted,#77747a) !important; overflow-wrap:break-word; }
@media(max-width:1000px) { body #about .about-bring-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
  body #about { grid-template-columns:1fr; row-gap:32px; padding:48px 24px; margin-inline:0; width:100%; }
  body #about .about-copy { max-width:48ch; }
  body #about .character-stage { min-height:0; padding-bottom:36px; }
  body #about .platform { bottom:18px; }
}
@media(max-width:480px) { body #about .about-bring-grid { grid-template-columns:1fr; } }
@media(min-width:761px) and (max-height:700px) {
  body #about { row-gap:16px; padding-block:24px; }
  body #about .about-copy p { font-size:.9rem; line-height:1.4; }
  body #about .about-copy p + p { margin-top:12px; }
  body #about .faya-eyebrow { margin-bottom:16px; }
  body #about .about-bring-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  body #about .about-bring-card { padding:16px 14px; }
  body #about .about-bring-card h3 { font-size:.875rem; margin-bottom:10px; }
  body #about .about-bring-card p { font-size:.75rem; line-height:1.4; }
}
body:is([data-active-case="aquilo"],[data-active-case="tale"],.tale-handoff-active,.tale-return-active,.post-tale-flow) .faya-scroll-laptop {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}
body.aquilo-scroll-return .project--aquilo { animation-play-state:paused; pointer-events:none; }
body.aquilo-scroll-return .project-aquilo-image { transition:none; }
.aquilo-detail-section { width:100%; min-height:100svh; display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); align-items:center; gap:clamp(44px,7vw,126px); padding:clamp(72px,7vw,104px) clamp(28px,8vw,132px) clamp(56px,5vw,80px); background:var(--bg); }
.aquilo-detail-section[hidden] { display:none; }
body #aquilo-details { display:block; padding:0; min-height:0; }
body #aquilo-details[hidden] { display:none; }
.aquilo-case-opening { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:safe center; gap:clamp(36px,5vw,80px); }
.aquilo-scope { margin-top:20px; font-size:.7875rem; line-height:1.6; color:var(--theme-muted,#969696); }
body #aquilo-details .aquilo-editorial > * { width:min(100%,48rem); margin-inline:auto; }
body #aquilo-details .aquilo-editorial { display:flex; flex-direction:column; align-items:center; justify-content:safe center; }
body #aquilo-details .aquilo-editorial > .faya-eyebrow { margin:0 auto 24px; }
body #aquilo-details .aquilo-editorial > h2:not(.faya-eyebrow) { margin-inline:auto; }
body #aquilo-details .aquilo-editorial h2:not(.faya-eyebrow) { font-family:inherit; font-size:calc(clamp(1.35rem,1.95vw,1.85rem) * .9); font-weight:500; line-height:1.18; letter-spacing:-.04em; color:var(--theme-ink,#4b4b4e); margin-top:0; margin-bottom:24px; }
body #aquilo-details .tale-editorial-copy p { font-family:inherit; font-size:calc(clamp(1.176rem,1.32vw,1.296rem) * .9); font-weight:400; line-height:1.35; color:var(--theme-copy,#29282d); }
body #aquilo-details .tale-editorial-copy p + p { margin-top:22px; }
body #aquilo-details .aquilo-with-media > .aquilo-media-layout { width:100%; max-width:1240px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(32px,5vw,80px); }
body #aquilo-details .aquilo-section-copy { min-width:0; }
body #aquilo-details .aquilo-section-copy > .faya-eyebrow { margin:0 0 24px; }
body #aquilo-details .aquilo-media { min-width:0; margin:32px auto 0; }
body #aquilo-details .aquilo-media-layout > .aquilo-media { width:100%; margin:0; }
body #aquilo-details .aquilo-media button { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
body #aquilo-details .aquilo-media button:focus-visible { outline:2px solid var(--theme-muted,#8f8f8f); outline-offset:6px; }
body #aquilo-details .aquilo-media img { display:block; width:100%; height:auto; }
body #aquilo-details .aquilo-media-layout img { max-height:72svh; object-fit:contain; }
body #aquilo-details .aquilo-social button { display:flex; justify-content:center; overflow:hidden; }
body #aquilo-details .aquilo-social img { flex:none; width:auto; height:72svh; max-height:760px; max-width:none; }
body #aquilo-details .aquilo-media figcaption { margin-top:18px; font-size:.73125rem; line-height:1.5; color:var(--theme-muted,#969696); }
body #aquilo-details .aquilo-media figcaption a { color:#a33d42; }
body #aquilo-details .aquilo-wide { width:100%; max-width:1100px; margin-top:32px; }
body #aquilo-details .aquilo-pdf-detail { width:min(100%,800px); margin-top:40px; }
body #aquilo-details .aquilo-title-panel { padding:32px clamp(24px,5vw,80px) 80px; }
body #aquilo-details .aquilo-title-panel > .aquilo-media-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(24px,4vw,56px); }
body #aquilo-details .aquilo-title-panel .aquilo-media img { max-height:60svh; object-fit:contain; }
body #aquilo-details .aquilo-title-panel .tale-editorial-copy p { font-size:clamp(.85rem,1.25vw,1.05rem); line-height:1.45; }
@media(max-width:800px) {
  body #aquilo-details .aquilo-with-media > .aquilo-media-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  body #aquilo-details .aquilo-media-layout img { max-height:none; }
  body #aquilo-details .aquilo-social img { height:520px; max-height:72svh; }
  body #aquilo-details .aquilo-title-panel { padding:24px 24px 72px; }
  body #aquilo-details .aquilo-title-panel > .aquilo-media-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  body #aquilo-details .aquilo-title-panel .aquilo-section-copy > .faya-eyebrow { margin-bottom:12px; }
  body #aquilo-details .aquilo-title-panel h2:not(.faya-eyebrow) { font-size:1.15rem; margin-bottom:16px; }
  body #aquilo-details .aquilo-title-panel .tale-editorial-copy p { font-size:clamp(.75rem,1.75svh,.9rem); line-height:1.4; }
  body #aquilo-details .aquilo-title-panel .tale-editorial-copy p + p { margin-top:12px; }
  body #aquilo-details .aquilo-title-panel .aquilo-media img { max-height:22svh; }
}
@media(max-height:600px) {
  body #aquilo-details .aquilo-title-panel { padding-top:16px; padding-bottom:64px; }
  body #aquilo-details .aquilo-title-panel > .aquilo-media-layout { gap:12px; }
  body #aquilo-details .aquilo-title-panel .aquilo-section-copy > .faya-eyebrow { margin-bottom:10px; }
  body #aquilo-details .aquilo-title-panel h2:not(.faya-eyebrow) { font-size:1.05rem; margin-bottom:12px; }
  body #aquilo-details .aquilo-title-panel .tale-editorial-copy p { font-size:.75rem; line-height:1.35; }
  body #aquilo-details .aquilo-title-panel .tale-editorial-copy p + p { margin-top:10px; }
}
@media(max-width:700px) {
  .aquilo-case-opening { grid-template-columns:minmax(0,1fr); gap:24px; align-content:safe center; }
}
.aquilo-detail-copy { position:relative; top:-10px; width:min(480px,100%); min-width:0; margin-left:clamp(12px,2vw,32px); container-type:inline-size; }
body #aquilo-details #aquilo-details-title > span { display:block; white-space:nowrap; font-size:min(1em,17cqw); color:inherit !important; }
body #aquilo-details .aquilo-detail-copy h2 { margin:16px 0 0; font-family:inherit; font-size:calc(clamp(3.2rem,6vw,6.5rem) * .9); font-weight:600; letter-spacing:-.02em; line-height:.95; color:var(--theme-ink,#2f2f31) !important; overflow-wrap:normal; }
body #aquilo-details .faya-eyebrow { margin:0; font-size:.63rem; font-weight:700; letter-spacing:.16em; line-height:1.4; color:var(--theme-muted,#8f8f8f) !important; }
.aquilo-value-proposition { margin:32px 0 0; font-size:calc(clamp(1rem,1.35vw,1.2rem) * .9); line-height:1.55; }
@media(min-width:801px) and (min-height:601px) {
  body #aquilo-details .aquilo-case-opening { grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:clamp(32px,4vw,64px); }
  body #aquilo-details .aquilo-detail-copy { width:100%; margin-left:0; }
  body #aquilo-details .aquilo-detail-copy h2 { font-size:calc(clamp(5rem,10vw,10.5rem) * .9); }
  body #aquilo-details .aquilo-value-proposition { max-width:48ch; }
}
.aquilo-detail-copy > a { display:inline-flex; font-size:.675rem; text-decoration:none; }
.aquilo-detail-image { display:block; width:100%; height:min(72svh,760px); object-fit:contain; filter:drop-shadow(0 24px 24px rgba(24,38,29,.16)); }
@media (max-width:700px) {
  .aquilo-detail-section { grid-template-columns:minmax(0,1fr); gap:24px; padding:64px 24px 80px; }
  .aquilo-detail-copy { margin-left:0; top:0; }
  body #aquilo-details .aquilo-detail-copy h2 { font-size:clamp(2.6rem,10.5vw,4rem); }
  .aquilo-detail-image { height:52svh; }
}
@font-face {
  font-family: 'Parfumerie Script';
  src: url('assets/fonts/parfumerie-script-regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
body .hero-surface > h1 {
  font-family: 'Parfumerie Script', cursive;
  font-weight: 400;
  font-size: clamp(6rem,15vw,15rem);
  line-height: 1.15;
  letter-spacing: 0;
  width: 90%;
}
@media (max-width:700px) {
  body .hero-surface > h1 { font-size: clamp(5rem,24vw,9.5rem); }
}
body .hero-surface > h1.hero-name-image { width:min(78vw,1100px); font-size:0; line-height:0; }
.hero-name-image img { display:block; width:100%; height:auto; object-fit:contain; opacity:.85; filter:none; }
.hero-name-image img.hero-name-highlight {
  position:absolute; inset:0; height:100%; pointer-events:none;
  opacity:var(--signature-highlight,0);
  filter:saturate(2.6) contrast(1.45) brightness(.65);
  mask-image:radial-gradient(circle 76px at var(--signature-x,-100px) var(--signature-y,-100px),#000 0%,#000 45%,transparent 100%);
  -webkit-mask-image:radial-gradient(circle 76px at var(--signature-x,-100px) var(--signature-y,-100px),#000 0%,#000 45%,transparent 100%);
  transition:none;
}
@media (prefers-reduced-motion:reduce) { .hero-name-image img { transition:none; } }
@media (max-width:700px) { body .hero-surface > h1.hero-name-image { width:86%; } }
#tale-details { width: 100%; max-width: 100%; min-width: 0; }
.tale-decision-image { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.tale-decision-image img { display: block; width: 100%; height: auto; object-fit: contain; }
.tale-decision-image:focus-visible { outline: 2px solid var(--theme-muted,#8f8f8f); outline-offset: 5px; }
.tale-book-flow .tale-decision-image img { height: clamp(420px,62svh,720px); width: 100%; object-fit: contain; }
.tale-flow-controls { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 20px; }
.tale-flow-controls button { font: inherit; font-size: .73125rem; padding: 8px 0; border: 0; border-radius: 6px; background: transparent; cursor: pointer; text-align: left; }@media (hover:hover) and (pointer:fine) {
.tale-flow-controls button:is(:hover,[aria-pressed="true"]) { background: #eeece7; box-shadow: -6px 0 #eeece7,6px 0 #eeece7; }}
.tale-flow-controls button:focus-visible { outline: 2px solid var(--theme-muted,#8f8f8f); outline-offset: 3px; }
.tale-flow-status { margin: 16px 0 0; font-size: .73125rem; line-height: 1.4; }
.tale-book-flow { --flow-progress: 20%; }
.tale-flow-stage { position: relative; perspective: 1100px; isolation: isolate; touch-action: pan-y; }
.tale-flow-stage .tale-decision-image { position: relative; z-index: 1; }
.tale-flow-stage .tale-decision-image img { transform-origin: center; }
.tale-flow-outgoing { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.tale-flow-progress { height: 2px; background:#e4e0e2; margin: 0 0 24px; position:relative; }
.tale-flow-progress::before { content:''; display:block; height:100%; width:var(--flow-progress); background:#cf8585; transition:width 650ms cubic-bezier(.16,1,.3,1); }
.tale-flow-controls button { transition:background 220ms ease,transform 220ms ease; }@media (hover:hover) and (pointer:fine) {
.tale-flow-controls button:hover { transform:translateY(-2px); }}
.tale-flow-arrow { position:absolute; top:50%; z-index:4; width:40px; height:40px; display:grid; place-items:center; border:1px solid #d9d2d8; border-radius:50%; background:rgba(252,250,246,.92); font:inherit; cursor:pointer; transition:transform 220ms ease,background 220ms ease,opacity 220ms ease; }
.tale-flow-arrow--previous { left:12px; }
.tale-flow-arrow--next { right:12px; }@media (hover:hover) and (pointer:fine) {
.tale-flow-arrow:hover:not(:disabled) { background:#eee8ed;transform:scale(1.1); }}
.tale-flow-arrow:disabled { opacity:.25;cursor:default; }
.tale-flow-arrow:focus-visible { outline:2px solid var(--theme-muted,#8f8f8f);outline-offset:4px; }
@media (prefers-reduced-motion:reduce) {
  .tale-flow-progress::before,.tale-flow-controls button,.tale-flow-arrow { transition:none; }@media (hover:hover) and (pointer:fine) {
  .tale-flow-controls button:hover { transform:none; }}
}
@media (max-width:700px) { .tale-book-flow .tale-decision-image img { height: auto; max-height: 78svh; } }
body :is(#faya-details,#tale-details) .faya-eyebrow {
  font-family: inherit; font-size: .63rem; font-weight: 700;
  letter-spacing: .16em; line-height: 1.4; color: var(--theme-muted,#8f8f8f) !important;
  text-transform: uppercase;
}
body :is(.faya-case-intro,.tale-detail-copy) h2 {
  margin: 16px 0 0; font-family: inherit;
  font-size: calc(clamp(5rem,10vw,10.5rem) * .9); font-weight: 600;
  line-height: .75; letter-spacing: -.02em; color: var(--theme-ink,#2f2f31) !important;
}
body :is(.faya-case-context .faya-meta-grid,.tale-context-copy .tale-meta-grid) dd {
  max-width: 19ch; margin: 9px 0 0; font-size: calc(clamp(.88rem,1.05vw,1rem) * .9);
  font-weight: 500; line-height: 1.3;
}
body :is(.faya-case-context .faya-meta-grid,.tale-context-copy .tale-meta-grid) > div {
  padding: 16px 12px 16px 0;
}
body :is(.faya-context-narrative,.tale-context-copy .tale-editorial-copy p) {
  font-family: inherit; font-size: calc(clamp(1.176rem,1.32vw,1.296rem) * .9);
  font-weight: 400; line-height: 1.35; color: var(--theme-copy,#29282d) !important;
}
.tale-context-copy > .faya-eyebrow { margin: 0; }
.tale-context-copy .tale-editorial-copy p:first-child { margin-top: 12px; }
.tale-context-copy .tale-editorial-copy p + p { margin-top: 22px; }
.tale-case-track > .tale-case-width {
  padding: clamp(72px,7vw,104px) clamp(28px,8vw,132px) clamp(56px,5vw,80px);
}
.tale-case-chapter > *,
.tale-case-chapter.tale-current-stage > .tale-current-layout {
  width: 100%; max-width: none;
}
.tale-case-track > .tale-case-opening .tale-detail-copy { position: relative; top: -10px; }
.tale-problem > .faya-eyebrow,
.tale-problem > .tale-problem-grid { width: min(100%,38rem); margin-inline: 0; }
.tale-problem > .faya-eyebrow { margin-bottom: 0; }
.tale-problem .tale-editorial-copy p:first-child { margin-top: 16px; }
.tale-problem .tale-editorial-copy p + p { margin-top: 28px; }
body :is(.faya-problem-section .faya-problem-intro > p:not(.faya-eyebrow),.tale-problem .tale-editorial-copy p,.tale-question h3) {
  font-family: inherit; font-size: calc(clamp(1.05rem,1.667vw,1.5rem) * .9);
  line-height: 1.2; letter-spacing: 0; color: var(--theme-copy,#29282d) !important;
}
.tale-question h3 { margin-top: 28px; font-weight: 600; }
.tale-case-track > .tale-case-decisions { padding: 24px clamp(32px,4vw,64px); }
.tale-case-decisions > * { max-width: 1480px; }
.tale-case-decisions > .faya-eyebrow { margin-bottom: 16px; }
.tale-case-decisions .tale-decision-tabs { margin-bottom: 16px; }
.tale-case-decisions .tale-decision-panel { align-items: start; }
body :is(.decisions-editorial .faya-core-decision-description h3,.tale-decision-copy h3) {
  font-family: inherit; font-size: calc(clamp(1.4rem,1.8vw,1.85rem) * .9);
  font-weight: 500; line-height: 1.15; letter-spacing: -.035em;
  color: var(--theme-ink,#4b4b4e) !important;
}
body :is(.decisions-editorial .faya-core-decision-description p:not(.decision-elements),.tale-decision-copy p) {
  font-family: inherit; font-size: .84375rem; line-height: 1.6; font-weight: 400;
  color: var(--theme-copy,#29282d) !important; font-style: normal;
}
.tale-decision-copy p { margin-top: 18px; }
body :is(.decisions-editorial .faya-comparison-label,.tale-decision-media figcaption) {
  font-family: inherit; font-size: .73125rem; font-weight: 400;
  line-height: 1.4; letter-spacing: 0; color: var(--theme-copy,#29282d) !important;
}
body :is(.decisions-editorial .faya-core-index-item,.tale-decision-tabs button) {
  font-family: inherit; font-size: .84375rem; font-weight: 500;
  line-height: 1.4; letter-spacing: 0; text-align: left;
}
.tale-case-decisions .tale-decision-tabs button {
  background: transparent; box-shadow: none; border: 0; border-radius: 0;
  min-height: 48px; padding: 12px 0; isolation: isolate;
}
.tale-decision-tabs button::before {
  content: ''; position: absolute; z-index: -1; inset: 4px -10px;
  background: #eeece7; border-radius: 6px; opacity: 0; transition: opacity 180ms ease;
}@media (hover:hover) and (pointer:fine) {
.tale-decision-tabs button:is(:hover,:focus-visible,[aria-selected="true"])::before { opacity: 1; }}
.tale-current-copy > .faya-eyebrow { margin-bottom: 0; }
body :is(.faya-current-stage-copy > p,.tale-current-copy .tale-editorial-copy p) {
  max-width: 34ch; margin: 24px 0 0; font-family: inherit;
  font-size: calc(clamp(1.15rem,1.8vw,1.65rem) * .9); line-height: 1.5;
  font-weight: 400; color: var(--theme-copy,#29282d) !important;
}
@media (min-width:1101px) and (min-height:761px) {
  .tale-case-track > [aria-labelledby="tale-context-title"] { padding: 0; }
  .tale-case-chapter[aria-labelledby="tale-context-title"] > .tale-context-layout {
    width: 100%; max-width: none; grid-template-columns: 6.81% 49.3% 43.89%; column-gap: 0;
  }
  .tale-context-copy { grid-column: 2; }
  .tale-context-visual { grid-column: 3; }
  body :is(.faya-context-narrative,.tale-context-copy .tale-editorial-copy p) {
    font-size: calc(clamp(1.2rem,1.44vw,1.296rem) * .9); line-height: 1.2;
  }
  .tale-context-copy .tale-editorial-copy p:first-child { margin-top: 9px; }
  .tale-problem > * { position: relative; top: -40px; }
}
@media (min-width:1001px) {
  .tale-decision-copy p + p { margin-top: 14px; }
}
@media (min-width:701px) and (max-height:760px) {
  .tale-case-track > [aria-labelledby="tale-context-title"] { padding-block: 32px; }
  body :is(.faya-case-context .faya-meta-grid,.tale-context-copy .tale-meta-grid) > div { min-height: 76px; padding-block: 12px; }
  .tale-context-copy .tale-editorial-copy p + p { margin-top: 16px; }
}
@media (min-width:701px) and (max-height:700px) {
  .tale-case-track > .tale-current-stage { padding-block: 28px; }
  body :is(.faya-current-stage-copy > p,.tale-current-copy .tale-editorial-copy p) { font-size: 1.035rem; margin-top: 16px; }
}
@media (max-width:700px) {
  .tale-case-track > .tale-case-width { padding: 64px 24px 80px; }
  .tale-case-track > .tale-case-decisions { padding-top: 48px; }
  .tale-case-track > .tale-case-opening .tale-detail-copy { top: 0; }
  body :is(.faya-case-intro,.tale-detail-copy) h2 { font-size: calc(clamp(4.7rem,23vw,7rem) * .9); }
  body :is(.faya-problem-section .faya-problem-intro > p:not(.faya-eyebrow),.tale-problem .tale-editorial-copy p,.tale-question h3) { font-size: 1.0125rem; line-height: 1.45; }
  body :is(.faya-current-stage-copy > p,.tale-current-copy .tale-editorial-copy p) { font-size: 1.0125rem; }
  body :is(.decisions-editorial .faya-core-index-item,.tale-decision-tabs button) { font-size: .73125rem; }
}

/* Complete the same 10% type reduction for secondary case copy and controls. */
body :is(#faya-details,#tale-details) :is(.faya-value-proposition,.tale-detail-copy > p:not(.faya-eyebrow)) { font-size: calc(clamp(1rem,1.35vw,1.2rem) * .9); }
body :is(#faya-details,#tale-details) :is(.faya-meta-grid dt,.faya-detail-notes p) { font-size: .603rem; }
body :is(#faya-details,#tale-details) .faya-detail-notes span { font-size: .774rem; }
body :is(#faya-details,#tale-details) .faya-decisions-intro { font-size: .84375rem; }
body :is(#faya-details,#tale-details) :is(.decision-elements,.tale-decision-subtitle) { font-size: .7875rem; }
body :is(#faya-details,#tale-details) .faya-comparison-heading { font-size: .63rem; }
body :is(#faya-details,#tale-details) .faya-live-link { font-size: .675rem; }
body :is(#faya-details,#tale-details) .faya-instagram-link { font-size: .612rem; }
body :is(#faya-details,#tale-details) .faya-conceptual-references li { font-size: .675rem; }
body :is(#faya-details,#tale-details) .tale-chapter-controls button { font-size: .73125rem; }
body :is(#faya-details,#tale-details) .faya-work-link > span { font-size: .84375rem; }
body :is(#faya-details,#tale-details) .tale-context-play { font-size: .7875rem; }
body :is(#faya-details,#tale-details) .faya-detail-next { font-size: .648rem; }
body :is(#faya-details,#tale-details) .faya-demo figcaption { font-size: .558rem; }

/* Place Tale's image captions beside the demonstration, not against its edge. */
#tale-details .tale-book-flow {
  display: grid;
  grid-template-columns: minmax(110px,.23fr) minmax(0,.77fr);
  column-gap: clamp(24px,3vw,44px);
  align-items: start;
}
#tale-details .tale-book-flow .tale-flow-controls { grid-column: 1 / -1; grid-row: 1; }
#tale-details .tale-book-flow .tale-flow-progress { grid-column: 1 / -1; grid-row: 2; }
#tale-details .tale-book-flow .tale-flow-stage { grid-column: 2; grid-row: 3; min-width: 0; }
body #tale-details .tale-book-flow > figcaption {
  grid-column: 1; grid-row: 3;
  align-self: end;
  margin: 0;
  max-width: 20ch;
  line-height: 1.65;
  color: var(--theme-muted,#969696) !important;
}
@media (max-width:700px) {
  #tale-details .tale-book-flow { grid-template-columns: minmax(0,1fr); }
  body #tale-details .tale-book-flow > figcaption { grid-column: 1; grid-row: 3; max-width: 42ch; margin: 0 0 28px; }
  #tale-details .tale-book-flow .tale-flow-stage { grid-column: 1; grid-row: 4; }
}

/* Keep the larger artwork close to the wordmark without covering its lettering. */
.hero-surface {
  --hero-panel-width:min(calc(100vw - 63px),1520px);
  --hero-phone-width:calc(min(18vw,22svh,220px) * 1.157625);
  --hero-envelope-width:calc(min(16vw,19svh,180px) * 1.1025);
  --hero-laptop-width:calc(min(30vw,34svh,390px) * 1.21275);
  --hero-art-gap:6px;
  --hero-content-drop:clamp(24px,4svh,44px);
  --hero-laptop-extra-drop:20px;
  --hero-mark-width:min(68vw,150svh,calc(var(--hero-panel-width) - 2 * (max(var(--hero-envelope-width),var(--hero-phone-width)) + var(--hero-art-gap))));
  --hero-mark-height:calc(var(--hero-mark-width) * 724 / 2172);
}
.hero-surface .project { animation-name:hero-art-drift; }@media (hover:hover) and (pointer:fine) {
/* Keep the phone shadow outside the hover filter's rectangular bounds. */
.hero-surface .project--tale,
.hero-surface .project--tale:is(:hover,:focus-visible,[data-active="true"]) { filter:none; overflow:visible; }}
.hero-surface { overflow:visible; }
@keyframes hero-art-drift { 0%,100% {transform:translate3d(0,0,0)} 50% {transform:translate3d(0,-4px,0)} }
.hero-surface .scroll-indicator i { display:grid; place-items:center; width:24px; height:30px; background:none; font-style:normal; font-size:24px; line-height:1; }
.hero-surface .scroll-indicator i::after { content:none; }
body .hero-surface > h1.hero-name-image {
  top:calc(46% + var(--hero-content-drop));
  width:var(--hero-mark-width);
  transform:translate(-50%,-50%);
}
.hero-surface .project--faya.project-2 {
  width:var(--hero-laptop-width);
  left:50%; right:auto;
  top:calc(max(6px,46% - var(--hero-mark-height) / 2 - var(--hero-laptop-width) * 987 / 1508 - var(--hero-art-gap) - 2px) + var(--hero-content-drop) + var(--hero-laptop-extra-drop));
  bottom:auto;
  translate:-50% 0;
}
.hero-surface .project--tale.project-1 {
  width:var(--hero-phone-width);
  left:calc(50% - var(--hero-mark-width) / 2 - var(--hero-phone-width) - var(--hero-art-gap));
  right:auto; top:calc(49% - var(--hero-phone-width) * 1373 / 846 / 2 + var(--hero-content-drop)); bottom:auto;
}
.hero-surface .project--aquilo.project-3 {
  width:var(--hero-envelope-width);
  right:calc(50% - var(--hero-mark-width) / 2 - var(--hero-envelope-width) - var(--hero-art-gap));
  left:auto; top:calc(50% - var(--hero-envelope-width) * 1006 / 808 / 2 + var(--hero-content-drop)); bottom:auto;
}
@media (max-width:700px) {
  .hero-surface {
    --hero-mark-width:86%;
    --hero-content-drop:12px;
    --hero-laptop-extra-drop:8px;
    --hero-laptop-width:calc(min(52vw,30svh,250px) * 1.21275);
    --hero-mark-height:calc((100vw - 43px) * .86 * 724 / 2172);
  }
  body .hero-surface > h1.hero-name-image { top:calc(44% + var(--hero-content-drop)); width:86%; }
  .hero-surface .project--faya.project-2 { top:calc(max(64px,44% - var(--hero-mark-height) / 2 - var(--hero-laptop-width) * 987 / 1508 - 12px) + var(--hero-content-drop) + var(--hero-laptop-extra-drop)); }
  .hero-surface .project--tale.project-1 { width:calc(min(33vw,24svh,170px) * 1.157625); left:12%; top:calc(44% + var(--hero-mark-height) / 2 + 8px + var(--hero-content-drop)); bottom:auto; }
  .hero-surface .project--aquilo.project-3 { width:calc(min(28vw,21svh,145px) * 1.1025); right:12%; top:calc(44% + var(--hero-mark-height) / 2 + 8px + var(--hero-content-drop)); bottom:auto; }
}

body #aquilo-details .tale-case-track > article { overflow:hidden; }
body #aquilo-details .aquilo-explore { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; padding:32px 24px 76px; }
body #aquilo-details .aquilo-explore > .faya-more-work { width:min(100%,360px); margin:0; }
body #aquilo-details .aquilo-explore .faya-more-work-links { margin-top:20px; gap:20px; }
body #aquilo-details .aquilo-explore .faya-work-link { grid-template-rows:min(21svh,190px) auto; font-size:.84375rem; }
body #aquilo-details .aquilo-explore > .aquilo-continue { width:auto; margin:0; font-size:.84375rem; }
body #aquilo-details .aquilo-explore-layout { width:min(100%,1200px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(32px,7vw,100px); }
body #aquilo-details .aquilo-reflection { min-width:0; }
body #aquilo-details .aquilo-reflection p { margin:24px 0 0; max-width:350px; font-size:clamp(1.375rem,min(1.85vw,3.3svh),1.75rem); line-height:1.45; color:var(--theme-copy,#29282d); }
body #aquilo-details .aquilo-reflection .aquilo-continue { display:inline-flex; margin-top:24px; font-size:.84375rem; font-weight:400; line-height:1.4; letter-spacing:normal; text-transform:none; color:#7f272e !important; border-bottom:1px solid currentColor; }
body #aquilo-details .aquilo-reflection .aquilo-continue > span { color:inherit !important; }
body #aquilo-details .aquilo-explore-layout .faya-more-work { width:min(100%,360px); margin:0 auto; }
@media(max-width:700px) {
  body #aquilo-details .aquilo-explore-layout { grid-template-columns:1fr; gap:24px; }
  body #aquilo-details .aquilo-reflection p { margin-top:16px; max-width:none; font-size:clamp(.8rem,1.7svh,1rem); line-height:1.4; }
  body #aquilo-details .aquilo-reflection .aquilo-continue { margin-top:16px; }
  body #aquilo-details .aquilo-explore-layout .faya-work-link { grid-template-rows:12svh auto; }
  body #aquilo-details .aquilo-explore-layout .faya-more-work-links { gap:10px; margin-top:12px; }
}
@media(max-height:600px) {
  body #aquilo-details .aquilo-explore { gap:12px; padding-top:16px; padding-bottom:64px; }
  body #aquilo-details .aquilo-explore .faya-more-work-links { gap:8px; margin-top:12px; }
  body #aquilo-details .aquilo-explore .faya-work-link { grid-template-rows:17svh auto; }
}
body #aquilo-details .aquilo-decisions { padding:32px clamp(24px,5vw,80px) 76px; justify-content:flex-start; }
body #aquilo-details .aquilo-decisions > * { width:100%; max-width:1240px; }
body #aquilo-details .aquilo-decisions > .faya-eyebrow { margin-bottom:16px; }
body #aquilo-details .aquilo-decision-tabs {
  display:flex;
  gap:24px;
  flex-shrink:0;
  align-self:start;
  margin:0 0 24px;
  margin-inline-start:max(0px, calc((100% - 1240px) / 2));
}
body #aquilo-details .aquilo-decision-tabs button { border:0; border-radius:6px; padding:10px 12px; background:transparent; font:inherit; font-size:.84375rem; color:var(--theme-muted,#77747a); cursor:pointer; }@media (hover:hover) and (pointer:fine) {
body #aquilo-details .aquilo-decision-tabs button:is(:hover,[aria-selected="true"]) { background:#eeece7; color:var(--theme-ink,#4b4b4e); }}
body #aquilo-details .aquilo-decision-tabs button:focus-visible { outline:2px solid var(--theme-muted,#8f8f8f); outline-offset:3px; }
body #aquilo-details .aquilo-decision-content { flex:1; min-height:0; }
body #aquilo-details .aquilo-decision-content[hidden] { display:none; }
body #aquilo-details .aquilo-decision-content .aquilo-media-layout { height:100%; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(24px,4vw,56px); align-items:start; }
body #aquilo-details .aquilo-decision-content .aquilo-media { height:100%; min-height:0; display:flex; flex-direction:column; justify-content:flex-start; margin:0; }
body #aquilo-details .aquilo-decision-content .aquilo-media button { min-height:0; }
body #aquilo-details .aquilo-decision-content .aquilo-media img { width:100%; height:100%; max-height:58svh; object-fit:contain; }
body #aquilo-details .aquilo-decision-content .aquilo-social img { width:auto; height:58svh; max-width:none; }
body #aquilo-details .aquilo-applications { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:36px; padding:32px clamp(24px,5vw,80px) 76px; }
body #aquilo-details .aquilo-applications > * { width:100%; min-width:0; }
body #aquilo-details .aquilo-applications-copy .faya-eyebrow { margin-bottom:24px; }
body #aquilo-details .aquilo-editorial-gallery { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:20px; align-items:center; }
body #aquilo-details .aquilo-editorial-gallery .aquilo-media { margin:0; }
body #aquilo-details .aquilo-editorial-gallery img { max-height:58svh; object-fit:contain; }
@media(min-width:801px) and (min-height:601px) {
  body #aquilo-details .aquilo-decisions { justify-content:center; }
  body #aquilo-details .aquilo-decision-content { flex:0 1 auto; }
  body #aquilo-details .aquilo-decision-content .aquilo-media-layout { height:auto; }
  body #aquilo-details .aquilo-decision-content .aquilo-media { height:auto; }
  body #aquilo-details .aquilo-decision-content .aquilo-media img { height:auto; max-height:52svh; }
  body #aquilo-details .aquilo-decision-content .aquilo-social img { height:52svh; }
  body #aquilo-details .aquilo-decision-content .aquilo-media figcaption { text-align:center; }
}
@media(max-width:800px) {
  body #aquilo-details .aquilo-decisions { padding:20px 24px 68px; }
  body #aquilo-details .aquilo-decision-tabs { gap:8px; margin-bottom:16px; }
  body #aquilo-details .aquilo-decision-tabs button { font-size:.75rem; padding:8px; }
  body #aquilo-details .aquilo-decision-content .aquilo-media-layout { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); gap:16px; }
  body #aquilo-details .aquilo-decision-content h2:not(.faya-eyebrow) { font-size:1.1rem; margin-bottom:12px; }
  body #aquilo-details .aquilo-decision-content .tale-editorial-copy p { font-size:clamp(.75rem,1.7svh,.9rem); line-height:1.4; }
  body #aquilo-details .aquilo-decision-content .tale-editorial-copy p + p { margin-top:12px; }
  body #aquilo-details .aquilo-decision-content .aquilo-media button { flex:1; }
  body #aquilo-details .aquilo-decision-content .aquilo-media img { height:100%; max-height:28svh; }
  body #aquilo-details .aquilo-decision-content .aquilo-social img { width:auto; height:28svh; max-height:100%; }
  body #aquilo-details .aquilo-decision-content .aquilo-media figcaption { margin-top:8px; }
  body #aquilo-details .aquilo-applications { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); padding:24px 24px 68px; gap:24px; }
  body #aquilo-details .aquilo-applications .tale-editorial-copy p { font-size:clamp(.8rem,1.8svh,1rem); line-height:1.4; }
  body #aquilo-details .aquilo-editorial-gallery img { max-height:32svh; }
  body #aquilo-details .aquilo-editorial-gallery { gap:12px; }
  body #aquilo-details .aquilo-editorial-gallery figcaption { font-size:.7rem; }
  body #aquilo-details .aquilo-with-media { padding:24px 24px 68px; }
  body #aquilo-details .aquilo-with-media > .aquilo-media-layout { height:100%; min-height:0; grid-template-rows:auto minmax(0,1fr); gap:20px; }
  body #aquilo-details .aquilo-with-media .tale-editorial-copy p { font-size:clamp(.75rem,1.7svh,.95rem); line-height:1.4; }
  body #aquilo-details .aquilo-with-media .aquilo-media { height:100%; min-height:0; }
  body #aquilo-details .aquilo-with-media .aquilo-media button { height:100%; }
  body #aquilo-details .aquilo-with-media .aquilo-media img { height:100%; object-fit:contain; }
  body #aquilo-details .aquilo-case-opening { padding:24px 24px 68px; grid-template-rows:auto minmax(0,1fr); gap:16px; }
  body #aquilo-details .aquilo-case-opening .aquilo-detail-image { height:100%; min-height:0; }
  body #aquilo-details .aquilo-detail-copy h2 { font-size:clamp(1.8rem,5svh,3rem); }
  body #aquilo-details .aquilo-value-proposition { margin-top:16px; }
  body #aquilo-details .aquilo-scope { margin-top:12px; }
}
@media(min-width:801px) and (max-height:600px) {
  body #aquilo-details .aquilo-case-opening,
  body #aquilo-details .aquilo-with-media,
  body #aquilo-details .aquilo-applications { padding:16px 32px 64px; gap:24px; }
  body #aquilo-details .aquilo-detail-copy { top:0; margin-left:0; }
  body #aquilo-details .aquilo-detail-copy h2 { font-size:2rem; margin-top:12px; }
  body #aquilo-details .aquilo-value-proposition { font-size:.8rem; margin-top:12px; }
  body #aquilo-details .aquilo-scope { font-size:.7rem; margin-top:10px; }
  body #aquilo-details .aquilo-detail-image { height:60svh; }
  body #aquilo-details .aquilo-with-media .tale-editorial-copy p,
  body #aquilo-details .aquilo-applications .tale-editorial-copy p { font-size:.8rem; line-height:1.35; }
  body #aquilo-details .aquilo-with-media .aquilo-media img { max-height:65svh; }
  body #aquilo-details .aquilo-decisions { padding-top:16px; padding-bottom:64px; }
  body #aquilo-details .aquilo-decisions > .faya-eyebrow { margin-bottom:8px; }
  body #aquilo-details .aquilo-decision-tabs { margin-bottom:12px; }
  body #aquilo-details .aquilo-decision-content h2:not(.faya-eyebrow) { font-size:1rem; margin-bottom:12px; }
  body #aquilo-details .aquilo-decision-content .tale-editorial-copy p { font-size:.75rem; line-height:1.35; }
  body #aquilo-details .aquilo-decision-content .tale-editorial-copy p + p { margin-top:10px; }
}
/* Resume keeps the interactive collection beside the forthcoming text. */
#interactive-board-section {
  width: 100%;
  min-width: 0;
  min-height: 100svh;
  padding: clamp(24px, 4vw, 64px);
  align-self: stretch;
}
#interactive-board-section[hidden] { display: none; }
#interactive-board-section .board-shell {
  width: 100%;
  max-width: 1600px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  margin-inline: auto;
}
#interactive-board-section .board-header { grid-template-columns: minmax(0, 1fr); }
#interactive-board-section .board-title-group { grid-column: 1; text-align: left; }
#interactive-board-section .resume-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
  margin-top: clamp(4px, 1svh, 10px);
}
#interactive-board-section .resume-layout .board-stage {
  background: #fffefd;
  width: 100%;
  min-width: 0;
  height: clamp(400px, 60svh, 680px);
  min-height: 0;
  margin-top: 0;
}
#interactive-board-section .resume-copy { min-width:0; height:clamp(400px,60svh,680px); min-height:0; display:flex; flex-direction:column; }
@media(min-width:761px) {
  #interactive-board-section { display:flex; align-items:flex-start; box-sizing:border-box; min-height:100svh; padding-block:clamp(16px,2.5svh,28px) 32px; }
  #interactive-board-section[hidden] { display:none; }
  #interactive-board-section .resume-background { max-height:60svh; }
}
#interactive-board-section .resume-tabs {
  flex-shrink:0;
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
  gap: 6px;
  padding: 5px;
  margin-bottom: 20px;
  width: fit-content;
  border-radius: 12px;
  background: #eeebe6;
}
#interactive-board-section .resume-tabs button {
  border: 0;
  border-radius: 8px;
  padding: 10px 16px;
  background: transparent;
  font-family: inherit;
  font-size: .85rem;
  font-weight: 500;
  line-height: 1.3;
  cursor: pointer;
  transition: background 180ms ease, box-shadow 180ms ease;
}
#interactive-board-section .resume-tabs button[aria-selected="true"] {
  background: #fcfaf7;
  box-shadow: 0 2px 8px #332b3310;
}@media (hover:hover) and (pointer:fine) {
#interactive-board-section .resume-tabs button:hover { background: #f8f5f0; }}
#interactive-board-section .resume-tabs button:focus-visible,
#interactive-board-section .resume-panel:focus-visible { outline: 2px solid #a3979b; outline-offset: 4px; }
#interactive-board-section .resume-panel[hidden] { display: none; }
#interactive-board-section .resume-panel {
  scrollbar-color: #8f8f8f transparent;
  scrollbar-width: thin;
  height: 0;
  flex: 1;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  scrollbar-width: thin;
  overscroll-behavior: contain;
  padding-right: 12px;
}
#interactive-board-section .resume-background { max-height: none; overflow-y: auto; scrollbar-width: thin; padding: 4px 12px 4px 0; overscroll-behavior: contain; }
#interactive-board-section .resume-background > section + section { margin-top: 24px; }
#interactive-board-section .resume-group-title { margin: 0 0 6px; font-size: .65rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--theme-muted,#938990) !important; }
@media(max-width:760px) { #interactive-board-section .resume-copy { height:clamp(400px,65svh,600px); } }
#interactive-board-section .resume-list { list-style: none; padding: 0; margin: 0; }
#interactive-board-section .resume-list li {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid #e6e0da;
}
#interactive-board-section .resume-list li:last-child { border-bottom: 0; }
#interactive-board-section .resume-date { padding-top: 3px; font-size: .72rem; color: #91868b !important; }
#interactive-board-section .resume-list h3 { margin: 0 0 3px; font-size: .95rem; line-height: 1.3; letter-spacing: -.02em; font-weight: 600; }
#interactive-board-section .resume-list p { margin: 0; font-size: .78rem; line-height: 1.45; color: #777079 !important; overflow-wrap: anywhere; }
#interactive-board-section .resume-list .resume-detail { font-size: .72rem; color: var(--theme-muted,#938990) !important; }
#interactive-board-section .resume-folder-link {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  font-family: inherit;
  cursor: pointer;
}
#interactive-board-section .resume-entry-title { font-size: .95rem; line-height: 1.3; font-weight: 600; color: var(--theme-ink,#716a74) !important; }
#interactive-board-section .resume-entry-school { font-size: .78rem; line-height: 1.45; color: #777079 !important; }@media (hover:hover) and (pointer:fine) {
#interactive-board-section .resume-folder-link:hover .resume-entry-title { text-decoration: underline; text-underline-offset: 4px; }}
#interactive-board-section .resume-folder-link:focus-visible { outline: 2px solid #a3979b; outline-offset: 5px; border-radius: 3px; }
@media (min-width: 761px) and (max-height: 740px) {
  #interactive-board-section .resume-list li { padding-block: 8px; }
  #interactive-board-section .resume-tabs { margin-bottom: 10px; }
}
@media (max-width: 760px) {
  #interactive-board-section .resume-layout { grid-template-columns: minmax(0, 1fr); }
  #interactive-board-section { padding: 16px 16px 32px; }
  #interactive-board-section .board-header { grid-template-columns: 1fr; gap: 24px; }
  #interactive-board-section .board-title-group { grid-column: 1; text-align: left; }
  #interactive-board-section .resume-layout .board-stage { height: clamp(460px, 70svh, 660px); min-height: 0; }
  #interactive-board-section .resume-copy:empty { display: none; }
}

/* About: introduction, interactive portrait, and a vertical skills column. */
@media (min-width: 1101px) {
  body #about {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 1fr);
    column-gap: clamp(24px, 3vw, 52px);
  }
  body #about .about-copy { grid-column: 1; grid-row: 1; }
  body #about .character-stage { grid-column: 2; grid-row: 1; }
  body #about .about-bring { grid-column: 3; grid-row: 1; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  body #about .about-copy { grid-column: 1 / -1; max-width: 70ch; }
  body #about .character-stage { grid-column: 1; grid-row: 2; }
  body #about .about-bring { grid-column: 2; grid-row: 2; }
}
body #about .about-bring .about-bring-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
body #about .about-bring .about-bring-card { padding: 16px 18px; }
body #about .about-bring .about-bring-card h3 { margin-bottom: 8px; }

/* Soft rose surfaces for cards and selected controls throughout the portfolio. */
.decisions-editorial .faya-core-index-item::before,
.tale-decision-tabs button::before { background: #f8eee7; }
body #about .character-frame::before { background: var(--theme-surface,#faf1eb); border-color: var(--theme-line,#ecddd2); }
body #about .about-bring-card { background: #fcf4ee; border-color: #eee0d5; }
body #about .about-bring-card:focus-visible { background: var(--theme-surface,#fff8f2); border-color: #e2c8b8; }
@media (hover:hover) and (pointer:fine) {@media (hover:hover) and (pointer:fine) {
  body #about .about-bring-card:hover { background: var(--theme-surface,#fff8f2); border-color: #e2c8b8; }}
}
#interactive-board-section .resume-tabs { background: #f8eee7; }
#interactive-board-section .resume-tabs button[aria-selected="true"] { background: var(--theme-surface,#fff8f2); }@media (hover:hover) and (pointer:fine) {
#interactive-board-section .resume-tabs button:hover { background: #fcf2ea; }}@media (hover:hover) and (pointer:fine) {
body #aquilo-details .aquilo-decision-tabs button:is(:hover,[aria-selected="true"]) { background: #f8eee7; }}@media (hover:hover) and (pointer:fine) {
.tale-flow-controls button:is(:hover,[aria-pressed="true"]) { background: #f8eee7; box-shadow: -6px 0 #f8eee7,6px 0 #f8eee7; }}

/* Portrait and compact skills now form one shared square. */
.contact-section { width:100%; min-width:0; min-height:75svh; padding:clamp(64px,10svh,140px) clamp(24px,5vw,80px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.contact-section[hidden] { display:none; }
.contact-section > h2 { font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; margin:0 0 32px; color:var(--theme-muted,#8f8f8f) !important; }
.contact-email { display:block; width:100%; padding:12px 0; border:0; background:none; text-align:left; font-family:inherit; font-size:clamp(1.3rem,6.7vw,8rem); line-height:1.2; font-weight:500; letter-spacing:-.06em; cursor:pointer; }
body .contact-email span { color:var(--theme-ink,#716a74) !important; }
.contact-letter { display:inline-block; transform:translateY(var(--letter-y,0px)) scaleY(var(--letter-scale,1)); transform-origin:50% 70%; transition:transform 180ms ease-out; }
.contact-email,.contact-email span { user-select:text; -webkit-user-select:text; cursor:text; }
.contact-email:focus-visible { outline:2px solid #a3979b; outline-offset:8px; border-radius:4px; }
.contact-copy-status { min-height:1.5em; margin:14px 0 40px; font-size:.75rem; color:var(--theme-muted,#938990) !important; }
.contact-socials { display:flex; gap:32px; flex-wrap:wrap; }
.contact-socials a { font-size:clamp(.95rem,1.5vw,1.2rem); text-decoration:underline; text-underline-offset:6px; }
@media(prefers-reduced-motion:reduce) { .contact-letter { transform:none; transition:none; } }
body #about #about-title { font-size:clamp(2.6rem,5.5vw,5.4rem); line-height:.95; font-weight:600; letter-spacing:-.065em; text-transform:none; color:var(--theme-ink,#2f2f31) !important; margin-bottom:20px; }
.art-gallery { width:100%; min-width:0; min-height:100svh; padding:clamp(28px,4vw,64px) 0 24px; background:var(--bg); }
.art-gallery[hidden] { display:none; }
.gallery-header,.gallery-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-inline:clamp(24px,5vw,80px); }
.gallery-header h2 { margin:0; font-size:clamp(2.5rem,5vw,5rem); line-height:1; letter-spacing:-.06em; font-weight:500; }
.gallery-header .faya-eyebrow { font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; margin:0 0 12px; }
.gallery-controls { display:flex; align-items:center; gap:12px; }
.gallery-position { font-size:.72rem; margin-right:12px; }
.gallery-controls button { width:42px; height:42px; border:1px solid #d9ccc1; background:var(--theme-surface,#fff8f2); border-radius:50%; cursor:pointer; font:inherit; transition:background 180ms; }@media (hover:hover) and (pointer:fine) {
.gallery-controls button:hover { background:#f0dfd4; }}
.gallery-controls button:disabled { opacity:.35; cursor:default; }
.gallery-wall { display:flex; gap:clamp(24px,3vw,56px); height:clamp(520px,82svh,1100px); overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; padding:18px max(24px,5vw) 20px; align-items:center; overscroll-behavior-x:contain; }
.gallery-wall::-webkit-scrollbar { display:none; }
.gallery-wall { cursor:grab; user-select:none; -webkit-user-select:none; touch-action:pan-x pan-y; }
.gallery-wall.is-dragging { cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; }
.gallery-wall.is-loop-reset { scroll-snap-type:none; scroll-behavior:auto; }
.gallery-wall img { -webkit-user-drag:none; }
.gallery-work { flex:0 0 min(78vw,1050px); min-width:0; height:100%; margin:0; display:flex; flex-direction:column; align-items:center; justify-content:center; scroll-snap-align:center; }
.gallery-frame { padding:clamp(8px,1vw,16px); border:5px solid #706459; background:#fffdf8; box-shadow:4px 10px 18px #4a3b2e24,0 1px 2px #4a3b2e30; max-width:100%; max-height:85%; }
.gallery-frame--portrait { height:85%; aspect-ratio:3/4; }
.gallery-frame--landscape { width:100%; aspect-ratio:4/3; }
.gallery-frame--square { height:85%; aspect-ratio:1; }
.gallery-frame--solitude { height:84%; aspect-ratio:1142/1028; }
.gallery-work .gallery-frame { transform:scale(.8) translateY(12px); transform-origin:center; transition:transform 500ms cubic-bezier(.2,.7,.3,1),box-shadow 500ms ease; }
.gallery-work.is-focused .gallery-frame { transform:scale(1) translateY(0); box-shadow:6px 18px 30px #4a3b2e30,0 2px 4px #4a3b2e30; }
.gallery-work figcaption { transform:translateY(-18px); transition:transform 500ms cubic-bezier(.2,.7,.3,1); }
.gallery-work.is-focused figcaption { transform:translateY(0); }
@media(prefers-reduced-motion:reduce) { .gallery-work .gallery-frame,.gallery-work figcaption { transition:none; } }
.gallery-frame--ceu { height:85%; aspect-ratio:1074/1525; }
.gallery-frame--imagined { height:82%; max-height:calc(100% - 150px); min-height:0; flex-shrink:1; aspect-ratio:4631/6625; }
.gallery-frame--vitoria { height:85%; aspect-ratio:1432/1643; }
.gallery-frame--lunga { height:85%; aspect-ratio:1400/1470; }
.gallery-frame--running { height:78%; max-height:calc(100% - 120px); aspect-ratio:1; min-height:0; }
.gallery-frame--running video { display:block; width:100%; height:100%; object-fit:contain; }
.gallery-frame--liberte { height:70%; aspect-ratio:819/1026; }
.gallery-ceu-crop { position:relative; width:100%; height:100%; overflow:hidden; }
.gallery-frame .gallery-ceu-crop img { position:absolute; width:119.37%; height:112.72%; max-width:none; left:-9.78%; top:-7.8%; object-fit:fill; }
.gallery-artwork-label h3 { margin:0 0 5px; font-size:.85rem; font-weight:500; letter-spacing:-.015em; line-height:1.3; }
.gallery-artwork-label p { margin:0; font-size:.7rem; line-height:1.5; }
.gallery-annex { display:flex; align-items:center; gap:10px; margin-top:12px; padding:8px 0 0; border:0; border-top:1px solid #dfd1c5; background:none; text-align:left; font:inherit; font-size:.7rem; cursor:pointer; }
.gallery-annex img { width:30px; height:38px; object-fit:contain; }
.gallery-annex span { text-decoration:underline; text-underline-offset:4px; }
body .gallery-annex,body .gallery-annex span { color:var(--accent,#b53239) !important; }@media (hover:hover) and (pointer:fine) {
body .gallery-annex:hover,body .gallery-annex:hover span { color:#7f272e !important; }}
.gallery-annex:focus-visible { outline:2px solid #a3979b; outline-offset:4px; }
.gallery-placeholder { width:100%; height:100%; min-height:100%; display:grid; place-items:center; background:#f1e9e1; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:#a0958b !important; }
.gallery-frame img { display:block; width:100%; height:100%; object-fit:contain; }
.gallery-work figcaption { display:block; width:var(--artwork-width,80%); max-width:100%; text-align:left; margin-top:22px; font-size:.7rem; color:#8f8278; }
.gallery-work:has(.gallery-frame--imagined) { padding-block:12px; box-sizing:border-box; }
.gallery-work:has(.gallery-frame--imagined) figcaption { flex-shrink:0; }
.gallery-frame--imagined > img { min-height:0; max-height:100%; }
.gallery-work figcaption > span:first-child { display:none; }
.gallery-work figcaption > span:last-child { display:block; }
.gallery-footer { font-size:.7rem; }
.gallery-footer > span { color: #76716d; }
.artistic-cv { margin:clamp(48px,7vw,110px) auto 24px; padding:0 clamp(24px,5vw,80px); max-width:1520px; }
.artistic-cv > header { margin-bottom:28px; }
.artistic-cv .faya-eyebrow { font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; color:var(--theme-muted,#8f8f8f) !important; margin:0 0 10px; }
.artistic-cv h2 { margin:0; font-size:clamp(1.8rem,3vw,3rem); font-weight:500; letter-spacing:-.045em; }
.artistic-cv details { border-top:1px solid #dfd1c5; }
.artistic-cv details:last-child { border-bottom:1px solid #dfd1c5; }
.artistic-cv summary { display:flex; justify-content:space-between; align-items:center; padding:22px 0; cursor:pointer; list-style:none; font-size:1rem; }
.artistic-cv summary::-webkit-details-marker { display:none; }
.artistic-cv summary span { font-size:1.4rem; transition:transform 200ms; }
.artistic-cv details[open] summary span { transform:rotate(45deg); }
.artistic-cv summary:focus-visible { outline:2px solid #a3979b; outline-offset:4px; }
.artistic-cv-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 36px; list-style:none; margin:0; padding:8px 0 32px; }
.artistic-cv-list li { display:grid; grid-template-columns:62px minmax(0,1fr); gap:12px; }
.artistic-cv-date { font-size:.72rem; color:var(--theme-muted,#938990) !important; padding-top:3px; }
.artistic-cv-list h3 { margin:0 0 5px; font-size:.85rem; font-weight:500; line-height:1.4; letter-spacing:-.015em; }
.artistic-cv-list p { margin:0; font-size:.75rem; line-height:1.5; color:var(--theme-muted,#77747a) !important; }
.artistic-cv { display:grid; grid-template-columns:minmax(140px,.5fr) minmax(0,1.5fr); gap:clamp(24px,4vw,60px); border-top:0; padding-top:12px; }
.artistic-cv h2 { font-size:.8rem; line-height:1.5; font-weight:500; letter-spacing:0; color:#8f8286 !important; }
.artistic-cv-content { min-width:0; }
.artistic-cv-tabs { display:flex; gap:20px; border-bottom:0; margin-bottom:12px; }
.artistic-cv-tabs button { font-family:inherit; font-size:.75rem; padding:0 0 5px; border:0; border-bottom:1px solid transparent; background:none; cursor:pointer; }
.artistic-cv-tabs button[aria-selected="true"] { border-bottom-color:#9c7e72; }
.artistic-cv-tabs button:focus-visible { outline:2px solid #a3979b; outline-offset:4px; }
.artistic-cv [hidden] { display:none; }
.artistic-cv .artistic-cv-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; padding:0; }
.artistic-cv-list li { padding:12px 0; border-bottom:0; }
@media(max-width:760px) { .artistic-cv { grid-template-columns:1fr; gap:16px; } .artistic-cv > header { margin-bottom:0; } .artistic-cv .artistic-cv-list { grid-template-columns:1fr; } }
@media(max-width:1000px) { .artistic-cv-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .artistic-cv-list { grid-template-columns:minmax(0,1fr); gap:22px; } }
.gallery-progress { height:2px; width:30%; background:#d9cbbd; }
.gallery-progress span { display:block; width:20%; height:100%; background:#9c7e72; transform:translateX(var(--gallery-progress,0%)); transition:transform 180ms; }
.gallery-wall:focus-visible,.gallery-controls button:focus-visible { outline:2px solid #a3979b; outline-offset:4px; }
.gallery-wall.is-pointer-interaction:focus { outline:none; }
@media(max-width:760px) { .gallery-header { align-items:end; } .gallery-controls { gap:6px; } .gallery-position { display:none; } .gallery-work { flex-basis:92vw; } .gallery-wall { height:78svh; min-height:440px; gap:18px; } }
body #about .about-highlights-list { list-style:none; padding:0; margin:0; display:grid; gap:18px; }
body #about .about-highlight-item { padding:0; background:none; border:0; }
body #about .about-highlight-item h3 { margin:0 0 5px; font-size:.85rem; line-height:1.3; font-weight:500; letter-spacing:-.015em; color:var(--theme-ink,#4b4b4e) !important; }
body #about .about-highlight-item p { margin:0; font-size:.75rem; line-height:1.4; color:var(--theme-muted,#77747a) !important; }
body #about .about-highlight-item .highlight-category { margin-bottom:5px; }
body #about .about-highlight-item .highlight-year { margin-top:5px; }
@media(min-width:761px) {
  body #about {
    height:100svh;
    min-height:0;
    margin-block:0;
    box-sizing:border-box;
    padding-block:clamp(20px,3svh,36px);
    row-gap:clamp(32px,5svh,54px);
    grid-template-rows:auto minmax(0,1fr);
  }
  body #about .about-copy p { font-size:clamp(.8rem,1.05vw,1rem); line-height:1.4; }
  body #about .about-copy p + p { margin-top:12px; }
  body #about .faya-eyebrow { margin-bottom:14px; }
  body #about .about-highlights .about-bring-card { padding:9px 12px; }
  body #about .about-highlights .about-bring-card h3 { font-size:.8rem; margin-bottom:4px; }
  body #about .about-highlights .about-bring-card p { font-size:.7rem; line-height:1.35; }
  body #about .about-highlights .highlight-category { font-size:.58rem; margin-bottom:4px; }
  body #about .about-highlights .highlight-year { margin-top:4px; }
}
body #about { grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); align-items: start; }
body #about .about-copy { grid-column: 1; grid-row: 1; padding-top:20px; }
body #about .character-stage {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: none;
  aspect-ratio: auto;
  align-self: stretch;
  padding: 8px 0 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}
body #about .character-frame { width: 74%; max-width: none; flex: 1; min-height: 0; aspect-ratio: auto; overflow: hidden; margin-inline:auto; background:var(--theme-surface,#fdfcf9); border:1px solid var(--theme-line,#e9e6e1); border-radius:12px; }
body #about .character-frame::before { display: none; }
body #about .character-frame canvas { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; }
body #about .character-cue { bottom: 6px; }
body #about .character-stage .about-bring { grid-column: auto; grid-row: auto; width: 100%; padding-top: 12px; }
body #about .character-stage .about-bring > .faya-eyebrow { margin-bottom: 12px; font-size: .72rem; }
body #about .character-stage .about-bring-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; align-items: start; }
body #about .character-stage .about-bring-card { padding: 10px; aspect-ratio: 1; border: 1px solid var(--theme-line,#ecddd2); border-radius: 8px; background: var(--theme-surface,#fff8f2); box-shadow: none; }
body #about .character-stage .about-bring-card h3 { font-size: .95rem; line-height: 1.3; margin-bottom: 9px; }
body #about .character-stage .about-bring-card p { font-size: .7rem; line-height: 1.4; }
body #about .about-resume-link { display:inline-block; margin-top:20px; font-size:.85rem; text-decoration:underline; text-underline-offset:5px; }
@media (min-width:761px) {
  body #about { grid-template-rows: auto 1fr; align-content: start; }
  body #about .character-stage { grid-row: 1 / span 2; }
  body #about .about-highlights { grid-column: 1; grid-row: 2; align-self: end; display:flex; flex-direction:column; }
  body #about .about-highlights .about-highlights-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows:repeat(3,1fr); gap: 10px; flex:1; }
  body #about .about-highlights .about-bring-card { padding: 12px 16px; }
  body #about .about-highlights .highlight-category { margin-bottom: 5px; }
  body #about .about-highlights .about-bring-card h3 { margin-bottom: 6px; }
  body #about .about-highlights .highlight-year { margin-top: 6px; }
}
body #about .skill-icon { display:block; width:42px; height:42px; margin-bottom:12px; color:#8c7474 !important; }
body #about .skill-icon svg { display:block; width:100%; height:100%; }
body .hero-surface .project .project-content :is(h2,h2 span,h2 em,h2 strong) { color:var(--theme-ink,#716a74) !important; }
.hero-name-image img.hero-name-highlight { display:none; }
.hero-name-image.has-signature-warp > img { visibility:hidden; }
.hero-name-image .signature-warp { position:absolute; inset:0; width:100%; height:100%; opacity:.85; pointer-events:none; }
.hero-name-image > img:not(.hero-name-highlight),
#top .hero-name-image > :is(img,.signature-warp) { filter:url(#hero-wordmark-color); }
#top .hero-name-image > :is(img:not(.hero-name-highlight),.signature-warp) { opacity:1; }
@media (prefers-reduced-motion:no-preference) {
  .hero-surface .project { animation:hero-icon-float 6s ease-in-out infinite; }
  .hero-surface .project--tale { animation-delay:-2s; }
  .hero-surface .project--aquilo { animation-delay:-4s; }
  @keyframes hero-icon-float { 0%,100% { translate:0 0; } 50% { translate:0 -9px; } }
  .hero-surface .project > img { transition:transform 350ms cubic-bezier(.2,.7,.3,1); }@media (hover:hover) and (pointer:fine) {
  .hero-surface .project:hover > img { transform:translateY(-6px) scale(1.035); }}
}
@media(max-width:760px) {
  body #about { grid-template-columns: minmax(0, 1fr); }
  body #about .about-copy { grid-column: 1; grid-row: auto; padding-top:0; }
  body #about .character-stage { grid-column: 1; grid-row: auto; aspect-ratio: auto; min-height: 450px; padding: 8px 14px 14px; }
  body #about .character-frame { flex: none; width:90%; height:300px; min-height:0; }
  body #about .character-stage .about-bring-grid { display: flex; overflow-x: auto; gap: 10px; padding: 4px 2px 12px; scroll-snap-type: x mandatory; }
  body #about .character-stage .about-bring-card { flex: 0 0 175px; scroll-snap-align: start; }
  body #about .character-stage .about-bring-card h3 { font-size: .95rem; }
  body #about .character-stage .about-bring-card p { font-size: .7rem; }
}

/* Shared page grid and interaction rendering. */
.testimonials-section { padding:clamp(56px,8svh,100px) var(--page-edge); }
.testimonials-section[hidden] { display:none; }
.testimonials-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(32px,5vw,80px); margin-top:32px; }
.testimonials-grid figure,.testimonials-grid blockquote { margin:0; }
.testimonials-grid figure { display:flex; flex-direction:column; }
.testimonials-grid blockquote { flex:1; }
.testimonials-grid blockquote p { margin:0; font-size:clamp(.9rem,1.1vw,1.05rem); line-height:1.75; color:var(--theme-muted,#77747a); }
.testimonials-grid figcaption { margin-top:28px; color:var(--theme-ink,#4b4b4e); font-size:.85rem; line-height:1.5; }
.testimonials-grid figcaption span { color:var(--theme-muted,#969696); }
@media(max-width:760px) { .testimonials-grid { grid-template-columns:1fr; gap:40px; } }
body .gallery-wall { scroll-snap-type:none; }
body .gallery-work .gallery-frame,
body .gallery-work.is-focused .gallery-frame {
  transform:translateY(var(--gallery-rise,0px)) rotate(var(--gallery-tilt,0deg)) scale(var(--gallery-scale,1));
  transition:transform 160ms linear;
  box-shadow:6px 16px 28px #4a3b2e24,0 2px 4px #4a3b2e20;
}
body .gallery-wall.is-dragging .gallery-frame { transition:transform 90ms linear; }
.board-item:is([data-item-id="uruguay-folder"],[data-item-id="eav-folder"],[data-item-id="space-mining-folder"]) .summer-folder-hover {
  inset:auto auto -5% 3%;
  width:94%;height:104%;
  transform:translate3d(0,0,0);
}
body :is(.decisions-editorial,.tale-case-decisions,.aquilo-decisions) figcaption,
body .faya-comparison-label,
body #tale-details .tale-book-flow > figcaption { color:var(--theme-muted,#969696) !important; }
.hero-role {
  position:absolute;
  top:calc(46% + var(--hero-content-drop) + var(--hero-mark-height) * .36 + 16px);
  left:50%;
  transform:translateX(-50%);
  margin:0;
  width:max-content;
  max-width:90%;
  text-align:center;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1.5;
  color:var(--theme-muted,#8f8f8f);
}
@media(max-width:700px) {
  .hero-role { top:calc(44% + var(--hero-content-drop) + var(--hero-mark-height) * .36 + 12px); }
}
/* Keep hero artwork out of Tale; preserve it for the return flight. */
body[data-active-case="tale"]:not(.tale-return-active) .hero-surface .project--aquilo {
  visibility:hidden;
  pointer-events:none;
}
.tale-detail-copy .tale-continue { margin-top:24px; }
@media(min-width:1101px) and (min-height:761px) {
  body #faya-details .faya-case-context .faya-context-peony {
    top:var(--peony-grid-top,3%);
    height:var(--peony-grid-height,93%);
    bottom:auto;
  }
}
/* Reserve the final cover geometry before the image finishes downloading. */
body #faya-details .faya-case-opening .faya-demo {
  align-self:center;
  margin:0;
  width:min(100%,820px,calc(72svh * 2275 / 1626));
}
body #faya-details .faya-case-opening .faya-demo img { aspect-ratio:2275 / 1626; height:auto; }
:root {
  overflow-x:clip;
  --page-gutter:clamp(20px,4vw,64px);
  --page-edge:max(var(--page-gutter),calc((100vw - 1600px)/2 + var(--page-gutter)));
  --grid-gap:clamp(20px,3vw,48px);
}
body > main.hero { padding:0; }
body { overflow-x:clip; }
body .hero-surface { width:calc(100% - var(--page-gutter)*2); margin-inline:auto; }
body #about { width:100%; margin-inline:0; padding-inline:var(--page-edge); column-gap:var(--grid-gap); }
body #interactive-board-section { padding-inline:var(--page-edge); }
body #interactive-board-section .board-shell { max-width:none; }
body #interactive-board-section .resume-layout { column-gap:var(--grid-gap); }
body :is(.faya-case-panel,.tale-case-track > article,.aquilo-detail-section) { padding-inline:var(--page-edge); column-gap:var(--grid-gap); }
body .gallery-header,body .gallery-footer { padding-inline:var(--page-edge); }
body .artistic-cv { max-width:none; padding-inline:var(--page-edge); column-gap:var(--grid-gap); }
body .contact-section { padding-inline:var(--page-edge); }
body :is(.about-copy,.about-highlights,.resume-copy,.faya-detail-copy,.tale-detail-copy,.aquilo-copy) { min-width:0; }

/* Keep Tale's cover on the shared case grid; center the phone in its column. */
body #tale-details .tale-case-opening {
  align-items:center;
  align-content:center;
  padding:clamp(72px,7vw,104px) var(--page-edge) clamp(56px,5vw,80px);
}
body #tale-details .tale-case-opening .tale-detail-copy {
  top:0;
  margin-left:clamp(24px,4vw,66px);
  align-self:center;
}
body #tale-details .tale-case-opening .tale-detail-image {
  width:100%;
  height:min(66svh,640px);
  object-fit:contain;
  object-position:center;
  align-self:center;
  justify-self:center;
}
@media(max-width:700px) {
  body #tale-details .tale-case-opening { padding-block:32px 64px; gap:24px; }
  body #tale-details .tale-case-opening .tale-detail-copy { margin-left:0; }
  body #tale-details .tale-case-opening .tale-detail-image { height:min(43svh,380px); }
}
body #about .character-frame canvas { filter:drop-shadow(0 10px 16px rgba(38,31,43,.1)); }
.hero-surface .project,.contact-letter,.gallery-frame { backface-visibility:hidden; }
.gallery-wall.is-dragging .gallery-frame,.gallery-wall.is-dragging figcaption { transition:none; }
body:is(.tale-handoff-active,.tale-return-active) .hero-surface .project { animation-play-state:paused; }
@media(max-width:760px) {
  :root { --page-gutter:20px; --grid-gap:24px; }
  body .hero-surface { width:100%; }
  body #about .character-stage { padding-inline:0; }
  body :is(.faya-case-panel,.tale-case-track > article) { column-gap:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-surface .project { animation:none !important; }
  .gallery-frame,.gallery-work figcaption,.contact-letter { transition:none !important; }
}
@media(min-width:761px) and (max-height:700px) {
  body #about { row-gap:24px; padding-block:20px; }
  body #about #about-title { font-size:3.1rem; margin-bottom:14px; }
  body #about .about-copy { padding-top:8px; }
  body #about .about-copy p { font-size:.8rem; line-height:1.35; }
  body #about .about-copy p + p { margin-top:10px; }
  body #about .about-highlights-list { gap:12px; }
  body #about .about-highlight-item h3 { font-size:.78rem; margin-bottom:4px; }
  body #about .about-highlight-item p { font-size:.68rem; line-height:1.3; }
  body #about .about-highlight-item .highlight-category { font-size:.56rem; margin-bottom:3px; }
  body #about .about-highlight-item .highlight-year { margin-top:3px; }
}

.hero-surface .project > img { filter:drop-shadow(0 20px 22px rgba(48,39,40,.32)); }

.faya-links .faya-live-link,.faya-links .faya-instagram-link { opacity:.64; transition:opacity 180ms ease; }@media (hover:hover) and (pointer:fine) {
.faya-links .faya-live-link:hover,.faya-links .faya-live-link:focus-visible,.faya-links .faya-instagram-link:hover,.faya-links .faya-instagram-link:focus-visible { opacity:1; }}

/* Category bars share the Resume's segmented control style. */
body :is(#faya-details,#tale-details,#aquilo-details,#interactive-board-section,#artistic-curriculum)
:is([role="tablist"],.tale-flow-controls) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  gap: 6px;
  padding: 5px;
  border: 0;
  border-radius: 12px;
  background: #f8eee7;
}
body :is(#faya-details,#tale-details,#aquilo-details,#interactive-board-section,#artistic-curriculum)
:is([role="tablist"],.tale-flow-controls) > button {
  flex: 0 1 auto;
  min-width: 0;
  padding: 10px 16px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--theme-ink,#2f2f31);
  font: inherit;
  font-size: .85rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  box-shadow: none;
  transform: none;
  transition: background-color 180ms ease, box-shadow 180ms ease;
}
body :is(#faya-details,#tale-details,#aquilo-details,#interactive-board-section,#artistic-curriculum)
:is([role="tablist"],.tale-flow-controls) > button:is([aria-selected="true"],[aria-pressed="true"]) {
  background: #fff8f2;
  box-shadow: 0 2px 8px #332b3310;
}
@media (hover:hover) and (pointer:fine) {
  body :is(#faya-details,#tale-details,#aquilo-details,#interactive-board-section,#artistic-curriculum)
  :is([role="tablist"],.tale-flow-controls) > button:hover:not([aria-selected="true"],[aria-pressed="true"]) {
    background: #fcf2ea;
  }
}
body :is([role="tablist"],.tale-flow-controls) > button:focus-visible {
  outline: 2px solid #a3979b;
  outline-offset: 2px;
}

/* Align the selector with the demonstration column in the two-column layout. */
#tale-details .tale-decision-tabs { margin-inline-start: 0; align-self: start; justify-self: start; }
@media (min-width: 761px) {
  #tale-details .tale-case-decisions { --decision-gap: 24px; }
  #tale-details .tale-decision-panel { column-gap: var(--decision-gap); }
  #tale-details .tale-decision-tabs {
    --decision-width: min(100%, 1480px);
    margin-inline-start: calc((100% - var(--decision-width)) / 2 + (var(--decision-width) - var(--decision-gap)) * .32 + var(--decision-gap));
    max-width: calc((var(--decision-width) - var(--decision-gap)) * .68);
  }
}
@media (min-width: 1101px) {
  #tale-details .tale-case-decisions { --decision-gap: 40px; }
}
body :is([role="tablist"],.tale-flow-controls) > button::before,
body :is([role="tablist"],.tale-flow-controls) > button::after {
  content: none;
}
body #tale-details .tale-decision-tabs > button { min-height: 0; }

/* The selected Faya decision uses a solid white button surface. */
body #faya-details .faya-core-index-item[aria-selected="true"] {
  background: #fff;
}
body #faya-details .faya-core-index-item::before,
body #faya-details .faya-core-index-item::after {
  content: none;
}

.section-lettering {
  display: block;
  width: min(100%, 420px);
  height: auto;
}
.section-lettering,
.contact-lettering {
  filter: url("./assets/lettering-color.svg#rose");
}
#faya-details-title .section-lettering {
  filter: url("./assets/lettering-color.svg#faya-clean");
}
#about-title .section-lettering {
  width: min(100%, 442px);
  translate: clamp(-88px, -6vw, -26px) 0;
}
#top .contact-email { position: relative; cursor: pointer; }
.contact-lettering { display: block; width: min(100%, 1118px); height: auto; margin-inline: auto; }
.contact-copy-address {
  position: absolute;
  inset-inline-start: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-size: 1rem;
  opacity: 0;
  pointer-events: none;
}
.contact-email.is-copy-fallback .contact-copy-address {
  opacity: 1;
  pointer-events: auto;
  background: var(--bg, #faf8f4);
}

/* Let cover lettering grow into the column gap from the text's left edge. */
:is(#faya-details-title, #tale-details-title, #aquilo-details-title) .section-lettering {
  width: min(169%, 709.8px);
  max-width: none;
  margin-inline: 0;
  translate: clamp(-132px, -9vw, -42px) 0;
}
@media (max-width: 760px) {
  :is(#faya-details-title, #tale-details-title, #aquilo-details-title) .section-lettering {
    width: min(100%, 709.8px);
    translate: -32px 0;
  }
}

#interactive-board-title .section-lettering { width: min(100%, 360px); translate: max(-16%, -60px) 0; }
.contact-lettering {
  translate: clamp(-16px, -1vw, -4px) 0;
}

@media (max-width: 1400px), (max-height: 820px) {
  body #about {
    box-sizing: border-box;
    height: auto;
    min-height: 100svh;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    row-gap: clamp(16px, 3svh, 24px);
    padding-block: clamp(24px, 5svh, 48px);
  }
  body #about .about-copy { padding-top: 0; top: auto; }
  body #about #about-title { margin-bottom: 0; }
  body #about .character-stage { grid-column: 2; grid-row: 1 / 3; }
  body #about .character-stage .character-frame {
    width: 100%;
    height: clamp(300px, 60svh, 420px);
  }
  body #about .about-highlights { grid-column: 1; grid-row: 2; align-self: start; top: auto; }
}

@media (max-width: 900px) {
  body #top #about { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; align-content: start; row-gap: 24px; }
  body #about .about-copy { max-width: 62ch; }
  body #about .about-copy p { font-size: .95rem; line-height: 1.5; }
  body #about #about-title .section-lettering {
    width: min(100%, 360px);
    translate: clamp(-66px, -13vw, -36px) 0;
  }
  body #about .about-copy,
  body #about .character-stage,
  body #about .about-highlights { grid-column: 1; grid-row: auto; }
  body #about .character-stage .character-frame { max-width: 540px; height: clamp(260px, 65vw, 380px); }
}

#contact > :is(#contact-title, .contact-copy-status, .contact-socials) {
  margin-inline-start: clamp(12px, 3vw, 48px);
}
