﻿/* Gemino Advisory basic styles */
:root { --blue:#0F3B5F; --gold:#C9A24A; --gray:#4a5568; --bg:#F7FAFC; }

body { font-family: Arial, sans-serif; margin:0; color:#1a202c; background:#fff; }

header {
  border-bottom:1px solid #e2e8f0;
  padding:14px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
}

.brand { display:flex; gap:10px; align-items:center; }
.brand img { height:38px; }
.brand-name { font-weight:800; color:var(--blue); line-height: 1.1; }
.brand-tagline { font-size:12px; color:var(--gray); }

.main-nav a { margin:0 10px; color:#1a202c; text-decoration:none; font-weight:600; }
.main-nav a:hover { color:var(--blue); }

.lang-switch a {
  border:1px solid #e2e8f0;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  margin-left:6px;
  text-decoration:none;
  color:#1a202c;
}
.lang-switch a:hover { border-color: var(--blue); color: var(--blue); }

.btn { display:inline-block; padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:700; }
.btn-primary { background:var(--blue); color:#fff; }
.btn-secondary { background:#fff; color:var(--blue); border:2px solid var(--blue); margin-left:10px; }

.section { padding:32px 20px; max-width:1000px; margin:0 auto; }
.section-title { color: var(--blue); margin-top: 0; }
.section-intro { color: var(--gray); max-width: 860px; }

.grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top: 16px; }
.card { border:1px solid #e2e8f0; border-radius:12px; padding:16px; background: #fff; }
.card h3 { margin:0 0 8px; color:var(--blue); }
.card p { margin: 0; color: #2d3748; line-height: 1.45; }

/* Hero */
.hero { padding:56px 20px; background:var(--bg); }
.hero-split{
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 28px;
  align-items: start;
  max-width: 1000px;
  margin: 0 auto;
}
.hero-left h1{
  color:var(--blue);
  font-size: 44px;
  line-height: 1.08;
  margin: 0 0 14px;
}
.hero-right p{
  font-size: 16px;
  line-height: 1.55;
  color: var(--gray);
  margin: 0 0 12px;
}
.hero-cta { margin-top: 18px; }

/* Service squares */
.grid-squares { margin-top: 18px; }
.card-square { min-height: 240px; }
.card-square p { font-size: 14px; }

/* After services text */
.after-services { margin-top: 18px; }
.after-services p { color: var(--gray); max-width: 920px; line-height: 1.55; }
.closing-line {
  margin-top: 18px;
  color: var(--blue);
  font-weight: 800;
  font-size: 18px;
}

/* Footer */
footer { border-top:1px solid #e2e8f0; padding:14px 20px; color:#2d3748; }

/* Coming Soon block (for other pages) */
.coming { text-align:center; padding:70px 20px; background:var(--bg); }
.coming h1 { color:var(--blue); font-size:46px; margin:0; }
.coming p { color:var(--gray); }

/* Responsive */
@media (max-width: 900px){
  .hero-split{ grid-template-columns: 1fr; }
  .hero-left h1{ font-size: 36px; }
}
@media (max-width: 720px) {
  .grid { grid-template-columns:1fr; }
  .main-nav { display:none; }
}
/* =========================
   FLOW / SPACING OVERRIDES
   Paste at the END of styles.css
   ========================= */

:root{
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
}

/* Global typography rhythm */
body { line-height: 1.55; }
p { margin: 0 0 var(--space-3); color: var(--gray); }
h1, h2, h3 { margin: 0 0 var(--space-3); }
h2 { margin-top: var(--space-5); font-size: 24px; }
h3 { margin-top: 0; font-size: 18px; line-height: 1.25; }

/* Header breathing room */
header { padding-top: 16px; padding-bottom: 16px; }

/* HERO: more air + better vertical alignment */
.hero{
  padding-top: 64px;
  padding-bottom: 56px;
}
.hero-split{
  gap: 44px;                 /* more space between columns */
}
.hero-left h1{
  margin-bottom: var(--space-4);
}
.hero-right{
  padding-top: 6px;
}
.hero-right p{
  margin-bottom: var(--space-3);
  max-width: 46ch;           /* comfortable reading width */
}

/* Buttons spacing & alignment */
.hero-cta{
  display: flex;
  align-items: center;
  gap: 12px;                 /* space between buttons */
  flex-wrap: wrap;
}

/* Section spacing and optional separator line */
.section{
  padding-top: 44px;
  padding-bottom: 44px;
}
.section + .section{
  border-top: 1px solid #eef2f7;   /* subtle separator */
}

/* Services section intro width & spacing */
.section-intro{
  margin-top: var(--space-2);
  margin-bottom: var(--space-4);
  max-width: 78ch;
}

/* Grid spacing */
.grid{
  gap: 22px;                 /* more space between cards */
  margin-top: var(--space-4);
}

/* Cards: add padding and internal rhythm */
.card{
  padding: 22px;
  border-radius: 14px;
  box-shadow: 0 1px 0 rgba(15,59,95,0.04);
}
.card p{
  color: #2d3748;
  margin-bottom: 0;          /* prevent excessive spacing inside cards */
}
.card h3{
  margin-bottom: 10px;
}

/* Make the service “squares” feel balanced */
.card-square{
  min-height: 270px;
}
.card-square p{
  font-size: 14.5px;
  line-height: 1.55;
}

/* After services block: separation and emphasis */
.after-services{
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid #eef2f7;
}
.after-services p{
  margin-bottom: var(--space-3);
  max-width: 86ch;
}
.closing-line{
  margin-top: var(--space-4);
  font-size: 20px;
}

/* Footer spacing */
footer{
  padding-top: 18px;
  padding-bottom: 18px;
  margin-top: 8px;
}

/* Responsive refinements */
@media (max-width: 900px){
  .hero{ padding-top: 52px; padding-bottom: 42px; }
  .hero-split{ gap: 22px; }
  h2{ margin-top: var(--space-4); }
  .after-services{ margin-top: var(--space-5); }
}

/* =========================
   FLOW / SPACING OVERRIDES
   Paste at the END of styles.css
   ========================= */

:root{
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
}

body { line-height: 1.55; }
p { margin: 0 0 var(--space-3); color: var(--gray); }
h1, h2, h3 { margin: 0 0 var(--space-3); }
h2 { margin-top: var(--space-5); font-size: 24px; }
h3 { margin-top: 0; font-size: 18px; line-height: 1.25; }

header { padding-top: 16px; padding-bottom: 16px; }

.hero{ padding-top: 64px; padding-bottom: 56px; }
.hero-split{ gap: 44px; }
.hero-left h1{ margin-bottom: var(--space-4); }
.hero-right{ padding-top: 6px; }
.hero-right p{ margin-bottom: var(--space-3); max-width: 46ch; }

.hero-cta{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.section{ padding-top: 44px; padding-bottom: 44px; }
.section + .section{ border-top: 1px solid #eef2f7; }

.section-intro{
  margin-top: var(--space-2);
  margin-bottom: var(--space-4);
  max-width: 78ch;
}

.grid{ gap: 22px; margin-top: var(--space-4); }

.card{
  padding: 22px;
  border-radius: 14px;
  box-shadow: 0 1px 0 rgba(15,59,95,0.04);
}
.card p{ color: #2d3748; margin-bottom: 0; }
.card h3{ margin-bottom: 10px; }

.card-square{ min-height: 270px; }
.card-square p{ font-size: 14.5px; line-height: 1.55; }

.after-services{
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid #eef2f7;
}
.after-services p{ margin-bottom: var(--space-3); max-width: 86ch; }
.closing-line{ margin-top: var(--space-4); font-size: 20px; }

footer{
  padding-top: 18px;
  padding-bottom: 18px;
  margin-top: 8px;
}

@media (max-width: 900px){
  .hero{ padding-top: 52px; padding-bottom: 42px; }
  .hero-split{ gap: 22px; }
  h2{ margin-top: var(--space-4); }
  .after-services{ margin-top: var(--space-5); }
}





/* =========================
   LAYOUT UPGRADE: Better flow + 3-column grid on large screens
   Paste at the END of styles.css
   ========================= */

:root{
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 72px;
}

body { line-height: 1.55; }
p { margin: 0 0 var(--space-3); color: var(--gray); }
h1, h2, h3 { margin: 0 0 var(--space-3); }
h2 { margin-top: var(--space-6); font-size: 26px; }
h3 { font-size: 18px; line-height: 1.25; }

header { padding-top: 16px; padding-bottom: 16px; }

.hero{
  padding-top: var(--space-7);
  padding-bottom: var(--space-6);
}
.hero-split{ gap: 48px; }
.hero-left h1{ margin-bottom: var(--space-4); }
.hero-right{ padding-top: 8px; }
.hero-right p{ max-width: 48ch; }

.hero-cta{
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.section{
  padding-top: var(--space-6);
  padding-bottom: var(--space-6);
}
.section-intro{
  margin-top: var(--space-2);
  margin-bottom: var(--space-5);
  max-width: 82ch;
}

.grid{ gap: 22px; margin-top: var(--space-4); }
.card{
  padding: 24px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(15,59,95,0.04);
}
.card h3{ margin-bottom: 10px; }
.card p{ margin-bottom: 0; color: #2d3748; line-height: 1.55; }
.card-square{ min-height: 280px; }
.card-square p{ font-size: 14.5px; }

.after-services{
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid #eef2f7;
}
.after-services p{ max-width: 90ch; }
.closing-line{
  margin-top: var(--space-4);
  font-size: 20px;
  font-weight: 800;
  color: var(--blue);
}

/* 3-column on large screens */
.grid{ grid-template-columns: 1fr 1fr; }

@media (min-width: 1200px){
  .grid{ grid-template-columns: 1fr 1fr 1fr; }
}

@media (max-width: 1199px){
  .grid{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px){
  .grid{ grid-template-columns: 1fr; }
  .main-nav { display:none; }
}

@media (max-width: 900px){
  .hero{ padding-top: var(--space-6); padding-bottom: var(--space-5); }
  .hero-split{ grid-template-columns: 1fr; gap: 22px; }
  .hero-left h1{ font-size: 36px; }
}

/* === GEMINO OVERRIDE v7 START === */

/* Palette */
:root{
  --ink:#0b1f3b;      /* headlines & titles */
  --body:#334155;     /* dark gray body text */
  --gold:#C9A24A;     /* underline */
  --bg:#F7FAFC;

  --maxw: 1000px;

  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 72px;
}

/* Typography: ink for headings, gray for body */
body{ color: var(--body); }
p{ color: var(--body); line-height: 1.7; }
.card p{ color: var(--body); }

h1,h2,h3,.section-title,.brand a,.main-nav a, footer{ color: var(--ink); }
a{ color: var(--ink); text-decoration: none; }
a:hover{ text-decoration: underline; text-decoration-color: var(--gold); }

/* Header: group logo closer to nav, language to far right */
header{
  justify-content: flex-start;
  gap: 18px;
}
.main-nav{
  margin-left: 10px;  /* pulls nav closer to logo */
}
.lang-switch{
  margin-left: auto;  /* pushes language pills to right */
}

/* Hide brand text; keep only logo */
.brand-name, .brand-tagline{ display:none !important; }
.brand{ gap: 0 !important; }

/* Slightly larger logo */
.brand img{ height: 52px; }

/* Language pills styling for flags */
.lang-switch a{
  font-size: 16px;
  line-height: 1;
  padding: 6px 10px;
}

/* Hero spacing */
.hero{
  padding-top: var(--space-7);
  padding-bottom: var(--space-6);
}
.hero-split{ gap: 52px; }
.hero-right p{ max-width: 52ch; }

/* Buttons spacing */
.hero-cta{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 18px;
}

/* Section rhythm */
.section{
  padding-top: var(--space-6);
  padding-bottom: var(--space-6);
}
.section-intro{
  max-width: 90ch;
  margin-bottom: var(--space-5);
}

/* Gold underline on section titles */
.section-title{
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
}
.section-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:84px;
  height:4px;
  background:var(--gold);
  border-radius: 6px;
}

/* Grid */
.grid{ gap: 24px; margin-top: var(--space-4); grid-template-columns: 1fr 1fr; }
@media (min-width: 1200px){
  .grid{ grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 720px){
  .grid{ grid-template-columns: 1fr; }
}

/* Cards: more breathing + centered content */
.card{ padding: 26px; border-radius: 14px; }
.card-square{
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: center;   /* center vertically */
  gap: 12px;
}

/* Editorial block: align with card text height */
.after-services-card{
  background: transparent;
  border: none;
  padding: 0;
}

@media (min-width: 1200px){
  .after-services-card{
    grid-column: 2 / 4;       /* fill the right-side space */
    min-height: 360px;        /* same height as cards */
    display: flex;
    flex-direction: column;
    justify-content: center;  /* aligns the text vertically with card text */
  }
}

@media (max-width: 1199px){
  .after-services-card{
    grid-column: 1 / -1;
    margin-top: var(--space-5);
  }
}

/* Closing line: centered + italic + bigger */
.after-services-card .closing-line{
  text-align: center;
  margin-top: var(--space-4);
  font-weight: 800;
  font-style: italic;
  font-size: 22px;
  color: var(--ink);
}

/* Footer breathing */
footer{
  padding-top: 18px;
  padding-bottom: 18px;
  color: var(--ink);
}

/* Responsive hero */
@media (max-width: 900px){
  .hero{ padding-top: var(--space-6); padding-bottom: var(--space-5); }
  .hero-split{ grid-template-columns: 1fr; gap: 22px; }
  .hero-left h1{ font-size: 36px; }
}

/* === GEMINO OVERRIDE v7 END === */

