/*
Theme Name: Global Pets
Theme URI: https://globalpetsgroup.com
Author: Global Pets, LLC
Author URI: https://globalpetsgroup.com
Description: A premium single-page corporate WordPress theme for Global Pets, LLC. Vintage parchment aesthetic, editorial typography, founder portraits, and full-article modals.
Version: 1.3.0
Requires at least: 5.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: global-pets
Tags: one-page, corporate, custom-background, full-width-template
*/

.gp-wrap *, .gp-wrap *::before, .gp-wrap *::after,
.gp-modal *, .gp-modal *::before, .gp-modal *::after { margin:0; padding:0; box-sizing:border-box; }

.gp-wrap {
  --gp-bg:#F4EDE3;--gp-surface:#EBE3D6;--gp-text:#2A2018;--gp-text-secondary:#554939;
  --gp-accent:#96752A;--gp-border:rgba(0,0,0,0.08);
  --gp-font:-apple-system,BlinkMacSystemFont,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  font-family:var(--gp-font);color:var(--gp-text);min-height:100vh;
  display:flex;flex-direction:column;overflow:auto;position:relative;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.gp-wrap::before { content:'';position:absolute;inset:0;background:rgba(244,237,227,0.35);pointer-events:none;z-index:0; }

.gp-hero { flex:1 1 0;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.25rem 2rem 0.75rem;position:relative;z-index:1; }
.gp-hero-inner { max-width:780px;width:100%; }
.gp-logo { display:block;width:clamp(160px,22vw,280px);height:auto;margin:0 auto 0.6rem;opacity:0;animation:gpFadeUp .8s ease .1s forwards; }
.gp-rule { width:48px;height:2px;background:var(--gp-accent);margin:0 auto 0.8rem;border:none;opacity:0;animation:gpFadeUp .8s ease .2s forwards; }
.gp-hero h1 { font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--gp-text);line-height:1.15;margin-bottom:0.6rem;opacity:0;animation:gpFadeUp .8s ease .35s forwards; }
.gp-hero .gp-sub { font-family:'Great Vibes',cursive;font-size:clamp(1.3rem,2vw,1.7rem);color:var(--gp-text);font-weight:400;line-height:1.5;margin-bottom:0.6rem;opacity:0;animation:gpFadeUp .8s ease .5s forwards; }
.gp-hero .gp-support { font-size:clamp(0.85rem,1.15vw,0.95rem);color:var(--gp-text-secondary);font-weight:400;line-height:1.8;max-width:640px;margin:0 auto;opacity:0;animation:gpFadeUp .8s ease .65s forwards; }

.gp-cards { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(0,0,0,0.06);border-top:1px solid rgba(0,0,0,0.06);border-bottom:1px solid rgba(0,0,0,0.06);position:relative;z-index:1;flex-shrink:0; }
.gp-card { background:rgba(235,227,214,0.55);padding:clamp(1.25rem,2.5vw,2rem) clamp(1.25rem,2.5vw,2.25rem);opacity:0;animation:gpFadeUp .7s ease forwards; }
.gp-card:nth-child(1){animation-delay:.4s} .gp-card:nth-child(2){animation-delay:.55s} .gp-card:nth-child(3){animation-delay:.7s}
.gp-card-accent { width:28px;height:2px;background:var(--gp-accent);margin-bottom:0.9rem; }
.gp-card-label { font-size:0.58rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gp-accent);margin-bottom:0.25rem; }
.gp-card h2 { font-size:clamp(0.72rem,0.95vw,0.82rem);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--gp-text);margin-bottom:0.5rem; }
.gp-card-quote { font-family:'Great Vibes',cursive;font-size:clamp(1rem,1.4vw,1.2rem);color:var(--gp-text);line-height:1.3;margin-bottom:0.75rem; }
.gp-card p { font-size:clamp(0.82rem,1.05vw,0.92rem);color:var(--gp-text-secondary);font-weight:400;line-height:1.75; }

.gp-footer { display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem 2rem;flex-shrink:0;position:relative;z-index:1;opacity:0;animation:gpFadeUp .7s ease .85s forwards; }
.gp-footer-text { font-size:0.72rem;color:var(--gp-text-secondary);letter-spacing:0.04em;font-weight:400;opacity:0.7; }
.gp-footer-brand { font-family:'Great Vibes',cursive;font-size:1.05rem;letter-spacing:0;vertical-align:baseline; }

