:root{
  --pl-navy:#1A2A47;
  --pl-navy-700:#22335A;
  --pl-navy-300:#34466B;
  --pl-amber:#E0A833;
  --pl-amber-soft:#F4D88A;
  --pl-grey:#5E6470;
  --pl-grey-light:#A2A7B0;
  --pl-parchment:#F4F1EA;
  --pl-parchment-dark:#E8E3D6;
  --pl-white:#FFFFFF;
  --pl-ink:#1B1F26;
  --pl-line:#D9D3C2;
  --pl-shadow:0 6px 18px rgba(26,42,71,.08);
  --pl-shadow-lg:0 14px 40px rgba(26,42,71,.14);
  --pl-radius:10px;
  --pl-max:1180px;
  --pl-font-head:"Shippori Mincho","Yu Mincho",serif;
  --pl-font-body:"Murecho","Hiragino Sans","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--pl-font-body);
  color:var(--pl-ink);
  background:var(--pl-parchment);
  line-height:1.75;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--pl-navy);text-decoration:none}
a:hover{color:var(--pl-amber)}
h1,h2,h3,h4{font-family:var(--pl-font-head);color:var(--pl-navy);line-height:1.35;margin:0 0 .6em}
h1{font-size:2.1rem}
h2{font-size:1.55rem}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.pl-container{max-width:var(--pl-max);margin:0 auto;padding:0 24px}
.pl-skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.pl-skip:focus{position:fixed;left:16px;top:16px;background:var(--pl-amber);color:var(--pl-navy);padding:8px 14px;border-radius:6px;width:auto;height:auto;z-index:1000}

.pl-header{position:sticky;top:0;z-index:50;background:var(--pl-parchment);border-bottom:1px solid var(--pl-line)}
.pl-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}
.pl-brand{display:flex;align-items:center;gap:10px;font-family:var(--pl-font-head);font-size:1.05rem;color:var(--pl-navy);font-weight:600}
.pl-brand i{font-size:1.3rem;color:var(--pl-amber)}
.pl-brand-sub{display:block;font-size:.7rem;color:var(--pl-grey);font-family:var(--pl-font-body);font-weight:400}
.pl-nav-list{list-style:none;display:flex;gap:22px;margin:0;padding:0;align-items:center}
.pl-nav-list a{color:var(--pl-navy);font-size:.95rem;font-weight:500}
.pl-nav-list a:hover{color:var(--pl-amber)}
.pl-nav-cta{background:var(--pl-amber);color:var(--pl-navy)!important;padding:8px 16px;border-radius:6px;font-weight:600;font-size:.9rem}
.pl-nav-cta:hover{background:var(--pl-navy);color:var(--pl-white)!important}
.pl-dropdown{position:relative}
.pl-dropdown-toggle{background:none;border:none;font-family:inherit;font-size:.95rem;color:var(--pl-navy);cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:0;font-weight:500}
.pl-dropdown-toggle:hover{color:var(--pl-amber)}
.pl-dropdown-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);background:var(--pl-white);border:1px solid var(--pl-line);box-shadow:var(--pl-shadow-lg);border-radius:var(--pl-radius);min-width:280px;padding:10px;list-style:none;margin:0;display:none;z-index:60}
.pl-dropdown-menu.is-open{display:block}
.pl-dropdown-menu li{margin:0}
.pl-dropdown-menu a{display:block;padding:8px 12px;font-size:.88rem;color:var(--pl-navy);border-radius:6px}
.pl-dropdown-menu a:hover{background:var(--pl-parchment-dark);color:var(--pl-amber)}
.pl-burger{display:none;background:none;border:1px solid var(--pl-line);padding:6px 10px;border-radius:6px;cursor:pointer;color:var(--pl-navy)}

