
:root{
  --shell-paper:#f7f3ed;
  --shell-paper-2:#eee6dc;
  --shell-ink:#1d1a18;
  --shell-muted:#6d655f;
  --shell-rust:#ad4d35;
  --shell-line:rgba(29,26,24,.16);
  --shell-white:#fffdf9;
  --shell-max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{min-width:320px}
a{color:inherit}
.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;padding:12px 16px;background:#111;color:#fff;border-radius:8px;text-decoration:none;transition:top .2s}
.skip-link:focus{top:16px}
.site-shell-header{position:sticky;top:0;z-index:1200;background:rgba(255,253,249,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--shell-line);font-family:Arial,"Helvetica Neue",sans-serif;color:var(--shell-ink)}
.site-shell-inner{width:min(var(--shell-max),calc(100% - 56px));height:78px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-shell-logo{font-family:Georgia,"Times New Roman",serif;font-size:21px;letter-spacing:.28em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.site-shell-nav{display:flex;align-items:center;gap:28px}
.site-shell-nav a{position:relative;text-decoration:none;font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;padding:12px 0;white-space:nowrap}
.site-shell-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--shell-rust);transition:right .25s ease}
.site-shell-nav a:hover::after,.site-shell-nav a[aria-current="page"]::after{right:0}
.site-shell-nav a[aria-current="page"]{color:var(--shell-rust)}
.site-shell-menu{display:none;width:42px;height:42px;border:1px solid var(--shell-line);background:transparent;border-radius:999px;cursor:pointer;align-items:center;justify-content:center}
.site-shell-menu span,.site-shell-menu span::before,.site-shell-menu span::after{display:block;width:17px;height:1px;background:var(--shell-ink);position:relative;transition:.2s}
.site-shell-menu span::before,.site-shell-menu span::after{content:"";position:absolute;left:0}
.site-shell-menu span::before{top:-5px}.site-shell-menu span::after{top:5px}
.site-shell-menu[aria-expanded="true"] span{background:transparent}
.site-shell-menu[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.site-shell-menu[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.site-shell-footer{background:var(--shell-white);border-top:1px solid var(--shell-line);font-family:Arial,"Helvetica Neue",sans-serif;color:var(--shell-ink)}
.site-shell-footer-inner{width:min(var(--shell-max),calc(100% - 56px));margin:0 auto;padding:38px 0 44px;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:end}
.site-shell-footer-brand{font-family:Georgia,"Times New Roman",serif;font-size:24px;margin-bottom:8px}
.site-shell-footer p{margin:0;color:var(--shell-muted);font-size:13px}
.site-shell-footer-links{display:flex;gap:22px;flex-wrap:wrap;justify-content:flex-end}
.site-shell-footer-links a{text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.site-shell-footer-links a:hover{color:var(--shell-rust)}
.site-progress{position:fixed;top:0;left:0;z-index:1400;height:3px;width:0;background:var(--shell-rust);pointer-events:none}
.project-pagination{width:min(var(--shell-max),calc(100% - 56px));margin:0 auto 78px;display:grid;grid-template-columns:1fr 1fr;gap:18px;font-family:Arial,"Helvetica Neue",sans-serif}
.project-pagination a{display:flex;min-height:124px;flex-direction:column;justify-content:center;border:1px solid var(--shell-line);border-radius:18px;padding:24px;text-decoration:none;background:rgba(255,253,249,.7);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.project-pagination a:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(31,24,20,.1);border-color:rgba(173,77,53,.5)}
.project-pagination .next{text-align:right;align-items:flex-end}
.project-pagination small{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--shell-rust);font-weight:800;margin-bottom:8px}
.project-pagination strong{font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:400}
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:900;width:46px;height:46px;border:1px solid var(--shell-line);border-radius:999px;background:rgba(255,253,249,.9);backdrop-filter:blur(12px);color:var(--shell-ink);display:grid;place-items:center;text-decoration:none;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s}
.back-to-top.visible{opacity:1;pointer-events:auto;transform:none}
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(12,10,9,.94);display:none;align-items:center;justify-content:center;padding:40px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1400px,92vw);max-height:88vh;object-fit:contain;width:auto;height:auto;box-shadow:0 30px 100px rgba(0,0,0,.35)}
.lightbox button{position:absolute;top:20px;right:20px;width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.25);color:#fff;font-size:24px;cursor:pointer}
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
[data-reveal].revealed{opacity:1;transform:none}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
@media (max-width:980px){
  .site-shell-inner{width:min(100% - 32px,var(--shell-max));height:68px}
  .site-shell-menu{display:flex}
  .site-shell-nav{position:fixed;inset:68px 0 auto 0;display:grid;gap:0;background:rgba(255,253,249,.98);border-bottom:1px solid var(--shell-line);padding:10px 20px 22px;transform:translateY(-130%);opacity:0;pointer-events:none;transition:.25s}
  .site-shell-nav.open{transform:none;opacity:1;pointer-events:auto}
  .site-shell-nav a{font-size:13px;padding:15px 10px;border-bottom:1px solid rgba(29,26,24,.08)}
  .site-shell-footer-inner{width:min(100% - 32px,var(--shell-max));grid-template-columns:1fr}
  .site-shell-footer-links{justify-content:flex-start}
  .project-pagination{width:min(100% - 32px,var(--shell-max));grid-template-columns:1fr}
  .project-pagination .next{text-align:left;align-items:flex-start}
  .lightbox{padding:18px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  [data-reveal]{opacity:1;transform:none}
}
