/* ═══════════════════════════════════════════════════════════════════════
   FEH Kuwait — Public landing styles
   Design philosophy: quiet luxury. Generous whitespace, restrained motion,
   Inter throughout. Inherits CSS variables from theme.css.
   ═══════════════════════════════════════════════════════════════════════ */

/* Override the body styles only on landing pages */
.lp-body{
    margin:0;
    background:#fafaf7;
    color:var(--c-text);
    font-family:'Inter','Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    overflow-x:hidden;
}

.lp-body *{box-sizing:border-box}

.lp-container{max-width:1180px;margin:0 auto;padding:0 24px}
@media(max-width:640px){.lp-container{padding:0 18px}}

/* ── Header ────────────────────────────────────────────────────────────── */
.lp-header{
    position:fixed;top:0;left:0;right:0;z-index:80;
    display:flex;align-items:center;gap:24px;
    padding:14px 32px;
    background:rgba(255,255,255,0);
    backdrop-filter:saturate(160%) blur(0);
    -webkit-backdrop-filter:saturate(160%) blur(0);
    transition:background .25s, backdrop-filter .25s, box-shadow .25s, padding .25s;
}
.lp-header.is-scrolled{
    background:rgba(255,255,255,.85);
    backdrop-filter:saturate(160%) blur(14px);
    -webkit-backdrop-filter:saturate(160%) blur(14px);
    box-shadow:0 1px 0 rgba(17,46,30,.06);
    padding:10px 32px;
}
.lp-header__brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;flex-shrink:0;transition:color .25s}
.lp-header.is-scrolled .lp-header__brand{color:var(--c-text)}
.lp-header__logo{width:36px;height:36px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));transition:filter .25s}
.lp-header.is-scrolled .lp-header__logo{filter:none}
.lp-header__brand-text{display:flex;flex-direction:column;line-height:1.1;font-family:'Inter',sans-serif}
.lp-header__org{font-weight:700;font-size:.95rem;letter-spacing:.01em}
.lp-header__sub{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85;font-weight:500}

