/* ------------------------------------------------------------------
   GC Framing — Inner Page shared stylesheet
   Lives at: /wp-content/themes/GCFraming_v2026/_css/gcf-inner.css
   Used by the "GCF Inner Page" template (page-gcf-inner.php)
   and by the HTML you paste into the WordPress editor.

   Everything is scoped under .gcf so it cannot leak into the theme.
   Edit colors in one place: the :root-style block on .gcf below.
------------------------------------------------------------------ */

.gcf{
  --b:#574109;      /* brown  — headings, primary buttons */
  --d:#3C2D06;      /* darker brown — dark strips */
  --g:#D4C369;      /* gold   — accents on dark */
  --t:#156073;      /* teal   — links, icons */
  --t-soft:#E7F1F4; /* teal tint — icon chips */
  --ink:#4a4136;
  --body:#6b6153;
  --muted:#737144;
  --cream:#FFFCF7;
  --sand:#FFF4E6;
  --line:rgba(87,65,9,.12);
  font-family:'Pavanam',Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--cream);
  overflow-x:hidden;
}
.gcf *,.gcf *::before,.gcf *::after{box-sizing:border-box}
/* zero-specificity resets (:where) so single-class .gcf-* rules below can set margins */
.gcf :where(h1,h2,h3){font-family:'Kameron',Georgia,serif;color:var(--b);margin:0;text-wrap:balance}
.gcf :where(p){margin:0}
.gcf a{text-decoration:none;color:var(--t)}
.gcf a:hover{color:#4AA8C0}
.gcf img{max-width:100%}
.gcf input,.gcf select,.gcf textarea,.gcf button{font:inherit}
.gcf [id]{scroll-margin-top:110px}
.gcf-wrap{max-width:1280px;margin:0 auto;padding-left:24px;padding-right:24px}
.gcf-sec{padding-top:clamp(34px,3.6vw,42px);padding-bottom:clamp(34px,3.6vw,42px)}
.gcf-cream{background:var(--cream)}
.gcf-sand{background:var(--sand)}
.gcf-rule{border-top:1px solid rgba(87,65,9,.09)}
.gcf-eyebrow{font-family:'Kameron',Georgia,serif;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.gcf-h2{font-size:clamp(28px,3.4vw,42px);line-height:1.1;margin:0 0 16px}
.gcf-h2-sm{font-size:clamp(23px,2.5vw,30px);line-height:1.15;margin:0 0 12px}
.gcf-lede{font-size:17px;line-height:1.7;color:var(--body);text-wrap:pretty}
.gcf-lede+.gcf-lede{margin-top:18px}
.gcf-intro{max-width:700px;margin-bottom:34px}
@keyframes gcfRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes gcfDot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
@media (prefers-reduced-motion:reduce){.gcf *{animation:none!important;transition:none!important}}

/* Buttons */
.gcf a.gcf-btn,
.gcf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--b);color:#fff;min-height:48px;padding:0 24px;border-radius:999px;font-family:'Kameron',Georgia,serif;font-size:16px;font-weight:700;line-height:1;transition:background 200ms ease,transform 240ms cubic-bezier(.34,1.56,.64,1)}
.gcf a.gcf-btn:hover,
.gcf-btn:hover{background:var(--t);color:#fff;transform:translateY(-3px)}
.gcf a.gcf-btn-gold,
.gcf-btn-gold{background:var(--g);color:#12323C}
.gcf a.gcf-btn-gold:hover,
.gcf-btn-gold:hover{background:#fff;color:#12323C}

/* ---------- Hero (rendered by the template, from the featured image) ---------- */
.gcf-hero{position:relative;min-height:clamp(340px,36vw,470px);display:flex;align-items:flex-end;overflow:hidden;background:var(--d)}
.gcf-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block}
.gcf-hero-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(18,50,60,.82) 0%,rgba(60,45,6,.56) 46%,rgba(60,45,6,.14) 100%),linear-gradient(180deg,rgba(60,45,6,.36) 0%,rgba(60,45,6,0) 40%,rgba(60,45,6,.46) 100%)}
.gcf-hero-inner{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:clamp(50px,6.5vw,88px) 24px clamp(34px,4vw,52px)}
.gcf-hero-copy{max-width:780px;animation:gcfRise .7s cubic-bezier(.22,1,.36,1) both}
.gcf-crumb,.gcf-hero-badge{font-family:'Kameron',Georgia,serif;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:#FFE9A8;margin:0 0 16px;text-shadow:0 1px 2px rgba(26,18,2,1),0 2px 10px rgba(26,18,2,.95)}
.gcf-crumb a{color:#FFE9A8}
.gcf-crumb a:hover{color:#fff}
.gcf-hero h1{font-size:clamp(35px,4.8vw,62px);line-height:1.04;letter-spacing:-.015em;color:#fff;margin:0 0 18px;text-shadow:0 1px 2px rgba(26,18,2,1),0 2px 9px rgba(26,18,2,.95),0 8px 34px rgba(26,18,2,.8)}
.gcf-hero-sub{font-size:18.5px;line-height:1.6;color:#fff;margin:0;max-width:640px;text-wrap:pretty;text-shadow:0 1px 2px rgba(26,18,2,1),0 2px 8px rgba(26,18,2,.98)}
.gcf-hero-badge{letter-spacing:.12em;margin:18px 0 0}

/* ---------- Facts strip ---------- */
.gcf-facts{background:var(--d)}
.gcf-facts-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(247,240,229,.16)}
.gcf-fact{background:var(--d);padding:clamp(18px,2vw,24px) clamp(18px,2vw,26px)}
.gcf-fact-label{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,240,229,.6);margin:0 0 8px}
.gcf-fact-value{font-family:'Kameron',Georgia,serif;font-size:clamp(19px,2.1vw,23px);line-height:1.15;color:var(--g);margin:0 0 5px}
.gcf-fact-note{font-size:13px;line-height:1.45;color:rgba(247,240,229,.78);margin:0;min-height:2.9em}

/* ---------- Two-column split with photo ---------- */
.gcf-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3.4vw,54px);align-items:start}
.gcf-figure{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:3/2;align-self:start;min-height:clamp(240px,24vw,380px);box-shadow:0 20px 48px rgba(87,65,9,.16);background:var(--sand)}
.gcf-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* ---------- Callout card (walkthrough) ---------- */
.gcf-callout{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:space-between;background:#fff;border:1px solid rgba(87,65,9,.13);border-radius:20px;padding:clamp(24px,2.6vw,32px)}
.gcf-callout-body{flex:1 1 420px;min-width:0}
.gcf-callout-list{flex:0 1 300px;display:flex;flex-direction:column;gap:10px}
.gcf-check{display:flex;align-items:flex-start;gap:11px;font-size:15px;line-height:1.5;color:var(--ink)}
.gcf-check-box{background:var(--sand);border:1px solid rgba(87,65,9,.11);border-radius:12px;padding:12px 15px}
.gcf-check i{flex-shrink:0;margin-top:2px;width:19px;height:19px;border-radius:50%;background:var(--t-soft);color:var(--t);font-size:11px;font-style:normal;display:flex;align-items:center;justify-content:center}

/* ---------- Service cards ---------- */
.gcf-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px}
.gcf-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;transition:transform 280ms cubic-bezier(.22,1,.36,1),box-shadow 240ms ease,border-color 220ms ease}
.gcf-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(87,65,9,.12);border-color:rgba(21,96,115,.32)}
.gcf-card-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:var(--t-soft);margin-bottom:15px}
.gcf-card h3{font-size:18.5px;margin:0 0 9px;line-height:1.25}
.gcf-card p{font-size:14.5px;line-height:1.6;color:var(--body);margin:0 0 14px;flex:1}
.gcf a.gcf-card-link,
.gcf-card-link{font-family:'Kameron',Georgia,serif;font-size:14.5px;font-weight:700;color:var(--t)}
.gcf a.gcf-card-link:hover,
.gcf-card-link:hover{color:var(--b)}

