.wrap{max-width:1080px;margin:0 auto;padding:0 20px 90px;}

header.top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 0;border-bottom:2px solid var(--ink);}
.brand{display:flex;align-items:center;gap:11px;cursor:pointer;text-decoration:none;color:inherit;}
.brand-text .name{font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:16px;letter-spacing:.02em;text-transform:uppercase;}
.brand-text .tag{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--muted);letter-spacing:.02em;margin-top:1px;}

nav.tabs{display:flex;align-items:center;gap:18px;}
nav.tabs a{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:500;color:var(--ink);text-decoration:none;padding:6px 2px;border-bottom:2px solid transparent;}
nav.tabs a.active,nav.tabs a:hover{color:var(--red);border-color:var(--red);}

/* ---------- hero ---------- */
.hero{
  position:relative;padding:60px 0 46px;border-bottom:1px solid var(--line);
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:34px 34px; background-position:-1px -1px;
}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;align-items:center;}
@media (max-width:760px){.hero-grid{grid-template-columns:1fr;}}
.prompt-line{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--muted);margin-bottom:14px;}
.prompt-line .u{color:var(--red);}
h1.hero-title{font-family:'IBM Plex Mono',monospace;font-size:44px;line-height:1.05;margin:0 0 18px;font-weight:700;text-transform:uppercase;}
@media (max-width:600px){h1.hero-title{font-size:32px;}}
p.hero-sub{font-size:15.5px;color:var(--muted);max-width:48ch;margin:0 0 26px;line-height:1.6;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;}

/* ---------- generic sections ---------- */
.section{padding:54px 0;border-bottom:1px solid var(--line);}
.section:last-of-type{border-bottom:none;}
.section-head{max-width:60ch;margin-bottom:32px;}
.eyebrow-mono{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--red);margin-bottom:8px;}
h2.section-title{font-family:'IBM Plex Mono',monospace;font-size:27px;margin:0 0 8px;text-transform:uppercase;font-weight:700;}
p.section-sub{color:var(--muted);font-size:14.5px;margin:0;}

.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media (max-width:700px){.expertise-grid{grid-template-columns:1fr;}}

.process-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media (max-width:700px){.process-row{grid-template-columns:1fr;}}

.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:820px){.pack-grid{grid-template-columns:1fr;}}

/* ---------- booking / admin shared layout ---------- */
h1.page-title{font-family:'IBM Plex Mono',monospace;font-size:26px;margin:30px 0 6px;text-transform:uppercase;font-weight:700;}
p.page-sub{color:var(--muted);font-size:14px;margin:0 0 22px;max-width:60ch;}

.stepper{display:flex;gap:0;margin-bottom:30px;}
.stepper .step{flex:1;border-top:3px solid var(--line);padding-top:10px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);}
.stepper .step.active{border-color:var(--red);color:var(--red);font-weight:600;}
.stepper .step.done{border-color:var(--ink);color:var(--ink);}

.grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:22px;align-items:start;}
@media (max-width:760px){.grid{grid-template-columns:1fr;}}

.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px;}
.settings-body{padding:0 18px 18px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:600px){.settings-body{grid-template-columns:1fr;}}
