/* 35.3 public identity refresh & configurable brand display. */
.haaka353-brand{gap:10px;min-width:0;max-width:min(300px,28vw);text-decoration:none}
.haaka353-brand-text{color:inherit;font-size:clamp(1rem,1.35vw,1.22rem);font-weight:900;letter-spacing:-.04em;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.haaka353-brand-both img{max-width:112px;height:auto}.haaka353-brand-text:not(:first-child){font-size:1rem}
.haaka353-brand-panel .haaka353-brand-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
.haaka353-brand-fields label{display:flex;flex-direction:column;gap:8px;font-weight:700}
.haaka353-brand-note{font-size:.88rem;color:var(--muted);border-left:3px solid var(--accent);padding:10px 14px;background:rgba(165,98,56,.06)}
@media(max-width:760px){.haaka353-brand-panel .haaka353-brand-fields{grid-template-columns:minmax(0,1fr)}.haaka353-brand{max-width:55vw}.haaka353-brand-both img{max-width:84px}.haaka353-brand-text{font-size:.95rem}}
/* Auth-specific layout; does not alter normal public or admin pages. */
.haaka353-auth{--ha353-ink:#24201f;--ha353-muted:#706963;--ha353-rust:#a44628;--ha353-line:#e7d9cc;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:0;max-width:none;min-height:calc(100svh - 80px);margin:0;background:#f8f3ed;color:var(--ha353-ink);isolation:isolate}
.haaka353-auth .haaka353-auth-story{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:radial-gradient(circle at 80% 18%,rgba(235,177,103,.23),transparent 35%),linear-gradient(135deg,#202525 1%,#28382e 47%,#6e392d 100%);color:#fbf5ec;padding:clamp(26px,4vw,72px);min-height:670px}
.haaka353-ambient{pointer-events:none;position:absolute;border-radius:50%;border:1px solid rgba(255,244,226,.15)}
.haaka353-ambient-one{width:490px;height:490px;right:-210px;top:16%;box-shadow:0 0 0 70px rgba(249,222,176,.035),0 0 0 150px rgba(249,222,176,.022)}
.haaka353-ambient-two{width:280px;height:280px;left:-105px;bottom:7%;background:radial-gradient(circle,rgba(221,130,72,.20),transparent 75%)}
.haaka353-story-top,.haaka353-story-body,.haaka353-story-footer{position:relative;z-index:1}
.haaka353-story-top{display:flex;align-items:center;gap:16px;font-size:.67rem;letter-spacing:.22em;font-weight:800;color:#ebd7c9}
.haaka353-mark{display:inline-grid;place-items:center;background:#f4c6a3;color:#3b2722;width:43px;height:43px;border-radius:14px;font-weight:900;font-size:1.2rem;letter-spacing:-.05em}
.haaka353-story-body{max-width:680px;padding:55px 0 50px}.haaka353-story-line{width:76px;height:4px;border-radius:10px;background:#e59f65;margin-bottom:32px}
.haaka353-kicker{color:#f2be90!important;font-size:.69rem!important;letter-spacing:.2em;font-weight:800;line-height:1.5}
.haaka353-auth .haaka353-story-body h1{color:#fff9f2;font-weight:850;line-height:1.04;letter-spacing:-.055em;font-size:clamp(3rem,5.1vw,5.65rem);margin:19px 0 23px}
.haaka353-auth .haaka353-story-body>p:last-of-type{color:#e7d8cb;font-size:1.04rem;line-height:1.85;max-width:470px}
.haaka353-story-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:29px}.haaka353-story-tags span{border:1px solid rgba(255,255,255,.27);background:rgba(255,255,255,.07);padding:8px 13px;border-radius:50px;font-size:.72rem;color:#f3e4d7}
.haaka353-story-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.18);padding-top:21px;color:#eee1d8;font-size:.76rem;font-weight:650;letter-spacing:.04em}
.haaka353-auth-form-col{display:grid;align-items:center;justify-items:center;padding:clamp(30px,5vw,76px) clamp(20px,4vw,70px);min-width:0}
.haaka353-auth-card{width:100%;max-width:470px;padding:clamp(20px,3vw,28px) 0}
.haaka353-form-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:50px}
.haaka353-pill{border-radius:80px;border:1px solid #e6d7cc;background:#fff8f0;color:#9b4327;padding:8px 12px;font-size:.66rem;font-weight:900;letter-spacing:.11em}
.haaka353-return{font-size:.78rem;color:#70655e;text-decoration:none;font-weight:700;white-space:nowrap}
.haaka353-return:hover,.haaka353-auth .haaka353-password-row a:hover{color:#a14629}
.haaka353-form-eyebrow{margin:0 0 10px;color:#9c5436!important;font-size:.72rem;letter-spacing:.15em;font-weight:850}
.haaka353-auth .haaka353-auth-card h2{font-size:clamp(2.3rem,3.1vw,3.15rem);line-height:1.1;color:#24201f;margin:0 0 14px;font-weight:900}
.haaka353-auth-summary{color:#706861!important;font-size:.98rem;line-height:1.7;margin:0 0 32px}
.haaka353-form{display:flex;flex-direction:column;gap:10px}
.haaka353-form>label,.haaka353-password-row>label{font-weight:800;color:#38302c;font-size:.83rem;margin:5px 0 0}
.haaka353-password-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}
.haaka353-password-row>a,.haaka353-form-foot a{font-size:.8rem;font-weight:750;color:#985035}
.haaka353-control{display:flex;align-items:center;position:relative;min-height:56px;border:1px solid #ded2c6;border-radius:14px;background:#fffdf9;box-shadow:0 4px 18px rgba(53,35,22,.035);transition:border-color .2s,box-shadow .2s}
.haaka353-control:focus-within{border-color:#a54b2b;box-shadow:0 0 0 4px rgba(165,75,43,.12)}
.haaka353-input-icon{flex:0 0 44px;text-align:center;font-weight:850;color:#a45a3b;font-size:1.1rem}
.haaka353-control input{min-width:0;flex:1;border:0!important;outline:0!important;background:transparent!important;color:#2c2420!important;padding:15px 10px 15px 0!important;box-shadow:none!important;border-radius:12px;min-height:54px;font-size:.93rem}
.haaka353-control input::placeholder{color:#aaa099}.haaka353-password-toggle{border:0;background:transparent;color:#8e462c;padding:12px 14px;font-size:.78rem;font-weight:800;border-radius:12px}
.haaka353-password-toggle:focus-visible,.haaka353-auth a:focus-visible,.haaka353-submit:focus-visible{outline:3px solid #bc592e;outline-offset:3px}
.haaka353-submit{margin-top:14px;background:#a34428;color:#fff;border:1px solid #a34428;border-radius:14px;display:flex;justify-content:space-between;align-items:center;padding:17px 22px;font-size:.94rem;font-weight:850;box-shadow:0 12px 26px rgba(132,62,34,.17);cursor:pointer;transition:background .18s,transform .18s}
.haaka353-submit:hover{background:#85351e;transform:translateY(-2px)}.haaka353-submit span{font-size:1.25rem}
.haaka353-auth-divider{display:flex;align-items:center;gap:13px;color:#95887d;font-size:.68rem;letter-spacing:.13em;font-weight:800;margin:30px 0 20px}.haaka353-auth-divider:before,.haaka353-auth-divider:after{content:"";flex:1;height:1px;background:#e2d6ca}
.haaka353-secondary{border:1px solid #d9cabc;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:rgba(255,255,255,.7);color:#60483c;font-weight:800;font-size:.89rem}
.haaka353-secondary:hover{background:#fff;color:#a44628;border-color:#bc785e}
.haaka353-form-foot{text-align:center;margin-top:26px!important}.haaka353-verify-note{background:#f2e7db;border-left:3px solid #aa5e3a;color:#64544a!important;font-size:.82rem;line-height:1.65;padding:10px 12px;margin:7px 0 0}
.haaka353-password-meter{position:relative;padding-top:6px}.haaka353-password-meter:before{content:"";display:block;height:4px;background:#e0d1c6;border-radius:12px}.haaka353-password-meter>span{position:absolute;top:6px;height:4px;background:#9b6934;border-radius:12px;transition:width .15s;left:0;width:0}.haaka353-password-meter small{display:block;color:#796b62;font-size:.75rem;margin-top:8px}
html[data-theme="dark"] .haaka353-auth{background:#211d1b;color:#f6eee7}html[data-theme="dark"] .haaka353-auth-form-col{background:#27221f}html[data-theme="dark"] .haaka353-auth-card h2{color:#f6eee7}html[data-theme="dark"] .haaka353-auth-summary{color:#d1c2b4!important}
html[data-theme="dark"] .haaka353-control{background:#342b26;border-color:#685249}html[data-theme="dark"] .haaka353-control input{color:#fff7ef!important}html[data-theme="dark"] .haaka353-form>label,html[data-theme="dark"] .haaka353-password-row>label{color:#f2dfd3}
@media(max-width:960px){.haaka353-auth{grid-template-columns:minmax(0,1fr)}.haaka353-auth-story{min-height:300px!important;padding:30px 30px 35px!important}.haaka353-story-body{padding:15px 0!important}.haaka353-story-body h1{font-size:2.6rem!important;max-width:550px}.haaka353-story-footer{display:none}.haaka353-story-tags{margin-top:15px}.haaka353-form-top{margin-bottom:26px}.haaka353-auth-form-col{padding:30px 24px 60px}}
@media(max-width:560px){.haaka353-auth-story{min-height:225px!important;padding:23px!important}.haaka353-story-body h1{font-size:2.1rem!important;margin:8px 0 8px!important}.haaka353-story-body>p:last-of-type{font-size:.84rem!important;line-height:1.5!important;margin-bottom:0}.haaka353-story-tags{display:none}.haaka353-kicker{font-size:.56rem!important}.haaka353-story-line{margin-bottom:10px}.haaka353-auth-form-col{padding:18px 22px 40px}.haaka353-auth-card h2{font-size:2.1rem!important}.haaka353-form-top{margin-bottom:26px}.haaka353-control{min-height:52px}}
@media(prefers-reduced-motion:reduce){.haaka353-auth *{transition:none!important;animation:none!important}}
@media(max-width:380px){
  .haaka353-auth-form-col,.haaka353-auth-card,.haaka353-form,.haaka353-control{min-width:0;max-width:100%}
  .haaka353-form-top{flex-wrap:wrap;row-gap:11px}
  .haaka353-return{white-space:normal}
  .haaka353-story-top{gap:9px;letter-spacing:.12em;font-size:.58rem}
  .haaka353-auth-form-col{padding-inline:17px}
}
