@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root{
    --cream:#fffaf6;
    --peach:#fff0e9;
    --peach-soft:#fff6f1;
    --peach-deep:#c47760;
    --peach-dark:#a85f4b;
    --green:#183f37;
    --green-2:#28584e;
    --ink:#193a34;
    --muted:#6d7c78;
    --line:#eadbd3;
    --white:#ffffff;
    --shadow:0 22px 60px rgba(77,48,38,.10);
    --shadow-soft:0 10px 30px rgba(77,48,38,.07);
    --radius:28px;
    --radius-sm:18px;
    --max:1180px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:"DM Sans",sans-serif;
    font-size:16px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
}

img{
    max-width:100%;
    height:auto;
}

a{
    color:inherit;
}

.wrap{
    width:min(calc(100% - 40px),var(--max));
    margin:0 auto;
}

/* =========================
   NAVIGATION
   ========================= */

.nav,
header.nav{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,250,246,.92);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(234,219,211,.65);
}

.nav .wrap,
header.nav .wrap{
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.brand{
    color:var(--green);
    font-size:18px;
    font-weight:800;
    letter-spacing:-.03em;
    text-decoration:none;
}

.nav a{
    text-decoration:none;
    color:var(--green);
    font-size:14px;
    font-weight:600;
    transition:.25s ease;
}

.nav a:hover{
    color:var(--peach-deep);
}

/* =========================
   HERO
   ========================= */

.hero{
    position:relative;
    overflow:hidden;
    padding:110px 0 100px;
    background:
        radial-gradient(circle at 82% 18%,rgba(196,119,96,.18),transparent 25%),
        radial-gradient(circle at 12% 80%,rgba(255,215,200,.55),transparent 30%),
        linear-gradient(135deg,#fffaf6 0%,#fff0e9 55%,#fffaf6 100%);
}

.hero:before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-150px;
    top:-170px;
    border-radius:50%;
    background:rgba(196,119,96,.12);
}

.hero h1{
    max-width:850px;
    margin:0 0 26px;
    color:var(--green);
    font-family:"Playfair Display",serif;
    font-size:clamp(48px,7vw,88px);
    font-weight:600;
    letter-spacing:-.055em;
    line-height:.98;
}

.hero h1 em,
.hero .accent{
    color:var(--peach-deep);
    font-style:italic;
}

.hero p{
    max-width:700px;
    margin:0 0 34px;
    color:#58706a;
    font-size:19px;
    line-height:1.8;
}

.hero .actions,
.actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    align-items:center;
}

/* =========================
   BUTTONS
   ========================= */

.btn,
.button,
.hero a.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:13px 24px;
    border:1px solid var(--green);
    border-radius:999px;
    background:var(--green);
    color:#fff;
    font-family:"DM Sans",sans-serif;
    font-weight:700;
    font-size:14px;
    text-decoration:none;
    cursor:pointer;
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}

.btn:hover,
.button:hover,
.hero a.btn:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(24,63,55,.18);
}

.btn.secondary,
.btn.ghost,
.button.secondary{
    background:transparent;
    color:var(--green);
    border-color:#cbbdb5;
}

.btn.secondary:hover,
.btn.ghost:hover{
    background:#fff;
}

/* =========================
   EYEBROW
   ========================= */

.eyebrow{
    display:inline-block;
    margin-bottom:16px;
    color:var(--peach-deep);
    font-size:12px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}

/* =========================
   SECTIONS
   ========================= */

.section{
    position:relative;
    padding:100px 0;
    background:var(--cream);
}

.section.dark{
    background:var(--green);
    color:#fff;
}

.section.peach{
    background:var(--peach);
}

.section h2{
    max-width:800px;
    margin:0 0 20px;
    color:var(--green);
    font-family:"Playfair Display",serif;
    font-size:clamp(36px,5vw,60px);
    font-weight:600;
    letter-spacing:-.04em;
    line-height:1.08;
}

.section.dark h2{
    color:#fff;
}

.section p{
    color:var(--muted);
}

.section.dark p{
    color:#d6e1dc;
}

/* =========================
   GRIDS
   ========================= */

.grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:45px;
}

.grid.two{
    grid-template-columns:repeat(2,1fr);
}

.grid.four{
    grid-template-columns:repeat(4,1fr);
}

.card{
    position:relative;
    min-height:220px;
    padding:30px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:rgba(255,255,255,.78);
    box-shadow:var(--shadow-soft);
    overflow:hidden;
    transition:transform .3s ease,box-shadow .3s ease;
}

.card:before{
    content:"";
    position:absolute;
    width:130px;
    height:130px;
    right:-55px;
    top:-55px;
    border-radius:50%;
    background:rgba(196,119,96,.12);
}

.card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.card strong{
    position:relative;
    display:block;
    margin-bottom:12px;
    color:var(--green);
    font-size:19px;
}

.card .muted,
.muted{
    color:var(--muted);
}

/* =========================
   SERVICE CARDS
   ========================= */

.services .card,
.service-grid .card{
    min-height:260px;
}

.service-number{
    display:inline-flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    margin-bottom:28px;
    border-radius:14px;
    background:var(--peach);
    color:var(--peach-dark);
    font-weight:800;
}

/* =========================
   WORKFLOW
   ========================= */

.workflow{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-top:45px;
}

