/* =====================================================================
   VESPERS — Give page
   Inherits tokens from main.css (:root). Mobile-first.
   ===================================================================== */

/* ---------- Hero ---------- */
.gv-hero{position:relative; overflow:hidden; background:var(--ink-900); color:var(--on-dark-1);
  padding-top:clamp(108px,16vw,156px); padding-bottom:clamp(40px,7vw,82px);}
.gv-hero-bg{position:absolute; inset:0; z-index:0;}
.gv-hero-bg img{width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.06);
  transition:opacity 1.2s var(--ease-veil), transform 16s var(--ease-veil);}
.js .gv-hero-bg img.lit{opacity:.36; transform:scale(1);}
.gv-hero-scrim{position:absolute; inset:0; z-index:1; background:
  linear-gradient(105deg, rgba(20,22,46,.92) 0%, rgba(20,22,46,.72) 52%, rgba(20,22,46,.5) 100%),
  radial-gradient(58% 60% at 20% 28%, rgba(226,203,148,.18), transparent 62%);}
.gv-hero .hero-arch{bottom:-28%;}
.gv-hero-inner{position:relative; z-index:2; max-width:60ch;}
.gv-hero .mvt .num{font-family:var(--font-display); color:var(--gilt-300);}
.gv-hero h1{color:var(--on-dark-1); font-size:clamp(2.5rem,6vw,4.4rem); line-height:1.03; margin:12px 0 0; text-shadow:0 2px 40px rgba(20,22,46,.5);}
.gv-hero .eyebrow{margin-top:14px;}
.gv-hero .lead{color:var(--on-dark-2); margin-top:16px; max-width:50ch;}
.gv-hero .verse{margin-top:20px; padding-left:18px; border-left:2px solid var(--hairline-gold); max-width:52ch;}
.gv-hero .verse p{font:italic 500 1.1rem/1.5 var(--font-display); color:var(--gilt-300);}
.gv-hero .verse .cite{margin-top:8px;}
.gv-hero .btn{margin-top:24px;}

/* ---------- Gift selector ---------- */
.gv-give{background:var(--parchment-50);}
.gv-give-head{max-width:60ch;}
.gv-give-head .lead{margin-top:12px; max-width:52ch;}

.gv-card{display:grid; grid-template-columns:1fr; gap:0; margin-top:clamp(24px,3vw,36px);
  background:var(--surface); border:1px solid var(--border-soft); border-radius:22px; overflow:hidden; box-shadow:var(--shadow-md);}
.gv-card-form{padding:clamp(22px,3.4vw,38px);}

/* frequency toggle */
.gv-freq{position:relative; display:grid; grid-template-columns:1fr 1fr; gap:0; padding:5px; background:var(--surface-sunken); border-radius:999px;}
.gv-freq-btn{position:relative; z-index:2; padding:12px 10px; border-radius:999px; font:700 .88rem/1 var(--font-body); color:var(--fg2); transition:color .3s var(--ease);}
.gv-freq-btn.is-active{color:var(--ink-900);}
.gv-freq-pill{position:absolute; z-index:1; top:5px; bottom:5px; left:5px; width:calc(50% - 5px); border-radius:999px; background:var(--surface);
  box-shadow:var(--shadow-sm), 0 0 0 1px var(--hairline-gold); transition:transform .42s var(--ease);}
.gv-freq.is-monthly .gv-freq-pill{transform:translateX(100%);}

/* currency (auto-detected, switchable) */
.gv-cur{margin-top:22px;}
.gv-cur .gv-field-lbl{margin-bottom:8px;}
.gv-cur-select{max-width:240px;}
.gv-cur-note{display:block; margin-top:9px; font:500 .8rem/1.45 var(--font-body); color:var(--fg3);}
.gv-cur-note vm-icon{vertical-align:-2px; margin-right:4px; color:var(--gilt-700);}
.gv-cur-note[hidden]{display:none;}