.lp-header__nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.lp-header__nav > a{
    padding:8px 14px;border-radius:999px;text-decoration:none;
    color:rgba(255,255,255,.92);font-weight:500;font-size:.86rem;letter-spacing:.01em;
    transition:color .2s, background .2s
}
.lp-header__nav > a:hover{background:rgba(255,255,255,.12);color:#fff}
.lp-header.is-scrolled .lp-header__nav > a{color:var(--c-text)}
.lp-header.is-scrolled .lp-header__nav > a:hover{background:var(--c-surface-2)}

.lp-header__login{
    display:inline-flex;align-items:center;gap:6px;padding:8px 16px !important;
    border:1px solid rgba(255,255,255,.4);
    margin-left:8px;
}
.lp-header__login svg{width:14px;height:14px}
.lp-header.is-scrolled .lp-header__login{border-color:var(--c-border)}
.lp-header__login:hover{background:rgba(255,255,255,.18) !important}
.lp-header.is-scrolled .lp-header__login:hover{background:var(--c-primary) !important;color:#fff !important;border-color:var(--c-primary)}

.lp-header__menu{display:none;background:transparent;border:0;padding:8px;cursor:pointer;flex-direction:column;gap:5px;width:36px;height:36px;align-items:center;justify-content:center;border-radius:8px}
.lp-header__menu span{width:22px;height:2px;background:#fff;border-radius:1px;transition:transform .2s, opacity .2s, background .25s}
.lp-header.is-scrolled .lp-header__menu span{background:var(--c-text)}
.lp-header__menu.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.lp-header__menu.is-open span:nth-child(2){opacity:0}
.lp-header__menu.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:880px){
    .lp-header{padding:12px 18px}
    .lp-header__nav{
        position:absolute;top:100%;left:0;right:0;
        background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px;
        box-shadow:0 8px 24px -8px rgba(17,46,30,.18);
        opacity:0;transform:translateY(-8px);pointer-events:none;
        transition:opacity .15s, transform .15s;
    }
    .lp-header__nav.is-open{opacity:1;transform:translateY(0);pointer-events:auto}
    .lp-header__nav > a{color:var(--c-text);padding:12px 16px}
    .lp-header__login{border-color:var(--c-border);margin:6px 8px 4px}
    .lp-header__menu{display:flex}
}

/* ── Buttons (landing) ────────────────────────────────────────────────── */
.lp-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:14px 26px;border-radius:999px;
    font-family:inherit;font-weight:600;font-size:.92rem;letter-spacing:.01em;
    text-decoration:none;cursor:pointer;border:1px solid transparent;
    transition:transform .15s, background .15s, box-shadow .15s, border-color .15s;
}
.lp-btn svg{width:16px;height:16px}
.lp-btn--primary{background:var(--c-primary);color:#fff;box-shadow:0 8px 22px -10px rgba(17,46,30,.45)}
.lp-btn--primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(17,46,30,.55);color:#fff}
.lp-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.lp-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);color:#fff}
.lp-btn--block{width:100%}

/* ── Hero ─────────────────────────────────────────────────────────────── */
.lp-hero{
    position:relative;
    min-height:88vh;
    display:flex;align-items:center;
    color:#fff;
    padding:120px 32px 80px;
    overflow:hidden;
    isolation:isolate;
}
.lp-hero__bgs{position:absolute;inset:0;z-index:-2}
.lp-hero__bg{
    position:absolute;inset:0;
    background-position:center;background-size:cover;
    opacity:0;transform:scale(1.06);
    transition:opacity 1.6s ease, transform 8s ease;
}
.lp-hero__bg.is-active{opacity:1;transform:scale(1)}
.lp-hero__veil{
    position:absolute;inset:0;
    background:
        /* Diagonal — heavy darken across the left half where the headline lives, fading to clear right */
        linear-gradient(100deg,
            rgba(15,28,20,.88) 0%,
            rgba(15,28,20,.78) 30%,
            rgba(15,28,20,.50) 55%,
            rgba(15,28,20,.18) 75%,
            transparent 100%),
        /* Vertical — keeps the bottom edge readable for the scroll cue */
        linear-gradient(180deg,
            rgba(0,0,0,.25) 0%,
            rgba(0,0,0,.12) 45%,
            rgba(0,0,0,.65) 100%);
}
.lp-hero__pattern{
    position:absolute;inset:0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(255,255,255,.05) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(212,175,55,.07) 0%, transparent 40%);
    pointer-events:none;
}
.lp-hero__content{
    position:relative;z-index:1;max-width:780px;
}
.lp-hero__content::before{
    content:"";position:absolute;
    inset:-100px -140px -100px -140px;
    background:radial-gradient(ellipse at 30% 50%,
        rgba(0,0,0,.70) 0%,
        rgba(0,0,0,.45) 40%,
        rgba(0,0,0,0) 75%);
    z-index:-1;pointer-events:none;
    filter:blur(12px);
}
.lp-hero__eyebrow{
    display:inline-block;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;
    font-weight:600;opacity:.92;margin-bottom:24px;
    padding:6px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;
    background:rgba(255,255,255,.05);backdrop-filter:blur(8px);
}
.lp-hero__title{
    font-family:'Inter',sans-serif;
    font-weight:300;
    font-size:clamp(2.4rem, 5.5vw, 4.4rem);
    line-height:1.05;letter-spacing:-.02em;
    margin:0 0 22px;
    color:#fff !important; /* override the global h1 color rule */
    text-shadow:0 6px 32px rgba(0,0,0,.75), 0 2px 12px rgba(0,0,0,.60), 0 0 2px rgba(0,0,0,.45);
}
.lp-hero__lede,
.lp-hero__eyebrow{
    text-shadow:0 2px 16px rgba(0,0,0,.45);
}
.lp-hero__title-em{font-weight:600;font-style:normal;color:#fff}
.lp-hero__title-em::after{
    content:"";display:block;width:64px;height:2px;
    background:rgba(255,255,255,.7);margin-top:18px;
}
.lp-hero__lede{
    font-size:clamp(1.02rem, 1.5vw, 1.18rem);
    line-height:1.65;max-width:560px;margin:0 0 38px;
    color:rgba(255,255,255,.95);font-weight:400;
    text-wrap:pretty; /* avoid single-word orphans on the last line */
}
.lp-hero__title{text-wrap:balance}
.lp-hero__cta{display:flex;gap:14px;flex-wrap:wrap}

.lp-hero__scroll{
    position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
    width:24px;height:38px;
    border:1.5px solid rgba(255,255,255,.55);border-radius:999px;
    display:flex;justify-content:center;padding-top:6px;
    text-decoration:none;
    transition:border-color .2s;
}
.lp-hero__scroll:hover{border-color:rgba(255,255,255,1)}
.lp-hero__scroll span{
    width:3px;height:8px;background:#fff;border-radius:2px;
    animation:lp-hero-scroll 1.8s ease-in-out infinite;
}
@keyframes lp-hero-scroll{
    0%   { transform:translateY(0);   opacity:0 }
    30%  {                            opacity:1 }
    100% { transform:translateY(14px);opacity:0 }
}

/* ── Sections ──────────────────────────────────────────────────────────── */
.lp-section{padding:96px 0;position:relative;overflow:hidden}

/* Alt sections get a subtle Bohra-themed star pattern watermark in the top-right corner.
   Very low opacity — felt, not seen. */
.lp-section--alt{background:#f3f1ec;position:relative}
.lp-section--alt::before{
    content:"";position:absolute;
    top:-120px;right:-120px;width:520px;height:520px;
    background-image:url('../img/pattern-star.svg');
    background-size:120px;
    opacity:.05;
    transform:rotate(-8deg);
    pointer-events:none;
    mask-image:radial-gradient(ellipse at top right, black 0%, transparent 70%);
    -webkit-mask-image:radial-gradient(ellipse at top right, black 0%, transparent 70%);
}
/* Mirror watermark on the bottom-left of alt sections, even softer */
.lp-section--alt::after{
    content:"";position:absolute;
    bottom:-160px;left:-140px;width:460px;height:460px;
    background-image:url('../img/pattern-star.svg');
    background-size:140px;
    opacity:.035;
    transform:rotate(10deg);
    pointer-events:none;
    mask-image:radial-gradient(ellipse at bottom left, black 0%, transparent 70%);
    -webkit-mask-image:radial-gradient(ellipse at bottom left, black 0%, transparent 70%);
}

.lp-section__head{text-align:center;max-width:680px;margin:0 auto 56px;position:relative}
.lp-section__eyebrow{
    display:inline-flex;align-items:center;gap:14px;
    font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
    font-weight:600;color:var(--c-primary);margin-bottom:18px;
}
/* Ornament: thin gold lines flanking a centered diamond — quiet luxury anchor */
.lp-section__eyebrow::before,
.lp-section__eyebrow::after{
    content:"";display:inline-block;width:32px;height:1px;
    background:linear-gradient(90deg, transparent 0%, var(--c-gold,#C8A05A) 50%, transparent 100%);
    opacity:.7;
}
.lp-section__title{
    font-family:'Inter',sans-serif;font-weight:400;
    font-size:clamp(1.8rem, 3.2vw, 2.6rem);
    line-height:1.15;letter-spacing:-.02em;
    margin:0 0 18px;color:var(--c-text);
    text-wrap:balance;
}
.lp-section__lede{
    font-size:1.02rem;line-height:1.65;color:var(--c-text-muted);
    margin:0;font-weight:400;
    text-wrap:pretty;
    /* Cap line length tightly so two-line ledes split evenly instead of leaving an orphan word */
    max-width:560px;margin-left:auto;margin-right:auto;
}
.lp-empty{text-align:center;color:var(--c-text-muted);font-style:italic;padding:32px 0}

@media(max-width:640px){.lp-section{padding:72px 0}.lp-section__head{margin-bottom:40px}}

/* ── Value props ──────────────────────────────────────────────────────── */
.lp-values{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:1080px;margin:0 auto}
.lp-value{text-align:center;padding:0 16px}
.lp-value__icon{
    width:56px;height:56px;border-radius:18px;
    display:flex;align-items:center;justify-content:center;
    background:var(--c-primary-ghost);color:var(--c-primary);
    margin:0 auto 18px;
    transition:transform .25s ease;
}
.lp-value:hover .lp-value__icon{transform:translateY(-3px) rotate(-3deg)}
.lp-value__icon svg{width:28px;height:28px}
.lp-value h3{font-family:'Inter',sans-serif;font-weight:600;font-size:1.18rem;margin:0 0 10px;letter-spacing:-.01em;color:var(--c-text)}
.lp-value p{margin:0;color:var(--c-text-muted);font-size:.94rem;line-height:1.7}

@media(max-width:880px){.lp-values{grid-template-columns:1fr;gap:36px;max-width:480px}}

/* ── Destinations ─────────────────────────────────────────────────────── */
.lp-dests{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:980px){.lp-dests{grid-template-columns:repeat(3,1fr)}}
@media(max-width:740px){.lp-dests{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.lp-dests{grid-template-columns:1fr}}

.lp-dest{
    position:relative;border-radius:18px;overflow:hidden;background:#000;
    aspect-ratio:3/4;cursor:default;
    box-shadow:0 4px 20px -8px rgba(17,46,30,.18);
    transition:transform .35s ease, box-shadow .45s ease;
}
.lp-dest:hover{
    transform:translateY(-6px);
    /* Layered shadow: cool depth + warm gold rim glow tying back to the brand */
    box-shadow:
        0 22px 44px -14px rgba(17,46,30,.28),
        0 0 0 1px rgba(200,160,90,.30),
        0 0 32px -4px rgba(200,160,90,.22);
}
.lp-dest__media{position:absolute;inset:0}
.lp-dest__media img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform 1.2s ease;
}
.lp-dest:hover .lp-dest__media img{transform:scale(1.08)}
.lp-dest::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,
        rgba(0,0,0,0)   25%,
        rgba(0,0,0,.40) 50%,
        rgba(0,0,0,.85) 78%,
        rgba(0,0,0,.95) 100%);
    pointer-events:none;
}
.lp-dest__name,.lp-dest__country{
    text-shadow:0 2px 12px rgba(0,0,0,.85), 0 1px 4px rgba(0,0,0,.7);
    position:relative;z-index:1;
}
.lp-dest__body{
    position:absolute;left:0;right:0;bottom:0;padding:18px 20px;color:#fff;z-index:1;
}
.lp-dest__name{
    font-family:'Inter',sans-serif;font-weight:600;font-size:1.32rem;
    margin:0 0 4px;letter-spacing:-.01em;line-height:1.15;
}
.lp-dest__country{
    font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;
    opacity:.88;font-weight:500;
}

/* ── Posts ────────────────────────────────────────────────────────────── */
.lp-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:880px){.lp-posts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.lp-posts{grid-template-columns:1fr}}

.lp-post{
    background:#fff;border-radius:14px;overflow:hidden;
    border:1px solid rgba(17,46,30,.08);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s;
    height:100%;
}
.lp-post:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 40px -16px rgba(17,46,30,.20);
    border-color:rgba(17,46,30,.14);
}
.lp-post__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.lp-post__cover{height:200px;background:var(--c-surface-2);overflow:hidden;position:relative}
.lp-post__cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s ease}
.lp-post:hover .lp-post__cover img{transform:scale(1.04)}
.lp-post__cover--placeholder{display:flex;align-items:center;justify-content:center;color:var(--c-text-light)}
.lp-post__cover--placeholder svg{width:42px;height:42px;opacity:.5}
.lp-post__body{padding:22px;flex:1;display:flex;flex-direction:column}
.lp-post__date{
    font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;
    color:var(--c-text-muted);font-weight:500;margin-bottom:10px;
}
.lp-post__title{
    font-family:'Inter',sans-serif;font-weight:600;font-size:1.18rem;line-height:1.3;
    margin:0 0 10px;color:var(--c-text);letter-spacing:-.01em;
}
.lp-post__excerpt{
    margin:0 0 18px;color:var(--c-text-muted);font-size:.92rem;line-height:1.6;
    flex:1;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.lp-post__more{
    display:inline-flex;align-items:center;gap:6px;
    color:var(--c-primary);font-weight:600;font-size:.86rem;
    transition:gap .2s;
}
.lp-post:hover .lp-post__more{gap:10px}
.lp-post__more svg{width:14px;height:14px}

.lp-post--featured{grid-column:span 2}
@media(max-width:880px){.lp-post--featured{grid-column:span 2}}
@media(max-width:600px){.lp-post--featured{grid-column:span 1}}
.lp-post--featured .lp-post__cover{height:280px}
.lp-post--featured .lp-post__title{font-size:1.5rem}

/* ── Contact ──────────────────────────────────────────────────────────── */
.lp-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start;padding:0}
@media(max-width:880px){.lp-contact{grid-template-columns:1fr;gap:48px}}

