*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --forest:#0F1E14; --forest-md:#162A1E; --forest-lt:#2A5038;
  --copper:#B87830; --copper-lt:#D4A060;
  --cream:#F8F4EE; --cream-dk:#EDE5D4; --warm-white:#F5EDE0;
  --text-dk:#0F1E14; --text-brown:#3A2C1A; --text-muted:#6A7868;
  --terra:#3D1E10; --success:#4A7838;
}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:'Lora',Georgia,serif;background:var(--forest);color:var(--text-dk);line-height:1.75;min-height:100vh;display:flex;flex-direction:column;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(15,30,20,0.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(184,120,48,0.22);}
.nav-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:62px;}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:600;letter-spacing:0.02em;color:var(--copper-lt);text-decoration:none;line-height:1.15;}
.logo span{display:block;font-size:0.5rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:rgba(245,237,224,0.4);margin-top:1px;}
.nav-back{font-family:'DM Sans',sans-serif;font-size:0.72rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:rgba(245,237,224,0.45);text-decoration:none;transition:color 0.2s;display:flex;align-items:center;gap:0.4rem;}
.nav-back:hover{color:var(--copper-lt);}
.nav-back::before{content:'←';}
.signin-page{flex:1;margin-top:62px;display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 62px);}
.signin-brand{background:linear-gradient(160deg,#040A06 0%,#080F0A 30%,var(--forest) 65%,#152218 100%);padding:4rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;}
.signin-brand::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(184,120,48,0.08) 1px,transparent 1px);background-size:26px 26px;}
.brand-content{position:relative;z-index:1;}
.brand-eyebrow{font-family:'DM Sans',sans-serif;font-size:0.62rem;font-weight:500;letter-spacing:0.24em;text-transform:uppercase;color:rgba(245,237,224,0.4);margin-bottom:1.5rem;display:flex;align-items:center;gap:0.65rem;}
.brand-eyebrow::before{content:'';width:22px;height:1px;background:rgba(212,160,96,0.4);flex-shrink:0;}
.brand-content h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,3.5vw,3.2rem);font-weight:500;color:var(--warm-white);line-height:1.1;margin-bottom:1.25rem;}
.brand-content h1 em{font-style:italic;color:var(--copper-lt);}
.brand-content p{font-family:'DM Sans',sans-serif;font-size:0.88rem;font-weight:300;color:rgba(245,237,224,0.48);line-height:1.82;max-width:400px;}
.brand-perks{position:relative;z-index:1;display:flex;flex-direction:column;gap:0.85rem;}
.brand-perk{display:flex;align-items:center;gap:0.85rem;}
.brand-perk-icon{width:32px;height:32px;background:rgba(184,120,48,0.1);border:1px solid rgba(184,120,48,0.2);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:0.9rem;flex-shrink:0;}
.brand-perk-text{font-family:'DM Sans',sans-serif;font-size:0.78rem;font-weight:300;color:rgba(245,237,224,0.5);}
.brand-perk-text strong{display:block;font-weight:500;color:rgba(245,237,224,0.75);margin-bottom:0.05rem;}
.signin-form-panel{background:var(--cream);display:flex;align-items:center;justify-content:center;padding:3rem 2rem;}
.signin-form-wrap{width:100%;max-width:400px;}
.signin-form-wrap h2{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:500;color:var(--text-dk);margin-bottom:0.3rem;}
.signin-sub{font-family:'DM Sans',sans-serif;font-size:0.78rem;font-weight:300;color:var(--text-muted);margin-bottom:2rem;}
.form-group{margin-bottom:1.1rem;}
.form-group label{display:block;font-family:'DM Sans',sans-serif;font-size:0.65rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-brown);margin-bottom:0.42rem;}
.form-group input{width:100%;background:white;border:1px solid var(--cream-dk);border-radius:2px;padding:0.82rem 1rem;font-family:'DM Sans',sans-serif;font-size:0.9rem;color:var(--text-dk);outline:none;transition:border-color 0.2s;}
.form-group input:focus{border-color:rgba(42,80,56,0.45);}
.form-row-inline{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;}
.remember{display:flex;align-items:center;gap:0.5rem;font-family:'DM Sans',sans-serif;font-size:0.76rem;color:var(--text-muted);cursor:pointer;}
.remember input{width:auto;accent-color:var(--forest-lt);}
.forgot{font-family:'DM Sans',sans-serif;font-size:0.73rem;color:var(--forest-lt);text-decoration:none;}
.forgot:hover{text-decoration:underline;}
.signin-btn{width:100%;padding:0.92rem;background:var(--forest);color:var(--warm-white);font-family:'DM Sans',sans-serif;font-size:0.8rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;transition:background 0.2s;}
.signin-btn:hover{background:var(--forest-lt);}
.divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:var(--cream-dk);}
.divider span{font-family:'DM Sans',sans-serif;font-size:0.68rem;color:var(--text-muted);white-space:nowrap;}
.no-account{text-align:center;margin-top:1.5rem;font-family:'DM Sans',sans-serif;font-size:0.78rem;color:var(--text-muted);}
.no-account a{color:var(--forest-lt);text-decoration:none;font-weight:500;}
.no-account a:hover{text-decoration:underline;}
.founding-note{background:rgba(184,120,48,0.08);border:1px solid rgba(184,120,48,0.2);border-left:3px solid var(--copper);padding:0.85rem 1rem;margin-top:1.25rem;border-radius:0 2px 2px 0;}
.founding-note p{font-family:'DM Sans',sans-serif;font-size:0.73rem;font-weight:300;color:var(--text-brown);line-height:1.6;margin:0;}
.founding-note a{color:var(--forest-lt);text-decoration:none;font-weight:500;}
.founding-note a:hover{text-decoration:underline;}
.error-msg{background:rgba(180,40,40,0.07);border:1px solid rgba(180,40,40,0.2);border-radius:2px;padding:0.75rem 1rem;font-family:'DM Sans',sans-serif;font-size:0.78rem;color:#8B2020;margin-bottom:1.25rem;display:none;}
.error-msg.is-visible{display:block;}
.success-msg{background:rgba(74,120,56,0.08);border:1px solid rgba(74,120,56,0.22);border-radius:2px;padding:0.75rem 1rem;font-family:'DM Sans',sans-serif;font-size:0.78rem;color:#345F28;margin-bottom:1.25rem;display:none;}
.success-msg.is-visible{display:block;}
@media(max-width:800px){.signin-page{grid-template-columns:1fr;}.signin-brand{display:none;}}

/* Editor bridge for Gutenberg Sign In content */
.editor-styles-wrapper{min-height:auto;}
.editor-styles-wrapper .wp-block-group.signin-page,
.editor-styles-wrapper .wp-block-group.signin-brand,
.editor-styles-wrapper .wp-block-group.brand-content,
.editor-styles-wrapper .wp-block-group.brand-perks,
.editor-styles-wrapper .wp-block-group.signin-form-panel{max-width:none;}

.editor-styles-wrapper .wp-block-group.signin-page{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  min-height:auto;
}

.editor-styles-wrapper .wp-block-group.brand-perk{
  display:flex;
  align-items:center;
  gap:0.85rem;
  flex-wrap:nowrap;
}

.editor-styles-wrapper .wp-block-shortcode{
  max-width:none;
}

.editor-styles-wrapper .signin-form-panel .wp-block-shortcode__input{
  min-height:420px;
}

@media(max-width:800px){
  .editor-styles-wrapper .wp-block-group.signin-page{
    grid-template-columns:1fr;
  }
  .editor-styles-wrapper .wp-block-group.signin-brand{
    display:none;
  }
}
