/* ============================================================
   MAKLOR — Login & Contact (secure portals)
   Inherits maklor.css tokens.
   ============================================================ */
:root{ --paper:#FFFFFF; }

/* simplified header */
.auth-nav{position:sticky;top:0;z-index:60;background:rgba(244,241,234,.85);backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line);}
.auth-nav__inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);height:74px;display:flex;align-items:center;justify-content:space-between;}
.auth-nav .brand{display:flex;align-items:center;gap:12px;}
.auth-nav .brand img{height:26px;}
.auth-nav .brand__word{font-weight:700;font-size:19px;letter-spacing:.34em;color:var(--ink);padding-left:4px;}
.auth-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--sage-deep);transition:color var(--dur) var(--ease);}
.auth-back:hover{color:var(--ink);}
.auth-back svg{transition:transform var(--dur) var(--ease);}
.auth-back:hover svg{transform:translateX(-3px);}

/* ---------- LOGIN ---------- */
.login-stage{min-height:calc(100vh - 74px);display:grid;place-items:center;padding:48px 24px;
  background:
    linear-gradient(var(--line-soft) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-soft) 1px, transparent 1px),
    var(--bone);
  background-size:34px 34px,34px 34px,auto;
  background-position:center;
}
.auth-card{width:100%;max-width:440px;background:var(--paper);border:1px solid var(--line);box-shadow:0 50px 100px -55px rgba(14,18,15,.4);padding:clamp(30px,4vw,46px);}
.auth-card__eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.auth-card__title{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.01em;margin:14px 0 6px;}
.auth-card__sub{font-size:14px;color:var(--slate);margin:0 0 30px;}
.auth-field{margin-bottom:20px;}
.auth-field label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:9px;}
.auth-field input,.auth-field select,.auth-field textarea{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--bone);border:1px solid var(--line);border-radius:0;padding:13px 14px;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease);}
.auth-field input::placeholder,.auth-field textarea::placeholder{color:var(--slate-2);}
.auth-field input:focus,.auth-field select:focus,.auth-field textarea:focus{outline:none;border-color:var(--sage-deep);background:var(--paper);}
.auth-field textarea{resize:vertical;min-height:104px;line-height:1.5;}
.auth-field select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23687280' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;}
.auth-forgot{display:block;text-align:right;font-size:12.5px;color:var(--slate);margin:-8px 0 22px;transition:color var(--dur) var(--ease);}
.auth-forgot:hover{color:var(--ink);}
.auth-trust{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:22px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--sage-deep);}
.auth-trust svg{width:14px;height:14px;flex:none;color:var(--sage-deep);}
.auth-alt{text-align:center;font-size:13.5px;color:var(--slate);margin-top:30px;padding-top:24px;border-top:1px solid var(--line);}
.auth-alt a{color:var(--forest);font-weight:600;}
.auth-alt a:hover{color:var(--ink);}
.auth-notice{margin-top:20px;padding:15px 16px;background:var(--bone-2);border:1px solid var(--line);border-left:3px solid var(--gold);font-size:13px;line-height:1.55;color:var(--sage-deep);}
.auth-notice a{color:var(--forest);font-weight:600;}
.auth-notice a:hover{color:var(--ink);}
.auth-check{display:flex;gap:11px;align-items:flex-start;margin:2px 0 24px;font-size:12.5px;line-height:1.5;color:var(--slate);cursor:pointer;}
.auth-check input{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;border:1px solid var(--line);background:var(--bone);margin-top:1px;cursor:pointer;display:grid;place-items:center;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);}
.auth-check input:checked{background:var(--forest);border-color:var(--forest);}
.auth-check input:checked::after{content:"";width:9px;height:5px;border-left:2px solid var(--bone);border-bottom:2px solid var(--bone);transform:rotate(-45deg) translateY(-1px);}
.auth-check a{color:var(--sage-deep);}
.auth-check a:hover{color:var(--ink);}

/* ---------- CONTACT ---------- */
.contact{padding:120px 0;}
.contact__grid{display:grid;grid-template-columns:40% 60%;gap:72px;align-items:start;}
.contact__ctx .eyebrow{margin-bottom:0;}
.contact__h{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.6vw,50px);line-height:1.05;letter-spacing:-.02em;margin:22px 0 0;}
.contact__sub{font-size:16px;line-height:1.64;color:var(--sage-deep);margin:22px 0 0;max-width:420px;}
.contact__block{margin-top:36px;padding-top:26px;border-top:1px solid var(--line);}
.contact__k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:10px;}
.contact__addr{font-size:15px;line-height:1.6;color:var(--ink);}
.contact__addr a{color:var(--sage-deep);}
.contact__addr a:hover{color:var(--ink);}
.contact__hours{font-size:15px;color:var(--ink);}

.contact__form{background:var(--paper);border:1px solid var(--line);box-shadow:0 50px 100px -58px rgba(14,18,15,.38);padding:clamp(28px,3vw,42px);}
.contact__form-h{font-family:var(--serif);font-weight:400;font-size:25px;letter-spacing:-.01em;margin:0 0 26px;padding-bottom:20px;border-bottom:1px solid var(--line);}
.contact__micro{font-size:12.5px;line-height:1.6;color:var(--slate);margin-top:20px;}
@media (max-width:900px){.contact{padding:80px 0;}.contact__grid{grid-template-columns:1fr;gap:48px;}}
