/* Mohv - shared styles. Edit the theme variables below to restyle the whole site. */
:root {
  --bg: #0A0A0A;
  --surface: #171717;
  --surface-2: #1f1f1f;
  --line: rgba(255,255,255,0.10);
  --text: #FFFFFF;
  --muted: rgba(255,255,255,0.72);
  --faint: rgba(255,255,255,0.50);
  --accent: #B888A3;
  --accent-soft: rgba(184,136,163,0.14);
  --font-head: 'Manrope', 'Neue Montreal', system-ui, sans-serif; /* swap for Neue Montreal Bold when licensed */
  --font-body: 'Inter', system-ui, sans-serif;
  --maxw: 1160px;
  --radius: 14px;
  --ease: cubic-bezier(.2,.7,.2,1);
  --btn1-bg: var(--accent); --btn1-text: #0A0A0A; --btn2-text: var(--text); --btn2-border: var(--line);
  --head-w: 800; --body-w: 400; --body-size: 17px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--body-size);font-weight:var(--body-w);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
section{padding:110px 0}
h1,h2,h3{font-family:var(--font-head);font-weight:var(--head-w);letter-spacing:-0.025em;line-height:1.08}
h1{font-size:clamp(44px,8vw,96px)}
h2{font-size:clamp(30px,4.4vw,52px)}
h3{font-size:22px;letter-spacing:-0.01em}
.eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:18px}
.lead{color:var(--muted);font-size:clamp(18px,2vw,21px);max-width:620px;margin-top:22px}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.site-header.scrolled{background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(12px);border-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{font-family:var(--font-head);font-weight:var(--head-w);font-size:26px;letter-spacing:-0.03em;display:flex;align-items:center;gap:10px}
.brand img{height:26px;width:auto}
.nav-links{display:flex;gap:30px;align-items:center;font-size:15px;color:var(--muted)}
.nav-links a{transition:color .2s}.nav-links a:hover{color:var(--text)}
.menu-btn{display:none;background:none;border:0;color:var(--text);font-size:15px;cursor:pointer}

/* buttons */
.btn{background:transparent;color:inherit;font-family:inherit;display:inline-flex;align-items:center;gap:8px;padding:15px 28px;border-radius:999px;font-weight:600;font-size:16px;border:1px solid transparent;cursor:pointer;transition:transform .25s var(--ease),background .25s,border-color .25s}
.btn-primary{background:var(--btn1-bg);color:var(--btn1-text)}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.1)}
.btn-ghost{border-color:var(--btn2-border);color:var(--btn2-text)}
.btn-ghost:hover{border-color:var(--accent);transform:translateY(-2px)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}

/* hero */
.hero{min-height:100vh;display:flex;align-items:center;padding:140px 0 90px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;width:640px;height:640px;right:-160px;top:12%;background:radial-gradient(circle,var(--accent-soft),transparent 65%);pointer-events:none;animation:drift 14s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(-40px,30px)}}
.hero h1 em{font-style:normal;color:var(--accent)}

/* cards */
.grid{display:grid;gap:18px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;gap:12px;transition:transform .3s var(--ease),border-color .3s}
.card:hover{transform:translateY(-5px);border-color:var(--accent)}
.card p{color:var(--muted);font-size:16px}
.card .price{font-family:var(--font-head);font-weight:700;color:var(--accent);margin-top:auto;padding-top:14px}
.card .more{font-size:15px;color:var(--text);font-weight:600}
.section-head{margin-bottom:54px}

/* steps */
.steps{counter-reset:s}
.step{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:30px 0;border-top:1px solid var(--line)}
.step::before{counter-increment:s;content:"0" counter(s);font-family:var(--font-head);font-weight:var(--head-w);color:var(--accent);font-size:20px}
.step p{color:var(--muted);margin-top:6px;max-width:640px}

/* work */
.work-card{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);display:block}
.work-card .thumb{aspect-ratio:16/10;background:var(--surface-2) center/cover;transition:transform .6s var(--ease)}
.work-card:hover .thumb{transform:scale(1.04)}
.work-card .meta{padding:22px 26px}
.work-card .meta span{color:var(--faint);font-size:14px}
.work-card .thumb-wrap{overflow:hidden}