.lp-contact__intro p{color:var(--c-text-muted);font-size:1rem;line-height:1.7;margin-bottom:32px}
.lp-contact__channels{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.lp-contact__channel{
    display:flex;align-items:center;gap:14px;
    padding:16px 20px;border-radius:14px;
    background:#fff;border:1px solid rgba(17,46,30,.08);
    text-decoration:none;color:inherit;
    transition:transform .15s, box-shadow .15s, border-color .15s;
}
.lp-contact__channel:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px -14px rgba(17,46,30,.18);
    border-color:var(--c-primary-lite);
}
.lp-contact__channel svg{width:24px;height:24px;color:var(--c-primary);flex-shrink:0}
.lp-contact__channel strong{display:block;font-size:.95rem;color:var(--c-text);font-weight:600}
.lp-contact__channel em{font-style:normal;font-size:.82rem;color:var(--c-text-muted)}

.lp-contact__form{
    background:#fff;padding:36px;border-radius:18px;
    border:1px solid rgba(17,46,30,.08);
    box-shadow:0 8px 30px -16px rgba(17,46,30,.12);
}
.lp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lp-form-group{margin-bottom:14px;display:flex;flex-direction:column;gap:6px}
.lp-form-label{font-size:.78rem;font-weight:600;color:var(--c-text);letter-spacing:.02em}
.lp-form-label span{color:var(--c-danger)}
.lp-input{
    padding:12px 14px;border:1px solid rgba(17,46,30,.14);border-radius:10px;
    font-family:inherit;font-size:.92rem;background:#fff;color:var(--c-text);
    transition:border-color .15s, box-shadow .15s, background .15s;
    width:100%;
}
.lp-input:focus{
    outline:0;border-color:var(--c-primary);
    box-shadow:0 0 0 3px var(--c-primary-ghost);
}
textarea.lp-input{resize:vertical;min-height:120px;line-height:1.5}
.lp-form-hint{font-size:.78rem;color:var(--c-text-muted);margin:4px 0 16px}
@media(max-width:560px){.lp-form-row{grid-template-columns:1fr}}

