@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@400;500;600;700;800&display=swap');
:root {--orange:#FF5D15;--orange-dark:#D94608;--bg:#F6F7F9;--panel:#fff;--text:#222;--muted:#6B7280;--line:#E5E7EB;--shadow:0 16px 48px rgba(17,24,39,.06);}
* {box-sizing:border-box}
html {min-height:100%}
body {margin:0;background:var(--bg);color:var(--text);font-family:Urbanist,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
button,input {font:inherit}
button,a {touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible {outline:3px solid #ff9b6c;outline-offset:3px}
.site-header {min-height:90px;background:#fff;border-top:4px solid var(--orange);border-bottom:1px solid var(--line);padding:18px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand {display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.brand-icon {border-radius:13px;box-shadow:0 8px 18px rgba(255,93,21,.18)}
.brand-copy {display:flex;flex-direction:column;line-height:1.22}
.brand-copy strong {font-size:25px;letter-spacing:-.8px;font-weight:800}
.brand-copy span {font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-weight:700}
.header-user {font-size:14px;color:var(--muted);display:flex;align-items:center;gap:16px;overflow-wrap:anywhere}
.header-sign-in {font-size:14px;font-weight:800;color:var(--orange-dark);text-decoration:none;border:1px solid #ffd3bb;border-radius:9px;padding:10px 17px;background:#fff7f1;white-space:nowrap}
.header-sign-in:hover {background:#ffebdd;color:#a43804}
#sign-in {scroll-margin-top:20px}
@media (prefers-reduced-motion:no-preference) {html {scroll-behavior:smooth}}
[hidden] {display:none !important}
.page-shell {max-width:1232px;padding:0 26px 64px;margin:auto}
.hero {display:flex;justify-content:space-between;align-items:center;gap:28px;padding:73px 10px 54px}
.eyebrow {font-weight:800;font-size:12px;letter-spacing:.16em;color:var(--orange-dark);margin:0 0 15px;display:flex;align-items:center;gap:8px}
.eyebrow.small {font-size:11px;margin:0 0 7px}
.eyebrow-dot {width:8px;height:8px;background:var(--orange);border-radius:100%}
.hero h1 {font-size:clamp(46px,5.8vw,78px);line-height:1.02;letter-spacing:-3px;margin:0;font-weight:800}
.hero h1 span {color:var(--orange)}
.intro {font-size:19px;color:#586170;max-width:600px;line-height:1.6;margin:23px 0 0}
.hero-mark {width:168px;height:168px;opacity:.95;flex-shrink:0;transform:rotate(-5deg)}
.hero-mark img {width:100%;height:100%;box-shadow:0 23px 42px rgba(255,93,21,.2);border-radius:35px}
.section-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 2px 18px}
.section-heading h2 {font-size:27px;line-height:1.2;letter-spacing:-.7px;margin:0}
.access-status {color:#727a86;font-size:13px;background:#fff;border:1px solid var(--line);padding:7px 13px;border-radius:30px}
.access-status.active {color:#176e46;background:#e9f8ef;border-color:#bfe9d1}
.tool-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tool-card {background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;min-height:328px;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.tool-card:hover {border-color:#ffb38f;transform:translateY(-2px)}
.card-top {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}
.tool-monogram {background:var(--orange);color:#fff;border:1px solid var(--orange);border-radius:12px;font-weight:800;font-size:21px;letter-spacing:-1px;min-width:56px;height:56px;display:grid;place-items:center}
.card-type {font-size:10px;letter-spacing:.14em;font-weight:800;color:#7a8490;text-align:right}
.tool-card h3 {font-size:24px;letter-spacing:-.65px;margin:0 0 10px;line-height:1.15}
.tool-card p {color:#66717e;font-size:14px;line-height:1.64;margin:0 0 24px;flex:1}
.tool-action {display:flex;align-items:center;justify-content:space-between;border-radius:10px;background:var(--orange);font-size:14px;padding:13px 16px;color:#fff;font-weight:800;text-decoration:none;transition:background .15s}
.tool-action:hover {background:var(--orange-dark)}
.tool-action.is-locked {background:#eef0f3;color:#7b8491;cursor:not-allowed;pointer-events:none}
.account-panel {display:grid;grid-template-columns:1fr 1fr;gap:46px;margin-top:34px;border:1px solid var(--line);background:#fff;padding:34px;border-radius:18px;box-shadow:var(--shadow)}
.account-copy h2 {font-size:28px;letter-spacing:-.7px;margin:6px 0 10px}
.account-copy>p:last-child {color:#657180;font-size:15px;line-height:1.7;max-width:445px}
.account-icon {display:inline-grid;place-items:center;background:#fff4ed;border-radius:13px;color:var(--orange-dark);width:50px;height:50px;font-size:27px;margin-bottom:18px}
.login-area {padding:10px 0}
.login-area form {display:flex;flex-direction:column;gap:12px}
.login-area label {font-size:13px;font-weight:800}
.login-area input {width:100%;border:1px solid #cfd5dc;border-radius:10px;padding:13px 14px;font-size:16px;background:#fff}
.login-area input:focus {border-color:var(--orange)}
.primary-button {border:0;border-radius:10px;background:var(--orange);color:#fff;padding:14px 16px;font-weight:800;cursor:pointer}
.primary-button:hover {background:var(--orange-dark)}
.primary-button:disabled {opacity:.55;cursor:wait}
.text-button {border:0;background:none;color:#b54a13;padding:8px 3px;font-size:13px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.text-button:hover {color:#87380d}
.auth-message {padding:12px 14px;font-size:13px;border-radius:9px;margin:0 0 15px;background:#fff7ed;color:#854d0e;border:1px solid #fed7aa}
.auth-message.error {color:#9b1c1c;background:#fef2f2;border-color:#fecaca}
.auth-note {font-size:12px;color:#7a8591;margin-top:19px;line-height:1.55}
.auth-loading {font-size:14px;color:#64748b}
.signed-in {background:#eefbf1;padding:20px;border:1px solid #bfe9d1;border-radius:12px;color:#185b39}
.signed-in-tick {display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#199054;color:#fff;margin-right:12px;font-weight:800}
.signed-in strong {font-size:17px}
.signed-in p {margin:8px 0 0;font-size:14px;overflow-wrap:anywhere}
.site-footer {border-top:1px solid var(--line);padding:25px max(24px,calc((100vw - 1180px)/2));color:#85909e;font-size:13px;display:flex;justify-content:space-between;gap:15px}
@media(max-width:950px){.tool-grid{grid-template-columns:1fr 1fr}.account-panel{grid-template-columns:1fr;gap:10px}.hero-mark{width:130px;height:130px}}
@media(max-width:650px){.site-header{padding:16px 20px}.brand-copy strong{font-size:21px}.brand-copy span{font-size:10px}.page-shell{padding:0 17px 35px}.hero{padding:47px 0 33px}.hero h1{letter-spacing:-1.8px}.hero-mark{display:none}.intro{font-size:16px}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:260px;padding:23px}.account-panel{padding:24px;margin-top:22px}.section-heading{align-items:flex-start;flex-direction:column}.header-user{align-items:flex-end;flex-direction:column;gap:0}.site-footer{flex-direction:column}}
