@import url('https://fonts.googleapis.com/css2?family=Alan+Sans:wght@300..900&family=Capriola&family=Gruppo&family=Roboto+Flex:opsz,wght,XOPQ,XTRA,YOPQ,YTDE,YTFI,YTLC,YTUC@8..144,100..1000,96,468,79,-203,738,514,712&family=Sansita:ital,wght@0,400;0,700;0,800;0,900;1,400;1,700;1,800;1,900&family=Tourney:ital,wght@0,100..900;1,100..900&display=swap');

:root {

 /* ___ regular colors ___ */
--nile: #df9021;
--aphelion: #1F1F1E;
--free-shipping: #e5dac5;
--infrastructure: #f9f8f6;

 /* ___ transparent colors ___ */

--carpenter: #e9ddc599;
 --chairman: #d1ba8cb6;
 --enigma: #ff95018c; 

 /* ___ box shadows ___ */

--bts: 0px 1px 5px 1px #20160169;
 --bts-r: 1px 0px 5px 1px #20160131;
 --pyramids: 1px 1px 5px 0 #ae9a73b6;

 /* ___ text shadows ___ */
 
}

/* ___ basics ___ */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a {
  text-decoration: none;
} 

/* ___ page transition ___ */

@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: 600ms ease fade-out;
}

::view-transition-new(root) {
  animation: 600ms ease fade-in;
}

@keyframes fade-out {
  from { opacity: 1; }
  to   { opacity: 0; }
}

@keyframes fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
} 

/* ___ typeface ___ */

p {
  font-family: 'Alan Sans', sans-serif;
 font-size: 13px;
 font-weight: 400;
 color: var(--aphelion);
 grid-column: 2;
 margin: auto;
}

h1 {
 font-family: 'Sansita', sans-serif;
 font-size: 24px;
 font-weight: 600;
}

h2 {
 font-family: 'Sansita', sans-serif;
 font-size: 16px;
 font-weight: 100;
 letter-spacing: 0.05em;
}

h3 {
 font-family: 'Gruppo', sans-serif;
 font-size: 12px;
 font-style: bold;
}

p.foot {
 font-size: 10px;
 color: var(--infrastructure);
 line-height: 1.5;
} 

p.foot-big {
 font-size: 12px;
 color: var(--infrastructure);
 line-height: 1.5;
} 

h2.foot {
 color: var(--infrastructure);
 
}

/* ___ body / main / header / footer ___ */

body {
 position: relative;
 display: grid;
 grid-template-rows: auto 1fr auto;
 background-color: var(--infrastructure);
 color: var(--aphelion);
}

main {
 display: grid;
 grid-template-columns: auto 1fr auto;
 min-height: 100vh;
 width: 100%;
 height: ; 
 background-color: var(--infrastructure);
 color: var(--circuit);
 gap: 5px;
 margin: 30rem auto 0; 
 padding-top: 3rem;
 border-top-left-radius: 50px;
 border-top-right-radius: 50px;
 border-top: 2px solid var(--free-shipping);
 box-shadow: var(--bts-r);
 z-index: 5;
}

header {
 position: fixed;
 top: 0;
 left: 0;
 height: 70px;
 width: 100%;
 border-bottom: 0.05rem solid var(--aphelion);
 background: repeating-linear-gradient(
  -45deg,
  #f9fafb 0px,
  #e5dac5 100px,
  #e5dac5 150px,
  #f9fafb 200px
);

 box-shadow: var(--bts);
 z-index: 30;
}

.head-logo {
 position: absolute;
 top: 6%;
 left: 43%;
 width: 60px;
 height: 60px;
 grid-column: 2;
}

.head-logo img {
 width: 100%;
 height: 100%;
}

.logo-wide {
 position: absolute;
 top: 6%;
 left: 32%;
 width: 130px;
 height: 60px;
 object-fit: contain;
}

.logo-wide img {
 width: 100%;
 height: 100%;
}