/* cta + footer */
.cta{text-align:center;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta .lead{margin-left:auto;margin-right:auto}.cta .btn-row{justify-content:center}
footer{padding:60px 0 40px;color:var(--muted);font-size:15px}
.foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot a:hover{color:var(--text)}
.foot-col{display:flex;flex-direction:column;gap:8px}
.credit{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);color:var(--faint);font-size:14px}
.wa{position:fixed;right:22px;bottom:22px;z-index:60;background:var(--accent);color:var(--btn1-text);font-weight:700;padding:14px 22px;border-radius:999px;box-shadow:0 8px 30px rgba(0,0,0,.4);transition:transform .25s var(--ease)}
.wa:hover{transform:translateY(-3px)}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero::before{animation:none}html{scroll-behavior:auto}}

@media (max-width:900px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  section{padding:80px 0}
}
@media (max-width:640px){
  .grid-4,.grid-2{grid-template-columns:1fr}
  .menu-btn{display:block}
  .nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:flex-start;padding:24px;border-bottom:1px solid var(--line)}
  .nav-links.open{display:flex}
  .step{grid-template-columns:44px 1fr}
}

/* ---- inner pages ---- */
.page-hero{padding:150px 0 50px}
.wrap.narrow{max-width:860px}
.price.big{font-size:clamp(20px,3vw,28px);margin:0;padding:0}
.fold{border-top:1px solid var(--line)}
.fold:last-of-type{border-bottom:1px solid var(--line)}
.fold>summary{list-style:none;cursor:pointer;padding:26px 0;font-family:var(--font-head);font-weight:var(--head-w);font-size:clamp(20px,2.6vw,28px);letter-spacing:-0.02em;display:flex;justify-content:space-between;gap:20px;transition:color .2s}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary::after{content:"+";color:var(--accent);font-weight:600;transition:transform .3s var(--ease)}
.fold[open]>summary::after{transform:rotate(45deg)}
.fold>summary:hover{color:var(--accent)}
.fold-body{padding:0 0 34px;color:var(--muted)}
.fold-body h4{color:var(--text);font-size:16px;margin-bottom:8px}
.ticks{list-style:none;display:grid;gap:10px;margin:6px 0 18px}
.ticks li{padding-left:26px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.7em;width:12px;height:2px;background:var(--accent)}
ol.num{padding-left:22px;display:grid;gap:12px}
ol.num li::marker{color:var(--accent);font-weight:700}
.note{margin-top:14px;color:var(--faint);font-size:15px}
.tiers{margin:6px 0 18px}
.tier .ticks{margin:4px 0 14px}
.tier .btn{margin-top:auto;justify-content:center}
.fit,.fine{display:grid;gap:26px}
.fit{grid-template-columns:1fr 1fr}
.fine{grid-template-columns:repeat(3,1fr)}
.qa{padding:14px 0;border-bottom:1px solid var(--line)}.qa:last-child{border:0}
.qa h4{margin-bottom:4px}
.quick{margin-top:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:6px 22px}
.quick>summary{cursor:pointer;list-style:none;padding:16px 0;color:var(--text);font-weight:600;display:flex;justify-content:space-between}
.quick>summary::-webkit-details-marker{display:none}
.quick[open]>summary span{transform:rotate(45deg)}
.quick summary span{color:var(--accent);transition:transform .3s}
.quick-list{list-style:none;margin:12px 0 18px}
.quick-list li{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}
.quick-list a:hover{color:var(--accent)}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.chip{border:1px solid var(--line);border-radius:999px;padding:6px 16px;font-size:14px;color:var(--muted);transition:border-color .2s,color .2s}
.chip:hover{border-color:var(--accent);color:var(--text)}
.hero-img{width:100%;border-radius:var(--radius);margin-bottom:34px}
.pblock{margin-top:36px}.pblock h4{color:var(--accent);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.pblock p{color:var(--muted)}
.gallery{display:grid;gap:18px;margin-top:40px}.gallery img{width:100%;border-radius:var(--radius)}
@media (max-width:760px){.fit,.fine{grid-template-columns:1fr}.page-hero{padding-top:120px}}

/* currency side tab: sits on the right edge, above the WhatsApp button */
.cur-dock{position:fixed;right:0;bottom:92px;z-index:60;display:flex;align-items:center;gap:10px}
.cur-tab{display:flex;flex-direction:column;align-items:center;gap:2px;width:52px;padding:10px 0 8px;background:var(--surface-2);color:var(--accent);border:1px solid var(--line);border-right:0;border-radius:14px 0 0 14px;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.4);transition:background .25s,transform .25s var(--ease)}
.cur-tab:hover{background:var(--accent);color:var(--btn1-text);transform:translateX(-3px)}
.cur-tab b{font:700 11px var(--font-body);letter-spacing:.06em}
.cur-panel{position:absolute;right:62px;bottom:0;display:flex;flex-direction:column;gap:4px;width:268px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.cur-panel[hidden]{display:none}
.cur-panel span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 6px 4px}
.cur-panel button{display:grid;grid-template-columns:28px 52px 1fr;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:1px solid transparent;color:var(--muted);padding:9px 10px;border-radius:12px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.cur-panel button b{font:700 13px var(--font-body);letter-spacing:.05em;color:var(--text);white-space:nowrap}
.cur-panel button em{font:400 13px var(--font-body);font-style:normal;color:var(--muted);white-space:nowrap}
.cur-panel .flag{display:block;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.cur-panel button:hover{background:var(--surface-2);border-color:var(--line)}
.cur-panel button.on{border-color:var(--accent);background:var(--surface-2)}
.cur-panel button.on b{color:var(--accent)}

/* ---- accessibility + images ---- */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--accent);color:var(--btn1-text);padding:10px 16px;border-radius:8px;font-weight:600}
.skip:focus{left:12px}
.work-card .thumb img,.post-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---- Journal ---- */
.post-card{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);transition:transform .3s var(--ease),border-color .3s}
.post-card:hover{transform:translateY(-5px);border-color:var(--accent)}
.post-card .thumb-wrap{overflow:hidden}
.post-card .thumb{aspect-ratio:16/9;background:var(--surface-2)}
.post-card .meta{padding:26px 28px 30px;display:flex;flex-direction:column;gap:10px}
.post-card .meta p{color:var(--muted);font-size:16px}
.post-card .tag,.byline{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.byline{margin-top:20px}
.prose{color:var(--muted);font-size:18px;line-height:1.75}
.prose>*+*{margin-top:1.1em}
.prose h2{color:var(--text);font-size:clamp(24px,3.2vw,32px);margin-top:2em}
.prose h3{color:var(--text);margin-top:1.6em}
.prose strong{color:var(--text)}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.3em;display:grid;gap:.5em}
.prose li::marker{color:var(--accent)}
.prose blockquote{border-left:3px solid var(--accent);padding-left:18px;color:var(--text)}
article .eyebrow a{color:inherit}

