/* ============================================================
   GoForth Development — Main Theme Stylesheet
   ============================================================ */

/* ── TOKENS ── */
:root {
  --gold:    #c9a84c;  --gold-l:  #f5d980;  --gold-d:  #7a6030;
  --ember:   #e84f0a;  --ember-l: #ff7833;  --ember-d: #6b2505;
  --void:    #030305;  --deep:    #07070c;  --card:    #0c0c14;
  --raised:  #12121e;  --surface: #161622;
  --border:  rgba(201,168,76,.14);  --border-h:rgba(201,168,76,.4);
  --text:    #e8dfc8;  --mid:     #9a9080;  --dim:     #4a4438;
  --green:   #4cba7a;  --red:     #e05050;
  --fd: 'Cinzel Decorative', serif;
  --ft: 'Cinzel', serif;
  --fb: 'Cormorant Garamond', serif;
  --fu: 'Rajdhani', sans-serif;
  --ease: cubic-bezier(.22,.61,.36,1);
  --radius: 2px;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--void);color:var(--text);font-family:var(--fb);overflow-x:hidden;cursor:none;min-height:100vh;line-height:1.7}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,select,textarea{font-family:inherit}
ul[role="list"]{list-style:none}

/* ── CURSOR ── */
#gfd-cur,#gfd-cur-r{position:fixed;z-index:9999;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%)}
#gfd-cur{width:9px;height:9px;background:var(--gold);mix-blend-mode:screen;transition:width .2s,height .2s,background .2s}
#gfd-cur-r{width:34px;height:34px;border:1px solid rgba(201,168,76,.4);transition:width .3s,height .3s,border-color .3s}
body.gfd-cx #gfd-cur{width:22px;height:22px;background:var(--ember-l)}
body.gfd-cx #gfd-cur-r{width:58px;height:58px;border-color:rgba(232,79,10,.5)}

/* ── NOISE + CANVAS ── */
.gfd-noise{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.024;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
#gfd-pc{position:fixed;inset:0;z-index:0;pointer-events:none}

/* ============================================================
   NAVIGATION
   ============================================================ */
#gfd-nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 52px;transition:background .4s,padding .4s,border-color .4s;
  border-bottom:1px solid transparent;
}
#gfd-nav.gfd-scrolled{
  background:rgba(3,3,5,.95);backdrop-filter:blur(18px);
  padding:12px 52px;border-color:var(--border);
}
.gfd-n-logo{font-family:var(--fd);font-size:16px;color:var(--gold-l);letter-spacing:.5px}
.gfd-n-logo em{font-style:normal;color:var(--ember-l)}
.gfd-n-logo img{height:44px;width:auto}

.gfd-n-links{display:flex;gap:34px;list-style:none}
.gfd-n-links li a{
  font-family:var(--fu);font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;
  color:var(--mid);transition:color .2s;position:relative;
}
.gfd-n-links li a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:right;transition:transform .3s;
}
.gfd-n-links li a:hover{color:var(--gold-l)}
.gfd-n-links li a:hover::after{transform:scaleX(1);transform-origin:left}
.gfd-n-links.gfd-open{
  display:flex;flex-direction:column;position:fixed;inset:0;
  background:rgba(3,3,5,.98);align-items:center;justify-content:center;
  gap:28px;z-index:499;
}
.gfd-n-links.gfd-open li a{font-size:15px;letter-spacing:4px}

.gfd-n-actions{display:flex;align-items:center;gap:12px}

.gfd-n-cart{
  display:flex;align-items:center;gap:8px;
  font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:var(--void);background:linear-gradient(135deg,var(--gold),var(--gold-l));
  padding:10px 22px;text-decoration:none;
  clip-path:polygon(7px 0%,100% 0%,calc(100% - 7px) 100%,0% 100%);
  transition:box-shadow .3s,filter .2s;
}
.gfd-n-cart:hover{box-shadow:0 0 26px rgba(201,168,76,.4);filter:brightness(1.1)}