.logo-loose{
 width: 130px;
 height: 59px;
 object-fit: contain;
 margin-left: 2px;
 margin-bottom: 4px;
}

.logo-loose img {
 width: 100%;
 height: 100%;
}

.svg-left {
 grid-column: 3;
 cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.svg-right {
 position: absolute;
 right: 5%;
 top: 30%;
 grid-column: 3;
}

footer {
 min-height: 100px;
 width: 100vw;
 border-top: 2px solid var(--carpenter);
 background-color: var(--aphelion);
 color: var(--free-shipping);
 padding: 1rem;
 box-shadow: var(--bts-r);
 z-index: 100;
}

/* ___ MENU (GEMINI)  ___*/

/* Hamburger Trigger Button Only - Safe to add anywhere */
.atg-hamburger-btn {
 position: absolute;
 top: 26%;
 left: 6%;
  background-color: var(--chairman);
 border: none;
  border-radius: 10px;
  display: inline-flex; /* Changed to inline-flex to play nice with existing header flows */
  flex-direction: column;
  justify-content: space-between;
  width: 37px;
  height: 33px;
  cursor: pointer;
  padding: 11px;
  vertical-align: middle;
 grid-column: 1;
}

.atg-hamburger-btn .bar {
  width: 100%;
  height: 0.08rem;
  background-color: #111111; /* Change this if your header needs a white/different color button! */
  border-radius: 25%;
}

/* --- ATG Mobile Menu Reset & Overlay --- */
.atg-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--infrastructure);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
 display: none;  

 font-family: 'Alan Sans', sans-serif;
 font-size: 14px;
 font-weight: 400;
 color: var(--aphelion);
 grid-column: 2;
 margin: auto;
} 

.atg-menu-overlay * {
  box-sizing: border-box;
 font-family: 'Alan Sans', sans-serif;
 font-size: 14px;
 font-weight: 400;
 color: var(--nile);
}

/* --- Top Header Styling --- */
.atg-menu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 16px;
  border-bottom: 1px solid #eaeded;
}

.atg-close-btn {
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: #111111;
  padding: 8px 20px 12px;
}

.atg-logo {
  font-weight: 800;
  font-size: 24px;
  letter-spacing: -1px;
  color: #111111;
}

.atg-header-icons .icon {
  font-size: 20px;
  margin-left: 15px;
  cursor: pointer;
}

/* --- Horizontal Sub-Navbar --- */
.atg-sub-navbar {
  display: flex;
  gap: 20px;
  padding: 12px 16px;
  background-color: #ffffff;
  border-bottom: 1px solid #eaeded;
  overflow-x: auto;
  white-space: nowrap;
}

.atg-sub-navbar::-webkit-scrollbar {
  display: none; /* Hide scrollbar for clean aesthetic */
}

.sub-nav-link {
  text-decoration: none;
  color: #444444;
  font-size: 14px;
}

/* --- Sliding Mechanics --- */
.atg-menu-slider-container {
  flex: 1;
  overflow: hidden; /* Keeps hidden nested panels out of view */
  position: relative;
  width: 100%;
}

.atg-menu-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease-in-out;
  transform: translateX(0%);
}

.atg-menu-panel {
  min-width: 100%;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background: #ffffff;
  
  /* Hide the panel by default so they don't stack side-by-side */
  display: none; 
}

/* Force the main panel and any clicked panel to actually show up */
#mainPanel, 
.atg-menu-panel.active {
  display: block;
}


/* --- Navigation Lists --- */
.atg-menu-list {
  padding: 0;
  margin: 0;
 list-style: none !important;
 list-style-type: none !important; 
}

.atg-menu-list li {
  border-bottom: 1px solid #f2f4f4;
 list-style: none;
}

.atg-direct-link, 
.atg-trigger-btn, 
.atg-back-btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 18px 20px;
  background: none;
  border: none;
  text-align: left;
  font-size: 16px;
  color: #111111;
  text-decoration: none;
  cursor: pointer;
}

