:root { --ink:#3d3d3d; --line:#ececec; --accent:#efa819; }
* { box-sizing:border-box; }
body { background:#fff; color:var(--ink); font-family:Arial,Helvetica,sans-serif; margin:0; }
a { color:inherit; text-decoration:none; }
.site-shell { margin:0 auto; max-width:970px; padding:126px 0 20px; }
.site-header { align-items:flex-end; display:flex; justify-content:space-between; margin-bottom:44px; }
.brand { align-items:center; display:flex; font-family:cursive; font-size:31px; gap:9px; line-height:.75; }
.brand-mark { align-items:center; background:var(--accent); border-radius:50%; color:#fff; display:inline-flex; font-family:Georgia,serif; font-size:42px; font-weight:700; height:57px; justify-content:center; transform:rotate(-15deg); width:57px; }
.brand small { display:block; font-family:Arial,Helvetica,sans-serif; font-size:10px; letter-spacing:1.1px; margin-left:60px; margin-top:8px; text-transform:lowercase; }
.desktop-nav { align-items:center; display:flex; flex-wrap:wrap; gap:0 29px; justify-content:flex-end; max-width:650px; }
.desktop-nav > a,.desktop-nav summary { color:#4a4a4a; cursor:pointer; font-size:12px; letter-spacing:.7px; line-height:2.8; text-transform:uppercase; white-space:nowrap; }
.desktop-nav > a:hover,.desktop-nav summary:hover { color:var(--accent); }
.desktop-nav details { position:relative; }
.desktop-nav summary { list-style:none; }
.desktop-nav summary::after { content:'▾'; font-size:8px; margin-left:4px; }
.desktop-nav summary::-webkit-details-marker { display:none; }
.menu { background:#fff; border:1px solid var(--line); box-shadow:0 7px 20px rgba(0,0,0,.08); min-width:170px; padding:8px 0; position:absolute; right:0; z-index:2; }
.menu a { display:block; font-size:11px; letter-spacing:.5px; padding:10px 15px; text-transform:uppercase; }
.menu a:hover { background:#fafafa; color:var(--accent); }
.net-link { font-size:10px !important; }
.slider { aspect-ratio:1.5 / 1; background:#eee; overflow:hidden; position:relative; }
.slider img { height:100%; object-fit:cover; width:100%; }
.slider-button { background:rgba(255,255,255,.78); border:0; color:#555; cursor:pointer; font-size:40px; height:42px; line-height:30px; position:absolute; top:calc(50% - 21px); width:31px; }
.slider-button:hover { background:rgba(255,255,255,.98); color:var(--accent); }
.previous { left:0; }.next { right:0; }
.site-footer { align-items:center; display:flex; gap:20px; justify-content:flex-end; margin-top:15px; }
.site-footer p { color:#4d4d4d; font-size:11px; margin:0 auto 0 0; }
.social-links { display:flex; gap:5px; }.social-links a { align-items:center; background:#4e4e4e; color:#fff; display:inline-flex; font-family:Georgia,serif; font-size:12px; height:20px; justify-content:center; width:20px; }.social-links a:hover { background:var(--accent); }
@media (max-width:980px) { .site-shell { padding:50px 30px 20px; }.site-header { align-items:flex-start; flex-direction:column; gap:24px; }.desktop-nav { justify-content:flex-start; max-width:none; }.slider { aspect-ratio:1.35/1; } }
@media (max-width:620px) { .site-shell { padding:30px 18px 15px; }.brand { font-size:25px; }.desktop-nav { gap:0 15px; }.desktop-nav > a,.desktop-nav summary { font-size:10px; }.net-link { display:none; }.slider { aspect-ratio:1/1; }.site-footer { margin-top:10px; } }

/* Zenfolio original logo, copied from the public site */
.brand { gap: 0; font-size: 0; }
.brand-mark { width: 250px; height: 60px; font-size: 0; color: transparent; border-radius: 0; transform: none; background: url("assets/home/u118502342-o975146075-72.png") center center / 250px 125px no-repeat; }
.brand > span:last-child { display: none; }
.net-link { display: none !important; }

.slider img[src*="/portrait/"] { background:#fff; object-fit:contain; }