.gfd-n-badge{
  background:var(--ember);color:#fff;border-radius:50%;
  width:18px;height:18px;font-size:10px;font-weight:700;
  display:none;align-items:center;justify-content:center;
}
.gfd-n-badge.v{display:flex;animation:gfd-pop .3s var(--ease)}

.gfd-ham{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.gfd-ham span{width:22px;height:1.5px;background:var(--gold);display:block;transition:.3s}

/* ============================================================
   HERO
   ============================================================ */
#hero{
  position:relative;z-index:2;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:130px 32px 80px;
  background:radial-gradient(ellipse 75% 55% at 50% 50%,rgba(232,79,10,.08) 0%,transparent 65%);
}
.gfd-hero-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 40% at 30% 80%,rgba(201,168,76,.04) 0%,transparent 50%),
             radial-gradient(ellipse 60% 40% at 70% 20%,rgba(232,79,10,.04) 0%,transparent 50%)}
.gfd-hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--fu);font-size:10px;font-weight:600;letter-spacing:5px;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--gold-d);padding:7px 22px;margin-bottom:26px;
  animation:gfd-fadeUp .7s .15s both;
}
.gfd-hero-badge::before,.gfd-hero-badge::after{content:'✦';font-size:8px;opacity:.7}
.gfd-hero-title{
  font-family:var(--fd);font-size:clamp(34px,7vw,88px);font-weight:900;line-height:1.0;
  background:linear-gradient(145deg,#fff 0%,var(--gold-l) 40%,var(--gold) 70%,var(--ember-l) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:10px;animation:gfd-fadeUp .8s .25s both;
}
.gfd-hero-sub{
  font-family:var(--ft);font-size:clamp(11px,1.4vw,15px);letter-spacing:6px;color:var(--dim);
  text-transform:uppercase;margin-bottom:20px;animation:gfd-fadeUp .85s .35s both;
}
.gfd-h-div{display:flex;align-items:center;gap:14px;justify-content:center;margin:0 auto 22px;width:360px;max-width:90%;animation:gfd-fadeUp .9s .45s both}
.gfd-h-div-l{flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold-d))}
.gfd-h-div-l:last-child{background:linear-gradient(to left,transparent,var(--gold-d))}
.gfd-hero-desc{
  font-family:var(--fb);font-style:italic;font-size:clamp(14px,1.8vw,18px);
  color:var(--mid);max-width:540px;line-height:1.8;margin:0 auto 40px;
  animation:gfd-fadeUp .95s .55s both;
}
.gfd-hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:gfd-fadeUp 1s .65s both}
.gfd-hero-stats{
  display:flex;gap:50px;justify-content:center;flex-wrap:wrap;
  margin-top:60px;padding-top:36px;border-top:1px solid var(--border);
  animation:gfd-fadeUp 1s .8s both;
}
.gfd-stat{text-align:center}
.gfd-stat-n{font-family:var(--fd);font-size:clamp(24px,3vw,40px);color:var(--gold-l);display:block}
.gfd-stat-l{font-family:var(--fu);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin-top:4px;display:block}

/* ============================================================
   BUTTONS
   ============================================================ */