.consent{position:fixed;left:20px;bottom:20px;z-index:90;max-width:400px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.consent p{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--muted)}
.consent-btns{display:flex;gap:10px}.consent-btns .btn{padding:10px 20px;font-size:14px}
.cookie-link{background:none;border:0;padding:0;margin-left:14px;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;opacity:.8}
.cookie-link:hover{opacity:1}
@media(max-width:600px){.consent{left:12px;right:12px;bottom:12px;max-width:none}}

/* page sections (js/sections.js) */
.sec{padding:90px 0}
.sec+.sec-cta{margin-top:0}
.sec-hero.page-hero{padding:150px 0 60px}
.hero-split{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero-pic{width:100%;border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover}
.grid-3{grid-template-columns:repeat(3,1fr)}
.card-img{width:calc(100% + 0px);aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin-bottom:6px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.img-left .split-img{order:-1}
.split-img img{width:100%;border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover}
.split-img:empty{display:none}.split-img:empty+*{grid-column:1/-1}
.quote-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;flex-direction:column;gap:22px}
.quote-card blockquote{font-size:19px;line-height:1.6;color:var(--text)}
.quote-card figcaption{display:flex;align-items:center;gap:14px;margin-top:auto}
.quote-card figcaption span{display:flex;flex-direction:column;line-height:1.35}
.quote-card em{font-style:normal;font-size:14px;color:var(--faint)}
.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}
.member-pic{aspect-ratio:1/1;border-radius:var(--radius);background:var(--surface-2);overflow:hidden;margin-bottom:16px}
.member-pic img{width:100%;height:100%;object-fit:cover}
.member .role{color:var(--accent);font-size:14px;font-weight:600;margin:4px 0 10px}
.member p{color:var(--muted);font-size:16px}
.pics{display:grid;gap:14px}.pics-2{grid-template-columns:repeat(2,1fr)}.pics-3{grid-template-columns:repeat(3,1fr)}.pics-4{grid-template-columns:repeat(4,1fr)}
.pics img{width:100%;border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover}
.faq-list{max-width:860px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}
.stat{padding:26px 0;border-top:1px solid var(--line)}
.stat b{display:block;font-family:var(--font-head);font-weight:var(--head-w);font-size:clamp(40px,5vw,64px);letter-spacing:-0.03em;color:var(--accent);line-height:1}
.stat span{display:block;margin-top:10px;color:var(--muted);font-size:16px}
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr}.pics-4{grid-template-columns:repeat(2,1fr)}.hero-split,.split{grid-template-columns:1fr;gap:32px}.split.img-left .split-img{order:0}}
@media (max-width:640px){.grid-3{grid-template-columns:1fr}.pics-3,.pics-2{grid-template-columns:1fr 1fr}.sec{padding:70px 0}}