.workflow > div{
    min-height:145px;
    padding:24px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.workflow strong{
    color:var(--green);
    font-size:17px;
}

.workflow span{
    color:var(--muted);
    font-size:13px;
}

/* =========================
   QUOTE / FEATURE
   ========================= */

.quote{
    max-width:850px;
    margin:0;
    padding-left:28px;
    border-left:4px solid var(--peach-deep);
    color:var(--green);
    font-family:"Playfair Display",serif;
    font-size:clamp(28px,4vw,48px);
    line-height:1.25;
}

.quote small{
    display:block;
    margin-top:18px;
    color:var(--muted);
    font-family:"DM Sans",sans-serif;
    font-size:14px;
}

/* =========================
   CONTACT
   ========================= */

.contactbox{
    position:relative;
    padding:65px;
    border-radius:36px;
    background:
        radial-gradient(circle at 90% 10%,rgba(255,255,255,.35),transparent 24%),
        linear-gradient(135deg,var(--peach),#f8d6c7);
    box-shadow:var(--shadow);
    overflow:hidden;
}

.contactbox h2{
    max-width:720px;
}

.contactlink{
    display:inline-flex;
    margin-top:15px;
    color:var(--green);
    font-size:18px;
    font-weight:800;
    text-decoration:none;
}

/* =========================
   TABLES / FORMS
   ========================= */

table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
}

th,
td{
    padding:14px 16px;
    border-bottom:1px solid var(--line);
    text-align:left;
}

th{
    color:var(--green);
    background:var(--peach-soft);
}

input,
textarea,
select{
    width:100%;
    padding:13px 15px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    color:var(--ink);
    font:inherit;
}

/* =========================
   FOOTER
   ========================= */

footer{
    padding:35px 0;
    background:var(--green);
    color:#dce8e3;
}

footer .wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

footer a{
    color:#fff;
}

/* =========================
   DARK MODE
   ========================= */

body.darkmode{
    --cream:#101b18;
    --peach:#241916;
    --peach-soft:#211917;
    --green:#f4ebe6;
    --green-2:#d9c1b6;
    --ink:#f5eeea;
    --muted:#b8aaa4;
    --line:#3a302c;
    --white:#18221f;
    --shadow:0 22px 60px rgba(0,0,0,.28);
    --shadow-soft:0 10px 30px rgba(0,0,0,.20);
    background:#101b18;
}

body.darkmode .nav,
body.darkmode header.nav{
    background:rgba(16,27,24,.92);
    border-color:#303d39;
}

body.darkmode .hero{
    background:
        radial-gradient(circle at 82% 18%,rgba(196,119,96,.20),transparent 25%),
        linear-gradient(135deg,#101b18,#211916);
}

body.darkmode .hero p,
body.darkmode .section p{
    color:#bdb3ae;
}

body.darkmode .card,
body.darkmode .workflow > div,
body.darkmode table{
    background:#18221f;
    border-color:#35433e;
}

body.darkmode .contactbox{
    background:linear-gradient(135deg,#2d211d,#3a2722);
}

body.darkmode input,
body.darkmode textarea,
body.darkmode select{
    background:#18221f;
    border-color:#35433e;
    color:#f5eeea;
}

/* =========================
   MOBILE
   ========================= */

@media(max-width:900px){

    .wrap{
        width:min(calc(100% - 28px),var(--max));
    }

    .hero{
        padding:75px 0 70px;
    }

    .section{
        padding:75px 0;
    }

    .grid,
    .grid.four,
    .workflow{
        grid-template-columns:repeat(2,1fr);
    }

    .contactbox{
        padding:40px 28px;
    }
}

@media(max-width:640px){

    .wrap{
        width:calc(100% - 24px);
    }

    .nav .wrap,
    header.nav .wrap{
        min-height:68px;
    }

    .nav a{
        font-size:13px;
    }

    .hero{
        padding:60px 0 55px;
    }

    .hero h1{
        font-size:48px;
    }

    .hero p{
        font-size:16px;
        line-height:1.65;
    }

    .hero .actions,
    .actions{
        align-items:stretch;
        flex-direction:column;
    }

    .btn,
    .button,
    .hero a.btn{
        width:100%;
    }

    .section{
        padding:60px 0;
    }

    .section h2{
        font-size:38px;
    }

    .grid,
    .grid.two,
    .grid.four,
    .workflow{
        grid-template-columns:1fr;
    }

    .card{
        min-height:0;
        padding:25px;
    }

    .workflow > div{
        min-height:120px;
    }

    .quote{
        font-size:30px;
        padding-left:20px;
    }

    footer .wrap{
        flex-direction:column;
        align-items:flex-start;
    }
}

/* =========================
   ACCESSIBILITY
   ========================= */

:focus-visible{
    outline:3px solid rgba(196,119,96,.45);
    outline-offset:3px;
}

::selection{
    background:#f4c7b5;
    color:var(--green);
}

/* =========================================
   GEST PHASE 91C
   HEADER / BRAND / NAV REFINEMENT
   ========================================= */

/* GEST company name — single line */
.brand,
header .brand,
.nav .brand {
    display:inline-flex !important;
    align-items:center;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    width:auto !important;
    max-width:none !important;
    color:#183f37 !important;
    font-family:"DM Sans",sans-serif !important;
    font-size:24px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:-.045em !important;
}

/* Prevent PHP/template spans from forcing a second line */
.brand span,
header .brand span,
.nav .brand span {
    display:inline !important;
    white-space:nowrap !important;
}

/* Header height and alignment */
header.nav,
.nav {
    min-height:82px !important;
}

header.nav .wrap,
.nav .wrap {
    min-height:82px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
}

/* Navigation links */
header.nav a,
.nav a {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:nowrap !important;
    margin:0 !important;
    padding:8px 4px !important;
    color:#183f37 !important;
    font-family:"DM Sans",sans-serif !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    text-decoration:none !important;
}

/* Navigation group if present */
.nav nav,
header.nav nav,
.nav .links,
header.nav .links {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:28px !important;
    flex-wrap:nowrap !important;
}

/* If navigation is directly inside header */
header.nav > div:last-child,
.nav > div:last-child {
    display:flex !important;
    align-items:center !important;
    gap:24px !important;
    white-space:nowrap !important;
}

/* CTA / Talk to GEST */
.nav a[href*="contact"],
.nav a[href*="talk"],
header.nav a[href*="contact"],
header.nav a[href*="talk"] {
    padding:11px 20px !important;
    border:1px solid #183f37 !important;
    border-radius:999px !important;
    font-weight:700 !important;
    background:transparent !important;
}

/* Mobile header */
@media(max-width:900px){

    .brand,
    header .brand,
    .nav .brand {
        font-size:20px !important;
    }

    header.nav .wrap,
    .nav .wrap {
        min-height:70px !important;
        gap:16px !important;
    }

    header.nav nav,
    .nav nav,
    .nav .links,
    header.nav .links {
        gap:15px !important;
    }

    header.nav a,
    .nav a {
        font-size:13px !important;
    }
}

@media(max-width:640px){

    .brand,
    header .brand,
    .nav .brand {
        font-size:17px !important;
        letter-spacing:-.035em !important;
    }

    header.nav .wrap,
    .nav .wrap {
        overflow-x:auto !important;
        scrollbar-width:none !important;
    }

    header.nav .wrap::-webkit-scrollbar,
    .nav .wrap::-webkit-scrollbar {
        display:none !important;
    }

    header.nav nav,
    .nav nav,
    .nav .links,
    header.nav .links {
        gap:12px !important;
    }

    header.nav a,
    .nav a {
        font-size:12px !important;
        padding:7px 2px !important;
    }
}

/* =========================================
   END PHASE 91C
   ========================================= */

/* =========================================================
   GEST HEADER FINAL — BRAND + NAVIGATION
   ========================================================= */

header .brand,
.nav .brand,
header.nav .brand,
.brand {
    display:block !important;
    width:max-content !important;
    min-width:max-content !important;
    max-width:none !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    overflow:visible !important;

    color:#183f37 !important;
    font-family:"DM Sans",Arial,sans-serif !important;
    font-size:30px !important;
    font-weight:800 !important;
    letter-spacing:-1.25px !important;
    line-height:1 !important;
    text-decoration:none !important;
}

header .brand *,
.nav .brand *,
header.nav .brand *,
.brand * {
    display:inline !important;
    white-space:nowrap !important;
}

/* Header itself */
header.nav,
.nav {
    width:100% !important;
    min-height:86px !important;
}

header.nav .wrap,
.nav .wrap {
    width:min(1180px,calc(100% - 40px)) !important;
    min-height:86px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
    gap:40px !important;
}

/* Navigation container */
header.nav nav,
.nav nav,
header.nav .links,
.nav .links {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    gap:30px !important;
    width:auto !important;
    flex:0 0 auto !important;
}

/* Navigation links */
header.nav nav a,
.nav nav a,
header.nav .links a,
.nav .links a {
    display:inline-flex !important;
    align-items:center !important;
    white-space:nowrap !important;

    margin:0 !important;
    padding:8px 2px !important;

    color:#183f37 !important;
    font-family:"DM Sans",Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    text-decoration:none !important;
}

/* Consistent hover */
header.nav nav a:hover,
.nav nav a:hover,
header.nav .links a:hover,
.nav .links a:hover {
    color:#c47760 !important;
}

/* Talk to GEST button */
header.nav nav a[href*="contact"],
header.nav nav a[href*="talk"],
.nav nav a[href*="contact"],
.nav nav a[href*="talk"] {
    padding:11px 20px !important;
    border:1px solid #183f37 !important;
    border-radius:999px !important;
    background:transparent !important;
    font-weight:700 !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:900px){

    header.nav .wrap,
    .nav .wrap {
        width:calc(100% - 28px) !important;
        gap:20px !important;
    }

    header .brand,
    .nav .brand,
    header.nav .brand,
    .brand {
        font-size:23px !important;
        letter-spacing:-.9px !important;
    }

    header.nav nav,
    .nav nav,
    header.nav .links,
    .nav .links {
        gap:18px !important;
    }

    header.nav nav a,
    .nav nav a,
    header.nav .links a,
    .nav .links a {
        font-size:13px !important;
    }
}

@media(max-width:640px){

    header.nav .wrap,
    .nav .wrap {
        width:calc(100% - 20px) !important;
        gap:15px !important;
        overflow-x:auto !important;
        scrollbar-width:none !important;
    }

    header.nav .wrap::-webkit-scrollbar,
    .nav .wrap::-webkit-scrollbar {
        display:none !important;
    }

    header .brand,
    .nav .brand,
    header.nav .brand,
    .brand {
        font-size:19px !important;
        letter-spacing:-.65px !important;
    }

    header.nav nav,
    .nav nav,
    header.nav .links,
    .nav .links {
        gap:13px !important;
    }

    header.nav nav a,
    .nav nav a,
    header.nav .links a,
    .nav .links a {
        font-size:12px !important;
    }
}


/* =========================================================
   GEST FINAL HEADER — SINGLE LINE BRAND
   ========================================================= */

header.nav .brand,
.nav .brand,
header .brand,
.brand {
    display:inline-block !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:max-content !important;
    max-width:none !important;

    white-space:nowrap !important;
    word-break:keep-all !important;
    overflow:visible !important;

    font-family:"DM Sans",Arial,sans-serif !important;
    font-size:28px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:-1.05px !important;

    color:#183f37 !important;
}

/* Header layout */
header.nav .wrap,
.nav .wrap {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
    gap:32px !important;
}

/* Navigation */
header.nav nav,
.nav nav,
header.nav .links,
.nav .links {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex:0 1 auto !important;
    min-width:0 !important;
    gap:24px !important;
    white-space:nowrap !important;
}

header.nav nav a,
.nav nav a,
header.nav .links a,
.nav .links a {
    white-space:nowrap !important;
    flex:0 0 auto !important;
    font-family:"DM Sans",Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:600 !important;
}

/* Mobile — still ONE LINE */
@media(max-width:900px) {
    header.nav .brand,
    .nav .brand,
    header .brand,
    .brand {
        font-size:23px !important;
        letter-spacing:-.8px !important;
    }

    header.nav .wrap,
    .nav .wrap {
        gap:20px !important;
    }

    header.nav nav,
    .nav nav,
    header.nav .links,
    .nav .links {
        gap:16px !important;
    }
}

@media(max-width:640px) {
    header.nav .brand,
    .nav .brand,
    header .brand,
    .brand {
        font-size:20px !important;
        letter-spacing:-.65px !important;
    }

    header.nav .wrap,
    .nav .wrap {
        overflow-x:auto !important;
        scrollbar-width:none !important;
    }

    header.nav .wrap::-webkit-scrollbar,
    .nav .wrap::-webkit-scrollbar {
        display:none !important;
    }
}


/* GEST BRAND — SINGLE LINE */
.brand,
header .brand,
.nav .brand,
header.nav .brand {
    display: inline-block !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: visible !important;

    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 30px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: -1px !important;
    color: #183f37 !important;
}


/* GEST BRAND — EXACT FINAL STYLE */
.brand,
.nav .brand,
header .brand,
header.nav .brand {
    display: inline-block !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;

    white-space: nowrap !important;
    word-break: normal !important;
    overflow: visible !important;

    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -0.8px !important;

    color: #183f37 !important;
}


/* =========================================================
   GEST NAVIGATION — DIRECT .navin LINKS
   ========================================================= */

header.nav .navin > a {
    display: inline-flex !important;
    align-items: center !important;
    position: relative !important;
    z-index: 1002 !important;

    color: #183f37 !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    pointer-events: auto !important;
    cursor: pointer !important;

    margin: 0 !important;
    padding: 8px 2px !important;

    font-family: "DM Sans", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

header.nav .navin > a:hover {
    color: #c47760 !important;
}

header.nav .navin {
    position: relative !important;
    z-index: 1001 !important;
}

header.nav {
    position: relative !important;
    z-index: 1000 !important;
}


/* GEST FINAL STICKY NAVIGATION */
header.nav {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    width: 100% !important;
}

header.nav .navin {
    position: relative !important;
    z-index: 10000 !important;
}

header.nav .navin > a,
header.nav .navin > button {
    position: relative !important;
    z-index: 10001 !important;
    pointer-events: auto !important;
}

html {
    scroll-behavior: smooth;
}

section[id] {
    scroll-margin-top: 100px !important;
}

/* Keep the navigation visually above decorative page elements */
header.nav::before,
header.nav::after {
    z-index: -1 !important;
}


/* =========================================================
   GEST SERVICE DETAIL PAGES
   ========================================================= */

.service-card-link {
    display:block !important;
    color:inherit !important;
    text-decoration:none !important;
    cursor:pointer !important;
    transition:
        transform .2s ease,
        box-shadow .2s ease !important;
}

.service-card-link:hover {
    transform:translateY(-5px) !important;
    box-shadow:0 18px 45px rgba(24,63,55,.12) !important;
}

.service-card-link strong {
    color:#183f37 !important;
}

.service-card-link p {
    color:#5d7180 !important;
}

.service-detail-hero {
    padding:110px 0 80px;
    background:linear-gradient(
        135deg,
        #fff8f4 0%,
        #fde9e1 100%
    );
}

.service-detail-hero h1 {
    max-width:900px;
    margin:14px 0 22px;
    font-size:clamp(48px,7vw,92px);
    line-height:.98;
    letter-spacing:-3px;
    color:#183f37;
}

.service-detail-lead {
    max-width:760px;
    font-size:20px;
    line-height:1.7;
    color:#5d7180;
}

.detail-back {
    display:inline-block;
    margin-top:25px;
    color:#183f37;
    font-weight:700;
    text-decoration:none;
}

.detail-back:hover {
    color:#c47760;
}

.service-detail-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.service-detail-card {
    position:relative;
    padding:38px;
    min-height:230px;
    background:#fffdfb;
    border:1px solid rgba(24,63,55,.10);
    border-radius:28px;
    box-shadow:0 12px 35px rgba(24,63,55,.06);
}

.service-detail-card h2 {
    margin:25px 0 12px;
    color:#183f37;
    font-size:25px;
}

.service-detail-card p {
    margin:0;
    color:#5d7180;
    line-height:1.75;
}

.detail-card-number {
    display:inline-flex;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:#fff0e9;
    color:#c47760;
    font-weight:800;
}

.service-page-nav {
    display:flex;
    align-items:center;
    gap:26px;
}

.service-page-nav a {
    color:#183f37;
    text-decoration:none;
    font-weight:600;
    white-space:nowrap;
}

.service-page-nav a:hover {
    color:#c47760;
}

.service-page-nav .talk-button {
    border:1px solid #183f37;
    border-radius:999px;
    padding:11px 20px;
}

@media (max-width:900px) {

    .service-detail-grid {
        grid-template-columns:1fr;
    }

    .service-page-nav {
        gap:12px;
    }

}

@media (max-width:700px) {

    .service-page-nav {
        display:none;
    }

    .service-detail-hero {
        padding:75px 0 55px;
    }

    .service-detail-hero h1 {
        letter-spacing:-2px;
    }

    .service-detail-card {
        padding:28px;
    }

}


/* =========================================================
   GEST SERVICE CONTENT EXPANSION
   ========================================================= */

.service-overview {
    background:#fffdfb;
}

.service-copy {
    max-width:900px;
    margin:0 auto;
}

.service-paragraph {
    margin:0 0 25px;
    color:#536b78;
    font-size:18px;
    line-height:1.85;
}

.service-capabilities-section h2,
.service-flow-section h2 {
    max-width:800px;
    margin:12px 0 35px;
    color:#183f37;
    font-size:clamp(36px,5vw,60px);
    line-height:1.05;
    letter-spacing:-1.5px;
}

.service-capabilities {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.service-capability {
    padding:32px;
    background:#fffdfb;
    border:1px solid rgba(24,63,55,.10);
    border-radius:24px;
    transition:transform .2s ease,box-shadow .2s ease;
}

.service-capability:hover {
    transform:translateY(-4px);
    box-shadow:0 16px 35px rgba(24,63,55,.08);
}

.service-capability h3 {
    margin:0 0 12px;
    color:#183f37;
    font-size:22px;
}

.service-capability p {
    margin:0;
    color:#5d7180;
    line-height:1.7;
}

.service-flow-section {
    background:#fffdfb;
}

.flow-intro {
    max-width:760px;
    color:#5d7180;
    font-size:18px;
    line-height:1.75;
    margin-bottom:42px;
}

.gest-flow {
    display:flex;
    align-items:stretch;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}

.flow-step {
    min-width:125px;
    min-height:110px;
    padding:20px 18px;
    border-radius:20px;
    border:1px solid rgba(24,63,55,.12);
    background:#fff8f4;
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
    box-shadow:0 8px 25px rgba(24,63,55,.05);
}

.flow-step span {
    display:block;
    margin-bottom:10px;
    color:#c47760;
    font-size:12px;
    font-weight:800;
    letter-spacing:1px;
}

.flow-step strong {
    color:#183f37;
    font-size:15px;
    line-height:1.3;
}

.flow-arrow {
    display:flex;
    align-items:center;
    justify-content:center;
    color:#c47760;
    font-size:28px;
    font-weight:700;
}

.service-highlight {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
    padding:55px;
    border-radius:32px;
    background:#fff8f4;
    border:1px solid rgba(24,63,55,.08);
}

.service-highlight h2 {
    margin:12px 0 0;
    color:#183f37;
    font-size:clamp(34px,4vw,54px);
    line-height:1.05;
}

.service-highlight p {
    margin:0;
    color:#5d7180;
    font-size:18px;
    line-height:1.8;
}

@media (max-width:900px) {

    .service-capabilities {
        grid-template-columns:1fr;
    }

    .service-highlight {
        grid-template-columns:1fr;
        gap:30px;
        padding:38px;
    }

    .flow-arrow {
        transform:rotate(90deg);
    }

}

@media (max-width:600px) {

    .service-paragraph {
        font-size:16px;
        line-height:1.75;
    }

    .service-capability {
        padding:26px;
    }

    .service-highlight {
        padding:28px;
        border-radius:24px;
    }

    .gest-flow {
        flex-direction:column;
        align-items:stretch;
    }

    .flow-step {
        width:100%;
        min-width:0;
    }

    .flow-arrow {
        height:25px;
        transform:rotate(90deg);
    }

}

/* =========================================================
   GEST SERVICE PAGES — COMPACT HERO / CONTENT SPACING
   ========================================================= */

.service-detail-hero {
    padding:78px 0 58px !important;
}

.service-detail-hero h1 {
    margin-top:12px !important;
    margin-bottom:18px !important;
}

.service-detail-lead {
    margin-bottom:0 !important;
}

.service-overview {
    padding:68px 0 !important;
}

.service-capabilities-section,
.service-flow-section {
    padding:78px 0 !important;
}

/* Keep service content clearly visible after hero */
.service-copy {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

.service-paragraph {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

.service-capabilities,
.service-capability,
.service-flow-section,
.gest-flow,
.service-highlight {
    visibility:visible !important;
    opacity:1 !important;
}

@media (max-width:700px) {

    .service-detail-hero {
        padding:60px 0 45px !important;
    }

    .service-overview {
        padding:55px 0 !important;
    }

}


/* =========================================================
   GEST FRONT TAB PAGES
   ========================================================= */

.front-tab-page .service-detail-hero {
    padding:78px 0 58px !important;
}

.front-tab-page .service-overview {
    padding:68px 0 !important;
}

.front-tab-page .service-paragraph {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

.front-tab-page .service-capabilities,
.front-tab-page .service-flow-section,
.front-tab-page .service-highlight {
    visibility:visible !important;
    opacity:1 !important;
}



/* GEST METADATA LIFECYCLE BOXES */

.metadata-life-box {
    display:block;
    text-decoration:none;
    color:inherit;
    cursor:pointer;
    padding:18px 22px;
    margin:8px 0;
    border:1px solid rgba(24,63,55,.15);
    border-radius:18px;
    background:rgba(255,255,255,.72);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.metadata-life-box:hover {
    transform:translateY(-2px);
    border-color:rgba(196,119,96,.45);
    box-shadow:0 10px 30px rgba(24,63,55,.08);
}

.metadata-life-box strong,
.metadata-life-box h3 {
    color:#183f37;
}

.metadata-life-box:hover strong,
.metadata-life-box:hover h3 {
    color:#c47760;
}



/* GEST OJS OMP CAPABILITY BOXES */

.ojs-capability-box {
    display:block;
    color:inherit;
    text-decoration:none;
    cursor:pointer;
}

.ojs-capability-box:hover h3,
.ojs-capability-title-link:hover {
    color:#c47760 !important;
}

.ojs-capability-title-link {
    color:inherit;
    text-decoration:none;
}

.ojs-capability-box > article,
.ojs-capability-box > div {
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.ojs-capability-box:hover > article,
.ojs-capability-box:hover > div {
    transform:translateY(-3px);
    box-shadow:0 10px 30px rgba(24,63,55,.08);
}


/* =========================================================
   GEST BRAND — FINAL SIZE / SINGLE LINE
   Do not change navigation or page content
   ========================================================= */

header.nav .brand,
.nav .brand,
header.nav a.brand,
.nav a.brand {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:auto !important;
    max-width:none !important;

    white-space:nowrap !important;
    word-break:normal !important;
    overflow:visible !important;

    color:#183f37 !important;
    font-family:"DM Sans", Arial, sans-serif !important;

    font-size:28px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:-0.7px !important;

    text-decoration:none !important;
}

header.nav .brand span,
.nav .brand span {
    white-space:nowrap !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    line-height:inherit !important;
}

@media (max-width:900px) {
    header.nav .brand,
    .nav .brand,
    header.nav a.brand,
    .nav a.brand {
        font-size:24px !important;
        letter-spacing:-0.5px !important;
    }
}

@media (max-width:600px) {
    header.nav .brand,
    .nav .brand,
    header.nav a.brand,
    .nav a.brand {
        font-size:20px !important;
        letter-spacing:-0.3px !important;
    }
}

/* Keep the header tall enough for the larger brand */
header.nav,
.nav {
    min-height:86px !important;
}

header.nav .wrap,
.nav .wrap {
    min-height:86px !important;
    display:flex !important;
    align-items:center !important;
}


/* GEST SERVICE BOX LINKS
   Content-only styling. Main navigation untouched. */

.gest-service-box-link{
    display:block;
    color:inherit;
    text-decoration:none;
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease;
}

.gest-service-box-link:hover{
    color:inherit;
    text-decoration:none;
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(34,48,52,.08);
}

.gest-service-box-link h3{
    color:#173f45;
}

.gest-service-box-link p{
    color:#5d6b70;
}



/* ============================================================
   GEST — SERVICE BOX FINAL VISUAL SYSTEM
   HEADER / NAVIGATION NOT TOUCHED
   ============================================================ */

main .cap.gest-service-box-link{
    display:block !important;
    position:relative !important;
    box-sizing:border-box !important;
    width:100% !important;
    min-height:245px !important;
    padding:28px !important;
    margin:0 !important;
    background:#fff8f4 !important;
    border:1px solid #eadbd4 !important;
    border-radius:24px !important;
    box-shadow:0 8px 24px rgba(34,48,52,.055) !important;
    color:#173f45 !important;
    text-decoration:none !important;
    overflow:hidden !important;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease !important;
}

main .cap.gest-service-box-link::after{
    content:"" !important;
    position:absolute !important;
    width:105px !important;
    height:105px !important;
    right:-32px !important;
    top:-32px !important;
    border-radius:50% !important;
    background:#f3ddd3 !important;
    pointer-events:none !important;
}

main .cap.gest-service-box-link > span{
    position:relative !important;
    z-index:2 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    margin:0 0 24px !important;
    border-radius:14px !important;
    background:#fff0e9 !important;
    border:1px solid #f0d9cf !important;
    color:#c96f57 !important;
    font-size:13px !important;
    font-weight:700 !important;
}

main .cap.gest-service-box-link h3{
    position:relative !important;
    z-index:2 !important;
    margin:0 0 15px !important;
    color:#173f45 !important;
    font-family:inherit !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.55 !important;
}

main .cap.gest-service-box-link p{
    position:relative !important;
    z-index:2 !important;
    margin:0 !important;
    color:#5d6b70 !important;
    font-family:inherit !important;
    font-size:13px !important;
    line-height:1.8 !important;
}

main .cap.gest-service-box-link:hover{
    transform:translateY(-4px) !important;
    border-color:#e58a70 !important;
    box-shadow:0 14px 32px rgba(34,48,52,.10) !important;
}

main .grid4{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:20px !important;
}

@media(max-width:700px){
    main .grid4{
        grid-template-columns:1fr !important;
    }
}

/* ============================================================
   GEST — SIX SERVICE CARDS
   SAME PEACH ROUNDED BOX LANGUAGE
   TARGET: #gest-services ONLY
   HEADER / NAVIGATION UNTOUCHED
   ============================================================ */

#gest-services .gest-service-card-link{
    display:block !important;
    color:#173f45 !important;
    text-decoration:none !important;
    transition:color .18s ease !important;
}

#gest-services .gest-service-card-link:hover{
    color:#c96f57 !important;
    text-decoration:none !important;
}

#gest-services .gest-service-card{
    background:#fff8f4 !important;
    border:1px solid #eadbd4 !important;
    border-radius:22px !important;
    box-shadow:0 8px 24px rgba(34,48,52,.055) !important;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease !important;
}

#gest-services .gest-service-card:hover{
    transform:translateY(-3px) !important;
    border-color:#e58a70 !important;
    box-shadow:0 14px 30px rgba(34,48,52,.09) !important;
}

#gest-services .gest-service-number{
    background:#fff0e9 !important;
    border:1px solid #f0d9cf !important;
    color:#c96f57 !important;
}

#gest-services .gest-service-card h3{
    color:#173f45 !important;
}

#gest-services .gest-service-card p{
    color:#5d6b70 !important;
}


/* ============================================================
   GEST — SIX SERVICE SECTION FINAL VISIBILITY
   ============================================================ */

#gest-services{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    width:100% !important;
    clear:both !important;
    overflow:visible !important;
}

#gest-services .wrap{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

#gest-services .gest-service-grid{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    align-items:stretch !important;
}

#gest-services .gest-service-card{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    box-sizing:border-box !important;
    min-height:230px !important;
    padding:28px !important;
    background:#fff8f4 !important;
    border:1px solid #eadbd4 !important;
    border-radius:24px !important;
    box-shadow:0 8px 24px rgba(34,48,52,.055) !important;
    overflow:hidden !important;
}

#gest-services .gest-service-card::after{
    content:"" !important;
    position:absolute !important;
    right:-30px !important;
    top:-30px !important;
    width:105px !important;
    height:105px !important;
    border-radius:50% !important;
    background:#f3ddd3 !important;
    pointer-events:none !important;
}

#gest-services .gest-service-number,
#gest-services h3,
#gest-services p{
    position:relative !important;
    z-index:2 !important;
}

#gest-services .gest-service-card-link{
    color:#173f45 !important;
    text-decoration:none !important;
}

#gest-services .gest-service-card-link:hover{
    color:#c96f57 !important;
}

@media(max-width:950px){
    #gest-services .gest-service-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:650px){
    #gest-services .gest-service-grid{
        grid-template-columns:1fr !important;
    }
}


/* ============================================================
   GEST — SIX SERVICE SECTION FINAL VISIBILITY
   ============================================================ */

#gest-services{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    width:100% !important;
    clear:both !important;
    overflow:visible !important;
}

#gest-services .wrap{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

#gest-services .gest-service-grid{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100% !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    align-items:stretch !important;
}

#gest-services .gest-service-card{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    box-sizing:border-box !important;
    min-height:230px !important;
    padding:28px !important;
    background:#fff8f4 !important;
    border:1px solid #eadbd4 !important;
    border-radius:24px !important;
    box-shadow:0 8px 24px rgba(34,48,52,.055) !important;
    overflow:hidden !important;
}

#gest-services .gest-service-card::after{
    content:"" !important;
    position:absolute !important;
    right:-30px !important;
    top:-30px !important;
    width:105px !important;
    height:105px !important;
    border-radius:50% !important;
    background:#f3ddd3 !important;
    pointer-events:none !important;
}

#gest-services .gest-service-number,
#gest-services h3,
#gest-services p{
    position:relative !important;
    z-index:2 !important;
}

#gest-services .gest-service-card-link{
    color:#173f45 !important;
    text-decoration:none !important;
}

#gest-services .gest-service-card-link:hover{
    color:#c96f57 !important;
}

@media(max-width:950px){
    #gest-services .gest-service-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:650px){
    #gest-services .gest-service-grid{
        grid-template-columns:1fr !important;
    }
}


/* ============================================================
   GEST — METADATA QUALITY / METADATA LIFECYCLE
   FIVE MATCHING PEACH BOXES
   ============================================================ */

#metadata .gest-metadata-lifecycle-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    margin-top:20px !important;
}

#metadata .gest-metadata-lifecycle-card{
    display:block !important;
    position:relative !important;
    box-sizing:border-box !important;
    min-height:235px !important;
    padding:28px !important;
    background:#fff8f4 !important;
    border:1px solid #eadbd4 !important;
    border-radius:24px !important;
    box-shadow:0 8px 24px rgba(34,48,52,.055) !important;
    color:#173f45 !important;
    text-decoration:none !important;
    overflow:hidden !important;
    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease !important;
}