.gfd-btn{
  font-family:var(--fu);font-size:11px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;
  padding:15px 38px;border:none;cursor:pointer;position:relative;overflow:hidden;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:box-shadow .3s,filter .2s,transform .2s;display:inline-block;
  text-decoration:none;
}
.gfd-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-110%);transition:transform .5s}
.gfd-btn:hover::after{transform:translateX(110%)}
.gfd-btn:hover{transform:translateY(-2px)}
.gfd-btn-gold{color:var(--void);background:linear-gradient(135deg,var(--gold) 0%,var(--gold-l) 60%,var(--gold) 100%);background-size:200%}
.gfd-btn-gold:hover{box-shadow:0 0 38px rgba(201,168,76,.5)}
.gfd-btn-ghost{color:var(--gold);border:1px solid var(--gold-d);clip-path:none;background:transparent;padding:14px 38px}
.gfd-btn-ghost:hover{background:rgba(201,168,76,.08);border-color:var(--gold)}
.gfd-btn-sm{padding:10px 22px;font-size:10px;letter-spacing:3px;clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%)}
.gfd-btn-full{width:100%;text-align:center;display:block}
.gfd-btn-ember{color:#fff;background:linear-gradient(135deg,var(--ember-d),var(--ember),var(--ember-l))}
.gfd-btn-ember:hover{box-shadow:0 0 34px rgba(232,79,10,.45)}

/* ============================================================
   MARQUEE STRIP
   ============================================================ */
#gfd-strip{
  position:relative;z-index:2;padding:50px 0;overflow:hidden;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:linear-gradient(180deg,rgba(12,12,20,.6) 0%,rgba(12,12,20,.3) 100%);
}
.gfd-strip-lbl{font-family:var(--fu);font-size:9px;letter-spacing:5px;text-transform:uppercase;color:var(--dim);text-align:center;margin-bottom:20px}
.gfd-mq-wrap{overflow:hidden}
.gfd-mq-track{display:flex;gap:5px;width:max-content;animation:gfd-mq 42s linear infinite}
.gfd-mq-track:hover{animation-play-state:paused}
.gfd-mq-img{height:120px;width:auto;border:1px solid var(--border);filter:brightness(.6) saturate(.8);transition:filter .4s,transform .4s;flex-shrink:0;cursor:pointer;display:block}
.gfd-mq-img:hover{filter:brightness(.92) saturate(1.3);transform:scale(1.05);z-index:5;position:relative}
.gfd-mq-empty{font-family:var(--fb);font-style:italic;color:var(--dim);padding:20px;text-align:center}

/* ============================================================
   SECTION / LAYOUT
   ============================================================ */
.gfd-sec-wrap{max-width:1260px;margin:0 auto;padding:0 36px}
.gfd-section-header{margin-bottom:50px}
.gfd-center .gfd-sec-lbl,.gfd-center.gfd-section-header .gfd-sec-lbl{justify-content:center}
.gfd-center .gfd-sec-lbl::before{display:none}
.gfd-center .gfd-sec-sub,.gfd-center.gfd-section-header .gfd-sec-sub{margin:0 auto}
.gfd-center{text-align:center}
.gfd-sec-lbl{
  font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:5px;text-transform:uppercase;
  color:var(--ember);display:flex;align-items:center;gap:12px;margin-bottom:14px;
}
.gfd-sec-lbl::before{content:'';width:28px;height:1px;background:var(--ember);flex-shrink:0}
.gfd-sec-ttl{
  font-family:var(--fd);font-size:clamp(22px,4vw,50px);font-weight:700;
  background:linear-gradient(135deg,var(--gold-l) 0%,var(--gold) 60%,var(--ember-l) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1.1;margin-bottom:14px;
}
.gfd-sec-sub{font-family:var(--fb);font-style:italic;font-size:17px;color:var(--mid);line-height:1.8;max-width:500px}

/* ============================================================
   PACKAGES SECTION
   ============================================================ */
#packages{padding:100px 0 60px;position:relative;z-index:2}
.gfd-pkg-tabs{display:flex;gap:3px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.gfd-tab{
  font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;
  color:var(--mid);border:1px solid var(--border);padding:8px 20px;cursor:pointer;
  background:transparent;transition:all .22s;
}
.gfd-tab.on,.gfd-tab:hover{color:var(--void);background:var(--gold);border-color:var(--gold)}

.gfd-pkg-grid{
  display:grid;grid-template-columns:repeat(12,1fr);gap:3px;
  max-width:1260px;margin:0 auto;padding:40px 36px 0;
}
.gfd-pk{
  position:relative;background:var(--card);border:1px solid var(--border);overflow:hidden;
  opacity:0;transform:translateY(26px);transition:opacity .55s,transform .55s,border-color .3s,box-shadow .3s;
  grid-column:span 3;
}
.gfd-pk-wide{grid-column:span 12}
.gfd-pk.gfd-vis{opacity:1;transform:translateY(0)}
.gfd-pk:hover{border-color:var(--border-h);box-shadow:0 18px 55px rgba(0,0,0,.5)}
.gfd-pk.gfd-in-cart{border-color:var(--gold) !important;box-shadow:0 0 0 1px var(--gold),0 18px 55px rgba(201,168,76,.12) !important}
.gfd-pk::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s}
.gfd-pk:hover::before,.gfd-pk.gfd-in-cart::before{transform:scaleX(1)}
.gfd-pk-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(201,168,76,.05) 0%,transparent 70%);opacity:0;transition:opacity .4s}
.gfd-pk:hover .gfd-pk-glow,.gfd-pk.gfd-in-cart .gfd-pk-glow{opacity:1}