/* amounts */
.gv-amounts{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:22px 0 0; padding:0; border:0;}
.gv-amt{padding:15px 8px; border-radius:14px; border:1.5px solid var(--border); background:var(--parchment-50); color:var(--fg1);
  font:700 1.05rem/1 var(--font-body); transition:border-color .25s, background-color .25s, color .25s, transform .16s var(--ease);}
.gv-amt:active{transform:scale(.97);}
.gv-amt.is-active{border-color:var(--gilt-500); background:var(--gilt-100); color:var(--accent-strong); box-shadow:var(--glow-gold);}
@media (hover:hover){ .gv-amt:hover{border-color:var(--gilt-500); color:var(--accent-strong);} }
.gv-amt-custom{grid-column:span 3; display:flex; align-items:center; gap:8px; padding:6px 16px; border-radius:14px; border:1.5px dashed var(--border-strong); background:var(--parchment-50); transition:border-color .25s, background-color .25s;}
.gv-amt-custom:focus-within{border-style:solid; border-color:var(--gilt-500); background:var(--surface); box-shadow:0 0 0 3px rgba(198,164,92,.16);}
.gv-amt-custom .cur{font:700 1.05rem/1 var(--font-body); color:var(--fg3);}
.gv-amt-custom input{flex:1; width:100%; border:0; background:transparent; font:700 1.05rem/1 var(--font-body); color:var(--fg1); padding:13px 0;}
.gv-amt-custom input:focus{outline:none;}
.gv-amt-custom input::placeholder{color:var(--fg3); font-weight:500;}
@media (min-width:480px){ .gv-amounts{grid-template-columns:repeat(5,1fr);} .gv-amt-custom{grid-column:span 5;} }

/* designation */
.gv-field{display:block; margin-top:20px;}
.gv-field-lbl{display:block; font:700 .72rem/1 var(--font-body); letter-spacing:.1em; text-transform:uppercase; color:var(--fg2); margin-bottom:10px;}
.gv-select{position:relative; display:block;}
.gv-select select{width:100%; appearance:none; -webkit-appearance:none; font:500 1rem/1.4 var(--font-body); color:var(--fg1);
  background:var(--parchment-50); border:1.5px solid var(--border); border-radius:12px; padding:14px 44px 14px 16px; transition:border-color .25s, box-shadow .25s, background-color .25s;}
.gv-select select:focus{outline:none; border-color:var(--gilt-500); background:var(--surface); box-shadow:0 0 0 3px rgba(198,164,92,.16);}
.gv-select vm-icon{position:absolute; right:15px; top:50%; transform:translateY(-50%) rotate(90deg); color:var(--gilt-700); pointer-events:none;}

/* summary */
.gv-summary{display:flex; flex-direction:column; padding:clamp(22px,3vw,34px); color:var(--on-dark-1);
  background:linear-gradient(165deg, var(--indigo-600), var(--ink-900) 70%); position:relative; overflow:hidden;}
.gv-summary::before{content:""; position:absolute; inset:0; background:radial-gradient(70% 60% at 78% 14%, rgba(226,203,148,.22), transparent 62%); pointer-events:none;}
.gv-summary>*{position:relative;}
.gv-summary-eyebrow{font:700 .68rem/1 var(--font-body); letter-spacing:.2em; text-transform:uppercase; color:var(--gilt-300);}
.gv-summary-amt{display:flex; align-items:baseline; gap:2px; margin-top:12px; font-family:var(--font-display); color:var(--on-dark-1);}
.gv-summary-amt .cur{font-size:1.6rem; font-weight:500; color:var(--gilt-300); transform:translateY(-.5rem);}
.gv-summary-amt.is-code .cur{font-size:1rem; font-weight:600; letter-spacing:.02em; transform:translateY(-.95rem); margin-right:3px;}
.gv-summary-amt b{font-size:clamp(3rem,7vw,4.2rem); font-weight:600; line-height:1; letter-spacing:-.02em;}
.gv-summary-amt .per{font:600 1.1rem/1 var(--font-body); color:var(--on-dark-2); margin-left:4px;}
.gv-summary-desc{font:400 .95rem/1.55 var(--font-body); color:var(--on-dark-2); margin-top:12px; min-height:2.6em;}
.gv-continue{margin-top:20px; justify-content:center;}
.gv-summary-note{display:inline-flex; align-items:center; gap:8px; margin-top:14px; font:600 .78rem/1.3 var(--font-body); color:var(--on-dark-3);}
.gv-summary-note vm-icon{color:var(--gilt-300);}
@media (min-width:880px){ .gv-card{grid-template-columns:1.25fr .9fr;} }

