/* Reshappr shared styles: About / Mentorship / Contact */
:root {
  --bg:#000; --bg-card:#0c0c0d; --bg-card-2:#111113; --line:#1d1d20; --line-soft:#161618;
  --text:#fff; --muted:#9a9aa2; --muted-2:#6b6b73; --accent:#ff4533; --demo:#4d8dff;
  --radius:18px; --radius-pill:100px;
  --serif:"Instrument Serif",Georgia,serif; --sans:"Satoshi",system-ui,-apple-system,sans-serif;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--bg); color:var(--text); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
::selection { background:var(--accent); color:#fff; }
.wrap { width:100%; max-width:1120px; margin:0 auto; padding:0 24px; }
.narrow { max-width:780px; }
.em { font-family:var(--serif); font-style:italic; font-weight:400; }

/* nav */
.nav-spacer { height:110px; }
.nav { position:fixed; top:18px; left:0; right:0; z-index:100; display:flex; justify-content:center; pointer-events:none; }
.nav-inner { position:relative; pointer-events:auto; display:flex; align-items:center; gap:26px; background:rgba(12,12,13,0.82); backdrop-filter:blur(14px); border:1px solid var(--line); border-radius:var(--radius-pill); padding:9px 9px 9px 22px; box-shadow:0 10px 40px -18px rgba(0,0,0,0.8); }
.brand { font-weight:900; letter-spacing:0.08em; font-size:17px; display:flex; align-items:center; gap:8px; color:#fff; }
.brand-mark { width:22px; height:22px; color:#fff; flex:none; }
.nav-links { display:flex; gap:20px; font-size:14px; color:var(--muted); }
.nav-links a:hover { color:#fff; }
.nav-toggle { display:none; flex-direction:column; justify-content:center; align-items:center; gap:4px; width:38px; height:38px; background:none; border:none; cursor:pointer; padding:0; flex:none; }
.nav-toggle span { width:20px; height:2px; background:#fff; border-radius:2px; display:block; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--accent); color:#fff; font-weight:600; font-size:14px; padding:11px 20px; border-radius:var(--radius-pill); border:none; cursor:pointer; transition:transform .15s ease, box-shadow .2s ease; box-shadow:0 8px 26px -10px rgba(255,69,51,0.7); }
.btn:hover { transform:translateY(-1px); box-shadow:0 12px 32px -8px rgba(255,69,51,0.85); }
.btn-lg { padding:15px 28px; font-size:15px; }
.btn-ghost { background:transparent; border:1px solid var(--line); box-shadow:none; color:#fff; }
.btn-ghost:hover { border-color:#333; background:rgba(255,255,255,0.03); }

/* page head */
main { padding:30px 0 40px; }
.page-head { max-width:760px; margin:0 auto 56px; text-align:center; }
.badge { display:inline-flex; align-items:center; gap:8px; background:var(--bg-card); border:1px solid var(--line); color:#fff; font-size:13px; font-weight:500; padding:7px 14px; border-radius:var(--radius-pill); margin:0 auto 22px; }
.badge .dot { width:8px; height:8px; border-radius:50%; background:var(--accent); }
h1 { font-weight:500; letter-spacing:-0.02em; line-height:1.05; font-size:clamp(36px,5.5vw,60px); }
h2 { font-weight:500; letter-spacing:-0.02em; line-height:1.1; font-size:clamp(26px,3.4vw,38px); }
h3 { font-weight:600; letter-spacing:-0.01em; font-size:21px; }
.lead { color:var(--muted); font-size:clamp(16px,1.6vw,19px); max-width:640px; margin:20px auto 0; }
.section { padding:50px 0; }

/* cards / grids */
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:50px; align-items:center; }
.card { background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px; }
.card h3 { margin-bottom:10px; }
.card p { color:var(--muted); font-size:15px; }
.card .ic { width:50px; height:50px; border-radius:13px; background:var(--bg-card-2); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--accent); margin-bottom:16px; }
.card .ic svg { width:24px; height:24px; }
.card .n { font-family:var(--serif); font-style:italic; color:var(--accent); font-size:24px; line-height:1; }
.prose p { color:#c9c9cf; margin:0 0 16px; font-size:16px; }
.prose p:last-child { margin-bottom:0; }

/* module / inclusion list */
.list-plain { display:grid; gap:10px; margin-top:8px; }
.list-plain .row { display:flex; gap:12px; align-items:flex-start; background:var(--bg-card); border:1px solid var(--line); border-radius:12px; padding:14px 16px; font-size:15px; color:#d2d2d8; }
.list-plain .row .tick { width:20px; height:20px; border-radius:50%; background:rgba(47,191,113,0.16); color:#2fbf71; display:flex; align-items:center; justify-content:center; flex:none; margin-top:1px; }
.list-plain .row .tick svg { width:12px; height:12px; }
.list-plain .row strong { color:#fff; font-weight:600; }

/* contact info rows */
.info-list { display:grid; gap:14px; margin-top:8px; }
.info-row { display:flex; gap:13px; align-items:center; font-size:16px; color:#d8d8de; }
.info-row .ic { width:42px; height:42px; border-radius:11px; background:var(--bg-card); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--accent); flex:none; }
.info-row .ic svg { width:19px; height:19px; }
.info-row a { color:#fff; }
.info-row a:hover { color:var(--accent); }

/* owner photo */
.owner-photo { width:100%; max-width:440px; border-radius:16px; border:1px solid var(--line); display:block; margin:0 auto; }
.owner-caption { text-align:center; max-width:440px; margin:14px auto 0; }
.owner-name { display:block; font-weight:700; font-size:16px; color:#fff; }
.owner-role { display:block; font-size:13.5px; color:var(--muted-2); margin-top:2px; }

/* opt-in form */
.optin { background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px; }
.field { margin-bottom:16px; }
.field label.flbl { display:block; font-size:13.5px; color:var(--muted); margin-bottom:7px; font-weight:500; }
.field input, .field textarea { width:100%; background:#121214; border:1px solid var(--line); border-radius:10px; padding:13px 15px; color:#fff; font-family:inherit; font-size:15px; }
.field input::placeholder, .field textarea::placeholder { color:var(--muted-2); }
.field input:focus, .field textarea:focus { outline:none; border-color:var(--accent); }
.field textarea { min-height:96px; resize:vertical; }
.consent { display:flex; gap:11px; align-items:flex-start; margin-bottom:14px; font-size:13px; color:#b6b6bd; line-height:1.5; cursor:pointer; }
.consent input[type=checkbox] { width:20px; height:20px; flex:none; margin-top:1px; accent-color:var(--accent); cursor:pointer; }
.disclosure { font-size:12.5px; color:var(--muted-2); line-height:1.55; margin:6px 0 18px; padding-top:14px; border-top:1px solid var(--line-soft); }
.disclosure a { color:var(--muted); text-decoration:underline; }
.optin .btn { width:100%; }
.form-foot { text-align:center; margin-top:14px; font-size:13px; color:var(--muted-2); }
.form-foot a { color:var(--muted); text-decoration:underline; }
.form-embed { background:#16161A; border:1px solid #2A2A2E; border-radius:16px; overflow:hidden; min-height:600px; }
.form-embed iframe { width:100%; min-height:600px; border:none; display:block; }
/* booking calendar: GHL's form_embed.js sets an inline height once loaded, which wins
   over these. min-height only holds the box open before that lands. */
.cal-embed { background:#16161A; border:1px solid #2A2A2E; border-radius:16px; overflow:hidden; min-height:700px; }
.cal-embed iframe { width:100%; min-height:700px; border:none; display:block; }

/* footer */
footer { border-top:1px solid var(--line); padding:46px 0 40px; margin-top:60px; }
.foot { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.foot .tag { color:var(--muted-2); font-size:14px; margin-top:8px; }
.foot .soc { display:flex; gap:12px; }
.foot .soc a { width:38px; height:38px; border:1px solid var(--line); border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--muted); }
.foot .soc a:hover { color:#fff; border-color:#333; }
.foot-links { display:flex; gap:20px; flex-wrap:wrap; margin-top:30px; padding-top:24px; border-top:1px solid var(--line-soft); }
.foot-links a { color:var(--muted); font-size:14px; }
.foot-links a:hover { color:#fff; }
.copy { color:var(--muted-2); font-size:13px; margin-top:12px; }
.copy a { color:var(--muted); }
.copy a:hover { color:#fff; }

@media (max-width:860px) {
  .nav-inner { gap:12px; padding:9px 9px 9px 18px; }
  .nav-toggle { display:flex; }
  .nav-links { display:none; position:absolute; top:calc(100% + 12px); left:0; right:0; flex-direction:column; gap:4px; background:rgba(12,12,13,0.98); backdrop-filter:blur(16px); border:1px solid var(--line); border-radius:18px; padding:12px; box-shadow:0 16px 40px -16px rgba(0,0,0,0.85); }
  .nav-inner.open .nav-links { display:flex; }
  .nav-links a { padding:11px 14px; border-radius:10px; font-size:15px; color:#fff; }
  .nav-links a:hover { background:rgba(255,255,255,0.05); }
  .form-col { order:-1; }
  .grid-3 { grid-template-columns:1fr; }
  .grid-2 { grid-template-columns:1fr; gap:30px; }
  .section { padding:36px 0; }
  .foot { flex-direction:column; align-items:flex-start; }
}
