:root { --ivory:#f8f3eb; --ink:#0f2b54; --muted:#5f6670; --gold:#c8922f; --white:#fffdfa; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:"DM Sans",system-ui,sans-serif; font-size:16px; line-height:1.45; }
.page-shell { width:100%; max-width:560px; margin:0 auto; background:var(--ivory); min-height:100vh; box-shadow:0 0 44px rgba(23,32,49,.08); }
.hero { position:relative; min-height:760px; overflow:hidden; background:#f5ecdf url("rabbi-honey-hero.png") 57% center/cover no-repeat; }
.hero-copy { position:relative; z-index:2; width:54%; min-height:760px; padding:84px 0 38px 22px; display:flex; flex-direction:column; justify-content:flex-start; }
.title-card { width:100%; max-width:260px; }
.language-switch { position:absolute; top:24px; left:34px; display:flex; gap:9px; align-items:center; color:#69717d; font-weight:600; letter-spacing:.06em; }
.language { border:0; background:none; padding:0; color:inherit; font:inherit; cursor:pointer; }.language.active{color:var(--ink)}
.brand-logo { display:block; width:82px; height:82px; object-fit:cover; border-radius:12px; box-shadow:0 7px 18px rgba(42,29,10,.22); }
.headline-card { margin-top:16px; padding:13px 10px 15px 8px; border-radius:0 17px 17px 0; background:rgba(255,251,243,.9); box-shadow:0 8px 24px rgba(64,42,12,.12); }
.hero h1,h2 { font-family:"Playfair Display",Georgia,serif; font-weight:600; letter-spacing:-.035em; }
.hero h1 { margin:0; font-size:clamp(31px,5.5vw,40px); line-height:1.06; }
.gold-rule { width:58px; height:3px; background:var(--gold); margin:21px 0 16px; }
.hero-text { margin:0; padding:10px 11px; color:#233449; font-size:13px; line-height:1.42; background:rgba(248,243,235,.84); border-radius:10px; box-shadow:0 8px 22px rgba(47,34,15,.12); }
.hero-cta { display:inline-flex; align-items:center; justify-content:center; width:max-content; max-width:100%; margin-top:15px; padding:11px 14px; border-radius:9px; background:var(--ink); color:#fff; text-decoration:none; font-size:13px; font-weight:700; }.hero-cta:hover{background:#1c4275}
.form-section { padding:42px 36px 48px; background:var(--ivory); border-top:4px solid var(--gold); }
.form-content > h2, .details-intro h2 { margin:0 0 26px; font-size:36px; line-height:1.1; }
.details-intro { margin:48px -4px 4px; padding-top:38px; border-top:1px solid #ddcfb7; }
.details-intro h2 { margin-bottom:11px; font-size:32px; }
.details-intro p { margin:0; color:var(--muted); font-size:15px; }
label { display:block; margin:20px 0 8px; font-size:14px; font-weight:700; color:#172f52; }.required{color:#b25b39;padding-left:3px}.optional{color:var(--muted);font-weight:500}
input,select,textarea { width:100%; min-height:56px; border:1px solid #c9c7c1; border-radius:10px; background:var(--white); padding:14px 16px; color:var(--ink); font:inherit; outline:none; }textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,146,47,.18)}
.form-note { margin:17px 0 0; color:var(--muted); font-size:13px; text-align:center; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.check-row { display:flex; gap:10px; align-items:flex-start; margin:19px 0; color:#3d4652; font-size:13px; font-weight:500; line-height:1.4; }.check-row input{width:18px;min-height:18px;margin-top:1px;accent-color:var(--gold)}
.optional-consent { margin-top:12px; padding:14px; border:1px solid #d8bd83; border-radius:10px; background:#f1e4c9; color:var(--ink); font-weight:700; }.optional-consent input{accent-color:var(--ink)}
.privacy-note { margin:12px 0 20px; color:var(--muted); font-size:12px; }.privacy-note a{color:var(--ink);font-weight:700}
.primary { width:100%; min-height:58px; border:0; border-radius:10px; background:var(--ink); color:white; padding:15px 18px; font:600 17px "DM Sans",sans-serif; cursor:pointer; transition:transform .15s ease,background .15s ease; }.primary:hover{background:#1c4275;transform:translateY(-1px)}.primary:disabled{opacity:.65;cursor:wait;transform:none}.primary span{padding-left:8px}
.error { min-height:18px; margin:10px 0 0; text-align:center; color:#a04431; font-size:13px; }.bot-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.success{text-align:center;padding:30px 0 12px}.success h2{margin:0 0 14px;font-size:37px;line-height:1.12}.success p{max-width:340px;margin:0 auto 28px;color:var(--muted)}.success-mark{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 22px;border-radius:50%;background:#e7d7ae;color:var(--ink);font-size:30px;font-weight:700}
.policy-page{max-width:700px;margin:0 auto;padding:48px 28px;color:var(--ink)}.policy-page h1{font-size:46px}.policy-page p{max-width:620px;color:#35445b}.policy-page .back{margin:0 0 40px;text-align:left;text-decoration:none}
@media(max-width:900px){.page-shell{width:100%;overflow:hidden}.hero{min-height:735px;background-position:57% 58%}.hero-copy{width:53%;min-height:735px;padding:80px 0 28px 16px}.title-card{max-width:240px}.language-switch{left:16px;right:auto}.brand-logo{width:74px;height:74px;border-radius:11px}.headline-card{margin-top:13px;padding:11px 8px 13px 7px;border-radius:0 14px 14px 0}.hero h1{font-size:31px;line-height:1.06}.gold-rule{margin:17px 0 13px}.hero-text{font-size:12px;line-height:1.38}.form-section{padding:35px 24px 42px}.form-content > h2{font-size:33px}.details-intro h2{font-size:30px}.field-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:360px){.hero{min-height:710px}.hero-copy{min-height:710px;padding-left:14px}.title-card{max-width:220px}.brand-logo{width:66px;height:66px}.hero h1{font-size:29px}.hero-text{font-size:11.5px}.form-section{padding-left:18px;padding-right:18px}}
@media(min-width:901px){body{padding:24px}.page-shell{border-radius:16px;overflow:hidden}}