#metadata .gest-metadata-lifecycle-card::after{
    content:"" !important;
    position:absolute !important;
    width:100px !important;
    height:100px !important;
    right:-30px !important;
    top:-30px !important;
    border-radius:50% !important;
    background:#f3ddd3 !important;
    pointer-events:none !important;
}

#metadata .gest-metadata-number{
    position:relative !important;
    z-index:2 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    margin-bottom:22px !important;
    border-radius:14px !important;
    background:#fff0e9 !important;
    border:1px solid #f0d9cf !important;
    color:#c96f57 !important;
    font-size:13px !important;
    font-weight:700 !important;
}

#metadata .gest-metadata-lifecycle-card h3{
    position:relative !important;
    z-index:2 !important;
    margin:0 0 13px !important;
    color:#173f45 !important;
    font-family:inherit !important;
    font-size:18px !important;
    line-height:1.55 !important;
}

#metadata .gest-metadata-lifecycle-card p{
    position:relative !important;
    z-index:2 !important;
    margin:0 0 18px !important;
    color:#5d6b70 !important;
    font-family:inherit !important;
    font-size:13px !important;
    line-height:1.8 !important;
}

#metadata .gest-metadata-card-arrow{
    position:relative !important;
    z-index:2 !important;
    color:#c96f57 !important;
    font-size:13px !important;
    font-weight:700 !important;
}

#metadata .gest-metadata-lifecycle-card:hover{
    transform:translateY(-4px) !important;
    border-color:#e58a70 !important;
    box-shadow:0 14px 32px rgba(34,48,52,.10) !important;
}

@media(max-width:950px){
    #metadata .gest-metadata-lifecycle-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:650px){
    #metadata .gest-metadata-lifecycle-grid{
        grid-template-columns:1fr !important;
    }
}


/* ============================================================
   GEST — CROSSREF READINESS
   SIX MATCHING PEACH BOXES
   ============================================================ */

#crossref .gest-crossref-readiness-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    margin-top:20px !important;
}

#crossref .gest-crossref-readiness-card{
    display:block !important;
    position:relative !important;
    box-sizing:border-box !important;
    min-height:235px !important;
    padding:28px !important;
    background:#fff8f4 !important;
    border:1px solid #eadbd4 !important;
    border-radius:24px !important;
    box-shadow:0 8px 24px rgba(34,48,52,.055) !important;
    color:#173f45 !important;
    text-decoration:none !important;
    overflow:hidden !important;
    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease !important;
}

#crossref .gest-crossref-readiness-card::after{
    content:"" !important;
    position:absolute !important;
    width:100px !important;
    height:100px !important;
    right:-30px !important;
    top:-30px !important;
    border-radius:50% !important;
    background:#f3ddd3 !important;
    pointer-events:none !important;
}

#crossref .gest-crossref-number{
    position:relative !important;
    z-index:2 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:46px !important;
    height:46px !important;
    margin-bottom:22px !important;
    border-radius:14px !important;
    background:#fff0e9 !important;
    border:1px solid #f0d9cf !important;
    color:#c96f57 !important;
    font-size:13px !important;
    font-weight:700 !important;
}

#crossref .gest-crossref-readiness-card h3{
    position:relative !important;
    z-index:2 !important;
    margin:0 0 13px !important;
    color:#173f45 !important;
    font-family:inherit !important;
    font-size:18px !important;
    line-height:1.55 !important;
}

#crossref .gest-crossref-readiness-card p{
    position:relative !important;
    z-index:2 !important;
    margin:0 0 18px !important;
    color:#5d6b70 !important;
    font-family:inherit !important;
    font-size:13px !important;
    line-height:1.8 !important;
}

#crossref .gest-crossref-arrow{
    position:relative !important;
    z-index:2 !important;
    color:#c96f57 !important;
    font-size:13px !important;
    font-weight:700 !important;
}

#crossref .gest-crossref-readiness-card:hover{
    transform:translateY(-4px) !important;
    border-color:#e58a70 !important;
    box-shadow:0 14px 32px rgba(34,48,52,.10) !important;
}

@media(max-width:950px){
    #crossref .gest-crossref-readiness-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:650px){
    #crossref .gest-crossref-readiness-grid{
        grid-template-columns:1fr !important;
    }
}


/* ============================================================
   GEST — CROSSREF READINESS FINAL VISUAL OVERRIDE
   IMPORTANT:
   Use the unique Crossref readiness classes directly.
   Do NOT depend on #crossref parent ID.
   ============================================================ */

.gest-crossref-readiness-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    margin-top:20px !important;
}

.gest-crossref-readiness-card{
    display:block !important;
    position:relative !important;
    box-sizing:border-box !important;

    width:100% !important;
    min-height:235px !important;

    padding:28px !important;
    margin:0 !important;

    background:#fff8f4 !important;
    background-color:#fff8f4 !important;

    border:1px solid #eadbd4 !important;
    border-radius:24px !important;

    box-shadow:0 8px 24px rgba(34,48,52,.055) !important;

    color:#173f45 !important;
    text-decoration:none !important;

    overflow:hidden !important;
    cursor:pointer !important;

    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease !important;
}

.gest-crossref-readiness-card:visited{
    color:#173f45 !important;
    text-decoration:none !important;
}

.gest-crossref-readiness-card::after{
    content:"" !important;

    position:absolute !important;

    width:105px !important;
    height:105px !important;

    right:-32px !important;
    top:-32px !important;

    border-radius:50% !important;

    background:#f3ddd3 !important;

    opacity:.9 !important;

    pointer-events:none !important;
}

.gest-crossref-number{
    position:relative !important;
    z-index:2 !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:46px !important;
    height:46px !important;

    margin:0 0 24px !important;

    border-radius:14px !important;

    background:#fff0e9 !important;
    border:1px solid #f0d9cf !important;

    color:#c96f57 !important;

    font-size:13px !important;
    font-weight:700 !important;

    text-decoration:none !important;
}

.gest-crossref-readiness-card h3{
    position:relative !important;
    z-index:2 !important;

    margin:0 0 15px !important;
    padding:0 !important;

    color:#173f45 !important;

    font-family:inherit !important;
    font-size:18px !important;
    font-weight:700 !important;

    line-height:1.55 !important;

    text-decoration:none !important;
}

.gest-crossref-readiness-card p{
    position:relative !important;
    z-index:2 !important;

    margin:0 0 18px !important;
    padding:0 !important;

    color:#5d6b70 !important;

    font-family:inherit !important;
    font-size:13px !important;

    line-height:1.8 !important;

    text-decoration:none !important;
}

.gest-crossref-arrow{
    position:relative !important;
    z-index:2 !important;

    color:#c96f57 !important;

    font-family:inherit !important;
    font-size:13px !important;
    font-weight:700 !important;

    text-decoration:none !important;
}

.gest-crossref-readiness-card:hover{
    transform:translateY(-4px) !important;

    border-color:#e58a70 !important;

    box-shadow:
        0 14px 32px rgba(34,48,52,.10) !important;

    text-decoration:none !important;
}

@media(max-width:950px){

    .gest-crossref-readiness-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}

@media(max-width:650px){

    .gest-crossref-readiness-grid{
        grid-template-columns:1fr !important;
    }

}


/* ============================================================
   GEST — OJS · OMP · OPEN PUBLISHING
   SIX MATCHING PEACH BOXES
   ============================================================ */

.gest-ojs-omp-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    margin-top:20px !important;
}

.gest-ojs-omp-card{
    display:block !important;
    position:relative !important;
    box-sizing:border-box !important;

    width:100% !important;
    min-height:235px !important;

    padding:28px !important;
    margin:0 !important;

    background:#fff8f4 !important;
    background-color:#fff8f4 !important;

    border:1px solid #eadbd4 !important;
    border-radius:24px !important;

    box-shadow:0 8px 24px rgba(34,48,52,.055) !important;

    color:#173f45 !important;
    text-decoration:none !important;

    overflow:hidden !important;
    cursor:pointer !important;

    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease !important;
}

.gest-ojs-omp-card:visited{
    color:#173f45 !important;
    text-decoration:none !important;
}

.gest-ojs-omp-card::after{
    content:"" !important;

    position:absolute !important;

    width:105px !important;
    height:105px !important;

    right:-32px !important;
    top:-32px !important;

    border-radius:50% !important;

    background:#f3ddd3 !important;

    opacity:.9 !important;

    pointer-events:none !important;
}

.gest-ojs-omp-number{
    position:relative !important;
    z-index:2 !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:46px !important;
    height:46px !important;

    margin:0 0 24px !important;

    border-radius:14px !important;

    background:#fff0e9 !important;
    border:1px solid #f0d9cf !important;

    color:#c96f57 !important;

    font-size:13px !important;
    font-weight:700 !important;

    text-decoration:none !important;
}

.gest-ojs-omp-card h3{
    position:relative !important;
    z-index:2 !important;

    margin:0 0 15px !important;
    padding:0 !important;

    color:#173f45 !important;

    font-family:inherit !important;
    font-size:18px !important;
    font-weight:700 !important;

    line-height:1.55 !important;

    text-decoration:none !important;
}

.gest-ojs-omp-card p{
    position:relative !important;
    z-index:2 !important;

    margin:0 0 18px !important;
    padding:0 !important;

    color:#5d6b70 !important;

    font-family:inherit !important;
    font-size:13px !important;

    line-height:1.8 !important;

    text-decoration:none !important;
}

.gest-ojs-omp-arrow{
    position:relative !important;
    z-index:2 !important;

    color:#c96f57 !important;

    font-family:inherit !important;
    font-size:13px !important;
    font-weight:700 !important;

    text-decoration:none !important;
}

.gest-ojs-omp-card:hover{
    transform:translateY(-4px) !important;

    border-color:#e58a70 !important;

    box-shadow:
        0 14px 32px rgba(34,48,52,.10) !important;

    text-decoration:none !important;
}

@media(max-width:950px){
    .gest-ojs-omp-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:650px){
    .gest-ojs-omp-grid{
        grid-template-columns:1fr !important;
    }
}


/* ============================================================
   GEST — OJS · OMP · OPEN PUBLISHING
   FINAL CENTERED SECTION LAYOUT
   ============================================================ */

/* Section heading */

.gest-ojs-omp-heading{
    width:100% !important;
    max-width:1120px !important;
    margin:0 auto 24px !important;
    padding:0 0 !important;
    box-sizing:border-box !important;
}

.gest-ojs-omp-heading .eyebrow{
    margin-bottom:10px !important;

    color:#c96f57 !important;

    font-family:inherit !important;
    font-size:13px !important;
    font-weight:700 !important;

    letter-spacing:2px !important;
    text-transform:uppercase !important;
}

.gest-ojs-omp-heading h2{
    margin:0 0 12px !important;
    padding:0 !important;

    color:#173f45 !important;

    font-family:inherit !important;
    font-size:34px !important;
    font-weight:700 !important;

    line-height:1.35 !important;
}

.gest-ojs-omp-heading p{
    max-width:900px !important;

    margin:0 !important;
    padding:0 !important;

    color:#5d6b70 !important;

    font-family:inherit !important;
    font-size:14px !important;

    line-height:1.8 !important;
}

/* Main six-box container */

.gest-ojs-omp-grid{
    width:100% !important;
    max-width:1120px !important;

    margin:20px auto 0 !important;
    padding:0 !important;

    box-sizing:border-box !important;

    display:grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap:20px !important;

    align-items:stretch !important;
}

/* Make every card stay inside the centered grid */

.gest-ojs-omp-grid .gest-ojs-omp-card{
    width:100% !important;
    max-width:none !important;

    box-sizing:border-box !important;

    margin:0 !important;
}

/* Keep section itself centered */

section .gest-ojs-omp-heading,
section .gest-ojs-omp-grid{
    margin-left:auto !important;
    margin-right:auto !important;
}

/* Tablet */

@media(max-width:950px){

    .gest-ojs-omp-heading,
    .gest-ojs-omp-grid{
        width:calc(100% - 40px) !important;
        max-width:1120px !important;
    }

    .gest-ojs-omp-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}

/* Mobile */

@media(max-width:650px){

    .gest-ojs-omp-heading,
    .gest-ojs-omp-grid{
        width:calc(100% - 32px) !important;
    }

    .gest-ojs-omp-heading h2{
        font-size:28px !important;
    }

    .gest-ojs-omp-grid{
        grid-template-columns:1fr !important;
    }

}


/* ============================================================
   GEST — OJS · OMP · OPEN PUBLISHING
   FINAL MATCHED SECTION STYLE
   ============================================================ */

.gest-ojs-omp-heading-final{
    display:block !important;

    width:1120px !important;
    max-width:calc(100% - 40px) !important;

    box-sizing:border-box !important;

    margin:0 auto 24px !important;
    padding:0 !important;

    text-align:left !important;

    position:relative !important;
    z-index:5 !important;
}

.gest-ojs-omp-eyebrow{
    display:block !important;

    margin:0 0 10px !important;
    padding:0 !important;

    color:#c96f57 !important;

    font-family:inherit !important;
    font-size:13px !important;
    font-weight:700 !important;

    letter-spacing:2px !important;
    text-transform:uppercase !important;

    line-height:1.5 !important;
}

.gest-ojs-omp-heading-final h2{
    display:block !important;

    margin:0 0 12px !important;
    padding:0 !important;

    color:#173f45 !important;

    font-family:inherit !important;
    font-size:34px !important;
    font-weight:700 !important;

    line-height:1.35 !important;

    visibility:visible !important;
    opacity:1 !important;
}

.gest-ojs-omp-heading-final p{
    display:block !important;

    width:100% !important;
    max-width:900px !important;

    margin:0 !important;
    padding:0 !important;

    color:#5d6b70 !important;

    font-family:inherit !important;
    font-size:14px !important;

    line-height:1.8 !important;

    visibility:visible !important;
    opacity:1 !important;
}

/* ------------------------------------------------------------
   SIX BOX GRID — SAME WIDTH / ALIGNMENT AS OTHER SECTIONS
   ------------------------------------------------------------ */

.gest-ojs-omp-grid{
    display:grid !important;

    width:1120px !important;
    max-width:calc(100% - 40px) !important;

    margin:20px auto 0 !important;
    padding:0 !important;

    box-sizing:border-box !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap:20px !important;

    align-items:stretch !important;

    justify-items:stretch !important;
}

/* Ensure every card occupies exactly one grid cell */

.gest-ojs-omp-grid > .gest-ojs-omp-card{
    display:block !important;

    width:100% !important;
    max-width:none !important;

    min-width:0 !important;

    margin:0 !important;

    box-sizing:border-box !important;
}

/* Tablet */

@media(max-width:950px){

    .gest-ojs-omp-heading-final,
    .gest-ojs-omp-grid{
        width:calc(100% - 40px) !important;
        max-width:none !important;
    }

    .gest-ojs-omp-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}

/* Mobile */

@media(max-width:650px){

    .gest-ojs-omp-heading-final,
    .gest-ojs-omp-grid{
        width:calc(100% - 32px) !important;
    }

    .gest-ojs-omp-heading-final h2{
        font-size:28px !important;
    }

    .gest-ojs-omp-grid{
        grid-template-columns:1fr !important;
    }

}


/* ============================================================
   GEST — END-TO-END WORKFLOW
   FINAL 7 BOX SYSTEM
   ============================================================ */

.workflow.gest-endworkflow-grid{

    display:grid !important;

    width:1120px !important;
    max-width:calc(100% - 40px) !important;

    margin:22px auto 0 !important;
    padding:0 !important;

    box-sizing:border-box !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap:20px !important;

    align-items:stretch !important;
    justify-items:stretch !important;

    background:transparent !important;
}

.workflow.gest-endworkflow-grid
.gest-endworkflow-box{

    display:block !important;

    position:relative !important;

    width:100% !important;
    min-height:235px !important;

    box-sizing:border-box !important;

    margin:0 !important;
    padding:28px !important;

    background:#fff8f4 !important;

    border:1px solid #eadbd4 !important;
    border-radius:24px !important;

    box-shadow:
        0 8px 24px rgba(34,48,52,.055) !important;

    color:#173f45 !important;

    text-decoration:none !important;

    overflow:hidden !important;

    cursor:pointer !important;

    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease !important;
}

.workflow.gest-endworkflow-grid
.gest-endworkflow-box::after{

    content:"" !important;

    position:absolute !important;

    width:105px !important;
    height:105px !important;

    right:-32px !important;
    top:-32px !important;

    border-radius:50% !important;

    background:#f3ddd3 !important;

    opacity:.9 !important;

    pointer-events:none !important;
}

.workflow.gest-endworkflow-grid
.gest-endworkflow-number{

    position:relative !important;
    z-index:2 !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:46px !important;
    height:46px !important;

    margin:0 0 24px !important;

    border-radius:14px !important;

    background:#fff0e9 !important;

    border:1px solid #f0d9cf !important;

    color:#c96f57 !important;

    font-size:13px !important;
    font-weight:700 !important;
}

.workflow.gest-endworkflow-grid
.gest-endworkflow-box h3{

    position:relative !important;
    z-index:2 !important;

    margin:0 0 14px !important;
    padding:0 !important;

    color:#173f45 !important;

    font-family:inherit !important;

    font-size:18px !important;
    font-weight:700 !important;

    line-height:1.55 !important;

    text-decoration:none !important;
}

.workflow.gest-endworkflow-grid
.gest-endworkflow-box p{

    position:relative !important;
    z-index:2 !important;

    margin:0 0 18px !important;
    padding:0 !important;

    color:#5d6b70 !important;

    font-family:inherit !important;

    font-size:13px !important;

    line-height:1.8 !important;
}

.workflow.gest-endworkflow-grid
.gest-endworkflow-link{

    position:relative !important;
    z-index:2 !important;

    color:#c96f57 !important;

    font-family:inherit !important;

    font-size:13px !important;
    font-weight:700 !important;
}

.workflow.gest-endworkflow-grid
.gest-endworkflow-box:hover{

    transform:translateY(-4px) !important;

    border-color:#e58a70 !important;

    box-shadow:
        0 14px 32px rgba(34,48,52,.10) !important;

    text-decoration:none !important;
}