.atg-trigger-btn .arrow {
  color: #888888;
  font-family: monospace;
}

/* Back Button styling to stand out */
.atg-back-btn {
  background-color: #f8f9fa;
  font-weight: bold;
  color: #555555;
  border-bottom: 1px solid #eaeded;
}

/* --- Bottom Fixed Footer Buttons --- */
.atg-menu-footer {
  padding: 16px;
  background-color: #ffffff;
  border-top: 1px solid #eaeded;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.atg-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 14px;
  border-radius: 24px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
}

.atg-btn-dark {
  background-color: #161c24;
  color: #ffffff;
}

.atg-btn-light {
  background-color: #ffffff;
  color: #161c24;
  border: 2px solid #161c24;
}

/* ___ FAKE URL BAR (GEMINI) ___ */

/* The Mock URL Bar Panel */
.mock-url-bar {
 display: flex;
 align-items: center;
  position: fixed;
  top: 0;
  left: 0.5%;
  width: 99%;
  height: 70px;
  background: transparent;
  z-index: 200; /* Sits ABOVE the header */
  transform: translateY(-200%); /* Hidden off-screen by default */
  transition: transform 0.5s ease-in-out;
}

/* When active, slide it down */
.mock-url-bar.active {
  transform: translateY(0);
}

/* The Tap-to-Close Overlay */
.url-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(242,228,208,0.6);
  z-index: 150; /* Sits between the header and the URL bar */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease-in-out;
 -webkit-backdrop-filter: blur(4px);
 backdrop-filter: blur(4px);
}

.url-overlay.active {
  opacity: 1;
  pointer-events: auto; /* Allows tapping to close */
}

/* Container inside the bar */
.url-bar-container {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
  gap: 10px;
 border: 2px solid var(--aphelion);
 border-radius: 50px;
 background-color: var(--enigma);
 height: 65px;
 -webkit-backdrop-filter: blur(4px);
 backdrop-filter: blur(4px);
}

.close-btn {
 position: fixed;
 top: 110%;
 right: 3%;
 width: 40px;
 height: 40px;
 display: flex;
 align-items: center;
 justify-content: center;
 background-color: var(--aphelion);
 color: var(--infrastructure);
 border-radius: 50px;
 border: none;
}

.go-btn {
 position: fixed;
 top: 120%;
 right: 15%;
 width: 65px;
 height: 30px;
 display: flex;
 align-items: center;
 justify-content: center;
 background-color: var(--aphelion);
 color: var(--infrastructure);
 border-radius: 50px;
 border: none;
 font-family: 'Gruppo', sans-serif;
 font-style: bold;
}

.protocol {
 font-family: 'Gruppo', sans-serif;
 font-style: bold;
 font-size: 16px;
 color: var(--aphelion);
}

#url-input {
  background: var(--carpenter);
  border: 1px solid var(--nile);
  outline: none; 
  
  /* 2. Sizing and spacing */
  flex: 1;
  padding: 10px 15px; 
  border-radius: 25px; 
  
  /* 3. Text styling */
  color: var(--aphelion);
  font-size: 16px; 
 font-family: 'Gruppo', sans-serif;
}

/* 4. Style the placeholder text ("Enter destination URL...") */
#url-input::placeholder {
  color: var(--aphelion);
  opacity: 1; 
}

/* 5. OPTIONAL: Subtle effect when they tap into it to type */
#url-input:focus {
  border-color: var(--aphelion);
}

.search-trigger-btn {
 position: absolute;
  right: 15%;
  top: 35%;
  background: none;
  border: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

  /* --- User profile menu (GEMINI) --- */

/* Style the trigger button blankly so it doesn't mess with header layout */
#atg-uf-profile-trigger-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
}

/* Background Dimmer Overlay */
.atg-uf-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--carpenter);
  z-index: 9998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease-in-out;
 pointer-events: none;
  visibility: hidden;
}