/* ── Footer ───────────────────────────────────────────────────────────── */
.lp-foot{
    background:
        radial-gradient(circle at 12% 0%, rgba(200,160,90,.24), transparent 34%),
        linear-gradient(180deg, var(--c-primary) 0%, var(--c-primary-dk) 100%);
    color:rgba(255,255,255,.85);
    padding:68px 32px 28px;
    position:relative;
}
/* A gentle highlight along the top edge for definition where the section ends and the footer begins */
.lp-foot::before{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
}
.lp-foot__inner{
    max-width:1180px;margin:0 auto;
    display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(420px,1fr);gap:56px;
    align-items:start;
}
.lp-foot__brand-panel{max-width:520px}
.lp-foot__nav{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;
    padding-top:18px;
}
.lp-foot__col h4{
    font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;
    color:rgba(255,255,255,.65);font-weight:600;margin:0 0 16px;
}
.lp-foot__col a{
    display:block;color:rgba(255,255,255,.85);text-decoration:none;
    font-size:.92rem;padding:5px 0;transition:color .15s;
}
.lp-foot__col a:hover{color:#fff}
.lp-foot__brand{
    display:inline-flex;align-items:center;justify-content:center;
    width:104px;height:104px;border-radius:50%;
    background:#f3f1ec; /* cream — same tone as our alt sections */
    border:none;
    box-shadow:0 12px 28px -12px rgba(0,0,0,.40), 0 0 0 1px rgba(255,255,255,.10);
    margin-bottom:20px;
    transition:transform .2s ease, box-shadow .2s ease;
}
.lp-foot__brand:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 36px -12px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.15);
}
.lp-foot__logo{width:96px;height:96px;display:block}
.lp-foot__name{
    font-family:'Inter',sans-serif;font-weight:600;font-size:1.05rem;
    color:#fff;letter-spacing:-.01em;margin-bottom:6px;
}
.lp-foot__tagline{margin:0;font-size:.88rem;line-height:1.6;max-width:340px;color:rgba(255,255,255,.78);font-style:italic}