.gp-cta-stack { position:fixed;top:1.25rem;right:1.5rem;z-index:50;display:flex;flex-direction:column;gap:0.5rem; }
.gp-cta-btn { font-family:var(--gp-font);font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:#1A1408;background:#D4AF37;border:1px solid #D4AF37;padding:0.6rem 1.6rem;cursor:pointer;transition:all .3s ease;border-radius:0;line-height:1;white-space:nowrap; }
.gp-cta-btn:hover,.gp-cta-btn:focus-visible { background:#C9A230;border-color:#C9A230;outline:none; }

.gp-modal { font-family:var(--gp-font);position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;-webkit-font-smoothing:antialiased; }
.gp-modal[aria-hidden="false"] { opacity:1;visibility:visible; }
.gp-modal-overlay { position:absolute;inset:0;background:rgba(42,32,24,0.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px); }
.gp-modal-container { position:relative;border:1px solid rgba(0,0,0,0.08);max-width:700px;width:90%;max-height:82vh;overflow-y:auto;padding:clamp(2rem,4vw,3.5rem);transform:translateY(16px);transition:transform .35s ease;scrollbar-width:thin;scrollbar-color:rgba(150,117,42,0.3) transparent; }
.gp-modal[aria-hidden="false"] .gp-modal-container { transform:translateY(0); }
.gp-modal-container::-webkit-scrollbar{width:4px} .gp-modal-container::-webkit-scrollbar-track{background:transparent} .gp-modal-container::-webkit-scrollbar-thumb{background:rgba(150,117,42,0.3);border-radius:2px}
.gp-modal-rule { width:36px;height:2px;background:var(--gp-accent,#D4AF37);border:none;margin-bottom:1.5rem; }
.gp-modal h2 { font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:700;letter-spacing:0.04em;color:#1E1610;margin-bottom:1.75rem; }
.gp-modal h3 { font-size:clamp(1rem,1.5vw,1.2rem);font-weight:700;color:#1E1610;margin:2rem 0 1rem; }
.gp-modal-body p { font-size:clamp(0.95rem,1.2vw,1.08rem);color:#1E1610;font-weight:500;line-height:1.9;margin-bottom:1.25rem; }
.gp-modal-body p:last-child { margin-bottom:0; }
.gp-modal-body p em { font-style:italic;color:var(--gp-accent,#96752A); }
.gp-modal-body hr { border:none;height:1px;background:rgba(0,0,0,0.08);margin:2rem 0; }
.gp-modal-close { position:absolute;top:1.25rem;right:1.25rem;width:36px;height:36px;background:transparent;border:1px solid rgba(0,0,0,0.1);color:#554939;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;transition:all .25s ease;padding:0; }
.gp-modal-close:hover,.gp-modal-close:focus-visible { border-color:#96752A;color:#2A2018;outline:none; }

.gp-article-section { margin-bottom:0.5rem; }
.gp-section-label { font-size:0.62rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--gp-accent,#96752A);margin-bottom:0.4rem; }
.gp-section-title { font-size:clamp(1.2rem,1.9vw,1.55rem);font-weight:700;color:#1E1610;line-height:1.3;margin-bottom:1.4rem;letter-spacing:-0.01em; }
.gp-dropcap::first-letter { font-family:'Great Vibes',cursive;float:left;font-size:3.8em;line-height:0.75;padding-right:0.12em;padding-top:0.06em;color:#2A2018; }
.gp-pullquote { border-left:3px solid #D4AF37;margin:2rem 0;padding:0.8rem 0 0.8rem 1.4rem; }
.gp-pullquote p { font-size:clamp(1.1rem,1.6vw,1.3rem)!important;font-style:italic;color:#1E1610!important;font-weight:600!important;line-height:1.6!important;margin-bottom:0!important; }
.gp-divider-ornament { text-align:center;margin:2.25rem 0;font-size:0.7rem;letter-spacing:0.6em;color:#D4AF37;user-select:none; }
.gp-standout { text-align:center;font-size:clamp(0.95rem,1.2vw,1.08rem)!important;font-weight:600!important;color:#1E1610!important;letter-spacing:0.02em; }
.gp-closing { text-align:center;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,0.06); }
.gp-closing-rule { width:40px;height:2px;background:#D4AF37;border:none;margin:0 auto 1.25rem; }
.gp-closing p { font-family:'Great Vibes',cursive;font-size:clamp(1.4rem,2.2vw,1.9rem)!important;color:#2A2018!important;font-weight:400!important;line-height:1.4!important;margin-bottom:0!important; }

#gpOwnersModal .gp-modal-container { max-width:920px; }
.gp-founders { display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:2.5rem; }
.gp-founder { text-align:center;flex:0 0 auto; }
.gp-founder img { width:clamp(240px,28vw,340px);height:auto;display:block;margin:0 auto; }
.gp-founder-name { font-family:'Great Vibes',cursive;font-size:clamp(1.3rem,2.2vw,1.8rem);color:#2A2018;margin-top:0.5rem;line-height:1.2; }

.gp-founders-divider { width:4px;height:clamp(220px,26vw,320px);align-self:center;margin:0 clamp(1rem,2.5vw,2rem);position:relative;flex-shrink:0; }
.gp-founders-divider::before { content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 5%,rgba(205,127,50,0.6) 20%,rgba(255,255,255,0.85) 35%,rgba(212,175,55,0.8) 50%,rgba(255,255,255,0.85) 65%,rgba(205,127,50,0.6) 80%,transparent 95%);border-radius:3px;animation:gpGlowPulse 3s ease-in-out infinite; }
.gp-founders-divider::after { content:'';position:absolute;top:5%;bottom:5%;left:-8px;right:-8px;background:linear-gradient(to bottom,transparent 5%,rgba(205,127,50,0.2) 20%,rgba(212,175,55,0.3) 35%,rgba(255,255,255,0.2) 50%,rgba(212,175,55,0.3) 65%,rgba(205,127,50,0.2) 80%,transparent 95%);filter:blur(10px);border-radius:6px;animation:gpGlowPulse 3s ease-in-out infinite; }

@keyframes gpGlowPulse { 0%,100%{opacity:0.5} 50%{opacity:1} }
@keyframes gpFadeUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }

.admin-bar .gp-cta-stack{top:calc(1.25rem + 32px)}
@media(max-width:782px){.admin-bar .gp-cta-stack{top:calc(1.25rem + 46px)}}

@media(max-width:860px){
  .gp-wrap{height:auto;min-height:100vh;overflow:auto}
  .gp-hero{padding:3rem 1.5rem 2rem}
  .gp-cards{grid-template-columns:1fr}
  .gp-footer{flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}
}
@media(max-width:600px){
  .gp-founders{flex-direction:column;gap:1.5rem}
  .gp-founders-divider{width:60%;height:4px;margin:0}
  .gp-founders-divider::before{background:linear-gradient(to right,transparent 5%,rgba(205,127,50,0.6) 20%,rgba(255,255,255,0.85) 35%,rgba(212,175,55,0.8) 50%,rgba(255,255,255,0.85) 65%,rgba(205,127,50,0.6) 80%,transparent 95%)}
  .gp-founders-divider::after{top:-8px;bottom:-8px;left:5%;right:5%;background:linear-gradient(to right,transparent 5%,rgba(205,127,50,0.2) 20%,rgba(212,175,55,0.3) 35%,rgba(255,255,255,0.2) 50%,rgba(212,175,55,0.3) 65%,rgba(205,127,50,0.2) 80%,transparent 95%)}
}
@media(max-width:480px){
  .gp-hero{padding:2.5rem 1.25rem 1.5rem}
  .gp-card{padding:1.25rem}
  .gp-cta-stack{top:0.75rem;right:0.75rem}
  .gp-cta-btn{font-size:0.62rem;padding:0.5rem 1rem}
}
@media(max-height:700px) and (min-width:861px){
  .gp-hero{padding:1.5rem 2rem 1rem}
  .gp-hero .gp-support{display:none}
  .gp-card{padding:1rem 1.5rem}
}