/* The Slide-out Panel */
.atg-uf-side-panel {
  position: fixed;
  top: 0;
  right: -300px;
  width: 300px;
  height: 100vh;
  background-color: var(--infrastructure);
  color: var(--aphelion);
  box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
  z-index: 9999;
  transition: right 0.8s cubic-bezier(0.25, 1, 0.5, 1);
  box-sizing: border-box;
  padding: 20px;
}

/* --- ACTIVE STATES (Toggled by JS) --- */
.atg-uf-side-panel.atg-uf-active {
  right: 0;
}
.atg-uf-menu-overlay.atg-uf-active {
  opacity: 1;
  pointer-events: auto;
 visibility: visible;
  pointer-events: auto;
}

/* Inner Layout Elements */
#atg-uf-close-panel-btn {
  position: absolute;
  top: 15px;
  left: 15px;
  font-size: 24px;
  cursor: pointer;
  background: none !important;
  border: none !important;
  outline: none !important;
  color: inherit;
  line-height: 1;
}

.atg-uf-panel-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 40px;
  text-align: center;
}

.atg-uf-pfp-container {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--nile);
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.atg-uf-user-pfp {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.atg-uf-username {
  margin: 0 0 8px 0;
  font-size: 1.3rem;
}

.atg-uf-user-bio {
  font-size: 0.9rem;
  opacity: 0.8;
  margin: 0 0 20px 0;
  line-height: 1.4;
}

.atg-uf-panel-links {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-top: 1px solid var(--nile);
  padding-top: 20px;
}

.atg-uf-link {
  color: inherit;
  text-decoration: none;
  padding: 8px;
  border-radius: 6px;
  font-size: 0.95rem;
  transition: background 0.2s;
}

.atg-uf-link:hover {
  background: var(--nile);
}
 /* ___  SCROLL REVEAL ___ */

.card {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 1s ease, transform 1s ease;
}

.card.visible {
  opacity: 0.85;
  transform: translateY(0);
}

/* ___ PAGE CONTENT FOR EASY REMOVAL ___ */


.hero {
 position: fixed;
 column: 1 / -1;
 width: 100%;
 aspect-ratio: 3 / 4;
 background-color: var(--nile);
 z-index: 0;
}

.hero img {
 width: 100%;
 height: 100%;
}

.hero-txt {
 position: absolute;
 top: 26%;
 left: 7%;
 width: 360px;
 height: 250px;
 border-radius: 25px;
 border: 1px solid var(--chairman);
 box-shadow: var(--pyramids);
 background-color: var(--carpenter);
 color: var(--aphelion);
 line-height: 1.5;
 padding: 1.5rem;
 backdrop-filter: blur(2px);
 -webkit-backdrop-filter: blur(2px);
}

.gate {
 position: fixed;
 bottom: 10%;
 right: 10%;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 height: 30px;
 width: 120px;
 background-color: var(--aphelion);
 border-radius: 50px;
 color: var(--infrastructure);
 padding: 10px;
}

.card {
 display: flex;
 flex-direction: column;
 gap: 10px;
 width: 90%;
 background-color: var(--carpenter);
 border-radius: 15px;
 margin: 1rem auto;
 text-align: center;
 transition: opacity 1s, transform 0.6s cubic-bezier(0.4, 1, 0.8, 1);
 padding: 0.5rem;
 grid-column: 2;
 transition: scale 0.6s opacity 0.6s;
}

.card:hover {
 transform: scale(1.04);
 opacity: 1;
}

.card-intro {
 margin: -25px auto 0;
 padding: 0 0.3rem 0;
 grid-column: 2;
 text-align: center;
 line-height: 1.5;
}

.news {
 height: 220px;
 aspect-ratio: 5 / 4;
 background-color: var(--free-shipping);
 border: 1px solid var(--nile);
 border-radius: 10px;
}

.news img {
 width: 100%;
 height: 100%;
}

p.post-txt {
 margin: 0 1rem 1rem;
}