.lp-foot__copy{
    max-width:1180px;margin:48px auto 0;padding:24px 0 0;
    border-top:1px solid rgba(255,255,255,.18);
    font-size:.82rem;color:rgba(255,255,255,.70);
    display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
}
.lp-foot__credit{font-size:.78rem;color:rgba(255,255,255,.60)}
.lp-foot__credit a{color:rgba(255,255,255,.85);text-decoration:none;font-weight:500;transition:color .15s}
.lp-foot__credit a:hover{color:#fff}
.lp-foot__brand{
    display:flex;align-items:center;gap:22px;color:#fff;
    width:max-content;max-width:100%;height:auto;border-radius:0;
    background:transparent;border:0;box-shadow:none;margin-bottom:0;
}
.lp-foot__mark{
    display:flex;align-items:center;justify-content:center;flex:0 0 auto;
    width:124px;height:124px;border-radius:26px;
    background:linear-gradient(145deg,#fff 0%,#f3f1ec 100%);
    border:1px solid rgba(200,160,90,.55);
    text-decoration:none;
    box-shadow:0 24px 46px -22px rgba(0,0,0,.55), 0 0 0 6px rgba(255,255,255,.06);
    transition:transform .2s ease, box-shadow .2s ease;
}
.lp-foot__mark:hover{transform:translateY(-2px);box-shadow:0 28px 52px -22px rgba(0,0,0,.58), 0 0 0 6px rgba(255,255,255,.08)}
.lp-foot__logo{width:108px;height:108px;display:block;object-fit:contain}
.lp-foot__brand-copy{display:flex;flex-direction:column;min-width:0}
.lp-foot__name{
    font-family:'Inter',sans-serif;font-weight:700;font-size:1.28rem;line-height:1.15;
    color:#fff;letter-spacing:0;margin-bottom:8px;
}
.lp-foot__tagline{
    font-size:.9rem;line-height:1.5;max-width:320px;color:rgba(255,255,255,.78);font-style:italic;
}
.lp-foot__contact{
    display:flex;flex-direction:column;gap:8px;
    font-size:.9rem;line-height:1.35;max-width:430px;
}
.lp-foot__contact-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.lp-foot__contact-link{
    display:inline-flex;align-items:center;gap:7px;
    color:#fff;text-decoration:none;font-weight:500;
    white-space:nowrap;transition:color .15s ease;
}
.lp-foot__contact-link--address{
    color:rgba(255,255,255,.88);font-weight:400;white-space:normal;
}
.lp-foot__contact-link svg{
    width:15px;height:15px;flex:0 0 15px;color:#f0d59a;display:block;
}
.lp-foot__contact-link:hover{color:#f0d59a}
@media(max-width:920px){
    .lp-foot__inner{grid-template-columns:1fr;gap:40px}
    .lp-foot__nav{padding-top:0}
}
@media(max-width:680px){
    .lp-foot__copy{justify-content:center;text-align:center;flex-direction:column;gap:8px}
    .lp-foot__brand{align-items:flex-start}
    .lp-foot__mark{width:108px;height:108px;border-radius:22px}
    .lp-foot__logo{width:94px;height:94px}
}
@media(max-width:780px){.lp-foot__inner{gap:36px 24px}}
@media(max-width:560px){
    .lp-foot{padding:56px 24px 26px}
    .lp-foot__brand{flex-direction:column;gap:18px}
    .lp-foot__contact-row{gap:10px 16px}
    .lp-foot__contact-link{white-space:normal}
    .lp-foot__nav{grid-template-columns:1fr;gap:28px}
}

/* ── Reveal-on-scroll animation ───────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .8s ease;transition-delay:var(--lp-stagger,0s)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none}
    .lp-hero__bg{transition:none;transform:none}
    .lp-hero__scroll span{animation:none}
}

/* ── Single post page ─────────────────────────────────────────────────── */
.lp-post-page{padding-top:0}
.lp-post-page__head{
    position:relative;color:#fff;padding:160px 32px 80px;
    background-color:var(--c-primary); /* fallback when no cover */
    background-position:center;background-size:cover;background-repeat:no-repeat;
    overflow:hidden;
    isolation:isolate;
}
/* Diagonal dark overlay so headline reads regardless of cover brightness */
.lp-post-page__head::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(115deg,
        rgba(15,28,20,.85) 0%,
        rgba(15,28,20,.65) 40%,
        rgba(15,28,20,.45) 70%,
        rgba(15,28,20,.55) 100%);
    pointer-events:none;
    z-index:0;
}
/* When no cover image is set, soften the overlay since there's only the green to mask */
.lp-post-page__head:not(.has-cover)::before{
    background:linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.35));
}
.lp-post-page__head-inner{max-width:760px;position:relative;z-index:1}
.lp-post-page__back{
    display:inline-flex;align-items:center;gap:6px;
    color:rgba(255,255,255,.75);text-decoration:none;font-size:.86rem;font-weight:500;
    margin-bottom:28px;
}
.lp-post-page__back:hover{color:#fff}
.lp-post-page__back svg{width:14px;height:14px}
.lp-post-page__date{
    display:block;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
    color:rgba(255,255,255,.7);margin-bottom:14px;font-weight:500;
}
.lp-post-page__title{
    font-family:'Inter',sans-serif;font-weight:500;
    font-size:clamp(2rem, 4vw, 3rem);line-height:1.15;
    margin:0 0 18px;letter-spacing:-.02em;
    color:#fff !important; /* override the global h1 color rule */
}
.lp-post-page__excerpt{
    font-size:1.1rem;line-height:1.6;color:rgba(255,255,255,.92);margin:0;max-width:600px;
}
.lp-post-page__body{padding:64px 24px 96px;max-width:760px}
.lp-post-page__prose{font-size:1.04rem;line-height:1.75;color:var(--c-text)}
.lp-post-page__prose h2{font-family:'Inter',sans-serif;font-weight:600;font-size:1.55rem;margin:42px 0 14px;letter-spacing:-.01em}
.lp-post-page__prose h3{font-family:'Inter',sans-serif;font-weight:600;font-size:1.22rem;margin:30px 0 10px}
.lp-post-page__prose p{margin:0 0 18px}
.lp-post-page__prose a{color:var(--c-primary);text-decoration:underline;text-underline-offset:3px}
.lp-post-page__prose img{max-width:100%;border-radius:12px;margin:18px 0}
.lp-post-page__prose ul,.lp-post-page__prose ol{margin:0 0 18px;padding-left:22px}
.lp-post-page__prose li{margin-bottom:6px}
.lp-post-page__prose blockquote{
    border-left:3px solid var(--c-primary);padding:6px 0 6px 18px;margin:24px 0;
    color:var(--c-text-muted);font-style:italic;
}

.lp-post-page__gallery,.lp-post-page__files{margin-top:48px;padding-top:32px;border-top:1px solid rgba(17,46,30,.10)}
.lp-post-page__gallery h3,.lp-post-page__files h3{margin:0 0 16px;font-family:'Inter',sans-serif;font-weight:600;font-size:1.05rem}
.lp-post-page__gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.lp-post-page__gallery-item{display:block;aspect-ratio:1;overflow:hidden;border-radius:8px;background:var(--c-surface-2)}
.lp-post-page__gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.lp-post-page__gallery-item:hover img{transform:scale(1.06)}
.lp-post-page__files ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.lp-post-page__files a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:var(--c-surface-2);border-radius:10px;color:var(--c-primary);text-decoration:none;font-size:.92rem;font-weight:500}
.lp-post-page__files a:hover{background:var(--c-primary-ghost)}
.lp-post-page__files svg{width:16px;height:16px}

