:root{--button-size:36px}.portfolio-stage{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;gap:28px;padding:64px 20px;text-align:center}.page-title{margin:0;font-family:Arvo,Georgia,serif;font-size:var(--title-size);font-weight:400}.link-buttons{display:flex;flex-direction:column;align-items:stretch;width:min(100%,420px)}.collapse{display:grid;grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .28s ease,opacity .2s ease,margin-top .28s ease}.collapse>*{min-height:0;overflow:hidden}.collapse.is-closed{grid-template-rows:0fr;opacity:0;margin-top:0;pointer-events:none;visibility:hidden;transition:grid-template-rows .28s ease,opacity .2s ease,margin-top .28s ease,visibility 0s .28s}.p-section{margin-top:30px}.p-section:first-of-type{margin-top:0}.p-item{margin-top:14px}.detail-wrap{margin-top:10px}.back-wrap{margin-top:0}.section-header{margin:0;display:flex;align-items:center;gap:14px;font-family:Arvo,Georgia,serif;font-size:15px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:left}.section-header:after{content:"";flex:1 1;height:1px;background:var(--hairline)}.back-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;align-self:flex-start;margin-bottom:6px;padding:6px 16px;border:1px solid var(--hairline);border-radius:999px;background:var(--button-fill);color:var(--muted);font-family:Crimson Text,Georgia,serif;font-size:18px;line-height:1;transition:background-color .14s ease,color .14s ease}.back-pill:focus-visible,.back-pill:hover{background:var(--button-fill-hover);color:var(--foreground)}.main-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:100%;display:inline-flex;align-items:center;justify-content:flex-start;gap:18px;min-height:72px;padding:12px 24px;border:1px solid var(--foreground);border-radius:8px;background:var(--button-fill);color:var(--foreground);font-family:Crimson Text,Georgia,serif;font-size:var(--button-size);font-weight:400;line-height:1;text-align:left;text-decoration:none;transition:background-color .14s ease,transform .14s ease}.main-button:focus-visible,.main-button:hover{background:var(--button-fill-hover)}.main-button:active{transform:translateY(1px)}.main-button.is-active{background:var(--button-fill-hover)}.button-icon{width:48px;height:48px;object-fit:contain;flex-shrink:0}.button-icon.rokmetro{width:96px;height:64px}.button-icon.rokspark{width:112px;height:48px}.detail-card{padding:16px 20px;border:1px solid var(--hairline);border-radius:8px;background:var(--button-fill);font-family:Crimson Text,Georgia,serif;text-align:left}.detail-visit{display:inline-block;margin-bottom:12px;font-size:18px;color:var(--link);text-underline-offset:.16em}.detail-visit:focus-visible,.detail-visit:hover{color:var(--link-hover)}.detail-description{font-size:18px;line-height:1.45;color:var(--muted)}.detail-description.is-placeholder{font-style:italic}.detail-description>:first-child{margin-top:0}.detail-description>:last-child{margin-bottom:0}.detail-description p{margin:0 0 10px}.detail-description ol,.detail-description ul{margin:0 0 10px;padding-left:22px}.detail-description li{margin:2px 0}.detail-description a{color:var(--link);text-underline-offset:.16em}.detail-description a:focus-visible,.detail-description a:hover{color:var(--link-hover)}.detail-description code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;padding:1px 5px;border-radius:4px;background:var(--button-fill-hover)}.p-children{margin-left:12px;padding-left:20px;border-left:2px solid var(--hairline)}@media (prefers-reduced-motion:reduce){.collapse,.collapse.is-closed{transition:none}}