/* ---------- Gold-on-brown band ---------- */
.gcf-band{background:var(--b);color:#F0E4D0}
.gcf-band-inner{display:flex;flex-wrap:wrap;gap:clamp(20px,2.6vw,40px);align-items:flex-start;justify-content:space-between;padding-top:clamp(30px,3.2vw,40px);padding-bottom:clamp(30px,3.2vw,40px)}
.gcf-band-head{flex:0 1 250px;min-width:0}
.gcf-band-head .gcf-eyebrow{color:var(--g)}
.gcf-band-title{font-family:'Kameron',Georgia,serif;font-size:clamp(21px,2.3vw,26px);line-height:1.2;color:#fff;margin:0 0 12px;text-wrap:balance}
.gcf-band-dash{display:block;width:44px;height:3px;background:var(--g);border-radius:2px}
.gcf-band-grid{flex:1 1 560px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px}
.gcf-band-grid .gcf-check{font-size:15.5px;color:#F7F0E5}
.gcf-band-grid .gcf-check i{width:20px;height:20px;background:rgba(212,195,105,.22);color:var(--g)}

/* ---------- Panel pair ---------- */
.gcf-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gcf-panel{background:var(--sand);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.4vw,28px)}
.gcf-panel-title{font-family:'Kameron',Georgia,serif;font-size:19px;color:var(--b);font-weight:700;margin:0 0 12px}
.gcf-panel p{font-size:16px;line-height:1.68;color:var(--body);margin:0 0 16px;text-wrap:pretty}
.gcf-panel-list{display:flex;flex-direction:column;gap:9px;padding-top:15px;border-top:1px solid rgba(87,65,9,.11)}
.gcf-panel-list span{font-size:15px;line-height:1.5;color:var(--ink)}

/* ---------- Teal call banner ---------- */
.gcf-callbar{background:#12323C}
.gcf-callbar-inner{max-width:1280px;margin:0 auto;padding:clamp(22px,2.4vw,28px) 24px;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:center;justify-content:space-between}
.gcf-callbar-text{flex:1 1 340px;min-width:0;display:flex;align-items:center;gap:14px}
.gcf-callbar-text p{font-family:'Kameron',Georgia,serif;font-size:16.5px;line-height:1.5;color:#EAF6F9;margin:0;text-wrap:pretty}
.gcf-pulse{position:relative;flex-shrink:0;display:inline-flex;width:10px;height:10px}
.gcf-pulse i{position:absolute;inset:0;border-radius:50%;background:#7AC9DC;animation:gcfDot 1.8s ease-in-out infinite}
.gcf-callbar .gcf-btn{min-height:52px;padding:0 26px;font-size:16.5px}
@media (max-width:760px){.gcf-callbar .gcf-btn{width:100%}}

/* ---------- Chips + related links ---------- */
.gcf-chips{display:flex;flex-wrap:wrap;gap:9px}
.gcf-chip{display:inline-flex;align-items:center;background:#fff;border:1px solid rgba(87,65,9,.15);border-radius:999px;padding:9px 16px;font-size:14.5px;color:var(--b)}
.gcf-sidecard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,2.4vw,30px);box-shadow:0 16px 38px rgba(87,65,9,.10)}
.gcf-sidecard p{font-size:15.5px;line-height:1.65;color:var(--body);margin:0 0 18px;text-wrap:pretty}
.gcf-links{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid rgba(87,65,9,.11)}
.gcf a.gcf-link,
.gcf-link{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--sand);border:1px solid var(--line);border-radius:13px;padding:14px 17px;font-family:'Kameron',Georgia,serif;font-size:15.5px;font-weight:700;color:var(--b);transition:transform 240ms cubic-bezier(.22,1,.36,1),border-color 200ms ease}
.gcf a.gcf-link:hover,
.gcf-link:hover{transform:translateY(-2px);border-color:rgba(21,96,115,.35);color:var(--t)}

/* ---------- Service areas ---------- */
.gcf-areas{display:flex;flex-wrap:wrap;gap:22px 40px;align-items:flex-start;justify-content:space-between}
.gcf-areas-copy{flex:1 1 380px;min-width:0}
.gcf-areas-list{flex:1 1 420px;display:flex;flex-direction:column;gap:16px}
.gcf-area-label{display:flex;align-items:center;gap:10px;font-family:'Kameron',Georgia,serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8d8256;margin:0 0 8px}
.gcf-area-label b{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--g)}
.gcf-area-cities{font-size:14.5px;line-height:1.75;color:var(--body);margin:0;padding-left:17px}

/* ---------- Estimate block ---------- */
.gcf-estimate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3.4vw,48px);align-items:start}
.gcf-estimate-copy{display:flex;flex-direction:column;gap:26px}
.gcf-contactcards{display:flex;flex-direction:column;gap:13px}
.gcf-contactcard{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid rgba(87,65,9,.13);border-radius:15px;padding:17px 20px}
a.gcf-contactcard{align-items:center;transition:transform 260ms cubic-bezier(.22,1,.36,1),box-shadow 220ms ease}
.gcf a.gcf-contactcard{color:var(--ink)}
.gcf a.gcf-contactcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(87,65,9,.12);color:var(--b)}
.gcf-contactcard svg,.gcf-contactcard img{flex-shrink:0}
.gcf-cc-big{display:block;font-family:'Kameron',Georgia,serif;font-size:19px;color:var(--b);font-weight:700}
.gcf-cc-title{display:block;font-family:'Kameron',Georgia,serif;font-size:17px;color:var(--b);font-weight:700}
.gcf-cc-note{display:block;font-size:14px;line-height:1.5;color:var(--muted)}
.gcf-steps{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:20px;border-top:1px solid rgba(87,65,9,.13)}
.gcf-step{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;color:var(--body)}
.gcf-step b{flex-shrink:0;width:21px;height:21px;border-radius:50%;background:var(--t-soft);color:var(--t);font-family:'Kameron',Georgia,serif;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.gcf-formcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(24px,3vw,36px);box-shadow:0 18px 44px rgba(87,65,9,.10)}
.gcf-formcard h3{font-size:clamp(22px,2.4vw,28px);line-height:1.15;margin:0 0 22px}
.gcf-form{display:flex;flex-direction:column;gap:17px}
.gcf-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.gcf-field{display:flex;flex-direction:column;gap:7px}
.gcf-field>span{font-family:'Kameron',Georgia,serif;font-size:14px;color:var(--b);font-weight:600}
.gcf-field input,.gcf-field select,.gcf-field textarea{border:1.5px solid rgba(87,65,9,.2);border-radius:10px;padding:13px 15px;font-size:16px;color:var(--ink);background:var(--cream);outline:none;width:100%;transition:border-color 180ms ease,box-shadow 180ms ease}
.gcf-field textarea{resize:vertical;line-height:1.55}
.gcf-field input:focus,.gcf-field select:focus,.gcf-field textarea:focus{border-color:var(--t);box-shadow:0 0 0 3px rgba(21,96,115,.14)}
.gcf-field-short input{max-width:160px}
.gcf-submit{margin-top:6px;background:var(--b);color:#fff;border:none;border-radius:999px;padding:17px 30px;font-family:'Kameron',Georgia,serif;font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(87,65,9,.2);transition:background 200ms ease,transform 250ms cubic-bezier(.34,1.56,.64,1),box-shadow 200ms ease}
.gcf-submit:hover{background:var(--t);transform:translateY(-3px);box-shadow:0 12px 28px rgba(21,96,115,.26)}
.gcf-fineprint{font-size:13.5px;color:#8a8072;margin:0;text-align:center}

/* ------------------------------------------------------------------
   Theme-proofing — keep the layout intact inside the theme's content
   column. Many themes constrain (or left-align) everything inside
   the editor content area; these rules let each top-level section go
   full-bleed again and re-center the inner 1280px containers.
   Raised specificity on purpose so load order doesn't matter.
------------------------------------------------------------------ */
.gcf{position:relative}
.gcf .gcf-content{width:auto;max-width:none;margin:0;padding:0}
.gcf .gcf-content>section,
.gcf .gcf-content>div{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);float:none;clear:both}
.gcf .gcf-wrap,
.gcf .gcf-facts-grid,
.gcf .gcf-callbar-inner,
.gcf .gcf-hero-inner{margin-left:auto;margin-right:auto;float:none}
/* WordPress (wpautop) injects whitespace-only <p> tags between pasted blocks —
   they are what adds the stray gaps between sections. :empty does not catch
   them because they contain a newline, so hide unclassed top-level p/br. */
.gcf .gcf-content>p:not([class]),
.gcf .gcf-content>p:empty,
.gcf .gcf-content>br{display:none}
.gcf .gcf-facts{background:#3C2D06}
.gcf .gcf-cream{background:#FFFCF7}
.gcf .gcf-sand{background:#FFF4E6}
.gcf .gcf-band{background:#574109}
.gcf .gcf-callbar{background:#12323C}

/* ---------- responsive column counts ---------- */
@media (max-width:1040px){
  .gcf .gcf-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .gcf .gcf-split,
  .gcf .gcf-pair,
  .gcf .gcf-estimate,
  .gcf .gcf-band-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .gcf .gcf-facts-grid,
  .gcf .gcf-form-row{grid-template-columns:minmax(0,1fr)}
}