.pl-hero{position:relative;min-height:560px;color:var(--pl-white);display:flex;align-items:center;background:#0e1a30 center/cover no-repeat;background-image:linear-gradient(rgba(8,16,32,.78),rgba(14,24,46,.62)),url("../visuals/home-hero.jpg")}
.pl-hero-inner{padding:90px 0;width:100%}
.pl-hero-tag{display:inline-flex;align-items:center;gap:8px;background:rgba(224,168,51,.18);border:1px solid var(--pl-amber);color:var(--pl-amber-soft);padding:5px 14px;border-radius:30px;font-size:.78rem;letter-spacing:.18em;font-weight:600;text-transform:uppercase;margin-bottom:18px}
.pl-hero h1{color:var(--pl-white);font-size:2.55rem;max-width:720px}
.pl-hero-lead{max-width:620px;color:#dfe4ee;font-size:1.05rem;margin-bottom:28px}
.pl-hero-meta{display:flex;flex-wrap:wrap;gap:22px;margin-top:32px;border-top:1px solid rgba(255,255,255,.18);padding-top:22px;color:#cdd5e2;font-size:.88rem}
.pl-hero-meta strong{display:block;color:var(--pl-amber-soft);font-family:var(--pl-font-head);font-size:1rem;margin-bottom:2px}
.pl-btn{display:inline-block;padding:12px 24px;border-radius:6px;font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:transform .15s ease}
.pl-btn-primary{background:var(--pl-amber);color:var(--pl-navy)}
.pl-btn-primary:hover{background:var(--pl-amber-soft);color:var(--pl-navy);transform:translateY(-1px)}
.pl-btn-ghost{background:transparent;color:var(--pl-white);border:1px solid var(--pl-amber-soft)}
.pl-btn-ghost:hover{background:var(--pl-amber);color:var(--pl-navy);border-color:var(--pl-amber)}
.pl-btn-row{display:flex;gap:14px;flex-wrap:wrap}

.pl-section{padding:78px 0}
.pl-section-eyebrow{display:inline-block;letter-spacing:.22em;font-size:.78rem;color:var(--pl-amber);text-transform:uppercase;margin-bottom:8px;font-weight:600}
.pl-section-title{font-size:1.85rem;margin-bottom:14px}
.pl-section-lead{color:var(--pl-grey);max-width:760px;margin-bottom:42px}

.pl-mission-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}
.pl-mission-list{list-style:none;padding:0;margin:18px 0 0}
.pl-mission-list li{display:flex;gap:14px;padding:14px 0;border-bottom:1px dashed var(--pl-line);align-items:flex-start}
.pl-mission-list i{color:var(--pl-amber);font-size:1.2rem;margin-top:2px}
.pl-mission-list strong{display:block;color:var(--pl-navy);font-family:var(--pl-font-head);font-size:1rem;margin-bottom:2px}
.pl-mission-list span{color:var(--pl-grey);font-size:.92rem}
.pl-mission-figure{position:relative;border-radius:var(--pl-radius);overflow:hidden;box-shadow:var(--pl-shadow-lg)}
.pl-mission-figure img{aspect-ratio:5/4;object-fit:cover;width:100%}

.pl-grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pl-card{background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.pl-card:hover{transform:translateY(-3px);box-shadow:var(--pl-shadow-lg)}
.pl-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--pl-parchment-dark)}
.pl-card-img img{width:100%;height:100%;object-fit:cover}
.pl-card-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.pl-card-tag{align-self:flex-start;background:var(--pl-navy);color:var(--pl-amber-soft);font-size:.7rem;letter-spacing:.18em;padding:4px 10px;border-radius:4px;text-transform:uppercase;font-weight:600}
.pl-card-tag.is-trend{background:var(--pl-amber);color:var(--pl-navy)}
.pl-card-tag.is-watch{background:var(--pl-navy-300);color:var(--pl-white)}
.pl-card-title{font-size:1.1rem;color:var(--pl-navy);margin:0}
.pl-card-title a{color:inherit}
.pl-card-title a:hover{color:var(--pl-amber)}
.pl-card-summary{color:var(--pl-grey);font-size:.9rem;flex:1}
.pl-card-foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px dashed var(--pl-line);font-size:.82rem;color:var(--pl-grey)}
.pl-card-foot i{color:var(--pl-amber);margin-right:5px}