.workflow.gest-endworkflow-grid
.gest-endworkflow-box:visited{

    color:#173f45 !important;
    text-decoration:none !important;
}

@media(max-width:950px){

    .workflow.gest-endworkflow-grid{

        width:calc(100% - 40px) !important;
        max-width:none !important;

        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}

@media(max-width:650px){

    .workflow.gest-endworkflow-grid{

        width:calc(100% - 32px) !important;

        grid-template-columns:1fr !important;
    }

}


/* ============================================================
   GEST — SCHOLARLY WORKFLOW
   SIX MATCHING PEACH BOXES
   ============================================================ */

.gest-scholarly-workflow-grid{

    display:grid !important;

    width:1120px !important;
    max-width:calc(100% - 40px) !important;

    margin:22px auto 0 !important;
    padding:0 !important;

    box-sizing:border-box !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap:20px !important;

    align-items:stretch !important;
}

.gest-scholarly-workflow-card{

    display:block !important;

    position:relative !important;

    width:100% !important;
    min-height:235px !important;

    box-sizing:border-box !important;

    margin:0 !important;
    padding:28px !important;

    background:#fff8f4 !important;

    border:1px solid #eadbd4 !important;
    border-radius:24px !important;

    box-shadow:
        0 8px 24px rgba(34,48,52,.055) !important;

    color:#173f45 !important;

    text-decoration:none !important;

    overflow:hidden !important;

    cursor:pointer !important;

    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease !important;
}

.gest-scholarly-workflow-card::after{

    content:"" !important;

    position:absolute !important;

    width:105px !important;
    height:105px !important;

    right:-32px !important;
    top:-32px !important;

    border-radius:50% !important;

    background:#f3ddd3 !important;

    opacity:.9 !important;

    pointer-events:none !important;
}

.gest-scholarly-workflow-number{

    position:relative !important;
    z-index:2 !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:46px !important;
    height:46px !important;

    margin:0 0 24px !important;

    border-radius:14px !important;

    background:#fff0e9 !important;

    border:1px solid #f0d9cf !important;

    color:#c96f57 !important;

    font-size:13px !important;
    font-weight:700 !important;
}

.gest-scholarly-workflow-card h3{

    position:relative !important;
    z-index:2 !important;

    margin:0 0 14px !important;

    color:#173f45 !important;

    font-family:inherit !important;

    font-size:18px !important;
    font-weight:700 !important;

    line-height:1.55 !important;
}

.gest-scholarly-workflow-card p{

    position:relative !important;
    z-index:2 !important;

    margin:0 0 18px !important;

    color:#5d6b70 !important;

    font-family:inherit !important;

    font-size:13px !important;

    line-height:1.8 !important;
}

.gest-scholarly-workflow-link{

    position:relative !important;
    z-index:2 !important;

    color:#c96f57 !important;

    font-size:13px !important;
    font-weight:700 !important;
}

.gest-scholarly-workflow-card:hover{

    transform:translateY(-4px) !important;

    border-color:#e58a70 !important;

    box-shadow:
        0 14px 32px rgba(34,48,52,.10) !important;

    text-decoration:none !important;
}

.gest-scholarly-workflow-card:visited{

    color:#173f45 !important;

    text-decoration:none !important;
}

@media(max-width:950px){

    .gest-scholarly-workflow-grid{

        width:calc(100% - 40px) !important;
        max-width:none !important;

        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}

@media(max-width:650px){

    .gest-scholarly-workflow-grid{

        width:calc(100% - 32px) !important;

        grid-template-columns:1fr !important;
    }

}


/* ============================================================
   GEST — SCHOLARLY WORKFLOW FINAL SIX BOXES
   ============================================================ */

.gest-scholarly-final-grid{

    display:grid !important;

    width:100% !important;

    margin:24px auto 0 !important;

    padding:0 !important;

    box-sizing:border-box !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap:20px !important;

    align-items:stretch !important;
}

.gest-scholarly-final-box{

    display:block !important;

    position:relative !important;

    width:100% !important;

    min-height:235px !important;

    box-sizing:border-box !important;

    margin:0 !important;

    padding:28px !important;

    background:#fff8f4 !important;

    border:1px solid #eadbd4 !important;

    border-radius:24px !important;

    box-shadow:
        0 8px 24px rgba(34,48,52,.055) !important;

    color:#173f45 !important;

    text-decoration:none !important;

    overflow:hidden !important;

    cursor:pointer !important;

    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease !important;
}

.gest-scholarly-final-box::after{

    content:"" !important;

    position:absolute !important;

    width:105px !important;

    height:105px !important;

    right:-32px !important;

    top:-32px !important;

    border-radius:50% !important;

    background:#f3ddd3 !important;

    opacity:.9 !important;

    pointer-events:none !important;
}

.gest-scholarly-final-number{

    position:relative !important;

    z-index:2 !important;

    display:inline-flex !important;

    align-items:center !important;

    justify-content:center !important;

    width:46px !important;

    height:46px !important;

    margin:0 0 24px !important;

    border-radius:14px !important;

    background:#fff0e9 !important;

    border:1px solid #f0d9cf !important;

    color:#c96f57 !important;

    font-size:13px !important;

    font-weight:700 !important;
}

.gest-scholarly-final-box h3{

    position:relative !important;

    z-index:2 !important;

    margin:0 0 14px !important;

    padding:0 !important;

    color:#173f45 !important;

    font-family:inherit !important;

    font-size:18px !important;

    font-weight:700 !important;

    line-height:1.55 !important;
}

.gest-scholarly-final-box p{

    position:relative !important;

    z-index:2 !important;

    margin:0 0 18px !important;

    padding:0 !important;

    color:#5d6b70 !important;

    font-family:inherit !important;

    font-size:13px !important;

    line-height:1.8 !important;
}

.gest-scholarly-final-arrow{

    position:relative !important;

    z-index:2 !important;

    color:#c96f57 !important;

    font-size:13px !important;

    font-weight:700 !important;
}

.gest-scholarly-final-box:hover{

    transform:translateY(-4px) !important;

    border-color:#e58a70 !important;

    box-shadow:
        0 14px 32px rgba(34,48,52,.10) !important;

    text-decoration:none !important;
}

.gest-scholarly-final-box:visited{

    color:#173f45 !important;

    text-decoration:none !important;
}

@media(max-width:950px){

    .gest-scholarly-final-grid{

        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}

@media(max-width:650px){

    .gest-scholarly-final-grid{

        grid-template-columns:1fr !important;
    }

    .gest-scholarly-final-box{

        min-height:auto !important;

        padding:24px !important;
    }

}


/* ============================================================
   GEST SERVICES — FINAL CLEAN SIX-CARD GRID
   ============================================================ */

#services .gest-service-grid{

    display:grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap:20px !important;

    width:100% !important;

    margin:24px auto 0 !important;

    padding:0 !important;

    align-items:stretch !important;

    box-sizing:border-box !important;
}

#services .gest-service-card{

    display:block !important;

    position:relative !important;

    width:100% !important;

    min-height:235px !important;

    margin:0 !important;

    padding:28px !important;

    box-sizing:border-box !important;

    background:#fff8f4 !important;

    border:1px solid #eadbd4 !important;

    border-radius:24px !important;

    box-shadow:
        0 8px 24px rgba(34,48,52,.055) !important;

    overflow:hidden !important;

    color:#173f45 !important;

    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease !important;
}

#services .gest-service-card::after{

    content:"" !important;

    position:absolute !important;

    width:105px !important;

    height:105px !important;

    right:-32px !important;

    top:-32px !important;

    border-radius:50% !important;

    background:#f3ddd3 !important;

    pointer-events:none !important;
}

#services .gest-service-number{

    position:relative !important;

    z-index:2 !important;

    display:inline-flex !important;

    align-items:center !important;

    justify-content:center !important;

    width:46px !important;

    height:46px !important;

    margin:0 0 24px !important;

    border-radius:14px !important;

    background:#fff0e9 !important;

    border:1px solid #f0d9cf !important;

    color:#c96f57 !important;

    font-size:13px !important;

    font-weight:700 !important;
}

#services .gest-service-card h3{

    position:relative !important;

    z-index:2 !important;

    margin:0 0 14px !important;

    padding:0 !important;

    color:#173f45 !important;

    font-family:inherit !important;

    font-size:18px !important;

    font-weight:700 !important;

    line-height:1.55 !important;
}

#services .gest-service-card h3 a{

    color:#173f45 !important;

    text-decoration:none !important;
}

#services .gest-service-card p{

    position:relative !important;

    z-index:2 !important;

    margin:0 !important;

    padding:0 !important;

    color:#5d6b70 !important;

    font-family:inherit !important;

    font-size:13px !important;

    line-height:1.8 !important;
}

#services .gest-service-card:hover{

    transform:translateY(-4px) !important;

    border-color:#e58a70 !important;

    box-shadow:
        0 14px 32px rgba(34,48,52,.10) !important;
}

@media(max-width:950px){

    #services .gest-service-grid{

        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}

@media(max-width:650px){

    #services .gest-service-grid{

        grid-template-columns:1fr !important;
    }

    #services .gest-service-card{

        min-height:auto !important;

        padding:24px !important;
    }

}


/* ============================================================
   GEST — WHO WE SUPPORT
   RESTORE DARK TEXT VISIBILITY
   ============================================================ */

.gest-who-we-support h2{
    color:#173f45 !important;
    opacity:1 !important;
    visibility:visible !important;
}

.gest-who-we-support p{
    color:#5d6b70 !important;
    opacity:1 !important;
    visibility:visible !important;
}

.gest-who-we-support h3,
.gest-who-we-support strong{
    color:#173f45 !important;
    opacity:1 !important;
    visibility:visible !important;
}

.gest-who-we-support .eyebrow{
    color:#c96f57 !important;
    opacity:1 !important;
    visibility:visible !important;
}


/* ============================================================
   GEST — GLOBAL MAIN CONTENT ALIGNMENT
   Consistent left/right spacing across homepage and inner pages.
   HEADER + NAVIGATION ARE NOT TOUCHED.
   ============================================================ */

/* Main content container */
main .wrap{
    width:calc(100% - 64px) !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* Main sections */
main > .section,
main section.section{
    width:100% !important;
    box-sizing:border-box !important;
}

/* Section headings use exactly the same content boundary */
main .section-head{
    width:100% !important;
    max-width:1200px !important;
    box-sizing:border-box !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* All major grids remain inside the same alignment boundary */
main .grid,
main .grid4,
main .gest-service-grid,
main .gest-metadata-lifecycle-grid,
main .gest-crossref-grid,
main .gest-scholarly-workflow-grid,
main .workflow{
    box-sizing:border-box !important;
    max-width:100% !important;
}

/* What We Build */
main #capabilities .wrap{
    width:calc(100% - 64px) !important;
    max-width:1200px !important;
}

/* Metadata Quality */
main #metadata .wrap{
    width:calc(100% - 64px) !important;
    max-width:1200px !important;
}

/* Crossref Readiness */
main #readiness .wrap{
    width:calc(100% - 64px) !important;
    max-width:1200px !important;
}

/* GEST Services */
main #services .wrap{
    width:calc(100% - 64px) !important;
    max-width:1200px !important;
}

/* End-to-End Workflow */
main #workflow .wrap{
    width:calc(100% - 64px) !important;
    max-width:1200px !important;
}

/* Scholarly Workflow / other sections */
main #scholarly-workflow .wrap{
    width:calc(100% - 64px) !important;
    max-width:1200px !important;
}

/* Inner service/detail pages */
main .service-page .wrap,
main .page-content .wrap,
main .content-page .wrap{
    width:calc(100% - 64px) !important;
    max-width:1200px !important;
}

/* Prevent any accidental horizontal overflow */
main{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
}

/* ============================================================
   DESKTOP
   ============================================================ */

@media(min-width:1201px){

    main .wrap{
        width:calc(100% - 96px) !important;
        max-width:1200px !important;
    }

}

/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:900px){

    main .wrap{
        width:calc(100% - 48px) !important;
        max-width:none !important;
    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:600px){

    main .wrap{
        width:calc(100% - 32px) !important;
        max-width:none !important;
    }

}


/* ============================================================
   GEST — UNIVERSAL EQUAL BOX HEIGHT SYSTEM
   All matching content cards use identical fixed dimensions.
   Header / navigation are NOT affected.
   ============================================================ */

/* ------------------------------------------------------------
   STANDARD DESKTOP CARD
   ------------------------------------------------------------ */

main .gest-service-box-link,
main .gest-service-card,
main .gest-metadata-lifecycle-card,
main .gest-crossref-card,
main .gest-scholarly-final-box,
main .gest-scholarly-workflow-card,
main .service-card-link,
main .cap{

    box-sizing:border-box !important;

    height:245px !important;

    min-height:245px !important;

    max-height:245px !important;

    margin-top:0 !important;

    margin-bottom:0 !important;

    overflow:hidden !important;

    display:block !important;
}

/* ------------------------------------------------------------
   FLEX CONTENT INSIDE CARDS
   Keeps number, title and description consistently positioned.
   ------------------------------------------------------------ */

main .gest-service-card,
main .gest-metadata-lifecycle-card,
main .gest-crossref-card,
main .gest-scholarly-final-box,
main .gest-scholarly-workflow-card{

    display:flex !important;

    flex-direction:column !important;

    justify-content:flex-start !important;

    align-items:stretch !important;
}

/* ------------------------------------------------------------
   SERVICE BOXES
   ------------------------------------------------------------ */

main .gest-service-box-link{

    height:245px !important;

    min-height:245px !important;

    max-height:245px !important;
}

/* ------------------------------------------------------------
   GEST SERVICES
   ------------------------------------------------------------ */

main #services .gest-service-card{

    height:245px !important;

    min-height:245px !important;

    max-height:245px !important;
}

/* ------------------------------------------------------------
   METADATA LIFECYCLE
   ------------------------------------------------------------ */

main #metadata .gest-metadata-lifecycle-card{

    height:245px !important;

    min-height:245px !important;

    max-height:245px !important;
}

/* ------------------------------------------------------------
   CROSSREF READINESS
   ------------------------------------------------------------ */

main #readiness .gest-crossref-card{

    height:245px !important;

    min-height:245px !important;

    max-height:245px !important;
}

/* ------------------------------------------------------------
   SCHOLARLY WORKFLOW
   ------------------------------------------------------------ */

main .gest-scholarly-final-box{

    height:245px !important;

    min-height:245px !important;

    max-height:245px !important;
}

main .gest-scholarly-workflow-card{

    height:245px !important;

    min-height:245px !important;

    max-height:245px !important;
}

/* ------------------------------------------------------------
   NUMBERS — SAME POSITION
   ------------------------------------------------------------ */

main .gest-service-number,
main .gest-metadata-number,
main .gest-crossref-number,
main .gest-scholarly-number{

    flex:0 0 auto !important;

    margin-bottom:22px !important;
}

/* ------------------------------------------------------------
   TITLES — CONSISTENT BLOCK HEIGHT
   Prevent long titles from changing the card layout.
   ------------------------------------------------------------ */

main .gest-service-card h3,
main .gest-metadata-lifecycle-card h3,
main .gest-crossref-card h3,
main .gest-scholarly-final-box h3,
main .gest-scholarly-workflow-card h3{

    min-height:50px !important;

    max-height:55px !important;

    overflow:hidden !important;

    margin-top:0 !important;

    margin-bottom:12px !important;
}

/* ------------------------------------------------------------
   DESCRIPTIONS
   ------------------------------------------------------------ */

main .gest-service-card p,
main .gest-metadata-lifecycle-card p,
main .gest-crossref-card p,
main .gest-scholarly-final-box p,
main .gest-scholarly-workflow-card p{

    flex:0 0 auto !important;

    overflow:hidden !important;

    margin-top:0 !important;
}

/* ------------------------------------------------------------
   LINK / ARROW AT SAME POSITION
   ------------------------------------------------------------ */

main .gest-metadata-card-arrow,
main .gest-service-card-link{

    flex:0 0 auto !important;
}

/* ------------------------------------------------------------
   ALL DESKTOP GRIDS — EQUAL ROW HEIGHT
   ------------------------------------------------------------ */

main .grid4,
main .gest-service-grid,
main .gest-metadata-lifecycle-grid,
main .gest-crossref-grid,
main .gest-scholarly-workflow-grid{

    align-items:stretch !important;
}

main .grid4 > *,
main .gest-service-grid > *,
main .gest-metadata-lifecycle-grid > *,
main .gest-crossref-grid > *,
main .gest-scholarly-workflow-grid > *{

    height:245px !important;

    min-height:245px !important;

    max-height:245px !important;

    box-sizing:border-box !important;
}

/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media(max-width:950px){

    main .gest-service-box-link,
    main .gest-service-card,
    main .gest-metadata-lifecycle-card,
    main .gest-crossref-card,
    main .gest-scholarly-final-box,
    main .gest-scholarly-workflow-card{

        height:245px !important;

        min-height:245px !important;

        max-height:245px !important;
    }

}

/* ------------------------------------------------------------
   MOBILE
   Keep equal cards, but allow slightly more height for readability.
   ------------------------------------------------------------ */

@media(max-width:650px){

    main .gest-service-box-link,
    main .gest-service-card,
    main .gest-metadata-lifecycle-card,
    main .gest-crossref-card,
    main .gest-scholarly-final-box,
    main .gest-scholarly-workflow-card{

        height:250px !important;

        min-height:250px !important;

        max-height:250px !important;

    }

    main .grid4 > *,
    main .gest-service-grid > *,
    main .gest-metadata-lifecycle-grid > *,
    main .gest-crossref-grid > *,
    main .gest-scholarly-workflow-grid > *{

        height:250px !important;

        min-height:250px !important;

        max-height:250px !important;

    }

}

/* ------------------------------------------------------------
   IMPORTANT:
   Do NOT apply this system to header/navigation.
   ------------------------------------------------------------ */


/* ============================================================
   GEST — PROFESSIONAL GLOBAL CONTENT SYSTEM
   MAIN CONTENT ONLY
   HEADER + NAVIGATION ARE COMPLETELY EXCLUDED
   ============================================================ */

/* ------------------------------------------------------------
   MASTER CONTENT BOUNDARY
   ------------------------------------------------------------ */

