/* Shared footer, and the content pages written by scripts/pages.mjs.
 * Builds on styles.css: same fonts, colours, buttons and .section-heading. */

/* Footer: every page. */
.page-footer{padding:44px 0 26px;font-size:13px;color:#b9b2bd}
.page-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:40px}
.page-footer .brand{color:#fff;margin-bottom:14px}
.page-footer .brand img{width:40px;height:40px}
.page-footer .brand-name{font-size:19px}
.footer-about p{max-width:38ch;line-height:1.65}
.footer-socials{display:flex;gap:8px;margin-top:16px}
.social-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff1f;border-radius:8px;background:#ffffff08;color:#c9c2cd}
.page-footer .social-icon:hover{color:var(--gold-light);border-color:#b79a6680}
.page-footer h2{font-size:14px;font-weight:650;color:#fff;margin-bottom:12px}
.page-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.page-footer a{color:#d6d0da;text-decoration:none}
.page-footer a:hover{color:var(--gold-light)}
.page-footer>.wrap>.footer-disclaimer{margin-top:30px;padding:16px 18px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff06;font-size:11px;line-height:1.7;color:#a99daf}
.footer-disclaimer strong{color:#e9e2ec}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid #ffffff14;font-size:12px}
.footer-legal{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.footer-legal .text-button{color:#d6d0da;font-size:12px;text-decoration:none}
.footer-legal .text-button:hover{color:var(--gold-light)}
.page-footer .privacy-details{margin-top:12px}

/* Content page header: brand and one call to action. */
.content-page .site-header .nav-cta{display:inline-flex}

/* Page hero. */
.page-hero{padding:64px 0 48px;background:linear-gradient(112deg,#25262f,#292730 46%,#20212a);border-bottom:1px solid #d4b17133}
.page-hero h1{font-size:clamp(34px,4.6vw,56px);font-weight:700;line-height:1.04;letter-spacing:-.03em;margin-top:14px;max-width:18ch}
.page-lead{font-size:17px;line-height:1.6;color:#c9bfce;max-width:58ch;margin-top:18px}

/* Sections: dark, panel and light, alternating. */
.page-section{padding:72px 0;scroll-margin-top:12px}
.page-section--panel{background:#181c25;border-block:1px solid #b89a6633}
.page-section--light{background:linear-gradient(130deg,#eae7e1,#f7f5f0 48%,#ebe8e2);color:#272632}
.page-section--light .eyebrow{color:#9d742d}
.page-section--light .section-heading>p:not(.eyebrow){color:#5d5663}
.section-heading h2{text-transform:uppercase}
.section-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:32px}
.page-cta{min-height:46px;padding:12px 20px;font-size:14px}
.text-link{color:var(--gold-light);font-size:14px;text-underline-offset:4px}
.page-section--light .text-link{color:#8a6424}
.note{font-size:12px;line-height:1.7;color:#a99daf;margin-top:24px;max-width:80ch}
.page-section--light .note{color:#6f6874}

/* Numbered cards, info cards, check lists. */
.numbered-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.numbered-cards li,.info-cards article{padding:24px;border:1px solid #8d919450;border-top:2px solid #b79a65;border-radius:10px;background:#242b36}
.page-section--panel .numbered-cards li,.page-section--panel .info-cards article{background:#20262f}
.page-section--light .numbered-cards li,.page-section--light .info-cards article{background:#fff;border-color:#e4e0db;border-top-color:#c29a58;box-shadow:0 5px 13px #25202708}
.card-number{display:block;font-size:13px;font-weight:650;color:#c29a58;margin-bottom:12px}
.numbered-cards h3,.info-cards h3{font-size:17px;font-weight:600;line-height:1.3}
.numbered-cards p,.info-cards p{font-size:14px;line-height:1.65;color:#c7c1cc;margin-top:9px}
.page-section--light .numbered-cards p,.page-section--light .info-cards p{color:#5d5663}
.info-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-block:28px}
#why-panama .info-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.check-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}
.check-list li,.check-grid li{position:relative;padding-left:28px;font-size:15px;line-height:1.55}
.check-list li:before,.check-grid li:before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;background:url("/assets/check.svg") center/12px no-repeat,#b79a6633;border-radius:50%}
.check-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px;max-width:900px}
.check-grid li{padding:16px 16px 16px 46px;border:1px solid #ffffff17;border-radius:10px;background:#242b36}
.check-grid li:before{left:16px;top:18px}

/* Image and text side by side. */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.split-image{border-radius:12px;overflow:hidden;box-shadow:0 16px 36px #0b0f1826}
.split-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.highlight-card{margin-top:36px;padding:26px 28px;border-radius:12px;background:#24242d;color:#fff;border:1px solid #b79a6659}
.highlight-card h3{font-size:22px;font-weight:650;margin-top:8px;color:#f0cf8a}
.highlight-card p:not(.eyebrow){font-size:15px;line-height:1.7;color:#d7d1db;margin-top:10px;max-width:90ch}
.highlight-card .eyebrow{color:var(--gold-light)!important}

/* Co-Founder. */
.founder-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:48px;align-items:start}
.founder-card{border:1px solid #8d919450;border-top:2px solid #b79a65;border-radius:10px;overflow:hidden;background:#242b36;position:sticky;top:20px}
.founder-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.founder-card figcaption{display:grid;gap:3px;padding:18px 20px;font-size:13px;color:#c7c1cc}
.founder-card strong{font-size:22px;color:#fff}
.founder-card a{color:var(--gold-light);margin-top:6px}
.founder-letter p{font-size:15px;line-height:1.75;color:#d7d1db;margin-bottom:16px;max-width:68ch}
.founder-letter h3{font-size:18px;margin-top:24px}
.founder-letter .check-list{margin-bottom:22px}
.partner-card{margin-top:44px;padding:28px;border:1px solid #b79a6659;border-radius:12px;background:linear-gradient(120deg,#242b36,#2b2a33)}
.partner-card h3{font-size:22px;margin-top:8px}
.partner-card p:not(.eyebrow){font-size:15px;line-height:1.7;color:#d7d1db;margin-top:10px;max-width:85ch}

/* Beach or city. */
.option-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.option-cards article{border:1px solid #8d919450;border-radius:12px;overflow:hidden;background:#242b36;padding-bottom:24px}
.option-cards figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.option-cards article>:not(figure){margin-inline:24px}
.option-cards .eyebrow{margin-top:20px}
.option-cards h3{font-size:22px;margin-top:6px}
.option-areas{font-size:12px;line-height:1.6;color:#a99daf;margin-top:16px}

/* Gallery. */
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:200px;gap:14px}
.gallery-grid figure{position:relative;border-radius:10px;overflow:hidden}
.gallery-grid .is-featured{grid-column:span 2;grid-row:span 2}
.gallery-grid img{width:100%;height:100%;object-fit:cover}
.gallery-grid figcaption{position:absolute;inset:auto 0 0;padding:28px 14px 12px;background:linear-gradient(0deg,#000000b3,#0000);display:grid;gap:2px}
.gallery-grid strong{font-size:14px}
.gallery-grid span{font-size:11px;color:#ddd5e0}

/* FAQ uses .faq-list from styles.css. */
.faq-wrap{max-width:820px}
.faq-wrap .faq-list summary{font-size:15px}
.faq-wrap .faq-list details p{font-size:14px}

/* Guides and legal pages. */
.prose-section{padding:56px 0 72px}
.prose{max-width:760px}
.prose h2{font-size:22px;font-weight:650;letter-spacing:-.015em;margin-top:36px;scroll-margin-top:16px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{font-size:16px;line-height:1.75;color:#d7d1db}
.prose p{margin-top:12px}
.prose ul{margin:12px 0 0;padding-left:22px;display:grid;gap:6px}
.prose a{color:var(--gold-light);text-underline-offset:3px}

/* Closing call to action. */
.closing-band{padding:48px 0;background:linear-gradient(118deg,#20212a,#34303a 48%,#23232c);border-top:1px solid #d4b17133}
.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.closing-band h2{font-size:28px;font-weight:700;letter-spacing:-.02em}
.closing-band p{color:#c9bfce;margin-top:8px}

@media(max-width:900px){
  .page-footer .footer-grid{grid-template-columns:1fr 1fr}
  .footer-about{grid-column:1/-1}
  .numbered-cards,#why-panama .info-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .founder-layout{grid-template-columns:1fr}
  .founder-card{position:static;max-width:360px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .content-page .site-header .nav-cta{display:none}
  .page-hero{padding:44px 0 36px}
  .page-lead{font-size:15px}
  .page-section{padding:52px 0}
  .numbered-cards,.info-cards,#why-panama .info-cards,.check-grid,.split,.option-cards{grid-template-columns:1fr}
  .split{gap:28px}
  .gallery-grid{grid-auto-rows:160px}
  .page-footer .footer-grid{gap:28px 20px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .closing-band h2{font-size:23px}
}

/* Header links: About us, Testimonials, Offers. A second row on small screens. */
.header-links{display:flex;align-items:center;gap:26px;margin-left:auto;margin-right:8px;font-size:15px}
.header-links a{color:#c4bec9;text-decoration:none}
.header-links a:hover,.header-links a:focus-visible{color:var(--gold-light)}
#offers,#testimonials{scroll-margin-top:12px}
@media(max-width:700px){
  .site-header{height:auto}
  .main-site-nav{flex-wrap:wrap;row-gap:4px;padding-block:10px}
  .header-links{order:3;width:100%;margin:0;justify-content:flex-start;gap:22px;font-size:14px;padding-top:6px;border-top:1px solid #ffffff14}
}
