/* ============================================================
   Girtie — shared design system
   Extracted verbatim from the locked HTML mockups. Do not change
   tokens without updating the mockups.
   ============================================================ */

/* ---- design tokens ---- */
:root{
  --sky:#8fcdf0;
  --sky-deep:#3a8fc4;
  --ink:#1f3a5f;
  --navy:#16395e;
  --leaf:#5bb46a;
  --leaf-deep:#3f8a4d;
  --sun:#ffd166;
  --cream:#fbf7ef;
  --soft:#f4f9fd;
  --text:#2b3a4a;
  --bark:#c98a5e;
}

/* ---- reset ---- */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:Georgia,'Times New Roman',serif;
  color:#2b3a4a;
  background:var(--cream);
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,.brandfont{font-family:'Trebuchet MS','Segoe UI',sans-serif;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;}

/* ---- top announcement bar ---- */
.topbar{
  background:var(--navy);color:#fff;text-align:center;
  font-size:.85rem;letter-spacing:.04em;padding:9px 16px;
  font-family:'Trebuchet MS',sans-serif;
}
.topbar a{color:var(--sun);font-weight:bold;}

/* ---- nav ---- */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(251,247,239,.86);backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(58,143,196,.18);
  transition:box-shadow .3s;
}
nav.scrolled{box-shadow:0 6px 24px rgba(31,58,95,.10);}
.navinner{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 24px;max-width:1080px;margin:0 auto;
}
.navlogo img{height:46px;display:block;}
.navlinks{
  display:flex;gap:24px;align-items:center;
  font-family:'Trebuchet MS',sans-serif;font-size:.98rem;
  list-style:none;
}
.navlinks li{list-style:none;}
.navlinks a{color:var(--ink);transition:color .2s;}
.navlinks a:hover{color:var(--sky-deep);}
.navlinks a.active,
.navlinks .current-menu-item > a,
.navlinks .current_page_item > a{color:var(--sky-deep);font-weight:bold;}
.navcta{
  background:var(--sun);color:var(--navy)!important;font-weight:bold;
  padding:9px 18px;border-radius:30px;
  transition:transform .2s,box-shadow .2s;
}
.navcta:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,209,102,.5);}
.cartlink{position:relative;font-weight:bold;}
.cartlink .badge{
  position:absolute;top:-8px;right:-12px;
  background:var(--leaf);color:#fff;font-size:.7rem;
  width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
@media(max-width:760px){.navlinks a:not(.navcta):not(.cartlink){display:none;}}
@media(max-width:720px){.navlinks a:not(.navcta){display:none;}}

/* ---- buttons ---- */
.btn{
  font-family:'Trebuchet MS',sans-serif;font-weight:bold;font-size:1rem;
  padding:14px 28px;border-radius:34px;cursor:pointer;border:none;
  transition:transform .2s,box-shadow .2s;display:inline-block;
}
.btn-primary{background:var(--sun);color:var(--navy);box-shadow:0 8px 20px rgba(255,209,102,.45);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(255,209,102,.6);}
.btn-ghost{background:transparent;color:var(--navy);border:2px solid var(--sky-deep);}
.btn-ghost:hover{background:var(--sky-deep);color:#fff;transform:translateY(-3px);}

/* ---- section base ---- */
section{padding:64px 0;}
body.home section{padding:80px 0;} /* home gets a touch more breathing room */
.eyebrow{
  text-align:center;font-family:'Trebuchet MS',sans-serif;font-weight:bold;
  letter-spacing:.16em;text-transform:uppercase;
  font-size:.82rem;color:var(--sky-deep);margin-bottom:8px;
}
.stitle{text-align:center;font-size:2.1rem;color:var(--navy);margin-bottom:14px;line-height:1.2;}
body.home .stitle{font-size:2.3rem;}
.sintro{text-align:center;max-width:620px;margin:0 auto 46px;color:#48606f;font-size:1.08rem;}

/* ---- pagehead (interior pages hero band) ---- */
.pagehead{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.55), transparent 42%),
    linear-gradient(180deg,#acdcf3 0%, #cdeafa 45%, #eaf6ee 100%);
  padding:56px 0 70px;text-align:center;
}
.pagehead::after{
  content:'';position:absolute;left:0;right:0;bottom:-2px;height:90px;
  background:linear-gradient(180deg,transparent,var(--cream));
}
.pagehead .eyebrow{
  font-family:'Trebuchet MS',sans-serif;font-weight:bold;
  letter-spacing:.16em;text-transform:uppercase;font-size:.82rem;
  color:var(--sky-deep);margin-bottom:8px;position:relative;z-index:2;
}
.pagehead h1{font-size:2.6rem;color:var(--navy);position:relative;z-index:2;}
.pagehead p{max-width:560px;margin:12px auto 0;color:#3c5466;position:relative;z-index:2;}

/* ---- reveal animation ---- */
.reveal{
  opacity:0;transform:translateY(40px);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);
}
.reveal.in{opacity:1;transform:none;}
.reveal.d1,.d1{transition-delay:.12s;}
.reveal.d2,.d2{transition-delay:.24s;}
.reveal.d3,.d3{transition-delay:.36s;}

/* ============================================================
   HOME PAGE COMPONENTS
   ============================================================ */

/* ---- hero ---- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.55), transparent 42%),
    linear-gradient(180deg,#acdcf3 0%, #cdeafa 45%, #eaf6ee 100%);
  padding:70px 0 90px;
}
.hero::after{
  content:'';position:absolute;left:0;right:0;bottom:-2px;height:120px;
  background:linear-gradient(180deg,transparent,var(--cream));
}
.clouds{position:absolute;inset:0;pointer-events:none;}
.cloud{position:absolute;background:rgba(255,255,255,.78);border-radius:50%;filter:blur(4px);}
.c1{width:160px;height:54px;top:60px;left:8%;}
.c2{width:110px;height:40px;top:130px;right:14%;}
.c3{width:200px;height:64px;top:30px;right:30%;opacity:.6;}
.heroinner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center;
  max-width:1080px;margin:0 auto;padding:0 24px;
}
.herologo{max-width:330px;margin-bottom:18px;}
.herologo img{width:100%;display:block;filter:drop-shadow(0 6px 14px rgba(31,58,95,.18));}
.badge{
  display:inline-block;background:#fff;color:var(--leaf-deep);
  font-family:'Trebuchet MS',sans-serif;font-weight:bold;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;
  padding:6px 14px;border-radius:20px;
  box-shadow:0 4px 12px rgba(63,138,77,.18);margin-bottom:18px;
}
.hero h1{font-size:1.05rem;}
.herotag{
  font-size:1.55rem;font-style:italic;color:var(--navy);
  margin:6px 0 16px;line-height:1.4;
}
.herobody{font-size:1.08rem;color:#365064;max-width:520px;margin-bottom:26px;}
.btnrow{display:flex;gap:14px;flex-wrap:wrap;}
.herocover{justify-self:center;}
.herocover img{
  width:300px;max-width:78vw;border-radius:10px;
  box-shadow:0 26px 60px rgba(22,57,94,.34);
  transform:rotate(2deg);transition:transform .5s;
}
.herocover img:hover{transform:rotate(0) scale(1.03);}
.herotrust{
  display:flex;align-items:center;gap:8px;margin-top:18px;
  font-family:'Trebuchet MS',sans-serif;font-size:.92rem;color:#42596a;
}
.herotrust .hstars{color:var(--sun);font-size:1.05rem;letter-spacing:1px;}
@media(max-width:820px){
  .heroinner{grid-template-columns:1fr;text-align:center;}
  .herologo{margin:0 auto 18px;}
  .herobody{margin:0 auto 26px;}
  .btnrow{justify-content:center;}
  .herocover{margin-top:30px;}
  .herotrust{justify-content:center;}
}

/* ---- credibility strip ---- */
.creds{background:#fff;border-top:1px solid rgba(58,143,196,.12);border-bottom:1px solid rgba(58,143,196,.12);}
.creds .wrap{padding:26px 24px;}
.creds .clabel{
  text-align:center;font-family:'Trebuchet MS',sans-serif;
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:#7a8a99;margin-bottom:14px;
}
.credrow{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 36px;}
.cred{
  display:flex;align-items:center;gap:8px;color:var(--navy);
  font-family:'Trebuchet MS',sans-serif;font-weight:bold;font-size:.95rem;
}
.cred .cst{color:var(--sun);}
@media(max-width:600px){.credrow{flex-direction:column;align-items:center;gap:12px;}}

/* ---- editions ---- */
.editions{background:var(--soft);}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{
  background:#fff;border-radius:18px;padding:34px 26px;text-align:center;
  box-shadow:0 10px 30px rgba(31,58,95,.08);
  border:1px solid rgba(58,143,196,.10);
  transition:transform .3s,box-shadow .3s;
}
.card:hover{transform:translateY(-8px);box-shadow:0 20px 44px rgba(31,58,95,.16);}
.card .ic{font-size:2.6rem;margin-bottom:12px;}
.card h3{font-size:1.4rem;color:var(--navy);margin-bottom:8px;}
.card p{color:#5a7080;font-size:.98rem;margin-bottom:22px;min-height:48px;}
.card .price{
  display:block;font-family:'Trebuchet MS',sans-serif;font-weight:bold;
  font-size:1.5rem;color:var(--navy);margin:-4px 0 14px;
}
.card .price small{font-size:.8rem;font-weight:normal;color:#7a8a99;}
.card .btn{padding:11px 22px;font-size:.95rem;}
@media(max-width:760px){.cards{grid-template-columns:1fr;}}

/* ---- story ---- */
.story{position:relative;background:linear-gradient(180deg,var(--cream),#eef7ef);}
.storygrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center;}
.storygrid img{
  width:280px;max-width:70vw;border-radius:10px;
  box-shadow:0 20px 48px rgba(22,57,94,.28);justify-self:center;
}
.pullquote{
  font-size:1.5rem;font-style:italic;color:var(--sky-deep);
  border-left:4px solid var(--sun);padding-left:22px;
  margin:0 0 24px;line-height:1.5;
}
.story p{font-size:1.08rem;color:#3c5466;margin-bottom:18px;}
@media(max-width:760px){.storygrid{grid-template-columns:1fr;text-align:center;}.pullquote{text-align:left;}}

/* ---- verse band ---- */
.verse{
  background:linear-gradient(135deg,var(--sky-deep),var(--navy));color:#fff;
  text-align:center;padding:74px 0;
}
.verse p{font-size:1.7rem;font-style:italic;max-width:760px;margin:0 auto;line-height:1.5;}
.verse .by{
  display:block;margin-top:18px;font-size:1rem;font-style:normal;opacity:.8;
  font-family:'Trebuchet MS',sans-serif;letter-spacing:.05em;
}

/* ---- look inside ---- */
.lookinside{background:var(--cream);}
.peek{
  max-width:680px;margin:0 auto;background:#fff;border-radius:18px;
  padding:38px 40px;box-shadow:0 12px 34px rgba(31,58,95,.10);
  border:1px solid rgba(58,143,196,.12);position:relative;
}
.peek::before{
  content:'\201C';position:absolute;top:6px;left:22px;font-size:4rem;
  color:var(--sky);opacity:.4;font-family:Georgia,serif;
}
.peek p{font-size:1.12rem;color:#3c5466;line-height:1.8;margin-bottom:14px;}
.peek .chap{
  font-family:'Trebuchet MS',sans-serif;font-weight:bold;color:var(--sky-deep);
  letter-spacing:.05em;font-size:.85rem;text-transform:uppercase;margin-bottom:14px;
}
.peek .fade{max-height:none;color:#3c5466;}
.peek .more{text-align:center;margin-top:8px;font-style:italic;color:#7a8a99;}

/* ---- author ---- */
.author{background:var(--soft);}
.authgrid{display:grid;grid-template-columns:.7fr 1.3fr;gap:44px;align-items:center;}
.authpic{
  width:200px;height:200px;border-radius:50%;justify-self:center;
  background:radial-gradient(circle at 40% 30%,#fff,var(--sky));
  display:flex;align-items:center;justify-content:center;font-size:5rem;
  box-shadow:0 16px 40px rgba(31,58,95,.18);border:6px solid #fff;
}
/* author-photo variant — replaces gradient + emoji when a photo is set in Customizer.
   Position + zoom come from --photo-x / --photo-y / --photo-zoom inline CSS vars
   written by girtie_author_photo_html(). Falls back to centered if missing.
   Key bits: override base .authpic flex with `display:block`, make the parent a
   positioned containing block, and absolutely position the img so the round
   parent + overflow:hidden reliably clip it. The white border on the parent
   stays untouched. */
.authpic.has-photo,
.apic.has-photo{
  display:block;
  background:#fff;
  font-size:0;
  overflow:hidden;
  padding:0;
  position:relative;
}
.authpic.has-photo img,
.apic.has-photo img{
  position:absolute;
  display:block;
  /* width / height / left / top are set inline by girtie_author_photo_html()
     based on the image's real aspect ratio + the user's X / Y / zoom values.
     The parent's overflow:hidden + border-radius:50% clip whatever extends
     past the circle. No object-fit — the inline %'s already cover the box. */
  transition:left .15s ease, top .15s ease, width .15s ease, height .15s ease;
}
.author p{font-size:1.08rem;color:#3c5466;margin-bottom:18px;}
@media(max-width:760px){.authgrid{grid-template-columns:1fr;text-align:center;}}

/* ---- reviews ---- */
.revgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.rev{
  background:#fff;border-radius:16px;padding:28px;
  box-shadow:0 10px 28px rgba(31,58,95,.08);
  border:1px solid rgba(58,143,196,.10);
}
.rev .stars{color:var(--sun);font-size:1.1rem;margin-bottom:10px;}
.rev p{font-style:italic;color:#42596a;margin-bottom:14px;font-size:1rem;}
.rev .who{font-family:'Trebuchet MS',sans-serif;font-weight:bold;color:var(--navy);font-size:.92rem;}
@media(max-width:760px){.revgrid{grid-template-columns:1fr;}}

/* ---- FAQ ---- */
.faq{background:var(--soft);}
.faqlist{max-width:760px;margin:36px auto 0;}
.qa{
  background:#fff;border:1px solid rgba(58,143,196,.14);border-radius:14px;
  margin-bottom:14px;overflow:hidden;transition:box-shadow .25s;
}
.qa[open]{box-shadow:0 10px 28px rgba(31,58,95,.10);}
.qa summary{
  list-style:none;cursor:pointer;padding:20px 24px;
  font-family:'Trebuchet MS',sans-serif;font-weight:bold;color:var(--navy);
  font-size:1.08rem;display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.qa summary::-webkit-details-marker{display:none;}
.qa summary::after{content:'+';color:var(--sky-deep);font-size:1.5rem;font-weight:bold;transition:transform .25s;}
.qa[open] summary::after{transform:rotate(45deg);}
.qa .ans{padding:0 24px 22px;color:#42596a;font-size:1.02rem;line-height:1.7;}

/* ---- closing CTA ---- */
.closer{
  background:linear-gradient(135deg,var(--leaf),var(--leaf-deep));
  color:#fff;text-align:center;padding:74px 0;
}
.closer h2{font-size:2.2rem;margin-bottom:12px;color:#fff;}
.closer p{font-size:1.1rem;opacity:.95;max-width:540px;margin:0 auto 26px;}
.closer .btn-primary{background:#fff;color:var(--leaf-deep);}
.closer .btn-primary:hover{background:var(--sun);color:var(--navy);}

/* ---- signup / email capture ---- */
.signup{background:linear-gradient(180deg,#eef7ef,var(--cream));text-align:center;}
.formbox{
  background:#fff;max-width:560px;margin:0 auto;border-radius:22px;
  padding:44px 36px;box-shadow:0 18px 50px rgba(31,58,95,.12);
  border:1px solid rgba(58,143,196,.12);
}
.formrow{display:flex;gap:10px;margin-top:22px;}
.formrow input{
  flex:1;padding:14px 18px;border-radius:30px;
  border:2px solid rgba(58,143,196,.3);
  font-family:Georgia,serif;font-size:1rem;outline:none;
  transition:border-color .2s;
}
.formrow input:focus{border-color:var(--sky-deep);}
@media(max-width:520px){.formrow{flex-direction:column;}.formrow input{text-align:center;}}

/* ---- floating bird accent ---- */
.floatbird{
  position:absolute;font-size:2rem;opacity:.5;
  animation:bob 4s ease-in-out infinite;
}
@keyframes bob{
  0%,100%{transform:translateY(0) rotate(-4deg);}
  50%{transform:translateY(-14px) rotate(4deg);}
}

/* ---- sticky mobile buy bar ---- */
.mbar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(22,57,94,.97);backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 16px;box-shadow:0 -4px 20px rgba(0,0,0,.2);
}
.mbar .mtitle{color:#fff;font-family:'Trebuchet MS',sans-serif;font-size:.9rem;line-height:1.2;}
.mbar .mtitle b{display:block;font-size:1rem;}
.mbar .btn{padding:11px 20px;font-size:.95rem;white-space:nowrap;}
@media(max-width:820px){
  body.home .mbar{display:flex;}
  body.home{padding-bottom:64px;}
}

/* ============================================================
   ABOUT PAGE COMPONENTS
   ============================================================ */

.abouthero{display:grid;grid-template-columns:.7fr 1.3fr;gap:46px;align-items:center;}
.apic{
  width:240px;height:240px;border-radius:50%;justify-self:center;
  background:radial-gradient(circle at 40% 30%,#fff,var(--sky));
  display:flex;align-items:center;justify-content:center;font-size:6rem;
  border:7px solid #fff;box-shadow:0 16px 40px rgba(31,58,95,.18);
}
.about p{margin-bottom:18px;color:#3c5466;font-size:1.06rem;}
.values{background:var(--soft);}
.vg{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.vc{background:#fff;border-radius:16px;padding:28px;text-align:center;box-shadow:0 8px 24px rgba(31,58,95,.07);}
.vc .ic{font-size:2.2rem;}
.vc h3{color:var(--navy);margin:8px 0;font-size:1.2rem;}
.vc p{color:#5a7080;font-size:.96rem;}
.cta-band{background:linear-gradient(135deg,var(--sky-deep),var(--navy));color:#fff;text-align:center;padding:64px 0;}
.cta-band h2{color:#fff;font-size:1.9rem;margin-bottom:12px;}
.cta-band p{opacity:.95;max-width:520px;margin:0 auto 22px;}
.cta-band .btn-primary{background:#fff;color:var(--navy);}
@media(max-width:760px){
  .abouthero{grid-template-columns:1fr;text-align:center;}
  .vg{grid-template-columns:1fr;}
}

/* ============================================================
   BOOKS PAGE COMPONENTS
   ============================================================ */

.bookhero{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center;}
.bookhero img{
  width:280px;border-radius:10px;
  box-shadow:0 24px 60px rgba(22,57,94,.32);justify-self:center;
}
.bookhero h2{font-size:2rem;color:var(--navy);margin-bottom:8px;}
.bookhero .sub{font-style:italic;color:var(--sky-deep);margin-bottom:16px;font-size:1.1rem;}
.bookhero p{color:#3c5466;margin-bottom:14px;}
.formats{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.fmt{
  background:#fff;border:2px solid rgba(58,143,196,.2);
  border-radius:12px;padding:12px 18px;text-align:center;
  font-family:'Trebuchet MS',sans-serif;
}
.fmt b{display:block;color:var(--navy);}
.fmt span{font-size:.85rem;color:#7a8a99;}
.series{background:var(--soft);text-align:center;}
.seriesbox{
  max-width:600px;margin:0 auto;background:#fff;border-radius:18px;
  padding:40px;box-shadow:0 12px 34px rgba(31,58,95,.1);
}
.seriesbox .ic{font-size:3rem;}
@media(max-width:760px){.bookhero{grid-template-columns:1fr;text-align:center;}}

/* ============================================================
   BLOG PAGE COMPONENTS
   ============================================================ */

.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.post{
  background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 10px 30px rgba(31,58,95,.08);
  transition:transform .3s,box-shadow .3s;
  display:flex;flex-direction:column;
}
.post:hover{transform:translateY(-8px);box-shadow:0 20px 44px rgba(31,58,95,.16);}
.post .ph{
  aspect-ratio:16/9;
  background:linear-gradient(135deg,#eaf6fe,#dff0e6);
  display:flex;align-items:center;justify-content:center;font-size:3rem;
  overflow:hidden;
}
.post .ph img{width:100%;height:100%;object-fit:cover;}
.post .pb{padding:22px;display:flex;flex-direction:column;flex:1;}
.post .meta{
  font-family:'Trebuchet MS',sans-serif;font-size:.78rem;
  color:#8aa0b0;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;
}
.post h3{color:var(--navy);font-size:1.2rem;margin-bottom:10px;line-height:1.3;}
.post p{color:#5a7080;font-size:.96rem;flex:1;margin-bottom:14px;}
.post a.rm,.post .readmore{font-family:'Trebuchet MS',sans-serif;font-weight:bold;color:var(--sky-deep);}
.feat{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;gap:0;}
.feat .ph{aspect-ratio:auto;min-height:280px;font-size:5rem;}
.feat .pb{justify-content:center;}
.feat h3{font-size:1.7rem;}
@media(max-width:860px){.bgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:760px){.feat{grid-template-columns:1fr;}}
@media(max-width:560px){.bgrid{grid-template-columns:1fr;}}

/* ---- blog template helpers (WP-side) ---- */
.bloglist{padding:64px 0;}
.postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.postcard{
  background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 10px 30px rgba(31,58,95,.08);
  transition:transform .3s,box-shadow .3s;
  display:flex;flex-direction:column;
}
.postcard:hover{transform:translateY(-8px);box-shadow:0 20px 44px rgba(31,58,95,.16);}
.postcard .postthumb img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.postcard .postmeta{
  padding:18px 22px 0;font-family:'Trebuchet MS',sans-serif;font-size:.78rem;
  color:#8aa0b0;text-transform:uppercase;letter-spacing:.08em;
}
.postcard .ptitle{padding:6px 22px 0;color:var(--navy);font-size:1.2rem;line-height:1.3;}
.postcard .pexcerpt{padding:8px 22px;color:#5a7080;font-size:.96rem;flex:1;}
.postcard .readmore{padding:0 22px 22px;color:var(--sky-deep);font-family:'Trebuchet MS',sans-serif;font-weight:bold;}
.pagination{text-align:center;margin-top:46px;}
.pagination .page-numbers{
  display:inline-block;padding:8px 14px;margin:0 4px;border-radius:8px;
  font-family:'Trebuchet MS',sans-serif;color:var(--navy);
}
.pagination .current{background:var(--sun);}
@media(max-width:860px){.postgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.postgrid{grid-template-columns:1fr;}}

/* ---- generic page / single post body ---- */
.pagebody{padding:48px 0 80px;}
.pageprose{max-width:760px;margin:0 auto;}
.pageprose p{margin-bottom:18px;color:#3c5466;font-size:1.06rem;}
.pageprose h2{font-size:1.6rem;color:var(--navy);margin:30px 0 14px;}
.pageprose h3{font-size:1.3rem;color:var(--navy);margin:24px 0 10px;}
.pageprose ul,.pageprose ol{margin:0 0 18px 24px;color:#3c5466;}
.pageprose li{margin-bottom:6px;}
.pageprose blockquote{
  border-left:4px solid var(--sun);padding-left:22px;margin:24px 0;
  font-style:italic;color:var(--sky-deep);font-size:1.2rem;
}
.pageprose a{color:var(--sky-deep);text-decoration:underline;}
.pageprose img{border-radius:10px;}
.postthumb-lead{max-width:900px;margin:0 auto 36px;}
.postthumb-lead img{width:100%;border-radius:14px;box-shadow:0 18px 40px rgba(22,57,94,.18);}
.postnav{
  display:flex;justify-content:space-between;gap:20px;max-width:760px;
  margin:48px auto 0;padding-top:24px;border-top:1px solid rgba(58,143,196,.14);
  font-family:'Trebuchet MS',sans-serif;font-size:.95rem;color:var(--sky-deep);
}

/* ---- search form ---- */
.searchform{display:flex;gap:10px;align-items:center;max-width:480px;margin:0 auto;}
.searchform input{
  flex:1;padding:12px 18px;border-radius:30px;
  border:2px solid rgba(58,143,196,.3);
  font-family:Georgia,serif;font-size:1rem;outline:none;
}
.searchform input:focus{border-color:var(--sky-deep);}

/* ============================================================
   CONTACT PAGE COMPONENTS
   ============================================================ */

.contact .contactgrid{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start;
}
@media(max-width:820px){.contact .contactgrid{grid-template-columns:1fr;}}

.contactinfo{
  background:#fff;border-radius:18px;padding:34px 30px;
  box-shadow:0 10px 30px rgba(31,58,95,.08);
  border:1px solid rgba(58,143,196,.10);
}
.contactinfo h2{
  font-size:1.4rem;color:var(--navy);margin-bottom:22px;
  font-family:'Trebuchet MS','Segoe UI',sans-serif;
}
.infoblock{
  display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;
}
.infoblock .ic{
  font-size:1.5rem;line-height:1;flex-shrink:0;
  width:42px;height:42px;border-radius:50%;
  background:var(--soft);display:flex;align-items:center;justify-content:center;
}
.infoblock .ilabel{
  font-family:'Trebuchet MS',sans-serif;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.1em;color:#8aa0b0;margin-bottom:2px;
}
.infoblock .ivalue{
  color:var(--navy);font-family:'Trebuchet MS',sans-serif;font-weight:bold;font-size:1rem;
  display:block;word-break:break-word;
}
.infoblock a.ivalue:hover{color:var(--sky-deep);}
.infonote{
  background:var(--soft);border-left:4px solid var(--sun);
  border-radius:8px;padding:16px 18px;margin-top:22px;
  font-size:.95rem;color:#42596a;
}
.infonote p{margin-bottom:6px;}
.infonote p:last-child{margin-bottom:0;}
.infonote strong{color:var(--navy);font-family:'Trebuchet MS',sans-serif;}

.contactform{
  background:#fff;border-radius:18px;padding:36px 34px;
  box-shadow:0 10px 30px rgba(31,58,95,.08);
  border:1px solid rgba(58,143,196,.10);
}
.contactform .wpforms-container{margin:0!important;}

/* visual-reference HTML form (placeholder until WPForms is wired) */
.fakeform .ff-row{margin-bottom:18px;}
.fakeform label{
  display:block;font-family:'Trebuchet MS',sans-serif;font-weight:bold;
  color:var(--ink);font-size:.92rem;margin-bottom:8px;
}
.fakeform input,
.fakeform select,
.fakeform textarea{
  width:100%;padding:12px 16px;border-radius:10px;
  border:2px solid rgba(58,143,196,.3);background:#fff;
  font-family:Georgia,serif;font-size:1rem;color:var(--text);
  outline:none;transition:border-color .2s;
}
.fakeform input:focus,
.fakeform select:focus,
.fakeform textarea:focus{border-color:var(--sky-deep);}
.fakeform select{font-family:'Trebuchet MS',sans-serif;cursor:pointer;background-image:none;}
.fakeform textarea{resize:vertical;min-height:120px;line-height:1.6;}
.fakeform .ff-actions{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px;
}
.fakeform .ff-note{
  font-family:'Trebuchet MS',sans-serif;font-size:.88rem;color:#5a7080;
}
.fakeform .ff-note a{color:var(--sky-deep);font-weight:bold;}
@media(max-width:520px){
  .fakeform .ff-actions{flex-direction:column;align-items:stretch;}
  .fakeform .ff-actions .btn{width:100%;text-align:center;}
}

/* ---- footer ---- */
footer{background:var(--navy);color:#cfe2f0;text-align:center;padding:50px 24px 30px;}
footer .flogo img{height:44px;margin-bottom:16px;filter:brightness(0) invert(1);}
.flinks{
  display:flex;gap:24px;justify-content:center;flex-wrap:wrap;
  margin-bottom:20px;font-family:'Trebuchet MS',sans-serif;font-size:.95rem;
  list-style:none;
}
.flinks li{list-style:none;}
.flinks a:hover{color:#fff;}
footer .copy{font-size:.85rem;opacity:.65;}