main{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
}

/* Every main-content wrap gets the same professional boundary */
main .wrap{
    width:calc(100% - 120px) !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
}

/* Section content must stay inside the master boundary */
main .section > .wrap,
main section > .wrap{
    width:calc(100% - 120px) !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* ------------------------------------------------------------
   SECTION HEADINGS
   ------------------------------------------------------------ */

main .section-head{
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* ------------------------------------------------------------
   ALL MAJOR CARD GRIDS
   ------------------------------------------------------------ */

main .grid4,
main .grid,
main .gest-service-grid,
main .gest-metadata-lifecycle-grid,
main .gest-crossref-grid,
main .gest-scholarly-workflow-grid{
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* ------------------------------------------------------------
   GEST SERVICES — EXACT PROFESSIONAL 3 × 2 GRID
   ------------------------------------------------------------ */

main #services .gest-service-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    max-width:1200px !important;
    margin:28px auto 0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    align-items:stretch !important;
}

/* ------------------------------------------------------------
   ALL GEST SERVICE CARDS
   ------------------------------------------------------------ */

main #services .gest-service-card{
    width:100% !important;
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    margin:0 !important;
    padding:28px !important;
    box-sizing:border-box !important;
    border-radius:24px !important;
    overflow:hidden !important;
}

/* ------------------------------------------------------------
   WHAT WE BUILD
   ------------------------------------------------------------ */

main #capabilities .grid4{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* ------------------------------------------------------------
   METADATA LIFECYCLE
   ------------------------------------------------------------ */

main #metadata .gest-metadata-lifecycle-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

main #metadata .gest-metadata-lifecycle-card{
    width:100% !important;
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    box-sizing:border-box !important;
}

/* ------------------------------------------------------------
   CROSSREF READINESS
   ------------------------------------------------------------ */

main #readiness .gest-crossref-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

main #readiness .gest-crossref-card{
    width:100% !important;
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    box-sizing:border-box !important;
}

/* ------------------------------------------------------------
   SCHOLARLY WORKFLOW
   ------------------------------------------------------------ */

main .gest-scholarly-workflow-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:20px !important;
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

main .gest-scholarly-final-box,
main .gest-scholarly-workflow-card{
    width:100% !important;
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    box-sizing:border-box !important;
}

/* ------------------------------------------------------------
   END-TO-END WORKFLOW
   ------------------------------------------------------------ */

main #workflow .workflow{
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

/* ------------------------------------------------------------
   WHO WE SUPPORT
   ------------------------------------------------------------ */

main #support .grid,
main #who-we-support .grid{
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* ------------------------------------------------------------
   INNER SERVICE / CONTENT PAGES
   ------------------------------------------------------------ */

main .page-content,
main .service-page,
main .content-page{
    width:100% !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

main .page-content > *,
main .service-page > *,
main .content-page > *{
    box-sizing:border-box !important;
}

/* ------------------------------------------------------------
   LARGE DESKTOP
   ------------------------------------------------------------ */

@media(min-width:1400px){

    main .wrap,
    main .section > .wrap,
    main section > .wrap{
        width:calc(100% - 160px) !important;
        max-width:1200px !important;
    }

}

/* ------------------------------------------------------------
   TABLET
   ------------------------------------------------------------ */

@media(max-width:950px){

    main .wrap,
    main .section > .wrap,
    main section > .wrap{
        width:calc(100% - 64px) !important;
        max-width:none !important;
    }

    main #services .gest-service-grid,
    main #capabilities .grid4,
    main #metadata .gest-metadata-lifecycle-grid,
    main #readiness .gest-crossref-grid,
    main .gest-scholarly-workflow-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

}

/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media(max-width:650px){

    main .wrap,
    main .section > .wrap,
    main section > .wrap{
        width:calc(100% - 32px) !important;
        max-width:none !important;
    }

    main #services .gest-service-grid,
    main #capabilities .grid4,
    main #metadata .gest-metadata-lifecycle-grid,
    main #readiness .gest-crossref-grid,
    main .gest-scholarly-workflow-grid{
        grid-template-columns:1fr !important;
        gap:16px !important;
    }

    main #services .gest-service-card,
    main #metadata .gest-metadata-lifecycle-card,
    main #readiness .gest-crossref-card,
    main .gest-scholarly-final-box,
    main .gest-scholarly-workflow-card{
        height:245px !important;
        min-height:245px !important;
        max-height:245px !important;
    }

}

/* ============================================================
   END — PROFESSIONAL CONTENT SYSTEM
   ============================================================ */


/* ============================================================
   GEST — CONTACT SECTION FINAL LAYOUT
   Restore two-column professional alignment.
   ============================================================ */

main #contact{
    width:100% !important;
    box-sizing:border-box !important;
}

main #contact .contactbox{

    display:grid !important;

    grid-template-columns:
        minmax(0,1.35fr)
        minmax(280px,.65fr) !important;

    gap:70px !important;

    align-items:center !important;

    width:calc(100% - 120px) !important;

    max-width:1200px !important;

    margin-left:auto !important;

    margin-right:auto !important;

    box-sizing:border-box !important;

    padding:70px !important;

}

/* Left contact content */
main #contact .contactbox > div:first-child{

    min-width:0 !important;

    width:100% !important;

    box-sizing:border-box !important;

}

/* Right contact information */
main #contact .contactbox > div:last-child{

    min-width:0 !important;

    width:100% !important;

    box-sizing:border-box !important;

    display:flex !important;

    flex-direction:column !important;

    justify-content:center !important;

    align-items:flex-start !important;

    gap:10px !important;

}

/* Contact heading */
main #contact .contactbox h2{

    margin-top:0 !important;

    margin-bottom:24px !important;

}

/* Contact description */
main #contact .contactbox p{

    margin-bottom:24px !important;

}

/* Email */
main #contact .contactlink{

    display:inline-block !important;

    width:auto !important;

    max-width:100% !important;

    white-space:normal !important;

    overflow-wrap:anywhere !important;

}

/* Phone and address */
main #contact .contactbox > div:last-child > div{

    display:block !important;

    width:auto !important;

}

/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:900px){

    main #contact .contactbox{

        width:calc(100% - 64px) !important;

        grid-template-columns:1fr !important;

        gap:35px !important;

        padding:48px !important;

    }

}

/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:600px){

    main #contact .contactbox{

        width:calc(100% - 32px) !important;

        grid-template-columns:1fr !important;

        gap:28px !important;

        padding:30px !important;

    }

    main #contact .contactbox > div:last-child{

        align-items:flex-start !important;

    }

}


/* ============================================================
   GEST — GLOBAL FRONTEND TEXT VISIBILITY
   Force readable dark text on light/peach homepage sections.
   ============================================================ */

/* Main light-page text */
body,
main,
main .section,
main .wrap,
main .section-head,
main .section-head p,
main p,
main li,
main span,
main div,
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main strong,
main small {
    color:#173f45;
}

/* Section headings */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
    color:#173f45 !important;
}

/* Normal paragraphs and descriptive text */
main p,
main li {
    color:#4f6268 !important;
}

/* Eyebrows / labels */
main .eyebrow {
    color:#c96f57 !important;
}

/* All light-background cards */
main .card,
main .cap,
main .gest-service-card,
main .gest-metadata-lifecycle-card,
main .gest-crossref-card,
main .gest-scholarly-final-box,
main .gest-service-box-link,
main .gest-service-card-link {
    color:#173f45 !important;
}

/* Card headings */
main .card h3,
main .cap h3,
main .gest-service-card h3,
main .gest-metadata-lifecycle-card h3,
main .gest-crossref-card h3,
main .gest-scholarly-final-box h3 {
    color:#173f45 !important;
}

/* Card descriptions */
main .card p,
main .cap p,
main .gest-service-card p,
main .gest-metadata-lifecycle-card p,
main .gest-crossref-card p,
main .gest-scholarly-final-box p {
    color:#4f6268 !important;
}

/* Links on light backgrounds */
main a:not(.btn):not(.contactlink) {
    color:#173f45 !important;
}

main a:not(.btn):not(.contactlink):hover {
    color:#c96f57 !important;
}

/* Lifecycle / service arrows */
main .gest-metadata-card-arrow {
    color:#c96f57 !important;
}

/* Numbers */
main .gest-service-number,
main .gest-metadata-number,
main .gest-crossref-number,
main .gest-scholarly-number {
    color:#c96f57 !important;
}

/* ============================================================
   DARK SECTIONS — KEEP LIGHT TEXT FOR CONTRAST
   ============================================================ */

main .dark,
main .dark *,
main .section.dark,
main .section.dark * {
    color:#ffffff !important;
}

/* Dark-section secondary text */
main .dark p,
main .dark li,
main .section.dark p,
main .section.dark li {
    color:#e8eeee !important;
}

/* Dark-section eyebrow */
main .dark .eyebrow,
main .section.dark .eyebrow {
    color:#f0a088 !important;
}

/* ============================================================
   CONTACT / LIGHT PANELS
   ============================================================ */

main .contactbox,
main .contactbox * {
    color:#173f45;
}

main .contactbox p {
    color:#4f6268 !important;
}

main .contactlink {
    color:#173f45 !important;
}

/* ============================================================
   PREVENT ACCIDENTAL WHITE TEXT ON LIGHT BACKGROUNDS
   ============================================================ */

main .section:not(.dark) [style*="color:white"],
main .section:not(.dark) [style*="color: white"],
main .section:not(.dark) [style*="color:#fff"],
main .section:not(.dark) [style*="color: #fff"],
main .section:not(.dark) [style*="color:#ffffff"],
main .section:not(.dark) [style*="color: #ffffff"] {
    color:#173f45 !important;
}


/* GEST — HOMEPAGE TEXT: BLACK ONLY */

body,
main,
main *,
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main p,
main li,
main span,
main strong,
main small,
main a,
main .eyebrow,
main .section-head,
main .section-head p,
main .card,
main .card *,
main .cap,
main .cap *,
main .gest-service-card,
main .gest-service-card *,
main .gest-service-box-link,
main .gest-service-box-link *,
main .gest-metadata-lifecycle-card,
main .gest-metadata-lifecycle-card *,
main .gest-crossref-card,
main .gest-crossref-card *,
main .gest-scholarly-final-box,
main .gest-scholarly-final-box *,
main .gest-metadata-card-arrow,
main .gest-service-number,
main .gest-metadata-number {
    color:#000000 !important;
}

/* Links also BLACK */
main a,
main a:visited,
main a:hover,
main a:active {
    color:#000000 !important;
    text-decoration:none;
}

/* Remove any inline white text */
main [style*="color:white"],
main [style*="color: white"],
main [style*="color:#fff"],
main [style*="color: #fff"],
main [style*="color:#ffffff"],
main [style*="color: #ffffff"] {
    color:#000000 !important;
}


/* ============================================================
   GEST — ABSOLUTE FINAL TEXT COLOR OVERRIDE
   ALL FRONTEND TEXT = BLACK
   ============================================================ */

html body,
html body * {
    color:#000000 !important;
}

/* Force text rendering color as well */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body p,
html body li,
html body span,
html body div,
html body strong,
html body b,
html body small,
html body label,
html body blockquote,
html body a,
html body a:visited,
html body a:hover,
html body a:active {
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
}

/* Remove white/transparent text rules */
html body [style*="color:white"],
html body [style*="color: white"],
html body [style*="color:#fff"],
html body [style*="color: #fff"],
html body [style*="color:#ffffff"],
html body [style*="color: #ffffff"] {
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
}

/* Section text */
html body .section,
html body .section *,
html body .section-head,
html body .section-head *,
html body .wrap,
html body .wrap * {
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
}

/* All existing GEST boxes */
html body .gest-service-card *,
html body .gest-service-box-link *,
html body .gest-metadata-lifecycle-card *,
html body .gest-crossref-card *,
html body .gest-scholarly-final-box *,
html body .gest-service-card-link *,
html body .cap * {
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
}

/* Eyebrows also black */
html body .eyebrow {
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
}

/* Contact section */
html body .contactbox *,
html body .contactlink {
    color:#000000 !important;
    -webkit-text-fill-color:#000000 !important;
}


/* ============================================================
   GEST — WHAT GEST PROVIDES
   FIX CARD TEXT OVERLAP / CLIPPING
   ============================================================ */

/* The section containing the six provider cards */
main .gest-services,
main #services {
    width:100% !important;
    box-sizing:border-box !important;
}

/* Six-card grid */
main .gest-services .gest-service-grid,
main #services .gest-service-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;

    width:100% !important;
    max-width:1200px !important;

    margin:32px auto 0 !important;
    padding:0 !important;

    align-items:stretch !important;
    box-sizing:border-box !important;
}

/* Every card gets the same proper height */
main .gest-services .gest-service-card,
main #services .gest-service-card {

    position:relative !important;

    display:flex !important;
    flex-direction:column !important;

    width:100% !important;

    min-width:0 !important;
    min-height:300px !important;
    height:300px !important;

    box-sizing:border-box !important;

    margin:0 !important;
    padding:30px !important;

    overflow:hidden !important;

    border-radius:24px !important;
}

/* Number */
main .gest-services .gest-service-number,
main #services .gest-service-number {

    flex:0 0 auto !important;

    width:46px !important;
    height:46px !important;

    margin:0 0 24px !important;
}

/* Card heading */
main .gest-services .gest-service-card h3,
main #services .gest-service-card h3 {

    flex:0 0 auto !important;

    min-width:0 !important;

    margin:0 0 16px !important;
    padding:0 !important;

    font-size:18px !important;
    line-height:1.55 !important;

    overflow-wrap:break-word !important;
    word-break:normal !important;
}

/* Card description */
main .gest-services .gest-service-card p,
main #services .gest-service-card p {

    flex:1 1 auto !important;

    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    font-size:13px !important;
    line-height:1.8 !important;

    overflow:visible !important;

    overflow-wrap:break-word !important;
    word-break:normal !important;
}

/* Keep links from causing layout problems */
main .gest-services .gest-service-card h3 a,
main #services .gest-service-card h3 a {

    display:inline !important;

    max-width:100% !important;

    overflow-wrap:break-word !important;
    word-break:normal !important;

    white-space:normal !important;
}

/* ============================================================
   SECTION SIDE SPACING
   ============================================================ */

main .gest-services > .wrap,
main #services > .wrap {

    width:calc(100% - 80px) !important;

    max-width:1280px !important;

    margin-left:auto !important;
    margin-right:auto !important;

    box-sizing:border-box !important;
}

/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:950px){

    main .gest-services .gest-service-grid,
    main #services .gest-service-grid {

        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    main .gest-services .gest-service-card,
    main #services .gest-service-card {

        height:300px !important;
        min-height:300px !important;
    }
}

/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:650px){

    main .gest-services > .wrap,
    main #services > .wrap {

        width:calc(100% - 36px) !important;
    }

    main .gest-services .gest-service-grid,
    main #services .gest-service-grid {

        grid-template-columns:1fr !important;
        gap:18px !important;
    }

    main .gest-services .gest-service-card,
    main #services .gest-service-card {

        height:auto !important;
        min-height:280px !important;

        padding:26px !important;
    }
}


/* ============================================================
   GEST — WHAT GEST PROVIDES
   AUTO HEIGHT — NEVER CLIP OR OVERLAP TEXT
   ============================================================ */

main .gest-services .gest-service-grid,
main #services .gest-service-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;

    width:100% !important;
    max-width:1200px !important;

    margin:32px auto !important;
    padding:0 !important;

    align-items:stretch !important;
}

/* IMPORTANT:
   Do NOT use fixed height.
   Cards expand according to their content.
*/
main .gest-services .gest-service-card,
main #services .gest-service-card {

    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    min-width:0 !important;

    height:auto !important;
    min-height:300px !important;
    max-height:none !important;

    box-sizing:border-box !important;

    margin:0 !important;
    padding:30px !important;

    overflow:visible !important;
}

/* Heading can wrap naturally */
main .gest-services .gest-service-card h3,
main #services .gest-service-card h3 {

    display:block !important;

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin:0 0 18px !important;
    padding:0 !important;

    white-space:normal !important;
    overflow:visible !important;

    overflow-wrap:anywhere !important;
    word-break:normal !important;

    line-height:1.55 !important;
}

/* Description expands the card */
main .gest-services .gest-service-card p,
main #services .gest-service-card p {

    display:block !important;

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    white-space:normal !important;

    overflow:visible !important;

    overflow-wrap:anywhere !important;
    word-break:normal !important;

    line-height:1.8 !important;
}

/* Number stays at the top */
main .gest-services .gest-service-number,
main #services .gest-service-number {

    flex:0 0 auto !important;

    margin-bottom:24px !important;
}

/* Keep service links from clipping text */
main .gest-services .gest-service-card h3 a,
main #services .gest-service-card h3 a {

    display:inline !important;

    height:auto !important;
    max-height:none !important;

    white-space:normal !important;

    overflow:visible !important;
    text-overflow:clip !important;

    overflow-wrap:anywhere !important;
}

/* Desktop/tablet cards expand equally per grid row */
main .gest-services .gest-service-grid > .gest-service-card,
main #services .gest-service-grid > .gest-service-card {
    align-self:stretch !important;
}

/* Mobile */
@media(max-width:950px){

    main .gest-services .gest-service-grid,
    main #services .gest-service-grid {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:650px){

    main .gest-services .gest-service-grid,
    main #services .gest-service-grid {
        grid-template-columns:1fr !important;
    }

    main .gest-services .gest-service-card,
    main #services .gest-service-card {
        height:auto !important;
        min-height:280px !important;
        padding:26px !important;
    }
}


/* ============================================================
   WHAT GEST PROVIDES — FINAL AUTO-HEIGHT TEXT FIX
   No fixed height / no clipping / no overlap
   ============================================================ */

/* Provider section grid */
#providers .grid,
#providers .gest-service-grid,
section#providers .grid,
section#providers .gest-service-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
    align-items:stretch !important;
    height:auto !important;
    overflow:visible !important;
}

/* Every provider card */
#providers .card,
#providers .gest-service-card,
section#providers .card,
section#providers .gest-service-card {

    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    min-width:0 !important;

    height:auto !important;
    min-height:300px !important;
    max-height:none !important;

    box-sizing:border-box !important;

    overflow:visible !important;

    padding:30px !important;
    margin:0 !important;

    align-self:stretch !important;
}