/* ---------- Ways to give ---------- */
.gv-ways{background:var(--surface-warm); border-top:1px solid var(--border-soft);}
.gv-ways-head{max-width:60ch;}
.gv-ways-head .kicker{margin-top:8px;}
.gv-ways-grid{display:grid; grid-template-columns:1fr; gap:18px; margin-top:clamp(22px,3vw,32px);}
#ways.is-cued .gv-way{border-color:var(--hairline-gold);}
.gv-way{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border-soft); border-radius:18px; padding:clamp(22px,2.6vw,28px); box-shadow:var(--shadow-sm); transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;}
.gv-way-med{width:46px; height:52px; display:flex; align-items:center; justify-content:center; border-radius:50% 50% 12px 12px / 60% 60% 12px 12px;
  color:var(--gilt-700); border:1.5px solid var(--hairline-gold); background:var(--gilt-100); margin-bottom:16px;}
.gv-way h3{font-size:1.4rem; line-height:1.1;}
.gv-way p{margin-top:9px; font:400 .92rem/1.6 var(--font-body); color:var(--fg2);}
.gv-way-chosen{display:inline-block; margin-top:14px; font:700 .76rem/1.3 var(--font-body); color:var(--accent-strong); background:var(--gilt-100); padding:8px 13px; border-radius:10px;}
.gv-way-chosen[hidden]{display:none !important;}
.gv-way-when{display:inline-flex; align-items:center; gap:8px; margin-top:14px; font:600 .82rem/1.4 var(--font-body); color:var(--sage-600);}
.gv-way-when vm-icon{color:var(--sage-600);}
.gv-way .btn{margin-top:auto; align-self:flex-start; margin-top:18px;}
@media (hover:hover){ .gv-way:hover{transform:translateY(-4px); box-shadow:var(--shadow-md);} }
@media (min-width:760px){ .gv-ways-grid{grid-template-columns:repeat(3,1fr);} }

/* ---------- Where it goes (dark) ---------- */
.gv-impact{position:relative; overflow:hidden; color:var(--on-dark-1); background:var(--ink-900);}
.gv-impact-bg{position:absolute; inset:0; z-index:0; background-size:cover; background-position:center;
  background-image:linear-gradient(rgba(20,22,46,.78), rgba(20,22,46,.9)),
    url('https://images.unsplash.com/photo-1438232992991-995b7058bbb3?auto=format&fit=crop&q=80&w=1600');}
@media (min-width:900px){ .gv-impact-bg{background-attachment:fixed;} }
.gv-impact-inner{position:relative; z-index:2;}
.gv-impact .stmt{max-width:22ch; font:600 clamp(1.65rem,3vw,2.4rem)/1.22 var(--font-display); letter-spacing:-.01em; margin:13px 0 0; color:var(--on-dark-1);}
.gv-impact .stmt em{font-style:italic; color:var(--gilt-300);}
.gv-impact-grid{display:grid; grid-template-columns:1fr; gap:clamp(16px,2.4vw,24px); margin-top:clamp(26px,3.5vw,40px);}
.gv-impact-card{display:flex; gap:14px; align-items:flex-start;}
.gv-impact-card .med{flex:0 0 auto; width:44px; height:50px; display:flex; align-items:center; justify-content:center; color:var(--gilt-300);
  border:1.5px solid rgba(226,203,148,.42); background:rgba(226,203,148,.07); border-radius:50% 50% 12px 12px / 60% 60% 12px 12px;}
