:root{
  --ink:#191919;--mut:#5c544a;--deep:#a8560a;--orange:#e07f1e;--sand:#f8f0e4;--card:#fffdf9;--line:#ecdfcc;--soft:#fdebd6;
  --fh:"Instrument Sans";--fb:"Instrument Sans";--wb:400;
  /* clean realistic surfaces, after lunera.framer.ai pricing cards: solid fills, one faint shadow, no gradients, no highlights */
  --lift:0 8px 30px rgba(60,40,20,.08);
  --lift-hi:0 12px 40px rgba(60,40,20,.12);
  --mat-bg:var(--card);
  --mat:0 8px 30px rgba(60,40,20,.08);
}
.photo{background-color:#d9c3a5;background-size:cover;background-position:center 28%}
.glass{background:rgba(255,253,249,.82);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 6px 20px rgba(20,12,4,.18)}
.glass p{color:#4a4239}
.num{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;font-weight:500;font-size:16px;color:var(--ink);background:#fff;box-shadow:0 4px 10px rgba(60,40,20,.10)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb),system-ui,sans-serif;font-weight:var(--wb);background:var(--sand);color:var(--ink);line-height:1.55;font-size:16px;overflow-x:hidden}
h1,h2,h3,summary{font-family:var(--fh),system-ui,sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
/* buttons: F's shape and colours, with real depth (light top edge, soft shadow under), after the 3D feel of lunera.framer.ai */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:40px;font-weight:500;font-size:16px;white-space:nowrap;border:0;
  color:#fff;background:var(--ink);box-shadow:0 4px 8px rgba(0,0,0,.15);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.18)}
.btn:active{transform:none;box-shadow:0 2px 4px rgba(0,0,0,.15)}
.btn.orange{color:var(--ink);background:var(--orange);box-shadow:0 4px 8px rgba(160,80,0,.22)}
.btn.orange:hover{box-shadow:0 8px 16px rgba(160,80,0,.26)}
.btn.line,.btn.light{color:var(--ink);background:#fff;box-shadow:0 4px 12px rgba(60,40,20,.10)}
.btn.line:hover,.btn.light:hover{box-shadow:0 12px 34px rgba(60,40,20,.14)}
.btn.line-light{color:#fff;background:rgba(255,255,255,.12);box-shadow:0 4px 12px rgba(0,0,0,.25)}

/* 1 menu bar */
nav{position:sticky;top:0;z-index:20;background:rgba(248,240,228,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;gap:24px;height:72px}
.brand{display:block;line-height:0;padding:4px 0}.brand img{height:40px;width:auto}
nav .links{display:flex;gap:4px;margin-left:auto}
nav .links a{display:inline-block;padding:12px 12px;font-size:16px;font-weight:500;color:var(--mut)}
nav .links a:hover{color:var(--ink)}
nav .acts{display:flex;gap:10px;align-items:center}
nav .acts .quiet{min-height:44px;padding:10px 18px}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;min-height:44px;min-width:44px;display:grid;place-items:center;border-radius:40px;font-weight:500;font-size:16px;padding:0 14px;color:var(--ink);background:#fff;box-shadow:0 4px 12px rgba(60,40,20,.10)}
.menu summary::-webkit-details-marker{display:none}
.menu .panel{position:absolute;right:0;top:54px;width:240px;background:var(--card);border-radius:24px;box-shadow:0 18px 50px rgba(25,25,25,.16);padding:10px}
.menu .panel a{display:block;padding:12px 14px;border-radius:10px;font-weight:500}
.menu .panel a:hover{background:var(--sand)}
@media(max-width:900px){nav .links,nav .acts .quiet{display:none}.menu{display:block}nav .wrap{gap:10px}nav .acts{margin-left:auto}}
@media(max-width:760px){.brand{padding:5px 0}.brand img{height:34px}nav .acts .btn{padding:10px 16px;min-height:44px}}

/* 11 closing band and footer (F) */
footer{background:var(--ink);color:#efe9e1;padding:80px 0 40px;border-radius:24px 24px 0 0;margin-top:32px}
footer .close{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:28px;padding-bottom:56px;border-bottom:1px solid #3a352f}
footer h2{color:#fff}
footer .row{display:flex;gap:12px;flex-wrap:wrap}
footer .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;padding-top:48px;font-size:16px;color:#cfc5b8}
footer .grid h3{color:#fff;font-size:16px;margin-bottom:12px}
footer .grid a{display:block;padding:6px 0}
footer .grid a:hover{color:#fff}
footer .flogo img{height:52px;width:auto;margin-bottom:18px}
footer .small{margin-top:40px;font-size:14px;color:#a89d90;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer .small a{display:inline-block;padding:13px 4px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){footer{padding:56px 0 100px;border-radius:28px 28px 0 0}footer .grid{grid-template-columns:1fr 1fr}footer .grid .who{grid-column:span 2}footer .grid a{padding:12px 0}}

/* 12 WhatsApp button */
.wa{position:fixed;right:16px;bottom:16px;z-index:30;display:inline-flex;align-items:center;gap:8px;min-height:48px;color:#fff;padding:12px 20px;border-radius:99px;font-weight:500;background:#157a43;box-shadow:0 4px 12px rgba(0,0,0,.20)}


.preview{background:var(--soft);padding:12px 0;font-size:16px;color:#6b3b07}
h1{font-size:clamp(40px,5.6vw,76px);line-height:1.02;letter-spacing:-.04em;font-weight:600}
.fld{position:relative;display:block;min-height:64px;padding:9px 18px 8px;border-radius:16px;background:#fff;box-shadow:0 4px 12px rgba(60,40,20,.10);text-align:left;width:100%}
.fld .lab{display:block;font-size:14px;font-weight:500;color:var(--mut);line-height:1.2}
.fld input{display:block;width:100%;border:0;background:transparent;font:inherit;font-size:17px;font-weight:500;color:var(--ink);padding:2px 0;outline:0;min-height:30px}
.fld input::placeholder{color:#7a6f61;font-weight:400}
.fld:focus-within{box-shadow:0 0 0 2px var(--ink),0 4px 12px rgba(60,40,20,.10)}
/* modern dropdown */
.dd{position:relative}
.dd-btn{display:block;width:100%;font:inherit;color:inherit;cursor:pointer;border:0;text-align:left;min-height:64px;padding:9px 46px 8px 18px;border-radius:16px;background:#fff;box-shadow:0 4px 12px rgba(60,40,20,.10);transition:box-shadow .2s}
.dd-btn:hover{box-shadow:0 8px 20px rgba(60,40,20,.14)}
.dd-btn:focus-visible,.dd.open .dd-btn{outline:0;box-shadow:0 0 0 2px var(--ink),0 8px 20px rgba(60,40,20,.14)}
.dd-btn .lab{display:block;font-size:14px;font-weight:500;color:var(--mut);line-height:1.2}
.dd-val{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:500;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dd-val img,.dd-opt img{width:26px;height:20px;border-radius:4px;object-fit:cover;box-shadow:0 1px 4px rgba(60,40,20,.25);flex:none}
.dd-chev{position:absolute;right:20px;top:50%;width:10px;height:10px;margin-top:-8px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg);transition:transform .25s}
.dd.open .dd-chev{transform:rotate(-135deg);margin-top:-2px}
.dd-list{position:absolute;left:0;top:calc(100% + 8px);min-width:100%;width:max-content;max-width:min(380px,92vw);max-height:340px;overflow:auto;margin:0;padding:8px;list-style:none;background:#fff;border-radius:24px;box-shadow:0 18px 50px rgba(25,25,25,.18),0 2px 8px rgba(25,25,25,.08);z-index:60;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .18s,transform .18s;visibility:hidden}
.dd.open .dd-list{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.dd-opt{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border-radius:10px;font-size:17px;font-weight:500;cursor:pointer}
.dd-opt:hover,.dd-opt.act{background:var(--sand)}
.dd-opt[aria-selected="true"]{background:var(--soft)}
.dd-opt .tick{margin-left:auto;width:18px;height:18px;stroke:var(--ink);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.dd-opt[aria-selected="true"] .tick{opacity:1}
.dd-sep{height:1px;background:var(--line);margin:6px 8px}
@media(max-width:760px){
  .fj-bar{position:static;backdrop-filter:none;-webkit-backdrop-filter:none}
  .fj-bar .in{grid-template-columns:1fr}
  .dd-list{position:fixed;left:12px;right:12px;bottom:12px;top:auto;width:auto;max-width:none;max-height:62vh;border-radius:24px;transform:translateY(20px)}
  .dd.open::before{content:"";position:fixed;inset:0;background:rgba(25,20,10,.38);z-index:55}
}

/* WEIGHTS, fixed site-wide to match the home page (Alex, 24 Oct 2026): hero and page headline 700, section titles 600,
   card titles and question rows 500, text 400. Buttons, menu links and labels keep 500. !important on purpose: no piece may change these. */
h1{font-weight:700!important}
h2{font-weight:600!important}
h3,summary{font-weight:500!important}
p{font-weight:400!important}

/* ---------- shared parts for the inner pages ---------- */
.ph{padding:56px 0 8px}
.ph .lead{font-size:20px;color:var(--mut);margin-top:14px;max-width:44ch}
.sec{margin:72px 0}
.sec>h2,.h2{font-size:clamp(28px,3.4vw,44px);line-height:1.1;letter-spacing:-.03em;font-weight:600;margin-bottom:24px;text-wrap:balance}
.sec>.sub{color:var(--mut);font-size:19px;margin:-10px 0 24px;max-width:52ch}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--card);border-radius:24px;padding:28px;box-shadow:var(--lift)}
.card h3{font-size:22px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.card p{color:var(--mut);font-size:17px}
.card .big{display:block;font-size:17px;font-weight:400;color:var(--mut);padding:6px 0;min-height:44px;overflow-wrap:anywhere}
.card a.big:hover{color:var(--ink);text-decoration:underline}
.card .ico{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:var(--soft);margin-bottom:16px}
.card .ico svg{width:24px;height:24px;stroke:var(--deep);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:12px 20px;border-radius:99px;background:#fff;box-shadow:0 4px 12px rgba(60,40,20,.08);font-weight:500;font-size:17px}
.chip.on{background:var(--ink);color:#fff}
.steps{list-style:none;padding:0;counter-reset:s;border-top:1px solid var(--ink)}
.steps li{display:grid;grid-template-columns:56px 1fr;gap:6px 16px;padding:22px 0;border-bottom:1px solid var(--line);counter-increment:s}
.steps li::before{content:counter(s);grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 4px 10px rgba(60,40,20,.10);font-weight:500}
.steps b{font-size:21px;font-weight:600;letter-spacing:-.01em}
.steps span{color:var(--mut);font-size:17px}
.ticks{list-style:none;padding:0;display:grid;gap:14px}
.ticks li{display:grid;grid-template-columns:30px 1fr;gap:14px;font-size:18px;align-items:start}
.ticks li::before{content:"";width:26px;height:26px;margin-top:2px;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191919' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/16px no-repeat}
.ticks.no li::before{background-color:#e9dfcf;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191919' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E")}
.prose{max-width:68ch}
.prose h2{font-size:26px;font-weight:600;letter-spacing:-.02em;margin:40px 0 10px}
.prose p,.prose li{font-size:18px;color:#3a342d;margin-bottom:12px}
.prose ul{padding-left:22px}
.quote{padding:32px;border-radius:24px;background:var(--card);box-shadow:var(--lift)}
.quote h3{font-size:14px;font-weight:500;color:var(--deep);margin-bottom:10px}
.quote p{font-size:22px;line-height:1.45;letter-spacing:-.01em}
.band{margin:72px 0 8px;padding:40px;border-radius:24px;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.band h2{font-size:clamp(26px,3vw,36px);color:#fff;max-width:22ch;line-height:1.1}
.band p{color:#d9d0c4;font-size:18px;margin-top:8px;max-width:42ch}
.band .row{display:flex;gap:12px;flex-wrap:wrap}
button,input,textarea,select{font-family:inherit}
.back{display:inline-flex;align-items:center;min-height:44px;color:var(--mut);font-size:17px;font-weight:500}
.tag{display:inline-block;font-size:14px;font-weight:500;padding:3px 10px;border-radius:99px}
.tag.open{background:#e3f0e2;color:#1d5a24}.tag.closed{background:#ece4d6;color:#5f564a}
/* forms */
.form{display:grid;gap:16px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld textarea{display:block;width:100%;border:0;background:transparent;font:inherit;font-size:17px;font-weight:500;color:var(--ink);padding:4px 0;outline:0;min-height:110px;resize:vertical;line-height:1.5}
.fld input[type=file]{font-size:16px;padding:6px 0;min-height:36px}
.fld input[type=date]{font-family:inherit}
.fld .hint{display:block;font-size:15px;color:var(--mut);margin-top:2px}
.fld .count{position:absolute;right:16px;bottom:8px;font-size:14px;color:var(--mut)}
.fld.bad,.dd.bad .dd-btn{box-shadow:0 0 0 2px #b3261e,0 4px 12px rgba(60,40,20,.10)}
.err{color:#a3231b;font-size:16px;font-weight:500;margin:6px 6px 0}
.chk{display:flex;gap:14px;align-items:flex-start;min-height:44px;padding:6px 2px;font-size:17px;cursor:pointer;line-height:1.5}
.chk input{width:26px;height:26px;flex:none;accent-color:var(--ink);margin-top:1px}
.chk a{text-decoration:underline;text-underline-offset:3px}
.hp{display:none}
.done{display:none;padding:40px;border-radius:24px;background:var(--card);box-shadow:var(--lift);text-align:left}
.done.show{display:block}
.done h2{font-size:clamp(28px,3.4vw,44px);letter-spacing:-.03em;line-height:1.1;margin-bottom:12px}
.done p{font-size:19px;color:#3a342d;max-width:48ch;margin-bottom:10px}
.done .ref{display:inline-block;margin:10px 0 18px;padding:14px 22px;border-radius:10px;background:var(--soft);font-size:28px;font-weight:600;letter-spacing:.02em}
.done .row{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.side{position:sticky;top:96px;display:grid;gap:16px}
.twocol{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
/* accordion */
.qa{border-top:1px solid var(--ink)}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;min-height:64px;font-size:21px;font-weight:600;letter-spacing:-.01em}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:10px;height:10px;border-right:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg);transition:transform .25s;margin-right:6px}
.qa details[open] summary::after{transform:rotate(-135deg)}
.qa .a{padding:0 0 24px;max-width:62ch;font-size:18px;color:#3a342d}
.tabs{display:flex;gap:10px;margin-bottom:26px;flex-wrap:wrap}
.tabs button{font:inherit;font-weight:500;font-size:17px;min-height:48px;padding:10px 22px;border-radius:99px;border:0;cursor:pointer;background:#fff;color:var(--ink);box-shadow:0 4px 12px rgba(60,40,20,.08)}
.tabs button[aria-selected=true]{background:var(--ink);color:#fff}
.photo-frame{border-radius:24px;overflow:hidden;box-shadow:var(--lift)}
.photo-frame img{width:100%;height:auto}
.photo-frame figcaption{padding:14px 18px;background:var(--card);font-size:16px;color:var(--mut)}
/* job page */
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 20px}
.facts dt{font-size:14px;font-weight:500;color:var(--mut)}
.facts dd{margin:0;font-size:18px;font-weight:500}
.jobtitle{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:16px;color:var(--mut);font-size:18px}
.jobtitle img{display:inline-block;width:26px;height:20px;border-radius:4px;object-fit:cover;box-shadow:0 1px 4px rgba(60,40,20,.25);margin-right:8px;vertical-align:-3px}
.must{display:flex;gap:14px;align-items:center;padding:18px 22px;border-radius:10px;background:var(--soft);margin-top:22px;font-size:18px;font-weight:500;max-width:60ch}
.jobsec{padding:30px 0;border-top:1px solid var(--line)}
.jobsec h2{font-size:26px;letter-spacing:-.02em;font-weight:600;margin-bottom:12px}
.applybar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:25;padding:10px 16px;background:rgba(248,240,228,.97);border-top:1px solid var(--line);gap:10px}
.applybar .btn{flex:1}
@media(max-width:900px){.twocol{grid-template-columns:1fr}.side{position:static}.grid3{grid-template-columns:1fr}.applybar{display:flex}.wa{bottom:84px}body.hasbar footer{padding-bottom:110px}}
@media(max-width:760px){.grid2,.row2,.facts{grid-template-columns:1fr}.sec{margin:56px 0}.band{padding:28px 22px}.done{padding:28px 22px}.ph{padding-top:36px}}
@media(prefers-reduced-motion:reduce){.qa summary::after{transition:none}}

/* form fields v2: label above a plain box, split card layout (Alex, 24 Oct 2026) */
.fld{display:block;position:relative;min-height:0;padding:0;border-radius:0;background:none;box-shadow:none;text-align:left}
.fld .lab,.dd>.lab{display:block;font-size:16px;font-weight:600;color:var(--ink);line-height:1.3;margin-bottom:8px}
.fld input,.fld textarea{display:block;width:100%;background:#fff;border:1px solid #9d907d;border-radius:12px;padding:12px 14px;min-height:50px;font:inherit;font-size:17px;font-weight:400;color:var(--ink);outline:0;box-shadow:none}
.fld textarea{min-height:120px;padding-bottom:30px}
.fld input::placeholder,.fld textarea::placeholder{color:#756a5c}
.fld:focus-within{box-shadow:none}
.fld input:focus,.fld textarea:focus,.dd.open .dd-btn,.dd-btn:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px rgba(25,25,25,.14);outline:0}
.dd-btn{min-height:50px;padding:12px 44px 12px 14px;border:1px solid #9d907d;border-radius:12px;background:#fff;box-shadow:none}
.dd-btn:hover{box-shadow:none;border-color:#6f6354}
.dd-val{font-weight:400;font-size:17px}
.dd-val.hint{color:#756a5c}
.dd-chev{right:18px;width:9px;height:9px;margin-top:-7px;border-color:#6f6354}
.dd.open .dd-chev{margin-top:-1px}
.fld.bad input,.fld.bad textarea,.dd.bad .dd-btn{border-color:#a3231b;box-shadow:0 0 0 3px rgba(163,35,27,.14)}
.fld .count{right:14px;bottom:8px}
.fld input[type=file]{padding:9px 12px}
.split{display:grid;grid-template-columns:1fr 1.1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--card);box-shadow:var(--lift)}
.split .l{padding:44px 40px}
.split .r{padding:36px 36px 40px;background:#faf6ee;border-left:1px solid var(--line)}
.h1s{font-size:clamp(34px,4vw,48px);letter-spacing:-.03em;line-height:1.08;font-weight:600}
.lead2{font-size:18px;color:var(--mut);margin-top:14px;max-width:44ch}
.items{display:grid;gap:6px 22px;margin-top:30px}
.items.two{grid-template-columns:1fr 1fr}
.item{display:flex;gap:14px;align-items:center;min-height:56px;padding:6px 0;color:inherit}
.item .ico{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#f4eee3}
.item .ico svg{width:22px;height:22px;stroke:var(--ink);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.item b{display:block;font-size:17px;font-weight:600;line-height:1.3}
.item small{display:block;font-size:16px;color:var(--mut);line-height:1.35;word-break:break-word}
.btn.full{width:100%}
.split .done{padding:4px 0;background:none;box-shadow:none}
@media(max-width:900px){.split{grid-template-columns:1fr}.split .r{border-left:0;border-top:1px solid var(--line);padding:28px 20px 32px}.split .l{padding:30px 22px}.items.two{grid-template-columns:1fr}}

/* contact page layout (from a picture Alex sent, 24 Oct 2026; our own drawing, no caps) */
.cphead{text-align:center;padding:56px 0 8px}
.cphead p{font-size:20px;color:var(--mut);margin:14px auto 0;max-width:40ch}
.cg{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:start;margin:44px 0 8px}
.cg h2{font-size:26px;font-weight:600;letter-spacing:-.02em}
.cg .sm{font-size:18px;color:var(--mut);margin-top:8px;max-width:36ch}
.cg .items{margin-top:24px;gap:4px}
.cg .item{min-height:52px}
.cg .item .ico{width:44px;height:44px;border-radius:10px;background:#f1eadc}
.cg .item span:last-child{font-size:17px;color:var(--ink);line-height:1.35}
.cg .item small{display:inline;font-size:17px;color:var(--ink)}
.fcard{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:34px 34px 36px;box-shadow:var(--lift)}
.fcard h2{font-size:24px}
.fcard .sm{max-width:none}
.fcard .dots{border:0;border-top:3px dotted #d6c8b2;margin:22px 0 24px}
.btn.arrow{min-width:150px}
.btn.arrow svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
/* field details from the select picture Alex sent: lighter label, softer corners, error with an icon */
.fld .lab,.dd>.lab{font-weight:500}
.fld input,.fld textarea,.dd-btn{border-radius:10px;border-color:#a99b86}
.err{display:flex;gap:8px;align-items:center}
.err::before{content:"";flex:none;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3231b' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 7v6M12 16.5v.1'/%3E%3C/svg%3E") center/18px no-repeat}
@media(max-width:900px){.cg{grid-template-columns:1fr;gap:34px}.fcard{padding:26px 20px 30px}.cphead{padding-top:36px}}

/* required marker, errors inside the field, plainer dropdown list (pictures from Alex, 24 Oct 2026) */
.fld .lab,.dd>.lab{font-weight:600}
.fld:has([data-need])>.lab::after,.dd[data-need]>.lab::after{content:"*";color:#a3231b;margin-left:6px}
.dd-box{position:relative}
.dd-opt{font-weight:400}
.dd-list{border:1px solid #d9cdbb;box-shadow:0 10px 30px rgba(25,25,25,.12)}
.fld .err,.dd .err{margin:8px 0 0}
.fld.bad{box-shadow:none}
/* the right-hand dropdown opens to the left so its list never pokes out of the page */
.fj-bar .in .dd:last-child .dd-list,.row2 .dd:last-child .dd-list{left:auto;right:0}
/* no closing band above the footer any more (Alex, 25 Oct 2026): the footer starts with its link columns */
footer{padding-top:48px}footer .grid{padding-top:0}
@media(max-width:900px){footer{padding-top:40px}}


/* realistic fields (Alex, 24 Oct 2026): solid white fill and one faint shadow, no outline. A dark ring shows only while a field is in use or wrong. */
.fld input,.fld textarea,.dd-btn{border:0;box-shadow:0 4px 12px rgba(60,40,20,.10)}
.dd-btn:hover{border:0;box-shadow:0 8px 20px rgba(60,40,20,.14)}
.fld input:focus,.fld textarea:focus,.dd.open .dd-btn,.dd-btn:focus-visible{box-shadow:0 4px 12px rgba(60,40,20,.10),0 0 0 2px var(--ink)}
.fld.bad input,.fld.bad textarea,.dd.bad .dd-btn{box-shadow:0 4px 12px rgba(60,40,20,.10),0 0 0 2px #a3231b}
.dd-list{border:0}
.split,.fcard{border:0}
.split .r{border-left:0}
@media(max-width:900px){.split .r{border-top:0}}

/* no browser-made controls: our own tick boxes and file picker, so nothing looks default (Alex, 24 Oct 2026) */
.chk input{-webkit-appearance:none;appearance:none;display:block;width:26px;height:26px;flex:none;margin:1px 0 0;padding:0;border:0;border-radius:8px;background:#fff;box-shadow:0 4px 12px rgba(60,40,20,.10);cursor:pointer;transition:background-color .15s}
.chk input:hover{box-shadow:0 6px 16px rgba(60,40,20,.16)}
.chk input:checked{background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191919' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4.5 4.5 8.5-9.5'/%3E%3C/svg%3E") center/16px no-repeat}
.chk input:focus-visible{outline:0;box-shadow:0 4px 12px rgba(60,40,20,.10),0 0 0 2px var(--ink)}
.chk.bad input{box-shadow:0 4px 12px rgba(60,40,20,.10),0 0 0 2px #a3231b}
.file{position:relative;display:flex;align-items:center;gap:14px;min-height:50px;padding:6px 14px 6px 6px;border-radius:10px;background:#fff;box-shadow:0 4px 12px rgba(60,40,20,.10);cursor:pointer;margin-bottom:0}
.fld .file input{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;opacity:0;cursor:pointer;box-shadow:none;border:0;background:none}
.file .fbtn{flex:none;padding:9px 16px;border-radius:40px;background:var(--sand);font-size:16px;font-weight:500;color:var(--ink);box-shadow:0 2px 6px rgba(60,40,20,.10)}
.file .fname{min-width:0;color:#756a5c;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file:hover .fbtn{box-shadow:0 4px 10px rgba(60,40,20,.16)}
.file:focus-within{box-shadow:0 4px 12px rgba(60,40,20,.10),0 0 0 2px var(--ink)}
.fld input[type=number]{-moz-appearance:textfield}
.fld input[type=number]::-webkit-inner-spin-button,.fld input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.fld input,.fld textarea,.dd-btn,.chk,.file{letter-spacing:0;-webkit-font-smoothing:antialiased}
.fld .hint{margin-top:8px}

/* forms and contact, after lunera.framer.ai/contact (measured 24 Oct 2026): centred head with a small pill, one white card (24px corners, one soft shadow),
   tinted fields with 10px corners and no outline, a light label above each, a black pill button */
.fhead{text-align:center;padding:56px 0 0}
.fhead h1,.fhead h2{font-size:clamp(38px,5vw,64px);line-height:1.04;letter-spacing:-.035em;font-weight:600;max-width:15ch;margin:0 auto;text-wrap:balance}
.fhead p{color:var(--mut);font-size:19px;margin:18px auto 0;max-width:42ch;text-wrap:balance}
.fcard2{max-width:560px;margin:40px auto 0;padding:32px;background:var(--card);border-radius:24px;box-shadow:0 10px 20px rgba(60,40,20,.10)}
.fcard2.wide{max-width:680px}
.fcard2 .form{gap:20px}
.fcard2 .done{padding:0}
.subrow{display:flex;justify-content:center;padding-top:6px}
.subrow .btn{min-width:180px}
.below{max-width:680px;margin:30px auto 0}
.below .ticks{grid-template-columns:1fr 1fr;gap:14px 28px}
.below .items{margin-top:0;grid-template-columns:1fr 1fr}
.fld .lab,.dd>.lab{font-size:16px;font-weight:400;color:var(--mut);margin-bottom:8px}
.fld input,.fld textarea,.dd-btn,.file{background:#f5efe4;border:0;border-radius:10px;box-shadow:none}
.fld input{font-size:16px;min-height:44px;padding:10px 14px}
.fld textarea{font-size:16px;min-height:100px}
.dd-btn{min-height:44px;padding:10px 44px 10px 14px}
.dd-val{font-size:16px}
.dd-btn:hover{background:#efe7d9;border:0;box-shadow:none}
.fld input:focus,.fld textarea:focus,.dd.open .dd-btn,.dd-btn:focus-visible,.file:focus-within{background:#f5efe4;box-shadow:0 0 0 2px var(--ink)}
.fld.bad input,.fld.bad textarea,.dd.bad .dd-btn{box-shadow:0 0 0 2px #a3231b}
.chk input{background-color:#f5efe4;box-shadow:none;border-radius:8px}
.chk input:hover{background-color:#efe7d9;box-shadow:none}
.chk input:checked{background-color:var(--orange)}
.chk input:focus-visible{box-shadow:0 0 0 2px var(--ink)}
.chk.bad input{box-shadow:0 0 0 2px #a3231b}
.file .fbtn{background:#fff;box-shadow:0 2px 6px rgba(60,40,20,.12)}
.dd-list{border-radius:24px}
@media(max-width:900px){.fcard2{padding:24px 18px}.below .ticks,.below .items{grid-template-columns:1fr}.fhead{padding-top:36px}}
/* ===== #040 SHARED FIELD LOOK (2 Nov 2026) =====
   ONE look for every text box, text area, date box, search box, tick box, radio, file picker and the small pages.js drop-down, on the public
   site and the staff screens. It matches the shared drop-down (vsel.css): 50px tall, 10px corners, a light warm fill (--fld-fill), a 1px SOFT
   warm-grey edge in --fld-edge (3.2 to 1 on the page, 3.6 to 1 on the card, 3.3 to 1 on the fill; never black), the label above in 16px/500,
   a 2px deep-orange edge (--fld-focus, 4.8 to 1 on the fill, 5.2 to 1 on the card) on focus, a 2px red edge and a soft red halo when wrong
   (fieldlook, 5 Nov 2026; before that the edge was dark brown 4.0 to 1 and the focus ring was black).
   Written last in the sheet, with "body" in front of each selector so it wins over the older layered field rules above. */
:root{--fld-edge:#928570;--fld-edge-hi:#7d705c;--fld-fill:#faf5ec;--fld-focus:#a8560a;--fld-bad:#a3231b}
body .fld .lab,body .dd>.lab{display:block;font-size:16px;font-weight:500;color:var(--ink);line-height:1.3;margin:0 0 8px}
body .fld input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]),
body .fj-bar .fld input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]),
body .fld textarea,body .inl input:not([type=hidden]),body .dd-btn{
  display:block;min-height:50px;margin:0;padding:12px 14px;font:inherit;font-size:17px;font-weight:400;line-height:1.5;color:var(--ink);
  background:var(--fld-fill);border:1px solid var(--fld-edge);border-radius:10px;box-shadow:none;outline:0;-webkit-appearance:none;appearance:none;
  transition:border-color .15s,box-shadow .15s}
body .fld input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]),body .fld textarea{width:100%}
body .fld textarea{min-height:120px;resize:vertical}
body .fld:has(.count) textarea{padding-bottom:30px}
body .dd-btn{padding-right:44px}
body .fld input::placeholder,body .fld textarea::placeholder,body .inl input::placeholder{color:#756a5c;opacity:1;font-weight:400}
body .fld input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]):hover,
body .fld textarea:hover,body .inl input:hover,body .dd-btn:hover,body .file:hover{border-color:var(--fld-edge-hi);background:var(--fld-fill);box-shadow:none}
body .fld input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,
body .fj-bar .fld input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,
body .fld textarea:focus,body .inl input:focus,body .dd.open .dd-btn,body .dd-btn:focus-visible,body .file:focus-within{
  background:var(--fld-fill);border-color:var(--fld-focus);box-shadow:0 0 0 1px var(--fld-focus);outline:0}
body .fld.bad input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]),
body .fld.bad input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,
body .fld.bad textarea,body .fld.bad textarea:focus,body .dd.bad .dd-btn,body .fld.bad .file{
  border-color:var(--fld-bad);box-shadow:0 0 0 1px var(--fld-bad),0 0 0 4px rgba(163,35,27,.14)}
body .fld input:disabled,body .fld textarea:disabled,body .inl input:disabled{background:#f5efe4;color:#756a5c;border-color:#c9bda8;cursor:not-allowed}
body .file{display:flex;min-height:50px;background:var(--fld-fill);border:1px solid var(--fld-edge);border-radius:10px;box-shadow:none}

/* tick boxes and radios: a visible 2px soft edge on the box itself (3.2 to 1 or more), deep-orange fill with a white tick or dot when ticked (5.2 to 1) */
body .chk input{-webkit-appearance:none;appearance:none;display:block;width:26px;height:26px;flex:none;margin:1px 0 0;padding:0;background:var(--fld-fill);
  border:2px solid var(--fld-edge);border-radius:8px;box-shadow:none;cursor:pointer;transition:background-color .15s,border-color .15s}
body .chk input[type=radio]{border-radius:50%}
body .chk input:hover{background:var(--fld-fill);border-color:var(--fld-edge-hi);box-shadow:none}
body .chk input:checked{background:var(--fld-focus) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4.5 4.5 8.5-9.5'/%3E%3C/svg%3E") center/16px no-repeat;border-color:var(--fld-focus)}
body .chk input[type=radio]:checked{background:radial-gradient(circle,#fff 0 5px,var(--fld-focus) 6px)}
body .chk input:focus-visible{outline:0;border-color:var(--fld-focus);box-shadow:0 0 0 3px #fffdf9,0 0 0 5px var(--fld-focus)}
body .chk.bad input,body .chk.bad input:focus-visible{border-color:var(--fld-bad);box-shadow:0 0 0 3px rgba(163,35,27,.14)}

/* a quiet secondary button: for actions that are allowed but not the point of the row (the Hide button on the Lists screen) */
.btn.ghost{color:var(--ink);background:transparent;border:1px solid #8a7d69;box-shadow:none}   /* buttons are not part of fieldlook: the old edge stays */
.btn.ghost:hover{background:#fff;box-shadow:none}
/* ===== end of #040 ===== */

/* About page (layout A, chosen by Alex 25 Oct 2026) */
.ab-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:40px;background:rgba(255,253,249,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:16px;font-weight:500;box-shadow:0 4px 12px rgba(60,40,20,.14)}
.ab-sec{margin:72px 0}
.ab-sec>h2,.ab-h2{font-size:clamp(28px,3.4vw,44px);line-height:1.1;letter-spacing:-.03em;font-weight:600;margin-bottom:22px}
.ab-ticks{list-style:none;padding:0;display:grid;gap:12px;margin:22px 0 0}
.ab-ticks li{display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:18px;color:var(--mut);align-items:start}
.ab-ticks li::before{content:"";width:24px;height:24px;margin-top:1px;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23191919' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.ab-lic{display:flex;gap:12px;align-items:center;background:#fff;border-radius:24px;padding:14px 20px 14px 14px;box-shadow:0 10px 28px rgba(60,40,20,.16);font-size:17px;line-height:1.3}
.ab-lic .d{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink)}
.ab-lic .d img{width:58%}
.ab-lic b{display:block;font-size:20px;font-weight:600;letter-spacing:-.01em}
.ab-lic small{display:block;font-size:16px;color:var(--mut)}
.ab-p{font-size:18px;color:var(--mut);max-width:50ch}
.ab-p+.ab-p{margin-top:14px}

/* A: photo, licence card floating on it, text beside it, vision and mission as ruled rows */
.abA .sp{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;margin-top:36px}
.abA .pic{position:relative}
.abA .pic>img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 35%;border-radius:24px;box-shadow:var(--lift)}
.abA .pic .ab-chip{position:absolute;left:18px;top:18px}
.abA .pic .ab-lic{position:absolute;right:-22px;bottom:34px;transform:rotate(2.5deg)}
.abA .txt h2{font-size:clamp(28px,3.4vw,44px);line-height:1.1;letter-spacing:-.03em;font-weight:600;margin-bottom:12px}
.abA .txt ul+h2{margin-top:38px}
.abA .rows{margin:80px 0 0;border-top:1px solid var(--ink)}
.abA .rows>div{display:grid;grid-template-columns:1fr 2fr;gap:28px;padding:34px 0;border-bottom:1px solid var(--line)}
.abA .rows h3{font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.abA .rows p{font-size:20px;color:var(--mut);max-width:60ch}

@media(max-width:900px){.abA .sp{grid-template-columns:1fr;gap:40px}.abA .pic .ab-lic{right:8px}.abA .rows>div{grid-template-columns:1fr;gap:10px}}
@media(max-width:560px){.abA .pic .ab-lic{position:relative;inset:auto;margin:-26px 12px 0;transform:none}}
/* ===== #044 phone and footer polish: START (one block, the same text sits at the end of pages.css and pieces.css; a test keeps the two copies equal) ===== */
/* D-022: a short page keeps its footer at the bottom of the screen (no band of empty colour under it). */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
main{flex:1 0 auto;width:100%}
main>:last-child{margin-bottom:0}
/* D-021: the two small-print lines sit on one centre line, the link columns never squeeze, every footer link looks the same.
   "body footer" makes these win over the older footer rules that sit inside some pages. */
body footer .small{align-items:center;row-gap:0}
body footer .small a{display:inline;padding:14px 8px;margin:0 -4px}
body footer .grid a{overflow-wrap:anywhere}
@media(hover:none){body footer .grid a:hover{color:#cfc5b8}}
@media(max-width:900px){body footer .grid{gap:8px 32px}body footer .grid>div:last-child{grid-column:span 2}body.hasbar footer{padding-bottom:156px}}
@media(max-width:480px){body footer .grid{grid-template-columns:minmax(0,1fr);gap:20px}body footer .grid .who,body footer .grid>div:last-child{grid-column:auto}body footer .grid a{padding:10px 0}body footer .small{flex-direction:column;align-items:flex-start;gap:0}}
/* D-032: the two FAQ tab buttons have the same corner as every other button. */
.tabs button{border-radius:40px}
/* D-016: on a phone the green WhatsApp button is only its icon, on every page. While a box is being typed in it steps aside. */
@media(max-width:760px){
  body .wa{width:48px;height:48px;padding:0;justify-content:center;gap:0;font-size:0;right:12px;bottom:16px}
  body.hasbar .wa{bottom:84px}
  body:has(input:focus,textarea:focus,select:focus) .wa{display:none}
}
/* D-025: a link inside a sentence gets a tap area of at least 44px high and wide on a phone. Vertical padding on an inline link does not
   move the lines; the sideways padding is taken back with an equal negative margin, so the text sits where it did. */
@media(max-width:760px){
  main p a:not(.btn):not(.jt):not(.back),main li a:not(.btn):not(.jt),main dd a:not(.btn),main span a:not(.btn):not(.jt),main label a:not(.btn),.qa .a a:not(.btn){padding:12px 6px;margin:0 -6px}
}
/* ===== #044 phone and footer polish: END ===== */
