/* Extracted from index.php during code cleanup. */

.member-bubble-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:150px;
}
.member-bubble-card .member-bubble{width:100%}
.home-friend-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  width:100%;
  margin-top:12px;
}
.home-friend-actions.compact{
  width:150px;
  justify-content:center;
}
.home-friend-form{
  display:block;
  width:100%;
  margin:0;
}
.home-friend-btn,
.home-friend-state{
  display:flex;
  width:100%;
  min-height:40px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:0 11px;
  border-radius:10px;
  font-size:11px;
  font-weight:900;
  line-height:1.15;
  text-align:center;
}
.home-friend-btn{border:0;text-decoration:none;cursor:pointer}
.home-friend-btn.add{background:#d03e67;color:#fff}
.home-friend-btn.accept{background:#168451;color:#fff}
.home-friend-btn.pending{background:#f3e7b8;color:#76540b;cursor:default}
.home-friend-btn.withdraw{background:#fff;color:#a22f53;border:1px solid #d9a9b8}
.home-friend-state.friends{background:#e8f7ef;color:#18764a}
.home-friend-state.self{background:#f1edf0;color:#6f5b63}
@media(max-width:760px){
  .member-bubble-card{min-width:135px}
  .home-friend-actions.compact{width:135px}
}

.hero{
    position:relative !important;
    overflow:hidden !important;
}
.hero .hero-photo.amoria-hero-photo-img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    display:block !important;
    object-fit:cover !important;
    object-position:center center !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:0 !important;
    background:none !important;
}
.hero .hero-overlay{
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
}
.hero .hero-inner{
    position:relative !important;
    z-index:2 !important;
}

.dynamic-story{
    background:var(--story-bg,#6f2343);
    color:var(--story-text,#fff);
}
.dynamic-story .why-copy,
.dynamic-story .why-copy h2,
.dynamic-story .why-copy .lead,
.dynamic-story .why-copy .overline{
    color:var(--story-text,#fff);
}
.dynamic-story .why-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.amoria-top-arrow{
    position:fixed;
    right:26px;
    bottom:28px;
    z-index:9999;
    width:54px;
    height:54px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.28);
    border-radius:50%;
    background:linear-gradient(135deg,#df466f 0%,#831f42 100%);
    color:#fff;
    font-size:24px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    box-shadow:0 14px 34px rgba(82,20,45,.28);
    opacity:0;
    visibility:hidden;
    transform:translateY(12px);
    transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease;
}
.amoria-top-arrow.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.amoria-top-arrow:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 40px rgba(82,20,45,.36);
}
.amoria-top-arrow:focus-visible{
    outline:3px solid rgba(223,70,111,.28);
    outline-offset:4px;
}
@media(max-width:680px){
    .amoria-top-arrow{
        right:18px;
        bottom:20px;
        width:48px;
        height:48px;
        font-size:21px;
    }
}


/* Classes extracted from former inline style attributes */

.u-index-1{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:0 18px 0 14px;border-radius:14px;background:linear-gradient(135deg,#df466f 0%,#a62d55 55%,#831f42 100%);color:#fff;text-decoration:none;font-weight:900;box-shadow:0 15px 34px rgba(131,31,66,.24);}

.u-index-2{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.15);}

.u-index-3{white-space:nowrap;}

.u-index-4{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#9d284f;font-size:16px;}


/* Homepage Like control matched to members.php */
.member-bubble-card .home-index-like-row,
.profile .home-index-like-row{
    width:100%;
    margin-top:9px;
}
.member-bubble-card .member-like-form,
.profile .member-like-form{
    width:100%;
    margin:0;
}
.member-bubble-card .member-like-button,
.profile .member-like-button{
    width:100%;
    min-height:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 15px;
    border:1px solid #edcad5;
    border-radius:13px;
    background:#fff5f8;
    color:#a52d53;
    text-decoration:none;
    font:900 12px "DM Sans",sans-serif;
    cursor:pointer;
    transition:.2s ease;
    box-shadow:0 6px 15px rgba(116,39,67,.06);
    box-sizing:border-box;
}
.member-bubble-card .member-like-button .like-heart,
.profile .member-like-button .like-heart{
    font-size:19px;
    line-height:1;
}
.member-bubble-card .member-like-button strong,
.profile .member-like-button strong{
    min-width:26px;
    height:26px;
    padding:0 7px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#fff;
    color:#9b2c50;
    font-size:11px;
    box-shadow:0 2px 7px rgba(93,34,55,.10);
}
.member-bubble-card .member-like-button:hover,
.profile .member-like-button:hover{
    transform:translateY(-2px);
    border-color:#dd7897;
    background:#ffeaf1;
}
.member-bubble-card .member-like-button.is-liked,
.profile .member-like-button.is-liked{
    border-color:#a82e54;
    background:linear-gradient(135deg,#d9416b,#8f2347);
    color:#fff;
    box-shadow:0 10px 22px rgba(143,35,71,.20);
}
.member-bubble-card .member-like-button.is-liked strong,
.profile .member-like-button.is-liked strong{
    background:rgba(255,255,255,.95);
    color:#8f2347;
}


/* AJAX Like confirmation */
.member-like-button.is-loading{
    opacity:.68;
    pointer-events:none;
}
.amoria-like-toast{
    position:fixed;
    left:50%;
    bottom:28px;
    transform:translate(-50%,18px);
    z-index:9999;
    max-width:min(92vw,420px);
    padding:12px 18px;
    border-radius:999px;
    background:#202124;
    color:#fff;
    font:800 13px "DM Sans",sans-serif;
    box-shadow:0 14px 34px rgba(0,0,0,.22);
    opacity:0;
    visibility:hidden;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
    text-align:center;
}
.amoria-like-toast.is-visible{
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0);
}
.amoria-like-toast.is-error{
    background:#b42318;
}


/* Homepage request confirmation modal */
.amoria-action-modal{
    position:fixed;
    inset:0;
    z-index:10050;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.amoria-action-modal.is-open{display:flex}
.amoria-action-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(25,15,20,.58);
    backdrop-filter:blur(4px);
}
.amoria-action-modal-dialog{
    position:relative;
    z-index:1;
    width:min(92vw,430px);
    padding:30px 28px 24px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 28px 70px rgba(37,17,27,.28);
    text-align:center;
}
.amoria-action-modal-close{
    position:absolute;
    top:12px;
    right:14px;
    width:36px;
    height:36px;
    border:0;
    border-radius:50%;
    background:#f6edf1;
    color:#70223f;
    font-size:24px;
    cursor:pointer;
}
.amoria-action-modal-icon{
    width:62px;
    height:62px;
    margin:0 auto 15px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e9f8ef;
    color:#198754;
    font-size:30px;
    font-weight:900;
}
.amoria-action-modal.is-error .amoria-action-modal-icon{
    background:#fdebec;
    color:#b42318;
}
.amoria-action-modal-dialog h3{
    margin:0 0 8px;
    color:#4f1730;
    font-size:22px;
}
.amoria-action-modal-dialog p{
    margin:0 auto 20px;
    color:#6d5962;
    line-height:1.55;
}
.amoria-action-modal-ok{
    min-width:120px;
    height:44px;
    border:0;
    border-radius:12px;
    background:#8f2347;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.home-friend-btn.is-loading,
.member-like-button.is-loading{
    opacity:.65;
    pointer-events:none;
}


/* =========================================================
   LOCUS-AMANTIUM HOMEPAGE REFINEMENT — 2026-09-06
   Keeps the existing structure and functionality intact.
   ========================================================= */

body.amoria-home-page{
    background:#fffafc;
    color:#2f2027;
}

body.amoria-home-page main{
    overflow:hidden;
}

body.amoria-home-page .wrap{
    width:min(1180px, calc(100% - 36px));
    margin-inline:auto;
}

/* Hero */
body.amoria-home-page .hero{
    margin:18px auto 0;
    width:min(1240px, calc(100% - 28px));
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 24px 60px rgba(71,31,48,.12);
}

body.amoria-home-page .hero-copy{
    max-width:680px;
}

body.amoria-home-page .hero-copy h1{
    font-size:clamp(2.4rem,5vw,4.9rem);
    line-height:.98;
    letter-spacing:-.04em;
}

body.amoria-home-page .hero-copy p{
    max-width:620px;
    font-size:1.05rem;
    line-height:1.7;
}

body.amoria-home-page .hero-buttons{
    gap:14px;
    flex-wrap:wrap;
}

/* Location search */
body.amoria-home-page .location-search-shell,
body.amoria-home-page .location-search-card{
    border-radius:22px !important;
    box-shadow:0 14px 34px rgba(61,28,43,.08) !important;
}

/* Section headings */
body.amoria-home-page .member-bubbles-title,
body.amoria-home-page .section-head{
    align-items:end;
    gap:24px;
}

body.amoria-home-page .member-bubbles-title h2,
body.amoria-home-page .section-head h2{
    margin-top:5px;
    font-size:clamp(1.8rem,3vw,2.8rem);
    line-height:1.05;
    letter-spacing:-.025em;
}

/* Same Like styling language as members.php */
body.amoria-home-page .home-index-like-row{
    margin-top:12px !important;
}

body.amoria-home-page .member-like-form,
body.amoria-home-page .home-friend-form{
    width:100%;
    margin:0;
}

body.amoria-home-page .member-like-button{
    width:100% !important;
    min-height:44px !important;
    height:44px !important;
    border:1px solid #edcad5 !important;
    border-radius:12px !important;
    background:#fff5f8 !important;
    color:#a52d53 !important;
    box-shadow:none !important;
    font:900 12px "DM Sans",sans-serif !important;
}

body.amoria-home-page .member-like-button:hover{
    transform:none !important;
    border-color:#da8ca4 !important;
    background:#ffeaf1 !important;
}

body.amoria-home-page .member-like-button.is-liked{
    border-color:#a82e54 !important;
    background:linear-gradient(135deg,#d9416b,#8f2347) !important;
    color:#fff !important;
}

body.amoria-home-page .member-like-button strong{
    min-width:24px !important;
    height:24px !important;
    font-size:11px !important;
}

/* Friend controls */
body.amoria-home-page .home-friend-actions{
    width:100%;
    margin-top:8px;
}

body.amoria-home-page .home-friend-actions.compact{
    margin-top:8px;
}

body.amoria-home-page .home-friend-btn,
body.amoria-home-page .home-friend-state{
    width:100% !important;
    min-height:44px !important;
    height:44px !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:12px !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-decoration:none !important;
}

body.amoria-home-page .home-friend-btn.add{
    border:1px solid #cf2f45 !important;
    background:#d9364b !important;
    color:#fff !important;
    box-shadow:none !important;
}

body.amoria-home-page .home-friend-btn.add:hover{
    background:#b92136 !important;
}

body.amoria-home-page .home-friend-btn.pending{
    border:1px solid #e3c982 !important;
    background:#fff8df !important;
    color:#7a5b12 !important;
}

body.amoria-home-page .home-friend-btn.withdraw{
    border:1px solid #ddd0d5 !important;
    background:#fff !important;
    color:#684251 !important;
}

body.amoria-home-page .home-friend-btn.accept{
    border:1px solid #17824f !important;
    background:#198754 !important;
    color:#fff !important;
}

body.amoria-home-page .home-friend-state.friends{
    border:1px solid #cfe8d8 !important;
    background:#edf9f1 !important;
    color:#246b42 !important;
}

/* Personality cards */
body.amoria-home-page .members{
    padding:54px 0 70px;
}

body.amoria-home-page .cards{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
}

body.amoria-home-page .profile{
    overflow:hidden;
    border:1px solid #f0dde5 !important;
    border-radius:22px !important;
    background:#fff !important;
    box-shadow:0 14px 34px rgba(72,31,48,.08) !important;
    transition:transform .2s ease, box-shadow .2s ease !important;
}

body.amoria-home-page .profile:hover{
    transform:translateY(-5px);
    box-shadow:0 22px 48px rgba(72,31,48,.13) !important;
}

body.amoria-home-page .profile .photo{
    height:350px !important;
    border-radius:0 !important;
}

body.amoria-home-page .profile .photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

body.amoria-home-page .profile-body{
    padding:20px !important;
}

body.amoria-home-page .profile-body .name-row h3{
    font-size:1.28rem !important;
    color:#42192c !important;
}

body.amoria-home-page .profile-body .name-row p{
    margin-top:4px !important;
    color:#8a6876 !important;
}

body.amoria-home-page .profile-body .bio{
    margin:14px 0 !important;
    color:#6e5962 !important;
    line-height:1.55 !important;
}

body.amoria-home-page .profile-foot{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding-top:14px !important;
    border-top:1px solid #f1e5ea !important;
}

body.amoria-home-page .profile-foot > a{
    flex:0 0 auto;
    min-height:40px !important;
    padding:0 14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:10px !important;
    background:#5e1c3a !important;
    color:#fff !important;
    text-decoration:none !important;
    font-weight:800 !important;
}

/* Story/safety visual cleanup */
body.amoria-home-page .why,
body.amoria-home-page .redesigned-safety{
    border-radius:28px;
    overflow:hidden;
}

body.amoria-home-page .redesigned-safety{
    width:min(1240px, calc(100% - 28px));
    margin:64px auto;
    padding:58px 0;
    background:#fff;
    box-shadow:0 18px 50px rgba(62,29,43,.07);
}

body.amoria-home-page .control-card{
    border:1px solid #f0dfe6 !important;
    border-radius:18px !important;
    box-shadow:none !important;
}

/* Confirmation modal refinement */
body.amoria-home-page .amoria-action-modal-dialog{
    border:1px solid #ecd9e1;
}

body.amoria-home-page .amoria-action-modal-ok{
    background:#7d2345;
}

@media(max-width:1100px){
    body.amoria-home-page .member-bubbles-row{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    }
}

@media(max-width:850px){
    body.amoria-home-page .cards{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    body.amoria-home-page .profile .photo{
        height:320px !important;
    }
}

@media(max-width:620px){
    body.amoria-home-page .wrap{
        width:min(100% - 24px,1180px);
    }

    body.amoria-home-page .hero{
        width:calc(100% - 16px);
        border-radius:20px;
        margin-top:8px;
    }

    body.amoria-home-page .member-bubbles{
        padding-top:38px;
    }

    body.amoria-home-page .member-bubbles-row{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:12px !important;
    }

    body.amoria-home-page .member-bubble-card{
        padding:12px !important;
        border-radius:16px;
    }

    body.amoria-home-page .cards{
        grid-template-columns:1fr !important;
    }

    body.amoria-home-page .profile .photo{
        height:360px !important;
    }

    body.amoria-home-page .member-bubbles-title,
    body.amoria-home-page .section-head{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* Restore former "Say hello to someone new" circular design */
body.amoria-home-page .member-bubbles{
    padding:42px 0 26px;
}

body.amoria-home-page .member-bubbles-row{
    display:flex !important;
    gap:22px !important;
    align-items:flex-start !important;
    justify-content:center !important;
    flex-wrap:wrap !important;
}

body.amoria-home-page .member-bubble-card{
    width:150px !important;
    min-width:150px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    text-align:center !important;
    transform:none !important;
}

body.amoria-home-page .member-bubble-card:hover{
    transform:none !important;
    border-color:transparent !important;
    box-shadow:none !important;
}

body.amoria-home-page .member-bubble{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    text-decoration:none !important;
    color:inherit !important;
}

body.amoria-home-page .member-bubble-photo{
    display:block !important;
    width:118px !important;
    height:118px !important;
    aspect-ratio:1/1 !important;
    margin:0 auto 10px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    background:#f3e8ed !important;
    box-shadow:0 8px 24px rgba(83,37,57,.10) !important;
}

body.amoria-home-page .member-bubble-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}

body.amoria-home-page .member-bubble strong{
    display:block !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    color:#41182b !important;
}

body.amoria-home-page .member-bubble small{
    display:block !important;
    margin-top:4px !important;
    min-height:0 !important;
    color:#8a6675 !important;
    font-size:11px !important;
    line-height:1.35 !important;
    text-align:center !important;
}

body.amoria-home-page .member-bubble-card .home-index-like-row,
body.amoria-home-page .member-bubble-card .home-friend-actions{
    width:100% !important;
    margin-top:8px !important;
}

body.amoria-home-page .member-bubble-card .member-like-button,
body.amoria-home-page .member-bubble-card .home-friend-btn,
body.amoria-home-page .member-bubble-card .home-friend-state{
    min-height:38px !important;
    height:38px !important;
    border-radius:999px !important;
    font-size:11px !important;
    padding:0 10px !important;
}

@media(max-width:700px){
    body.amoria-home-page .member-bubbles-row{
        gap:16px !important;
    }

    body.amoria-home-page .member-bubble-card{
        width:138px !important;
        min-width:138px !important;
    }

    body.amoria-home-page .member-bubble-photo{
        width:104px !important;
        height:104px !important;
    }
}


/* Center the restored Say hello member group */
body.amoria-home-page .member-bubbles .wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
}

body.amoria-home-page .member-bubbles-title{
    width:100%;
}

body.amoria-home-page .member-bubbles-row{
    width:auto !important;
    max-width:1080px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
}

@media(max-width:700px){
    body.amoria-home-page .member-bubbles-row{
        max-width:100% !important;
        justify-content:center !important;
    }
}


/* =========================================================
   LOCUS-AMANTIUM FULL-WIDTH TOP IMAGE BANNER — 2026-09-06
   Full bleed from left edge to right edge, positioned at top.
   ========================================================= */
body.amoria-home-page{
    margin:0 !important;
    padding:0 !important;
}

body.amoria-home-page main{
    margin:0 !important;
    padding-top:0 !important;
}

/* Remove the boxed/card treatment from the homepage hero */
body.amoria-home-page .hero{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
    position:relative !important;
}

/* Make the banner image occupy the complete hero */
body.amoria-home-page .hero .hero-photo{
    width:100% !important;
    max-width:none !important;
    min-height:620px !important;
    height:clamp(620px,72vh,820px) !important;
    margin:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    position:relative !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

/* Handles hero-photo when it is an IMG instead of a background container */
body.amoria-home-page .hero img.hero-photo,
body.amoria-home-page .hero .hero-photo > img{
    width:100% !important;
    height:100% !important;
    min-height:620px !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
    border-radius:0 !important;
}

/* Hero content remains readable over the full-width photograph */
body.amoria-home-page .hero-copy{
    position:absolute !important;
    z-index:4 !important;
    left:max(5vw,32px) !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:min(650px,48vw) !important;
    max-width:650px !important;
    margin:0 !important;
    padding:34px 36px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.91) !important;
    backdrop-filter:blur(7px) !important;
    box-shadow:0 20px 55px rgba(33,17,25,.18) !important;
}

/* If the original hero uses a containing wrapper, let it span the banner */
body.amoria-home-page .hero > .wrap,
body.amoria-home-page .hero-inner,
body.amoria-home-page .hero-grid{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}

/* Keep navigation visually at the very top */
body.amoria-home-page header,
body.amoria-home-page .site-header,
body.amoria-home-page nav{
    margin-top:0 !important;
}

@media(max-width:800px){
    body.amoria-home-page .hero .hero-photo{
        min-height:650px !important;
        height:650px !important;
        background-position:center center !important;
    }

    body.amoria-home-page .hero img.hero-photo,
    body.amoria-home-page .hero .hero-photo > img{
        min-height:650px !important;
    }

    body.amoria-home-page .hero-copy{
        left:18px !important;
        right:18px !important;
        top:auto !important;
        bottom:24px !important;
        transform:none !important;
        width:auto !important;
        max-width:none !important;
        padding:24px 22px !important;
        border-radius:18px !important;
    }
}

@media(max-width:520px){
    body.amoria-home-page .hero .hero-photo{
        min-height:600px !important;
        height:600px !important;
    }

    body.amoria-home-page .hero img.hero-photo,
    body.amoria-home-page .hero .hero-photo > img{
        min-height:600px !important;
    }

    body.amoria-home-page .hero-copy{
        left:12px !important;
        right:12px !important;
        bottom:16px !important;
        padding:20px 18px !important;
    }
}


/* =========================================================
   LOCUS-AMANTIUM HERO — REMOVE WHITE CONTENT DIV / PANEL
   ========================================================= */
body.amoria-home-page .hero-copy{
    position:absolute !important;
    z-index:4 !important;
    left:max(5vw,42px) !important;
    top:50% !important;
    transform:translateY(-50%) !important;

    width:min(650px,48vw) !important;
    max-width:650px !important;

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

    background:transparent !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;

    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

/* Keep hero words readable directly over the photograph */
body.amoria-home-page .hero-copy .eyebrow,
body.amoria-home-page .hero-copy .kicker,
body.amoria-home-page .hero-copy > span{
    color:#fff !important;
    text-shadow:0 2px 14px rgba(0,0,0,.45);
}

body.amoria-home-page .hero-copy h1{
    color:#fff !important;
    text-shadow:0 3px 20px rgba(0,0,0,.48);
}

body.amoria-home-page .hero-copy h1 em,
body.amoria-home-page .hero-copy h1 strong,
body.amoria-home-page .hero-copy .highlight{
    color:#ff3d82 !important;
    text-shadow:0 3px 18px rgba(0,0,0,.32);
}

body.amoria-home-page .hero-copy p{
    color:#fff !important;
    text-shadow:0 2px 13px rgba(0,0,0,.55);
}

/* Subtle left-side image shading instead of a white box */
body.amoria-home-page .hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(
        90deg,
        rgba(27,10,20,.55) 0%,
        rgba(27,10,20,.34) 30%,
        rgba(27,10,20,.08) 58%,
        rgba(27,10,20,0) 78%
    );
}

body.amoria-home-page .hero-copy{
    z-index:5 !important;
}

/* Keep the pink CTA clean on top of the image */
body.amoria-home-page .hero-copy .btn,
body.amoria-home-page .hero-copy .primary,
body.amoria-home-page .hero-copy a[class*="button"],
body.amoria-home-page .hero-copy a[class*="btn"]{
    box-shadow:0 12px 28px rgba(88,20,49,.26) !important;
}

/* Mobile: still no white panel */
@media(max-width:800px){
    body.amoria-home-page .hero-copy{
        left:22px !important;
        right:22px !important;
        top:auto !important;
        bottom:34px !important;
        transform:none !important;
        width:auto !important;
        max-width:620px !important;
        margin:0 !important;
        padding:0 !important;

        background:transparent !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;
        backdrop-filter:none !important;
    }

    body.amoria-home-page .hero::after{
        background:linear-gradient(
            0deg,
            rgba(25,9,18,.68) 0%,
            rgba(25,9,18,.38) 42%,
            rgba(25,9,18,.06) 75%,
            rgba(25,9,18,0) 100%
        );
    }
}

@media(max-width:520px){
    body.amoria-home-page .hero-copy{
        left:16px !important;
        right:16px !important;
        bottom:26px !important;
    }
}


/* 2026-09-06 hero visibility correction */
body.amoria-home-page .hero{
    isolation:isolate !important;
}
body.amoria-home-page .hero .hero-copy{
    opacity:1 !important;
    visibility:visible !important;
    display:block !important;
    z-index:20 !important;
}
body.amoria-home-page .hero .hero-copy *,
body.amoria-home-page .hero .hero-copy h1,
body.amoria-home-page .hero .hero-copy p{
    opacity:1 !important;
    visibility:visible !important;
}
body.amoria-home-page .hero::after{
    z-index:2 !important;
}
body.amoria-home-page .hero .hero-photo,
body.amoria-home-page .hero .hero-photo > img,
body.amoria-home-page .hero img.hero-photo{
    z-index:1 !important;
}
body.amoria-home-page .hero.wow,
body.amoria-home-page .hero.amoria-reveal-target{
    opacity:1 !important;
    transform:none !important;
}


/* =========================================================
   LOCUS-AMANTIUM STORY / DATE IMAGE — TRUE SQUARE EDGE FIX
   Parent .why previously supplied the visible 28px radius.
   ========================================================= */
body.amoria-home-page .why.why-date,
body.amoria-home-page .why-date,
body.amoria-home-page .why-date.dynamic-story{
    border-radius:0 !important;
    -webkit-border-radius:0 !important;
    overflow:hidden !important;
}

body.amoria-home-page .why-date .why-photo,
body.amoria-home-page .why-date .date-photo{
    border-radius:0 !important;
    -webkit-border-radius:0 !important;
    overflow:hidden !important;
}

body.amoria-home-page .why-date .date-photo img,
body.amoria-home-page .why-date .why-photo img{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    border-radius:0 !important;
    -webkit-border-radius:0 !important;
    object-fit:cover !important;
}

body.amoria-home-page .why-date .date-gradient,
body.amoria-home-page .why-date .date-gradient::before,
body.amoria-home-page .why-date .date-gradient::after{
    border-radius:0 !important;
    -webkit-border-radius:0 !important;
}


/* =========================================================
   HERO BANNER OPPOSITE-DIRECTION TEXT ANIMATION
   Top: left -> right. Bottom: right -> left.
   ========================================================= */
body.amoria-home-page .hero-copy .amoria-hero-from-left{
    animation-name:amoriaHeroLeftToRight !important;
    animation-duration:.95s !important;
    animation-timing-function:cubic-bezier(.22,.61,.36,1) !important;
    animation-fill-mode:both !important;
}

body.amoria-home-page .hero-copy .amoria-hero-from-right{
    animation-name:amoriaHeroRightToLeft !important;
    animation-duration:.95s !important;
    animation-timing-function:cubic-bezier(.22,.61,.36,1) !important;
    animation-fill-mode:both !important;
}

@keyframes amoriaHeroLeftToRight{
    from{opacity:0;transform:translateX(-58px)}
    to{opacity:1;transform:translateX(0)}
}

@keyframes amoriaHeroRightToLeft{
    from{opacity:0;transform:translateX(58px)}
    to{opacity:1;transform:translateX(0)}
}

/* Explicit hero directions take precedence over generic text reveal. */
body.amoria-home-page .hero-copy .amoria-hero-from-left.amoria-text-wow,
body.amoria-home-page .hero-copy .amoria-hero-from-right.amoria-text-wow{
    opacity:1;
}

@media(prefers-reduced-motion:reduce){
    body.amoria-home-page .hero-copy .amoria-hero-from-left,
    body.amoria-home-page .hero-copy .amoria-hero-from-right{
        animation:none !important;
        opacity:1 !important;
        transform:none !important;
    }
}

/* =========================================================
   LOCUS-AMANTIUM HERO — SMOOTH FLOW ANIMATION
   Gentle continuous movement with no blur or bounce.
   ========================================================= */
body.amoria-home-page .hero-copy.amoria-hero-word-mode{
    opacity:1 !important;
    visibility:visible !important;
}

body.amoria-home-page .hero-copy .amoria-word-line{
    opacity:1 !important;
    visibility:visible !important;
}

/* Each word softly follows the previous word. */
body.amoria-home-page .hero-copy .amoria-hero-word{
    display:inline-block;
    opacity:0;
    filter:none !important;
    -webkit-filter:none !important;
    transform:translate3d(0,0,0);
    backface-visibility:hidden;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    will-change:opacity,transform;
}

body.amoria-home-page .hero-copy .amoria-word-from-left{
    transform:translate3d(-12px,0,0);
}

body.amoria-home-page .hero-copy .amoria-word-from-right{
    transform:translate3d(12px,0,0);
}

body.amoria-home-page .hero-copy.amoria-hero-words-running .amoria-hero-word{
    animation:amoriaFlowFromLeft .72s cubic-bezier(.25,.46,.45,.94) forwards;
    animation-delay:calc(var(--word-index) * var(--word-delay));
}

body.amoria-home-page .hero-copy.amoria-hero-words-running .amoria-word-from-right{
    animation-name:amoriaFlowFromRight;
}

@keyframes amoriaFlowFromLeft{
    0%{
        opacity:0;
        transform:translate3d(-12px,0,0);
    }
    100%{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

@keyframes amoriaFlowFromRight{
    0%{
        opacity:0;
        transform:translate3d(12px,0,0);
    }
    100%{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

/* Headline has a slightly slower, more elegant glide. */
body.amoria-home-page .hero-copy .amoria-word-headline .amoria-hero-word{
    animation-duration:.82s !important;
}

/* Description flows in smoothly from the opposite side. */
body.amoria-home-page .hero-copy .amoria-word-description .amoria-hero-word{
    animation-duration:.68s !important;
}

/* Buttons finish the sequence with one quiet upward fade. */
body.amoria-home-page .hero-copy .amoria-hero-buttons-active{
    opacity:0;
    transform:translate3d(0,8px,0);
    pointer-events:none;
}

body.amoria-home-page .hero-copy.amoria-hero-buttons-show .amoria-hero-buttons-active{
    opacity:1;
    transform:translate3d(0,0,0);
    pointer-events:auto;
    transition:
        opacity .55s cubic-bezier(.25,.46,.45,.94),
        transform .65s cubic-bezier(.25,.46,.45,.94);
}

body.amoria-home-page .hero-copy em .amoria-hero-word{
    color:inherit;
    font-style:inherit;
}

/* Prevent any old WOW/bounce transforms from fighting the hero flow. */
body.amoria-home-page .hero-copy .amoria-word-line,
body.amoria-home-page .hero-copy .amoria-hero-buttons-active{
    animation-timing-function:cubic-bezier(.25,.46,.45,.94) !important;
}

@media(max-width:700px){
    body.amoria-home-page .hero-copy .amoria-word-from-left{
        transform:translate3d(-8px,0,0);
    }

    body.amoria-home-page .hero-copy .amoria-word-from-right{
        transform:translate3d(8px,0,0);
    }
}

@media(prefers-reduced-motion:reduce){
    body.amoria-home-page .hero-copy .amoria-hero-word,
    body.amoria-home-page .hero-copy .amoria-hero-buttons-active{
        opacity:1 !important;
        transform:none !important;
        animation:none !important;
        transition:none !important;
    }
}


/* =========================================================
   FINAL HERO WORD FLOW
   Both top and bottom banner copy animate word-by-word
   from LEFT to RIGHT using a soft continuous glide.
   ========================================================= */
body.amoria-home-page .hero-copy .amoria-hero-word{
    filter:none !important;
    -webkit-filter:none !important;
    opacity:0;
    transform:translate3d(-14px,0,0) !important;
    will-change:opacity,transform;
}

body.amoria-home-page .hero-copy.amoria-hero-words-running .amoria-hero-word{
    animation:amoriaUnifiedWordFlow .74s cubic-bezier(.25,.46,.45,.94) forwards !important;
    animation-delay:calc(var(--word-index) * var(--word-delay)) !important;
}

@keyframes amoriaUnifiedWordFlow{
    from{
        opacity:0;
        transform:translate3d(-14px,0,0);
    }
    to{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

/* Description is also left-to-right, not opposite direction. */
body.amoria-home-page .hero-copy .amoria-word-description .amoria-hero-word{
    animation-name:amoriaUnifiedWordFlow !important;
}

/* Quiet finish for the buttons. */
body.amoria-home-page .hero-copy .amoria-hero-buttons-active{
    opacity:0;
    transform:translate3d(-8px,0,0);
}
body.amoria-home-page .hero-copy.amoria-hero-buttons-show .amoria-hero-buttons-active{
    opacity:1;
    transform:translate3d(0,0,0);
    transition:
        opacity .5s ease,
        transform .58s cubic-bezier(.25,.46,.45,.94);
}


/* LOCUS-AMANTIUM story section — keep requested background permanently */
body.amoria-home-page .dynamic-story,
body.amoria-home-page .why.why-date.dynamic-story{
    --story-bg:#6f2343!important;
    background:#6f2343!important;
}


/* Small country flag beside every homepage member location */
.member-location-with-flag{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center;
    gap:7px!important;
    min-width:0;
}
.member-country-flag{
    width:24px!important;
    height:17px!important;
    flex:0 0 24px!important;
    object-fit:cover!important;
    border-radius:3px!important;
    box-shadow:0 0 0 1px rgba(0,0,0,.10),0 2px 6px rgba(0,0,0,.08)!important;
    vertical-align:middle!important;
}
.member-location-with-flag span{
    min-width:0;
}