.gfd-pk-b{padding:34px 28px 30px;position:relative}
.gfd-pk-wide .gfd-pk-b{display:grid;grid-template-columns:80px 1fr auto;gap:0 48px;align-items:center}
.gfd-pk-wide .gfd-pk-ico{margin-bottom:0;align-self:start;padding-top:4px}
.gfd-pk-wide .gfd-pk-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px;min-width:200px}
.gfd-pk-wide .gfd-pk-price-wrap{text-align:right}

.gfd-pk-check{
  position:absolute;top:14px;right:14px;width:24px;height:24px;border-radius:50%;
  border:1.5px solid var(--gold-d);display:flex;align-items:center;justify-content:center;
  font-size:12px;color:transparent;transition:background .22s,border-color .22s,color .22s;
}
.gfd-pk-check-static{position:static;margin-left:auto}
.gfd-pk.gfd-in-cart .gfd-pk-check{background:var(--gold);border-color:var(--gold);color:var(--void)}

.gfd-pk-ico{font-size:38px;display:block;margin-bottom:18px;filter:drop-shadow(0 0 14px rgba(232,79,10,.4))}
.gfd-pk-tag{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--ember);margin-bottom:10px}
.gfd-pk-name{font-family:var(--ft);font-size:clamp(14px,1.5vw,19px);font-weight:700;color:var(--gold-l);margin-bottom:6px;letter-spacing:.3px}
.gfd-pk-desc{font-family:var(--fb);font-style:italic;font-size:14px;color:var(--mid);margin-bottom:18px;line-height:1.65}
.gfd-pk-feats{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.gfd-pk-feat{display:flex;align-items:flex-start;gap:9px;font-family:var(--fb);font-size:13.5px;color:var(--mid);line-height:1.4}
.gfd-pk-feat::before{content:'◆';color:var(--gold);font-size:7px;flex-shrink:0;margin-top:4px}
.gfd-pk-price{font-family:var(--fd);font-size:clamp(32px,3.5vw,48px);color:var(--gold-l);line-height:1}
.gfd-pk-price sup{font-size:.42em;vertical-align:top;margin-top:8px;display:inline-block}
.gfd-pk-start-note{font-size:.28em;color:var(--dim);letter-spacing:3px}
.gfd-pk-per{font-family:var(--fu);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);margin-top:4px}
.gfd-pk-cta{display:flex;align-items:center;gap:10px;margin-top:20px;flex-wrap:wrap}
.gfd-qty-b{width:32px;height:32px;border:1px solid var(--gold-d);color:var(--gold);font-size:18px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;border-radius:var(--radius);font-family:var(--fu);font-weight:700}
.gfd-qty-b:hover{background:rgba(201,168,76,.1);border-color:var(--gold)}
.gfd-qty-n{font-family:var(--ft);font-size:15px;min-width:24px;text-align:center}
.gfd-pk-add{flex:1;text-align:center;font-family:var(--fu);font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-d);padding:10px 14px;cursor:pointer;transition:all .22s;clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%);background:transparent}
.gfd-pk-add:hover{background:rgba(201,168,76,.1);border-color:var(--gold)}
.gfd-pk.gfd-in-cart .gfd-pk-add{color:var(--void);background:var(--gold);border-color:var(--gold)}