.gv-impact-card b{display:block; font:600 1.18rem/1.15 var(--font-display); color:var(--on-dark-1);}
.gv-impact-card p{font:400 .86rem/1.55 var(--font-body); color:var(--on-dark-2); margin-top:4px;}
@media (min-width:560px){ .gv-impact-grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:980px){ .gv-impact-inner{display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(30px,5vw,64px); align-items:center;} .gv-impact-grid{margin-top:0;} }

/* ---------- FAQ / assurance ---------- */
.gv-faq{background:var(--parchment-50);}
.gv-faq-shell{display:grid; grid-template-columns:1fr; gap:clamp(26px,4vw,52px);}
.gv-faq-intro{max-width:46ch;}
.gv-faq-intro .kicker{margin-top:8px;}
.gv-faq-intro .lead{margin-top:12px;}
.gv-faq-intro .qlink{margin-top:16px;}
.gv-acc{display:flex; flex-direction:column;}
.gv-ac{border-bottom:1px solid var(--border); padding:4px 0;}
.gv-ac summary{display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; list-style:none;
  padding:18px 2px; font:600 1.16rem/1.3 var(--font-display); color:var(--fg1);}
.gv-ac summary::-webkit-details-marker{display:none;}
.gv-ac-ico{position:relative; flex:0 0 auto; width:20px; height:20px;}
.gv-ac-ico::before, .gv-ac-ico::after{content:""; position:absolute; top:50%; left:50%; width:13px; height:2px; border-radius:2px; background:var(--gilt-700); transform:translate(-50%,-50%); transition:transform .3s var(--ease);}
.gv-ac-ico::after{transform:translate(-50%,-50%) rotate(90deg);}
.gv-ac[open] .gv-ac-ico::after{transform:translate(-50%,-50%) rotate(0);}
.gv-ac-body{overflow:hidden;}
.gv-ac-body p{font:400 1rem/1.7 var(--font-body); color:var(--fg2); padding:0 2px 20px; max-width:60ch;}
.gv-ac[open] summary{color:var(--accent-strong);}
@media (min-width:880px){ .gv-faq-shell{grid-template-columns:.85fr 1.15fr; align-items:start;} }

/* ---------- Thanks / closing scripture ---------- */
.gv-thanks{position:relative; overflow:hidden; isolation:isolate; background:var(--ink-950); color:var(--on-dark-1); padding-block:clamp(48px,7vw,92px);}
.gv-thanks-bg{position:absolute; inset:0; z-index:0; pointer-events:none; background-size:cover; background-position:center;
  background-image:
    linear-gradient(rgba(13,14,28,.85), rgba(13,14,28,.93)),
    radial-gradient(58% 64% at 50% 4%, rgba(226,203,148,.16), transparent 64%),
    url('https://images.unsplash.com/photo-1444090542259-0af8fa96557e?auto=format&fit=crop&q=80&w=1600');}
/* Wider wrapper for breathing room; copy is tuned to ~3 lines on desktop */
.gv-thanks-inner{position:relative; z-index:1; text-align:center; max-width:64ch; margin-inline:auto; display:flex; flex-direction:column; align-items:center; gap:12px;}
.gv-thanks-mark{color:var(--gilt-300);}
.gv-thanks .scripture{color:var(--on-dark-1); letter-spacing:-.01em; max-width:34ch;}
.gv-thanks .scripture::before{content:""; display:block; width:34px; height:1px; background:var(--hairline-gold); margin:0 auto 16px;}
.gv-thanks .cite{color:var(--gilt-300);}
.gv-thanks-note{font:400 .95rem/1.6 var(--font-body); color:var(--on-dark-2); margin-top:4px; max-width:58ch;}
@media (min-width:880px){ .gv-thanks .scripture{max-width:46ch;} }

