@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--ink:#25251f;--paper:#f5f2e9;--orange:#ef4c27}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #2861df;outline-offset:6px}header{position:absolute;z-index:5;top:0;width:100%;padding:30px 4%;display:flex;justify-content:space-between;align-items:center}.identity{font-size:21px;font-weight:700;letter-spacing:-1px}.identity span{display:block;font-size:12px;font-weight:400;letter-spacing:0;margin-top:5px}nav{display:flex;align-items:center;gap:32px;font-size:13px}sup{font-size:9px}.pill{border:1px solid currentColor;border-radius:40px;padding:14px 23px}.pill:hover{background:var(--ink);color:var(--paper)}.hero{background:var(--orange);padding:165px 4% 25px;min-height:100svh;position:relative;background-image:linear-gradient(90deg,#25251f0c 1px,transparent 1px);background-size:8.33% 100%}.eyebrow,.hero-rule,.section-label,.caption{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.045em}.eyebrow{text-transform:uppercase}h1{font-size:clamp(80px,11.8vw,190px);line-height:.93;letter-spacing:-.07em;font-weight:500;margin:65px 0 42px;position:relative}.serif,em{font-family:'Instrument Serif',Georgia,serif;font-weight:400}.serif{letter-spacing:-.04em;font-style:italic}.asterisk{font-size:.73em;position:absolute;right:7%;top:15%;animation:rotate 28s linear infinite}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-bottom:60px}.hero-bottom p{font-size:16px;line-height:1.6}.tour{font-size:13px;display:flex;align-items:center;gap:30px;margin-right:17%}.tour span{width:46px;height:46px;border:1px solid;border-radius:50%;display:grid;place-items:center;font-size:24px}.hero-rule{border-top:1px solid #25251f55;padding-top:18px;font-size:9px}.work,.index,.about,.contact{padding:65px 4%}.section-label{padding-bottom:38px;border-bottom:1px solid #25251f40}.project{margin-top:80px}.project-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}h2{font-weight:500;letter-spacing:-.055em;font-size:clamp(48px,6.5vw,104px);line-height:1;margin:0}.project-top>div{display:flex;gap:45px;width:32%;align-items:start}.number{font-size:12px;border:1px solid;border-radius:50%;padding:8px}.project-top p{font-size:16px;line-height:1.5;margin:0}.project-top small{color:#777;font-size:12px}.art{display:block;position:relative;width:100%;border:0;padding:40px;background:#e6e5db;overflow:hidden;height:min(67vw,740px)}.art img{width:100%;height:100%;object-fit:contain;transition:transform .7s}.art:hover img{transform:scale(1.025)}.kisi .art{background:#dedfb8}.caaz .art{background:#c4d1dd}.das .art{background:#e5cebf}.view{position:absolute;bottom:24px;right:24px;padding:15px 22px;border-radius:30px;background:var(--paper);font-size:12px}.caption{padding-top:18px;font-size:9px}.index{padding-top:100px}.filters{display:flex;gap:10px;padding:30px 0}.filters button{background:none;border:1px solid #c6c4bc;padding:10px 20px;border-radius:25px;font-size:12px}.filters .active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.work-row{width:100%;border:0;border-top:1px solid #25251f30;background:none;display:grid;grid-template-columns:60px 1fr 120px 25px;align-items:center;text-align:left;padding:25px 0;transition:padding .2s,color .2s}.work-row:hover{padding-left:14px;color:var(--orange)}.work-row b{font-size:clamp(20px,3vw,42px);font-weight:500;letter-spacing:-.04em}.work-row small{font-size:11px}.work-row[hidden]{display:none}.about{background:#dfdfd2;margin-top:60px;padding-bottom:110px}.about h2{margin:65px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-grid p{font-size:22px;line-height:1.45;max-width:600px}.about-grid p.muted{font-size:15px;color:#62625a}.monogram{font-size:170px;letter-spacing:-30px;font-weight:700;transform:rotate(-10deg);text-align:center}.monogram span{color:var(--orange)}.monogram i{display:block;font-size:9px;letter-spacing:2px;font-style:normal}.text-link{display:inline-block;margin-top:20px;border-bottom:1px solid;padding-bottom:5px;font-size:13px}.contact{background:var(--orange);padding-top:65px}.contact h2{font-size:clamp(65px,10vw,150px);margin:65px 0 45px}.contact-links{display:flex;align-items:center;gap:25px}.contact-links a{font-size:clamp(18px,2.5vw,34px);letter-spacing:-.04em}.contact-links button{background:none;border:1px solid;border-radius:30px;padding:12px 20px;font-size:11px}#copy-status{height:20px;font-size:12px}footer{margin-top:100px;border-top:1px solid #25251f55;padding:25px 0;display:flex;gap:35px;font-size:10px}footer a:last-child{margin-left:auto;margin-right:150px}.guide{position:fixed;right:25px;bottom:25px;z-index:10;display:flex;align-items:end;gap:14px}.bubble{background:var(--paper);border:1px solid var(--ink);border-radius:18px 18px 0 18px;box-shadow:3px 3px 0 var(--ink);padding:16px 19px;max-width:230px;font-size:12px;line-height:1.5;margin-bottom:55px}.mascot{position:relative;width:77px;height:90px;border:2px solid var(--ink);border-radius:35% 35% 32% 32%;background:#c9e85d;box-shadow:4px 4px 0 var(--ink);transform:rotate(7deg);transition:transform .2s}.mascot:hover{transform:rotate(-8deg) translateY(-6px)}.eyes{display:flex;gap:12px;justify-content:center}.eyes i{display:block;width:8px;height:14px;background:var(--ink);border-radius:50%;animation:blink 5s infinite}.mouth{display:block;width:20px;height:10px;border-bottom:2px solid;margin:9px auto;border-radius:50%}.feet:before,.feet:after{content:'';position:absolute;width:15px;height:14px;background:var(--ink);bottom:-10px;border-radius:0 0 8px 8px}.feet:before{left:12px}.feet:after{right:12px}.hide-guide{position:absolute;right:0;top:-23px;border:0;background:none;font-size:20px}.mascot.dance{animation:dance .3s alternate 6}dialog{border:0;padding:0;max-width:1000px;width:90%;max-height:90svh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#171813c9}#close-dialog{position:sticky;top:14px;float:right;margin:14px;border:1px solid;background:var(--paper);width:40px;height:40px;border-radius:50%;z-index:1}.dialog-info{padding:45px}.dialog-info h2{font-size:55px;margin:15px 0}.dialog-info p{line-height:1.5;max-width:600px}.dialog-info span{font-size:11px;text-transform:uppercase}.dialog-info a{display:inline-block;border-bottom:1px solid;padding-bottom:5px;font-size:13px;margin-top:12px}dialog img{display:block;width:100%;max-height:70vh;object-fit:contain;background:#e4e2d8}.skip{position:fixed;top:-100px;left:15px;background:white;padding:15px;z-index:100}.skip:focus{top:15px}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.1)}}@keyframes dance{to{transform:rotate(-20deg) translateY(-25px)}}@media(max-width:700px){header{padding:24px 5%}.identity{font-size:17px}nav{gap:16px}nav>a:first-child,nav>a:nth-child(2){display:none}.pill{padding:10px 15px}.hero{padding:145px 5% 22px;min-height:90svh}.eyebrow span:last-child,.hero-rule span:last-child{display:none}h1{font-size:16vw;margin:70px 0 35px}.asterisk{right:2%;top:-50px;font-size:50px}.hero-bottom{display:block;margin-bottom:35px}.hero-bottom p{font-size:14px}.tour{margin-top:30px;gap:20px}.work,.index,.about,.contact{padding:45px 5%}.section-label{font-size:9px;gap:30px;line-height:1.5}.section-label span:last-child{text-align:right}.project{margin-top:55px}.project-top{gap:20px}.project-top>div{width:40%;gap:12px}.number{display:none}.project-top p{font-size:12px}.project-top small{font-size:10px}h2{font-size:12vw}.art{height:100vw;padding:15px}.view{bottom:12px;right:12px;padding:12px 15px;font-size:10px}.caption{font-size:8px;gap:20px}.caption span:last-child{text-align:right}.filters{gap:6px}.filters button{padding:9px 13px}.work-row{grid-template-columns:30px 1fr 65px 15px;gap:6px;padding:23px 0}.work-row small{font-size:9px}.about-grid{grid-template-columns:1fr;gap:10px}.monogram{font-size:120px;padding-bottom:35px}.about-grid p{font-size:20px}.about h2{margin:45px 0}.contact-links{display:block}.contact-links button{margin-top:20px}.contact h2{font-size:14vw}.guide{right:17px;bottom:20px}.mascot{width:55px;height:66px}.eyes{gap:9px}.eyes i{width:6px;height:11px}.bubble{max-width:190px;font-size:11px;margin-bottom:35px;padding:12px}.hide-guide{top:-26px}footer{margin-top:80px;flex-wrap:wrap;padding-bottom:90px;gap:20px}footer a:last-child{margin:0}.dialog-info{padding:30px 22px}.dialog-info h2{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Monochrome art direction and image-led work archive. */
:root{--ink:#111;--paper:#f1f1ee;--orange:#b74732}body{background-color:var(--paper);background-image:linear-gradient(90deg,#1111110d 1px,transparent 1px);background-size:8.333333% 100%}.hero{background-color:transparent}.asterisk{color:var(--orange)}h1 .serif{color:#5b5b57}.hero-rule{color:#62625e}.about{background:#e3e3df}.contact{background:#171717;color:#f1f1ee}.contact .section-label,.contact footer{border-color:#ffffff30}.contact h2 em{color:#bbb}.contact-links a:hover,.text-link:hover{color:var(--orange)}.mascot{background:#deded7}.monogram span{color:var(--orange)}.monogram button{display:block;margin:35px auto 0;padding:10px 0;background:none;border:0;border-bottom:1px solid #777;font-size:11px;letter-spacing:0;transform:rotate(10deg)}.work-gallery{padding:90px 4% 100px}.gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.gallery-heading h2{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(64px,8.5vw,140px);font-weight:600;letter-spacing:-.065em}.gallery-heading>span{font-size:17px;color:#777}.filters{padding:35px 0 50px;flex-wrap:wrap}.filters button{background:var(--paper)}.filters button:hover{border-color:var(--ink)}.filters .active{background:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:65px 24px}.project-card{grid-column:span 2;display:block;min-width:0;text-align:left;border:0;background:none;padding:0}.project-card:nth-child(5n+4),.project-card:nth-child(5n+5){grid-column:span 3}.project-visual{display:block;position:relative;aspect-ratio:1.5;overflow:hidden;border-radius:12px;background:#dcdcd7}.project-visual img{width:100%;height:100%;display:block;object-fit:contain;padding:18px;transition:transform .65s cubic-bezier(.2,.7,.3,1)}.project-card:hover img{transform:scale(1.035)}.project-card:nth-child(1) .project-visual{background:#1a1b18}.project-card:nth-child(2) .project-visual{background:#d0d2d2}.project-card:nth-child(3) .project-visual{background:#262626}.project-card:nth-child(4) .project-visual{background:#161616}.project-card:nth-child(5) .project-visual{background:#d8d8d3}.project-caption{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-top:18px}.project-caption strong{font-weight:600;font-size:clamp(17px,1.65vw,28px);letter-spacing:-.045em}.project-caption>span{color:#777;font-size:12px;white-space:nowrap}.card-open{position:absolute;right:16px;bottom:16px;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#f1f1ee;color:#111;opacity:0;transform:translateY(8px);transition:.25s}.project-card:hover .card-open,.project-card:focus-visible .card-open{opacity:1;transform:none}.web-cover{background:#222!important;color:#eee}.web-cover-inner{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:9%;background:linear-gradient(135deg,transparent 60%,#ffffff08 60%)}.web-cover-inner>span{font-size:9px;letter-spacing:.08em;color:#aaa}.web-cover-inner strong{font-size:clamp(25px,3vw,54px);line-height:1;letter-spacing:-.05em;font-weight:500}.web-cover-inner strong span{color:var(--orange);float:right}.intro{position:fixed;inset:0;background:#111;color:#eee;z-index:200;display:grid;place-items:center}.intro[hidden]{display:none}.intro-mark{width:min(60vw,460px)}.intro-mark svg{width:100%;overflow:visible}.intro-caption{display:flex;justify-content:space-between;gap:30px;margin-top:25px;font-size:9px;letter-spacing:.12em;color:#aaa}.liquid-rise{transform:translateY(260px)}.playing .liquid-rise{animation:liquid-fill 2.2s cubic-bezier(.3,.1,.3,1) forwards}.playing .liquid-wave{animation:liquid-drift 1.4s linear infinite}#skip-intro{position:absolute;right:5%;bottom:5%;background:none;border:0;border-bottom:1px solid #777;color:#aaa;padding:8px 0;font-size:12px}body.intro-playing{overflow:hidden}@keyframes liquid-fill{to{transform:translateY(-35px)}}@keyframes liquid-drift{to{transform:translateX(200px)}}@media(max-width:900px){.project-grid{gap:40px 20px}.project-caption{display:block}.project-caption>span{display:block;margin-top:6px}.project-card,.project-card:nth-child(5n+4),.project-card:nth-child(5n+5){grid-column:span 3}}@media(max-width:600px){.work-gallery{padding:55px 5% 70px}.gallery-heading>span{font-size:12px}.filters{padding:25px 0 30px;gap:7px}.project-grid{grid-template-columns:1fr;gap:38px}.project-card,.project-card:nth-child(5n+4),.project-card:nth-child(5n+5){grid-column:auto}.project-caption{display:flex;gap:12px;margin-top:13px}.project-caption strong{font-size:20px}.project-caption>span{font-size:10px;margin:0}.project-visual{border-radius:9px}.project-visual img{padding:15px}.card-open{opacity:1;transform:none;width:30px;height:30px;font-size:13px;right:10px;bottom:10px}.web-cover-inner strong{font-size:40px}.intro-mark{width:76vw}.intro-caption{font-size:8px}.bubble{display:none}.guide{bottom:18px}.hide-guide{display:none}}@media(prefers-reduced-motion:reduce){.liquid-rise{transform:translateY(-35px)}}
.about{overflow:hidden}.project-caption strong{min-width:0}.intro-playing main,.intro-playing header{pointer-events:none}@media(max-width:360px){.project-caption{display:block}.project-caption>span{display:block;margin-top:5px}}

/* Annotated revisions: name-led hero and edge-to-edge project covers. */
.name-heading{font-size:clamp(70px,11.8vw,190px)}.project-visual img{padding:0;object-fit:cover;object-position:center}.hero{min-height:0;padding-bottom:25px}.hero-bottom{margin-bottom:45px}@media(max-width:700px){.name-heading{font-size:15.5vw;letter-spacing:-.065em;margin:25px 0 35px}.hero{min-height:0;padding-top:125px}.hero-bottom{margin-bottom:30px}}

/* Minimal name and loading line. */
.loading-mark{width:min(280px,70vw)}.loading-mark p{margin:0 0 22px;font-size:24px;font-weight:500;letter-spacing:-.045em;text-align:center}.loading-track{height:2px;background:#ffffff26;overflow:hidden}.loading-track span{display:block;width:100%;height:100%;background:#eee;transform-origin:left;transform:scaleX(0)}.playing .loading-track span{animation:loading-line 1.2s cubic-bezier(.2,.7,.3,1) forwards}@keyframes loading-line{to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.loading-track span{transform:scaleX(1)}}
.cv-section{padding:70px 4% 100px;background:#e3e3df}.cv-heading{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:55px 0}.cv-heading h2{font-size:clamp(45px,6vw,90px)}.cv-heading p{font-size:14px;line-height:1.6;color:#666;max-width:600px}.cv-download{display:flex;gap:35px;align-items:center;background:#111;color:#eee;border-radius:30px;padding:18px 25px;font-size:13px;white-space:nowrap}.cv-download:hover{background:var(--orange)}.cv-download span{font-size:10px;color:#ccc}.cv-body{display:grid;grid-template-columns:1fr 2.2fr;gap:70px}.cv-body aside h3,.cv-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin:0 0 20px}.cv-body aside h3:not(:first-child){margin-top:40px}.cv-body aside p,.cv-body aside a{font-size:13px;line-height:1.9;color:#555;overflow-wrap:anywhere}.cv-row{display:grid;grid-template-columns:130px 1fr;gap:25px;border-top:1px solid #1113;padding:24px 0}.cv-row>span{font-size:11px;color:#666;line-height:1.6}.cv-row h3{font-weight:500;font-size:21px;letter-spacing:-.03em;margin:0 0 8px}.cv-row h4{font-size:12px;font-weight:500;margin:0 0 12px}.cv-row p{font-size:13px;color:#555;line-height:1.7;margin:0}.education-label{margin-top:35px}.empty-projects{grid-column:1/-1;padding:45px 0;color:#666;font-size:16px;border-top:1px solid #1112}@media(max-width:700px){.cv-section{padding:45px 5% 65px}.cv-heading{display:block;padding:35px 0}.cv-download{width:fit-content;margin-top:25px}.cv-body{grid-template-columns:1fr;gap:35px}.cv-row{grid-template-columns:1fr;gap:10px}.cv-row h3{font-size:20px}nav>a:nth-child(2){display:block}nav{gap:12px}.identity{font-size:16px}}

/* User-selectable monochrome themes. Artwork stays in its original colours. */
.theme-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;padding:10px 0;min-height:44px;font-size:12px}.theme-track{display:block;width:44px;height:25px;border:1px solid currentColor;border-radius:20px;padding:4px}.theme-track>span{display:block;width:15px;height:15px;border-radius:50%;background:currentColor;transition:transform .2s}.theme-toggle[aria-checked="true"] .theme-track>span{transform:translateX(17px)}
html[data-theme="dark"]{color-scheme:dark;--ink:#ededeb;--paper:#151515}html[data-theme="dark"] body{background-image:linear-gradient(90deg,#ffffff0c 1px,transparent 1px)}html[data-theme="dark"] .hero{background-image:linear-gradient(90deg,#ffffff08 1px,transparent 1px)}html[data-theme="dark"] .hero-rule,html[data-theme="dark"] .section-label{border-color:#ffffff30;color:#aaa}html[data-theme="dark"] .cv-section{background:#202020}html[data-theme="dark"] .cv-heading p,html[data-theme="dark"] .cv-body aside p,html[data-theme="dark"] .cv-body aside a,html[data-theme="dark"] .cv-row p,html[data-theme="dark"] .cv-row>span,html[data-theme="dark"] .project-caption>span,html[data-theme="dark"] .gallery-heading>span,html[data-theme="dark"] .empty-projects{color:#b0b0ac}html[data-theme="dark"] .cv-row,html[data-theme="dark"] .empty-projects{border-color:#ffffff30}html[data-theme="dark"] .cv-download{background:#ededeb;color:#151515}html[data-theme="dark"] .cv-download span{color:#555}html[data-theme="dark"] .cv-download:hover{background:var(--orange);color:white}html[data-theme="dark"] .filters button{border-color:#666}html[data-theme="dark"] .filters .active{background:#ededeb;color:#151515}html[data-theme="dark"] .bubble{background:#252525;box-shadow:3px 3px 0 #777}html[data-theme="dark"] .mascot{color:#111;border-color:#111;box-shadow:4px 4px 0 #777}html[data-theme="dark"] .eyes i,html[data-theme="dark"] .feet:before,html[data-theme="dark"] .feet:after{background:#111}html[data-theme="dark"] dialog img{background:#292929}html[data-theme="dark"] .contact{background:#0c0c0c}.hero-bottom>p{font-size:clamp(18px,2vw,28px);letter-spacing:-.03em}@media(max-width:700px){nav>a:first-child{display:block}nav{gap:12px;font-size:12px}.theme-toggle{gap:8px;font-size:11px}.pill{padding:10px 12px}}
.brand-strip{margin:35px 0 30px}.brand-strip-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.08em;color:#777;margin-bottom:18px}.brand-strip-label button{border:0;background:none;font-size:10px;color:inherit;padding:8px}.brand-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.brand-track{display:flex;width:max-content;animation:brands-right 35s linear infinite}.brand-group{display:flex;align-items:center;gap:60px;padding-right:60px}.brand-logo{display:grid;place-items:center;width:100px;height:55px}.brand-logo img{max-width:100%;max-height:45px;object-fit:contain;filter:grayscale(1)}.brand-track.paused,.brand-window:hover .brand-track{animation-play-state:paused}@keyframes brands-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}html[data-theme="dark"] .brand-logo{background:#efefec;border-radius:5px;padding:5px}.project-caption>span{white-space:normal;font-size:10px;text-align:right;max-width:48%}.media-stage{background:#111}.media-stage video{display:block;width:100%;max-height:70vh}.media-stage video[hidden]{display:none}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:25px;padding:18px}.gallery-controls[hidden]{display:none}.gallery-controls button{border:1px solid #888;background:none;border-radius:50%;width:40px;height:40px}.gallery-controls span{font-size:12px}#media-title{text-align:center;font-size:12px;margin:10px 25px 20px}#media-thumbs{display:flex;gap:10px;padding:0 25px 25px;overflow:auto}#media-thumbs button{position:relative;flex:0 0 80px;height:60px;border:2px solid transparent;padding:0;background:#222}#media-thumbs button[aria-current="true"]{border-color:var(--orange)}#media-thumbs img{width:100%;height:100%;object-fit:cover}#media-thumbs span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;text-shadow:0 1px 4px #000}.bubble{text-align:left;cursor:pointer}.chat-panel{position:fixed;right:25px;bottom:130px;z-index:30;width:min(370px,calc(100vw - 30px));height:min(550px,calc(100dvh - 155px));border:1px solid #777;border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 15px 60px #0003;display:flex;flex-direction:column;overflow:hidden}.chat-panel[hidden]{display:none}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #8884}.chat-header strong{font-size:14px}.chat-header small{display:block;font-size:10px;color:#888;margin-top:5px}.chat-header button{background:none;border:0;font-size:18px;padding:8px}#chat-messages{flex:1;overflow-y:auto;padding:16px;min-height:60px}.chat-message{padding:12px 14px;margin-bottom:12px;border-radius:12px;font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.bot{background:#8882;margin-right:20px}.chat-message.visitor{background:var(--ink);color:var(--paper);margin-left:30px}.chat-message a{display:block;text-decoration:underline;margin-top:10px}.chat-prompts{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 12px}.chat-prompts button{border:1px solid #8886;border-radius:20px;padding:7px 10px;background:none;font-size:10px}#chat-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid #8884}#chat-input{min-width:0;flex:1;background:none;color:var(--ink);border:0;font:inherit;font-size:13px;padding:8px}#chat-form button{width:35px;height:35px;border:0;border-radius:50%;background:var(--ink);color:var(--paper);font-size:20px}.chat-note{font-size:9px;color:#888;margin:0 15px 12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:700px){.brand-group{gap:32px;padding-right:32px}.brand-logo{width:80px;height:45px}.brand-logo img{max-height:35px}.chat-panel{right:15px;bottom:100px;height:min(530px,calc(100dvh - 120px))}.project-caption{display:block}.project-caption>span{display:block;max-width:100%;text-align:left;margin-top:5px}}@media(prefers-reduced-motion:reduce){.brand-track{animation:none}.brand-window{overflow-x:auto}}
.project-credit{display:block;margin-top:9px;font-size:10px;line-height:1.5;color:#777}html[data-theme="dark"] .project-credit{color:#aaa}#dialog-credit{border-top:1px solid #8885;margin-top:20px;padding-top:15px;font-size:12px;line-height:1.7}#dialog-credit strong,#dialog-credit span{display:block;font-size:12px;text-transform:none}#dialog-credit strong{font-weight:500}#dialog-credit span{color:#777}html[data-theme="dark"] #dialog-credit span{color:#bbb}
/* Fixed, viewport-fit brand viewer: all media controls stay visible. */
body.project-open{overflow:hidden}#project-dialog{width:min(1240px,96vw);height:94dvh;max-height:94dvh;max-width:1240px;overflow:hidden;margin:auto;padding:18px;border-radius:12px;box-sizing:border-box}#project-dialog[open]{display:grid;grid-template-columns:minmax(230px,28%) minmax(0,1fr);grid-template-rows:minmax(0,1fr) 44px auto 64px;grid-template-areas:'info stage' 'info controls' 'info caption' 'info thumbs';gap:10px 22px}#project-dialog #close-dialog{position:absolute;right:12px;top:12px;margin:0;float:none;z-index:3;width:36px;height:36px;background:var(--paper)}#project-dialog .dialog-info{grid-area:info;padding:20px 0;min-width:0;min-height:0}#project-dialog .dialog-info h2{font-size:clamp(25px,3vw,42px);line-height:1.05;margin:18px 0;overflow-wrap:anywhere}#project-dialog .dialog-info p{font-size:13px;margin:12px 0;line-height:1.5}#project-dialog .dialog-info p:empty{display:none}#project-dialog #dialog-credit{margin-top:18px;padding-top:14px;font-size:12px;line-height:1.6}#project-dialog #dialog-link{margin-top:18px;font-size:13px}#project-dialog .media-stage{grid-area:stage;position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:6px}#project-dialog .media-stage img,#project-dialog .media-stage video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;background:#111}#project-dialog .gallery-controls{grid-area:controls;padding:0;gap:22px;min-height:0}#project-dialog .gallery-controls button{height:36px;width:40px}#project-dialog .gallery-controls button:disabled{opacity:.3;cursor:default}#project-dialog #media-title{grid-area:caption;margin:0;font-size:11px;line-height:1.3;overflow-wrap:anywhere}#project-dialog #media-thumbs{grid-area:thumbs;display:flex;justify-content:center;gap:6px;padding:0;overflow:hidden;min-width:0;min-height:0}#project-dialog #media-thumbs button{flex:1 1 0;min-width:0;max-width:85px;height:100%;border-radius:3px}#project-dialog #media-thumbs img{height:100%;max-height:none;object-fit:cover}#project-dialog button:focus-visible{outline-offset:-3px}@media(max-width:700px) and (orientation:portrait){#project-dialog{width:96vw;height:96dvh;max-height:96dvh;padding:12px}#project-dialog[open]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 40px auto 42px;grid-template-areas:'info' 'stage' 'controls' 'caption' 'thumbs';gap:8px}#project-dialog .dialog-info{padding:0 42px 4px 0}#project-dialog .dialog-info h2{font-size:26px;margin:7px 0}#project-dialog #dialog-category{font-size:9px}#project-dialog .dialog-info p{font-size:11px;margin:6px 0;line-height:1.4}#project-dialog #dialog-credit{margin-top:7px;padding-top:6px}#project-dialog #dialog-credit strong,#project-dialog #dialog-credit span{font-size:10px;line-height:1.4}#project-dialog #dialog-link{margin-top:7px;font-size:11px}#project-dialog #media-title{font-size:10px}}@media(max-height:500px) and (orientation:landscape){#project-dialog{height:98dvh;max-height:98dvh;padding:10px}#project-dialog[open]{grid-template-columns:minmax(175px,29%) minmax(0,1fr);grid-template-rows:minmax(0,1fr) 32px auto 32px;gap:5px 12px}#project-dialog .dialog-info{padding:4px 0}#project-dialog .dialog-info h2{font-size:22px;margin:8px 0}#project-dialog .dialog-info p,#project-dialog #dialog-credit strong,#project-dialog #dialog-credit span{font-size:10px;line-height:1.4}#project-dialog #dialog-credit{margin-top:8px;padding-top:6px}#project-dialog #dialog-link{margin-top:8px;font-size:11px}#project-dialog .gallery-controls button{height:28px;width:34px}}

.chat-message button,.chat-message a{display:block;margin-top:10px;text-align:left;font:inherit;color:inherit}.chat-message button{border:1px solid currentColor;border-radius:16px;padding:7px 10px;background:transparent;cursor:pointer}.chat-message button:hover{background:var(--accent);color:white}

.opening-cover{position:absolute;object-fit:cover;z-index:4;border-radius:10px;pointer-events:none}#mascot .morph-mouth{border:0!important;height:20px;width:24px;background:none}#mascot .morph-mouth svg{width:100%;height:100%;display:block}.project-card:focus-visible{outline:2px solid #ba442e;outline-offset:5px}@media(prefers-reduced-motion:reduce){.opening-cover{display:none}}

/* Each repeat fills the strip, so wide screens never expose an empty tail. */
.brand-window{container-type:inline-size;isolation:isolate;mask-image:none}
.brand-group{flex:0 0 auto;min-width:100cqw;box-sizing:border-box;justify-content:space-around;gap:clamp(24px,4vw,60px);padding-right:clamp(24px,4vw,60px)}
.brand-logo,html[data-theme="dark"] .brand-logo{background:transparent;border-radius:0;padding:0;flex-shrink:0}
.brand-logo img{filter:grayscale(1);mix-blend-mode:multiply}
html[data-theme="dark"] .brand-logo img{filter:grayscale(1) invert(1);mix-blend-mode:screen}
@media(prefers-reduced-motion:reduce){.brand-group[aria-hidden="true"]{display:none}}

.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;pointer-events:none}
#chat-input{font-size:16px;line-height:1.4}#chat-form button,#close-chat{min-width:44px;min-height:44px}
@media(max-width:700px){.chat-panel{top:calc(var(--chat-visible-top,0px) + 10px);bottom:auto;left:10px;right:10px;width:auto;height:min(560px,calc(var(--chat-visible-height,100dvh) - 20px));max-height:calc(var(--chat-visible-height,100dvh) - 20px)}.chat-header{padding:12px 14px}.chat-prompts{gap:5px;padding:0 10px 8px}.chat-prompts button{min-height:36px}.chat-note{margin-bottom:10px}#chat-messages{overscroll-behavior:contain}.chat-panel #chat-input{font-size:16px}}

/* Slightly larger brand marks, with the existing spacing preserved. */
.brand-logo img{transform:scale(1.2);transform-origin:center}
