/* Shared portfolio layout extends the existing studio palette and typography. */
.skip-link{position:absolute;top:-80px;left:16px;padding:12px;background:var(--ink);color:var(--paper);z-index:300}.skip-link:focus{top:12px}
a:focus-visible{outline:3px solid var(--google);outline-offset:5px}
.portfolio-main{padding-top:140px;padding-bottom:88px}.page-heading{max-width:820px;margin-bottom:52px}.page-heading h1,.product-heading h1,.article-body h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.08;letter-spacing:-.03em;margin:18px 0 25px}.page-heading h1 em{color:var(--accent)}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.catalog-card{padding:28px;background:white;border:1px solid var(--border);display:flex;flex-direction:column;align-items:flex-start;position:relative}.app-icon{border-radius:18px;object-fit:contain;margin-bottom:22px}.platform-label{font-size:.7rem;text-transform:uppercase;font-weight:600;letter-spacing:.1em;color:#5e5750}.catalog-card .platform-label{position:absolute;top:30px;right:24px}.catalog-card h3,.guide-card h3,.web-card h3{font-family:var(--serif);font-size:1.4rem;line-height:1.25;margin-bottom:14px}.catalog-card p,.guide-card p,.web-card p{font-size:.94rem;line-height:1.7;color:#625b54;margin-bottom:25px}.text-link{font-size:.88rem;font-weight:600;margin-top:auto;text-decoration:underline;text-underline-offset:4px}.catalog-section{padding:30px 0;scroll-margin-top:100px}.jump-links{display:flex;gap:22px;margin-top:28px;flex-wrap:wrap}.jump-links a{border-bottom:1px solid var(--accent);padding-bottom:4px}.section-action{margin-top:30px}.web-card{padding:32px;background:var(--warm);border:1px solid var(--border);max-width:780px;margin-top:24px}.back-link{display:inline-block;margin-bottom:32px;color:#625b54;font-size:.9rem}.product-heading{display:grid;grid-template-columns:minmax(0,1fr) 224px;gap:64px;align-items:center}.product-icon{border-radius:44px;max-width:100%;height:auto}.compatibility{font-size:.85rem;color:#625b54;margin:24px 0}.product-section{padding:48px 0;border-bottom:1px solid var(--border)}.product-section h2,.article-body h2{font-family:var(--serif);font-size:1.8rem;margin-bottom:24px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.feature-grid h3{font-size:1.06rem;margin-bottom:12px}.feature-grid p,.details-grid p,.product-note,.article-body p{font-size:1rem;line-height:1.8;color:#625b54}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px}.details-grid p+p{margin-top:14px}.product-note{font-size:.8rem;margin-top:30px}.legal-links{display:flex;gap:24px;font-size:.85rem;margin-top:20px}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.guide-card{border:1px solid var(--border);background:var(--warm);padding:28px;display:flex;flex-direction:column}.guide-card .platform-label{margin-bottom:20px}.article-body{max-width:780px;margin:0 auto}.article-body h1{font-size:clamp(2.25rem,5vw,3.6rem)}.article-body section{padding:30px 0 12px}.article-body section p+p{margin-top:18px}.article-byline{font-size:.8rem!important;margin-top:20px}.article-cta{background:var(--warm);border:1px solid var(--border);padding:30px;margin-top:36px}.article-cta .btn{margin-top:24px}
@media(max-width:960px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-heading{gap:30px;grid-template-columns:minmax(0,1fr) 160px}.product-icon{width:160px}.guide-grid{grid-template-columns:1fr}}
@media(max-width:720px){.portfolio-nav{gap:18px}.portfolio-nav li:not(:last-child){display:block}.portfolio-nav li:nth-child(3){display:none}.portfolio-nav .nav-cta{display:none}.nav-inner{gap:20px}.portfolio-main{padding-top:110px}.catalog-grid,.feature-grid,.details-grid{grid-template-columns:1fr}.product-heading{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:24px}.product-icon{width:112px;border-radius:24px}.product-heading h1{font-size:2.5rem}.catalog-card{padding:24px}.product-section{padding:34px 0}.portfolio-nav li:last-child{display:none}.details-grid{gap:28px}.legal-links{flex-wrap:wrap}.article-body section{padding-top:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
