/* Full-width materials, one reading rhythm, no slide frames. */
.single-portfolio{--flow-width:1280px;--flow-gutter:clamp(20px,4vw,56px);background:#292825 url('assets/charcoal.jpeg') center/cover no-repeat}
.single-portfolio main{max-width:none;margin:0}
.single-portfolio .folio-page{margin:0;box-shadow:none;border:0;position:relative;background:#eee3cf url('assets/paper.jpeg') center/cover no-repeat;color:#302b25}
.single-portfolio .flow-inner{width:100%;max-width:var(--flow-width);margin:auto}
.single-portfolio .page-canvas{background:none!important}
.single-portfolio #about>.flow-inner{max-width:none}
.single-portfolio .editorial-about{overflow:visible}
.single-portfolio .flow-band{background:#292825 url('assets/charcoal.jpeg') center/cover no-repeat}
.single-portfolio .flow-band--hero{background-image:radial-gradient(ellipse at 80% 80%,#b9753025,transparent 60%),url('assets/charcoal.jpeg')}
.single-portfolio .flow-band--intro{background:#eee3cf url('assets/paper.jpeg') center/cover no-repeat}
.single-portfolio .flow-band>div{max-width:var(--flow-width);margin-inline:auto;container-type:inline-size}
.single-portfolio .studio-hero,.single-portfolio .jessup-intro,.single-portfolio .education-spread{background:none}
.single-portfolio .studio-hero:after,.single-portfolio .jessup-intro:after{display:none}
.single-portfolio .jessup-intro{min-height:min(57vw,730px)}
.single-portfolio .education-notebook{container-type:inline-size}
.single-portfolio .education-spread>.mobile-reader{margin:15px 20px 0;width:auto;color:#eee3cf}
.single-portfolio #experience,.single-portfolio #highland,.single-portfolio #koriny,.single-portfolio #studio{background:#292825 url('assets/charcoal.jpeg') center/cover no-repeat;color:#f4ead7}
.single-portfolio #selected .page-canvas:after,.single-portfolio #recognition .page-canvas:after{display:none}
.single-portfolio .gallery-section{padding:0;overflow:hidden}
.single-portfolio .gallery-section>.flow-inner{padding:clamp(48px,6vw,80px) var(--flow-gutter)}
.single-portfolio .page-response{border:0;background:none!important;padding:0 var(--flow-gutter) 48px}
.single-portfolio .page-response .response-label{display:none}
.single-portfolio #eco-interface .eco-editorial{padding-top:0;min-height:0;padding-bottom:20px}
.single-portfolio #eco-interface{padding-bottom:0}
.single-portfolio #music>.flow-inner{padding-top:clamp(28px,3vw,40px)}
.single-portfolio .archive-canvas,.single-portfolio .recognition-poster{padding:clamp(48px,6vw,80px) var(--flow-gutter);background:none!important}
.single-portfolio .archive-heading,.single-portfolio .recognition-heading{margin-top:0}
.single-portfolio .gallery-bottom{opacity:.7;border-top-color:#a48c6855}
.single-portfolio .chapter-top{margin-bottom:22px;color:#bb875e}
.single-portfolio .bloom-copy .line-3{font-size:.65cqw;letter-spacing:.08em}
.single-portfolio .site-header{
 width:100%;
 max-width:var(--flow-width);
 margin-inline:auto;
 margin-bottom:0;
}
.single-portfolio .site-header .nav-number{display:none}
.single-portfolio .site-header nav a{align-items:center;font-size:14px;padding-inline:16px}
.single-portfolio .site-footer{margin:0;padding:28px var(--flow-gutter);background:#292825 url('assets/charcoal.jpeg') center/cover no-repeat;border-top:1px solid #b7a08244;font-size:11px}
.flow-experience,.flow-career,.flow-contact{padding:clamp(48px,6vw,80px) var(--flow-gutter)}
.flow-heading{margin:0 0 42px}.flow-heading>p,.flow-eyebrow{font:10px/1.5 monospace;letter-spacing:.16em;color:#b56d42;margin:0 0 18px}
.flow-heading h2{font:600 clamp(40px,5.4vw,68px)/.98 Fraunces,Georgia,serif;letter-spacing:-.045em;margin:0}
.flow-heading h2 em{color:#c9753d;font-weight:450}
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.practice-note{border-top:1px solid #b19a7555;padding-top:22px}
.practice-note>span,.career-years{font:10px/1.5 monospace;letter-spacing:.1em;color:#c58c61}
.practice-note h3{font:500 clamp(25px,2.9vw,35px)/1.08 Fraunces,Georgia,serif;letter-spacing:-.025em;margin:22px 0 18px}
.practice-note p{font-size:14px;line-height:1.8;color:#c9beac;max-width:35ch}
.practice-note a{display:inline-block;border-bottom:1px solid #bd7951;font-size:12px;padding-bottom:5px;margin-top:12px}
.flow-career{display:grid;grid-template-columns:34% 1fr;gap:7%}
.career-row{display:grid;grid-template-columns:90px 1fr 25px;gap:20px;border-top:1px solid #96744f55;padding:25px 0;transition:color 250ms var(--ease-enter)}
.career-row:last-child{border-bottom:1px solid #96744f55}
.career-row h3{font:600 25px/1.1 Fraunces,Georgia,serif;letter-spacing:-.025em;margin:0 0 9px}
.career-row p{font-size:13px;line-height:1.7;color:#70604e;margin:6px 0}.career-row .career-role{color:#9d522c;font-size:12px}
.career-row small{font:9px/1.8 monospace;letter-spacing:.05em;color:#8e7256}
.career-arrow{font-size:24px;color:#aa5b32;transition:translate 300ms var(--ease-enter)}
.career-row:hover h3{color:#a6542c}.career-row:hover .career-arrow{translate:3px -3px}
.flow-contact{display:grid;grid-template-columns:60% 36%;gap:4%;align-items:center;overflow:hidden}
.contact-copy h2{font:600 clamp(52px,8vw,100px)/.91 Fraunces,Georgia,serif;letter-spacing:-.06em;margin:28px 0}
.contact-copy h2 em{font-weight:450;color:#b96332}
.contact-copy>p:not(.flow-eyebrow){font-size:16px;line-height:1.8;color:#78634e}
.contact-actions{margin:28px 0}.contact-actions .response-options{gap:10px}.contact-actions .response-button{background:transparent;border-color:#a5815d;font-size:12px}
.contact-actions .response-button:first-child{background:#bb6639;color:#fff2df;border-color:#bb6639}
.contact-location{font:10px/1.6 monospace;letter-spacing:.12em;color:#92765b}
.contact-portrait{width:100%;aspect-ratio:361/492;position:relative}
.contact-portrait .layer-visual{display:block;width:100%;height:100%;background-repeat:no-repeat}
.film-web-heading{display:none}
@media(max-width:900px){.flow-career{grid-template-columns:1fr;gap:0}.flow-career .flow-heading{margin-bottom:30px}.practice-grid{gap:22px}.single-portfolio .site-header nav a{justify-content:flex-start;align-items:center;font-size:23px}.single-portfolio .site-header .nav-number{display:block}}
@media(max-width:650px){
 .single-portfolio .jessup-intro{min-height:0}.practice-grid{grid-template-columns:1fr;gap:28px}.practice-note h3 br{display:none}.practice-note p{max-width:100%;font-size:14px}.practice-note h3{margin:16px 0 10px}
 .career-row{grid-template-columns:1fr 25px;gap:10px}.career-years{grid-column:1/-1}.career-row h3{font-size:25px}
 .flow-contact{grid-template-columns:1fr;padding-bottom:48px}.contact-copy h2{font-size:64px}.contact-copy>p:not(.flow-eyebrow){font-size:14px}.contact-portrait{width:65%;margin:30px 0 0 auto}.contact-location{font-size:8px}
 .single-portfolio .gallery-section>.flow-inner{padding-inline:20px}.single-portfolio .page-response{padding-bottom:32px}.single-portfolio .site-footer{gap:18px;justify-content:flex-start}
 .single-portfolio #selected .page-canvas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:48px 14px}
 .single-portfolio #selected .folio-image,.single-portfolio #selected .selected-thread{display:none}
 .single-portfolio .selected-editorial-title{position:relative;inset:auto;grid-column:1/-1;order:-1;margin:0 6px 16px}
 .single-portfolio .selected-editorial-title>span{font-size:8px;letter-spacing:.1em}
 .single-portfolio .selected-editorial-title h2{font-size:44px;margin:16px 0;letter-spacing:-.05em}
 .single-portfolio .selected-editorial-title p{font-size:13px;line-height:1.6}
 .single-portfolio #selected .effect-bloom{position:relative;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:1}
 .single-portfolio #selected .bloom-studio{grid-column:1/-1;width:58%!important;justify-self:center}
 .single-portfolio #selected .layer-visual{position:absolute;inset:0}
 .single-portfolio .bloom-copy strong,.single-portfolio .effect-bloom:nth-of-type(3) strong{font-size:clamp(17px,4.8vw,26px);letter-spacing:-.04em}
 .single-portfolio .bloom-copy .line-0{font-size:8px;margin-bottom:7px}.single-portfolio .bloom-copy .line-2{font-size:9px;margin-top:7px}.single-portfolio .bloom-copy .line-3{font-size:7px;letter-spacing:.02em;margin-top:8px}
 .single-portfolio #koriny .page-canvas{display:flex;flex-direction:column;gap:20px;padding:48px 20px}
 .single-portfolio #koriny .folio-image{display:none}.single-portfolio .film-web-heading{display:block;margin-bottom:8px}
 .single-portfolio #koriny .effect-film{position:relative;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:290/337}
 .single-portfolio #koriny .effect-film .layer-visual{position:absolute;inset:0}
}

/* Type-led experience cards. */
.flow-career.career-archive{display:block}
.career-archive .flow-heading{position:relative;padding-bottom:24px;border-bottom:3px double #785d42;margin:0 0 24px}
.career-archive .flow-heading h2{font-size:clamp(42px,5.2vw,73px);max-width:90%;line-height:1.03}
.career-archive .flow-heading p{margin-bottom:13px}
.archive-imprint{position:absolute;right:1%;bottom:22px;color:#b4562c;font:58px/1 Georgia,serif;rotate:-12deg}
.career-archive .career-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.career-archive .career-record{
 --stock:#302e2a;--ink:#f7ecd8;--fine:#ded2be;--accent:#ffad72;
 position:relative;isolation:isolate;display:block;
 gap:0;overflow:hidden;min-height:216px;padding:0;border:1px solid #573f2f55;
 background:var(--stock);color:var(--ink);box-shadow:2px 4px 0 #50372226;text-decoration:none
}
.career-archive .career-record:nth-child(2){--stock:#ede4d2;--ink:#2f2b25;--fine:#564d40;--accent:#92451f}
.career-archive .career-record:nth-child(3){--stock:#ba6038;--ink:#211b16;--fine:#241c16;--accent:#2e170d}
.career-archive .career-record:nth-child(4){--stock:#514d47;--ink:#fff3df;--fine:#efe3d3;--accent:#ffc79d}
.career-record .record-copy{padding:clamp(22px,2.3vw,32px)}
.career-record .career-years{display:inline-block;font:600 11px/1.3 monospace;letter-spacing:.07em;color:var(--accent);padding-bottom:4px;border-bottom:1px solid currentColor}
.career-record h3{font-size:clamp(22px,2.3vw,33px);margin:14px 0 6px;color:var(--ink)}
.career-record p,.career-record small{color:var(--fine)}
.career-record p{font-size:14px;line-height:1.45;margin:8px 0 0}
.career-record .career-role{font-size:13px;color:var(--ink);line-height:1.35;font-weight:650}
.career-record small{display:block;margin-top:12px;font-size:9px}
.career-record .career-arrow{position:absolute;top:12px;right:13px;font-size:21px;color:var(--accent)}
.career-record:hover h3{color:var(--ink)}
.career-record:focus-visible{outline:3px solid #b95724;outline-offset:3px}
.career-record h3{position:relative;width:fit-content;max-width:100%}
.career-record h3::after{content:"";position:absolute;inset:auto 0 -3px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left}
@media (prefers-reduced-motion:no-preference){
 .career-record h3::after{transition:transform 360ms cubic-bezier(.2,.75,.25,1)}
 .career-record:focus-visible h3::after{transform:scaleX(1)}
 .career-record:focus-visible .career-arrow{translate:3px -3px}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 .career-record:hover h3::after{transform:scaleX(1)}
}
@media (prefers-reduced-motion:reduce){.career-record .career-arrow{translate:none;transition:none}}

@media(max-width:900px){.career-archive .career-timeline{grid-template-columns:1fr}.career-archive .career-record{min-height:175px}.career-archive .flow-heading{margin-bottom:18px}}
@media(max-width:550px){.career-archive .flow-heading h2{max-width:85%}.career-archive .flow-heading em{display:block}.archive-imprint{font-size:35px}.career-record .record-copy{padding:17px 14px}.career-record h3{font-size:24px}}

/* Keep decorative glyphs out of mobile emoji fonts. */
@media (max-width: 650px), (hover: none) and (pointer: coarse) {
 .hero-star, .gallery-title-row .flower, .archive-imprint, .recognition-spark, .hero-glass { display: none; }
}
@media (max-width: 650px) {
 .studio-hero { aspect-ratio: 4 / 5; }
 .hero-type { top: 24%; font-size: 13.8cqw; line-height: 1; }
 .hero-person { left: 43%; width: 58%; height: 112%; bottom: -35%; }
 .studio-hero > .hero-design { top: 62%; right: 6%; font-size: 15cqw; }
 .orbit-three { top: 34%; right: 4%; bottom: auto; width: 8%; }
 .hero-topline, .hero-bottom { font-size: clamp(8px, 2cqw, 11px); }
 .hero-bottom { align-items: center; }
 .hero-bottom a { padding: 10px 14px; }
 .intro-copy > p:not(.intro-eyebrow) { font-size: clamp(14px, 3.5vw, 17px); }
 .eco-composition { height: auto; }
 .eco-six-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .eco-screen-window { height: auto; aspect-ratio: 4 / 3; }
 .eco-screen-label { font-size: clamp(10px, 2.6vw, 13px); line-height: 1.35; padding: 7px; }
 .eco-screen-label b { font-size: inherit; }
 .gallery-meta { flex-wrap: wrap; row-gap: 8px; }
 .gallery-tools { margin-left: auto; flex-wrap: wrap; gap: 8px; }
 .preview-toggle { max-width: none; }
 .hero-amp { display: none; }
 .preview-toggle, .gallery-count { white-space: nowrap; }
 .coverflow { height: clamp(285px, 94vw, 445px); }
 .coverflow .art-card { width: min(78%, 355px); height: calc(100% - 30px); }
 .coverflow .art-window img { object-fit: contain; }
 .single-portfolio #selected .bloom-studio { width: calc(50% - 4px)!important; }
 .contact-arrow { font-size: 0; display: flex; align-items: center; justify-content: center; }
 .contact-arrow::before { content: ''; width: 15px; height: 15px; background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff1d9' stroke-width='1.8'%3E%3Cpath d='M4 16 16 4M5 4h11v11'/%3E%3C/svg%3E"); }
}

@media (max-width:650px) {
 .single-portfolio #studio .archive-canvas { padding-inline: clamp(10px, 3vw, 20px); }
 .exhibition-book { min-height: clamp(205px, 66vw, 345px); }
 .book-sheet, .leaf-face { padding: 12px clamp(10px,3vw,18px) 25px; }
 .leaf-heading { padding-bottom: 7px; }
 .book-sheet h3, .leaf-face h3 { min-height: 0; font-size: clamp(16px,4.2vw,21px); margin: 12px 0 6px; }
 .exhibition-list li { padding: 8px 0; }
 .exhibition-list h4 { margin-bottom: 3px; }
 .exhibition-year { padding-top: 0; }
 .leaf-number { bottom: 9px; }
 .book-binding { top: 17px; bottom: 18px; }
 .book-binding i:nth-child(even) { display: none; }
 .closing-spread .book-left { grid-column: 1 / -1; }
 .closing-spread .book-right, .closing-spread .book-binding { display: none; }
 .book-sheet .book-closing.studio-finale, .leaf-face .book-closing.studio-finale {
  min-height: 0; padding: 0; margin: 12px 0 0;
 }
 .closing-spread .studio-finale { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: center; }
 .closing-spread .studio-finale h4 { font-size: clamp(34px,9vw,54px); margin: 6px; }
 .closing-spread .studio-finale .finale-photo { width: 94%; margin: 0; }
 .closing-spread .studio-finale .finale-note { margin: 4px 0; max-width:none; }
 .closing-spread .studio-finale .finale-signature { margin: 0; padding-top: 6px; }
 .closing-spread .finale-stamp, .closing-spread .finale-doodle { display: none; }
}

@media (max-width:650px) and (prefers-reduced-motion:no-preference) {
 .studio-hero { --cover-ease: cubic-bezier(.45,0,.2,1); }
 .hero-arrival {
  animation: cover-letter-in 820ms var(--cover-ease) var(--arrival-delay,0ms) backwards;
 }
 .hero-person { animation: cover-portrait-in 1050ms var(--cover-ease) 60ms backwards; }
 .hero-orbit img.arrival-tool {
  animation: cover-tool-in 780ms var(--cover-ease) calc(var(--arrival-delay) + 140ms) backwards;
 }
 @keyframes cover-letter-in {
  from { opacity:0; clip-path:inset(0 0 100% 0); transform:translateY(.28em) rotate(-2deg); }
  to { opacity:1; clip-path:inset(-15% -10% -20%); transform:translateY(0) rotate(0); }
 }
 @keyframes cover-portrait-in {
  from { opacity:0; transform:translateY(18px) scale(1.04); }
  to { opacity:1; transform:translateY(0) scale(1); }
 }
 @keyframes cover-tool-in {
  from { opacity:0; transform:translateY(12px) rotate(-14deg) scale(.78); }
  to { opacity:1; transform:translateY(0) rotate(0) scale(1); }
 }
}
