.ref-hands{z-index:3;pointer-events:none}.ref-contents-frame{position:relative;z-index:2}.ref-contents-links{padding-left:90px;padding-right:90px}
.portfolio-generated{position:relative;display:block;max-width:100%;margin:auto;transform-origin:center}.portfolio-generated img{display:block;width:100%;height:auto;object-fit:contain}.portfolio-generated .portfolio-semantic{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ref-hero h1{padding:18px 6px 22px;text-shadow:none;-webkit-text-stroke:0}.portfolio-generated{animation:portfolio-arrive .7s cubic-bezier(.16,1,.3,1) both}.portfolio-generated:hover{translate:0 -3px}.portfolio-generated{transition:translate .25s ease-out}.portfolio-generated img{animation:portfolio-breathe 7s ease-in-out 1s infinite}
@keyframes portfolio-arrive{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes portfolio-breathe{50%{transform:translateY(-3px) rotate(-.3deg)}}
[data-theme=dark] .portfolio-generated img{filter:invert(1)}
.single-projects{position:relative;max-width:1100px;margin:48px auto 0;padding:0 24px}.single-projects>h2{font:italic 28px/1.4 Georgia,serif;margin:0 0 36px;text-align:center;letter-spacing:-.03em}.folder-stack{max-width:900px;margin:auto;padding-top:16px}.project-folder{position:relative;margin-bottom:16px;border:1px solid var(--ink);border-radius:0 7px 7px 7px;background:var(--bg)}
.folder-tab{position:absolute;top:-17px;left:14px;border:1px solid var(--ink);border-bottom:0;border-radius:6px 6px 0 0;background:var(--bg);height:18px;padding:3px 12px;font-size:9px;line-height:1.3;min-width:112px;text-align:center;letter-spacing:.03em}
.project-folder:nth-child(2n) .folder-tab{left:calc(50% - 56px)}.project-folder:nth-child(3n) .folder-tab{left:auto;right:24px}.folder-summary{list-style:none;position:relative;cursor:pointer;display:grid;grid-template-columns:34px 1fr minmax(120px,30%) 24px;gap:16px;align-items:center;padding:20px 24px;min-height:72px;line-height:1.5;background:var(--muted);border-radius:0 7px 7px 7px}.folder-summary::-webkit-details-marker{display:none}.folder-summary strong{font-size:21px;font-weight:600;letter-spacing:-.025em}.folder-summary small{font-size:12px;color:var(--text-secondary)}.folder-index{font-size:11px;color:var(--text-secondary)}.folder-toggle{font-size:22px;text-align:right}.project-folder[open]>.folder-summary{border-bottom:1px solid var(--ink);border-radius:0 7px 0 0;background:var(--ink);color:var(--bg)}.project-folder[open]>.folder-summary small,.project-folder[open]>.folder-summary .folder-index{color:var(--bg)}.project-folder[open]>.folder-summary .folder-toggle{rotate:45deg}.folder-summary:hover strong{color:var(--blue)}.project-folder[open]>.folder-summary:hover strong{color:#dab5ef}
.single-case{padding:32px}.single-case .case-hero{padding:0 0 36px;max-width:100%;margin:0}.single-case .case-hero h3{font:900 clamp(34px,5vw,66px)/1.05 var(--display);letter-spacing:-.055em;margin:20px 0}.single-case .case-hero>h4{font-size:26px;margin:20px 0 28px;line-height:1.3}.single-case .case-cover{margin-top:24px}.single-case .case-body{padding:0;grid-template-columns:160px minmax(0,1fr);gap:32px;max-width:none}.single-case .case-index{position:static;align-self:start}.single-case .case-narrative h4{font-size:30px;line-height:1.2;margin:14px 0 20px;font-weight:600}.single-case .case-narrative p{font-size:16px}.single-case .case-meta{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px}.single-case .case-image{margin-bottom:28px}.single-case .reference-page-path{display:none}.project-folder{scroll-margin-top:105px}.single-archive{max-width:1100px}.single-archive .archive{padding:0;max-width:100%}.single-archive .page-eyebrow{display:none}.single-archive .section-heading{margin-top:0}.single-archive .archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.single-contact{max-width:1440px;margin:auto}.single-contact .contact-intro .contact-intro-title{font:900 clamp(42px,6vw,84px)/1.1 var(--display);letter-spacing:-.055em}.about-more{margin-top:28px}.about-more>summary{font-size:14px;cursor:pointer;color:var(--blue);padding:12px 0}.about-more .about-grid{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,2fr);gap:28px;margin:24px 0 0}.about-more .about-copy h2{font-size:28px}.about-more .about-copy p{font-size:16px}.about-more .about-portrait{max-width:220px}.about-more .about-copy .disciplines,.about-more .about-copy .exploring,.about-more .about-copy .design-approach{margin-top:20px}.about-more .about-copy .content-label{font-size:11px}
@media(max-width:700px){.ref-contents-links{padding-left:32px;padding-right:32px}.ref-contents-stage{padding-bottom:56px}.ref-hands{display:block;width:190%;height:auto;left:-45%;top:60px;z-index:3}.ref-contents-frame{width:100%}.ref-contents-links a{padding:13px 8px}.portfolio-generated:hover{translate:none}.portfolio-generated img{animation:none}.ref-hero h1{padding:18px 0}.single-projects{padding:0;margin-top:40px}.single-projects>h2{font-size:25px;margin-bottom:30px}.folder-stack{padding-top:18px}.folder-summary{padding:18px 16px;grid-template-columns:24px 1fr 20px;gap:12px;min-height:72px}.folder-summary strong{font-size:20px}.folder-summary small{display:none}.folder-tab{font-size:9px;min-width:100px;padding-inline:8px}.project-folder:nth-child(3n) .folder-tab{right:12px}.single-case{padding:20px}.single-case .case-body{display:block}.single-case .case-hero h3{font-size:36px}.single-case .case-hero>h4{font-size:24px}.single-case .case-index{display:flex;flex-direction:row;overflow-x:auto;gap:18px;padding-bottom:12px}.single-case .case-narrative h4{font-size:27px}.single-case .case-meta{gap:20px 14px}.single-archive .archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.single-contact .contact-intro .contact-intro-title{font-size:44px}.about-more .about-grid{display:block}.about-more .about-portrait{max-width:220px;margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.portfolio-generated,.portfolio-generated img{animation:none!important;transition:none!important;translate:none!important}}
/* Consistent illustrated frames */
.ref-hero h1{padding:52px 50px 54px}.portfolio-generated{width:100%;max-width:650px}.hero-doodles{pointer-events:none;position:absolute;inset:30px 0 0;z-index:4}.doodle-star{position:absolute;left:14px;top:12px;font-size:38px;animation:doodle-turn 8s ease-in-out infinite}.doodle-arrow{position:absolute;right:18px;bottom:12px;font:40px Georgia;rotate:12deg}.doodle-loop{position:absolute;width:45px;height:24px;border:2px solid var(--ink);border-radius:50%;right:-20px;top:46%;rotate:-30deg;background:var(--bg)}
.ref-contents-stage{padding-bottom:36px}.ref-contents-frame{overflow:visible}.edge-hand{position:absolute;width:200px;height:200px;object-fit:contain;top:100px;pointer-events:none;z-index:4;max-width:none}.edge-hand-left{right:calc(100% - 35px)}.edge-hand-right{left:calc(100% - 35px)}.ref-contents-links{padding-inline:64px}
.single-contact{max-width:1050px;padding:0 24px 60px}.single-contact .illustrated-panel{position:relative;border:1.5px solid var(--ink);border-radius:12px;box-shadow:5px 5px 0 var(--ink);margin:40px 0;padding:60px 32px 32px;background:var(--bg)}.panel-caption{position:absolute;left:0;right:0;top:0;height:30px;border-bottom:1px solid var(--ink);padding:4px 14px;display:flex;justify-content:space-between;font-size:13px;border-radius:10px 10px 0 0}.single-contact .section-top,.single-contact .contact-meta{display:none}.single-contact .contact-intro{gap:32px;align-items:center;padding-right:200px;grid-template-columns:1fr}.single-contact .contact-intro-title{font:italic clamp(40px,5vw,64px)/1.05 Georgia,serif;letter-spacing:-.04em}.contact-doodle{position:absolute;right:22px;top:80px;width:160px;height:160px;object-fit:contain;animation:contact-drift 6s ease-in-out infinite}.single-contact .contact-panel h2{font:italic clamp(30px,4vw,44px)/1.2 Georgia,serif;margin-top:16px}.single-contact .enquiry-options{gap:20px}.single-contact .enquiry-option{border:1px solid var(--ink);border-radius:10px;padding:20px;transition:transform .2s}.single-contact .enquiry-option:hover{transform:translateY(-3px)}.single-contact .enquiry-option h3{font-size:22px;font-weight:600}.single-contact .contact-form{border:1px solid var(--ink);border-radius:10px;padding:24px;background:var(--muted)}.single-contact .contact-form-layout{gap:32px}.single-contact .contact-field input,.single-contact .contact-field textarea,.single-contact .contact-field select{border-color:var(--ink);border-radius:6px}.single-contact .contact-socials a{border:1px solid var(--ink);border-radius:9px;padding:24px;transition:transform .2s}.single-contact .contact-socials a:hover{transform:translateY(-3px)}.single-contact .contact-faq details{padding:18px;border:1px solid var(--ink);border-radius:8px;margin:12px 0}.single-contact .contact-faq summary{font-size:18px}
.project-window{padding:0;width:min(860px,calc(100vw - 48px));max-height:84dvh;border:1.5px solid var(--ink);border-radius:12px;background:var(--bg);color:var(--ink);box-shadow:8px 8px 0 var(--ink);overflow:hidden;margin:auto}.project-window::backdrop{background:rgba(0,0,0,.38)}.project-window-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 18px;border-bottom:1px solid var(--ink);min-height:50px;font-size:14px}.project-window-bar button{width:36px;height:36px;background:var(--bg);color:var(--ink);border:1px solid var(--ink);border-radius:6px;cursor:pointer;font-size:24px}#project-window-body{max-height:calc(84dvh - 58px);overflow-y:auto;overscroll-behavior:contain}.project-window[open]{animation:window-arrive .25s ease-out}.project-window .reveal-ready{opacity:1;transform:none}.project-window .single-case .case-body{display:block}.project-window .case-index{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.project-window .case-index a{padding:6px}.project-folder>.single-case{display:none}.project-window .single-case{display:block}.folder-summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@keyframes window-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes doodle-turn{50%{rotate:18deg;scale:1.08}}@keyframes contact-drift{50%{transform:translateY(-5px) rotate(2deg)}}
@media(max-width:700px){.ref-hero h1{padding:40px 28px}.doodle-star{font-size:26px;left:8px;top:8px}.doodle-arrow{font-size:28px;right:8px;bottom:4px}.doodle-loop{width:30px;right:-12px}.ref-contents-links{padding-inline:28px}.edge-hand{width:100px;height:100px;top:145px}.edge-hand-left{right:calc(100% - 12px)}.edge-hand-right{left:calc(100% - 12px)}.single-contact{padding-inline:20px}.single-contact .illustrated-panel{padding:50px 20px 24px;margin:32px 0}.single-contact .contact-intro{padding-right:20px;padding-bottom:120px}.contact-doodle{width:100px;height:100px;top:auto;bottom:10px;right:24px}.single-contact .enquiry-options{grid-template-columns:1fr}.single-contact .contact-form{padding:18px}.project-window{width:calc(100vw - 24px);max-height:90dvh}#project-window-body{max-height:calc(90dvh - 58px)}}
@media(prefers-reduced-motion:reduce){.doodle-star,.contact-doodle,.project-window[open]{animation:none}.enquiry-option,.contact-socials a{transition:none}}