/* Provider card headings */
#providers .card h3,
#providers .gest-service-card h3,
section#providers .card h3,
section#providers .gest-service-card h3 {

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin:0 0 18px !important;
    padding:0 !important;

    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;

    overflow-wrap:anywhere !important;
    word-break:normal !important;

    line-height:1.55 !important;
}

/* Provider descriptions */
#providers .card p,
#providers .gest-service-card p,
section#providers .card p,
section#providers .gest-service-card p {

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin:0 !important;
    padding:0 !important;

    white-space:normal !important;

    overflow:visible !important;
    text-overflow:clip !important;

    overflow-wrap:anywhere !important;
    word-break:normal !important;

    line-height:1.8 !important;
}

/* Any nested text inside provider cards */
#providers .card *,
#providers .gest-service-card *,
section#providers .card *,
section#providers .gest-service-card * {

    max-height:none !important;
}

/* Provider card links */
#providers .card a,
#providers .gest-service-card a,
section#providers .card a,
section#providers .gest-service-card a {

    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
}

/* Tablet */
@media(max-width:950px){

    #providers .grid,
    #providers .gest-service-grid,
    section#providers .grid,
    section#providers .gest-service-grid {

        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

/* Mobile */
@media(max-width:650px){

    #providers .grid,
    #providers .gest-service-grid,
    section#providers .grid,
    section#providers .gest-service-grid {

        grid-template-columns:1fr !important;
    }

    #providers .card,
    #providers .gest-service-card,
    section#providers .card,
    section#providers .gest-service-card {

        min-height:280px !important;
        height:auto !important;
    }
}


/* ============================================================
   GEST — FINAL BOX TEXT VISIBILITY
   Applies to the actual peach card classes used on homepage.
   Cards expand automatically according to their content.
   ============================================================ */

/* ALL homepage peach cards */
main .gest-service-card,
main .gest-metadata-lifecycle-card,
main .gest-crossref-card,
main .gest-scholarly-final-box,
main .gest-service-box-link,
main .cap {

    height:auto !important;
    min-height:300px !important;
    max-height:none !important;

    box-sizing:border-box !important;

    overflow:visible !important;

    display:block !important;

    margin-top:0 !important;
    margin-bottom:0 !important;
}

/* Remove clipping from every child */
main .gest-service-card *,
main .gest-metadata-lifecycle-card *,
main .gest-crossref-card *,
main .gest-scholarly-final-box *,
main .gest-service-box-link *,
main .cap * {

    max-height:none !important;
    overflow:visible !important;

    box-sizing:border-box !important;

    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
}

/* Headings */
main .gest-service-card h3,
main .gest-metadata-lifecycle-card h3,
main .gest-crossref-card h3,
main .gest-scholarly-final-box h3,
main .gest-service-box-link h3,
main .cap h3 {

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    margin-top:0 !important;

    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;

    line-height:1.55 !important;
}

/* Paragraphs */
main .gest-service-card p,
main .gest-metadata-lifecycle-card p,
main .gest-crossref-card p,
main .gest-scholarly-final-box p,
main .gest-service-box-link p,
main .cap p {

    height:auto !important;
    min-height:0 !important;
    max-height:none !important;

    white-space:normal !important;

    overflow:visible !important;
    text-overflow:clip !important;

    line-height:1.8 !important;

    margin-bottom:0 !important;
}

/* ============================================================
   WHAT GEST PROVIDES — 6 BOXES
   Give the section enough width and equal card height.
   ============================================================ */

.gest-service-grid {

    width:100% !important;

    display:grid !important;

    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap:24px !important;

    align-items:stretch !important;

    margin-left:auto !important;
    margin-right:auto !important;

    padding-left:0 !important;
    padding-right:0 !important;
}

.gest-service-grid .gest-service-card {

    width:100% !important;

    height:auto !important;

    min-height:320px !important;

    max-height:none !important;

    overflow:visible !important;

    padding:30px !important;

    display:block !important;
}

/* ============================================================
   CONTAINER ALIGNMENT
   Keep boxes away from browser edges.
   ============================================================ */

main .wrap {

    width:min(1180px, calc(100% - 48px)) !important;

    max-width:1180px !important;

    margin-left:auto !important;
    margin-right:auto !important;

    box-sizing:border-box !important;
}

/* ============================================================
   PREVENT GLOBAL SECTION CONTENT FROM TOUCHING EDGES
   ============================================================ */

main .section > .wrap {

    width:min(1180px, calc(100% - 48px)) !important;

    max-width:1180px !important;

    margin-left:auto !important;
    margin-right:auto !important;

    box-sizing:border-box !important;
}

/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:950px){

    main .wrap,
    main .section > .wrap {

        width:calc(100% - 40px) !important;
    }

    .gest-service-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }
}

/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:650px){

    main .wrap,
    main .section > .wrap {

        width:calc(100% - 28px) !important;
    }

    .gest-service-grid {

        grid-template-columns:1fr !important;
    }

    .gest-service-grid .gest-service-card {

        min-height:280px !important;

        padding:24px !important;
    }
}


/* ============================================================
   GEST — WHAT GEST PROVIDES
   EXTRA HEIGHT FOR FULL TEXT VISIBILITY
   ============================================================ */

.gest-service-grid .gest-service-card{
    height:420px !important;
    min-height:420px !important;
    max-height:none !important;

    overflow:visible !important;
    box-sizing:border-box !important;

    padding:32px !important;
}

/* Keep all text inside the taller card */
.gest-service-grid .gest-service-card h3{
    height:auto !important;
    max-height:none !important;

    margin-top:0 !important;
    margin-bottom:18px !important;

    line-height:1.6 !important;

    white-space:normal !important;
    overflow:visible !important;
}

.gest-service-grid .gest-service-card p{
    height:auto !important;
    max-height:none !important;

    margin:0 !important;

    line-height:1.9 !important;

    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:break-word !important;
}

/* Make sure the grid rows use the same fixed height */
.gest-service-grid{
    align-items:stretch !important;
}

@media(max-width:950px){
    .gest-service-grid .gest-service-card{
        height:420px !important;
        min-height:420px !important;
    }
}

@media(max-width:650px){
    .gest-service-grid .gest-service-card{
        height:auto !important;
        min-height:360px !important;
    }
}


/* ============================================================
   GEST — WHAT GEST PROVIDES
   EXTRA HEIGHT FOR FULL TEXT VISIBILITY
   ============================================================ */

.gest-service-grid .gest-service-card{
    height:420px !important;
    min-height:420px !important;
    max-height:none !important;

    overflow:visible !important;
    box-sizing:border-box !important;

    padding:32px !important;
}

/* Keep all text inside the taller card */
.gest-service-grid .gest-service-card h3{
    height:auto !important;
    max-height:none !important;

    margin-top:0 !important;
    margin-bottom:18px !important;

    line-height:1.6 !important;

    white-space:normal !important;
    overflow:visible !important;
}

.gest-service-grid .gest-service-card p{
    height:auto !important;
    max-height:none !important;

    margin:0 !important;

    line-height:1.9 !important;

    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:break-word !important;
}

/* Make sure the grid rows use the same fixed height */
.gest-service-grid{
    align-items:stretch !important;
}

@media(max-width:950px){
    .gest-service-grid .gest-service-card{
        height:420px !important;
        min-height:420px !important;
    }
}

@media(max-width:650px){
    .gest-service-grid .gest-service-card{
        height:auto !important;
        min-height:360px !important;
    }
}


/* ============================================================
   GEST HEADER LOGO — RESTORE TECHNOLOGIES PEACH
   ============================================================ */

/* Technologies in the GEST logo */
header .logo span:last-child,
header .brand span:last-child,
header .site-brand span:last-child,
header .navbar-brand span:last-child,
header a.logo span:last-child,
header a.brand span:last-child,
header .logo .accent,
header .brand .accent,
.site-header .logo span:last-child,
.site-header .brand span:last-child {
    color:#e58a70 !important;
}

/* Preserve the main GEST logo text as dark */
header .logo,
header .brand,
header .site-brand,
header .navbar-brand,
header a.logo,
header a.brand {
    color:#173f45 !important;
}


/* ============================================================
   GEST — LET'S TALK BOX
   PROFESSIONAL CONTENT ALIGNMENT / NO CLIPPING
   ============================================================ */

#talk,
#talk *{
    box-sizing:border-box !important;
}

#talk{
    width:100% !important;
    overflow:visible !important;
    padding:0 !important;
}

#talk .wrap{
    width:calc(100% - 96px) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:visible !important;
}

/* Main Talk card */
#talk .wrap > *{
    overflow:visible !important;
}

/* Give the main content card enough internal space */
#talk .wrap > div{
    width:100% !important;
    min-height:520px !important;
    padding:64px 72px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:visible !important;
}

/* Heading */
#talk h1,
#talk h2,
#talk h3{
    width:100% !important;
    max-width:900px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:0 !important;
    color:#000000 !important;
    line-height:1.15 !important;
    overflow:visible !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
}

/* Body text */
#talk p{
    width:100% !important;
    max-width:1000px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:0 !important;
    color:#000000 !important;
    line-height:1.8 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:anywhere !important;
    overflow:visible !important;
}

/* Eyebrow */
#talk .eyebrow{
    display:block !important;
    width:100% !important;
    margin:0 0 28px !important;
    padding:0 !important;
    color:#e58a70 !important;
}

/* Contact details */
#talk a,
#talk strong,
#talk span{
    color:#000000 !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:anywhere !important;
}

/* Prevent hidden/clipped content from older CSS */
#talk [style*="overflow:hidden"],
#talk [style*="height:"],
#talk [style*="max-height:"]{
    overflow:visible !important;
    max-height:none !important;
}

/* Desktop spacing */
@media(min-width:951px){
    #talk .wrap > div{
        padding:68px 72px !important;
    }

    #talk h2{
        max-width:850px !important;
        font-size:48px !important;
    }
}

/* Tablet */
@media(max-width:950px){
    #talk .wrap{
        width:calc(100% - 48px) !important;
    }

    #talk .wrap > div{
        min-height:480px !important;
        padding:48px !important;
    }

    #talk h2{
        font-size:40px !important;
    }
}

/* Mobile */
@media(max-width:650px){
    #talk .wrap{
        width:calc(100% - 32px) !important;
    }

    #talk .wrap > div{
        min-height:auto !important;
        padding:36px 28px !important;
    }

    #talk h2{
        font-size:32px !important;
        line-height:1.2 !important;
    }

    #talk p{
        font-size:14px !important;
        line-height:1.75 !important;
    }
}


/* ============================================================
   GEST HEADER / LOGO — PERMANENT LOCK
   DO NOT MODIFY FROM HOMEPAGE SECTION CSS
   ============================================================ */

/* Header itself stays unchanged */
.site-header,
.public-header,
.gest-header,
.navbar,
.nav-wrap,
header {
    color:inherit !important;
}

/* Main GEST logo text */
.site-header .logo,
.site-header .brand,
.public-header .logo,
.public-header .brand,
.gest-header .logo,
.gest-header .brand,
header .logo,
header .brand {
    color:#173f45 !important;
}

/* TECHNOLOGIES — PERMANENT PEACH */
.site-header .logo span:last-child,
.site-header .brand span:last-child,
.public-header .logo span:last-child,
.public-header .brand span:last-child,
.gest-header .logo span:last-child,
.gest-header .brand span:last-child,
header .logo span:last-child,
header .brand span:last-child,
.logo span:last-child,
.brand span:last-child {
    color:#e58a70 !important;
}

/* Common accent classes used by the logo */
.site-header .accent,
.public-header .accent,
.gest-header .accent,
header .accent {
    color:#e58a70 !important;
}

/* ============================================================
   HEADER LOCK:
   Homepage section rules must NEVER control header colours.
   ============================================================ */

header *,
.site-header *,
.public-header *,
.gest-header * {
    --gest-header-accent:#e58a70;
}

/* ============================================================
   IMPORTANT:
   Section-specific colour rules belong inside MAIN only.
   ============================================================ */

main {
    isolation:isolate;
}


/* ============================================================
   GEST LOGO — TECHNOLOGIES PERMANENT PEACH
   This selector targets the actual logo element.
   ============================================================ */

.gest-logo-technologies {
    color:#e58a70 !important;
    -webkit-text-fill-color:#e58a70 !important;
}


/* ============================================================
   GEST — CONTACT SECTION VISIBILITY / ALIGNMENT FIX
   ONLY #contact
   HEADER / LOGO / NAVIGATION UNTOUCHED
   ============================================================ */

main #contact{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:90px 0 !important;
    overflow:visible !important;
}

main #contact .wrap{
    width:min(1180px,calc(100% - 48px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
}

main #contact .contactbox{
    display:grid !important;
    grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr) !important;
    gap:60px !important;
    align-items:center !important;
    width:100% !important;
    min-height:420px !important;
    padding:64px !important;
    margin:0 !important;
    box-sizing:border-box !important;
    background:#fff8f4 !important;
    border:1px solid #eadbd4 !important;
    border-radius:28px !important;
    box-shadow:0 14px 40px rgba(34,48,52,.07) !important;
    overflow:visible !important;
}

main #contact .contactbox > div{
    min-width:0 !important;
    overflow:visible !important;
}

main #contact .contactbox h2{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#000000 !important;
    margin:14px 0 22px !important;
    padding:0 !important;
    line-height:1.18 !important;
    overflow:visible !important;
}

main #contact .contactbox p{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#000000 !important;
    margin:0 !important;
    line-height:1.8 !important;
    overflow:visible !important;
}

main #contact .eyebrow{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#e58a70 !important;
}

main #contact .contactbox > div:last-child{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:14px !important;
    color:#000000 !important;
    font-size:15px !important;
    line-height:1.7 !important;
    overflow:visible !important;
}

main #contact .contactbox > div:last-child > div{
    display:block !important;
    color:#000000 !important;
    white-space:normal !important;
    overflow:visible !important;
}

main #contact .contactlink{
    display:inline-block !important;
    width:max-content !important;
    max-width:100% !important;
    color:#000000 !important;
    font-weight:700 !important;
    text-decoration:none !important;
    overflow:visible !important;
}

main #contact .contactlink:hover{
    color:#e58a70 !important;
}

@media(max-width:800px){
    main #contact .contactbox{
        grid-template-columns:1fr !important;
        gap:36px !important;
        min-height:auto !important;
        padding:40px 30px !important;
    }
}

@media(max-width:500px){
    main #contact{
        padding:60px 0 !important;
    }

    main #contact .wrap{
        width:calc(100% - 28px) !important;
    }

    main #contact .contactbox{
        padding:30px 22px !important;
        border-radius:22px !important;
    }
}


/* ============================================================
   GEST — CONTACT DETAILS ALIGNMENT ONLY
   DO NOT MODIFY HEADER / LOGO / NAVIGATION / OTHER SECTIONS
   ============================================================ */

main #contact .contactbox{
    align-items:start !important;
}

main #contact .contactbox > div:first-child{
    align-self:start !important;
}

main #contact .contactbox > div:last-child{
    align-self:start !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    margin:0 !important;
    padding:18px 0 0 !important;
    position:relative !important;
    top:auto !important;
    bottom:auto !important;
}

main #contact .contactbox > div:last-child > div,
main #contact .contactbox > div:last-child .contactlink{
    margin:0 !important;
}

main #contact .contactbox > div:last-child{
    gap:14px !important;
}

/* Keep contact information readable and together */
main #contact .contactbox > div:last-child > div{
    line-height:1.7 !important;
    min-height:0 !important;
}

/* Mobile */
@media(max-width:800px){
    main #contact .contactbox > div:last-child{
        padding:0 !important;
        margin-top:10px !important;
    }
}


/* ============================================================
   GEST — LET'S TALK FINAL ALIGNMENT
   ONLY #talk
   HEADER / LOGO / NAVIGATION LOCKED
   ============================================================ */

#talk{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    visibility:visible !important;
    opacity:1 !important;
    padding:80px 0 !important;
    box-sizing:border-box !important;
}

#talk .wrap{
    width:min(1180px,calc(100% - 48px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

#talk .contactbox{
    display:grid !important;
    grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr) !important;
    column-gap:70px !important;
    align-items:start !important;
    width:100% !important;
    min-height:420px !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    padding:64px !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

#talk .contactbox > div{
    position:static !important;
    top:auto !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;
    float:none !important;
    transform:none !important;
    min-width:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 !important;
}

#talk .contactbox > div:first-child{
    align-self:start !important;
    margin:0 !important;
    padding:0 !important;
}

#talk .contactbox > div:last-child{
    align-self:start !important;
    justify-self:start !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:12px !important;
    margin:0 !important;
    padding:18px 0 0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
}

#talk h1,
#talk h2,
#talk h3{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#000000 !important;
    margin-top:0 !important;
    overflow:visible !important;
}

#talk h2{
    margin-bottom:22px !important;
    line-height:1.18 !important;
}

#talk p{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#000000 !important;
    margin:0 !important;
    line-height:1.8 !important;
    overflow:visible !important;
}

#talk .eyebrow{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#e58a70 !important;
    margin:0 0 14px !important;
}

#talk a,
#talk strong,
#talk span{
    color:#000000 !important;
}

#talk .contactlink{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:#000000 !important;
    font-weight:700 !important;
    text-decoration:none !important;
    overflow:visible !important;
}

#talk .contactbox > div:last-child > div{
    display:block !important;
    position:static !important;
    margin:0 !important;
    padding:0 !important;
    color:#000000 !important;
    line-height:1.7 !important;
    white-space:normal !important;
    overflow:visible !important;
}

#talk [style*="overflow:hidden"],
#talk [style*="height:"],
#talk [style*="max-height:"]{
    overflow:visible !important;
    height:auto !important;
    max-height:none !important;
}

@media(max-width:800px){

    #talk{
        padding:60px 0 !important;
    }

    #talk .wrap{
        width:calc(100% - 32px) !important;
    }

    #talk .contactbox{
        grid-template-columns:1fr !important;
        row-gap:35px !important;
        min-height:auto !important;
        padding:40px 30px !important;
    }

    #talk .contactbox > div:last-child{
        padding:0 !important;
    }
}