@media (prefers-reduced-motion:reduce){
  .gv-hero-bg img, .js .gv-hero-bg img.lit{transition:opacity .3s !important; transform:none !important;}
  .gv-freq-pill{transition:none !important;}
  .gv-modal, .gv-modal-card{transition:none !important;}
}

/* ---------- Type of gift (tithe / offering / seed …) ---------- */
.gv-type{margin:22px 0 0; padding:0; border:0; min-width:0;}
.gv-type .gv-field-lbl{margin-bottom:0;}
.gv-type-grid{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
.gv-type-btn{font:700 .8rem/1 var(--font-body); padding:9px 15px; border-radius:999px; border:1.5px solid var(--border-strong);
  color:var(--fg2); background:transparent; transition:color .25s, background-color .25s, border-color .25s, transform .16s var(--ease);}
.gv-type-btn:active{transform:scale(.96);}
.gv-type-btn.is-active{background:var(--ink-900); border-color:var(--ink-900); color:var(--on-dark-1);}
@media (hover:hover){ .gv-type-btn:hover{border-color:var(--gilt-700); color:var(--accent-strong); background:var(--gilt-100);}
  .gv-type-btn.is-active:hover{background:var(--ink-800); color:var(--on-dark-1);} }
.gv-type-other{display:block; margin-top:10px;}
.gv-type-other[hidden]{display:none;}
.gv-type-other input{width:100%; font:400 .95rem/1.5 var(--font-body); color:var(--fg1); background:var(--parchment-50);
  border:1.5px solid var(--border); border-radius:12px; padding:11px 14px; transition:border-color .25s, background-color .25s;}
.gv-type-other input:focus{outline:none; border-color:var(--gilt-500); background:var(--surface);}

/* ---------- Bank transfer request modal ---------- */
.gv-modal{position:fixed; inset:0; z-index:210; display:flex; align-items:center; justify-content:center; padding:clamp(16px,4vw,48px);
  background:rgba(13,14,28,.92); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); opacity:0; visibility:hidden;
  transition:opacity .35s var(--ease-veil), visibility .35s;}
.gv-modal.open{opacity:1; visibility:visible;}
.gv-modal-card{position:relative; width:min(520px,100%); max-height:calc(100vh - 36px); overflow:auto; background:var(--surface);
  border-radius:20px; padding:clamp(26px,4vw,42px); box-shadow:var(--shadow-xl); transform:translateY(14px) scale(.985); transition:transform .4s var(--ease);}
.gv-modal.open .gv-modal-card{transform:none;}
.gv-modal-close{position:absolute; top:14px; right:14px; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:var(--fg2); border:1px solid var(--border); transition:color .25s, border-color .25s, background-color .25s;}
@media (hover:hover){ .gv-modal-close:hover{color:var(--accent-strong); border-color:var(--gilt-500); background:var(--gilt-100);} }
.gv-modal h2{font-size:clamp(1.55rem,3vw,2.05rem); line-height:1.12; margin-top:12px;}
.gv-modal-lead{font:400 .98rem/1.6 var(--font-body); color:var(--fg2); margin-top:10px;}
.gv-modal-form{margin-top:20px;}
.gv-modal-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.gv-mf{display:flex; flex-direction:column; margin-bottom:14px;}
.gv-mf label{font:700 .74rem/1 var(--font-body); letter-spacing:.06em; text-transform:uppercase; color:var(--fg1); margin-bottom:7px;}
.gv-mf-opt{font-weight:500; color:var(--fg3); letter-spacing:0; text-transform:none;}
.gv-mf input, .gv-mf textarea{font:400 .98rem/1.5 var(--font-body); color:var(--fg1); background:var(--parchment-50); border:1.5px solid var(--border);
  border-radius:12px; padding:12px 14px; transition:border-color .25s, background-color .25s;}
