@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#151716;--surface:#202320;--text:#f2f2e9;--muted:#a2a79e;--line:#363a33;--accent:#c8ef84;font-family:'DM Sans',sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--text)}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}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1240px,calc(100% - 100px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding-block:32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-weight:600;font-size:17px}.brand-icon{width:38px;height:38px;display:grid;place-items:center;background:var(--accent);color:var(--bg);border-radius:50%;font-size:25px;position:relative;font-weight:800}.brand-icon span{position:absolute;font-size:15px;top:1px;right:3px}nav{display:flex;align-items:center;gap:38px;font-size:14px}nav a:hover{color:var(--accent)}.contact-nav{border:1px solid #676c5f;border-radius:30px;padding:11px 20px;display:flex;gap:22px}.hero{padding-block:78px 68px}.eyebrow{font-size:12px;letter-spacing:1.9px;font-weight:500;display:flex;gap:12px;align-items:center}.short-line{width:26px;height:1px;background:var(--accent)}h1{font-family:Manrope,sans-serif;font-size:clamp(55px,7.8vw,109px);line-height:1.09;letter-spacing:-6px;font-weight:500;margin:35px 0}.serif{font-family:Georgia,serif;font-weight:400;font-style:italic;color:var(--accent);letter-spacing:-4px}.hero-bottom{display:flex;align-items:center;justify-content:space-between}.hero-bottom p{color:var(--muted);font-size:17px;line-height:1.65;white-space:pre-line;margin:0}.round-link{display:grid;place-items:center;border:1px solid #636a58;border-radius:50%;width:60px;height:60px;font-size:25px;transition:background .2s}.round-link:hover{background:var(--accent);color:var(--bg)}.work{padding-top:32px;border-top:1px solid var(--line);padding-bottom:88px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}h2{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-1px;font-size:29px;margin:0}sup{font-family:'DM Sans',sans-serif;font-size:12px;color:var(--muted);letter-spacing:0;margin-left:8px}.section-heading .eyebrow{color:var(--muted)}.muted{color:var(--muted);font-size:14px;line-height:1.5}.muted:empty{display:none}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 26px}.project-card{text-align:left;border:0;padding:0;background:transparent;color:var(--text);min-width:0}.project-card:first-child{grid-column:1/-1}.project-cover{aspect-ratio:1.46;overflow:hidden;background:var(--accent);color:#263023;border-radius:5px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;position:relative}.project-card:first-child .project-cover{aspect-ratio:2.45}.project-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s}.project-card:hover img{transform:scale(1.025)}.cover-top,.cover-bottom{display:flex;justify-content:space-between;gap:16px;font-size:12px;text-transform:uppercase;letter-spacing:2px}.cover-top>span{font-size:22px}.cover-title{font-family:Georgia,serif;font-style:italic;font-size:clamp(42px,6vw,82px);letter-spacing:-4px;line-height:1.02;max-width:85%;overflow-wrap:anywhere}.project-card:first-child .cover-title{font-family:Manrope,sans-serif;font-size:clamp(70px,12vw,165px);font-weight:600;letter-spacing:-9px}.purple{background:#bab3d9;color:#2d2740}.blue{background:#a9c8e1;color:#203442}.rose{background:#e7b6b0;color:#482725}.project-meta{display:flex;justify-content:space-between;align-items:center;padding-top:19px}.project-name{display:block;font-size:22px;font-weight:500;letter-spacing:-.5px}.project-category{display:block;font-size:14px;color:var(--muted);margin-top:6px}.project-arrow{display:grid;place-items:center;font-size:22px;width:39px;height:39px;border-radius:50%;border:1px solid #4b5046;transition:all .2s}.project-card:hover .project-arrow{background:var(--accent);color:var(--bg);transform:rotate(45deg)}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:78px}.about>.eyebrow{align-self:start;margin-top:9px}.about h2{font-size:clamp(32px,4vw,51px);line-height:1.25}.about .serif{letter-spacing:-2px}.about p{color:var(--muted);font-size:17px;line-height:1.8;max-width:620px;white-space:pre-line}.about-note{font-size:14px;margin-top:29px;color:var(--accent)}.contact{border-top:1px solid var(--line);padding-block:65px 72px}.contact>a{display:flex;justify-content:space-between;align-items:center;gap:30px;font-family:Manrope,sans-serif;font-size:clamp(32px,4.7vw,62px);letter-spacing:-2px;margin-top:25px}.contact>a[href]:hover{color:var(--accent)}.contact>a span{color:var(--accent)}.contact p{font-size:15px;color:var(--muted)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-block:27px;font-size:13px;color:var(--muted)}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;background:var(--accent);color:var(--bg);padding:15px;z-index:100}dialog{border:1px solid var(--line);border-radius:12px;padding:0;background:var(--bg);color:var(--text);width:min(750px,calc(100% - 32px));max-height:90vh}dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}dialog .project-cover{border-radius:0;aspect-ratio:2}.icon-button{width:40px;height:40px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:50%;font-size:25px}.close-dialog{position:absolute;right:12px;top:12px;z-index:1}.detail-copy{padding:32px}.detail-copy h2{margin-top:14px}.detail-copy p{line-height:1.8;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:13px 20px;border-radius:6px;border:1px solid #51574c;background:transparent;color:var(--text);font-size:14px;font-weight:600}.primary{background:var(--accent);border-color:var(--accent);color:#20251b}.button:hover{filter:brightness(1.1)}
/* Private workspace */
.admin-main{max-width:1050px;padding-block:55px 80px}.admin-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.admin-title h1{font-size:42px;letter-spacing:-2px;margin:10px 0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:30px}.login-panel{max-width:440px;margin:20px auto}.panel h2{font-size:24px;margin-bottom:20px}label{display:block;font-size:14px;margin-bottom:20px;color:var(--muted)}input,textarea,select{display:block;width:100%;padding:13px 14px;margin-top:8px;background:var(--bg);border:1px solid #50574c;border-radius:5px;color:var(--text);font-size:16px}textarea{resize:vertical;min-height:130px;line-height:1.5}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.check-label{display:flex;align-items:center;gap:12px;color:var(--text)}.check-label input{width:19px;height:19px;margin:0;accent-color:var(--accent)}.admin-list{display:grid;gap:12px;margin:24px 0 45px}.admin-item{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:8px;padding:20px}.admin-item h3{margin:0 0 8px;font-size:19px}.badge{font-size:12px;letter-spacing:.5px;color:var(--accent)}.badge.draft{color:#d4c19e}.admin-item .form-actions{flex-shrink:0}.message{font-size:14px;line-height:1.6;white-space:pre-line}.message:not(:empty){padding:14px 18px;background:#2d3428;border-left:3px solid var(--accent);margin-block:20px}.message.error{background:#3a2828;border-color:#e6a59f}.danger{color:#efb4ac}.editor-panel{margin-bottom:35px}.small-note{font-size:13px;color:var(--muted);line-height:1.6}.admin-header-right{display:flex;gap:14px;align-items:center}.setup-note{max-width:620px;margin:30px auto}.setup-note p{color:var(--muted);line-height:1.7}.setup-note code{color:var(--accent)}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{padding-block:22px}.brand{font-size:14px;gap:9px}nav{gap:18px}nav .contact-nav{display:none}.hero{padding-block:55px 45px}h1{letter-spacing:-3px;margin:28px 0}.serif{letter-spacing:-2px}.hero-bottom p{font-size:15px;max-width:80%}.round-link{width:43px;height:43px;flex-shrink:0}.section-heading .eyebrow{display:none}.project-grid{grid-template-columns:1fr;gap:30px}.project-card:first-child{grid-column:auto}.project-card:first-child .project-cover{aspect-ratio:1.46}.project-cover{padding:23px}.project-card:first-child .cover-title{font-size:90px;letter-spacing:-6px}.cover-title{font-size:60px}.project-name{font-size:20px}.work{padding-bottom:50px}.about{grid-template-columns:1fr;gap:25px;padding-block:45px}.contact{padding-block:45px}.contact>a{letter-spacing:-1px}footer{font-size:12px;gap:20px}.admin-main{padding-block:30px}.admin-title{flex-wrap:wrap}.admin-title h1{font-size:35px}.panel{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.admin-item{align-items:start;flex-direction:column}.detail-copy{padding:24px}.admin-header-right{gap:8px}.admin-header-right .button{padding:10px}.cover-top,.cover-bottom{font-size:10px;letter-spacing:1px}}
@media(max-width:480px){body:has(.admin-main) .site-header{flex-wrap:wrap;gap:16px}body:has(.admin-main) .admin-header-right{flex-wrap:wrap}.admin-main input,.admin-main textarea,.admin-main select{min-width:0}.admin-item h3{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