.pl-advantages{background:var(--pl-navy);color:var(--pl-white)}
.pl-advantages h2,.pl-advantages h3{color:var(--pl-white)}
.pl-advantages .pl-section-eyebrow{color:var(--pl-amber-soft)}
.pl-advantages .pl-section-lead{color:#cfd4dd}
.pl-adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:30px}
.pl-adv-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:var(--pl-radius);padding:26px}
.pl-adv-card i{font-size:1.6rem;color:var(--pl-amber);background:rgba(224,168,51,.12);width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;margin-bottom:14px}
.pl-adv-card h3{font-size:1.1rem;margin-bottom:8px}
.pl-adv-card p{color:#cfd4dd;font-size:.92rem;margin:0}

.pl-about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.pl-about-figure{border-radius:var(--pl-radius);overflow:hidden;box-shadow:var(--pl-shadow-lg)}
.pl-about-figure img{aspect-ratio:4/3;object-fit:cover;width:100%}
.pl-about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.pl-about-stat{padding:16px;background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-radius);text-align:center}
.pl-about-stat strong{display:block;font-family:var(--pl-font-head);font-size:1.5rem;color:var(--pl-navy);margin-bottom:2px}
.pl-about-stat span{font-size:.78rem;color:var(--pl-grey)}

.pl-faq{background:var(--pl-parchment-dark)}
.pl-faq-list{margin-top:30px;display:flex;flex-direction:column;gap:14px}
.pl-faq-item{background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-radius);overflow:hidden}
.pl-faq-q{width:100%;text-align:left;background:none;border:none;padding:18px 22px;font-family:var(--pl-font-head);font-size:1.02rem;color:var(--pl-navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;line-height:1.45}
.pl-faq-q i{color:var(--pl-amber);font-size:1.1rem;transition:transform .25s ease;flex-shrink:0}
.pl-faq-item.is-open .pl-faq-q i{transform:rotate(180deg)}
.pl-faq-a{padding:0 22px;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s ease;color:var(--pl-grey);font-size:.95rem}
.pl-faq-item.is-open .pl-faq-a{padding:0 22px 20px;max-height:600px}

.pl-cta{background:linear-gradient(135deg,var(--pl-navy) 0%,var(--pl-navy-700) 100%);color:var(--pl-white);text-align:center}
.pl-cta h2{color:var(--pl-white);font-size:1.95rem}
.pl-cta p{color:#cfd4dd;max-width:640px;margin:0 auto 26px}
.pl-cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

.pl-footer{background:var(--pl-ink);color:#bcc1cb;padding:60px 0 24px}
.pl-footer h4{color:var(--pl-white);font-family:var(--pl-font-head);font-size:1.02rem;margin-bottom:16px;letter-spacing:.05em}
.pl-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:48px}
.pl-footer a{color:#bcc1cb}
.pl-footer a:hover{color:var(--pl-amber)}
.pl-footer-info p{margin:0 0 8px;font-size:.9rem}
.pl-footer-info i{color:var(--pl-amber);margin-right:8px;width:18px}
.pl-footer-list{list-style:none;padding:0;margin:0}
.pl-footer-list li{padding:5px 0;font-size:.9rem}
.pl-footer-feat{display:flex;flex-direction:column;gap:14px}
.pl-footer-feat a{display:block;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:10px}
.pl-footer-feat a:last-child{border-bottom:none}
.pl-footer-feat span{display:block;color:#7c8290;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.pl-footer-bottom{margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:.82rem;color:#8b909c}
.pl-footer-bottom a{font-size:.82rem}

.pl-cookie{position:fixed;bottom:0;left:0;right:0;z-index:80;background:var(--pl-navy);color:var(--pl-white);padding:18px 24px;display:none;box-shadow:0 -8px 24px rgba(0,0,0,.18)}
.pl-cookie.is-open{display:block}
.pl-cookie-inner{max-width:var(--pl-max);margin:0 auto;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.pl-cookie p{margin:0;flex:1;font-size:.9rem;color:#dfe4ee;min-width:240px}
.pl-cookie-actions{display:flex;gap:12px}
.pl-cookie-actions button{flex:1;min-width:130px}

.pl-modal{position:fixed;inset:0;background:rgba(8,16,32,.6);z-index:90;display:none;align-items:center;justify-content:center;padding:18px}
.pl-modal.is-open{display:flex}
.pl-modal-box{background:var(--pl-white);border-radius:var(--pl-radius);max-width:480px;width:100%;padding:36px 32px;text-align:center;box-shadow:var(--pl-shadow-lg)}
.pl-modal-box i{font-size:2.4rem;color:var(--pl-amber);margin-bottom:12px}
.pl-modal-box h3{margin-bottom:10px}
.pl-modal-box p{color:var(--pl-grey);margin-bottom:22px}

.pl-page-hero{padding:64px 0 44px;background:var(--pl-parchment-dark);border-bottom:1px solid var(--pl-line)}
.pl-page-hero h1{margin-bottom:10px}
.pl-page-hero p{color:var(--pl-grey);max-width:720px;margin:0}
.pl-breadcrumb{font-size:.82rem;color:var(--pl-grey);margin-bottom:14px}
.pl-breadcrumb a{color:var(--pl-grey)}
.pl-breadcrumb span{color:var(--pl-navy);margin:0 6px}

.pl-doc{display:grid;grid-template-columns:1fr 280px;gap:48px;align-items:flex-start}
.pl-doc-main{background:var(--pl-white);padding:42px 44px;border:1px solid var(--pl-line);border-radius:var(--pl-radius);box-shadow:var(--pl-shadow)}
.pl-doc-main h2{margin-top:32px;padding-bottom:8px;border-bottom:1px solid var(--pl-line)}
.pl-doc-main h2:first-child{margin-top:0}
.pl-doc-main ul,.pl-doc-main ol{padding-left:22px;color:var(--pl-grey)}
.pl-doc-main li{margin-bottom:6px}
.pl-doc-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px}
.pl-doc-toc{background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-radius);padding:20px}
.pl-doc-toc h3{font-size:.95rem;margin-bottom:10px}
.pl-doc-toc ol{list-style:decimal;padding-left:20px;font-size:.86rem;color:var(--pl-grey);margin:0}
.pl-doc-toc li{margin-bottom:5px}
.pl-doc-toc a{color:var(--pl-grey)}
.pl-doc-toc a:hover{color:var(--pl-amber)}

.pl-form{display:grid;gap:18px}
.pl-form-row{display:flex;flex-direction:column;gap:6px}
.pl-form-row label{font-size:.88rem;color:var(--pl-navy);font-weight:600}
.pl-form-row input,.pl-form-row textarea{font-family:inherit;font-size:.95rem;padding:11px 14px;border:1px solid var(--pl-line);border-radius:6px;background:var(--pl-white);color:var(--pl-ink)}
.pl-form-row input:focus,.pl-form-row textarea:focus{outline:none;border-color:var(--pl-amber);box-shadow:0 0 0 3px rgba(224,168,51,.2)}
.pl-form-row textarea{resize:vertical;min-height:140px}
.pl-form small{color:var(--pl-grey);font-size:.78rem}

.pl-contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:flex-start}
.pl-contact-info{background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-radius);padding:30px}
.pl-contact-info h3{margin-bottom:18px}
.pl-contact-info ul{list-style:none;padding:0;margin:0 0 22px}
.pl-contact-info li{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px dashed var(--pl-line)}
.pl-contact-info li:last-child{border-bottom:none}
.pl-contact-info i{color:var(--pl-amber);font-size:1.2rem;width:22px;text-align:center;margin-top:2px}
.pl-contact-info strong{display:block;font-size:.78rem;color:var(--pl-grey);text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px}
.pl-contact-info span{color:var(--pl-navy);font-weight:500}
.pl-map{aspect-ratio:16/9;border-radius:var(--pl-radius);overflow:hidden;border:1px solid var(--pl-line);margin-top:14px}
.pl-map iframe{width:100%;height:100%;border:0}

.pl-article-list{display:grid;gap:24px}
.pl-article-item{display:grid;grid-template-columns:280px 1fr;gap:24px;background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-radius);overflow:hidden;box-shadow:var(--pl-shadow)}
.pl-article-item .pl-card-img{aspect-ratio:4/3}
.pl-article-item .pl-card-body{padding:24px 28px 24px 0}

.pl-article-page article{background:var(--pl-white);padding:48px 50px;border:1px solid var(--pl-line);border-radius:var(--pl-radius);box-shadow:var(--pl-shadow)}
.pl-article-page article h1{font-size:2.05rem;margin-bottom:14px}
.pl-article-page article h2{margin-top:38px;font-size:1.45rem;padding-bottom:8px;border-bottom:1px solid var(--pl-line)}
.pl-article-page article h3{margin-top:24px;font-size:1.15rem;color:var(--pl-navy-700)}
.pl-article-page .pl-article-meta{font-size:.85rem;color:var(--pl-grey);margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--pl-line);display:flex;gap:14px;flex-wrap:wrap}
.pl-article-page .pl-article-meta i{color:var(--pl-amber);margin-right:4px}
.pl-article-page .pl-article-hero{aspect-ratio:16/9;border-radius:var(--pl-radius);overflow:hidden;margin-bottom:26px}
.pl-article-page .pl-article-hero img{width:100%;height:100%;object-fit:cover}
.pl-article-page article p{color:#2c333d}
.pl-article-page article ul,.pl-article-page article ol{color:#2c333d;padding-left:22px}
.pl-article-page article ul li,.pl-article-page article ol li{margin-bottom:6px}
.pl-article-page .pl-callout{background:var(--pl-parchment-dark);border-left:4px solid var(--pl-amber);padding:18px 22px;margin:22px 0;border-radius:6px;color:var(--pl-navy-700);font-size:.94rem}
.pl-article-page .pl-callout strong{color:var(--pl-navy);display:block;margin-bottom:5px;font-family:var(--pl-font-head)}
.pl-article-nav{display:flex;justify-content:space-between;gap:18px;margin-top:32px;flex-wrap:wrap}
.pl-article-nav a{flex:1;min-width:240px;background:var(--pl-white);border:1px solid var(--pl-line);border-radius:var(--pl-radius);padding:18px 22px;display:flex;flex-direction:column;gap:4px}
.pl-article-nav a span{font-size:.74rem;color:var(--pl-grey);letter-spacing:.14em;text-transform:uppercase}
.pl-article-nav a strong{color:var(--pl-navy);font-family:var(--pl-font-head);font-size:1rem}
.pl-article-nav a.is-next{text-align:right}
.pl-article-nav a:hover{border-color:var(--pl-amber);box-shadow:var(--pl-shadow)}

@media (max-width:960px){
  .pl-mission-grid,.pl-about-grid,.pl-contact-grid,.pl-doc{grid-template-columns:1fr;gap:32px}
  .pl-grid-cards,.pl-adv-grid{grid-template-columns:repeat(2,1fr)}
  .pl-footer-grid{grid-template-columns:1fr 1fr}
  .pl-article-item{grid-template-columns:1fr}
  .pl-article-item .pl-card-body{padding:0 24px 24px}
  .pl-doc-side{position:static}
}
@media (max-width:680px){
  h1{font-size:1.7rem}
  .pl-hero h1{font-size:1.95rem}
  .pl-hero{min-height:380px}
  .pl-hero-inner{padding:60px 0}
  .pl-section{padding:54px 0}
  .pl-grid-cards,.pl-adv-grid,.pl-about-stats,.pl-footer-grid{grid-template-columns:1fr}
  .pl-nav-list{display:none;position:absolute;top:100%;left:0;right:0;background:var(--pl-white);flex-direction:column;align-items:stretch;gap:0;padding:14px;box-shadow:var(--pl-shadow-lg);border-bottom:1px solid var(--pl-line)}
  .pl-nav-list.is-open{display:flex}
  .pl-nav-list li{border-bottom:1px solid var(--pl-line)}
  .pl-nav-list li:last-child{border-bottom:none}
  .pl-nav-list a,.pl-dropdown-toggle{padding:10px 6px;width:100%;justify-content:flex-start}
  .pl-dropdown-menu{position:static;transform:none;box-shadow:none;border:none;padding:0 0 8px 18px;min-width:0}
  .pl-burger{display:inline-flex;align-items:center}
  .pl-doc-main,.pl-article-page article{padding:28px 22px}
  .pl-hero-meta{flex-direction:column;gap:12px}
}
