@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ink:#171b18;--muted:#727672;--green:#7dff44;--paper:#fafbf9;--line:#e3e6e1;--panel:#f1f3ef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,Arial,sans-serif;font-size:16px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:wait}img{max-width:100%;display:block}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible){outline-offset:5px;outline:3px solid #308216}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.045em;font-family:Manrope,Arial,sans-serif;line-height:1.07}h2{font-size:clamp(36px,4.5vw,64px);font-weight:600}p{line-height:1.7}em{color:#587948;font-style:normal}.site-header{z-index:10;border-bottom:1px solid var(--line);background:#fafbf9eb;justify-content:space-between;align-items:center;height:92px;padding:0 5%;display:flex;position:relative}.logo{mix-blend-mode:multiply;width:136px}.site-header nav{gap:35px;font-size:14px;display:flex}.site-header nav a{color:var(--muted);padding:10px 0}.site-header nav a.active{color:var(--ink)}.site-header nav a:hover{color:#398c15}.button{border:1px solid #0000;border-radius:100px;justify-content:center;align-items:center;min-height:46px;padding:13px 25px;font-size:14px;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:#fff}.green{background:var(--green);color:var(--ink)}.outline{background:0 0;border-color:#cdd3c8}.eyebrow{letter-spacing:.13em;color:var(--muted);font-size:12px;font-weight:600;display:block}.hero{text-align:center;padding:66px 0 0;overflow:hidden}.hero h1{letter-spacing:-.045em;max-width:1100px;margin:20px auto;padding:0 20px;font-size:clamp(55px,6.7vw,96px);font-weight:600}.hero>p{color:var(--muted);margin-bottom:25px;font-size:20px}.hero-stage{max-width:1280px;height:600px;margin:36px auto 0;position:relative;overflow:hidden}.stage-word{letter-spacing:-.08em;color:#e9eee5;-webkit-user-select:none;user-select:none;font-size:clamp(180px,29vw,390px);font-weight:700;line-height:1;position:absolute;top:80px;left:50%;transform:translate(-50%)}.mascot{z-index:2;width:440px;height:580px;position:absolute;top:0;left:50%;transform:translate(-50%)}.mascot>img{object-fit:cover;mix-blend-mode:multiply;border-radius:45% 45% 10% 10%;width:100%;height:100%}.floating-card{object-fit:cover;z-index:1;border-radius:18px;width:196px;height:260px;animation:7s ease-in-out infinite float;position:absolute;box-shadow:0 24px 50px #17201620}.card-left{top:125px;left:16%;transform:rotate(-12deg)}.card-right{animation-delay:-3s;top:170px;right:16%;transform:rotate(10deg)}.stage-note{width:100%;color:var(--muted);font-size:12px;position:absolute;bottom:20px;left:0}@keyframes float{50%{translate:0 -16px}}.disciplines{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);justify-content:center;gap:8%;padding:26px 4%;font-size:14px;display:flex}.section{max-width:1280px;margin:auto;padding:110px 50px}.about{grid-template-columns:.8fr 1fr;align-items:center;gap:90px;display:grid}.portrait{background:#edf0e9;border-radius:28px;place-items:center;height:490px;display:grid;overflow:hidden}.portrait img{object-fit:cover;width:100%;height:100%}.portrait>div{color:#7e8977;flex-direction:column;align-items:center;gap:12px;display:flex}.portrait span{letter-spacing:.15em;font-size:13px}.portrait small{font-size:14px}.about-copy h2{margin:22px 0}.about-copy p{color:var(--muted);max-width:500px}.stats{justify-content:space-between;gap:15px;margin-top:45px;display:flex}.stats>div{flex-direction:column;display:flex}.stats strong{font-size:40px;font-weight:500;line-height:1.2}.stats span{color:var(--muted);margin:9px 0;font-size:14px}.stats small{color:#939a8d;font-size:12px}.selected-work{border-top:1px solid var(--line)}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:46px;display:flex}.section-heading h2{margin-top:20px}.featured-grid{grid-template-columns:repeat(4,1fr);align-items:start;gap:20px;display:grid}.work-card{text-align:left;break-inside:avoid;background:0 0;border:0;width:100%;margin-bottom:32px;padding:0;display:block}.work-image{background:#eef0eb;border-radius:18px;position:relative;overflow:hidden}.work-image>img{width:100%;height:auto;transition:transform .5s}.work-image>video{width:100%;min-height:190px;display:block}.featured-grid .work-image{height:320px}.featured-grid .work-image>img{object-fit:cover;height:100%}.work-card:hover .work-image>img{transform:scale(1.025)}.card-open{opacity:0;background:#ffffffed;border-radius:50%;place-items:center;width:36px;height:36px;transition:all .2s;display:grid;position:absolute;bottom:12px;right:12px;transform:translateY(6px)}:is(.work-card:hover .card-open,.work-card:focus-visible .card-open){opacity:1;transform:none}.card-meta{flex-direction:column;gap:6px;margin-top:15px;display:flex}.card-meta strong{letter-spacing:-.01em;font-size:15px;font-weight:500}.card-meta>span{color:var(--muted);font-size:12px}.no-cover{background:#e8f7dc;padding:65px 20px;font-size:28px}.play{background:#ffffffc9;border-radius:50%;padding:15px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact{text-align:center;border-top:1px solid var(--line);padding-top:120px;padding-bottom:130px}.contact h2{margin:25px 0 40px;font-size:clamp(48px,7vw,88px)}.contact-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.contact-actions p{color:var(--muted)}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:25px;padding:35px 5%;font-size:13px;display:flex}footer img{mix-blend-mode:multiply;width:110px}footer a{font-size:12px}.gallery-page{min-height:70vh;padding-top:75px}.gallery-page h1{letter-spacing:-.045em;margin-top:18px;font-size:clamp(60px,7.5vw,105px)}.gallery-toolbar{justify-content:space-between;align-items:center;gap:20px;margin:40px 0 50px;display:flex}.gallery-toolbar>p{color:var(--muted);font-size:15px}.filters{flex-wrap:wrap;gap:4px;display:flex}.filters button{background:0 0;border:0;border-radius:50px;padding:11px 17px;font-size:14px}.filters button.active{background:var(--ink);color:#fff}.masonry{columns:4;column-gap:22px}.empty{text-align:center;color:var(--muted);padding:75px 20px}.empty h3{color:var(--ink);margin-bottom:16px;font-size:32px}.empty .button{margin-top:24px}.notice{color:#775b27;background:#fff3df;padding:15px 5%;font-size:14px}.project-dialog{background:var(--paper);width:min(1060px,94vw);max-height:90vh;color:var(--ink);border:0;border-radius:24px;padding:0}.project-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#151c18a8}.dialog-close{z-index:2;margin:18px 18px -55px auto;position:sticky;top:18px}.icon-button{border:1px solid var(--line);background:#fffe;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.project-intro{padding:60px 50px 40px}.project-intro h2{margin:18px 0;font-size:clamp(34px,4vw,56px)}.project-intro p{color:var(--muted);white-space:pre-wrap;max-width:650px}.role{margin:18px 0;font-size:14px;display:block}.project-intro .button{margin-top:24px}.project-media{flex-direction:column;gap:20px;padding:0 25px 25px;display:flex}.project-media img,.project-media video{border-radius:12px;width:100%;height:auto}.reveal{opacity:1;transition:opacity .7s,translate .7s}.reveal:not(.visible){opacity:.65;translate:0 12px}.admin-shell{grid-template-columns:225px 1fr;min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--line);background:#f3f5f0;flex-direction:column;gap:35px;height:100vh;padding:35px 25px;display:flex;position:sticky;top:0}.admin-sidebar img{mix-blend-mode:multiply;width:145px}.admin-sidebar nav{flex-direction:column;gap:7px;display:flex}.admin-sidebar button{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:13px 14px;font-size:14px;display:flex}.admin-sidebar button.active{background:#fff;box-shadow:0 2px 12px #1b241509}.sidebar-bottom{color:var(--muted);flex-direction:column;gap:20px;margin-top:auto;font-size:13px;display:flex}.admin-content{min-width:0;padding:50px}.admin-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.admin-title h1{letter-spacing:-.05em;font-size:46px}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.admin-toolbar input{width:260px}.admin-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:18px;width:100%;font-size:14px;overflow:hidden}.admin-table th{text-align:left;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:18px;font-size:12px;font-weight:500}.admin-table td{border-bottom:1px solid var(--line);padding:16px 18px}.project-cell{align-items:center;gap:16px;min-width:210px;display:flex}.project-cell img{object-fit:cover;background:#eef0eb;border-radius:8px;width:64px;height:65px}.project-cell small{color:var(--muted);margin-top:7px;font-size:12px;display:block}.badge{white-space:nowrap;background:#f0f2ed;border-radius:50px;padding:6px 10px;font-size:12px}.badge.published{color:#426f31;background:#e6f3dc}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.text-button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px;font-size:13px}.danger{color:#a13c34}.form-card{border:1px solid var(--line);background:#fff;border-radius:18px;max-width:850px;margin-bottom:24px;padding:28px}.form-card h2{letter-spacing:-.035em;margin-bottom:24px;font-size:25px}.field{flex-direction:column;gap:9px;margin-bottom:20px;display:flex}.field>span{font-size:14px;font-weight:500}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #d8ddd3;border-radius:9px;width:100%;padding:12px 14px;font-size:14px}textarea{resize:vertical;min-height:110px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.check{align-items:center;gap:12px;margin:18px 0;font-size:14px;display:flex}.check input{accent-color:#569e30;width:18px;height:18px}.check small{color:var(--muted);font-size:12px;display:block}.admin-editor{border:1px solid var(--line);background:var(--paper);border-radius:20px;width:min(680px,94vw);max-height:90vh;padding:30px}.admin-editor::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#15201470}.editor-heading{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.editor-heading h2{font-size:32px}.drop-zone{text-align:center;background:#f1f6ed;border:1px dashed #a4b49c;border-radius:14px;margin-bottom:20px;padding:25px;position:relative}.drop-zone input{opacity:0;cursor:pointer;position:absolute;inset:0}.drop-zone p{margin:10px 0;font-size:14px}.drop-zone small{color:var(--muted);font-size:12px}.media-list{grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0;display:grid}.media-item{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;padding:8px}.media-item img,.media-item video{object-fit:cover;border-radius:5px;width:100%;height:110px}.media-item input{margin-top:8px;padding:6px;font-size:12px}.media-item button{margin-top:6px;font-size:12px}.editor-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;padding-top:20px;display:flex}.feedback{background:#e8f4df;border-radius:10px;margin-bottom:20px;padding:13px 18px;font-size:14px}.feedback.error{color:#a13c34;background:#fff0ed}.login-page{place-items:center;min-height:100vh;padding:30px;display:grid}.login-card{text-align:center;max-width:450px}.login-card img{width:150px;margin:0 auto 40px}.login-card h1{margin-bottom:20px;font-size:46px}.login-card p{color:var(--muted);margin-bottom:25px}.small-note{color:var(--muted);font-size:13px;line-height:1.6}.settings-intro{color:var(--muted);margin-bottom:30px}.save-bar{justify-content:flex-end;display:flex}.upload-progress{background:#e8f4df;border-radius:9px;margin-bottom:15px;padding:12px;font-size:14px}@media (min-width:1600px){.hero-stage{max-width:1440px}.card-left{left:19%}.card-right{right:19%}}@media (max-width:1100px){.section{padding:80px 35px}.about{gap:45px}.portrait{height:430px}.featured-grid{grid-template-columns:repeat(2,1fr)}.masonry{columns:3}.admin-content{padding:35px 25px}.admin-table th:nth-child(2),.admin-table td:nth-child(2){display:none}.gallery-toolbar{flex-direction:column;align-items:start}}@media (max-width:760px){.site-header{height:76px;padding:0 6%}.logo{width:116px}.nav-contact{display:none}.menu-button{background:0 0;border:0;place-items:center;padding:9px;display:grid}.site-header nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:12px;width:100%;padding:25px 6%;display:none;position:absolute;top:76px;left:0}.site-header nav.open{display:flex}.hero{padding-top:48px}.hero h1{letter-spacing:-.045em;font-size:clamp(48px,10vw,70px)}.hero>p{padding:0 20px;font-size:17px}.hero-stage{height:450px;margin-top:20px}.mascot{width:310px;height:440px}.stage-word{font-size:230px;top:95px}.floating-card{border-radius:12px;width:110px;height:150px}.card-left{top:105px;left:3%}.card-right{top:175px;right:3%}.stage-note{font-size:11px;bottom:4px}.disciplines{justify-content:space-around;gap:0;padding:23px 8px;font-size:11px}.section{padding:65px 24px}.about{grid-template-columns:1fr;gap:35px}.portrait{height:330px}.about-copy h2{font-size:40px}.stats{margin-top:35px}.stats strong{font-size:32px}.stats span{font-size:12px}.stats small{font-size:11px}.section-heading{align-items:start;gap:20px}.section-heading h2{font-size:38px}.section-heading .button{white-space:nowrap;padding:11px 15px;font-size:12px}.featured-grid{gap:15px}.featured-grid .work-image{height:230px}.work-image{border-radius:12px}.card-meta strong{font-size:14px}.card-meta>span{font-size:11px}.card-open{opacity:1}.contact{padding:75px 24px}.contact h2{font-size:52px}.gallery-page h1{font-size:60px}.gallery-toolbar{margin:30px 0}.filters button{padding:10px 14px;font-size:13px}.masonry{columns:2;column-gap:15px}.project-intro{padding:55px 25px 30px}.project-media{padding:0 12px 12px}.project-dialog{border-radius:16px}footer{flex-wrap:wrap;padding:28px 24px;font-size:12px}footer img{width:95px}footer>span{order:3;width:100%}.admin-shell{display:block}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);gap:20px;height:auto;padding:20px;position:relative;top:auto}.admin-sidebar img{width:115px}.admin-sidebar nav{flex-direction:row;overflow:auto}.admin-sidebar button{white-space:nowrap;padding:10px;font-size:12px}.admin-sidebar button svg{display:none}.sidebar-bottom{flex-direction:row;justify-content:space-between;font-size:12px}.admin-content{padding:28px 18px}.admin-title h1{font-size:36px}.admin-table th,.admin-table td{padding:12px 8px}.admin-table th:nth-child(3),.admin-table td:nth-child(3){display:none}.project-cell{gap:9px;min-width:0}.project-cell img{width:45px;height:50px}.project-cell strong{font-size:13px}.project-cell small{font-size:10px}.text-button{padding:7px;font-size:11px}.admin-editor{padding:22px}.form-card{padding:20px}.form-row{grid-template-columns:1fr;gap:0}.admin-toolbar input{width:100%}.admin-title .button{padding:12px 15px;font-size:12px}.media-list{grid-template-columns:repeat(2,1fr)}}@media (min-width:761px){.menu-button{display:none}}@media (max-width:350px){.masonry{columns:1}.gallery-page h1{font-size:52px}.featured-grid .work-image{height:185px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal:not(.visible){opacity:1;translate:none}.work-card:hover .work-image>img,.button:hover{transform:none}}.contact-details{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:14px 30px;margin-top:25px;font-size:16px;display:flex}.contact-details a:hover{color:var(--ink)}.login-card form{text-align:left;margin:30px 0}.login-card form>.button{width:100%;margin-top:16px}.login-card .field{margin-bottom:18px}.login-card .check{font-size:14px}.login-card .feedback{margin:16px 0}.contact-details a{overflow-wrap:anywhere}@media (max-width:760px){.contact-actions{flex-wrap:wrap}.contact-details{flex-direction:column;gap:12px}}