/* Floating cart bar */
#gfd-cart-bar{
  position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);z-index:490;
  display:flex;align-items:center;gap:20px;
  background:rgba(12,12,20,.96);backdrop-filter:blur(20px);
  border:1px solid var(--gold-d);padding:14px 24px;
  clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
  box-shadow:0 20px 60px rgba(0,0,0,.6);
  opacity:0;pointer-events:none;transition:opacity .35s,transform .4s var(--ease);
}
#gfd-cart-bar.gfd-v{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.gfd-cb-info{display:flex;flex-direction:column}
.gfd-cb-count{font-family:var(--fu);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--dim)}
.gfd-cb-total{font-family:var(--fd);font-size:22px;color:var(--gold-l)}
.gfd-cb-sep{width:1px;height:40px;background:var(--border)}

/* ============================================================
   PORTFOLIO GRID
   ============================================================ */
#portfolio{padding:90px 0;position:relative;z-index:2}
.gfd-port-grid{
  display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:200px;gap:3px;
}
.gfd-pg{position:relative;overflow:hidden;cursor:pointer}
.gfd-pg:nth-child(1){grid-column:span 6;grid-row:span 2}
.gfd-pg:nth-child(2){grid-column:span 6}
.gfd-pg:nth-child(3),.gfd-pg:nth-child(4),.gfd-pg:nth-child(5){grid-column:span 4}
.gfd-pg:nth-child(6){grid-column:span 6}
.gfd-pg:nth-child(7){grid-column:span 6}
.gfd-pg img{width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(1.05);transition:filter .5s,transform .5s;display:block}
.gfd-pg:hover img{filter:brightness(.88) saturate(1.25);transform:scale(1.06)}
.gfd-pg-ph{width:100%;height:100%;background:var(--card)}
.gfd-pg-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(3,3,5,.95) 0%,rgba(3,3,5,.15) 55%,transparent 80%);display:flex;flex-direction:column;justify-content:flex-end;padding:18px 16px;opacity:0;transition:opacity .4s}
.gfd-pg:hover .gfd-pg-ov{opacity:1}
.gfd-pg-type{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--ember-l);margin-bottom:4px}
.gfd-pg-name{font-family:var(--ft);font-size:14px;font-weight:700;color:var(--gold-l)}
.gfd-pg-badge{position:absolute;top:12px;left:12px;font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--void);background:var(--gold);padding:3px 9px;clip-path:polygon(0 0,calc(100% - 5px) 0,100% 100%,0 100%)}

/* Archive portfolio */
.gfd-port-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.gfd-p-card{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:16/10}
.gfd-p-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.65);transition:filter .4s,transform .4s}
.gfd-p-card:hover img{filter:brightness(.9);transform:scale(1.05)}
.gfd-p-badge{position:absolute;top:10px;left:10px;font-family:var(--fu);font-size:8px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--void);background:var(--gold);padding:3px 9px}
.gfd-p-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(3,3,5,.95) 0%,transparent 60%);display:flex;flex-direction:column;justify-content:flex-end;padding:16px;opacity:0;transition:opacity .4s}
.gfd-p-card:hover .gfd-p-ov{opacity:1}
.gfd-p-type{font-family:var(--fu);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--ember-l);margin-bottom:4px}
.gfd-p-name{font-family:var(--ft);font-size:14px;font-weight:700;color:var(--gold-l);margin-bottom:8px}
.gfd-p-link{font-family:var(--fu);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.gfd-p-placeholder{width:100%;height:100%;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--dim)}

/* ============================================================
   PROCESS
   ============================================================ */