.gv-mf textarea{resize:vertical; min-height:88px;}
.gv-mf input:focus, .gv-mf textarea:focus{outline:none; border-color:var(--gilt-500); background:var(--surface);}
.gv-mf input[aria-invalid="true"], .gv-mf textarea[aria-invalid="true"]{border-color:#B5523C;}
.gv-mf-err{font:600 .78rem/1.4 var(--font-body); color:#B5523C; margin-top:6px;}
.gv-mf-err[hidden]{display:none;}
.gv-modal-actions{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:4px;}
.gv-modal-msg{font:600 .84rem/1.4 var(--font-body); color:var(--fg2);}
.gv-modal-msg.is-error{color:#B5523C;}
.gv-modal-success{display:flex; flex-direction:column; align-items:center; text-align:center; padding:8px 4px 4px;}
.gv-modal-success[hidden]{display:none !important;}
.gv-modal-tick{width:64px; height:64px; border-radius:50%; background:var(--sage-50); color:var(--sage-600); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.gv-modal-success h2{margin:0;}
.gv-modal-success p{font:400 .98rem/1.6 var(--font-body); color:var(--fg2); margin:10px 0 22px;}

/* =====================================================================
   Online Giving page (/give/online)
   ===================================================================== */
.go-hero{position:relative; overflow:hidden; isolation:isolate; color:var(--on-dark-1); text-align:center;
  background:radial-gradient(120% 90% at 50% -10%, #2b2f5c 0%, var(--ink-900) 48%, var(--ink-950) 100%);
  padding-top:clamp(116px,15vw,150px); padding-bottom:clamp(40px,6vw,68px);}
.go-hero-glow{position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(46% 40% at 50% 26%, rgba(226,203,148,.26), transparent 64%);}
.go-hero .hero-arch{bottom:-30%; opacity:.5;}
.go-hero-inner{position:relative; z-index:2; max-width:58ch; margin-inline:auto;}
.go-hero h1{color:var(--on-dark-1); font-size:clamp(2.4rem,5.4vw,3.9rem); line-height:1.04; margin:12px 0 0;}
.go-hero h1 em{font-style:italic; color:var(--gilt-300);}
.go-hero .lead{color:var(--on-dark-2); margin:16px auto 0; max-width:52ch;}
.go-crumb{display:flex; align-items:center; gap:9px; justify-content:center; font:600 .8rem/1 var(--font-body); color:var(--on-dark-3); margin-bottom:14px; flex-wrap:wrap;}
.go-crumb a{color:var(--on-dark-2); transition:color .25s;}
@media (hover:hover){ .go-crumb a:hover{color:var(--gilt-300);} }

.go-body{background:var(--parchment-50);}
.go-shell{display:grid; grid-template-columns:1fr; gap:clamp(22px,3vw,38px); align-items:start;}
@media (min-width:860px){ .go-shell{grid-template-columns:.85fr 1.15fr;} }

/* recap */
.go-recap{background:linear-gradient(165deg, var(--indigo-600), var(--ink-900) 80%); color:var(--on-dark-1);
  border-radius:20px; padding:clamp(26px,3vw,36px); position:relative; overflow:hidden; box-shadow:var(--shadow-lg);}
.go-recap::before{content:""; position:absolute; inset:0; background:radial-gradient(60% 50% at 82% 8%, rgba(226,203,148,.2), transparent 62%); pointer-events:none;}
.go-recap>*{position:relative;}
.go-recap-eyebrow{font:700 .7rem/1 var(--font-body); letter-spacing:.18em; text-transform:uppercase; color:var(--gilt-300);}
.go-recap-amt{display:block; font:600 clamp(2.6rem,6vw,3.6rem)/1 var(--font-display); color:var(--on-dark-1); margin-top:10px;}
.go-recap-amt::before{content:"$";}
.go-recap-amt--free::before{content:"";}
.go-recap-per{font-size:.4em; color:var(--gilt-300); margin-left:4px;}
.go-recap-cur{display:block; font:500 .8rem/1 var(--font-body); letter-spacing:.06em; color:var(--on-dark-3); margin-top:6px; text-transform:uppercase;}
.go-recap-meta{list-style:none; margin:22px 0 0; padding:18px 0 0; border-top:1px solid var(--border-on-dark,rgba(251,248,240,.16)); display:flex; flex-direction:column; gap:11px;}
.go-recap-meta li{display:flex; align-items:center; justify-content:space-between; gap:14px; font:500 .9rem/1.3 var(--font-body);}
.go-recap-meta li span{color:var(--on-dark-3);}
.go-recap-meta li b{color:var(--gilt-100); font-weight:600; text-align:right;}
.go-recap-edit{display:inline-flex; align-items:center; gap:7px; margin-top:20px; font:700 .82rem/1 var(--font-body); color:var(--gilt-300);}
.go-recap-note{display:flex; align-items:center; gap:8px; margin-top:18px; font:500 .8rem/1.4 var(--font-body); color:var(--on-dark-3);}
.go-recap-note vm-icon{color:var(--gilt-300);}

/* methods */
.go-methods-h{font:600 clamp(1.6rem,2.6vw,2.1rem)/1.15 var(--font-display); color:var(--fg1);}
.go-methods-sub{font:400 1rem/1.66 var(--font-body); color:var(--fg2); margin:10px 0 22px; max-width:54ch;}
.go-method{display:flex; align-items:center; gap:16px; padding:20px 22px; margin-bottom:14px; background:var(--surface);
  border:1px solid var(--border-soft); border-radius:16px; box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);}
.go-method-med{flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:52px; height:58px; border-radius:var(--arch);
  color:var(--accent-strong); background:var(--gilt-100); border:1px solid var(--hairline-gold);}
.go-method-txt{flex:1 1 auto; min-width:0;}
.go-method-txt b{display:block; font:600 1.12rem/1.2 var(--font-display); color:var(--fg1);}
.go-method-txt span{display:block; font:400 .92rem/1.5 var(--font-body); color:var(--fg2); margin-top:3px;}
.go-method-go{flex:0 0 auto; color:var(--accent-strong); transition:transform .3s var(--ease);}
.go-method--primary{border-color:var(--hairline-gold); background:linear-gradient(180deg,#fff,var(--gilt-100));}
@media (hover:hover){
  .go-method:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:var(--hairline-gold);}
  .go-method:hover .go-method-go{transform:translateX(4px);}
}
.go-methods-foot{font:400 .9rem/1.6 var(--font-body); color:var(--fg3); margin-top:10px;}
.go-methods-foot a{color:var(--accent-strong); font-weight:700;}

/* thanks */
.go-thanks{background:var(--surface-warm); border-top:1px solid var(--border-soft); text-align:center; padding-block:clamp(44px,6vw,80px);}
.go-thanks-inner{max-width:54ch; margin-inline:auto; display:flex; flex-direction:column; align-items:center;}
.go-thanks-mark{color:var(--accent-strong); margin-bottom:10px;}
.go-thanks .scripture{font:italic 500 clamp(1.4rem,2.4vw,1.9rem)/1.4 var(--font-display); color:var(--fg1);}
.go-thanks .cite{margin-top:10px; font:700 .72rem/1 var(--font-body); letter-spacing:.14em; text-transform:uppercase; color:var(--accent-strong);}
.go-thanks-note{font:400 1rem/1.7 var(--font-body); color:var(--fg2); margin-top:16px;}
@media (prefers-reduced-motion:reduce){ .go-method{transition:none;} }

/* checkout payment panel */
.go-badges{display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 20px; padding:0; list-style:none;}
.go-badges li{display:inline-flex; align-items:center; gap:7px; font:700 .72rem/1 var(--font-body); letter-spacing:.01em; color:var(--fg2);
  background:var(--surface); border:1px solid var(--border); border-radius:999px; padding:7px 13px 7px 8px;}
.go-badges li vm-icon{color:var(--sage-600);}
.go-brand-logo{height:16px; width:auto; display:block; flex:0 0 auto;}
.go-badges li .go-brand-logo{height:17px;}
.go-pay-lead{font:400 .98rem/1.65 var(--font-body); color:var(--fg2); margin:0 0 16px; max-width:54ch;}
.go-pay-note{display:flex; align-items:center; gap:7px; margin-top:12px; font:500 .82rem/1.45 var(--font-body); color:var(--fg3);}
.go-pay-note vm-icon{color:var(--gilt-700);}
.go-paypal-btns{max-width:460px;}
.go-fallback{margin-top:8px;}
.go-fallback[hidden]{display:none !important;}
.go-fallback-or{display:flex; align-items:center; gap:14px; margin:26px 0 16px; color:var(--fg3); font:700 .72rem/1 var(--font-body); letter-spacing:.14em; text-transform:uppercase;}
.go-fallback-or span{flex:0 0 auto;}
.go-fallback-or::before, .go-fallback-or::after{content:""; flex:1 1 auto; height:1px; background:var(--border);}
.go-pay-success{text-align:center; background:var(--surface); border:1px solid var(--hairline-gold); border-radius:18px;
  padding:clamp(26px,4vw,40px); box-shadow:var(--shadow-md); margin-bottom:8px;}
.go-pay-success[hidden]{display:none !important;}
.go-pay-success h3{font:600 clamp(1.4rem,2.4vw,1.9rem)/1.15 var(--font-display); color:var(--fg1); margin-top:6px;}
.go-pay-success p{font:400 .98rem/1.65 var(--font-body); color:var(--fg2); margin:10px auto 18px; max-width:46ch;}

/* checkout — method tabs + card form */
.go-tabs{display:flex; gap:8px; margin:4px 0 18px; background:var(--surface-sunken); padding:5px; border-radius:14px;}
.go-tab{flex:1; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 10px; border-radius:10px;
  font:700 .86rem/1 var(--font-body); color:var(--fg2); transition:color .25s, background-color .25s, box-shadow .25s;}
.go-tab vm-icon{color:var(--sage-600);}
.go-tab.is-active{color:var(--ink-900); background:var(--surface); box-shadow:var(--shadow-sm), 0 0 0 1px var(--hairline-gold);}
.go-tab.is-active vm-icon{color:var(--gilt-700);}
.go-panel[hidden]{display:none;}
.go-card-form{margin-top:4px;}
.go-cardnum{position:relative; display:block;}
.go-cardnum .vmm-input{padding-right:60px;}
.go-card-brand{position:absolute; right:12px; top:50%; transform:translateY(-50%) scale(.85);
  display:flex; align-items:center; pointer-events:none; opacity:0;
  transition:opacity .25s var(--ease), transform .25s var(--ease);}
.go-card-brand.is-on{opacity:1; transform:translateY(-50%) scale(1);}
.go-card-brand .go-brand-logo{height:23px; width:auto;}
@media (prefers-reduced-motion:reduce){ .go-card-brand{transition:none;} }

/* paired short fields kept on one elegant line (mobile-first) */
.go-grid2{display:grid; grid-template-columns:1fr 1fr; gap:0 14px;}
.go-grid2--cz{grid-template-columns:1.35fr 1fr;}
.go-field-err{display:block; font:600 .78rem/1.4 var(--font-body); color:#B5523C; margin-top:6px;}
.go-field-err[hidden]{display:none;}
.go-pay-btn{width:100%; justify-content:center; margin-top:22px;}
.go-secure{display:flex; align-items:flex-start; gap:7px; margin-top:14px; font:500 .8rem/1.5 var(--font-body); color:var(--fg3);}
.go-secure vm-icon{color:var(--sage-600); flex:0 0 auto; margin-top:1px;}
.go-paypal-placeholder{display:flex; align-items:center; justify-content:center; width:100%; max-width:280px; margin-top:6px;
  padding:14px 20px; border-radius:999px; background:#FFC439; box-shadow:var(--shadow-sm);}
.go-pp-logo{font:800 1.25rem/1 var(--font-body); letter-spacing:-.02em;}
.go-pp-logo b:first-child{color:#003087;} .go-pp-logo b:last-child{color:#0070BA;}
