:root{
  --navy:#1B3668; --navy-deep:#132849; --ink:#1E2430; --muted:#5D6573;
  --paper:#FAF8F4; --paper-2:#F2EEE6; --line:#E3DDD2; --brass:#A88A5A; --white:#fff; --err:#A33A2B;
  --serif:"Cormorant Garamond", Georgia, serif; --sans:"Jost", system-ui, sans-serif;
  --gutter:clamp(16px,4vw,40px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font:300 16.5px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}

/* header */
.fhead{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:20}
.fhead .in{max-width:1180px;margin:0 auto;padding:0 var(--gutter);height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.fhead .brand{width:clamp(160px,18vw,200px);flex:none}
.fhead .brand img{width:100%;height:auto}
.fhead .right{display:flex;align-items:center;gap:18px}
.back{font:400 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--navy);text-decoration:none}
.lang{display:flex;border:1px solid var(--line)}
.lang button{background:none;border:0;color:var(--navy);font:500 11.5px/1 var(--sans);letter-spacing:.14em;padding:9px 10px;cursor:pointer;opacity:.55}
.lang button[aria-pressed="true"]{opacity:1;background:var(--paper-2)}
@media (max-width:520px){.back{display:none}}

/* intro */
.fhero{background:var(--navy);color:#DCE3EF;padding:clamp(48px,8vw,88px) 0 clamp(40px,6vw,64px)}
.fhero .in{max-width:780px;margin:0 auto;padding:0 var(--gutter)}
.eyebrow{font:500 12px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--brass)}
.fhero h1{font:500 clamp(36px,5.4vw,58px)/1.06 var(--serif);color:var(--white);margin:14px 0 18px}
.fhero p{font-size:17.5px;color:#C3CDDD;max-width:60ch}
.fhero .note{margin-top:22px;padding-left:18px;border-left:1px solid var(--brass);font-size:15.5px}

/* progress */
.progress{position:sticky;top:0;z-index:15;background:var(--paper);border-bottom:1px solid var(--line)}
.progress .in{max-width:780px;margin:0 auto;padding:12px var(--gutter);display:flex;align-items:center;gap:16px}
.bar{flex:1;height:3px;background:var(--line)}
.bar i{display:block;height:100%;width:0;background:var(--brass);transition:width .3s}
.pct{font:500 11.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap}

/* form */
.wrapf{max-width:780px;margin:0 auto;padding:clamp(32px,5vw,56px) var(--gutter) 96px}
fieldset{border:0;border-top:1px solid var(--line);padding:36px 0 12px}
fieldset:first-child{border-top:0;padding-top:0}
legend{display:contents}
.snum{display:block;font:400 15px var(--serif);color:var(--brass);letter-spacing:.1em;margin-bottom:6px}
.stitle{display:block;font:500 clamp(26px,3vw,32px)/1.15 var(--serif);color:var(--navy);margin-bottom:22px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}
.fld{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}
.fld.half{grid-column:auto}
@media (max-width:600px){.grid{grid-template-columns:1fr}.fld.half{grid-column:1/-1}}
.lbl{font:500 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.lbl .req{color:var(--brass)}
.help{font-size:13.5px;color:var(--muted);line-height:1.5}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
  font:300 16.5px var(--sans);color:var(--ink);background:var(--white);border:1px solid var(--line);padding:12px 14px;border-radius:0;width:100%;appearance:none}
select{background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231B3668' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:38px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--navy)}
.eur{position:relative}.eur input{padding-right:34px}.eur span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted)}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);background:var(--white);font-size:15px;cursor:pointer;line-height:1.3}
.opt:hover{border-color:#CDBFA6}
.opt input{accent-color:var(--navy);width:16px;height:16px;flex:none}
.opt:has(input:checked){border-color:var(--navy);background:#F3F5F9}
.fld.bad input,.fld.bad select,.fld.bad .opts{outline:1px solid var(--err)}
.fld .msg{font-size:13px;color:var(--err);display:none}.fld.bad .msg{display:block}

.send{border-top:1px solid var(--line);padding-top:36px;margin-top:12px;display:flex;flex-direction:column;gap:22px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--muted);line-height:1.5}
.consent input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--navy)}
.btn{align-self:flex-start;font:500 13px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:19px 32px;border:1px solid var(--navy);background:var(--navy);color:var(--white);cursor:pointer}
.btn:hover{background:var(--navy-deep)}
.btn[disabled]{opacity:.5;cursor:default}
.status{font-size:15.5px;min-height:1.5em}
.status.ok{color:var(--navy)}.status.err{color:var(--err)}
.hp{position:absolute;left:-9999px}
.done{display:none;text-align:left;padding:40px 0}
.done h2{font:500 36px/1.1 var(--serif);color:var(--navy);margin-bottom:12px}

/* footer */
footer{background:var(--navy-deep);color:#93A3BC;font-size:13.5px;padding:36px 0}
footer .in{max-width:1180px;margin:0 auto;padding:0 var(--gutter);display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center}
footer a{color:#C3CDDD;text-decoration:none}
footer nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.preview{position:fixed;bottom:12px;left:12px;z-index:60;background:var(--brass);color:#fff;font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:9px 12px}