#process{padding:90px 0;background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(232,79,10,.04) 0%,transparent 70%);position:relative;z-index:2}
.gfd-process-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.gfd-steps{display:flex;flex-direction:column}
.gfd-step{display:flex;gap:24px;align-items:flex-start;padding:26px 0;border-bottom:1px solid var(--border)}
.gfd-step:last-child{border-bottom:none}
.gfd-step-num{font-family:var(--fd);font-size:13px;color:var(--ember-l);min-width:36px;padding-top:4px;flex-shrink:0}
.gfd-step-title{font-family:var(--ft);font-size:17px;font-weight:700;color:var(--gold-l);margin-bottom:8px}
.gfd-step-desc{font-family:var(--fb);font-style:italic;font-size:15px;color:var(--mid);line-height:1.7}
.gfd-process-box{background:var(--card);border:1px solid var(--border);padding:50px 40px;text-align:center;position:relative;overflow:hidden}
.gfd-process-box::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(201,168,76,.06) 0%,transparent 70%)}
.gfd-corner{position:absolute;width:20px;height:20px;border-color:var(--gold-d);border-style:solid;opacity:.5}
.gfd-tl{top:8px;left:8px;border-width:1.5px 0 0 1.5px}
.gfd-tr{top:8px;right:8px;border-width:1.5px 1.5px 0 0}
.gfd-bl{bottom:8px;left:8px;border-width:0 0 1.5px 1.5px}
.gfd-br{bottom:8px;right:8px;border-width:0 1.5px 1.5px 0}
.gfd-proc-fire{font-size:80px;display:block;margin:0 auto 20px;animation:gfd-float 4s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(232,79,10,.6))}
.gfd-proc-tagline{font-family:var(--fd);font-size:20px;color:var(--gold-l);margin-bottom:12px}
.gfd-proc-sub{font-family:var(--fb);font-style:italic;font-size:15px;color:var(--mid);line-height:1.7}

/* ============================================================
   TRUST
   ============================================================ */
#trust{padding:80px 0;background:linear-gradient(180deg,rgba(12,12,20,.5) 0%,transparent 100%);position:relative;z-index:2}
.gfd-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;max-width:1260px;margin:0 auto;padding:0 36px}
.gfd-tc{background:var(--card);border:1px solid var(--border);padding:28px 22px;text-align:center}
.gfd-tc-ico{font-size:30px;display:block;margin-bottom:12px}
.gfd-tc-ttl{font-family:var(--ft);font-size:13px;font-weight:700;color:var(--gold-l);margin-bottom:7px}
.gfd-tc-desc{font-family:var(--fb);font-style:italic;font-size:13px;color:var(--dim);line-height:1.6}

/* ============================================================
   CONTACT
   ============================================================ */
#contact{padding:90px 0;position:relative;z-index:2}
.gfd-contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.gfd-contact-card{
  display:flex;align-items:center;gap:18px;
  background:var(--card);border:1px solid var(--border);padding:20px 24px;margin-bottom:12px;
  transition:border-color .3s,transform .3s;
}
.gfd-contact-card:hover{border-color:var(--border-h);transform:translateX(6px)}
.gfd-cc-ico{font-size:26px;flex-shrink:0;filter:drop-shadow(0 0 8px rgba(232,79,10,.4))}
.gfd-cc-lbl{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--ember);margin-bottom:4px}
.gfd-cc-val{font-family:var(--ft);font-size:15px;font-weight:600;color:var(--gold-l)}

/* Contact form */
.gfd-contact-form{display:flex;flex-direction:column;gap:14px}
.gfd-cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gfd-cf-group{display:flex;flex-direction:column;gap:7px}
.gfd-cf-lbl{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold-d)}
.gfd-cf-lbl .req{color:var(--ember)}
.gfd-cf-input{background:var(--raised);border:1px solid var(--border);color:var(--text);font-family:var(--fb);font-size:15px;padding:12px 14px;outline:none;width:100%;transition:border-color .25s;-webkit-appearance:none}
.gfd-cf-input:focus{border-color:var(--gold-d)}
textarea.gfd-cf-input{min-height:120px;resize:vertical;font-style:italic}
select.gfd-cf-input option{background:var(--raised)}
.gfd-cf-msg{font-family:var(--fb);font-style:italic;font-size:14px;padding:12px 14px;display:none}
.gfd-cf-msg.gfd-ok{color:var(--green);border:1px solid rgba(76,186,122,.2);background:rgba(76,186,122,.04);display:block}
.gfd-cf-msg.gfd-err{color:var(--red);border:1px solid rgba(224,80,80,.2);background:rgba(224,80,80,.04);display:block}

/* ============================================================
   LIGHTBOX
   ============================================================ */