@media(max-width:500px){

    #talk .wrap{
        width:calc(100% - 24px) !important;
    }

    #talk .contactbox{
        padding:30px 22px !important;
        border-radius:22px !important;
    }
}



/* ============================================================
   GEST — CONTACT FORM
   CONTACT SECTION ONLY
   HEADER / LOGO / NAVIGATION UNTOUCHED
   ============================================================ */

main #talk .gest-contact-layout{
    display:grid !important;
    grid-template-columns:minmax(0,0.95fr) minmax(420px,1.05fr) !important;
    gap:70px !important;
    align-items:start !important;
    width:100% !important;
    box-sizing:border-box !important;
}

main #talk .gest-contact-copy{
    min-width:0 !important;
}

main #talk .gest-contact-copy h2{
    color:#000000 !important;
}

main #talk .gest-contact-copy p{
    color:#000000 !important;
}

main #talk .gest-contact-details{
    margin-top:36px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
    color:#000000 !important;
    line-height:1.7 !important;
}

main #talk .gest-contact-details .contactlink{
    color:#000000 !important;
    font-weight:700 !important;
    text-decoration:none !important;
}

main #talk .gest-contact-details strong{
    color:#000000 !important;
}

main #talk .gest-contact-form-wrap{
    min-width:0 !important;
}

main #talk .gest-contact-form{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
}

main #talk .gest-form-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:18px !important;
}

main #talk .gest-contact-form label{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    color:#000000 !important;
    font-weight:600 !important;
}

main #talk .gest-contact-form label span{
    color:#000000 !important;
    font-size:14px !important;
}

main #talk .gest-contact-form input,
main #talk .gest-contact-form textarea{
    width:100% !important;
    box-sizing:border-box !important;
    border:1px solid #e5d4cc !important;
    border-radius:12px !important;
    background:#ffffff !important;
    color:#000000 !important;
    padding:14px 16px !important;
    font:inherit !important;
    outline:none !important;
}

main #talk .gest-contact-form textarea{
    min-height:150px !important;
    resize:vertical !important;
}

main #talk .gest-contact-form input::placeholder,
main #talk .gest-contact-form textarea::placeholder{
    color:#777777 !important;
    opacity:1 !important;
}

main #talk .gest-contact-form input:focus,
main #talk .gest-contact-form textarea:focus{
    border-color:#e58a70 !important;
    box-shadow:0 0 0 3px rgba(229,138,112,.12) !important;
}

main #talk .gest-contact-submit{
    align-self:flex-start !important;
    border:0 !important;
    border-radius:12px !important;
    padding:15px 24px !important;
    background:#e58a70 !important;
    color:#ffffff !important;
    font:inherit !important;
    font-weight:700 !important;
    cursor:pointer !important;
}

main #talk .gest-contact-success{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    margin-bottom:20px !important;
    padding:18px 20px !important;
    border-radius:14px !important;
    border:1px solid #b9d8c1 !important;
    background:#f3fbf5 !important;
    color:#000000 !important;
}

main #talk .gest-contact-success strong,
main #talk .gest-contact-success span{
    color:#000000 !important;
}

main #talk .gest-contact-error{
    margin-bottom:20px !important;
    padding:16px 18px !important;
    border-radius:14px !important;
    border:1px solid #e2b6aa !important;
    background:#fff5f2 !important;
    color:#000000 !important;
}

@media(max-width:900px){

    main #talk .gest-contact-layout{
        grid-template-columns:1fr !important;
        gap:45px !important;
    }

}

@media(max-width:600px){

    main #talk .gest-form-grid{
        grid-template-columns:1fr !important;
    }

    main #talk .gest-contact-layout{
        gap:35px !important;
    }

    main #talk .gest-contact-submit{
        width:100% !important;
    }

}


/* ============================================================
   GEST — PROFESSIONAL FOOTER
   FOOTER ONLY
   HEADER / LOGO / NAVIGATION / MAIN SECTIONS UNTOUCHED
   ============================================================ */

.gest-professional-footer{
    margin-top:0 !important;
    padding:72px 0 0 !important;
    background:#123f38 !important;
    color:#ffffff !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
}

