/* Piri Reis: maritime colours, original association identity. */
:root {
  --navy: #103a56;
  --ink: #18394a;
  --muted: #58717e;
  --gold: #bc872d;
  --cream: #f5f1e6;
  --line: #d8e4eb;
  --teal: #007f87;
}
body { background: #f4f8fb; }
.piri-site a:hover { color: #006e78; }
.topbar { background: #076d79; color: #eef9fa; }
.topbar a { color: #fff1c8 !important; }
.site-header { border-bottom: 3px solid #ddb461; box-shadow: 0 3px 18px #103a5609; }
.header-inner { min-height: 104px; }
.main-nav > a, .nav-group > summary { color: #103a56; }
.main-nav .nav-contact { background: #103a56; color: #fff; border-color: #103a56; border-radius: 5px; }
.main-nav .nav-contact:hover { background: #007f87; color: #fff; }
.nav-dropdown { border-top: 3px solid #00929a; border-radius: 0 0 8px 8px; box-shadow: 0 14px 30px #103a5620; }
.nav-dropdown a:hover { background: #eef8f8; color: #006d75; }
.menu-toggle { border-color: #103a56; color: #103a56; border-radius: 5px; }
.hero {
  position: relative;
  overflow: hidden;
  margin: 30px 0;
  padding: 52px 42px;
  gap: 38px;
  border-radius: 18px;
  background: radial-gradient(circle at 100% 0, #19829155, transparent 55%), linear-gradient(125deg, #0a2e49, #14516a);
  box-shadow: 0 16px 35px #0b39541a;
}
.hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .18; background-image: linear-gradient(#b7dbe622 1px, transparent 1px), linear-gradient(90deg, #b7dbe622 1px, transparent 1px); background-size: 44px 44px; }
.hero > * { position: relative; z-index: 1; }
.hero .eyebrow { color: #f2c568; }
.piri-site .hero h1 { color: #fff; font-size: clamp(36px, 4.25vw, 58px); font-weight: 600; }
.hero-copy > p { color: #dcebf2; font-size: 17px; }
.hero .button { background: #edbd61; color: #12364c !important; border-color: #edbd61; border-radius: 5px; }
.hero .button:hover { background: #ffcf72; border-color: #ffcf72; }
.hero .button.secondary { background: #ffffff0b; border-color: #8eb2c2; color: #fff !important; }
.hero .button.secondary:hover { background: #ffffff1c; }
.hero-note { color: #d2e4ed; }
.hero-note span::before { color: #f1c879; }
.hero-art { background: #f3e8d0; border: 1px solid #d6bd83; padding: 12px; transform: rotate(1.3deg); box-shadow: 0 14px 25px #00182640; }
.hero-art img { height: 340px; }
.hero-art figcaption { color: #735722; font-size: 14px; padding: 14px 0 3px; }
.hero-art::before { display: none; }
.quick-grid { border: 0; gap: 18px; background: transparent; margin: 26px 0 0; }
.quick-grid > a { background: #e8f2f9; border: 1px solid #c5dce9; border-top: 4px solid #2479a4; border-radius: 9px; padding: 25px; box-shadow: 0 4px 10px #103a5606; }
.quick-grid > a + a { border-left: 1px solid #c5dce9; }
.quick-grid > a:nth-child(2) { background: #e6f4f1; border-color: #beddd6; border-top-color: #008b81; }
.quick-grid > a:nth-child(3) { background: #faf1df; border-color: #e9d7b2; border-top-color: #c59840; }
.quick-grid > a:hover { transform: translateY(-2px); box-shadow: 0 9px 22px #103a5612; }
.quick-grid h2 { font-size: 21px; }
.quick-grid span { color: #29637e; }
.quick-grid > a:nth-child(2) span { color: #00685f; }
.quick-grid > a:nth-child(3) span { color: #7b5b20; }
.section { border-bottom-color: #cfdee7; }
.eyebrow { color: #087983; }
.text-link { color: #006c79 !important; border-bottom-color: #d4ad61; }
.news-card { border-color: #d1e0e9; border-radius: 9px; box-shadow: 0 5px 14px #103a5608; }
.news-card:hover { box-shadow: 0 12px 25px #103a5618; }
.card-placeholder { background: linear-gradient(135deg, #dcecf4, #edf6f8); color: #2c6b8a; }
.news-card time { display: inline-block; border-radius: 4px; padding: 4px 8px; background: #ecf5f7; color: #326576; font-weight: 600; }
.read-more { color: #007783; }
.join-band { background: linear-gradient(115deg, #007b82, #0b5269); border-radius: 13px; padding: 40px; box-shadow: 0 12px 28px #007f8718; }
.join-band .eyebrow { color: #f4d397; }
.piri-site .join-band h2 { color: #fff; }
.join-band p { color: #dcf0f1; }
.join-band .button { background: #fff; border-color: #fff; color: #0b5269 !important; border-radius: 5px; }
.page-intro { max-width: none; padding: 36px; margin: 30px 0 32px; border-left: 5px solid #109096; border-radius: 0 13px 13px 0; background: linear-gradient(115deg, #e2eff6, #edf7f7); }
.page-intro h1 { max-width: 940px; }
.page-intro > p { color: #476875; margin-bottom: 0; }
.breadcrumb { color: #517283; }
.breadcrumb a { color: #087580; }
.link-grid > a, .course-card, .document-card, .feature-box, .contact-card { background: #fff; border-color: #d2e1e9; border-radius: 10px; box-shadow: 0 5px 13px #103a5606; }
.link-grid > a { border-top: 3px solid #16828b; }
.course-card { border-top: 4px solid #16828b; }
.course-card:nth-child(even) { border-top-color: #c79a45; }
.course-card .status { background: #eef7f6; color: #216660; border: 0; border-radius: 5px; padding: 11px 14px; }
.document-card { border-top: 4px solid #c49a4e; }
.file-tag { color: #6d511f; background: #faf1dd; border-color: #e7d09a; border-radius: 4px; }
.feature-box { background: #e9f3f7; border-top: 4px solid #13818a; }
.contact-card:first-child { background: #e6f3f3; border-top: 4px solid #088087; }
.contact-card:nth-child(2) { background: #f6f0e2; border-top: 4px solid #bc9041; }
.person { background: #fff; border-color: #d4e1e9; border-radius: 10px; overflow: hidden; box-shadow: 0 5px 14px #103a5609; }
.person > div { border-top: 3px solid #1b8891; }
.person:nth-child(3n) > div { border-top-color: #c8a15d; }
.person p { color: #346574; }
.document-detail { background: #fff; border-color: #d1e3e8; border-left: 4px solid #219098; border-radius: 7px; }
.document-detail summary { color: #174a61; }
.document-detail[open] { background: #eff8f8; }
.notice { background: #fff4dc; border-left-color: #c99636; border-radius: 0 6px 6px 0; color: #665229; }
.archive-toolbar { background: #e2eff4; border: 1px solid #c8dee7; border-radius: 9px; }
.archive-toolbar input, .archive-toolbar select { border-color: #91b8c8; }
.gallery-grid figure { background: #fff; border-color: #d4e1e9; border-radius: 9px; overflow: hidden; box-shadow: 0 4px 12px #103a5608; }
.gallery-grid figcaption { border-top: 3px solid #2a8a92; color: #466877; }
.inner-main form { background: #fff; border-color: #cadee8; border-top: 4px solid #17888e; border-radius: 9px; }
.inner-main form button[type=submit], .inner-main form input[type=submit] { background: #087b83; }
.site-footer { background: #0b3048; border-top: 5px solid #0b858b; }
.site-footer a:hover { color: #f1c570; }
.footer-bottom { border-color: #ffffff26; }
.social-links { background: #06283d; }
.social-links span { color: #edc372; }
@media (max-width: 1100px) {
  .hero { padding: 38px 30px; gap: 28px; }
  .hero-art img { height: 320px; }
  .hero .actions { gap: 10px; }
  .hero .button { padding: 12px 15px; gap: 15px; }
}
@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; padding: 38px; gap: 35px; }
  .piri-site .hero h1 { font-size: 46px; }
  .hero-copy > p { max-width: 620px; }
  .hero-art { max-width: 580px; width: calc(100% - 12px); margin: 0 auto; }
  .hero-art img { height: 300px; }
  .main-nav .nav-contact { margin-top: 12px; text-align: center; }
}
@media (max-width: 600px) {
  .header-inner { min-height: 88px; }
  .hero { margin: 22px 0; padding: 29px 23px; border-radius: 12px; gap: 28px; }
  .piri-site .hero h1 { font-size: 37px; line-height: 1.15; }
  .hero-copy > p { font-size: 16px; }
  .hero .actions { align-items: stretch; flex-direction: column; }
  .hero .button { font-size: 13px; }
  .hero-note { gap: 14px; font-size: 11px; }
  .hero-art { padding: 9px; transform: none; width: 100%; }
  .hero-art img { height: 240px; }
  .hero-art figcaption { font-size: 12px; }
  .quick-grid { gap: 14px; }
  .quick-grid > a { padding: 24px; }
  .quick-grid > a + a { border-left-width: 1px; border-top-width: 4px; }
  .join-band { padding: 28px; }
  .page-intro { margin: 24px 0; padding: 25px 23px; }
  .page-intro h1 { font-size: 34px; }
  .page-intro > p { font-size: 16px; }
}
