@import url("fonts/bbr-fonts.css");

@font-face {
  font-family: "BBR Optima";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Optima Regular"), url("https://workflow-boulaybeachresort.com/static/media/Optima-Regular.f866cdcc45da8012e213.woff2") format("woff2");
  unicode-range: U+0020-007E;
}
@font-face {
  font-family: "BBR Optima";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Optima Bold"), url("https://workflow-boulaybeachresort.com/static/media/Optima-Bold.7ab95a8ed51ed02c62da.woff2") format("woff2");
  unicode-range: U+0020-007E;
}

:root{color-scheme:light;--ink:#0A0A0A;--muted:#515151;--cream:#F5F0E8;--line:#CFC5B7;--accent:#B8922A;--link:#70540F}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#0A0A0A;font:16px/1.5 "BBR Optima","Quattrocento Sans",Arial,sans-serif}
.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(475px,43%);min-height:100svh}
.hero{display:flex;flex-direction:column;justify-content:space-between;gap:clamp(70px,15vh,170px);background:linear-gradient(160deg,#0A0A0A80 0%,#0A0A0A24 38%,#0A0A0AEE 100%),url('BBr-BG-1.jpg') 55% center/cover;padding:clamp(26px,5vw,78px);color:#FFFFFF}
.logo{width:156px;height:auto}.intro{max-width:620px}.offer{display:block;font:clamp(5rem,10vw,10rem)/.85 "BBR Optima","Quattrocento Sans",Arial,sans-serif;letter-spacing:-.085em;margin-bottom:16px;color:#fff4ce;text-shadow:0 2px 12px #0A0A0A}
.hero h1{color:#fff9e7}
h1,h2{font-family:"BBR Optima","Quattrocento Sans",Arial,sans-serif;font-weight:400;margin:0;line-height:1.06}h1{font-size:clamp(2.1rem,4.4vw,4.6rem);letter-spacing:-.05em}h2{font-size:clamp(1.9rem,3vw,3rem);letter-spacing:-.045em}
.intro p{max-width:54ch;margin:18px 0 0}.benefits{margin-top:23px;display:flex;gap:8px;flex-wrap:wrap}.benefits span{font-size:.85rem;border:1px solid #FFFFFF80;padding:5px 11px;border-radius:50px;background:#0A0A0A9C}
.panel{background:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:clamp(27px,4vw,68px);gap:24px}
.panel>header p{color:var(--muted);margin:10px 0 0}.preview{background:#EFE8DA;border-radius:8px;padding:9px 12px;font-size:.84rem;color:#0A0A0A}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}label{display:grid;gap:5px;font-size:.84rem;font-weight:650}.wide{grid-column:1/-1}
input,select,button{font:inherit}input,select{width:100%;min-width:0;height:44px;border:1px solid var(--line);border-radius:8px;background:#FAFAF7;color:var(--ink);padding:0 10px;font-size:1rem}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #70540F;outline-offset:3px}
.check{display:flex;gap:8px;align-items:center;margin:12px 0;font-weight:500}.check input{width:17px;height:17px;accent-color:var(--accent)}
button{cursor:pointer}button.primary{width:100%;border:0;border-radius:8px;background:var(--accent);color:var(--ink);padding:12px 16px;font-weight:650}button.primary:hover{background:#D4AF37}.policy,footer{font-size:.83rem;color:var(--muted)}footer{padding-top:14px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px}a,.link{color:var(--link)}.link{background:none;border:0;padding:0;text-decoration:underline;font:inherit}
dialog{color:var(--ink);background:var(--cream);width:min(550px,calc(100% - 36px));border:0;border-radius:15px;padding:28px}dialog::backdrop{background:#0A0A0ABB}
@media(max-width:850px){.layout{grid-template-columns:1fr}.hero{min-height:480px;background-image:linear-gradient(180deg,#0A0A0A75,#0A0A0A24 30%,#0A0A0AF2 100%),url('BBr-BG-mobile-1.jpg');background-position:center 43%;gap:60px}.offer{font-size:6rem}.panel{padding:30px max(22px,calc((100vw - 620px)/2))}.logo{width:127px}}
@media(max-width:490px){.fields{grid-template-columns:1fr}.hero{min-height:0;padding:26px 22px}.intro p{font-size:.92rem}}

.backoffice{background:var(--cream)}.shell{max-width:1100px;margin:auto;padding:24px}.top{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:28px}.top strong{margin-right:auto}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;margin:18px 0}.stack{display:grid;gap:12px}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.inline input,.inline select{width:auto;max-width:100%}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}td,th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.action{display:inline-block;background:var(--accent);color:var(--ink);padding:9px 14px;border:0;border-radius:8px;text-decoration:none}.notice{padding:12px;background:#EFE8DA;border-radius:8px}.error{padding:12px;background:#f9e6e1;color:#772d20;border-radius:8px}textarea{font:inherit;width:100%;min-height:80px;border:1px solid var(--line);border-radius:8px;padding:8px}dl.details{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:8px}dd{margin:0;overflow-wrap:anywhere}.legal-text{white-space:pre-wrap}.small{font-size:.85rem;color:var(--muted)}.honeypot{position:absolute;left:-10000px}.shell h1{font-size:clamp(2rem,4vw,3.5rem)}

.marital{margin:0;padding:0;border:0;min-width:0}
.marital legend{margin-bottom:6px;padding:0;font-size:.84rem;font-weight:700}
.marital-options{display:flex;flex-wrap:wrap;gap:8px 12px}
.marital-options label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:#FAFAF7;cursor:pointer}
.marital-options label:has(input:checked){border-color:#70540F;background:#EFE8DA}
.marital-options input[type="radio"]{width:18px;height:18px;margin:0;padding:0;accent-color:var(--accent);flex:none}