.draft-bar{position:fixed;top:72px;left:0;right:0;z-index:40;background:var(--accent);color:var(--btn1-text);text-align:center;font-size:14px;font-weight:600;padding:6px 12px}
.sec-text .section-head,.sec-text .prose{max-width:760px}
.member-pic{display:flex;align-items:center;justify-content:center}.member-pic .initial{font-family:var(--font-head);font-weight:var(--head-w);font-size:72px;color:var(--accent);opacity:.7}

/* ---- section looks (set per section in the admin) ---- */
.sec.bg-card{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec.bg-tint{background:var(--accent-soft)}
.sec.sp-compact{padding:48px 0}.sec.sp-roomy{padding:140px 0}
.sec.al-center .section-head,.sec.al-center .split-text,.sec.al-center .prose,.sec.al-center .wrap>*:not(.grid):not(.pics):not(.stats):not(.faq-list):not(.split):not(.embed):not(.hero-split){text-align:center}
.sec.al-center .lead,.sec.al-center .section-head .lead{margin-left:auto;margin-right:auto}
.sec.al-center .btn-row{justify-content:center}
@media(max-width:640px){.sec.sp-compact{padding:36px 0}.sec.sp-roomy{padding:90px 0}}

/* ---- video, map, contact ---- */
.embed{position:relative;aspect-ratio:16/9;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid;place-items:center}
.embed.map{aspect-ratio:16/8}
.embed>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.embed-play{position:relative;z-index:1;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;border:0;cursor:pointer;background:var(--btn1-bg);color:var(--btn1-text);box-shadow:0 10px 30px rgba(0,0,0,.4);font:inherit;font-weight:700}
.embed-play span{width:0;height:0;border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent currentColor;margin-left:5px}
.embed-play.wide{width:auto;height:auto;border-radius:999px;padding:13px 26px;font-size:16px}
.embed-note{position:absolute;left:24px;top:22px;right:24px;font-size:18px;line-height:1.4;color:var(--text)}
.embed.map .embed-play{margin-top:50px}
.embed-link{margin-top:12px;font-size:14px}.embed-link a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.sec-contact .btn-row{margin-top:8px}

/* the cookie banner covers the full width of a phone, so the floating buttons sit above it until it is answered */
@media(max-width:700px){.has-consent .wa{bottom:calc(var(--consent-h,150px) + 24px)}.has-consent .cur-dock{bottom:calc(var(--consent-h,150px) + 92px)}}