.gest-professional-footer .wrap{
    width:min(1180px,calc(100% - 48px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
}

.gest-footer-main{
    display:grid !important;
    grid-template-columns:1.45fr 1fr 1fr 1fr 1.15fr !important;
    gap:42px !important;
    padding-bottom:55px !important;
}

.gest-footer-brand{
    min-width:0 !important;
}

.gest-footer-logo{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    align-items:baseline !important;
    margin-bottom:20px !important;
    font-size:23px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
}

.gest-footer-logo span:first-child{
    color:#ffffff !important;
}

.gest-footer-logo span:last-child{
    color:#e58a70 !important;
}

.gest-footer-brand p{
    max-width:330px !important;
    margin:0 0 25px !important;
    color:rgba(255,255,255,.76) !important;
    line-height:1.75 !important;
    font-size:14px !important;
}

.gest-footer-cta{
    display:inline-block !important;
    padding:11px 17px !important;
    border:1px solid rgba(229,138,112,.7) !important;
    border-radius:999px !important;
    color:#ffffff !important;
    background:#e58a70 !important;
    text-decoration:none !important;
    font-weight:700 !important;
    font-size:14px !important;
}

.gest-footer-column{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:11px !important;
    min-width:0 !important;
}

.gest-footer-title{
    margin-bottom:10px !important;
    color:#e58a70 !important;
    font-size:12px !important;
    font-weight:800 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
}

.gest-footer-column a{
    color:rgba(255,255,255,.82) !important;
    text-decoration:none !important;
    font-size:14px !important;
    line-height:1.45 !important;
    transition:color .2s ease !important;
}

.gest-footer-column a:hover{
    color:#e58a70 !important;
}

.gest-footer-contact span{
    color:rgba(255,255,255,.72) !important;
    font-size:14px !important;
    line-height:1.7 !important;
}

.gest-footer-tabs{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:9px !important;
    padding:24px 0 !important;
    border-top:1px solid rgba(255,255,255,.13) !important;
    border-bottom:1px solid rgba(255,255,255,.13) !important;
}

.gest-footer-tabs a{
    display:inline-flex !important;
    align-items:center !important;
    padding:9px 14px !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:999px !important;
    color:rgba(255,255,255,.82) !important;
    background:rgba(255,255,255,.035) !important;
    text-decoration:none !important;
    font-size:13px !important;
    transition:all .2s ease !important;
}

.gest-footer-tabs a:hover{
    color:#ffffff !important;
    background:#e58a70 !important;
    border-color:#e58a70 !important;
}

.gest-footer-bottom{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:20px !important;
    padding:23px 0 !important;
    color:rgba(255,255,255,.58) !important;
    font-size:13px !important;
    line-height:1.5 !important;
}

.gest-footer-bottom span{
    color:inherit !important;
}


/* TABLET */

@media(max-width:1050px){

    .gest-footer-main{
        grid-template-columns:1.4fr 1fr 1fr !important;
    }

}


/* MOBILE */

@media(max-width:700px){

    .gest-professional-footer{
        padding-top:55px !important;
    }

    .gest-professional-footer .wrap{
        width:calc(100% - 32px) !important;
    }

    .gest-footer-main{
        grid-template-columns:1fr 1fr !important;
        gap:38px 25px !important;
    }

    .gest-footer-brand{
        grid-column:1 / -1 !important;
    }

    .gest-footer-tabs{
        gap:8px !important;
    }

    .gest-footer-bottom{
        flex-direction:column !important;
        align-items:flex-start !important;
    }

}


/* SMALL MOBILE */

@media(max-width:480px){

    .gest-footer-main{
        grid-template-columns:1fr !important;
    }

    .gest-footer-brand{
        grid-column:auto !important;
    }

    .gest-footer-tabs a{
        font-size:12px !important;
        padding:8px 11px !important;
    }

}

/* ============================================================
   GEST — FOOTER FINAL PROFESSIONAL LAYOUT
   FOOTER ONLY
   FIX GLOBAL WRAP/FLEX CONFLICT
   HEADER / LOGO / NAVIGATION / MAIN CONTENT UNTOUCHED
   ============================================================ */

/* ------------------------------------------------------------
   IMPORTANT:
   Existing global footer/wrap rules may use flex.
   Force the new footer structure to stack correctly.
   ------------------------------------------------------------ */

footer.gest-professional-footer{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

footer.gest-professional-footer > .wrap{
    display:block !important;
    width:min(1180px,calc(100% - 48px)) !important;
    max-width:1180px !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
}


/* ============================================================
   MAIN FOOTER COLUMNS
   ============================================================ */

footer.gest-professional-footer .gest-footer-main{
    display:grid !important;
    grid-template-columns:
        minmax(230px,1.45fr)
        minmax(145px,.9fr)
        minmax(155px,.95fr)
        minmax(125px,.75fr)
        minmax(205px,1.2fr) !important;

    column-gap:34px !important;
    row-gap:45px !important;

    width:100% !important;
    height:auto !important;
    min-height:0 !important;

    padding:0 0 48px !important;
    margin:0 !important;

    align-items:start !important;
    box-sizing:border-box !important;
}


/* ============================================================
   BRAND COLUMN
   ============================================================ */

footer.gest-professional-footer .gest-footer-brand{
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    margin:0 !important;
}

footer.gest-professional-footer .gest-footer-logo{
    display:block !important;
    width:auto !important;
    margin:0 0 20px !important;

    font-size:23px !important;
    line-height:1.25 !important;
    font-weight:800 !important;

    white-space:normal !important;
}

footer.gest-professional-footer .gest-footer-logo span{
    display:inline !important;
}

footer.gest-professional-footer .gest-footer-logo span:first-child{
    color:#ffffff !important;
}

footer.gest-professional-footer .gest-footer-logo span:last-child{
    color:#e58a70 !important;
}

footer.gest-professional-footer .gest-footer-brand p{
    display:block !important;
    width:auto !important;
    max-width:330px !important;

    margin:0 0 25px !important;

    color:rgba(255,255,255,.76) !important;

    font-size:14px !important;
    line-height:1.75 !important;

    white-space:normal !important;
    overflow:visible !important;
}


/* ============================================================
   FOOTER COLUMNS
   ============================================================ */

footer.gest-professional-footer .gest-footer-column{
    display:flex !important;
    flex-direction:column !important;

    width:auto !important;
    min-width:0 !important;
    height:auto !important;

    margin:0 !important;
    padding:0 !important;

    align-items:flex-start !important;
    justify-content:flex-start !important;

    gap:11px !important;

    box-sizing:border-box !important;
}

footer.gest-professional-footer .gest-footer-title{
    display:block !important;

    width:auto !important;
    margin:0 0 10px !important;
    padding:0 !important;

    color:#e58a70 !important;

    font-size:11px !important;
    line-height:1.4 !important;
    font-weight:800 !important;
    letter-spacing:.15em !important;
    text-transform:uppercase !important;

    white-space:normal !important;
}

footer.gest-professional-footer .gest-footer-column a{
    display:block !important;

    width:auto !important;
    max-width:100% !important;

    margin:0 !important;
    padding:0 !important;

    color:rgba(255,255,255,.82) !important;
    background:transparent !important;

    font-size:13px !important;
    line-height:1.5 !important;

    text-decoration:none !important;

    white-space:normal !important;
    overflow:visible !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
}

footer.gest-professional-footer .gest-footer-column a:hover{
    color:#e58a70 !important;
}


/* ============================================================
   CONTACT COLUMN
   ============================================================ */

footer.gest-professional-footer .gest-footer-contact{
    min-width:0 !important;
}

footer.gest-professional-footer .gest-footer-contact a{
    white-space:nowrap !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
}

footer.gest-professional-footer .gest-footer-contact span{
    display:block !important;

    width:100% !important;
    max-width:220px !important;

    margin:0 !important;
    padding:0 !important;

    color:rgba(255,255,255,.72) !important;

    font-size:13px !important;
    line-height:1.65 !important;

    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
}


/* ============================================================
   TALK TO GEST BUTTON
   ============================================================ */

footer.gest-professional-footer .gest-footer-cta{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:max-content !important;
    max-width:100% !important;

    padding:11px 18px !important;
    margin:0 !important;

    color:#ffffff !important;
    background:#e58a70 !important;

    border:1px solid #e58a70 !important;
    border-radius:999px !important;

    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;

    text-decoration:none !important;
    white-space:nowrap !important;
}

footer.gest-professional-footer .gest-footer-cta:hover{
    color:#ffffff !important;
    background:#d9785e !important;
}


/* ============================================================
   NAVIGATION TABS
   MUST BE BELOW ALL FOOTER COLUMNS
   ============================================================ */

footer.gest-professional-footer .gest-footer-tabs{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;

    width:100% !important;
    height:auto !important;
    min-height:0 !important;

    margin:0 !important;
    padding:22px 0 !important;

    gap:9px !important;

    align-items:center !important;
    justify-content:flex-start !important;

    border-top:1px solid rgba(255,255,255,.13) !important;
    border-bottom:1px solid rgba(255,255,255,.13) !important;

    box-sizing:border-box !important;
}

footer.gest-professional-footer .gest-footer-tabs a{
    display:inline-flex !important;
    flex:0 0 auto !important;

    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    max-width:none !important;

    margin:0 !important;
    padding:9px 14px !important;

    color:rgba(255,255,255,.82) !important;
    background:rgba(255,255,255,.035) !important;

    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:999px !important;

    font-size:12px !important;
    line-height:1.2 !important;

    text-decoration:none !important;
    white-space:nowrap !important;
}

footer.gest-professional-footer .gest-footer-tabs a:hover{
    color:#ffffff !important;
    background:#e58a70 !important;
    border-color:#e58a70 !important;
}


/* ============================================================
   COPYRIGHT ROW
   MUST BE BELOW NAVIGATION TABS
   ============================================================ */

footer.gest-professional-footer .gest-footer-bottom{
    display:flex !important;
    flex-direction:row !important;

    width:100% !important;
    height:auto !important;
    min-height:0 !important;

    margin:0 !important;
    padding:22px 0 !important;

    align-items:center !important;
    justify-content:space-between !important;

    gap:20px !important;

    box-sizing:border-box !important;
}

footer.gest-professional-footer .gest-footer-bottom span{
    display:block !important;

    width:auto !important;
    max-width:100% !important;

    margin:0 !important;
    padding:0 !important;

    color:rgba(255,255,255,.58) !important;

    font-size:12px !important;
    line-height:1.5 !important;

    white-space:normal !important;
}


/* ============================================================
   TABLET
   ============================================================ */

@media(max-width:1050px){

    footer.gest-professional-footer .gest-footer-main{
        grid-template-columns:
            minmax(230px,1.4fr)
            minmax(150px,1fr)
            minmax(150px,1fr) !important;

        column-gap:35px !important;
        row-gap:42px !important;
    }

    footer.gest-professional-footer .gest-footer-brand{
        grid-column:1 / -1 !important;
    }

    footer.gest-professional-footer .gest-footer-brand p{
        max-width:560px !important;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media(max-width:700px){

    footer.gest-professional-footer{
        padding-top:50px !important;
    }

    footer.gest-professional-footer > .wrap{
        width:calc(100% - 32px) !important;
    }

    footer.gest-professional-footer .gest-footer-main{
        display:grid !important;

        grid-template-columns:1fr 1fr !important;

        column-gap:28px !important;
        row-gap:38px !important;

        padding-bottom:40px !important;
    }

    footer.gest-professional-footer .gest-footer-brand{
        grid-column:1 / -1 !important;
    }

    footer.gest-professional-footer .gest-footer-brand p{
        max-width:100% !important;
    }

    footer.gest-professional-footer .gest-footer-contact{
        grid-column:1 / -1 !important;
    }

    footer.gest-professional-footer .gest-footer-contact span{
        max-width:100% !important;
    }

    footer.gest-professional-footer .gest-footer-tabs{
        padding:20px 0 !important;
    }

    footer.gest-professional-footer .gest-footer-bottom{
        flex-direction:column !important;
        align-items:flex-start !important;
        justify-content:flex-start !important;
        gap:8px !important;
    }

}


/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media(max-width:480px){

    footer.gest-professional-footer > .wrap{
        width:calc(100% - 28px) !important;
    }

    footer.gest-professional-footer .gest-footer-main{
        grid-template-columns:1fr !important;
        row-gap:32px !important;
    }

    footer.gest-professional-footer .gest-footer-brand{
        grid-column:auto !important;
    }

    footer.gest-professional-footer .gest-footer-contact{
        grid-column:auto !important;
    }

    footer.gest-professional-footer .gest-footer-contact a{
        white-space:nowrap !important;
    }

    footer.gest-professional-footer .gest-footer-contact span{
        max-width:100% !important;
    }

    footer.gest-professional-footer .gest-footer-tabs{
        gap:7px !important;
    }

    footer.gest-professional-footer .gest-footer-tabs a{
        font-size:11px !important;
        padding:8px 11px !important;
    }

}


/* GEST FINAL DARKMODE CASCADE OVERRIDE */

body.darkmode {
    background:#101b18 !important;
    background-color:#101b18 !important;
    color:#f5eeea !important;
}

/* Main page surfaces */
body.darkmode main,
body.darkmode section,
body.darkmode article,
body.darkmode .hero,
body.darkmode .section,
body.darkmode .card,
body.darkmode .workflow,
body.darkmode .workflow > div,
body.darkmode .contactbox,
body.darkmode table {
    background:#211917 !important;
    background-color:#211917 !important;
    color:#f5eeea !important;
}

/* Headings and normal text */
body.darkmode h1,
body.darkmode h2,
body.darkmode h3,
body.darkmode h4,
body.darkmode h5,
body.darkmode h6,
body.darkmode p,
body.darkmode li,
body.darkmode label,
body.darkmode strong,
body.darkmode em,
body.darkmode blockquote,
body.darkmode .hero *,
body.darkmode .section *,
body.darkmode .card *,
body.darkmode .workflow *,
body.darkmode .contactbox * {
    color:#f5eeea !important;
    -webkit-text-fill-color:#f5eeea !important;
}

/* Links */
body.darkmode a {
    color:#f0a088 !important;
    -webkit-text-fill-color:#f0a088 !important;
}

/* Navigation */
body.darkmode .nav,
body.darkmode header.nav,
body.darkmode nav {
    background:#101b18 !important;
    background-color:#101b18 !important;
    color:#f5eeea !important;
}

body.darkmode .nav *,
body.darkmode header.nav *,
body.darkmode nav * {
    color:#f5eeea !important;
    -webkit-text-fill-color:#f5eeea !important;
}

/* Forms */
body.darkmode input,
body.darkmode textarea,
body.darkmode select {
    background:#211917 !important;
    background-color:#211917 !important;
    color:#f5eeea !important;
    -webkit-text-fill-color:#f5eeea !important;
    border-color:#6f817e !important;
}

/* Buttons */
body.darkmode button,
body.darkmode .theme-toggle button {
    background:#c47760 !important;
    background-color:#c47760 !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:#c47760 !important;
}

/* Tables */
body.darkmode th,
body.darkmode td {
    background:#211917 !important;
    background-color:#211917 !important;
    color:#f5eeea !important;
    -webkit-text-fill-color:#f5eeea !important;
}

/* Preserve dark visual hierarchy */
body.darkmode .hero p,
body.darkmode .section p {
    color:#ddd2cc !important;
    -webkit-text-fill-color:#ddd2cc !important;
}


/* GEST DARKMODE CARD CONTRAST FIX */

/*
 * The cards intentionally retain their light/cream surfaces.
 * Override the global dark-mode text rule inside cards so
 * headings and descriptions remain readable.
 */

body.darkmode .card h1,
body.darkmode .card h2,
body.darkmode .card h3,
body.darkmode .card h4,
body.darkmode .card h5,
body.darkmode .card h6,
body.darkmode .card p,
body.darkmode .card li,
body.darkmode .card strong,
body.darkmode .card span,
body.darkmode .card div,
body.darkmode .card small {
    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;
}

body.darkmode .card a {
    color:#9f4f3c !important;
    -webkit-text-fill-color:#9f4f3c !important;
}

body.darkmode .card .eyebrow,
body.darkmode .card .label,
body.darkmode .card .number {
    color:#9f4f3c !important;
    -webkit-text-fill-color:#9f4f3c !important;
}


/* GEST DARKMODE REPOSITORY CARD CONTRAST FIX */

/*
 * Repository service cards use their own component class,
 * not the generic .card component.
 */

body.darkmode .gest-repository-service-card {
    background:#fff8f4 !important;
    background-color:#fff8f4 !important;
    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;
}

body.darkmode .gest-repository-service-card h3,
body.darkmode .gest-repository-service-card p,
body.darkmode .gest-repository-service-card div,
body.darkmode .gest-repository-service-card strong,
body.darkmode .gest-repository-service-card small {
    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;
}

body.darkmode .gest-repository-service-card .gest-repository-number {
    color:#9f4f3c !important;
    -webkit-text-fill-color:#9f4f3c !important;
    border-color:#e6b8a8 !important;
}

body.darkmode .gest-repository-service-card:hover {
    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;
}

body.darkmode .gest-repository-service-card:hover h3,
body.darkmode .gest-repository-service-card:hover p,
body.darkmode .gest-repository-service-card:hover .gest-repository-number {
    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;
}


/* GEST DARKMODE GLOBAL COMPONENT VISIBILITY FIX */

/*
 * Global dark-mode component pass.
 *
 * Purpose:
 *   Keep all content-bearing cards, boxes, service blocks,
 *   workflow blocks and feature panels readable in dark mode.
 *
 * Light mode is completely untouched.
 */

body.darkmode
[class*="card"],
body.darkmode
[class*="box"],
body.darkmode
[class*="service"],
body.darkmode
[class*="workflow"],
body.darkmode
[class*="feature"],
body.darkmode
[class*="content"],
body.darkmode
[class*="panel"],
body.darkmode
[class*="item"] {
    color:#f4eee9 !important;
    -webkit-text-fill-color:#f4eee9 !important;
}

/*
 * Dark surfaces for component containers.
 * These rules deliberately use only darkmode.
 */

body.darkmode
.gest-repository-service-card,
body.darkmode
[class*="card"],
body.darkmode
[class*="service"],
body.darkmode
[class*="workflow"],
body.darkmode
[class*="feature"],
body.darkmode
[class*="panel"] {
    background:#241b19 !important;
    background-color:#241b19 !important;
    color:#f4eee9 !important;
    -webkit-text-fill-color:#f4eee9 !important;
}

/*
 * All textual children inside those components.
 */

body.darkmode
[class*="card"] h1,
body.darkmode
[class*="card"] h2,
body.darkmode
[class*="card"] h3,
body.darkmode
[class*="card"] h4,
body.darkmode
[class*="card"] h5,
body.darkmode
[class*="card"] h6,
body.darkmode
[class*="card"] p,
body.darkmode
[class*="card"] span,
body.darkmode
[class*="card"] div,
body.darkmode
[class*="card"] strong,
body.darkmode
[class*="card"] small,
body.darkmode
[class*="box"] h1,
body.darkmode
[class*="box"] h2,
body.darkmode
[class*="box"] h3,
body.darkmode
[class*="box"] h4,
body.darkmode
[class*="box"] h5,
body.darkmode
[class*="box"] h6,
body.darkmode
[class*="box"] p,
body.darkmode
[class*="box"] span,
body.darkmode
[class*="box"] div,
body.darkmode
[class*="service"] h1,
body.darkmode
[class*="service"] h2,
body.darkmode
[class*="service"] h3,
body.darkmode
[class*="service"] h4,
body.darkmode
[class*="service"] h5,
body.darkmode
[class*="service"] h6,
body.darkmode
[class*="service"] p,
body.darkmode
[class*="service"] span,
body.darkmode
[class*="service"] div,
body.darkmode
[class*="workflow"] h1,
body.darkmode
[class*="workflow"] h2,
body.darkmode
[class*="workflow"] h3,
body.darkmode
[class*="workflow"] h4,
body.darkmode
[class*="workflow"] h5,
body.darkmode
[class*="workflow"] h6,
body.darkmode
[class*="workflow"] p,
body.darkmode
[class*="workflow"] span,
body.darkmode
[class*="workflow"] div,
body.darkmode
[class*="feature"] h1,
body.darkmode
[class*="feature"] h2,
body.darkmode
[class*="feature"] h3,
body.darkmode
[class*="feature"] h4,
body.darkmode
[class*="feature"] h5,
body.darkmode
[class*="feature"] h6,
body.darkmode
[class*="feature"] p,
body.darkmode
[class*="feature"] span,
body.darkmode
[class*="feature"] div {
    color:#f4eee9 !important;
    -webkit-text-fill-color:#f4eee9 !important;
}

/*
 * Links inside components.
 */

body.darkmode
[class*="card"] a,
body.darkmode
[class*="box"] a,
body.darkmode
[class*="service"] a,
body.darkmode
[class*="workflow"] a,
body.darkmode
[class*="feature"] a,
body.darkmode
[class*="panel"] a {
    color:#f0a084 !important;
    -webkit-text-fill-color:#f0a084 !important;
}

/*
 * Number badges / labels.
 */

body.darkmode
[class*="number"],
body.darkmode
[class*="index"],
body.darkmode
[class*="badge"] {
    color:#f0a084 !important;
    -webkit-text-fill-color:#f0a084 !important;
    border-color:#9b6758 !important;
}

/*
 * Prevent old light-mode !important text/background declarations
 * from making dark-mode components invisible.
 */

body.darkmode
.gest-repository-service-card *,
body.darkmode
[class*="card"] *,
body.darkmode
[class*="box"] *,
body.darkmode
[class*="service"] *,
body.darkmode
[class*="workflow"] *,
body.darkmode
[class*="feature"] * {
    text-shadow:none;
}


/* GEST DARKMODE — SERVICE CARD HEADING RESET */

/*
 * Narrow correction for service-card headings.
 * Prevents inherited text/background presentation from
 * producing dark highlight blocks around heading text.
 *
 * Dark mode only.
 * Light mode untouched.
 */

body.darkmode main .gest-service-card h3,
body.darkmode main .gest-service-card h3 a,
body.darkmode main .gest-services .gest-service-card h3,
body.darkmode main .gest-services .gest-service-card h3 a,
body.darkmode main #services .gest-service-card h3,
body.darkmode main #services .gest-service-card h3 a {
    background:transparent !important;
    background-color:transparent !important;
    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;
    text-decoration:none !important;
    text-shadow:none !important;
    box-shadow:none !important;
}



/* GEST DARKMODE — SERVICE CARD TEXT FINAL PATCH */

/*
 * Service cards remain light surfaces in dark mode.
 * Their content therefore uses dark readable text.
 * Light mode is untouched.
 */

body.darkmode main .gest-service-card {
    background:#fff8f4 !important;
    background-color:#fff8f4 !important;
    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;
}

body.darkmode main .gest-service-card h1,
body.darkmode main .gest-service-card h2,
body.darkmode main .gest-service-card h3,
body.darkmode main .gest-service-card h4,
body.darkmode main .gest-service-card h5,
body.darkmode main .gest-service-card h6,
body.darkmode main .gest-service-card p,
body.darkmode main .gest-service-card span,
body.darkmode main .gest-service-card strong,
body.darkmode main .gest-service-card small,
body.darkmode main .gest-service-card div {
    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;
    text-shadow:none !important;
}

body.darkmode main .gest-service-card a {
    color:#b85f43 !important;
    -webkit-text-fill-color:#b85f43 !important;
}

body.darkmode main .gest-service-card .number,
body.darkmode main .gest-service-card .index,
body.darkmode main .gest-service-card [class*="number"],
body.darkmode main .gest-service-card [class*="index"] {
    color:#b85f43 !important;
    -webkit-text-fill-color:#b85f43 !important;
}


/* GEST DARKMODE — HEADER BRAND VISIBILITY FIX */

/*
 * The global dark-mode navigation rule makes header text light,
 * but later .brand rules force the brand back to the dark light-mode
 * color #183f37. Reset only the header brand in dark mode.
 */

body.darkmode header.nav .brand,
body.darkmode .nav .brand,
body.darkmode header .brand,
body.darkmode .brand {
    color:#f5eeea !important;
    -webkit-text-fill-color:#f5eeea !important;
    text-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
}

/* Preserve the GEST accent on "Technologies" if it is a separate span. */

body.darkmode header.nav .brand span:last-child,
body.darkmode .nav .brand span:last-child,
body.darkmode header .brand span:last-child,
body.darkmode .brand span:last-child {
    color:#c47760 !important;
    -webkit-text-fill-color:#c47760 !important;
}


/* GEST DARKMODE — ACTUAL HEADER BRAND FIX */

/*
 * Actual public header uses GEST-specific brand selectors.
 * Keep light mode untouched and override only in dark mode.
 */

body.darkmode .gest-site-brand,
body.darkmode .gest-site-brand-text,
body.darkmode header .gest-site-brand,
body.darkmode header .gest-site-brand-text {
    color:#f5eeea !important;
    -webkit-text-fill-color:#f5eeea !important;
    opacity:1 !important;
    visibility:visible !important;
}

/* Technologies accent */

body.darkmode .gest-site-brand span:last-child,
body.darkmode .gest-site-brand-text span:last-child,
body.darkmode header .gest-site-brand span:last-child,
body.darkmode header .gest-site-brand-text span:last-child {
    color:#e58a70 !important;
    -webkit-text-fill-color:#e58a70 !important;
}

/* If the accent is represented by a dedicated accent class */

body.darkmode .gest-site-brand .accent,
body.darkmode .gest-site-brand-text .accent {
    color:#e58a70 !important;
    -webkit-text-fill-color:#e58a70 !important;
}

/* GEST DARKMODE — BRAND COLOR SPLIT FINAL */

/*
 * Dark mode brand:
 * Global e-Smart = white
 * Technologies = peach
 *
 * Light mode remains unchanged.
 */

body.darkmode .gest-site-brand-text,
body.darkmode .gest-site-brand-text::before {
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}

body.darkmode .gest-site-brand-text .gest-logo-technologies {
    color:#e58a70 !important;
    -webkit-text-fill-color:#e58a70 !important;
}


/* GEST DARKMODE — EXPLICIT BRAND PRIMARY/ACCENT FINAL */

body.darkmode .gest-site-brand-text .gest-logo-primary {
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    opacity:1 !important;
    visibility:visible !important;
}

body.darkmode .gest-site-brand-text .gest-logo-technologies {
    color:#e58a70 !important;
    -webkit-text-fill-color:#e58a70 !important;
    opacity:1 !important;
    visibility:visible !important;
}


/* GEST BRAND — TECHNOLOGIES SPACING FINAL */

.gest-logo-technologies {
    margin-left: 0.35em !important;
}


/* GEST BRAND — PERMANENT TECHNOLOGIES SPACING */

/*
 * Global spacing between:
 *   Global e-Smart
 *   Technologies
 *
 * Applied to the shared public-header component so
 * every page using the GEST public header remains consistent.
 */

.gest-logo-technologies {
    display: inline-block !important;
    margin-left: 0.35em !important;
    white-space: nowrap !important;
}

/* GEST FINAL — WHAT GEST PROVIDES CARD CONTENT VISIBILITY FIX */

/*
 * The global equal-height card system intentionally fixes many
 * homepage cards at 245–250px with overflow:hidden.
 *
 * The WHAT GEST PROVIDES cards contain variable-length descriptions.
 * For this section only, allow the cards to grow naturally so that
 * no final line of content is clipped.
 *
 * No other homepage cards are changed by this rule.
 */

#providers .card,
#providers .gest-service-card,
section#providers .card,
section#providers .gest-service-card {
    height:auto !important;
    min-height:300px !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}

#providers .card *,
#providers .gest-service-card *,
section#providers .card *,
section#providers .gest-service-card * {
    max-height:none !important;
    overflow:visible !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
}


/* ============================================================
   GEST — WHAT GEST PROVIDES — FINAL CARD VISIBILITY LOCK
   ONLY the six homepage provider cards.
   No changes to logo, navigation, darkmode, JS, DOI or Crossref.
   ============================================================ */

main .gest-services .gest-service-grid,
main #services .gest-service-grid,
#providers .grid,
#providers .gest-service-grid,
section#providers .grid,
section#providers .gest-service-grid,
.gest-service-grid {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    align-items:stretch !important;
}

main .gest-services .gest-service-card,
main #services .gest-service-card,
#providers .card,
#providers .gest-service-card,
section#providers .card,
section#providers .gest-service-card,
.gest-service-grid .gest-service-card {
    height:auto !important;
    min-height:320px !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}

main .gest-services .gest-service-card h3,
main #services .gest-service-card h3,
#providers .card h3,
#providers .gest-service-card h3,
section#providers .card h3,
section#providers .gest-service-card h3,
.gest-service-grid .gest-service-card h3 {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    white-space:normal !important;
    text-overflow:clip !important;
}

main .gest-services .gest-service-card p,
main #services .gest-service-card p,
#providers .card p,
#providers .gest-service-card p,
section#providers .card p,
section#providers .gest-service-card p,
.gest-service-grid .gest-service-card p {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    white-space:normal !important;
    text-overflow:clip !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
}

main .gest-services .gest-service-card *,
main #services .gest-service-card *,
#providers .card *,
#providers .gest-service-card *,
section#providers .card *,
section#providers .gest-service-card *,
.gest-service-grid .gest-service-card * {
    max-height:none !important;
    overflow:visible !important;
}

/* =========================================================
   GEST — WHAT GEST PROVIDES — SERVICE CARD LINK FINAL FIX
   ========================================================= */

#providers .service-card-link,
section#providers .service-card-link {
    height:auto !important;
    min-height:300px !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}

#providers .service-card-link h3,
#providers .service-card-link p,
section#providers .service-card-link h3,
section#providers .service-card-link p {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    white-space:normal !important;
    text-overflow:clip !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
}

/* =========================================================
   GEST — WHAT GEST PROVIDES — EXACT REAL SECTION SIX CARD FIX
   EXACT REAL SECTION: section#services
   ONLY THE SIX WHAT GEST PROVIDES CARDS
   ========================================================= */

section#services .service-card-link {
    height:auto !important;
    min-height:300px !important;
    max-height:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
}

section#services .service-card-link h3,
section#services .service-card-link p {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    white-space:normal !important;
    text-overflow:clip !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
}

/* =========================================================
   GEST — SECTION HEADING DARK PEACH ROUND BOX — FINAL
   Applies only to the homepage section-label .eyebrow elements.
   ========================================================= */

main .eyebrow {
    display:inline-block !important;
    width:max-content !important;
    max-width:100% !important;
    box-sizing:border-box !important;

    margin-bottom:18px !important;
    padding:8px 14px !important;

    border-radius:12px !important;
    background:#e58a70 !important;
    background-color:#e58a70 !important;

    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;

    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.3px !important;

    white-space:nowrap !important;
}

body.darkmode main .eyebrow {
    background:#e58a70 !important;
    background-color:#e58a70 !important;
    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;
}

/* =========================================================
   GEST — DIGITAL PRESERVATION — SECTION HEADING DARK PEACH FINAL
   ONLY the DIGITAL PRESERVATION section label.
   ========================================================= */

main .gest-repository-eyebrow {
    display:inline-block !important;
    width:max-content !important;
    max-width:100% !important;
    box-sizing:border-box !important;

    margin:0 0 18px 0 !important;
    padding:8px 14px !important;

    border-radius:12px !important;

    background:#e58a70 !important;
    background-color:#e58a70 !important;

    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;

    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.3px !important;

    white-space:nowrap !important;
}

body.darkmode main .gest-repository-eyebrow {
    background:#e58a70 !important;
    background-color:#e58a70 !important;
    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;
}

/* =========================================================
   GEST DOI HEALTH CHECK — HOMEPAGE BUTTON STYLE
   ONLY the new DOI Health Check homepage link.
   All existing/frozen components remain untouched.
   ========================================================= */

main a[href="/pages/doi-health-check/"] {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-sizing:border-box !important;

    padding:16px 22px !important;
    min-height:56px !important;

    border-radius:12px !important;
    background:#e58a70 !important;
    background-color:#e58a70 !important;

    color:#211917 !important;
    -webkit-text-fill-color:#211917 !important;

    text-decoration:none !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease !important;
}

main a[href="/pages/doi-health-check/"]:hover {
    transform:translateY(-2px) !important;
    box-shadow:0 10px 24px rgba(24,63,55,.14) !important;
}

