/* Indwel public estate: branded secure arrival. Cognito retains credential authority. */
.sign-in-page { background: #0c100d; color: #f9f7f1; }
.sign-in-stage {
  position: relative; isolation: isolate; overflow: hidden;
  background: linear-gradient(146deg, #101410 0%, #141812 56%, #090d0b 100%);
  min-height: clamp(660px, calc(100svh - 76px), 960px);
  display: flex; align-items: center;
}
.sign-in-stage::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse 52% 56% at 34% 52%, rgba(167,151,103,.046), transparent 81%);
}
.sign-in-stage__layout {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,410px);
  gap: clamp(54px, 6.5vw, 104px); align-items: center;
  padding-block: clamp(80px, 10vh, 126px);
}
.sign-in-intro { min-width: 0; max-width: 730px; animation: signin-copy-enter .65s cubic-bezier(.22,.74,.2,1) both; }
.sign-in-eyebrow {
  margin: 0; color: #d1b267; font: 650 11px/1.4 var(--pe-sans,system-ui);
  letter-spacing: .185em; text-transform: uppercase;
}
.sign-in-intro h1 {
  margin: 21px 0 0; font: 400 clamp(44px,5.2vw,75px)/1.085 var(--pe-serif,Georgia);
  letter-spacing: -.047em;
}
.sign-in-intro h1 em { font-weight: 400; font-style: normal; color: #d8b66b; }
.sign-in-return {
  display: inline-flex; gap: 16px; align-items: center;
  margin-top: 63px; padding-top: 17px; border-top: 1px solid rgba(249,247,241,.22);
  color: #f8f6ee; font-size: 13px; font-weight: 650; text-decoration: none;
  transition: color .2s ease, border-color .2s ease;
}
.sign-in-return:hover { color: #e4c776; border-color: #e4c776; }
.sign-in-panel {
  position: relative; min-width: 0; box-sizing: border-box;
  background: #f7f5ef; color: #1c211b;
  padding: clamp(30px,3.4vw,47px);
  box-shadow: 0 26px 95px rgba(0,0,0,.22), 0 2px 4px rgba(0,0,0,.07);
  border: 1px solid rgba(255,255,255,.82);
  animation: signin-panel-enter .72s cubic-bezier(.22,.74,.2,1) .08s both;
}
.sign-in-panel__heading {
  display: inline-flex; justify-content: flex-start; align-items: center;
  width: max-content; max-width: 100%;
  gap: 8px; min-height: 64px; margin: 0 0 27px;
}
.sign-in-panel__heading h2 {
  font: 400 clamp(38px,3.05vw,44px)/1.08 var(--pe-serif,Georgia);
  letter-spacing: -.04em; margin: 0; white-space: nowrap;
}
/* The official circumpunct and heading form one optical lockup—not separate corner ornaments. */
.sign-in-panel__seal {
  display: block; width: 60px; height: 60px; flex: 0 0 60px;
  /* The canonical mask has built-in clear space. Enlarge the artwork inside its box,
     then register the visible circumference—not the transparent bitmap edge—to the field rail. */
  position: relative; left: -4.5px;
  background: #aa8f50;
  -webkit-mask: url('/brand/masks/indwel-circumpunct-512.png') center / 125% 125% no-repeat;
  mask: url('/brand/masks/indwel-circumpunct-512.png') center / 125% 125% no-repeat;
}
.sign-in-entry { display: grid; gap: 0; }
.sign-in-entry__description {
  margin: 0; max-width: 33ch; color: #4d544b;
  font: 400 15px/1.7 var(--pe-sans,system-ui);
}
.sign-in-submit {
  margin-top: 30px; display: inline-flex; gap: 16px;
  justify-content: center; align-items: center;
  box-sizing: border-box; width: 100%; min-height: 56px;
  padding: 13px 20px; border: 1px solid #2e4034;
  background: #2e4034; color: #faf8f0;
  font: 700 14px/1.35 var(--pe-sans,system-ui);
  text-align: center; text-decoration: none; cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.sign-in-submit:hover { background: #3d5848; border-color: #3d5848; }
.sign-in-submit:active { transform: translateY(1px); }
.sign-in-submit:focus-visible, .sign-in-panel a:focus-visible {
  outline: 2px solid #385b4c; outline-offset: 3px;
}
.sign-in-entry__assurance {
  margin: 18px 0 0; max-width: 42ch; color: #626a60;
  font: 400 12px/1.7 var(--pe-sans,system-ui);
}
.sign-in-panel__foot {
  display: flex; justify-content: flex-end; align-items: center;
  margin-top: 38px; padding-top: 18px; border-top: 1px solid #d9dbd3;
}
.sign-in-panel__foot a {
  color: #2c5140; font-size: 12px; font-weight: 720; text-decoration: none;
  transition: color .2s ease;
}
.sign-in-panel__foot a:hover { color: #1a2c20; text-decoration: underline; text-underline-offset: 3px; }
@keyframes signin-copy-enter { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@keyframes signin-panel-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 1020px) {
  .sign-in-stage { min-height: auto; }
  .sign-in-stage__layout { grid-template-columns: minmax(0,1fr); gap: 44px; padding-block: 70px; }
  .sign-in-intro { max-width: 600px; }
  .sign-in-intro h1 { font-size: clamp(42px,7vw,67px); }
  .sign-in-panel { max-width: 570px; width: 100%; }
  .sign-in-return { margin-top: 35px; }
}
/* Intermediate laptop widths must protect the headline before enabling two columns.
   The form stays comfortably sized, and the title has real serif-width clearance. */
@media (min-width: 901px) and (max-width: 1020px) {
  .sign-in-intro h1 { font-size: clamp(45px, 5.2vw, 50px); }
}
@media (min-width: 1021px) and (max-width: 1200px) {
  .sign-in-stage__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 380px);
    gap: clamp(38px, 5vw, 60px);
  }
  .sign-in-intro h1 { font-size: 4.1vw; }
}
@media (max-width: 500px) {
  .sign-in-stage__layout { padding-block: 55px 72px; gap: 37px; }
  .sign-in-intro h1 { font-size: clamp(22px,6.5vw,33px); }
  .sign-in-intro h1 em { white-space: nowrap; }
  .sign-in-return { margin-top: 30px; }
  .sign-in-panel { padding: 29px 24px; }
  .sign-in-panel__heading { margin-bottom: 22px; gap: 8px; min-height: 55px; }
  .sign-in-panel__heading h2 { font-size: clamp(34px, 8.2vw, 39px); line-height: 1.06; }
  .sign-in-panel__seal { width: 52px; height: 52px; flex-basis: 52px; left: -4px; }
}
@media (max-width: 360px) {
  .sign-in-stage__layout { width: min(calc(100% - 40px),var(--pe-max)); }
  .sign-in-panel { padding: 27px 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .sign-in-intro, .sign-in-panel { animation: none !important; }
  .sign-in-page * { scroll-behavior: auto !important; transition: none !important; }
}

/* G139: mobile reentry/access details never clip at 320px, landscape or 200% zoom. */
.sign-in-entry__assurance { overflow-wrap:break-word; }
.sign-in-panel__foot a, .sign-in-return { min-height:44px; display:inline-flex; align-items:center; }
.sign-in-panel a:focus-visible, .sign-in-return:focus-visible { outline:3px solid #d4a943; outline-offset:4px; }
@media (orientation:landscape) and (min-width:700px) and (max-height:600px) {
  .sign-in-stage { min-height:0; }
  .sign-in-stage__layout { grid-template-columns:minmax(0,1fr) minmax(0,410px); gap:clamp(28px,4vw,60px); padding-block:28px 35px; }
  .sign-in-intro h1 { font-size:clamp(30px,4.3vw,49px); margin-top:13px; }
  .sign-in-return { margin-top:22px; }
  .sign-in-panel { max-width:100%; padding:22px 25px; }
  .sign-in-panel__heading { margin-bottom:14px; }
  .sign-in-entry__description { font-size:13px; line-height:1.5; }
  .sign-in-submit { min-height:46px; margin-top:17px; }
  .sign-in-panel__foot { margin-top:16px; padding-top:10px; }
}
@media (max-width:360px) {
  .sign-in-intro h1 em { white-space:normal; }
  .sign-in-stage__layout { width:calc(100% - 32px); }
  .sign-in-panel { padding:24px 19px; }
}