/* ── Legal pages ──────────────────────────────────────────────────────── */
.lp-legal{padding:120px 0 80px;min-height:60vh}
.lp-legal__inner{max-width:760px}
.lp-legal__back{display:inline-flex;align-items:center;gap:6px;color:var(--c-text-muted);font-size:.86rem;text-decoration:none;margin-bottom:28px}
.lp-legal__back:hover{color:var(--c-primary)}
.lp-legal__back svg{width:14px;height:14px}
.lp-legal h1{font-family:'Inter',sans-serif;font-weight:500;font-size:2.4rem;line-height:1.1;letter-spacing:-.02em;margin:0 0 12px}
.lp-legal__lede{font-size:1.08rem;color:var(--c-text-muted);margin:0 0 28px}
.lp-legal h2{font-family:'Inter',sans-serif;font-weight:600;font-size:1.32rem;margin:36px 0 12px;letter-spacing:-.01em}
.lp-legal p{font-size:1rem;line-height:1.75;color:var(--c-text)}
.lp-legal__updated{margin-top:48px;font-size:.86rem;color:var(--c-text-muted);font-style:italic}

/* ── 404 ──────────────────────────────────────────────────────────────── */
.lp-404{padding:160px 0 96px;text-align:center;min-height:60vh}
.lp-404 h1{font-family:'Inter',sans-serif;font-weight:200;font-size:8rem;line-height:1;color:var(--c-primary);margin:0 0 14px;letter-spacing:-.04em}
.lp-404__lede{font-size:1.15rem;color:var(--c-text-muted);margin:0 0 32px}

/* ── Flash messages on landing — float above the hero as a toast ──────── */
.lp-body .alert{
    position:fixed;top:84px;left:50%;transform:translateX(-50%);z-index:90;
    max-width:480px;width:calc(100% - 32px);
    box-shadow:0 12px 32px -10px rgba(0,0,0,.22);
    animation:lp-flash-in .35s ease;
}
@keyframes lp-flash-in{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}
