.free-grammar{max-width:1040px;margin:0 auto;padding:24px;color:var(--text-primary)}.free-grammar__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}.free-grammar a{color:var(--text-primary);overflow-wrap:anywhere;display:inline-flex;align-items:center;min-height:48px}.free-grammar__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}.free-grammar h1{font-size:clamp(28px,4vw,42px);line-height:1.14;margin:12px 0 20px}.free-grammar h2{font-size:24px;line-height:1.25;margin:0 0 16px}.free-grammar p{line-height:1.65}.free-grammar__eyebrow{color:var(--text-secondary);font-weight:600}.free-grammar__intro img{width:min(100%,280px);height:auto;border-radius:12px;margin-top:16px}.free-grammar__card{background:var(--elevation-1);border:1px solid var(--border-subtle);padding:28px;border-radius:20px}.free-grammar form>label:first-child{display:block;font-weight:600;margin:20px 0 8px}.free-grammar input[type=email]{box-sizing:border-box;width:100%;min-height:48px;border:1px solid var(--border-strong, var(--text-secondary));border-radius:10px;padding:12px;background:var(--surface-base, var(--elevation-1));color:var(--text-primary);font:inherit}.free-grammar__consent{display:flex;align-items:flex-start;gap:12px;margin-top:18px;min-height:48px;line-height:1.6;cursor:pointer}.free-grammar__consent input{flex-shrink:0;width:24px;height:24px;margin:2px 0}.free-grammar__privacy,.free-grammar__note{font-size:14px;color:var(--text-secondary)}.free-grammar__button{width:100%;min-height:48px;padding:14px 18px;border:0;border-radius:12px;background:var(--btn-primary-bg);color:var(--btn-primary-text);font:inherit;font-weight:700;cursor:pointer}.free-grammar__button:disabled{cursor:wait;opacity:.7}.free-grammar__trap{display:none}.free-grammar [role=alert]{margin:12px 0;font-weight:600}@media (max-width: 720px){.free-grammar{padding:20px 16px}.free-grammar__layout{grid-template-columns:1fr;gap:24px}.free-grammar__intro img{max-width:150px}.free-grammar__card{padding:22px 18px}}
