.lipe-shell,
.lipe-shell *{box-sizing:border-box}
.lipe-shell{width:100%;max-width:1180px;min-width:0;margin:0 auto;padding:clamp(48px,7vw,96px) clamp(20px,4vw,48px);color:#102c53}
.lipe-intro{max-width:800px;margin:0 0 40px}
.lipe-intro p{max-width:72ch;margin:0 0 1rem;line-height:1.65}
.lipe-kicker{color:#b88a2b;font-weight:800;letter-spacing:.16em;font-size:.78rem;line-height:1.45}
.lipe-shell h2{max-width:18ch;font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;margin:.25em 0 .4em;overflow-wrap:break-word}
.lipe-form{display:grid;width:100%;min-width:0;gap:28px}
.lipe-section{display:grid;width:100%;min-width:0;gap:12px;margin:0}
.lipe-section-title{max-width:100%;margin:0;padding:0 2px;color:#123f75;font-size:1.25rem;line-height:1.3;font-weight:800;white-space:normal;overflow-wrap:break-word}
.lipe-form fieldset{width:100%;min-width:0;min-inline-size:0;margin:0;border:1px solid #cbd9ea;border-radius:18px;padding:clamp(20px,3vw,34px);background:#fff;box-shadow:0 10px 30px rgba(16,44,83,.06)}
.lipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.lipe-grid>*,.lipe-stack>*,.lipe-form label{min-width:0}
.lipe-stack{display:grid;gap:20px}
.lipe-form label>span{display:block;font-weight:700;margin-bottom:8px;line-height:1.45;overflow-wrap:break-word}
.lipe-form input[type=text],.lipe-form input[type=email],.lipe-form input[type=tel],.lipe-form input[type=date],.lipe-form input[type=file],.lipe-form select,.lipe-form textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #9fb3ca;border-radius:10px;padding:13px 14px;background:#fff;color:#102c53;font:inherit;line-height:1.35}
.lipe-form input[type=file]{padding:10px;overflow-wrap:anywhere}
.lipe-form input[type=file]::file-selector-button{max-width:100%;margin:0 10px 0 0;border:0;border-radius:7px;padding:9px 12px;background:#eaf3fc;color:#123f75;font:inherit;font-weight:700;cursor:pointer}
.lipe-form textarea{min-height:130px;resize:vertical}
.lipe-form input:focus,.lipe-form select:focus,.lipe-form textarea:focus{outline:3px solid rgba(39,111,181,.25);border-color:#276fb5}
.lipe-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:18px 0 24px}
.lipe-checks label,.lipe-privacy label{display:flex;min-width:0;align-items:flex-start;gap:10px}
.lipe-checks input,.lipe-privacy input{margin-top:4px;flex:0 0 auto}
.lipe-checks label>span,.lipe-privacy label>span{min-width:0;font-weight:500;margin:0;overflow-wrap:break-word}
.lipe-privacy{width:100%;min-width:0;padding:22px;border-left:4px solid #c79b3b;background:#f7f9fc;overflow-wrap:break-word}
.lipe-error{display:block;color:#a32222;font-weight:700;margin-top:6px}
.lipe-notice{width:100%;min-width:0;padding:20px 24px;border-radius:12px;background:#eef6ff;border-left:5px solid #276fb5;overflow-wrap:break-word}
.lipe-error-summary{background:#fff2f2;border-color:#a32222}
.lipe-success{margin-top:40px;margin-bottom:40px}
.lipe-submit{max-width:100%;min-height:48px;border:0;cursor:pointer;justify-self:start;background:#123f75!important;color:#fff!important;font-weight:800;letter-spacing:.06em;text-align:center;white-space:normal}
.lipe-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:760px){
  .lipe-grid,.lipe-checks{grid-template-columns:minmax(0,1fr)}
  .lipe-shell{padding:48px 20px}
  .lipe-intro{margin-bottom:32px}
  .lipe-form{gap:22px}
}
@media(max-width:430px){
  .lipe-shell{padding:40px 16px}
  .lipe-shell h2{font-size:clamp(1.9rem,9vw,2.35rem)}
  .lipe-form fieldset{border-radius:14px;padding:20px 16px}
  .lipe-section{gap:10px}
  .lipe-grid,.lipe-stack{gap:18px}
  .lipe-form input[type=file]::file-selector-button{display:block;width:100%;margin:0 0 8px}
  .lipe-privacy{padding:18px 16px}
  .lipe-submit{width:100%;justify-self:stretch;padding-left:18px;padding-right:18px}
  .lipe-notice{padding:18px}
}
@media(max-width:340px){
  .lipe-shell{padding-left:12px;padding-right:12px}
  .lipe-form fieldset{padding-left:14px;padding-right:14px}
  .lipe-kicker{letter-spacing:.11em}
}