#gfd-lb{display:none;position:fixed;inset:0;z-index:800;background:rgba(3,3,5,.97);align-items:center;justify-content:center;flex-direction:column}
#gfd-lb.gfd-o{display:flex}
#gfd-lb img{max-width:88vw;max-height:78vh;object-fit:contain;border:1px solid var(--border)}
#gfd-lb-close{position:absolute;top:22px;right:28px;font-size:28px;color:var(--gold);background:none;border:none;cursor:pointer;font-family:var(--ft)}
#gfd-lb-cap{font-family:var(--fb);font-style:italic;font-size:15px;color:var(--mid);margin-top:14px}

/* ============================================================
   FOOTER
   ============================================================ */
#gfd-footer{position:relative;z-index:2;border-top:1px solid var(--border);padding:48px 52px 30px}
.gfd-footer-inner{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:36px;padding:0}
.gfd-footer-logo{font-family:var(--fd);font-size:15px;color:var(--gold-l);display:inline-block;margin-bottom:12px}
.gfd-footer-logo em{font-style:normal;color:var(--ember-l)}
.gfd-footer-logo img{height:40px;width:auto}
.gfd-footer-tag{font-family:var(--fb);font-style:italic;font-size:14px;color:var(--mid);line-height:1.7;max-width:260px;margin-top:10px}
.gfd-footer-social{display:flex;gap:12px;margin-top:18px}
.gfd-soc-link{font-size:18px;transition:transform .2s,filter .2s}
.gfd-soc-link:hover{transform:scale(1.2);filter:drop-shadow(0 0 8px rgba(232,79,10,.6))}
.gfd-footer-col-h{font-family:var(--fu);font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.gfd-footer-col ul,.gfd-footer-links{list-style:none;display:flex;flex-direction:column;gap:11px}
.gfd-footer-col ul li a,.gfd-footer-links li a{font-family:var(--fb);font-size:14px;color:var(--mid);transition:color .2s}
.gfd-footer-col ul li a:hover,.gfd-footer-links li a:hover{color:var(--gold-l)}
.gfd-footer-bottom{max-width:1260px;margin:0 auto;padding-top:22px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.gfd-footer-copy{font-family:var(--fu);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--dim)}

/* ============================================================
   BLOG / POST TEMPLATES
   ============================================================ */
.gfd-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.gfd-post-card{background:var(--card);border:1px solid var(--border);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.gfd-post-card:hover{border-color:var(--border-h);box-shadow:0 14px 40px rgba(0,0,0,.4)}
.gfd-post-img-wrap img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:brightness(.7);transition:filter .4s,transform .4s;display:block}
.gfd-post-card:hover .gfd-post-img-wrap img{filter:brightness(.9);transform:scale(1.04)}
.gfd-post-body{padding:24px}
.gfd-post-meta{font-family:var(--fu);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.gfd-post-title{font-family:var(--ft);font-size:17px;font-weight:700;color:var(--gold-l);margin-bottom:10px;line-height:1.3}
.gfd-post-title a{transition:color .2s}
.gfd-post-title a:hover{color:var(--gold)}
.gfd-post-excerpt{font-family:var(--fb);font-style:italic;font-size:14px;color:var(--mid);margin-bottom:18px;line-height:1.6}
.gfd-single-title{font-family:var(--fd);font-size:clamp(26px,4vw,52px);background:linear-gradient(135deg,var(--gold-l),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}
.gfd-single-meta{font-family:var(--fu);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin-bottom:28px}
.gfd-single-thumb{margin-bottom:36px;border:1px solid var(--border)}
.gfd-single-thumb img{width:100%;height:auto}
.gfd-single-content{font-family:var(--fb);font-size:16px;color:var(--mid);line-height:1.9;max-width:740px}
.gfd-single-content h2,.gfd-single-content h3{font-family:var(--ft);color:var(--gold-l);margin:28px 0 12px}
.gfd-single-content p{margin-bottom:16px}
.gfd-single-content a{color:var(--gold);border-bottom:1px solid var(--gold-d);transition:border-color .2s}
.gfd-single-content a:hover{border-color:var(--gold)}
.gfd-post-nav{padding:36px 0 0;border-top:1px solid var(--border)}
.gfd-post-nav .nav-links{display:flex;justify-content:space-between;gap:20px;font-family:var(--ft);font-size:13px;color:var(--mid)}
.gfd-post-nav .nav-links a{color:var(--gold);transition:color .2s}
.gfd-post-nav .nav-links a:hover{color:var(--gold-l)}

/* Portfolio single */
.gfd-port-single-img{margin:24px 0 36px;border:1px solid var(--border)}
.gfd-port-single-img img{width:100%;height:auto}
.gfd-port-single-content{font-family:var(--fb);font-size:16px;color:var(--mid);line-height:1.9;max-width:740px;margin:0 auto}

/* Page */
.gfd-page-title{font-family:var(--fd);font-size:clamp(24px,3.5vw,48px);background:linear-gradient(135deg,var(--gold-l),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:28px}
.gfd-page-content{font-family:var(--fb);font-size:16px;color:var(--mid);line-height:1.9;max-width:740px}
.gfd-page-content a{color:var(--gold)}
.gfd-page-content h2,.gfd-page-content h3{font-family:var(--ft);color:var(--gold-l);margin:24px 0 10px}
.gfd-page-content p{margin-bottom:16px}

/* ============================================================
   MISC
   ============================================================ */
.gfd-empty-msg{font-family:var(--fb);font-style:italic;color:var(--dim);text-align:center;padding:40px 0;font-size:16px}
.gfd-rev{opacity:0;transform:translateY(26px);transition:opacity .65s,transform .65s}
.gfd-rev.gfd-vis{opacity:1;transform:translateY(0)}
.wp-block-image img{border:1px solid var(--border)}
.page-numbers{font-family:var(--fu);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--mid);border:1px solid var(--border);padding:8px 14px;display:inline-block;margin:4px;transition:all .2s}
.page-numbers.current,.page-numbers:hover{color:var(--void);background:var(--gold);border-color:var(--gold)}
.nav-links.pager{text-align:center;margin-top:40px}

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes gfd-fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes gfd-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes gfd-mq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes gfd-pop{0%{transform:scale(.4)}70%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes gfd-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  .gfd-pk{grid-column:span 6 !important}
  .gfd-pk-wide .gfd-pk-b{grid-template-columns:1fr;gap:18px}
  .gfd-pk-wide .gfd-pk-right{align-items:flex-start;min-width:0}
  .gfd-footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  body{cursor:auto}
  #gfd-cur,#gfd-cur-r{display:none}
  #gfd-nav{padding:16px 22px}
  #gfd-nav.gfd-scrolled{padding:11px 22px}
  .gfd-n-links{display:none}
  .gfd-ham{display:flex}
  .gfd-contact-layout,.gfd-process-layout{grid-template-columns:1fr;gap:40px}
  .gfd-trust-grid{grid-template-columns:1fr 1fr}
  .gfd-posts-grid,.gfd-port-archive-grid{grid-template-columns:1fr 1fr}
  .gfd-port-grid{grid-auto-rows:150px}
  .gfd-pg:nth-child(1){grid-column:span 12;grid-row:span 1}
  .gfd-pg:nth-child(n){grid-column:span 6}
  .gfd-sec-wrap{padding:0 20px}
  .gfd-pkg-grid{padding:30px 20px 0}
  #gfd-footer{padding:40px 20px 24px}
  .gfd-footer-inner{grid-template-columns:1fr;gap:28px}
  .gfd-footer-bottom{flex-direction:column;text-align:center}
  .gfd-cf-row{grid-template-columns:1fr}
}
@media(max-width:580px){
  .gfd-pk{grid-column:span 12 !important}
  .gfd-trust-grid,.gfd-posts-grid,.gfd-port-archive-grid{grid-template-columns:1fr}
  .gfd-pg:nth-child(n){grid-column:span 12}
  #gfd-cart-bar{width:92vw}
  .gfd-hero-stats{gap:24px}
}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--void)}::-webkit-scrollbar-thumb{background:var(--gold-d)}
