/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.45}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{line-height:1.1}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{background:var(--selection)}input,textarea,select{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:0 0;border-radius:4px;padding:12px 14px}textarea{resize:vertical}label{flex-direction:column;gap:8px;font-size:.875rem;font-weight:500;display:flex}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--accent)}.checkbox-label{flex-direction:row;align-items:center;gap:10px}p{line-height:1.7}svg{flex-shrink:0}a:hover.text-link{color:var(--accent)}.wrap{max-width:1600px;margin:auto;padding-left:5%;padding-right:5%}.eyebrow{letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;line-height:1.6}.text-link{align-items:center;gap:12px;min-height:44px;font-size:.875rem;line-height:1.5;display:inline-flex}.button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:3px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:13px 22px;font-size:.875rem;line-height:1.4;display:inline-flex}.button:hover{background:var(--accent);border-color:var(--accent)}.button.secondary{color:var(--ink);border-color:var(--line);background:0 0}.button.secondary:hover{background:var(--surface-secondary)}.button.danger{background:var(--danger);border-color:var(--danger)}.actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.icon-button{border-radius:4px;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.icon-button:hover{background:var(--surface-secondary)}.preserve{white-space:pre-line}.sr-only,.honeypot{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--on-dark);padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.public-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1600px;margin:auto;padding:30px 5%;display:flex}.wordmark{letter-spacing:-.04em;align-items:flex-start;gap:6px;font-size:1.2rem;font-weight:600;display:flex}.wordmark span{padding-top:2px;font-size:.65rem;font-weight:400}.wordmark img{object-fit:contain;max-width:180px;max-height:50px}.nav{align-items:center;gap:40px;font-size:.875rem;display:flex}.nav a{align-items:center;gap:5px;min-height:44px;display:flex;position:relative}.nav a.active:after{content:"";background:var(--ink);width:100%;height:1px;position:absolute;bottom:4px}.menu-button{min-width:44px;min-height:44px;display:none}.hero{padding-top:44px;padding-bottom:24px}.hero-eyebrow{justify-content:space-between;gap:30px;display:flex}.hero-main{grid-template-columns:1fr 280px;align-items:end;gap:6%;padding:56px 0 66px;display:grid}.hero h1{font-family:var(--display);letter-spacing:-.055em;font-size:clamp(4rem,8.4vw,8.5rem);line-height:1.04}.hero h1 span{display:block}.hero h1 span:nth-child(2){color:var(--accent);font-style:italic}.hero-aside{padding-bottom:10px}.asterisk{color:var(--accent);margin-bottom:35px;font-size:90px;line-height:1;display:block}.hero-aside p{max-width:280px;margin-bottom:20px;font-size:.9375rem;line-height:1.7}.hero-bottom{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding-bottom:25px;font-size:.75rem;display:flex}.selected{padding-top:52px;padding-bottom:85px}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:14px;display:flex}.section-heading h2{font-family:var(--display);letter-spacing:-.025em;margin-top:12px;font-size:clamp(2rem,3.3vw,3.1rem)}.section-intro{color:var(--muted);margin-bottom:28px;font-size:.9rem}.project-grid{grid-template-columns:1fr 1fr;gap:50px 28px;display:grid}.project-grid .project-card:nth-child(3n+3){grid-column:1/-1}.project-grid .project-card:nth-child(3n+3) .project-visual{aspect-ratio:1.9}.project-visual{background:var(--surface-secondary);aspect-ratio:4/3;display:block;position:relative;overflow:hidden}.project-visual img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.project-visual:hover img{transform:scale(1.035)}.project-open{background:var(--paper);opacity:0;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .25s;display:flex;position:absolute;bottom:20px;right:20px;transform:translateY(6px)}.project-visual:hover .project-open,.project-visual:focus-visible .project-open{opacity:1;transform:none}.demo-label{background:var(--floating-surface);color:var(--foreground);padding:5px 9px;font-size:.75rem;position:absolute;top:16px;left:16px}.project-caption{justify-content:space-between;gap:16px;padding-top:17px;display:flex}.project-caption h3{letter-spacing:-.025em;font-size:1.2rem}.project-caption p,.project-caption>span{color:var(--muted);margin-top:5px;font-size:.8125rem}.art-placeholder{background:var(--surface-secondary);width:100%;height:100%;font-family:var(--display);justify-content:center;align-items:center;padding:20px;font-size:2rem;display:flex}.home-about{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:40px;padding-top:75px;padding-bottom:85px;display:grid}.home-about h2{font-family:var(--display);margin-bottom:25px;font-size:clamp(2.8rem,5vw,4.7rem)}.home-about p{max-width:700px;font-size:1.6rem}.home-about p.body-copy{max-width:520px;margin:20px 0;font-size:1rem}.contact-band{background:var(--primary-soft);padding:70px 0 55px}.contact-band a{justify-content:space-between;align-items:center;gap:24px;margin:35px 0 20px;display:flex}.contact-band h2{font-family:var(--display);letter-spacing:-.04em;white-space:pre-line;font-size:clamp(3rem,6vw,6rem)}.contact-band a>svg{stroke-width:1px;width:90px;height:90px}.contact-band p{font-size:.9375rem}.social-section{padding-top:45px;padding-bottom:45px}.social-section h2{font-family:var(--display);margin-bottom:20px;font-size:2rem}.public-footer{max-width:1600px;margin:auto;padding:55px 5% 22px}.footer-top{grid-template-columns:1fr 1fr 1fr;gap:30px;padding-bottom:65px;display:grid}.footer-top>p{max-width:250px;font-size:.9375rem}.footer-top>div{flex-direction:column;align-items:flex-end;gap:10px;font-size:.875rem;display:flex}.footer-top a{align-items:center;gap:8px;display:flex}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding-top:22px;font-size:.75rem;display:flex}.page{min-height:60vh;padding-top:60px;padding-bottom:90px}.page-title{font-family:var(--display);letter-spacing:-.055em;overflow-wrap:anywhere;margin:22px 0 50px;font-size:clamp(3.5rem,7vw,6.6rem);line-height:1.07}.page-title em{color:var(--accent);font-weight:400}.filter-row{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin:0 0 35px;padding-bottom:22px;display:flex}.filter-row button{border-radius:25px;min-height:44px;padding:9px 18px;font-size:.875rem}.filter-row button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.filter-row button:not([aria-pressed=true]):hover{background:var(--surface-secondary)}.load-more{text-align:center;padding-top:40px}.project-title-row{justify-content:space-between;align-items:center;gap:30px;display:flex}.project-title-row .page-title{max-width:1000px}.lead{max-width:800px;font-size:1.35rem;line-height:1.6}.demo-notice{color:var(--muted);margin-top:-20px;margin-bottom:25px;font-size:.8125rem}.cover-button{width:100%;margin:45px 0;padding:0;display:block;position:relative}.cover-button img{width:100%;height:auto}.cover-button>svg{background:var(--paper);box-sizing:content-box;border-radius:50%;padding:12px;position:absolute;bottom:20px;right:20px}.project-story{grid-template-columns:1fr 2fr;gap:8%;padding:30px 0 65px;display:grid}.project-story dl{margin:0}.project-story dt{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75rem}.project-story dd{margin:7px 0 26px;font-size:.9375rem}.project-story aside>a{display:flex}.story-block{margin:30px 0}.story-block h2{font-family:var(--display);margin-bottom:15px;font-size:2rem}.story-block p{white-space:pre-line}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags span{border:1px solid var(--line);border-radius:20px;padding:5px 12px;font-size:.8125rem}.project-gallery{grid-template-columns:1fr 1fr;align-items:start;gap:30px;margin-bottom:60px;display:grid}.project-gallery figure{grid-column:span 2;margin:0}.project-gallery .gallery-portrait,.project-gallery .gallery-square{grid-column:span 1}.project-gallery button{width:100%;padding:0;display:block;position:relative}.project-gallery img{width:100%;height:auto}.project-gallery svg{background:var(--paper);box-sizing:content-box;border-radius:50%;padding:8px;position:absolute;bottom:15px;right:15px}.project-gallery figcaption{color:var(--muted);margin-top:10px;font-size:.8125rem}.lightbox-overlay{background:var(--lightbox-overlay);z-index:80;position:fixed;top:0;right:0;bottom:0;left:0}.lightbox{z-index:81;color:var(--on-dark);justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.lightbox figure{flex-direction:column;justify-content:center;align-items:center;width:calc(100% - 140px);height:calc(100% - 120px);margin:0;display:flex}.lightbox figure img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100% - 50px)}.lightbox figcaption{justify-content:space-between;gap:30px;width:100%;padding:12px 0;font-size:.875rem;display:flex}.lightbox-close,.lightbox-prev,.lightbox-next{background:var(--hover-overlay);border-radius:50%;place-items:center;min-width:48px;min-height:48px;display:grid;position:absolute}.lightbox-close{top:20px;right:22px}.lightbox-prev{top:50%;left:12px}.lightbox-next{top:50%;right:12px}.about-intro{align-items:start;gap:7%;display:flex}.portrait{object-fit:cover;width:38%;max-height:700px}.about-intro>div{flex:1}.about-intro h2{font-family:var(--display);max-width:650px;margin:20px 0 30px;font-size:clamp(2rem,3.5vw,3.5rem)}.about-intro .body-copy{max-width:700px;margin-bottom:30px}.about-lists{grid-template-columns:1fr 1fr;gap:45px;margin-top:65px;display:grid}.about-lists section{border-top:1px solid var(--line);padding-top:25px}.about-lists h2{margin-bottom:20px;font-size:1.3rem}.serif-dot{color:var(--accent)}.contact-columns{grid-template-columns:1fr 1fr;gap:10%;margin-top:50px;display:grid}.contact-columns aside h2{font-family:var(--display);margin-bottom:20px;font-size:2rem}.contact-columns aside p{color:var(--muted);margin:16px 0}.contact-columns aside>a{align-items:center;gap:14px;min-height:44px;margin-top:18px;display:flex}.contact-email{overflow-wrap:anywhere;font-size:clamp(1rem,1.6vw,1.4rem)}.social-links{flex-wrap:wrap;gap:18px;margin-top:35px;display:flex}.social-links a{align-items:center;gap:5px;min-height:44px;font-size:.875rem;display:flex}.contact-form{flex-direction:column;gap:20px;display:flex}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--border-strong);border-radius:0;padding:8px 0}.field-error{color:var(--danger);font-size:.8125rem}.privacy-note{color:var(--muted);font-size:.8125rem}.contact-form .button{align-self:flex-start}.sent-state{border:1px solid var(--line);padding:35px}.sent-state h2{margin:20px 0}.sent-state p{margin-bottom:25px}.loading{grid-template-columns:1fr 1fr;gap:25px;max-width:1300px;margin:40px auto;padding:30px;display:grid}.loading>span{color:var(--muted);grid-column:1/-1;font-size:.875rem}.skeleton{background:var(--surface-secondary);height:220px;animation:1.5s infinite pulse}.empty{text-align:center;padding:65px 20px}.empty-mark{font-family:var(--display);color:var(--muted);font-size:3rem}.empty h2,.empty h1{font-family:var(--display);margin:15px 0 20px;font-size:2rem}.empty p{color:var(--muted);margin-bottom:22px}.notice{border:1px solid var(--danger-border);background:var(--danger-surface);margin:20px 0;padding:24px}.notice button{margin-top:15px;text-decoration:underline}.dialog-overlay{background:var(--overlay);z-index:90;position:fixed;top:0;right:0;bottom:0;left:0}.dialog-content{background:var(--paper);z-index:91;border-radius:8px;width:calc(100% - 32px);max-width:480px;padding:40px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.dialog-content h2{margin-bottom:18px;font-size:1.5rem}.dialog-content p{color:var(--muted);margin-bottom:25px}.dialog-close{place-items:center;width:40px;height:40px;display:grid;position:absolute;top:8px;right:8px}.admin-shell{background:var(--surface-secondary);min-height:100vh}.admin-sidebar{background:var(--sidebar);width:250px;color:var(--sidebar-text);z-index:30;flex-direction:column;padding:35px 22px;display:flex;position:fixed;top:0;bottom:0}.admin-brand{font-family:var(--display);margin-bottom:40px;padding:0 14px;font-size:2rem}.admin-brand span{font-family:var(--body);color:var(--sidebar-muted);margin-top:6px;font-size:.75rem;display:block}.admin-sidebar nav{flex-direction:column;gap:6px;display:flex}.admin-sidebar nav a{border-radius:5px;align-items:center;gap:12px;padding:13px 14px;font-size:.875rem;display:flex}.admin-sidebar nav a.active{background:var(--primary-soft);color:var(--foreground)}.admin-sidebar nav a:hover:not(.active){background:var(--hover-overlay)}.sidebar-bottom{flex-direction:column;gap:15px;margin-top:auto;padding:25px 14px 0;display:flex}.sidebar-bottom>a,.sidebar-bottom>button{align-items:center;gap:10px;min-height:44px;padding:0;font-size:.875rem;display:flex}.sidebar-bottom>span{overflow-wrap:anywhere;color:var(--sidebar-muted);font-size:.75rem}.admin-content{max-width:1700px;margin-left:250px;padding:45px 4%}.admin-menu{display:none}.admin-heading{justify-content:space-between;align-items:center;gap:25px;margin-bottom:32px;display:flex}.admin-heading h1{font-family:var(--display);letter-spacing:-.035em;margin:8px 0 10px;font-size:2.7rem}.admin-heading p{color:var(--muted);font-size:.9375rem}.stats{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.stats>div{background:var(--surface);border:1px solid var(--surface-secondary);border-radius:6px;flex-direction:column;gap:18px;padding:24px;display:flex}.stats span{color:var(--muted);font-size:.875rem}.stats strong{font-size:2.8rem;font-family:var(--display);font-weight:400}.admin-guide{background:var(--primary-soft);border-radius:6px;margin-top:35px;padding:45px}.admin-guide h2{font-family:var(--display);margin:18px 0;font-size:2.3rem}.admin-guide p{max-width:700px;margin-bottom:20px}.search-label{max-width:380px;margin-bottom:25px}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}th{color:var(--muted);background:var(--surface-secondary);white-space:nowrap;font-size:.75rem;font-weight:500}th,td{border-bottom:1px solid var(--surface-secondary);padding:17px 20px}tbody tr:last-child td{border-bottom:0}.table-project{align-items:center;gap:14px;min-width:220px;display:flex}.table-project img{object-fit:cover;border-radius:3px;width:65px;height:50px}.table-project small{color:var(--muted);margin-top:3px;font-size:.75rem;display:block}.badge{background:var(--surface-secondary);color:var(--muted);white-space:nowrap;border-radius:20px;padding:4px 9px;font-size:.75rem;display:inline-block}.badge.published{background:var(--success-surface);color:var(--success-text)}.form-panel{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-bottom:24px;padding:28px}.form-panel h2{margin-bottom:24px;font-size:1.2rem;font-weight:500}.form-panel>p{color:var(--muted);margin-bottom:22px;font-size:.875rem}.form-panel>label{margin-bottom:20px}.form-panel>label:last-child{margin-bottom:0}.form-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.form-grid:last-child{margin-bottom:0}.span-two{grid-column:1/-1}.editor-columns{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:25px;display:grid}.publish-panel{position:sticky;top:25px}.publish-panel .button{width:100%;margin-top:15px}.hint{color:var(--muted);font-size:.8125rem}.category-form{flex-wrap:wrap;align-items:flex-end;gap:18px;display:flex}.category-form>label{flex:1;min-width:150px;margin:0}.link-editor{flex-direction:column;gap:18px;display:flex}.link-editor>.button{align-self:flex-start}.link-row{grid-template-columns:1fr 2fr 44px;align-items:end;gap:14px;display:grid}.uploader{border:1px dashed var(--border-strong);background:var(--surface-secondary);text-align:center;border-radius:5px;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin:20px 0;padding:30px;display:flex}.uploader p{color:var(--muted);font-size:.8125rem}.uploader.compact{gap:8px;margin:12px 0;padding:10px;font-size:.8125rem}.upload-progress{justify-content:center;align-items:center;gap:12px;width:100%;font-size:.8125rem;display:flex}.upload-progress progress{accent-color:var(--accent);height:8px}.gallery-editor{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.gallery-editor>article{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:12px}.editor-image{position:relative}.editor-image img{object-fit:contain;background:var(--surface-secondary);width:100%;height:180px}.editor-image .badge{background:var(--paper);position:absolute;top:8px;left:8px}.gallery-toolbar{justify-content:space-between;align-items:center;margin:10px 0;display:flex}.gallery-toolbar .icon-button{min-width:36px}.image-fields{flex-direction:column;gap:13px;display:flex}.image-fields label{font-size:.8125rem}.image-fields input,.image-fields select{padding:9px;font-size:.875rem}.message-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;display:flex}.message-heading time{color:var(--muted);font-size:.8125rem}.messages-list h2{margin-bottom:10px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)!important;margin:25px 0!important}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.media-grid article{border:1px solid var(--line);background:var(--surface);border-radius:5px;flex-direction:column;gap:12px;padding:14px;display:flex}.media-grid img{object-fit:contain;background:var(--surface-secondary);width:100%;height:200px}.media-grid span,.media-grid button,.media-grid input{font-size:.8125rem}.settings-assets{grid-template-columns:1fr 1fr;gap:25px;display:grid}.settings-assets h3{margin-bottom:15px;font-size:1rem}.settings-assets img{object-fit:contain;height:130px;margin-bottom:15px}.settings-assets button{font-size:.8125rem}.section-editor{border-top:1px solid var(--line);grid-template-columns:1.2fr 2fr 2fr 70px;align-items:center;gap:16px;padding:22px 0;display:grid}.save-bar{background:var(--floating-surface);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-size:.875rem;display:flex;position:sticky;bottom:0}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-art{background:var(--sidebar);color:var(--sidebar-text);flex-direction:column;justify-content:space-between;min-height:100vh;padding:9%;display:flex}.login-art>span,.login-art>a{font-size:.8125rem}.login-art h1{font-family:var(--display);letter-spacing:-.04em;font-size:clamp(3.5rem,6vw,7rem);line-height:1.07}.login-art em{color:var(--primary-soft)}.login-page form{flex-direction:column;align-self:center;gap:22px;padding:50px 12%;display:flex}.login-page form h2{font-family:var(--display);font-size:2.4rem}.login-page form p{color:var(--muted);font-size:.9375rem}.login-page form .eyebrow{font-size:.75rem}.login-page .button{margin-top:10px}@keyframes pulse{50%{opacity:.5}}@media(min-width:1600px){.hero-main{padding:70px 0 85px}.hero-aside{padding-bottom:20px}}@media(max-width:1200px){.hero-main{grid-template-columns:1fr 240px}.hero h1{font-size:7.7vw}.editor-columns{grid-template-columns:1fr}.publish-panel{grid-row:1;grid-template-columns:1fr 1fr;gap:16px;display:grid;position:static}.publish-panel h2,.publish-panel p{grid-column:1/-1;margin-bottom:0}.publish-panel>label{margin:0}.gallery-editor,.section-editor{grid-template-columns:1fr 1fr}.admin-sidebar{width:215px;padding:30px 15px}.admin-content{margin-left:215px;padding:35px 3%}.stats{gap:12px}.stats>div{padding:20px}.admin-heading{align-items:flex-start}.media-grid{grid-template-columns:1fr 1fr}}@media(max-width:900px){.hero-main{grid-template-columns:1fr 210px;gap:30px}.hero h1{font-size:7.6vw}.hero-eyebrow span:last-child{display:none}.hero-aside p{font-size:.875rem}.asterisk{margin-bottom:20px;font-size:68px}.project-title-row{display:block}.project-title-row .page-title{margin-bottom:20px}.project-title-row>.eyebrow{margin-bottom:40px;display:block}.about-intro{gap:30px}.contact-columns{gap:6%}.admin-sidebar{width:195px}.admin-content{margin-left:195px;padding:30px 3%}.admin-heading{flex-wrap:wrap}.admin-heading h1{font-size:2.2rem}.stats{grid-template-columns:1fr 1fr}.section-editor,.settings-assets,.gallery-editor{grid-template-columns:1fr}.form-panel{padding:22px}.login-page form{padding:40px 9%}}@media(max-width:700px){.wrap{padding-left:6%;padding-right:6%}.public-header{padding:18px 6%;position:relative}.wordmark{font-size:1.1rem}.menu-button{place-items:center;display:grid}.nav{background:var(--paper);z-index:20;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px;padding:20px 6%;display:none;position:absolute;top:100%;left:0;right:0}.nav.open{display:flex}.nav a{padding:10px 0;font-size:1.1rem}.nav a.active:after{width:35px}.hero{padding-top:30px}.hero-main{padding:32px 0 35px;display:block}.hero h1{letter-spacing:-.058em;font-size:clamp(3.5rem,12.7vw,5.5rem)}.hero-aside{grid-template-columns:1fr 65px;align-items:center;gap:8px 25px;margin-top:28px;display:grid}.hero-aside p{grid-area:1/1;max-width:330px;margin:0;font-size:.875rem}.hero-aside .asterisk{grid-area:1/2;margin:0;font-size:65px}.hero-aside .text-link{grid-area:2/1;margin-top:7px;font-size:.8125rem}.hero-bottom{padding-bottom:20px;font-size:.75rem}.hero-bottom>span:nth-child(2){display:none}.selected{padding-top:26px;padding-bottom:50px}.section-heading{align-items:flex-start}.section-heading h2{margin-top:8px;font-size:2rem}.section-heading>a{border:1px solid var(--line);border-radius:50%;justify-content:center;align-self:flex-end;gap:0;min-width:44px;font-size:0}.section-heading>a svg{width:20px;height:20px}.section-intro{font-size:.875rem}.project-grid{grid-template-columns:1fr;gap:32px}.project-grid .project-card:nth-child(3n+3){grid-column:auto}.project-grid .project-card:nth-child(3n+3) .project-visual{aspect-ratio:4/3}.project-caption h3{font-size:1.1rem}.project-caption p{font-size:.75rem}.demo-label{font-size:.75rem;top:12px;left:12px}.project-open{opacity:1;width:38px;height:38px;bottom:12px;right:12px;transform:none}.project-open svg{width:20px;height:20px}.home-about{padding-top:40px;padding-bottom:45px;display:block}.home-about h2{margin-top:22px;margin-bottom:18px;font-size:2.8rem}.home-about p{font-size:1.35rem}.contact-band{padding:38px 0}.contact-band h2{font-size:2.8rem}.contact-band a{margin-top:24px}.contact-band a>svg{width:50px;height:50px}.public-footer{padding:35px 6% 20px}.footer-top{grid-template-columns:1fr 1fr;gap:25px;padding-bottom:30px}.footer-top>.wordmark{grid-column:1/-1}.footer-top>p{font-size:.875rem}.footer-bottom{flex-wrap:wrap;font-size:.75rem}.footer-bottom>span:first-child{width:100%}.page{padding-top:38px;padding-bottom:50px}.page-title{margin:18px 0 35px;font-size:clamp(3rem,12vw,4.5rem)}.filter-row{gap:4px}.filter-row button{padding:8px 13px;font-size:.8125rem}.project-story{flex-direction:column-reverse;gap:25px;padding:15px 0 35px;display:flex}.project-story aside{border-top:1px solid var(--line);padding-top:25px}.project-story dl{grid-template-columns:1fr 1fr;gap:12px;display:grid}.project-story dd{margin-bottom:10px}.cover-button{margin:28px 0}.lead{font-size:1.15rem}.project-gallery{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.project-gallery figure,.project-gallery .gallery-portrait,.project-gallery .gallery-square{grid-column:1}.lightbox figure{width:calc(100% - 28px);height:calc(100% - 155px)}.lightbox-prev,.lightbox-next{top:auto;bottom:18px}.lightbox-prev{left:calc(50% - 60px)}.lightbox-next{right:calc(50% - 60px)}.lightbox figcaption{padding:15px 8px;font-size:.8125rem}.about-intro{flex-direction:column;gap:30px;display:flex}.portrait{width:100%;max-height:560px}.about-lists{grid-template-columns:1fr;gap:25px;margin-top:40px}.contact-columns{grid-template-columns:1fr;gap:40px;margin-top:25px}.contact-columns aside>p{font-size:.9375rem}.contact-form{gap:20px}.contact-form .button{width:100%}.loading{gap:15px;padding:20px}.skeleton{height:150px}.admin-menu{background:var(--sidebar);width:44px;height:44px;color:var(--on-dark);z-index:40;border-radius:4px;place-items:center;margin:12px 0 0 18px;display:grid;position:relative}.admin-sidebar{width:260px;box-shadow:0 0 0 100vmax var(--overlay);padding-top:75px;display:none}.admin-sidebar.open{display:flex}.admin-content{margin:0;padding:25px 5%}.admin-heading{gap:15px}.admin-heading h1{font-size:2.1rem}.admin-heading p{font-size:.875rem}.admin-heading>.button{width:100%}.stats>div{padding:18px}.stats strong{font-size:2.3rem}.admin-guide{padding:25px}.admin-guide h2{font-size:1.9rem}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.editor-columns{gap:0}.form-panel{padding:20px}.publish-panel{display:block}.publish-panel>label{margin:20px 0}.gallery-editor{grid-template-columns:1fr}.link-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 44px;padding-bottom:18px}.link-row>label{grid-column:1}.link-row>button{grid-area:1/2/3}.category-form{display:block}.category-form>label{margin-bottom:20px}.category-form>.button{width:100%}.category-form>button[type=button]{margin-top:15px}.media-grid{grid-template-columns:1fr 1fr;gap:12px}.media-grid article{min-width:0;padding:10px}.media-grid img{height:130px}.media-grid .actions{justify-content:space-between;gap:5px}.media-grid button{min-height:44px}.media-grid input{padding:6px;font-size:.75rem}.save-bar{gap:12px;font-size:.75rem}.save-bar>.button{padding:12px 14px}.message-heading{align-items:flex-start}.message-heading time{font-size:.75rem}.messages-list .actions{align-items:flex-end}.login-page{display:block}.login-art{min-height:0;padding:25px 7% 30px}.login-art h1{margin:30px 0;font-size:2.7rem}.login-art h1 br{display:none}.login-art h1 br:after{content:" "}.login-page form{padding:40px 7% 60px}.login-page form h2{font-size:2rem}.dialog-content{padding:30px}.section-editor{gap:16px}.uploader{padding:22px 15px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.youtube-video{margin:2rem 0}.video-heading,.video-controls{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0;display:flex}.youtube-frame{aspect-ratio:16/9;background:#171417;min-height:200px}.youtube-frame iframe{border:0;width:100%;height:100%;min-height:200px}.video-controls button{cursor:pointer;align-items:center;gap:.5rem;padding:.65rem 1rem;display:inline-flex}.video-controls button:disabled{opacity:.5;cursor:default}.video-badge{color:#fff;background:#171417;border-radius:1rem;align-items:center;gap:.4rem;padding:.4rem .7rem;display:inline-flex;position:absolute;top:1rem;left:1rem}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}:root{--background:#fff9fb;--surface:#fffdfd;--surface-secondary:#f7eff2;--foreground:#171315;--muted:#5d4e55;--primary:#97566e;--primary-soft:#ebc3cf;--primary-pale:#f8e8ed;--accent:#b72e43;--border:#dacbd1;--border-strong:#a28b96;--focus:#a12d44;--selection:#ebc3cf;--shadow:0 14px 38px #211c1e0c;--sidebar:#211b1e;--sidebar-text:#fff9fb;--sidebar-muted:#d6bdc8;--on-dark:#fff9fb;--floating-surface:#fff9fbf5;--overlay:#211b1e88;--lightbox-overlay:#121011f7;--hover-overlay:#ffffff14;--danger:#ab263b;--danger-surface:#fce9ed;--danger-border:#d9a0ad;--success-surface:#e9eee6;--success-text:#35522f;--paper:var(--background);--ink:var(--foreground);--line:var(--border);--display:"Instrument Serif",Georgia,serif;--body:"DM Sans",Arial,sans-serif;font-family:var(--body);color:var(--foreground);background:var(--background);font-synthesis:none;line-height:1.6;font-size:16px}:root[data-theme=dark]{--background:#121011;--surface:#1a1618;--surface-secondary:#211b1e;--foreground:#f8f3f5;--muted:#c9bec2;--primary:#e39bb1;--primary-soft:#432c37;--primary-pale:#291e24;--accent:#f07885;--border:#4c3b44;--border-strong:#977583;--focus:#f2b8cb;--selection:#653e50;--shadow:0 14px 38px #00000020;--sidebar:#191416;--sidebar-text:#f8f3f5;--sidebar-muted:#c9bec2;--floating-surface:#121011f5;--overlay:#00000088;--danger:#ff9baa;--danger-surface:#352029;--danger-border:#854958;--success-surface:#243326;--success-text:#bddeb5}@theme inline{--color-ink:var(--foreground);--color-paper:var(--background);--color-accent:var(--accent);}body{font-family:var(--body);color:var(--foreground);background:var(--background)}body,header,footer,nav,main,section,aside,input,textarea,select,button,a{transition:background-color .24s ease,color .24s ease,border-color .24s ease}:focus-visible{outline-color:var(--focus)!important}::selection{background:var(--selection);color:var(--foreground)}.public-site{position:relative;isolation:isolate}.public-site:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:url(/paper-grain.svg);opacity:.085}[data-theme=dark] .public-site:before{opacity:.035}.public-site .wrap{max-width:1680px;padding-left:6%;padding-right:6%}.public-header{max-width:1680px;padding:25px 6%;border:0;position:relative;gap:25px}.wordmark{font-family:var(--body);font-size:.95rem;font-weight:500;letter-spacing:-.035em;align-items:center;gap:11px;white-space:nowrap}.signature-mark{display:inline-block;width:19px;height:6px;background:var(--accent);border-radius:52% 15% 45% 8%;transform:rotate(-15deg);vertical-align:middle}.desktop-navigation{display:flex;gap:33px;align-items:center;margin-left:auto;font-size:.8125rem}.desktop-navigation a{position:relative;min-height:44px;display:flex;align-items:center}.desktop-navigation a:after{content:"";position:absolute;width:0;height:2px;background:var(--accent);left:0;bottom:6px;transition:width .3s ease;transform:rotate(-2deg)}.desktop-navigation a.active:after,.desktop-navigation a:hover:after{width:100%}.preferences{display:flex;gap:15px;align-items:center;font-family:var(--body)}.preferences label{flex-direction:row;align-items:center;gap:5px;font-weight:400;position:relative}.preferences select{border:0;background:transparent;width:auto;min-height:44px;padding:7px 20px 7px 4px;font-size:.75rem;border-radius:0;cursor:pointer;color:var(--foreground)}.preferences select option{background:var(--surface);color:var(--foreground)}.desktop-preferences{padding-left:20px;border-left:1px solid var(--border)}.public-header .menu-button{display:none}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:70}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:71;background:var(--background);padding:25px 7%;display:flex;flex-direction:column;overflow-y:auto}.mobile-menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10vh}.mobile-menu-top>span{display:flex;align-items:center;gap:12px;font-size:.95rem}.mobile-menu>nav{margin:35px 0;display:flex;flex-direction:column}.mobile-menu nav a{font-family:var(--display);font-size:clamp(2.6rem,10vw,4rem);padding:15px 0;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--border)}.menu-index{font-family:var(--body);font-size:.75rem;color:var(--accent)}.mobile-menu nav svg{margin-left:auto}.mobile-menu .preferences{margin-top:auto;padding-top:20px}.mobile-menu-note{color:var(--muted);font-size:.875rem;padding:25px 0}.mobile-menu nav a.active{color:var(--accent)}.hero{padding-top:28px;padding-bottom:0}.hero-eyebrow{color:var(--muted);justify-content:space-between;display:flex;gap:30px}.gallery-hero-stage{position:relative;padding-top:25px;min-height:390px;padding-bottom:24px;isolation:isolate;display:flex;align-items:center}.artist-name{font-family:var(--display);font-weight:400;font-size:clamp(6rem,12.5vw,12.5rem)!important;line-height:.91!important;letter-spacing:-.045em!important;margin:0;position:relative;z-index:2;width:76%;pointer-events:none}.artist-name span{display:block!important}.artist-name span:nth-child(2){padding-left:20%;color:var(--foreground)!important;font-style:italic!important}.rose-cutout{position:absolute;left:29%;top:18%;width:25%;height:66%;background:var(--primary-soft);border-radius:43% 56% 47% 41%;transform:rotate(23deg);z-index:-1;opacity:.64}.hero-artwork{position:absolute;right:5%;top:20%;width:24%;padding:11px 11px 0;background:var(--surface);border:1px solid var(--border);transform:rotate(5deg);box-shadow:var(--shadow);z-index:3;transition:transform .4s ease}.hero-artwork:hover{transform:rotate(2deg) translateY(-4px)}.hero-artwork img{width:100%;height:auto;aspect-ratio:1.14;object-fit:cover}.hero-art-caption{display:flex;justify-content:space-between;gap:8px;padding:11px 2px;font-size:.75rem;color:var(--muted)}.hero-signature{position:absolute;width:58px;height:10px;left:11%;bottom:20%;transform:rotate(-13deg)}.hero-editorial-bottom{display:grid;grid-template-columns:1fr 1fr .6fr;gap:6%;align-items:end;border-bottom:1px solid var(--border);padding:15px 0 35px;margin-top:25px}.hero-statement{font-family:var(--display);font-size:clamp(1.8rem,2.7vw,2.7rem);line-height:1.1;white-space:pre-line;max-width:320px}.hero-editorial-bottom>div>p{font-size:.875rem;line-height:1.7;max-width:340px}.hero-editorial-bottom .text-link{margin-top:10px}.hero-index{max-width:140px;justify-self:end;color:var(--muted)}.public-site .text-link{position:relative;width:fit-content;gap:12px;font-size:.875rem}.public-site .text-link:after{content:"";height:1px;background:var(--accent);position:absolute;bottom:3px;left:0;width:0;transition:width .3s}.public-site .text-link:hover:after{width:calc(100% - 24px)}.public-site .text-link:hover{color:var(--accent)}.public-site .button{border-radius:1px;transition:transform .25s,background-color .25s,color .25s}.public-site .button:hover{transform:translateY(-2px);background:var(--accent);border-color:var(--accent);color:var(--on-dark)}.public-site .selected{padding-top:65px;padding-bottom:100px}.section-heading h2{font-size:clamp(2.4rem,4.1vw,4rem);font-weight:400;letter-spacing:-.035em}.section-intro{margin-bottom:50px}.section-heading .eyebrow{color:var(--muted)}.public-site .project-grid{grid-template-columns:1.2fr 1fr;gap:65px 7%;align-items:start}.public-site .project-grid .project-card:nth-child(3n+2){margin-top:125px}.public-site .project-grid .project-card:nth-child(3n+3){grid-column:1/-1;width:85%;margin:10px auto 0}.public-site .project-visual{border-radius:0;aspect-ratio:1.12;background:var(--surface-secondary)}.public-site .project-grid .project-card:nth-child(3n+3) .project-visual{aspect-ratio:1.75}.public-site .project-visual img{transition:transform .45s ease}.public-site .project-visual:hover img{transform:scale(1.025)}.project-caption{gap:15px;align-items:start;padding-top:20px}.catalog-number{font-size:.75rem!important;color:var(--accent)!important;padding-top:6px;min-width:22px;font-variant-numeric:tabular-nums}.project-caption>div{flex:1}.project-caption h3{font-family:var(--display);font-size:1.8rem;letter-spacing:-.02em;line-height:1.05}.project-caption p{font-size:.8125rem;line-height:1.5;margin-top:10px}.project-caption>span:last-child{font-size:.75rem;padding-top:5px}.project-open{background:var(--background);color:var(--accent);width:46px;height:46px}.demo-label{background:var(--floating-surface);color:var(--muted);padding:4px 8px;font-size:.75rem}.project-visual:after{content:"";position:absolute;height:4px;width:0;bottom:0;left:0;background:var(--accent);transition:width .35s}.project-visual:hover:after{width:48px}.public-site .home-about{border-top:1px solid var(--border);padding-top:70px;padding-bottom:90px;grid-template-columns:1fr 2fr;gap:7%}.home-about h2{font-size:clamp(3rem,5vw,5rem)}.home-about>div:before{content:"";display:block;width:30px;height:5px;background:var(--accent);margin-bottom:25px;transform:rotate(-5deg);border-radius:50% 10%}.home-about p{font-family:var(--display);font-size:2.1rem;line-height:1.3}.home-about .body-copy{font-family:var(--body)}.public-site .contact-band{background:var(--primary-pale);padding:65px 0}.contact-band h2{font-size:clamp(3rem,6.8vw,6.5rem);line-height:1.03;letter-spacing:-.03em}.contact-band a>svg{color:var(--accent);width:70px;height:70px}.contact-band .eyebrow{color:var(--muted)}.public-footer{padding:70px 6% 25px;max-width:1680px}.footer-invitation{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:30px;align-items:start;padding-bottom:65px}.footer-invitation>p{font-family:var(--display);font-size:2.4rem;line-height:1.15;max-width:480px}.footer-invitation>.text-link{justify-self:end}.footer-signature{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;padding-bottom:45px}.footer-signature>a{font-family:var(--display);font-size:clamp(2.2rem,5vw,4.8rem);letter-spacing:-.04em;display:flex;align-items:center;gap:24px}.footer-signature .signature-mark{width:29px;height:7px}.footer-social{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end;font-size:.8125rem;max-width:45%}.footer-social>a{display:flex;align-items:center;gap:6px;min-height:44px}.footer-bottom{font-size:.75rem;color:var(--muted)}.public-site .page-title{font-size:clamp(3.8rem,8vw,7.5rem);font-family:var(--display);line-height:1.03;letter-spacing:-.04em}.public-site .page-title em{color:var(--primary)}.public-site .page{padding-top:60px}.filter-row{border:0;gap:15px;margin:0 0 45px}.filter-row button{border-radius:0;padding:8px 0;margin-right:20px;position:relative}.filter-row button[aria-pressed=true]{background:transparent;color:var(--accent)}.filter-row button[aria-pressed=true]:after{content:"";height:2px;position:absolute;bottom:0;left:0;right:0;background:var(--accent);transform:rotate(-1deg)}.filter-row button:not([aria-pressed=true]):hover{background:transparent;color:var(--primary)}.project-detail .cover-button{width:calc(100% + 6vw);margin-left:-3vw;margin-top:45px}.project-title-row{align-items:flex-end}.project-title-row .eyebrow{padding-bottom:50px;max-width:250px}.project-story{padding:45px 0 90px;gap:12%;grid-template-columns:1fr 2.3fr}.project-story>.lead{font-family:var(--display)}.project-story .lead{font-family:var(--display);font-size:2rem;line-height:1.35}.story-block{padding:25px 0;border-bottom:1px solid var(--border)}.story-block h2{font-size:2.5rem;display:flex;align-items:baseline;gap:20px}.story-index{font-family:var(--body);font-size:.75rem;color:var(--accent)}.story-block p{line-height:1.9}.project-gallery{column-gap:5%;row-gap:55px}.project-gallery .gallery-portrait:nth-child(2n){padding-top:65px}.project-gallery figcaption{padding-top:6px}.lightbox figcaption{color:var(--on-dark)}.about-intro{align-items:center}.about-intro h2{font-size:clamp(2.7rem,4.7vw,4.5rem)}.portrait{border:12px solid var(--surface);outline:1px solid var(--border);transform:rotate(-2deg)}.about-lists{gap:45px 9%}.about-lists h2{font-family:var(--display);font-size:2rem}.beyond-design{margin-top:80px;padding:55px 0;border-top:1px solid var(--border);display:grid;grid-template-columns:1.4fr 1fr;gap:9%;align-items:center}.beyond-design h2{font-family:var(--display);font-size:3rem;margin:20px 0}.beyond-design img{width:100%;height:auto}.contact-columns{gap:12%;margin-top:45px}.contact-columns aside h2{font-size:2.5rem}.contact-form input,.contact-form textarea{border-bottom-color:var(--border-strong)}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--accent)}.sent-state{background:var(--primary-pale);border-color:var(--border)}.empty h1,.empty h2{font-size:2.6rem}.public-site .tags span{border-radius:0;border:0;border-bottom:1px solid var(--border)}.admin-shell{background:var(--surface-secondary)}.admin-content{background:var(--surface-secondary);min-height:100vh}.admin-preferences{display:flex;justify-content:flex-end;margin-bottom:25px}.admin-brand{color:var(--sidebar-text)}.admin-sidebar nav a.active{color:var(--foreground);background:var(--primary-soft)}.admin-sidebar .sidebar-bottom{color:var(--sidebar-text)}.admin-guide{background:var(--primary-pale)}.admin-menu{background:var(--sidebar);color:var(--sidebar-text)}.login-page{position:relative}.login-preferences{position:absolute;right:4%;top:15px;z-index:2}.login-art{background:var(--sidebar);color:var(--sidebar-text)}.login-art em{color:var(--sidebar-muted)}.login-art>a{color:var(--sidebar-text)}.stats>div,.table-wrap,.form-panel,.media-grid article,.gallery-editor>article{background:var(--surface)}.button{color:var(--background)}.button.danger{color:var(--on-dark)}.badge.published{color:var(--success-text);background:var(--success-surface)}.notice{background:var(--danger-surface);border-color:var(--danger-border)}.field-error{color:var(--danger)}.table-wrap th{background:var(--surface-secondary)}.publish-panel{top:20px}.translation-selectors{display:flex;gap:20px;flex-wrap:wrap;align-items:end;margin-bottom:28px}.translation-selectors>label{min-width:220px;flex:1}.translation-tabs{display:flex;gap:8px}.translation-tabs button{padding:10px 18px;border:1px solid var(--border)}.translation-tabs button[aria-pressed=true]{background:var(--foreground);color:var(--background)}.translation-field{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:24px 0;border-top:1px solid var(--border)}.translation-source{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;color:var(--muted);line-height:1.8}.translation-field label{min-width:0}.translation-field .hint{margin-bottom:10px}.translation-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.translation-notice{padding:15px 0;color:var(--muted);font-size:.875rem}.stale-translation{color:var(--accent);font-size:.8125rem}.translation-field textarea{background:var(--background)}@media(min-width:1600px){.gallery-hero-stage{min-height:490px}.hero-artwork{width:23%;right:7%}.artist-name{font-size:13rem!important}}@media(max-width:1100px){.desktop-navigation,.public-header{gap:20px}.desktop-preferences{padding-left:10px}.preferences{gap:6px}.hero-editorial-bottom{grid-template-columns:1fr 1fr}.hero-index{display:none}.gallery-hero-stage{min-height:350px}.hero-artwork{width:25%;right:2%}.artist-name{width:78%}.footer-invitation{grid-template-columns:1fr 1.7fr}.footer-invitation>.text-link{grid-column:2;justify-self:start}.project-caption h3{font-size:1.6rem}}@media(max-width:900px){.desktop-navigation,.desktop-preferences{display:none}.public-header .menu-button{display:grid;place-items:center;margin-left:auto}.gallery-hero-stage{min-height:320px}.hero .hero-eyebrow span:last-child{display:block}.hero-eyebrow{font-size:.7rem}.artist-name{font-size:13vw!important}.hero-artwork{top:22%;width:26%}.public-site .project-grid{gap:40px 5%}.public-site .project-grid .project-card:nth-child(3n+2){margin-top:80px}.project-caption>span:last-child{display:none}.public-site .project-grid .project-card:nth-child(3n+3){width:94%}.footer-signature{align-items:flex-start}.footer-social{flex-direction:column;gap:5px}.project-title-row>.eyebrow{padding-bottom:0}.translation-field{grid-template-columns:1fr;gap:15px}}@media(max-width:600px){.public-header{padding:20px 6%}.wordmark{font-size:.875rem}.hero{padding-top:15px}.hero .hero-eyebrow{font-size:.7rem;gap:20px;align-items:start}.hero .hero-eyebrow>span:last-child{text-align:right;max-width:150px}.gallery-hero-stage{padding-top:30px;min-height:360px;display:block;padding-bottom:135px}.artist-name{font-size:23vw!important;width:100%;line-height:.91!important;letter-spacing:-.045em!important}.artist-name span:nth-child(2){padding-left:23%}.rose-cutout{left:9%;top:19%;width:60%;height:58%;opacity:.64}.hero-artwork{width:39%;right:3%;top:auto;bottom:0;padding:6px 6px 0;transform:rotate(5deg)}.hero-art-caption{font-size:.75rem;padding:7px 0;line-height:1.25}.hero-art-caption svg{display:none}.hero-signature{left:12%;bottom:18%;width:37px;height:7px}.hero-editorial-bottom{display:block;margin-top:25px;padding:0 0 28px}.hero-statement{font-size:1.85rem;max-width:200px;line-height:1.12;margin:0 0 22px}.hero-editorial-bottom>div{max-width:310px}.hero-editorial-bottom>div>p{font-size:.875rem;line-height:1.75}.hero-editorial-bottom .text-link{margin-top:12px}.public-site .selected{padding-top:40px;padding-bottom:55px}.section-heading{gap:15px}.section-heading h2{font-size:2.5rem}.section-heading>.text-link{font-size:0!important;border:0;color:var(--accent);width:44px!important;min-width:44px}.section-heading>.text-link:after{display:none}.section-intro{margin-bottom:28px;font-size:.875rem}.public-site .project-grid{grid-template-columns:1fr;gap:40px}.public-site .project-grid .project-card:nth-child(3n+2){margin:0 0 0 8%;width:92%}.public-site .project-grid .project-card:nth-child(3n+3){width:100%;margin:0;grid-column:1}.public-site .project-grid .project-card:nth-child(3n+3) .project-visual{aspect-ratio:1.15}.public-site .project-visual{aspect-ratio:1.08}.project-caption{gap:12px;padding-top:16px}.project-caption h3{font-size:1.7rem}.project-caption p{font-size:.8125rem;margin-top:8px}.catalog-number{padding-top:6px}.demo-label{font-size:.75rem;padding:3px 6px;top:10px;left:10px}.public-site .home-about{padding-top:40px;padding-bottom:55px;display:block}.home-about>div{margin-top:25px}.home-about>div:before{margin-bottom:20px}.home-about h2{font-size:3rem}.home-about p{font-size:1.7rem}.home-about .body-copy{font-size:.95rem}.public-site .contact-band{padding:40px 0}.contact-band h2{font-size:3.15rem}.contact-band a>svg{width:36px;height:36px}.contact-band a{gap:15px}.public-footer{padding:40px 6% 24px}.footer-invitation{display:block;padding-bottom:35px}.footer-invitation>p{font-size:2.2rem;margin:20px 0}.footer-signature{display:block;padding-bottom:25px}.footer-signature>a{font-size:2.8rem;gap:15px}.footer-signature .signature-mark{width:22px}.footer-social{max-width:100%;flex-direction:row;justify-content:flex-start;margin-top:20px;gap:15px}.footer-bottom{gap:8px}.public-site .page{padding-top:35px}.public-site .page-title{font-size:3.7rem;margin:20px 0 35px}.filter-row{gap:10px;margin-bottom:25px;flex-wrap:wrap}.filter-row button{margin-right:12px;font-size:.875rem}.project-detail .cover-button{width:calc(100% + 12vw);margin-left:-6vw}.project-story{display:flex;flex-direction:column-reverse;gap:35px;padding:15px 0 45px}.project-story .lead{font-size:1.8rem}.story-block{padding:20px 0;margin:15px 0}.story-block h2{font-size:2.3rem}.project-story p{line-height:1.85}.project-gallery{gap:30px}.project-gallery .gallery-portrait:nth-child(2n){padding:0}.about-intro{display:flex;gap:35px}.about-intro h2{font-size:2.7rem}.portrait{width:96%;margin:0 auto;border-width:8px}.about-lists{margin-top:45px}.beyond-design{display:block;margin-top:35px;padding:35px 0}.beyond-design img{margin-top:30px}.beyond-design h2{font-size:2.6rem}.contact-columns{gap:38px}.contact-columns aside h2{font-size:2.2rem}.contact-form{gap:22px}.login-preferences{top:10px;right:5%}.login-preferences .preferences,.login-preferences select{color:var(--sidebar-text)}.login-art{padding-top:65px}.admin-preferences{margin-top:-62px;margin-bottom:30px;padding-left:45px;min-height:44px}.admin-preferences .preferences{gap:5px}.translation-selectors{display:block}.translation-selectors>label{margin-bottom:18px}.translation-tabs{margin-top:20px}.translation-field{padding:22px 0}.translation-actions .button{width:100%}.save-bar{flex-wrap:wrap}.project-title-row .eyebrow{max-width:100%}.dialog-content h2{font-size:1.6rem}.empty h1{font-size:2.7rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-artwork:hover{transform:rotate(5deg)}.public-site .project-visual:hover img,.public-site .button:hover{transform:none}}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff")}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}
