main.ptn{display:block}
.ptn-ct{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.ptn-hero{padding:var(--space-6) 0 var(--space-8);border-bottom:var(--rule-subtle)}
.ptn-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-7);font-size:var(--text-sm);line-height:var(--leading-normal)}
.ptn-crumbs a{color:var(--text-link);text-decoration:none}
.ptn-crumbs a:hover{color:var(--text-link-hover)}
.ptn-crumbs span{color:var(--text-secondary)}
.ptn-crumbs .lucide{flex:0 0 auto;color:var(--gray-400)}
.ptn-hero h1{max-width:34ch;margin:0;color:var(--text-heading);font-size:var(--type-h1-size);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}
.ptn-lead{max-width:60ch;margin:var(--space-4) 0 0;color:var(--text-muted);font-size:var(--type-lead-size);line-height:var(--leading-normal)}
.ptn-lead p{margin:0}
.ptn-count{display:inline-flex;margin-top:var(--space-5);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}
.ptn-sec{padding:var(--section-y) 0} .ptn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.ptn-card{display:flex;flex-direction:column;overflow:hidden;border:var(--rule);border-radius:var(--radius-md);background:var(--surface-card);transition:box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}
.ptn-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.ptn-news-media{display:block;aspect-ratio:16/9;min-height:0;overflow:hidden;background:var(--gray-50)}
.ptn-news-img{display:block;width:100%;height:100%;object-fit:cover;background:var(--gray-50)}
.ptn-news-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:var(--space-5);background:var(--gray-50);color:var(--text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal);text-align:center}
.ptn-card-bd{display:flex;flex:1;flex-direction:column;padding:var(--space-5) var(--space-6) var(--space-6)}
.ptn-date{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-normal);font-variant-numeric:tabular-nums}
.ptn-date .lucide{flex:0 0 auto;color:var(--gray-400)}
.ptn-card-title{display:block;margin-top:var(--space-3);color:var(--navy-700);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-snug);text-decoration:none}
.ptn-card-title:hover{color:var(--blue-500);text-decoration:none}
.ptn-card-bd p{flex:1;margin:var(--space-3) 0 0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}
.ptn-more{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--blue-500);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none}
.ptn-more:hover{color:var(--text-link-hover);text-decoration:none}
.ptn-more .lucide{flex:0 0 auto}
.ptn-empty{margin:0;color:var(--text-muted);font-size:var(--text-base)} .ptn-pg{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-9)}
.ptn-pg a,.ptn-pg span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none}
.ptn-pg a{border:var(--rule);background:var(--surface-card);color:var(--navy-700)}
.ptn-pg a:hover{border-color:var(--border-strong);color:var(--blue-500)}
.ptn-pg .current{background:var(--blue-500);color:var(--text-inverse)}
.ptn-pg .dots{min-width:auto;padding:0;color:var(--text-muted)}
.ptn-pg .lucide{flex:0 0 auto} .ptn-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-xs);background:var(--blue-50);color:var(--blue-500);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-normal);text-decoration:none}
.ptn-tag:hover{color:var(--text-link-hover);text-decoration:none}
.ptn-tag .lucide{flex:0 0 auto}
.ptn-hero .ptn-tag+h1{margin-top:var(--space-4)}
.ptn-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-top:var(--space-5);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}
.ptn-meta span{display:inline-flex;align-items:center;gap:6px}
.ptn-meta .lucide{flex:0 0 auto;color:var(--gray-400)}
.ptn-featured{margin-top:var(--space-8)}
.ptn-featured-img{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:var(--radius-lg)} .ptn-single-grid{display:grid;grid-template-columns:minmax(0,1fr) var(--aside-col);gap:var(--space-10);align-items:start}
.ptn-main{min-width:0}
.ptn-prose{max-width:78ch}
.ptn-prose p{margin:0 0 var(--space-5);color:var(--text-primary);font-size:var(--type-body-size);line-height:var(--type-body-leading)}
.ptn-prose h2{margin:var(--space-9) 0 var(--space-5);padding-left:var(--space-5);border-left:3px solid var(--blue-500);color:var(--text-heading);font-size:var(--type-h3-size);line-height:var(--leading-snug);text-align:left;scroll-margin-top:var(--space-13)}
.ptn-prose>h2:first-child{margin-top:0}
.ptn-prose a{color:var(--text-link)}
.ptn-prose a:hover{color:var(--text-link-hover)}
.ptn-prose ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);margin:var(--space-2) 0 var(--space-6);padding:0;list-style:none}
.ptn-prose li{display:flex;gap:var(--space-4);padding:var(--space-5) var(--space-6);border:var(--rule);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-normal)}
.ptn-prose li::before{flex:0 0 auto;width:18px;margin-top:var(--space-1);color:var(--blue-500);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:18px;content:"✓"}
.ptn-prose ol{margin:var(--space-2) 0 var(--space-6);padding-left:var(--space-6);color:var(--text-primary);font-size:var(--type-body-size);line-height:var(--type-body-leading)}
.ptn-prose ol li{margin-bottom:var(--space-3)}
.ptn-prose img{max-width:100%;height:auto;border-radius:var(--radius-md)}
.ptn-post-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--space-9);padding-top:var(--space-7);border-top:var(--rule-subtle)}
.ptn-post-nav>div{flex:1;min-width:0}
.ptn-post-nav>div:last-child{text-align:right}
.ptn-post-nav a{display:inline-flex;align-items:center;gap:6px;color:var(--navy-700);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-normal);text-decoration:none}
.ptn-post-nav a:hover{color:var(--blue-500);text-decoration:none}
.ptn-post-nav .lucide{flex:0 0 auto}
.ptn-all{flex:0 0 auto}
.ptn-aside{position:sticky;top:var(--space-11);display:flex;flex-direction:column;overflow:hidden;align-self:start;border:var(--rule);border-radius:var(--radius-md);background:var(--surface-card);box-shadow:var(--shadow-sm)}
.ptn-aside-hd{padding:var(--space-6) var(--space-7);background:var(--surface-dark)}
.ptn-aside-hd h2{margin:0;color:var(--text-on-dark-heading);font-size:var(--type-h3-size);line-height:var(--leading-snug)}
.ptn-aside-hd p{margin:var(--space-3) 0 0;color:var(--text-inverse-soft);font-size:var(--text-sm);line-height:var(--leading-normal)}
.ptn-tel{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-6) var(--space-7) 0}
.ptn-tel a{color:var(--navy-700);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-snug);text-decoration:none}
.ptn-tel a:hover{color:var(--blue-500)}
.ptn-tel span{color:var(--text-secondary);font-size:var(--text-xs)}
.ptn-aside-bd{padding:var(--space-6) var(--space-7)}
.ptn-aside-ft{display:flex;align-items:flex-start;gap:var(--space-3);margin-top:auto;padding:var(--space-4) var(--space-7);border-top:var(--rule-subtle);background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-xs);line-height:var(--leading-normal)}
.ptn-aside-ft .lucide{flex:0 0 auto;margin-top:var(--space-1);color:var(--success-500)} .ptn-cta{padding:var(--section-y) 0;background:var(--surface-dark);color:var(--text-inverse-soft);text-align:center}
.ptn-cta h2{max-width:36ch;margin:0 auto;color:var(--text-on-dark-heading);font-size:var(--type-h2-size);line-height:var(--leading-snug)}
.ptn-cta p{max-width:56ch;margin:var(--space-4) auto 0;font-size:var(--text-md);line-height:var(--leading-normal)}
.ptn-cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-6);margin-top:var(--space-8)}
.ptn-cta-tel{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text-inverse);font-size:var(--text-lg);font-weight:var(--weight-semibold);text-decoration:none}
.ptn-cta-tel:hover{color:var(--text-inverse);text-decoration:none}
.ptn-cta-tel .lucide{flex:0 0 auto}
.ptn-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);height:var(--control-h-lg);padding:0 var(--space-7);border:var(--border-width) solid var(--action-primary-bg);border-radius:var(--radius-sm);background:var(--action-primary-bg);color:var(--action-primary-fg);font-family:var(--font-ui);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1;cursor:pointer;transition:var(--transition-color)}
.ptn-btn:hover{border-color:var(--action-primary-bg-hover);background:var(--action-primary-bg-hover)}
.ptn-btn .lucide{flex:0 0 auto}
.ptn-btn--dark{border-color:var(--action-secondary-bg);background:var(--action-secondary-bg);color:var(--navy-700)}
.ptn-btn--dark:hover{border-color:var(--gray-100);background:var(--gray-100);color:var(--navy-700)} .ptn-search{max-width:680px;margin-top:var(--space-6)}
.ptn-search-btn{flex:0 0 auto;height:34px;padding:0 var(--space-5);font-size:var(--text-sm)}
.ptn-empty{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);padding:var(--space-6);border:var(--rule);border-radius:var(--radius-md);background:var(--surface-muted)}
.ptn-empty p{margin:0}
.ptn-empty a{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--navy-700);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none}
.ptn-empty a:hover{color:var(--blue-500)}
.ptn-404-hero{text-align:center}
.ptn-404-hero .ptn-ct{display:flex;flex-direction:column;align-items:center}
.ptn-code{color:var(--blue-500);font-family:var(--font-mono);font-size:96px;font-weight:var(--weight-semibold);line-height:1;font-variant-numeric:tabular-nums}
.ptn-404 .ptn-hero h1{margin-top:var(--space-4)}
.ptn-404 .ptn-lead{margin-right:auto;margin-left:auto}
.ptn-404 .ptn-search{width:100%;text-align:left}
.ptn-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-6)}
.ptn-btn--outline{border-color:var(--action-secondary-border);background:var(--surface-card);color:var(--action-secondary-fg)}
.ptn-btn--outline:hover{border-color:var(--action-secondary-border);background:var(--action-secondary-bg-hover);color:var(--action-secondary-fg)}
@media (max-width:1060px){
.ptn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
.ptn-single-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}
.ptn-aside{position:static}
}
@media (max-width:760px){
.ptn-ct{padding:0 var(--container-pad-mobile)}
.ptn-hero{padding-top:var(--space-6)}
.ptn-sec,.ptn-cta{padding:var(--section-y-mobile) 0}
.ptn-hero h1{font-size:var(--text-3xl)}
.ptn-grid{grid-template-columns:minmax(0,1fr)}
.ptn-card-bd{padding:var(--space-5) var(--space-6) var(--space-6)}
.ptn-post-nav{align-items:stretch;flex-wrap:wrap}
.ptn-post-nav>div{flex:1 1 40%}
.ptn-post-nav .ptn-all{order:3;width:100%;justify-content:center}
.ptn-aside-hd,.ptn-aside-bd,.ptn-aside-ft{padding-left:var(--space-6);padding-right:var(--space-6)}
.ptn-tel{padding-left:var(--space-6);padding-right:var(--space-6)}
.ptn-cta-row{align-items:stretch}
.ptn-cta-tel{justify-content:center}
.ptn-search-btn{padding:0 var(--space-4)}
.ptn-code{font-size:72px}
}